:root{--bg: #f4f7fb;--card: #fff;--card2: #f8fafc;--text: #172033;--muted: #64748b;--line: #e2e8f0;--primary: #1d4ed8;--success: #16a34a;--warn: #d97706;--danger: #dc2626;--side: #0f172a;--shadow: 0 10px 28px rgba(15, 23, 42, .08);--sw: 304px}:root{--login-grad: linear-gradient(145deg, #071426, #103268 58%, #1762af);--sidebar-grad: linear-gradient(180deg, #0f172a, #111827);--logo-grad: linear-gradient(135deg, #38bdf8, #2563eb);--hero-grad: linear-gradient(135deg, #071426, #1e3a8a 65%, #0369a1);--submit-grad: linear-gradient(135deg, #1d4ed8, #2563eb, #0ea5e9);--font: Inter, "Segoe UI", Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.btn{border:1px solid var(--line);background:var(--card);color:var(--text);padding:8px 11px;border-radius:9px;font-size:12px;font-weight:700}.btn:hover{box-shadow:0 4px 13px #0f172a14}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.success{background:var(--success);border-color:var(--success);color:#fff}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:grid;grid-template-columns:1.06fr .94fr;background:#eef4ff;overflow:auto}.login-left{background:linear-gradient(145deg,#071426,#103268 58%,#1762af);color:#fff;padding:48px clamp(30px,6vw,85px);display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-brand{display:flex;gap:13px;align-items:center}.login-logo{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#38bdf8,#2563eb);font-weight:900}.login-brand b{font-size:21px}.login-brand small{display:block;color:#bfdbfe}.login-copy h1{font-size:clamp(36px,4.5vw,60px);line-height:1.03;margin:16px 0}.login-copy p{max-width:680px;line-height:1.75;color:#dbeafe;font-size:13px}.features{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.feature{border:1px solid rgba(255,255,255,.13);background:#ffffff12;padding:13px;border-radius:14px}.feature b{font-size:11px}.feature small{display:block;color:#bfdbfe;margin-top:4px;font-size:9px;line-height:1.5}.login-right{display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:min(520px,100%);background:#fff;border:1px solid #dbe4f0;border-radius:24px;box-shadow:0 28px 80px #0f172a2b;overflow:hidden}.login-head{padding:24px 27px 12px}.login-head h2{margin:0;font-size:25px}.login-head p{margin:6px 0;color:var(--muted);font-size:11px}.auth-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#f1f5f9;border-radius:12px;margin:0 20px;padding:6px}.auth-tab{border:0;background:transparent;padding:9px;border-radius:9px;font-size:10px;font-weight:800;color:#64748b}.auth-tab.active{background:#fff;color:#1d4ed8;box-shadow:0 3px 10px #0f172a14}.auth-body{padding:18px 27px 27px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.field label{font-size:10px;font-weight:800;color:#475569}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px;padding:10px;outline:none}.field textarea{min-height:78px}.pass{position:relative}.pass input{width:100%;padding-right:68px}.showpass{position:absolute;right:5px;top:5px;border:0;background:#f1f5f9;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:800}.auth-row{display:flex;justify-content:space-between;gap:10px;margin:6px 0 13px;font-size:10px;color:#64748b}.auth-link{border:0;background:transparent;color:#1d4ed8;font-size:10px;font-weight:800;padding:0}.auth-submit{width:100%;border:0;border-radius:11px;padding:12px;background:linear-gradient(135deg,#1d4ed8,#2563eb,#0ea5e9);color:#fff;font-weight:850}.auth-alt{width:100%;margin-top:9px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:11px;font-weight:800;color:#334155}.msg{display:none;margin:0 27px;padding:9px 10px;border-radius:9px;font-size:10px}.msg.show{display:block}.msg.error{background:#fee2e2;color:#991b1b}.msg.success{background:#dcfce7;color:#166534}.msg.info{background:#eff6ff;color:#1e40af}.demo{margin-top:11px;padding:10px;border:1px dashed #93c5fd;border-radius:10px;background:#f8fbff;color:#475569;font-size:9px;line-height:1.6}.quick-depts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.quick-depts button{border:1px solid #dbe2ea;background:#fff;border-radius:8px;padding:7px;font-size:9px;font-weight:800}.auth-tabs+.msg{margin-top:12px}.login-foot{font-size:9px;color:#93c5fd}.auth-tabs.two{grid-template-columns:repeat(2,1fr)}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.forgot-text{margin:0 0 13px;color:#475569;font-size:11px;line-height:1.7}.field-error{color:#991b1b;font-size:10px}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:#dc2626}.pw-hints{list-style:none;margin:0 0 13px;padding:0;display:grid;gap:4px;font-size:10px;color:#64748b}.pw-hints li:before{content:"○ "}.pw-hints li.ok{color:#166534}.pw-hints li.ok:before{content:"✓ "}.msg.static{margin:0 0 12px}.app{height:100vh;display:grid;grid-template-columns:var(--sw) 1fr;grid-template-rows:66px 1fr;grid-template-areas:"side top" "side main";overflow:hidden}.sidebar{grid-area:side;background:linear-gradient(180deg,#0f172a,#111827);color:#cbd5e1;display:flex;flex-direction:column}.brand{height:66px;display:flex;align-items:center;gap:11px;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.08)}.brand .logo{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#38bdf8,#2563eb);color:#fff;font-weight:900}.brand b{color:#fff}.brand small{display:block;color:#94a3b8;font-size:9px}.side-search-wrap{padding:11px;border-bottom:1px solid rgba(255,255,255,.08)}.side-search{width:100%;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:#fff;border-radius:9px;padding:9px}.side-search::placeholder{color:#94a3b8}.menu{overflow:auto;padding:9px}.menu-section{margin-bottom:5px}.menu-head{display:flex;justify-content:space-between;align-items:center;padding:9px;color:#e2e8f0;font-size:12px;font-weight:800;border-radius:9px;cursor:pointer}.menu-head:hover{background:#ffffff0d}.menu-items{border-left:1px solid rgba(255,255,255,.09);margin-left:10px;padding-left:6px}.menu-item{width:100%;border:0;background:transparent;color:#aeb8ca;text-align:left;padding:7px 8px;border-radius:7px;font-size:11px;margin:1px 0}.menu-item:hover,.menu-item.active{background:#3b82f62e;color:#fff}.top{grid-area:top;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;padding:0 13px}.menu-toggle{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;font-weight:800}.global{flex:1;max-width:460px}.global input{width:100%;border:1px solid var(--line);background:var(--card2);border-radius:10px;padding:10px}.top select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px}.top-actions{margin-left:auto;display:flex;gap:7px;align-items:center}.icon{width:37px;height:37px;border:1px solid var(--line);background:#fff;border-radius:10px}.user{border:1px solid var(--line);background:#fff;border-radius:11px;padding:5px 9px;display:flex;align-items:center;gap:8px}.avatar{width:30px;height:30px;border-radius:8px;background:#2563eb;color:#fff;display:grid;place-items:center;font-weight:800}.main{grid-area:main;overflow:auto;padding:17px}.page-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.page-head h1{margin:0 0 4px;font-size:23px}.page-head p{margin:0;color:var(--muted);font-size:11px}.actions{display:flex;gap:7px;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.panel{padding:14px}.panel h3{margin:0 0 11px;font-size:14px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:12px}.kpi{padding:14px}.kpi small{color:var(--muted)}.kpi b{display:block;font-size:22px;margin-top:6px}.good{color:var(--success);font-size:10px;margin-top:4px}.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:12px;margin-bottom:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.chart{height:245px}.chart canvas{width:100%;height:100%}.notice{padding:10px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e40af;border-radius:10px;font-size:10px;line-height:1.6}.context{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}.chip{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;font-size:9px;font-weight:800}.recordbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:9px;border:1px solid var(--line);background:var(--card);border-radius:11px;margin-bottom:9px}.recordbar select{min-width:250px;border:1px solid var(--line);border-radius:8px;padding:7px;background:var(--card)}.tabs{display:flex;gap:6px;overflow:auto;margin-bottom:10px;padding-bottom:4px}.tab{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 10px;font-size:10px;font-weight:700}.tab.active{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:10px;border-bottom:1px solid var(--line)}.toolbar input,.toolbar select{border:1px solid var(--line);border-radius:8px;padding:7px}.table-wrap{overflow:auto;max-height:56vh}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:9px 10px;border-bottom:1px solid var(--line);font-size:10px;text-align:left;white-space:nowrap}th{background:#f8fafc;position:sticky;top:0;z-index:2;text-transform:uppercase;color:#475569}.status{display:inline-block;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;background:#e2e8f0}.status.active,.status.approved,.status.completed,.status.paid,.status.closed{background:#dcfce7;color:#166534}.status.pending,.status.draft,.status.open,.status.in-progress{background:#fef3c7;color:#92400e}.status.rejected,.status.overdue,.status.cancelled{background:#fee2e2;color:#991b1b}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.detail{border:1px solid var(--line);background:var(--card2);border-radius:10px;padding:9px}.detail small{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.detail b{font-size:10px;word-break:break-word}.workflow{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:9px;overflow:auto}.lane{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:10px;min-height:230px}.lane-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px;margin-top:7px}.lane-card small{display:block;color:var(--muted);margin-top:4px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day{min-height:82px;border:1px solid var(--line);border-radius:9px;background:var(--card2);padding:6px;font-size:9px}.tree ul{list-style:none;padding-left:18px}.tree li{padding:5px 0;font-size:10px}.matrix{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.matrix div{min-height:54px;border-radius:8px;padding:6px;background:#f8fafc;border:1px solid var(--line);font-size:9px}.ledger-row{display:grid;grid-template-columns:110px 1fr 110px 110px 110px;gap:6px;padding:8px;border-bottom:1px solid var(--line);font-size:9px}.planning{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.plan-card{border:1px solid var(--line);border-radius:11px;padding:10px;background:var(--card2)}.plan-card b{font-size:10px}.plan-card small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:500;display:none;align-items:center;justify-content:center;padding:14px}.modal-bg.show{display:flex}.modal{background:#fff;width:min(980px,96vw);max-height:90vh;overflow:auto;border-radius:17px}.modal-head,.modal-foot{padding:13px 15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-foot{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end;gap:7px}.modal-body{padding:15px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.drawer{position:fixed;right:0;top:0;width:min(460px,96vw);height:100vh;background:#fff;z-index:600;box-shadow:-18px 0 50px #0f172a33;transform:translate(105%);transition:.2s;overflow:auto}.drawer.show{transform:translate(0)}.drawer-head{position:sticky;top:0;background:#fff;padding:13px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.drawer-body{padding:13px}.close{border:0;background:#f1f5f9;border-radius:8px;width:32px;height:32px}.toast{position:fixed;right:15px;bottom:15px;background:#0f172a;color:#fff;padding:10px 12px;border-radius:9px;opacity:0;transform:translateY(12px);transition:.2s;z-index:999}.toast.show{opacity:1;transform:none}.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.doc{border:1px solid var(--line);border-radius:12px;padding:11px}.doc b{font-size:10px}.doc small{display:block;color:var(--muted);font-size:9px;margin:4px 0}.employee-img{width:42px;height:42px;object-fit:cover;border-radius:11px;background:#e2e8f0}.profile-img{width:125px;height:125px;border-radius:28px;object-fit:cover;background:#e2e8f0;border:5px solid #eff6ff}.id-card{width:330px;background:#fff;border:1px solid #bfdbfe;border-radius:20px;overflow:hidden;box-shadow:0 16px 45px #0f172a29}.id-top{background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;padding:17px;text-align:center}.id-body{text-align:center;padding:15px}.id-body .profile-img{margin-top:-55px;border-color:#fff}.id-info{display:grid;grid-template-columns:1fr 1fr;gap:7px;text-align:left;margin-top:12px}.id-info div{background:#f8fafc;padding:8px;border-radius:9px}.id-info small{display:block;color:#64748b;font-size:8px}.id-info b{font-size:9px}.health{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#dcfce7;color:#166534;border:1px solid #bbf7d0;font-size:9px;font-weight:900}.health i{width:8px;height:8px;background:#16a34a;border-radius:50%;display:block}.master-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.master{border:1px solid var(--line);border-radius:12px;padding:11px;background:var(--card);cursor:pointer}.master b{font-size:10px}.master small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.approvals{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.approval{border:1px solid var(--line);border-radius:12px;padding:11px}.audit{border-left:3px solid #93c5fd;padding:8px 10px;background:var(--card2);font-size:9px;margin-bottom:7px}.v8-section{margin-bottom:12px}.v8-titlebar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.v8-titlebar h3{margin:0;font-size:14px}.v8-sub{color:var(--muted);font-size:9px;line-height:1.5}.v8-table-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px;border-bottom:1px solid var(--line);background:var(--card2)}.v8-mini{padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.v8-mini small{display:block;color:var(--muted);font-size:8px}.v8-mini b{display:block;font-size:13px;margin-top:4px}.v8-table-toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:10px;border-bottom:1px solid var(--line)}.v8-table-toolbar input,.v8-table-toolbar select{border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);padding:7px 9px;font-size:10px}.v8-spacer{flex:1}.v8-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.v8-sort:hover{text-decoration:underline}.v8-checkbox{width:15px;height:15px}.v8-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;color:var(--muted);font-size:9px}.v8-pager .pages{display:flex;gap:5px;align-items:center}.v8-page{border:1px solid var(--line);background:var(--card);border-radius:7px;padding:6px 8px;font-size:9px}.v8-page.active{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.v8-graph-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:12px}.v8-graph-card{min-width:0}.v8-chart{height:270px}.v8-chart canvas{width:100%;height:100%}.v8-ai-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v8-ai-card{border:1px solid var(--line);border-radius:13px;padding:12px;background:var(--card)}.v8-ai-card .tag{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:850;background:#e0e7ff;color:#3730a3}.v8-ai-card h4{font-size:11px;margin:8px 0 5px}.v8-ai-card p{font-size:9px;line-height:1.55;color:var(--muted);margin:0}.v8-ai-score{font-size:24px;font-weight:900;margin-top:6px}.v8-confidence{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-top:8px}.v8-confidence i{display:block;height:100%;background:#2563eb}.v8-ai-prompt{display:grid;grid-template-columns:1fr auto;gap:7px}.v8-ai-prompt input{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--card);color:var(--text)}.v8-ai-response{margin-top:9px;padding:11px;border-radius:11px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;font-size:10px;line-height:1.6}.v8-ai-response strong{display:block;margin-bottom:4px}.v8-risk{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.v8-risk div{min-height:48px;border-radius:8px;padding:6px;font-size:8px;font-weight:800;display:flex;align-items:flex-end}.v8-r1{background:#dcfce7;color:#166534}.v8-r2{background:#fef9c3;color:#854d0e}.v8-r3{background:#fed7aa;color:#9a3412}.v8-r4{background:#fecaca;color:#991b1b}.v8-r5{background:#fca5a5;color:#7f1d1d}.v8-automation{display:flex;flex-direction:column;gap:8px}.v8-rule{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:10px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.v8-rule b{font-size:10px}.v8-rule small{display:block;color:var(--muted);font-size:8px;margin-top:3px;line-height:1.5}.v8-quality{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.v8-quality .card{padding:12px}.v8-quality small{color:var(--muted);font-size:8px}.v8-quality b{display:block;font-size:19px;margin-top:5px}.v8-data-bar{height:9px;background:#e2e8f0;border-radius:999px;overflow:hidden}.v8-data-bar span{display:block;height:100%;background:#16a34a}.v8-dash-hero{background:linear-gradient(135deg,#071426,#1e3a8a 65%,#0369a1);color:#fff;border-radius:17px;padding:17px;margin-bottom:12px;display:grid;grid-template-columns:1.3fr .7fr;gap:12px}.v8-dash-hero h2{margin:5px 0;font-size:22px}.v8-dash-hero p{font-size:10px;color:#bfdbfe;line-height:1.6;margin:0}.v8-health{display:grid;grid-template-columns:1fr 1fr;gap:7px}.v8-health div{background:#ffffff14;border:1px solid rgba(255,255,255,.12);padding:9px;border-radius:10px}.v8-health small{display:block;color:#bfdbfe;font-size:8px}.v8-health b{font-size:13px}.v8-finding-table td{white-space:normal;min-width:120px}.v8-badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800;background:#eff6ff;color:#1d4ed8}.v8-badge.high{background:#fee2e2;color:#991b1b}.v8-badge.medium{background:#fef3c7;color:#92400e}.v8-badge.low{background:#dcfce7;color:#166534}.v8-green{border:1px solid #86efac;background:#f0fdf4;color:#166534;border-radius:11px;padding:9px 11px;font-size:9px;line-height:1.5}.v8-green b{font-size:10px}@media (max-width: 1150px){.v8-ai-grid{grid-template-columns:repeat(2,1fr)}.v8-quality,.v8-table-summary{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.v8-graph-grid,.v8-dash-hero{grid-template-columns:1fr}.v8-quality,.v8-table-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.v8-ai-grid,.v8-quality,.v8-table-summary,.v8-rule{grid-template-columns:1fr}.v8-table-toolbar{align-items:stretch}.v8-table-toolbar input,.v8-table-toolbar select{width:100%}.v8-spacer{display:none}}.user-role{display:block;color:var(--muted)}.menu-empty{color:#94a3b8;font-size:11px;padding:9px;margin:0}.modal-sub{font-size:9px;color:var(--muted)}a.menu-item{display:inline-block;text-decoration:none}.menu-head{width:100%;border:0;background:transparent;font-family:inherit;text-align:left}.top select:disabled,.global input:disabled,.icon:disabled{cursor:not-allowed}.top select:disabled{color:var(--text);opacity:1}.global input:disabled{color:var(--text)}.icon:disabled{opacity:1}.health.warn{background:#fef3c7;color:#92400e;border-color:#fde68a}.health.warn i{background:#d97706}.health.bad{background:#fee2e2;color:#991b1b;border-color:#fecaca}.health.bad i{background:#dc2626}.health.checking{background:#f1f5f9;color:#475569;border-color:var(--line)}.health.checking i{background:#94a3b8}.user{text-align:left;color:var(--text)}.modal.sm{width:min(520px,96vw)}.form-grid.one{grid-template-columns:1fr}.empty-row td{text-align:center;color:var(--muted);padding:22px}.card-404{max-width:560px;margin:40px auto;text-align:center}.card-404 h1{margin:0 0 8px;font-size:23px}.card-404 p{color:var(--muted);font-size:11px;margin:0 0 14px}.drawer-profile{display:flex;gap:12px;align-items:center;margin-bottom:12px}.drawer-profile .avatar{width:48px;height:48px;border-radius:12px;font-size:16px}.drawer-profile small{display:block;color:var(--muted);font-size:10px}.drawer-section{margin-top:14px}.drawer-section h3{margin:0 0 9px;font-size:13px}.drawer-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}.drawer-actions .btn{width:100%;padding:10px}.actions .btn.sm{padding:6px 9px}@media (max-width: 1000px){.login{grid-template-columns:1fr}.login-left{min-height:310px;padding:30px 22px}.app{grid-template-columns:1fr;grid-template-areas:"top" "main"}.sidebar{position:fixed;left:0;top:0;bottom:0;width:304px;z-index:700;transform:translate(-105%);transition:.2s}.sidebar.show{transform:none}.kpis{grid-template-columns:1fr 1fr}.grid2,.grid3{grid-template-columns:1fr}.form-grid,.detail-grid,.doc-grid,.master-grid,.approvals,.planning{grid-template-columns:1fr 1fr}.hide-mobile{display:none}}@media (max-width: 600px){.features,.quick-depts,.kpis,.form-grid,.detail-grid,.doc-grid,.master-grid,.approvals,.planning{grid-template-columns:1fr}.login-right{padding:12px}.main{padding:11px}.page-head{flex-direction:column}.user span{display:none}.recordbar{align-items:stretch}.recordbar select{min-width:0;width:100%}}@media (max-width: 600px){.user span.avatar{display:grid}}@media (max-width: 1000px){.login{grid-template-rows:auto auto;align-content:start}.login-left{min-height:auto;gap:18px}}.v9-subtabs{display:flex;gap:6px;overflow:auto;margin-bottom:10px}.v9-subtab{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 9px;font-size:9px;font-weight:800;white-space:nowrap}.v9-subtab.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.v92-payslip-preview{background:#fff;color:#172033;border:1px solid #dbe2ea;border-radius:15px;overflow:hidden;box-shadow:var(--shadow)}.v92-payslip-preview .ph{padding:15px 18px;border-bottom:3px solid #1d4ed8}.v92-payslip-preview .ph h2{margin:0}.v92-payslip-preview .ph small{color:#64748b}.v92-payslip-preview .emp{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:12px 18px;background:#f8fafc}.v92-payslip-preview .emp div{font-size:9px}.v92-payslip-preview .emp b{display:block;font-size:10px;margin-top:2px}.v92-payslip-preview .body{padding:14px 18px}.v92-payslip-preview table{min-width:0}.v92-payslip-preview .net{display:flex;justify-content:space-between;gap:15px;padding:12px 18px;background:#eff6ff;border-top:1px solid #bfdbfe}.v92-payslip-preview .net b{font-size:18px}button.master{display:block;width:100%;text-align:left;font:inherit;color:inherit}button.master:disabled{cursor:not-allowed;opacity:.6}button.master:not(:disabled):hover{box-shadow:var(--shadow)}button.master{position:relative;display:flex;flex-direction:column;justify-content:flex-start}.master-inner{display:block}.master-badge{position:absolute;top:9px;right:9px}.perm-locked td{color:var(--muted)}.perm-focus td{background:#eff6ff}.perm-overrides{margin-top:14px}.perm-family{margin-bottom:9px;overflow:hidden}.perm-family-head{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:var(--card);padding:11px 14px;font-size:12px;font-weight:800;color:var(--text);text-align:left}.perm-family-head:hover{background:var(--card2)}.perm-family-foot{display:flex;justify-content:flex-end;gap:7px;padding:10px;border-top:1px solid var(--line)}.perm-grid{min-width:700px}.perm-grid td,.perm-grid th{text-align:center}.perm-grid td:first-child,.perm-grid th:first-child{text-align:left}.perm-cell{width:30px;height:24px;border-radius:7px;border:1px solid var(--line);background:#f1f5f9;color:#94a3b8;font-size:11px;font-weight:800;padding:0}.perm-cell.allow,.perm-cell.deny{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.perm-cell.deny{color:#991b1b}.perm-cell:disabled{cursor:not-allowed;opacity:.6}.access-hint{margin:0 0 9px}.access-matrix th,.access-matrix td{text-align:center;padding:7px 6px}.access-matrix th:first-child,.access-matrix tbody th{text-align:left;position:sticky;left:0;background:#f8fafc;z-index:3}.access-matrix tbody th{background:var(--card);font-weight:700;text-transform:none;color:var(--text)}.access-head{display:inline-block;max-width:74px;white-space:normal;line-height:1.3;font-size:9px}.audit-date{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;color:#475569}.audit-meta{grid-template-columns:1fr 1fr}.audit-kv{margin:0;display:grid;gap:6px}.audit-kv div{display:grid;grid-template-columns:120px 1fr;gap:8px;font-size:10px;border-bottom:1px solid var(--line);padding:5px 0}.audit-kv dt{color:var(--muted);font-weight:700}.audit-kv dd{margin:0;word-break:break-word}.audit-changes{min-width:0}.audit-changes td{white-space:normal;word-break:break-word}.audit-changes tr.changed td{background:#fef9c3}.letterhead-actions{margin-top:2px}.letterhead-preview-wrap{margin-top:14px}.letterhead-preview .lh-line{display:block;margin-top:3px;font-size:10px}.letterhead-preview .lh-ids{font-weight:700;color:#334155}.letterhead-preview .net{font-size:10px;align-items:flex-end}.letterhead-preview .net .lh-sign{font-size:12px}a.btn{display:inline-block;text-decoration:none}.confirm-text{margin:0;font-size:12px;line-height:1.6}.restoring{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-size:12px}.msg.show.msg-with-action{display:flex;align-items:center;justify-content:space-between;gap:9px}.row-dirty td{background:#fffbeb}.perm-note{display:block;margin-top:4px;color:#92400e;font-size:9px;white-space:normal;max-width:130px}.user-picker{position:relative;display:inline-block}.user-picker-list{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:240px;max-height:240px;overflow:auto;margin:0;padding:4px;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.user-picker-list li{padding:7px 8px;border-radius:7px;font-size:10px;cursor:pointer}.user-picker-list li.active{background:#dbeafe;color:#1d4ed8}.user-picker-list .user-picker-empty{color:var(--muted);cursor:default}.user-chip{align-items:center;gap:6px}.chip-clear{border:0;background:transparent;color:inherit;font-size:9px;padding:0 2px}.v8-dash-hero p.hero-context{margin-top:3px;color:#fff;font-weight:800}fieldset.field{border:0;padding:0;margin:0 0 10px;min-width:0}fieldset.field legend,.field .field-label{padding:0;margin-bottom:5px;font-size:10px;font-weight:800;color:#475569}.unit-check-list{display:flex;flex-wrap:wrap;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}fieldset.field[aria-invalid=true] .unit-check-list{border-color:#dc2626}.unit-check{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--text)}.field .unit-check input{padding:0;border-radius:3px}.v8-minis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:10px}.drawer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.drawer-grid .v8-mini b{font-size:11px;overflow-wrap:anywhere}.drawer-meta{margin:10px 0}.field.field-wide{grid-column:1 / -1}.field label.is-required:after{content:" *";color:#dc2626}.input-affix{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.input-affix span{padding:0 9px;color:var(--muted);font-weight:800}.field .input-affix input{border:0;flex:1;min-width:0;border-radius:0}.field input:disabled{background:var(--card2);color:var(--muted)}.field textarea{border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit}.field.lookup{position:relative}.lookup-list{top:100%;width:100%}.toast.toast-action{bottom:62px;pointer-events:auto;display:flex;gap:10px;align-items:center;z-index:1000}.toast-undo{border:0;background:transparent;color:#93c5fd;font-weight:800;text-decoration:underline;padding:0}.table-title{margin:0;padding:11px 12px 0;font-size:12px}.quality-bar{display:inline-block;width:120px;height:8px;border-radius:99px;background:#e2e8f0;vertical-align:middle;overflow:hidden}.quality-bar span{display:block;height:100%;background:#2563eb}.timeline{list-style:none;margin:0;padding:12px 14px;display:grid;gap:8px;font-size:11px}.timeline li{border-left:3px solid #93c5fd;padding-left:10px}.report-note{margin:8px 12px}.v8-sort{background:transparent;border:0;padding:0;font:inherit;color:inherit;text-transform:inherit;font-weight:inherit}@media (max-width: 900px){.v8-minis,.drawer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.sidebar,.top,.tabs,.page-head .actions,.recordbar,.v8-table-toolbar,.v8-pager,.toast,.drawer,.modal-bg,.no-print,.context{display:none!important}.app{display:block}.main{padding:0;overflow:visible}.table-wrap{max-height:none;overflow:visible}table{min-width:0}}.row-actions{flex-wrap:nowrap;white-space:nowrap}.register-table td{white-space:normal}.register-table th:first-child,.register-table td:first-child{width:34px;min-width:34px}.register-table .row-actions .btn.sm{min-width:28px;padding:5px 7px;font-size:11px}.register-table .row-actions{gap:4px}@media (min-width: 1001px){.register-table th:first-child,.register-table td:first-child{position:sticky;left:0;z-index:3;background:var(--card)}.register-table th:nth-child(2),.register-table td:nth-child(2){position:sticky;left:34px;z-index:3;background:var(--card);white-space:nowrap;box-shadow:6px 0 8px -6px #0f172a2e}.register-table th:first-child,.register-table th:nth-child(2),.register-table th.sticky-actions{background:#f8fafc;z-index:4}.register-table .sticky-actions{position:sticky;right:0;z-index:3;background:var(--card);box-shadow:-6px 0 8px -6px #0f172a2e}.register-table th.sticky-actions{background:#f8fafc}}.status.posted,.status.received,.status.ok{background:#dcfce7;color:#166534}.status.dispatched,.status.in-transit{background:#dbeafe;color:#1d4ed8}.status.below-reorder{background:#fee2e2;color:#991b1b}tr.row-low td{background:#fff1f2}.register-table tr.row-low td:first-child,.register-table tr.row-low td:nth-child(2),.register-table tr.row-low .sticky-actions{background:#fff1f2}.totals-bar{display:flex;flex-wrap:wrap;gap:18px;justify-content:flex-end;padding:10px 14px;border-top:2px solid var(--line);background:var(--card2)}.totals-bar small{display:block;color:var(--muted);font-size:9px}.totals-bar b{font-size:13px}.filter-check{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700}.seg{display:inline-flex;margin:10px 10px 0;border:1px solid var(--line);border-radius:9px;overflow:hidden}.seg-btn{border:0;background:#fff;padding:7px 14px;font-size:10px;font-weight:800;color:#475569}.seg-btn+.seg-btn{border-left:1px solid var(--line)}.seg-btn.active{background:#dbeafe;color:#1d4ed8}.ref-chip{align-self:flex-start;font-size:11px;padding:7px 10px}
