:root{--primary: #2f6bff;--primary-hover: #2457d1;--bg: #f6f8fc;--surface: #ffffff;--sidebar-start: #0f1e3a;--sidebar-end: #243a66;--text: #16233b;--muted: #6a768d;--border: #d9e1ef;--success: #1d9b5f;--warning: #d98a1f;--danger: #d94a4a;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow: 0 6px 20px rgba(0, 0, 0, .08);font-family:Inter,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}body{background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}pre{margin:0;white-space:pre-wrap;word-break:break-word}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.shell-main{min-width:0;padding-bottom:0}.sidebar{background:linear-gradient(180deg,var(--sidebar-start),var(--sidebar-end));color:#fff;padding:20px 16px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;min-height:100vh}.sidebar-brand{display:flex;gap:12px;align-items:center}.brand-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#ffffff29;font-weight:700}.brand-title{font-weight:700;font-size:15px}.brand-subtitle{font-size:12px;color:#ffffffb8}.sidebar-nav{display:flex;flex-direction:column;gap:6px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;color:#ffffffd9}.sidebar-link-active{background:#ffffff1f;color:#fff;font-weight:700;position:relative}.sidebar-link-active:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:4px;border-radius:999px;background:#7ea5ff}.topbar{height:64px;padding:12px 24px;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:5}.search-shell{flex:1;max-width:640px;display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--bg);border:1px solid var(--border);border-radius:999px}.search-shell .input{border:none;background:transparent}.search-shell .input:focus{outline:none}.topbar-actions{display:flex;align-items:center;gap:12px}.page-canvas{padding:24px}.page-stack{display:flex;flex-direction:column;gap:20px}.page-header{display:flex;align-items:start;justify-content:space-between;gap:16px}.page-header h1{margin:0;font-size:28px}.page-header p{margin:8px 0 0;color:var(--muted)}.page-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.card-button{text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.card-button:hover{transform:translateY(-1px);border-color:#2f6bff38;box-shadow:0 12px 28px #0f172a14}.dashboard-action-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:88px;z-index:4}.dashboard-action-bar-copy{display:grid;gap:4px}.dashboard-action-bar-actions{display:flex;flex-wrap:wrap;gap:12px}.ce-action-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:172px;z-index:3}.status-badge-conform{background:#1d9b5f1f;color:var(--success)}.status-badge-warning{background:#d98a1f1f;color:var(--warning)}.status-badge-danger{background:#d94a4a1f;color:var(--danger)}.status-badge-neutral{background:#eef2f9;color:var(--text)}.tabs{display:flex;flex-wrap:wrap;gap:10px}.tab-button{border:1px solid var(--border);background:#f8fbff;color:var(--text);border-radius:999px;padding:10px 14px;font-weight:600}.tab-button:hover{border-color:#2f6bff47;background:#eef4ff}.tab-button-active{background:#edf3ff;color:var(--primary);border-color:#2f6bff47}.project-context-tabs-card{position:sticky;top:88px;z-index:4}.project-context-tabs-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.project-context-tabs-copy,.project-workspace-actionbar-copy{display:grid;gap:6px}.project-context-tabs-kicker,.project-workspace-actionbar-kicker{display:inline-flex;align-items:center;gap:8px;width:fit-content;border-radius:999px;background:#eef4ff;color:var(--primary);padding:6px 10px;font-size:12px;font-weight:700}.project-context-tabs-search{width:min(100%,420px)}.project-workspace-actionbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.project-workspace-actionbar-actions{display:flex;flex-wrap:wrap;gap:12px}.card-grid{display:grid;gap:20px}.card-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-3,.kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.content-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:20px;border:1px solid rgba(217,225,239,.8)}.stat-card{display:flex;flex-direction:column;gap:8px}.stat-label{color:var(--muted);font-size:13px;font-weight:600}.stat-value{font-size:30px;font-weight:700}.stat-meta{color:var(--muted);font-size:13px}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-title-row h3{margin:0;display:flex;align-items:center;gap:8px;font-size:18px}.metric-row,.metric-inline{display:flex;align-items:center;gap:12px}.metric-block{display:grid;gap:12px}.divider{height:1px;background:var(--border);margin:16px 0}.btn{border:none;border-radius:10px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:#edf3ff;color:var(--primary)}.btn-ghost{background:transparent;color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed}.input,.select{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fff}.input:focus,.select:focus{outline:2px solid rgba(47,107,255,.18);border-color:var(--primary)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge-success{background:#1d9b5f1f;color:var(--success)}.badge-warning{background:#d98a1f1f;color:var(--warning)}.badge-danger{background:#d94a4a1f;color:var(--danger)}.badge-neutral{background:#eef2f9;color:var(--text)}.state-box{border:1px dashed var(--border);border-radius:12px;padding:20px;color:var(--muted);background:#fafcff;display:grid;gap:8px}.state-error{border-style:solid;border-color:#d94a4a4d}.inline-message{border-radius:12px;padding:12px 16px;font-weight:600;border:1px solid var(--border);background:#fff}.inline-success{color:var(--success);background:#1d9b5f14;border-color:#1d9b5f26}.inline-danger{color:var(--danger);background:#d94a4a14;border-color:#d94a4a26}.inline-neutral{color:var(--text)}.code-block{padding:16px;border-radius:12px;background:#0f1729;color:#e7edf9}.table-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:12px;align-items:center;margin-bottom:16px}.toolbar-left,.toolbar-center,.toolbar-right,.toolbar-cluster{display:flex;align-items:center;gap:12px}.toolbar-right{justify-content:flex-end}.table-shell{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:14px 12px;border-bottom:1px solid #edf1f7;text-align:left;vertical-align:middle}.data-table thead th{color:var(--muted);font-size:13px;font-weight:700}.data-table tbody tr:hover{background:#f8fbff}.sort-button{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;padding:0;color:inherit;font-weight:inherit}.row-actions{display:flex;align-items:center;gap:8px}.icon-button{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:#fff;display:grid;place-items:center}.profile-pill{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:12px;padding:8px 12px}.profile-pill span{color:var(--muted);font-size:12px}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a7a;display:grid;place-items:center;z-index:80;padding:24px}.overlay-backdrop-right{place-items:stretch end}.modal-panel,.drawer-panel{background:#fff;border-radius:16px;box-shadow:0 24px 80px #0a12263d;width:min(100%,720px);max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column}.modal-small{width:min(100%,420px)}.modal-medium{width:min(100%,720px)}.modal-large{width:min(100%,980px)}.modal-fullscreen{width:calc(100vw - 48px);height:calc(100vh - 48px)}.drawer-panel{width:min(100%,520px);height:100vh;border-radius:0}.overlay-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.overlay-header h3{margin:0}.overlay-body{padding:20px;overflow:auto}.form-grid{display:grid;gap:16px}.form-grid label,.field-shell{display:grid;gap:8px}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-label-row small{color:var(--muted)}.field-error{color:var(--danger)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.two-column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.list-stack,.timeline-list{display:flex;flex-direction:column;gap:12px}.compact-list{gap:10px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #edf1f7;border-radius:12px}.list-subtle{color:var(--muted);font-size:13px;margin-top:4px}.timeline-item{display:flex;align-items:start;gap:12px}.timeline-dot{width:10px;height:10px;border-radius:999px;background:var(--primary);margin-top:6px}.detail-stack{display:grid;gap:20px}.detail-hero{display:flex;align-items:center;justify-content:space-between;gap:12px}.detail-hero h3{margin:0}.detail-grid,.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-grid>div,.checklist-item{padding:14px;border:1px solid #edf1f7;border-radius:12px;display:grid;gap:6px}.detail-grid span{color:var(--muted);font-size:13px}.progress-shell{height:10px;border-radius:999px;background:#eef2f9;overflow:hidden;margin-bottom:16px}.progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),#5a7dff)}.quick-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,rgba(47,107,255,.14),transparent 30%),var(--bg)}.auth-card{width:min(100%,480px);display:flex;flex-direction:column;gap:20px}.eyebrow{font-size:12px;text-transform:uppercase;color:var(--primary);font-weight:700;letter-spacing:.08em}.mobile-only,.mobile-tabbar{display:none}.desktop-only{display:grid}@media(max-width:1200px){.grid-3,.kpi-strip,.content-grid-2,.dashboard-kpi-grid,.card-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1023px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:280px;transform:translate(-100%);transition:transform .2s ease;z-index:20}.sidebar-mobile-open{transform:translate(0)}.mobile-only{display:grid}.page-canvas,.topbar{padding-left:16px;padding-right:16px}.table-toolbar{grid-template-columns:1fr}.toolbar-right{justify-content:flex-start}}@media(max-width:767px){.topbar{flex-wrap:wrap;height:auto}.search-shell{order:2;max-width:none;width:100%}.topbar-actions{width:100%;justify-content:space-between}.page-header,.detail-hero,.project-workspace-actionbar{flex-direction:column;align-items:flex-start}.grid-3,.kpi-strip,.content-grid-2,.two-column-grid,.detail-grid,.checklist-grid,.quick-actions-grid,.dashboard-kpi-grid,.card-grid.cols-3{grid-template-columns:1fr}.page-canvas{padding-bottom:92px}.profile-pill{min-width:0;flex:1}.desktop-only{display:none}.mobile-tabbar{position:fixed;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px;border-radius:18px;background:#fffffff5;border:1px solid var(--border);box-shadow:var(--shadow);z-index:15}.mobile-tab{display:grid;place-items:center;gap:4px;padding:8px 4px;border-radius:12px;color:var(--muted);font-size:11px}.mobile-tab-active{background:#edf3ff;color:var(--primary);font-weight:700}}.checkbox-column{width:52px}.data-table tbody tr.is-selected{background:#f4f8ff}.has-badge{position:relative}.icon-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;display:grid;place-items:center;padding:0 4px}.command-palette{width:min(100%,760px);background:#fff;border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg)}.command-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border)}.command-search{display:flex;align-items:center;gap:12px;flex:1}.command-search input{width:100%;border:0;outline:none;font-size:15px}.command-hint{color:var(--muted);font-size:12px}.command-results{display:grid;gap:8px;padding:12px;max-height:60vh;overflow:auto}.command-item{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px;border-radius:14px;border:1px solid transparent;background:transparent}.command-item:hover,.command-item.active{background:#f6f8fc;border-color:#e8edf5}.command-icon{width:38px;height:38px;border-radius:12px;background:#eef3ff;color:var(--primary);display:grid;place-items:center}.command-copy{display:grid;gap:2px}.command-copy strong{font-size:14px}.command-copy span,.command-empty{font-size:13px;color:var(--muted)}.notification-center{width:min(100%,420px);height:100vh;margin-left:auto;background:#fff;border-left:1px solid var(--border);box-shadow:var(--shadow-lg);padding:20px;overflow:auto}.notification-list{display:grid;gap:12px;margin-top:18px}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:14px;border:1px solid #edf1f7;background:#fff;text-align:left}.notification-item.read{opacity:.72}.notification-dot{width:32px;height:32px;border-radius:999px;display:grid;place-items:center}.notification-dot.info{background:#eef4ff;color:var(--primary)}.notification-dot.success{background:#ecfdf3;color:#0f9f58}.notification-dot.warning{background:#fff7eb;color:#d97706}.notification-dot.error{background:#fef2f2;color:#dc2626}.notification-copy{display:grid;gap:4px}.notification-copy span,.notification-copy small{color:var(--muted)}.drawer-footer-actions,.stack-actions,.toolbar-cluster{display:flex;flex-wrap:wrap;gap:12px}.form-grid.single{grid-template-columns:1fr}.content-panel{border:1px solid #edf1f7;border-radius:14px;padding:16px;display:grid;gap:8px;background:#fcfdff}.content-panel.horizontal{grid-template-columns:1fr auto;align-items:center}.metric-card{display:grid;gap:8px}.metric-card span{color:var(--muted);font-size:13px}.metric-card strong{font-size:28px}.document-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.document-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid #edf1f7;border-radius:14px}.document-card p{margin:4px 0 0;color:var(--muted)}@media(max-width:1023px){.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.content-panel.horizontal,.document-grid{grid-template-columns:1fr}.command-palette{width:calc(100vw - 24px)}.notification-center{width:min(100%,100vw)}}.topbar-shell{position:sticky;top:0;z-index:5;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.topbar-main{position:static;border-bottom:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent}.topbar-breadcrumb-row{padding:0 24px 12px}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:13px}.breadcrumb-item{display:inline-flex;align-items:center;gap:8px}.system-banners{display:grid;gap:12px;margin-bottom:16px}.system-banner{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:#fff;font-weight:600}.system-banner-success{color:var(--success);border-color:#1d9b5f33;background:#1d9b5f14}.system-banner-warning{color:var(--warning);border-color:#d98a1f33;background:#d98a1f14}.system-banner-danger{color:var(--danger);border-color:#d94a4a33;background:#d94a4a14}@media(max-width:1023px){.topbar-breadcrumb-row{padding-left:16px;padding-right:16px}}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:18}.sidebar-backdrop-open{opacity:1;pointer-events:auto}.table-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.table-column-toggle-wrap{position:relative}.table-column-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;padding:14px;border-radius:14px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow);display:grid;gap:10px;z-index:8}.table-column-option{display:flex;align-items:center;gap:10px;color:var(--text)}.datatable-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}.table-mobile-list{display:none}.table-mobile-card{display:grid;gap:14px;padding:16px;border:1px solid #edf1f7;border-radius:14px;background:#fff;box-shadow:var(--shadow)}.table-mobile-card.is-selected{border-color:#2f6bff52;background:#f8fbff}.table-mobile-card-header{display:flex;align-items:flex-start;gap:12px}.table-mobile-card-meta{display:grid;gap:4px;min-width:0}.table-mobile-card-meta strong,.table-mobile-field strong{overflow-wrap:anywhere}.table-mobile-card-meta span,.table-mobile-field span{color:var(--muted);font-size:12px}.table-mobile-card-grid{display:grid;gap:12px}.table-mobile-field{display:grid;gap:4px;padding-top:10px;border-top:1px solid #edf1f7}.btn-small{padding:8px 12px}.button-label-desktop{display:inline}@media(max-width:1023px){.sidebar-backdrop{display:block}}@media(min-width:1024px){.sidebar-backdrop{display:none}}@media(max-width:767px){.button-label-desktop{display:none}.topbar-actions{gap:8px;align-items:stretch}.topbar-actions .btn{padding-left:12px;padding-right:12px}.overlay-backdrop{padding:0}.modal-panel,.drawer-panel,.modal-small,.modal-medium,.modal-large,.modal-fullscreen{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0}.overlay-body{padding:16px}.table-mobile-list{display:grid;gap:12px}.data-table{display:none}.table-mobile-card-grid{grid-template-columns:1fr}.topbar-breadcrumb-row{display:none}}.search-shell-with-results{position:relative}.search-popover{position:absolute;top:calc(100% + 10px);left:0;right:0;display:grid;gap:8px;padding:10px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);z-index:12}.search-popover-item{display:flex;align-items:center;gap:12px;padding:12px;width:100%;border:1px solid transparent;border-radius:14px;background:transparent;text-align:left}.search-popover-item:hover{background:#f6f8fc;border-color:#e8edf5}.search-popover-icon{width:32px;height:32px;border-radius:10px;background:#eef3ff;color:var(--primary);display:grid;place-items:center;flex-shrink:0}.search-popover-copy{display:grid;gap:2px}.search-popover-copy small,.search-popover-empty{color:var(--muted);font-size:12px}.upload-progress-list{display:grid;gap:10px;margin-top:12px}.upload-progress-row{display:grid;gap:8px;padding:12px 14px;border:1px solid #edf1f7;border-radius:12px;background:#fcfdff}.upload-progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.preview-panel{display:grid;gap:12px}.preview-frame{min-height:280px;width:100%;border:1px solid #edf1f7;border-radius:12px;background:#f8fbff}@media(max-width:767px){.search-popover{left:-4px;right:-4px}}@media(max-width:1023px){.project-context-tabs-card,.dashboard-action-bar{top:78px}.ce-action-bar{top:156px}}@media(max-width:767px){.dashboard-action-bar,.project-context-tabs-card,.ce-action-bar{position:static}.dashboard-action-bar,.project-context-tabs-header{flex-direction:column;align-items:stretch}.dashboard-action-bar-actions{width:100%}.dashboard-action-bar-actions .btn{flex:1 1 0}.tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.tab-button{white-space:nowrap}.project-context-tabs-search{width:100%}}.project-tab-shell{display:flex;flex-direction:column;gap:20px}.project-tab-section{position:relative}.project-tab-section-filters{padding:16px 20px}.project-tab-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.project-tab-content{display:flex;flex-direction:column;gap:20px}.project-workspace-actionbar{position:sticky;top:172px;z-index:3}.project-workspace-action{min-width:168px;justify-content:center;min-height:44px}.project-context-tabs-card .tabs{margin-top:4px}.project-kpi-card{min-height:120px}.project-kpi-card .stat-card,.project-kpi-card .metric-card{height:100%;justify-content:center}@media(max-width:1100px){.project-tab-kpi-grid,.grid-3,.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.project-context-tabs-header,.project-workspace-actionbar,.dashboard-action-bar,.ce-action-bar{flex-direction:column;align-items:stretch}.project-workspace-actionbar-actions,.dashboard-action-bar-actions{width:100%}.project-workspace-action,.dashboard-action-bar .btn{flex:1 1 100%;width:100%}.project-tab-kpi-grid,.grid-3,.kpi-strip,.content-grid-2,.card-grid.cols-3{grid-template-columns:1fr}}.project-tab-content>.card,.project-tab-content>.content-grid-2>.card,.project-tab-content>.card-grid>.card{border-radius:16px}.project-context-tabs-card,.project-workspace-actionbar,.project-tab-section-filters{scroll-margin-top:96px}.project-kpi-card-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.project-kpi-card-button .project-kpi-card{transition:transform .12s ease,box-shadow .12s ease}.project-kpi-card-button:hover .project-kpi-card{transform:translateY(-1px)}
