:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#eef2f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink: #172033;--muted: #667085;--line: #d7e0ea;--panel: #ffffff;--panel-soft: #f8fafc;--panel-strong: #f1f5f9;--blue: #215da8;--teal: #087f8c;--green: #22855e;--amber: #a76000;--red: #bd3838;--sidebar: #0f1d2e;--sidebar-soft: #1b304a;--accent: #215da8;--accent-soft: #e8f2ff;--shadow: 0 18px 55px rgba(15, 29, 46, .08);--shadow-soft: 0 10px 28px rgba(15, 29, 46, .06)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input,select{font:inherit}button{border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}button:hover:not(:disabled){transform:translateY(-1px)}input,select{outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,520px);background:linear-gradient(135deg,#087f8c14,#a760000d),#eef2f6}.auth-hero{min-height:100vh;padding:clamp(28px,5vw,64px);background:linear-gradient(145deg,#087f8c29,#0f1d2e00 38%),var(--sidebar);color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:40px}.auth-brand{display:grid;gap:6px}.auth-brand span{color:#5eead4;font-size:.78rem;font-weight:900;text-transform:uppercase}.auth-brand strong{max-width:520px;font-size:clamp(1.8rem,4vw,3.4rem);line-height:1.02;letter-spacing:0}.auth-copy{max-width:680px}.auth-copy h1{margin:12px 0 16px;max-width:720px;font-size:clamp(2.3rem,6vw,4.7rem);line-height:1;letter-spacing:0}.auth-copy p{max-width:62ch;margin:0;color:#d3dce8;font-size:1.05rem}.auth-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.auth-capabilities div{min-height:82px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0f}.auth-capabilities span{display:block;margin-bottom:8px;color:#7dd3fc;font-size:.76rem;font-weight:900}.auth-capabilities strong{font-size:1rem}.auth-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.auth-stats div{padding:16px;border-radius:8px;background:var(--sidebar-soft);border:1px solid rgba(255,255,255,.1)}.auth-stats strong{display:block;font-size:2rem}.auth-stats span{color:#d3dce8;font-size:.9rem}.auth-panel{min-height:100vh;padding:clamp(18px,4vw,40px);display:grid;place-items:center}.auth-card{width:min(100%,480px);padding:26px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 28px 80px #0f1d2e24}.role-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.role-select-grid button{min-height:112px;padding:13px;border-radius:8px;text-align:left;display:grid;gap:8px;align-content:start;background:var(--panel-soft)}.role-select-grid button:hover{border-color:#b7c7d8;background:#fff;box-shadow:var(--shadow-soft)}.role-select-grid button.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent),var(--shadow-soft)}.role-card-topline{color:var(--teal);font-size:.74rem;font-weight:900;text-transform:uppercase}.role-select-grid strong{color:var(--ink)}.role-select-grid span{color:var(--muted);font-size:.86rem}.auth-form{display:grid;gap:12px}.auth-form label{display:grid;gap:7px}.auth-form label span{color:var(--muted);font-size:.88rem;font-weight:800}.auth-form input{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;color:var(--ink);background:#fff}.auth-form .password-field input{padding-right:46px}.password-toggle{position:absolute;top:50%;right:7px;display:grid;width:32px;min-height:32px;padding:0;place-items:center;transform:translateY(-50%);border:0;border-radius:6px;background:transparent;color:var(--muted);box-shadow:none}.password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.password-toggle:hover{background:#e8f2ff;color:var(--blue)}.auth-form button{min-height:46px;border-radius:8px;border-color:var(--accent);background:var(--accent);color:#fff;font-weight:900;box-shadow:0 12px 24px color-mix(in srgb,var(--accent) 22%,transparent)}.auth-message{min-height:22px;margin:14px 0 0;color:var(--accent);font-weight:800}.credential-strip{margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.credential-strip span{color:var(--muted);font-size:.82rem;font-weight:900;text-transform:uppercase}.credential-strip p{margin:5px 0 0;color:var(--ink);font-size:.9rem}.mfa-setup-note{padding:14px;border:1px solid #c8d8eb;border-radius:8px;background:#f5f9ff}.mfa-setup-note strong{color:var(--ink)}.mfa-setup-note p{margin:8px 0 0;color:var(--muted);font-size:.9rem}.mfa-setup-note code{display:block;overflow-wrap:anywhere;margin-top:10px;padding:10px;border-radius:6px;background:#e7f0fb;color:#12365d;font-size:.82rem;font-weight:800}.auth-secondary-button{border-color:var(--line)!important;background:#fff!important;color:var(--ink)!important;box-shadow:none!important}.security-status{display:inline-flex;margin:0;padding:6px 10px;border:1px solid #f5c2c7;border-radius:999px;background:#fff1f2;color:#9f1239;font-size:.82rem;font-weight:800}.security-status.enabled{border-color:#a7f3d0;background:#ecfdf3;color:#047857}.security-disable-form{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.security-disable-form p{margin:0;color:var(--muted);font-size:.88rem}.security-disable-form label{display:grid;gap:6px}.security-disable-form label span{color:var(--muted);font-size:.82rem;font-weight:800}.security-disable-form input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 11px}.security-disable-form button{width:max-content;min-height:40px;padding:0 14px;border-radius:999px}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.app-role-admin{--accent: var(--blue);--accent-soft: #e8f2ff}.app-role-manager{--accent: #bd3838;--accent-soft: #fff1f2}.app-role-employee{--accent: #22855e;--accent-soft: #ecfdf3}.app-role-viewer{--accent: #087f8c;--accent-soft: #ecfeff}.sidebar{min-height:100vh;padding:22px;background:linear-gradient(180deg,#087f8c1a,#0f1d2e00 42%),var(--sidebar);color:#f8fafc;display:flex;flex-direction:column;gap:24px;position:sticky;top:0}.brand{display:grid;gap:4px}.brand span,.eyebrow{color:var(--teal);font-size:.74rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.brand strong{font-size:1.42rem}.nav-list{display:grid;gap:8px}.nav-list button{width:100%;min-height:42px;padding:0 12px;border-radius:8px;border:1px solid transparent;background:transparent;color:#d3dce8;text-align:left;font-weight:750}.nav-list button.active,.nav-list button:hover{background:var(--sidebar-soft);color:#fff;border-color:#ffffff1a;box-shadow:inset 3px 0 0 var(--accent)}.sync-card{margin-top:auto;padding:16px;border-radius:8px;background:var(--sidebar-soft);border:1px solid rgba(255,255,255,.1)}.sync-card span,.sync-card p{color:#d3dce8}.sync-card strong{display:block;margin:6px 0;font-size:2rem}.sync-card p{margin:0;font-size:.9rem}.workspace{padding:24px;display:grid;gap:18px;background:linear-gradient(180deg,#ffffff9e,#eef2f600 260px),#eef2f6}.topbar,.panel-heading,.alert-row,.approval-row,.search-box{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.user-chip{min-height:40px;padding:5px 12px 5px 6px;border:1px solid var(--line);border-radius:999px;background:#fff;display:grid;grid-template-columns:30px auto;column-gap:9px;align-items:center;box-shadow:var(--shadow-soft)}.user-chip b{grid-row:span 2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--accent);font-size:.72rem}.user-chip span{color:var(--ink);font-size:.86rem;font-weight:800}.user-chip strong{color:var(--muted);font-size:.75rem;text-transform:uppercase}.ghost-btn{min-height:40px;border-radius:999px;padding:0 13px;color:var(--accent);background:#fff;font-weight:900;box-shadow:var(--shadow-soft)}.topbar h1,.panel h2{margin:4px 0 0;letter-spacing:0}.topbar h1{font-size:clamp(1.8rem,4vw,2.55rem)}.status-pill,.panel-heading button,.risk-badge,.ok-badge,.module-card span,.alert-row span,.approval-row span{border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:800;white-space:nowrap}.status-pill{color:#0c4a6e;background:#e0f2fe;border:1px solid #bae6fd}.insight-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.insight-strip article{min-height:92px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-soft)}.insight-strip span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.insight-strip strong{display:block;margin-top:8px;color:var(--ink);font-size:1.15rem}.insight-strip p{margin:5px 0 0;color:var(--muted);font-size:.9rem}.process-strip,.kpi-grid,.role-dashboard,.dashboard-grid,.lower-grid,.module-grid,.role-grid,.form-grid,.library-filters,.detail-grid,.detail-actions{display:grid;gap:14px}.process-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.process-step,.metric-card,.panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;box-shadow:var(--shadow-soft)}.process-step{min-height:72px;padding:14px;display:flex;align-items:center;gap:12px}.process-step span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--accent);font-weight:800}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.role-dashboard{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:stretch}.role-command-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:18px;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,transparent),#fff0 45%),#fff}.role-command-panel h2{font-size:clamp(1.55rem,3vw,2.15rem)}.role-command-panel p{margin:10px 0 0;max-width:72ch;color:var(--muted)}.role-action-grid{display:grid;gap:10px}.role-action-grid button{min-height:42px;border-radius:8px;border-color:var(--line);background:var(--panel-soft);color:var(--ink);font-weight:800;text-align:left;padding:0 12px}.role-action-grid button:hover{border-color:var(--accent);background:#fff;color:var(--accent)}.role-admin .role-command-panel,.role-manager .role-command-panel,.role-employee .role-command-panel,.role-viewer .role-command-panel{border-top:4px solid var(--accent)}.role-focus-list{margin:0;padding:0;color:var(--muted);list-style:none}.role-focus-list li+li{margin-top:10px}.role-focus-list li{display:flex;align-items:center;gap:10px}.role-focus-list li span{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 14%,transparent)}.metric-card{padding:18px;position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;inset:auto 16px 0 16px;height:3px;border-radius:999px 999px 0 0;background:var(--accent)}.metric-card span{color:var(--muted);font-size:.9rem}.metric-card strong{display:block;margin-top:8px;font-size:1.8rem}.metric-card p,.upload-drop p,.module-card p,.alert-row p,.approval-row p,.role-grid p,.helper-text{margin:0;color:var(--muted)}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);align-items:start}.login-panel{grid-column:1 / -1}.panel{padding:18px}.panel-heading{margin-bottom:16px}.panel-heading button,.search-box button,.upload-drop button{color:#fff;background:var(--accent);border-color:var(--accent);border-radius:999px;padding:8px 13px;font-weight:800}.table-wrap{overflow-x:auto}.library-filters{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;margin-bottom:12px}.library-filters label{display:grid;gap:7px}.library-filters label span{color:var(--muted);font-size:.84rem;font-weight:800}.library-filters input,.library-filters select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink)}.library-filters button{min-height:42px;border-radius:999px;padding:8px 13px;border-color:var(--blue);background:var(--blue);color:#fff;font-weight:800}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted);font-size:.84rem}tbody tr{cursor:pointer;transition:background .14s ease,box-shadow .14s ease}tbody tr:hover,.selected-row{background:var(--accent-soft)}.selected-row td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.detail-panel{align-self:stretch}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid div,.summary-box{padding:13px;border:1px solid var(--line);border-radius:8px;background:#fff}.detail-grid span,.summary-box span{display:block;margin-bottom:6px;color:var(--muted);font-size:.82rem;font-weight:900;text-transform:uppercase}.detail-grid strong{word-break:break-word}.summary-box{margin-top:14px}.summary-box p{margin:0;color:var(--muted)}.detail-actions{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.detail-actions button{min-height:42px;border-radius:999px;border-color:var(--accent);background:var(--accent);color:#fff;font-weight:900}.detail-actions a{min-height:42px;border:1px solid var(--accent);border-radius:999px;display:grid;place-items:center;color:var(--accent);background:#fff;font-weight:900;text-decoration:none}.detail-actions .danger-btn{border-color:#fecaca;background:#fee2e2;color:#7f1d1d}button:disabled{cursor:not-allowed;opacity:.55}.risk-badge{color:#7c2d12;background:#ffedd5;border:1px solid #fed7aa}.ok-badge{color:#14532d;background:#dcfce7;border:1px solid #bbf7d0}.type-pill,.status-tag{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:900;white-space:nowrap}.type-pill{color:#334155;background:#f1f5f9;border:1px solid #dbe4ee}.status-tag{color:#344054;background:#f8fafc;border:1px solid #d7e0ea}.status-uploaded,.status-ocr-review{color:#075985;background:#e0f2fe;border-color:#bae6fd}.status-processed,.status-approved{color:#14532d;background:#dcfce7;border-color:#bbf7d0}.status-pending-approval{color:#78350f;background:#fef3c7;border-color:#fde68a}.status-rejected,.status-archived{color:#7f1d1d;background:#fee2e2;border-color:#fecaca}.upload-drop{padding:20px;border:1px dashed color-mix(in srgb,var(--accent) 38%,#9fb3ca);border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,transparent),#fff0 52%),#f8fbff;display:grid;gap:10px}.viewer-notice{min-height:220px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label{display:grid;gap:7px}.form-grid label span{color:var(--muted);font-size:.88rem;font-weight:700}.form-grid input,.form-grid select{min-width:0;width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink)}.form-grid button{align-self:end;min-height:42px}.upload-status{margin:0;color:var(--accent);font-weight:800}.metadata-card{margin-top:14px;padding:14px;border-radius:8px;background:var(--panel-soft);border:1px solid var(--line)}.metadata-card span{color:var(--muted);font-size:.9rem}dl{display:grid;gap:8px;margin:12px 0 0}dl div{display:flex;justify-content:space-between;gap:12px}dt{color:var(--muted)}dd{margin:0;font-weight:800}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-card,.alert-row,.approval-row,.role-grid div{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.module-card:hover,.approval-row:hover,.role-grid div:hover{border-color:#b7c7d8;background:#fff;box-shadow:var(--shadow-soft)}.module-card div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.module-card span{color:#075985;background:#e0f2fe}.alert-list,.approval-list,.task-list,.notification-list,.mini-bars{display:grid;gap:10px}.alert-row{justify-content:flex-start}.alert-row span.high{color:#7f1d1d;background:#fee2e2}.alert-row span.medium{color:#78350f;background:#fef3c7}.approval-main{min-width:220px;flex:1}.approval-main>p{margin:4px 0 0;color:var(--muted)}.approval-comment{max-width:560px;color:var(--ink)!important;font-size:.86rem}.approval-comment-box{display:block;width:min(560px,100%);min-height:58px;margin-top:10px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;resize:vertical;color:var(--ink);background:#fff;font:inherit}.lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-box input{min-width:0;flex:1;border:1px solid var(--line);border-radius:8px;padding:11px 12px}.helper-text{margin-top:12px}.search-results{display:grid;gap:8px;margin-top:12px}.search-results button{min-height:52px;padding:10px 12px;border-radius:8px;background:var(--panel-soft);text-align:left}.search-results strong,.search-results span{display:block}.search-results span{margin-top:4px;color:var(--muted);font-size:.82rem}.approval-row span{color:#78350f;background:#fef3c7}.approval-actions{display:flex;gap:8px;margin-left:auto}.approval-actions button{min-height:34px;border-radius:999px;padding:0 11px;border-color:var(--accent);color:var(--accent);background:#fff;font-weight:900}.approval-open-button,.approval-preview-link{min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:#fff;font-size:.82rem;font-weight:800;text-decoration:none}.approval-preview-link{cursor:pointer}.approval-open-button:hover,.approval-preview-link:hover{border-color:var(--blue);color:var(--blue)}.notification-row,.report-grid div,.management-grid div,.admin-forms div,.mini-bars div{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.notification-row strong,.notification-row p{margin:0}.notification-row p{margin-top:6px;color:var(--muted)}.notice-high{border-color:#fecaca;background:#fff1f2}.notice-medium{border-color:#fde68a;background:#fffbeb}.report-grid,.management-grid,.admin-forms{display:grid;gap:12px}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-grid span,.management-grid span{display:block;color:var(--muted);font-size:.82rem;font-weight:900;text-transform:uppercase}.report-grid strong{display:block;margin-top:8px;font-size:1.7rem}.mini-bars{margin-top:12px}.mini-bars div{display:flex;align-items:center;justify-content:space-between}.admin-panel{grid-column:1 / -1}.admin-forms{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);margin-top:14px;align-items:start}.admin-forms>div{display:grid;gap:9px;align-self:start;align-content:start}.admin-forms label{display:grid;gap:5px}.admin-forms label span{color:var(--muted);font-size:.8rem;font-weight:800}.admin-forms .form-helper{margin:0;color:var(--muted);font-size:.82rem;line-height:1.35}.admin-forms input,.admin-forms select{min-width:0;width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 11px}.password-field{position:relative}.admin-forms .password-field input{padding-right:46px}.admin-forms .password-toggle{position:absolute;top:50%;right:7px;display:grid;width:32px;min-height:32px;padding:0;place-items:center;transform:translateY(-50%);border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:1.25rem;line-height:1;box-shadow:none}.admin-forms .password-toggle:hover{background:#e8f2ff;color:var(--blue)}.admin-forms button{min-height:42px;width:100%;border-radius:999px;border-color:var(--accent);background:var(--accent);color:#fff;font-weight:900}.management-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.management-grid p{margin:8px 0 0;color:var(--muted);display:grid;gap:6px}.management-grid p button{width:max-content;min-height:30px;padding:0 10px;border-radius:999px;border-color:#fecaca;color:#7f1d1d;background:#fee2e2;font-weight:800}.management-grid p button.activate-btn{border-color:#bbf7d0;color:#166534;background:#dcfce7}.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-grid.compact{margin-top:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.role-grid strong{display:block;margin-bottom:8px;color:var(--ink)}.task-list{margin:0;padding:0;color:var(--muted);list-style:none}.task-list li+li{margin-top:8px}.task-list li{padding:10px 0 10px 16px;border-bottom:1px solid var(--line);position:relative}.task-list strong,.task-list span,.task-list p{display:block}.task-list strong{color:var(--ink)}.task-list span{margin-top:3px;color:var(--muted);font-size:.84rem}.task-list p{margin:5px 0 0}.task-list li:before{content:"";position:absolute;left:0;top:17px;width:7px;height:7px;border-radius:50%;background:var(--accent)}@media (max-width: 1080px){.auth-shell{grid-template-columns:1fr}.auth-hero,.auth-panel{min-height:auto}.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;position:static}.nav-list{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid,.role-dashboard,.lower-grid,.insight-strip,.admin-forms,.management-grid,.role-command-panel{grid-template-columns:1fr}.library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.workspace,.sidebar{padding:14px}.topbar,.panel-heading,.search-box,.topbar-actions{align-items:flex-start;flex-direction:column}.process-strip,.kpi-grid,.insight-strip,.module-grid,.role-grid,.role-grid.compact,.form-grid,.library-filters,.detail-grid,.detail-actions,.report-grid,.nav-list{grid-template-columns:1fr}.search-box input,.search-box button,.approval-actions,.approval-actions button{width:100%}.approval-actions{flex-direction:column}.role-select-grid,.auth-stats,.auth-capabilities{grid-template-columns:1fr}}
