:root{--header-h: 56px;--bg:#0b1220;--panel:#111a2b;--text:#e6eefc;--muted:#8fa3c6;--accent:#3b82f6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Arial,sans-serif}.header{display:flex;gap:16px;align-items:center;padding:12px 16px;border-bottom:1px solid #1f2a44;background:linear-gradient(180deg,#0f172a,#0b1220)}.header h1{margin:0;font-size:16px}.sidebar{position:fixed;left:0;top:48px;bottom:0;width:220px;background:#0d1526;border-right:1px solid #1f2a44;padding:10px}.main{margin-left:220px}.nav a{display:block;color:var(--text);text-decoration:none;padding:8px;border-radius:8px;margin-bottom:6px}.nav a.active{background:#3b82f626;border:1px solid #3b82f6}.panel{border:1px solid #1f2a44;border-radius:14px;background:var(--panel);padding:12px;margin-bottom:6px;display:flex;flex-direction:column}.content-below-header{margin-top:var(--header-h, 56px)}.full-height-below-header{margin-top:var(--header-h, 56px);height:calc(100vh - var(--header-h, 50px))}input,select,button{background:#0b1220;border:1px solid #213056;color:var(--text);padding:8px 10px;border-radius:10px}label{font-size:12px;color:var(--muted)}.row{display:flex;gap:10px;flex-wrap:wrap}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7) brightness(1.4);cursor:pointer;opacity:.8}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1;filter:invert(.5) sepia(1) saturate(3) hue-rotate(190deg) brightness(1.2)}.app-header[data-v-d7e2e85b]{position:fixed;top:0;left:0;right:0;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg, #0b1220);border-bottom:1px solid rgba(255,255,255,.08);z-index:1000}.title[data-v-d7e2e85b]{margin:0;font-size:20px;font-weight:700}.center-area[data-v-d7e2e85b]{flex:1;display:flex;justify-content:center}.db-indicator[data-v-d7e2e85b]{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .15s;border:1px solid;-webkit-user-select:none;user-select:none}.db-indicator[data-v-d7e2e85b]:hover{opacity:.8}.db-prod[data-v-d7e2e85b]{background:#22c55e1f;color:#4ade80;border-color:#22c55e4d}.db-other[data-v-d7e2e85b]{background:#eab3081f;color:#fbbf24;border-color:#eab3084d}.wh-select[data-v-d7e2e85b]{display:flex;align-items:center;gap:8px}select[data-v-d7e2e85b]{min-width:280px}.toast-host[data-v-5e36d8ab]{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:100000;display:grid;gap:10px;pointer-events:none}.toast[data-v-5e36d8ab]{pointer-events:auto;width:min(92vw,420px);display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:12px 14px;border-radius:12px;position:relative;overflow:hidden;background:#111827e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--bd, #1f2937);box-shadow:0 10px 30px #00000080}.toast[data-v-5e36d8ab]:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent,#3b82f6)}.icon[data-v-5e36d8ab]{width:22px;height:22px;border-radius:999px;display:grid;place-items:center;font-weight:900;font-size:12px;color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,transparent)}@supports not (color-mix(in srgb,red,transparent)){.icon[data-v-5e36d8ab]{background:#ffffff0f}}.title[data-v-5e36d8ab]{font-weight:800;margin:0 0 2px}.msg[data-v-5e36d8ab]{opacity:.95}.close[data-v-5e36d8ab]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#cbd5e1;font-size:16px;line-height:1;cursor:pointer;padding:2px;margin-left:4px}.close[data-v-5e36d8ab]:hover{color:#fff}.bar[data-v-5e36d8ab]{position:absolute;left:0;bottom:0;height:3px;background:var(--accent);width:100%;opacity:.95;animation:toastbar-5e36d8ab var(--dur, 4s) linear forwards}@keyframes toastbar-5e36d8ab{0%{width:100%}to{width:0}}.toast.info[data-v-5e36d8ab]{--accent:#60a5fa;--bd:#1e3a8a}.toast.success[data-v-5e36d8ab]{--accent:#22c55e;--bd:#14532d}.toast.error[data-v-5e36d8ab]{--accent:#ef4444;--bd:#7f1d1d}.toast.warning[data-v-5e36d8ab]{--accent:#f59e0b;--bd:#7c520a}.toast-enter-from[data-v-5e36d8ab]{opacity:0;transform:translateY(-8px) scale(.98)}.toast-enter-to[data-v-5e36d8ab]{opacity:1;transform:translateY(0) scale(1)}.toast-enter-active[data-v-5e36d8ab]{transition:all .18s ease}.toast-leave-from[data-v-5e36d8ab]{opacity:1;transform:translateY(0) scale(1)}.toast-leave-to[data-v-5e36d8ab]{opacity:0;transform:translateY(-6px) scale(.98)}.toast-leave-active[data-v-5e36d8ab]{transition:all .16s ease}.confirm-overlay[data-v-9ab99a14]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100001;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px}.confirm-dialog[data-v-9ab99a14]{background:var(--panel, #111a2b);border:1px solid #1f2a44;border-radius:16px;box-shadow:0 20px 60px #000c;width:min(92vw,440px);max-width:100%;overflow:hidden}.confirm-header[data-v-9ab99a14]{display:flex;align-items:center;gap:12px;padding:20px 20px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.confirm-icon[data-v-9ab99a14]{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.confirm-icon svg[data-v-9ab99a14]{width:28px;height:28px}.type-danger .confirm-icon[data-v-9ab99a14]{background:#ef444426;color:#ef4444}.type-warning .confirm-icon[data-v-9ab99a14]{background:#f59e0b26;color:#f59e0b}.type-info .confirm-icon[data-v-9ab99a14]{background:#3b82f626;color:#3b82f6}.confirm-title[data-v-9ab99a14]{margin:0;font-size:18px;font-weight:700;color:var(--text, #e6eefc)}.confirm-body[data-v-9ab99a14]{padding:16px 20px}.confirm-message[data-v-9ab99a14]{margin:0;font-size:15px;line-height:1.6;color:#cbd5e1}.confirm-footer[data-v-9ab99a14]{display:flex;gap:10px;padding:16px 20px;background:#00000026;justify-content:flex-end}.btn[data-v-9ab99a14]{padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .15s ease;min-width:100px}.btn-cancel[data-v-9ab99a14]{background:transparent;color:#94a3b8;border:1px solid #334155}.btn-cancel[data-v-9ab99a14]:hover{background:#ffffff0d;border-color:#475569;color:#cbd5e1}.btn-confirm[data-v-9ab99a14]{color:#fff}.btn-danger[data-v-9ab99a14]{background:#ef4444}.btn-danger[data-v-9ab99a14]:hover{background:#dc2626}.btn-warning[data-v-9ab99a14]{background:#f59e0b}.btn-warning[data-v-9ab99a14]:hover{background:#d97706}.btn-info[data-v-9ab99a14]{background:#3b82f6}.btn-info[data-v-9ab99a14]:hover{background:#2563eb}.confirm-enter-from[data-v-9ab99a14]{opacity:0}.confirm-enter-from .confirm-dialog[data-v-9ab99a14]{transform:scale(.95) translateY(-20px)}.confirm-enter-to[data-v-9ab99a14]{opacity:1}.confirm-enter-to .confirm-dialog[data-v-9ab99a14]{transform:scale(1) translateY(0)}.confirm-enter-active[data-v-9ab99a14]{transition:opacity .2s ease}.confirm-enter-active .confirm-dialog[data-v-9ab99a14]{transition:transform .2s ease}.confirm-leave-from[data-v-9ab99a14]{opacity:1}.confirm-leave-to[data-v-9ab99a14]{opacity:0}.confirm-leave-active[data-v-9ab99a14]{transition:opacity .15s ease}.sidebar[data-v-1122f165]{position:sticky;margin-top:var(--header-h, 56px);z-index:40;background:#0f172a;color:#e5e7eb;border-right:1px solid #1f2937;transition:width .2s ease;display:flex;flex-direction:column;overflow:hidden}.sb-header[data-v-1122f165]{display:flex;align-items:center;gap:.5rem;padding:.75rem}.brand[data-v-1122f165]{font-weight:600;opacity:.9}.collapse-btn[data-v-1122f165]{background:transparent;color:#cbd5e1;border:1px solid #334155;width:32px;height:32px;border-radius:6px;cursor:pointer}.collapse-btn[data-v-1122f165]:hover{background:#111827}.sb-nav[data-v-1122f165]{overflow-y:auto;padding:.25rem .25rem .75rem}.sb-list[data-v-1122f165],.sb-sublist[data-v-1122f165]{list-style:none;margin:0;padding:0}.sb-item[data-v-1122f165]{margin:.125rem 0}.sb-link[data-v-1122f165]{display:flex;align-items:center;gap:.75rem;padding:.5rem .625rem;border-radius:8px;color:#cbd5e1;text-decoration:none}.sb-link[data-v-1122f165]:hover{background:#111827;color:#fff}.sb-link.active[data-v-1122f165]{background:#1f2937;color:#fff}.sb-icon[data-v-1122f165]{width:22px;text-align:center;opacity:.9}.sb-text[data-v-1122f165]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-parent-button[data-v-1122f165]{width:100%;text-align:left;background:transparent;border:none;cursor:pointer}.chev[data-v-1122f165]{margin-left:auto;opacity:.8}.sb-sublist[data-v-1122f165]{margin:.125rem 0 .25rem 2rem}.sb-sublink[data-v-1122f165]{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:6px;color:#cbd5e1;text-decoration:none}.sb-sublink[data-v-1122f165]:hover{background:#111827;color:#fff}.sb-sublink.active[data-v-1122f165]{background:#1f2937;color:#fff}.dot[data-v-1122f165]{width:10px;text-align:center;opacity:.7}.sb-separator[data-v-1122f165]{padding:6px 8px 2px;font-size:10px;font-weight:700;color:#4b6080;text-transform:uppercase;letter-spacing:.05em;cursor:default}.sb-sub-enter-active[data-v-1122f165],.sb-sub-leave-active[data-v-1122f165]{transition:all .15s ease}.sb-sub-enter-from[data-v-1122f165],.sb-sub-leave-to[data-v-1122f165]{opacity:0;transform:translateY(-4px)}.dock-toggle[data-v-1122f165]{position:fixed;left:10px;top:calc(var(--header-h) + 16px);z-index:60;width:36px;height:36px;border-radius:8px;background:#111827;color:#e5e7eb;border:1px solid #334155;cursor:pointer}.print-page{background:#fff;color:#000;min-height:100vh;font-family:Arial,Helvetica,sans-serif;font-size:11px}.print-toolbar{position:fixed;top:0;left:0;right:0;height:36px;background:#f0f0f0;border-bottom:1px solid #bbb;display:flex;align-items:center;gap:8px;padding:0 14px;z-index:9999}.print-toolbar button{padding:4px 14px;font-size:12px;font-family:Arial,sans-serif;border:1px solid #aaa;background:#fff;cursor:pointer;color:#000;border-radius:3px}.print-toolbar button:hover{background:#e4e4e4}.print-toolbar .btn-print{background:#1d4ed8;color:#fff;border-color:#1e40af;font-weight:600}.print-toolbar .btn-print:hover{background:#1e40af}.print-content{padding:46px 14mm 10mm}@media print{.no-print{display:none!important}.print-content{padding:0 10mm!important}@page{size:A4;margin:8mm 10mm}}.app-shell{display:flex;min-height:calc(100dvh - 56px)}.app-main{flex:1;min-width:0;padding:16px;background:#0b1020;color:#e5e7eb}
