.shell[data-v-42394883]{min-height:100vh}.side[data-v-42394883]{width:var(--sidebar);background:var(--ink);color:#cbd5e1;z-index:30;flex-direction:column;padding:18px 12px;transition:transform .2s;display:flex;position:fixed;inset:0 auto 0 0}.brand[data-v-42394883]{color:#fff;align-items:center;gap:10px;padding:0 8px 22px;font-size:1.05rem;font-weight:800;text-decoration:none;display:flex}.brand small[data-v-42394883]{color:#94a3b8;font-weight:500}nav[data-v-42394883]{flex-direction:column;flex:1;gap:2px;display:flex}nav a[data-v-42394883]{color:#cbd5e1;border-radius:9px;align-items:center;gap:12px;padding:10px 12px;font-size:.92rem;font-weight:500;text-decoration:none;display:flex}nav a[data-v-42394883]:hover{color:#fff;background:#ffffff0f}nav a.on[data-v-42394883]{background:var(--primary);color:#fff}.me[data-v-42394883]{border-top:1px solid #ffffff1a;align-items:center;gap:10px;padding:12px 8px 0;display:flex}.me img[data-v-42394883]{border-radius:50%;width:34px;height:34px}.who[data-v-42394883]{flex-direction:column;flex:1;min-width:0;font-size:.8rem;line-height:1.35;display:flex}.who strong[data-v-42394883]{color:#fff;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.who span[data-v-42394883]{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.me .btn-ghost[data-v-42394883]{color:#94a3b8}.me .btn-ghost[data-v-42394883]:hover{color:#fff;background:#ffffff14}.main[data-v-42394883]{margin-left:var(--sidebar);min-width:0}.content[data-v-42394883]{max-width:1280px;padding:28px 32px 64px}.topbar[data-v-42394883]{display:none}.backdrop[data-v-42394883]{z-index:20;background:#0f172a73;position:fixed;inset:0}@media (width<=900px){.side[data-v-42394883]{transform:translate(-100%)}.side.open[data-v-42394883]{transform:none}.main[data-v-42394883]{margin-left:0}.topbar[data-v-42394883]{border-bottom:1px solid var(--line);z-index:10;height:56px;color:var(--ink);background:#fff;align-items:center;gap:8px;padding:0 12px;display:flex;position:sticky;top:0}.menu[data-v-42394883]{color:var(--ink)}.content[data-v-42394883]{padding:20px 16px 48px}}@media print{.main[data-v-42394883]{margin-left:0}.content[data-v-42394883]{max-width:none;padding:0}}.kpis[data-v-4d875446]{margin-bottom:16px}.kpi[data-v-4d875446]{color:inherit;flex-direction:column;gap:4px;transition:border-color .15s,box-shadow .15s;display:flex;text-decoration:none!important}a.kpi[data-v-4d875446]:hover{box-shadow:var(--shadow);border-color:#bfdbfe}.kpi .label[data-v-4d875446]{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.78rem;font-weight:700}.kpi strong[data-v-4d875446]{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:800;line-height:1.25}.kpi strong.due[data-v-4d875446]{color:var(--danger)}.kpi .sub[data-v-4d875446]{color:var(--muted);font-size:.84rem}.grid-2>.card+.card[data-v-4d875446]{margin-top:0}.list[data-v-4d875446]{margin:0;padding:0;list-style:none}.list li[data-v-4d875446]{border-bottom:1px solid var(--line);cursor:pointer;border-radius:6px;justify-content:space-between;gap:12px;padding:10px 6px;display:flex}.list li[data-v-4d875446]:hover{background:var(--primary-soft)}.list li[data-v-4d875446]:last-child{border-bottom:0}.right[data-v-4d875446]{text-align:right}.compact td[data-v-4d875446]{padding:9px 6px}.chart[data-v-4d875446]{align-items:flex-end;gap:10px;height:200px;padding-top:8px;display:flex}.bar-col[data-v-4d875446]{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.bar-val[data-v-4d875446]{color:var(--muted);white-space:nowrap;height:16px;font-size:.7rem}.bar[data-v-4d875446]{background:var(--bg-soft);border-radius:6px;flex:1;align-items:flex-end;width:100%;max-width:48px;display:flex}.bar div[data-v-4d875446]{background:var(--primary);border-radius:6px;width:100%;min-height:2px;transition:height .3s}.bar-label[data-v-4d875446]{color:var(--muted);text-transform:capitalize;font-size:.78rem}:root{--primary:#1d4ed8;--primary-dark:#1e3a8a;--primary-soft:#eff6ff;--accent:#06b6d4;--ink:#0f172a;--text:#334155;--muted:#64748b;--line:#e2e8f0;--bg:#fff;--bg-soft:#f8fafc;--danger:#dc2626;--success:#16a34a;--radius:12px;--shadow:0 10px 30px -12px #0f172a2e;--sidebar:232px}*,:before,:after{box-sizing:border-box}body{color:var(--text);background:var(--bg-soft);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.55}h1,h2,h3,h4{color:var(--ink);margin:0 0 .6em;line-height:1.25}h1{letter-spacing:-.01em;font-size:1.55rem;font-weight:800}h2{font-size:1.15rem;font-weight:700}h3{font-size:1rem;font-weight:700}p{margin:0 0 1em}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}code{background:var(--bg-soft);border-radius:6px;padding:1px 6px;font-size:.9em}.muted{color:var(--muted)}.small{font-size:.85rem}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.nowrap{white-space:nowrap}.strong{color:var(--ink);font-weight:700}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-head h1{margin:0}.page-head p{color:var(--muted);margin:4px 0 0}.page-head .actions{flex-wrap:wrap;gap:8px;display:flex}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:22px}.card+.card{margin-top:16px}.grid>.card+.card{margin-top:0}.card h2{margin-bottom:14px}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:.9rem;font-weight:600;line-height:1.3;transition:background .15s,color .15s,border-color .15s;display:inline-flex;text-decoration:none!important}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-outline{border-color:var(--line);color:var(--ink);background:#fff}.btn-outline:hover{background:var(--bg-soft);border-color:#cbd5e1}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#15803d}.btn-danger{color:var(--danger);background:#fff;border-color:#fecaca}.btn-danger:hover{background:#fef2f2}.btn-ghost{color:var(--muted);background:0 0;padding:6px 8px}.btn-ghost:hover{color:var(--danger);background:#fef2f2}.btn-sm{padding:6px 11px;font-size:.82rem}.btn:disabled{opacity:.6;cursor:not-allowed}.field{flex-direction:column;gap:5px;min-width:0;margin-bottom:14px;display:flex}.field label{color:var(--ink);font-size:.82rem;font-weight:600}.input,.field input,.field textarea,.field select{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;width:100%;min-width:0;padding:9px 12px;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.input:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #1d4ed826}.field textarea{resize:vertical;min-height:80px}.check{color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:inline-flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar .input{flex:220px;width:auto;max-width:360px}.toolbar select.input{flex:0 190px}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px;font-size:.9rem}.table th{background:var(--bg-soft);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap;font-size:.74rem;font-weight:700}.table tbody tr:last-child td{border-bottom:0}.table tr.link{cursor:pointer}.table tr.link:hover td{background:var(--primary-soft)}.table th.num,.table td.num{text-align:right}.table tfoot td{background:var(--bg-soft);font-weight:700}.empty{text-align:center;color:var(--muted);padding:36px 16px}.pill{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-block}.pill.gray{color:#475569;background:#f1f5f9}.pill.blue{color:#1e40af;background:#dbeafe}.pill.amber{color:#92400e;background:#fef3c7}.pill.green{color:#166534;background:#dcfce7}.pill.red{color:#991b1b;background:#fee2e2}.pill.teal{color:#115e59;background:#ccfbf1}.alert{border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:.9rem}.alert-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.alert-info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.alert-warn{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.dl{grid-template-columns:140px 1fr;gap:8px 14px;margin:0;font-size:.92rem;display:grid}.dl dt{color:var(--muted)}.dl dd{color:var(--ink);overflow-wrap:anywhere;margin:0}.fade-enter-active,.fade-leave-active{transition:opacity .15s}.fade-enter-from,.fade-leave-to{opacity:0}@media print{body{background:#fff;font-size:12px}.no-print{display:none!important}}
