.app-desktop-shell { width: 100vw; min-height: 100dvh; height: 100dvh; overflow: hidden; background: var(--bg); } .app-desktop-stage { position: relative; width: var(--desktop-stage-width, 100vw); min-height: var(--desktop-stage-height, 100dvh); transform: scale(var(--desktop-ui-scale, 1)); transform-origin: top left; } .app { --sidebar-expanded-width: 184px; --sidebar-collapsed-width: 64px; --sidebar-motion: 220ms cubic-bezier(0.4, 0, 0.2, 1); height: var(--desktop-stage-height, 100dvh); min-height: var(--desktop-stage-height, 100dvh); display: flex; align-items: stretch; background: var(--bg); } .app-sidebar { flex: 0 0 var(--sidebar-expanded-width); width: var(--sidebar-expanded-width); min-width: 0; position: relative; overflow: visible; z-index: 200; will-change: width, flex-basis; transition: width var(--sidebar-motion), flex-basis var(--sidebar-motion), box-shadow 160ms var(--ease); } .app.sidebar-collapsed .app-sidebar { flex-basis: var(--sidebar-collapsed-width); width: var(--sidebar-collapsed-width); overflow: visible; z-index: 200; } .app.sidebar-collapsed > .main { position: relative; z-index: 1; } .app > .main { flex: 1 1 auto; min-width: 0; } .boot-state { min-height: var(--desktop-stage-height, 100dvh); display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at top left, rgba(var(--theme-primary-rgb, 58, 124, 165), 0.14), transparent 24rem), radial-gradient(circle at bottom right, rgba(59, 130, 246, 0.14), transparent 28rem), #f8fafc; } .boot-card { width: min(560px, 100%); padding: 36px; border-radius: 8px; border: 1px solid rgba(148, 163, 184, 0.22); background: rgba(255, 255, 255, 0.88); box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12); display: grid; gap: 14px; } .boot-card h1 { font-size: 28px; } .boot-card p { color: var(--muted); line-height: 1.7; } .boot-badge { display: inline-flex; width: fit-content; min-height: 28px; align-items: center; padding: 0 10px; border-radius: 4px; background: var(--theme-primary-soft); color: var(--theme-primary-active); font-size: 12px; font-weight: 800; letter-spacing: 0.12em; } .boot-badge-error { background: rgba(239, 68, 68, 0.12); color: #b91c1c; } .boot-action { width: fit-content; min-height: 44px; padding: 0 18px; border: 1px solid transparent; border-radius: 8px; background: #0f172a; color: #fff; font-weight: 700; } .main { min-width: 0; min-height: 0; display: grid; grid-template-rows: auto auto minmax(0, 1fr); } .main.overview-main { height: var(--desktop-stage-height, 100dvh); grid-template-rows: auto minmax(0, 1fr); overflow: hidden; } .main.workbench-main { height: var(--desktop-stage-height, 100dvh); grid-template-rows: auto minmax(0, 1fr); overflow: hidden; } .main.documents-main, .main.requests-main, .main.approval-main, .main.archive-main, .main.policies-main, .main.audit-main, .main.digital-employees-main, .main.logs-main, .main.employees-main, .main.settings-main { height: var(--desktop-stage-height, 100dvh); grid-template-rows: auto minmax(0, 1fr); overflow: hidden; } .main.settings-main { grid-template-rows: minmax(0, 1fr); } .main.audit-detail-main { grid-template-rows: minmax(0, 1fr); } .workarea { min-height: 0; overflow: auto; padding: 24px; } .workarea.requests-workarea, .workarea.documents-workarea, .workarea.workbench-workarea, .workarea.approval-workarea, .workarea.archive-workarea, .workarea.policies-workarea, .workarea.audit-workarea, .workarea.digital-employees-workarea, .workarea.logs-workarea, .workarea.employees-workarea, .workarea.settings-workarea { min-height: 0; overflow: hidden; padding: 20px 24px; } .workarea.workbench-workarea { overflow: hidden; padding: 12px 14px 14px; } .workarea.settings-workarea { padding: 0; background: #fff; } @media (max-width: 1180px) { .app-sidebar { width: var(--sidebar-expanded-width); } .app.sidebar-collapsed .app-sidebar { width: var(--sidebar-collapsed-width); } } @media (max-width: 760px) { .app { display: flex; width: 100vw; overflow: hidden; } .app-sidebar { width: var(--sidebar-collapsed-width); flex: 0 0 var(--sidebar-collapsed-width); transition: none; } .app > .main { flex: 1 1 auto; width: calc(100vw - var(--sidebar-collapsed-width)); } .workarea { padding: 18px 16px 28px; } .workarea.workbench-workarea { overflow: auto; padding: 14px; } } @media (prefers-reduced-motion: reduce) { .app-sidebar { transition: width 120ms ease-out !important, flex-basis 120ms ease-out !important; transition-duration: 120ms, 120ms !important; } }