:root{--canvas: #faf5e4;--paper: #f6f4ee;--surface: #ffffff;--surface-warm: #fffbea;--ink: #1e1a12;--ink-soft: #6f6857;--ink-faint: #a69f8c;--line: #ece4cc;--saffron-500: #f6be00;--saffron-200: #ffe08a;--saffron-100: #fff3c4;--honey-700: #8a5a00;--espresso-900: #241d12;--on-saffron: #1a1508;--success-tint: #e2f0e7;--basil-900: var(--espresso-900);--basil-700: var(--honey-700);--basil-100: var(--saffron-100);--amber-500: var(--saffron-500);--amber-100: var(--saffron-200);--cream: #faf5e4;--ember-500: #e4572e;--ember-100: #fce4db;--success: #2e7d4f;--error: #c6362b;--info: #2b6cb0;--sh-card: 0 2px 12px rgba(29, 27, 22, .06);--sh-raised: 0 8px 28px rgba(29, 27, 22, .14)}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}body{background:var(--paper);color:var(--ink);font-family:Plus Jakarta Sans,-apple-system,Segoe UI,sans-serif;font-size:13.5px}button{font:inherit;border:none;background:none;cursor:pointer;color:inherit}input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}.ascreen{min-height:100vh;display:flex;align-items:stretch}.aside{width:240px;flex:none;background:var(--basil-900);color:var(--cream);display:flex;flex-direction:column;padding:18px 14px 20px;position:sticky;top:0;height:100vh;overflow-y:auto}.abrand{display:flex;align-items:center;gap:10px;padding:4px 10px 16px;border-bottom:1px solid rgba(247,242,232,.12);margin-bottom:8px}.abrand .bx{width:46px;height:auto;flex:none}.abrand .nm{font-size:16px;font-weight:800}.abrand .sub{font-size:10px;font-weight:800;color:var(--amber-500);letter-spacing:.8px;text-transform:uppercase}.ngroup{font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#f7f2e866;padding:14px 10px 6px}.nitem{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;font-size:13px;font-weight:600;color:#f7f2e8b8;width:100%;text-align:left}.nitem:hover:not(.dis){background:#f7f2e814}.nitem.on{background:#f7f2e821;color:#fff}.nitem.on:before{content:"";width:3px;height:16px;border-radius:99px;background:var(--amber-500);margin-left:-10px;margin-right:7px}.nitem.dis{color:#f7f2e852;cursor:default}.nbadge{margin-left:auto;background:var(--amber-500);color:#161310;font-size:10px;font-weight:800;border-radius:99px;padding:2px 7px}.nsoon{margin-left:auto;font-size:9px;font-weight:800;letter-spacing:.5px;color:#f7f2e859;border:1px solid rgba(247,242,232,.2);border-radius:99px;padding:1px 6px}.amain{flex:1;min-width:0;display:flex;flex-direction:column}.atop{height:60px;flex:none;display:flex;align-items:center;gap:14px;padding:0 28px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.acrumb{font-size:13px;font-weight:700;color:var(--ink-soft)}.asearch{display:flex;align-items:center;gap:9px;height:38px;width:340px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:0 13px;font-size:13px;color:var(--ink-faint);font-weight:600;white-space:nowrap;margin-left:auto}.kbd{margin-left:auto;font-size:10.5px;font-weight:700;color:var(--ink-faint);border:1px solid var(--line);border-radius:5px;padding:1px 5px;background:var(--surface)}.envchip{font-size:11px;font-weight:800;color:var(--success);background:#e7f2ea;border-radius:99px;padding:4px 10px}.ava{width:30px;height:30px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px;flex:none}.iconbtn{width:42px;height:42px;border-radius:999px;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;flex:none}.dot{position:absolute;top:9px;right:9px;width:9px;height:9px;border-radius:99px;background:var(--ember-500);border:2px solid var(--surface)}.apage{padding:22px 28px 30px;display:flex;flex-direction:column;gap:16px;max-width:1440px;width:100%}.aptitle{font-size:20px;font-weight:800;letter-spacing:-.2px}.apsub{font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-top:2px}.phead{display:flex;align-items:flex-start;gap:12px}.phead .sp{flex:1}.bsm{height:38px;padding:0 16px;border-radius:10px;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;white-space:nowrap}.bsm.pri{background:var(--basil-700);color:#fff}.bsm.amber{background:var(--amber-500);color:#161310}.bsm.ter{border:1.5px solid var(--line);color:var(--ink);background:var(--surface)}.bsm.danger{background:#f8e2e0;color:var(--error)}.bsm:disabled{opacity:.45;cursor:not-allowed}.fbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fchip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:9px;border:1px solid var(--line);background:var(--surface);font-size:12.5px;font-weight:700;color:var(--ink-soft)}.fchip.on{background:var(--basil-900);border-color:var(--basil-900);color:var(--cream)}.fsearch{height:34px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:0 12px;font-size:13px;font-weight:600;min-width:220px;color:var(--ink)}.fsearch::placeholder{color:var(--ink-faint)}.badge{display:inline-flex;align-items:center;border-radius:99px;padding:4px 9px;font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}.badge.green{background:var(--basil-100);color:var(--basil-700)}.badge.amber{background:var(--amber-100);color:#8a5c00}.badge.ember{background:var(--ember-100);color:var(--ember-500)}.badge.gray{background:#efece3;color:var(--ink-soft)}.badge.red{background:#f8e2e0;color:var(--error)}.badge.info{background:#e3edf7;color:var(--info)}.badge.success{background:#e2f0e7;color:var(--success)}.kpirow{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;min-width:0}.kpi .l{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-soft)}.kpi .n{font-size:22px;font-weight:800;letter-spacing:-.3px;margin-top:6px;font-variant-numeric:tabular-nums}.kpi .t{font-size:11px;font-weight:800;margin-top:4px;color:var(--success)}.kpi .t.dn{color:var(--ember-500)}.acard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}.acard .cht{font-size:13.5px;font-weight:800}.agrid{display:grid;gap:16px}.atable{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.atable .scroll{overflow-x:auto}.atable table{width:100%;border-collapse:collapse;font-size:13px}.atable th{text-align:left;font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-soft);padding:11px 14px;border-bottom:1px solid var(--line);background:var(--surface-warm);white-space:nowrap}.atable td{padding:11px 14px;border-bottom:1px solid var(--line);font-weight:600;vertical-align:middle;white-space:nowrap}.atable tbody tr:hover{background:var(--surface-warm);cursor:pointer}.atable tr:last-child td{border-bottom:none}.atable td.num,.atable th.num{font-variant-numeric:tabular-nums;text-align:right}.tfoot{display:flex;align-items:center;gap:14px;padding:10px 14px;font-size:12px;font-weight:600;color:var(--ink-soft);border-top:1px solid var(--line)}.pgbtn{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;background:var(--surface)}.pgbtn:disabled{opacity:.4;cursor:default}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.tab{padding:9px 14px;font-size:13px;font-weight:700;color:var(--ink-soft);border-bottom:2px solid transparent;margin-bottom:-1px}.tab.on{color:var(--ink);border-bottom-color:var(--basil-700)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d1b1666;z-index:40;display:flex;justify-content:flex-end}.overlay.center{align-items:center;justify-content:center}.drawer{width:440px;max-width:92vw;background:var(--surface);height:100%;overflow-y:auto;padding:22px 24px;display:flex;flex-direction:column;gap:14px}.modal{width:440px;max-width:92vw;background:var(--surface);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--sh-raised)}.modal h3{font-size:16px;font-weight:800}.modal textarea{border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-height:84px;font-size:13px;font-weight:600;resize:vertical}.field{background:var(--surface);border:1px solid var(--line);border-radius:12px;height:58px;padding:9px 16px;display:flex;flex-direction:column;justify-content:center;gap:2px}.field label{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-faint)}.field input{border:none;outline:none;padding:0;width:100%;font-size:15px;font-weight:600;background:transparent;color:var(--ink)}.field:focus-within{border:2px solid var(--basil-700);padding:8px 15px}.errline{color:var(--error);font-size:12.5px;font-weight:700}.empty{padding:40px;text-align:center;color:var(--ink-soft);font-weight:600}.timeline{display:flex;flex-direction:column;gap:0}.tl-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12.5px}.tl-item:last-child{border-bottom:none}.tl-dot{width:8px;height:8px;border-radius:99px;background:var(--basil-700);margin-top:5px;flex:none}.muted{color:var(--ink-soft);font-weight:600}.skeleton{background:linear-gradient(90deg,#efece3 25%,#f7f4ec,#efece3 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:10px}@keyframes shimmer{to{background-position:-200% 0}}.docviewer{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#efede6}.docviewer iframe,.docviewer img{width:100%;height:330px;border:none;display:block;object-fit:contain}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--basil-900)}.login-card{width:440px;max-width:92vw;background:var(--surface);border-radius:20px;padding:36px 36px 30px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--sh-raised)}
