:root{--accent:#4f46e5;--accent-dark:#4338ca;--accent-light:#eef2ff;--accent-text:#4338ca;--brand-navy:#2b2f77;--bg:#f5f6fb;--surface:#fff;--border:#e7e8f0;--text:#111827;--text-muted:#6b7280;--text-faint:#9ca3af;--success:#16a34a;--success-bg:#dcfce7;--warning:#d97706;--warning-bg:#fef3c7;--danger:#dc2626;--danger-bg:#fee2e2;--info:#0891b2;--info-bg:#cffafe;--radius-lg:16px;--radius-md:10px;--radius-sm:8px;--shadow-sm:0 1px 2px #1018280d;--shadow-md:0 2px 8px #1018280f, 0 1px 2px #1018280a;--shadow-lg:0 8px 24px #1018281a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--accent:#818cf8;--accent-dark:#a5b4fc;--accent-light:#2a2d5c;--accent-text:#c7d2fe;--brand-navy:#a5b4fc;--bg:#12131a;--surface:#1b1d27;--border:#2e3140;--text:#e5e7eb;--text-muted:#9aa1b2;--text-faint:#6b7280;--success:#34d399;--success-bg:#0f3d2c;--warning:#fbbf24;--warning-bg:#4a3410;--danger:#f87171;--danger-bg:#4a1616;--info:#22d3ee;--info-bg:#123c46;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 8px #00000059, 0 1px 2px #00000040;--shadow-lg:0 8px 28px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] .table>thead{background:#20222e}:root[data-theme=dark] .btn-outline-secondary:hover{color:var(--text);background-color:#262936}html,body{background:var(--bg);color:var(--text);font-family:Segoe UI,Helvetica Neue,Helvetica,Arial,sans-serif}a,.btn-link{color:var(--accent)}h1,h2,h3,h4,h5,h6{color:var(--text);font-weight:600}.content{padding-top:1.5rem;padding-bottom:2rem}.btn{border-radius:var(--radius-sm);font-weight:500;transition:transform 80ms,box-shadow .15s,background-color .15s,border-color .15s}.btn:hover{transform:translateY(-1px)}.btn:active{transition-duration:50ms;transform:translateY(0)scale(.97)}.btn-primary{color:#fff;background-color:var(--accent);border-color:var(--accent)}.btn-primary:hover,.btn-primary:focus{background-color:var(--accent-dark);border-color:var(--accent-dark);box-shadow:var(--shadow-md)}.btn-secondary{color:#fff;background-color:#475569;border-color:#475569}.btn-secondary:hover{background-color:#334155;border-color:#334155}.btn-outline-secondary{color:var(--text-muted);border-color:var(--border);background:var(--surface)}.btn-outline-secondary:hover{color:var(--text);background-color:#f3f4f6;border-color:#d1d5db}.btn-outline-danger{color:var(--danger);background:var(--surface);border-color:#fecaca}.btn-outline-danger:hover{color:#fff;background-color:var(--danger);border-color:var(--danger)}.btn:focus,.btn:active:focus,.btn-link.nav-link:focus,.form-control:focus,.form-check-input:focus,.form-select:focus{box-shadow:0 0 0 .2rem var(--accent-light)}.surface-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem 1.5rem;transition:box-shadow .15s,transform .15s}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card .stat-value{color:var(--text);font-size:1.9rem;font-weight:700;line-height:1.1}.stat-card .stat-label{color:var(--text-muted);margin-top:.25rem;font-size:.85rem}.stat-card .stat-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;display:flex}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.table-card .table{margin-bottom:0}.table>thead{background:#fafafe}.table>thead>tr>th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:.85rem 1rem;font-size:.78rem;font-weight:600}.table>tbody>tr>td{vertical-align:middle;border-bottom:1px solid var(--border);color:var(--text);padding:.75rem 1rem}.table>tbody>tr:last-child>td{border-bottom:none}.table-hover>tbody>tr:hover>td{background-color:var(--accent-light)}.chip{white-space:nowrap;border-radius:999px;align-items:center;padding:.2rem .65rem;font-size:.78rem;font-weight:600;transition:transform .12s;display:inline-flex}.chip-indigo{color:#4338ca;background:#eef2ff}.chip-emerald{color:#047857;background:#d1fae5}.chip-amber{color:#b45309;background:#fef3c7}.chip-rose{color:#be123c;background:#ffe4e6}.chip-cyan{color:#0e7490;background:#cffafe}.chip-violet{color:#6d28d9;background:#ede9fe}.chip-slate{color:#475569;background:#f1f5f9}.avatar-circle{background:var(--accent-light);width:38px;height:38px;color:var(--accent-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;transition:transform .15s;display:inline-flex}tr:hover .avatar-circle{transform:scale(1.08)}.form-control,.form-select{border-radius:var(--radius-sm);border-color:var(--border)}.form-control:focus,.form-select:focus{border-color:var(--accent)}.form-label{color:var(--text);font-size:.88rem;font-weight:500}.modal-content{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:none;animation:.16s ease-out modal-pop}.modal.d-block{animation:.16s ease-out modal-backdrop-fade}@keyframes modal-backdrop-fade{0%{background-color:#0000}to{background-color:#0006}}@keyframes modal-pop{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{border-bottom:1px solid var(--border);padding:1.1rem 1.5rem}.modal-body{padding:1.25rem 1.5rem}.modal-footer{border-top:1px solid var(--border);padding:1rem 1.5rem}.alert{border-radius:var(--radius-md);border:none}.page-header{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.page-header h1{margin:0;font-size:1.6rem}.page-subtitle{color:var(--text-muted);margin-top:.15rem;font-size:.92rem}.content{animation:.2s ease-out content-fade-in}@keyframes content-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.theme-toggle{border:1px solid var(--border);cursor:pointer;width:34px;height:34px;color:var(--text-muted);background:0 0;border-radius:999px;justify-content:center;align-items:center;transition:background-color .15s,color .15s,transform .15s;display:inline-flex}.theme-toggle:hover{background-color:var(--accent-light);color:var(--accent-text);transform:rotate(-12deg)}#toast-container{z-index:2000;pointer-events:none;flex-direction:column;gap:.6rem;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.app-toast{pointer-events:auto;border-radius:var(--radius-md);min-width:240px;max-width:360px;box-shadow:var(--shadow-lg);color:#fff;background:var(--text);opacity:0;padding:.7rem 1rem;font-size:.9rem;font-weight:500;transition:opacity .2s,transform .2s;transform:translateY(8px)}.app-toast-in{opacity:1;transform:translateY(0)}.app-toast-out{opacity:0;transform:translateY(8px)}.app-toast-success{background:var(--success)}.app-toast-danger{background:var(--danger)}.app-toast-info{background:var(--info)}.app-toast-warning{background:var(--warning)}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1.5rem}.empty-state .empty-icon{color:var(--text-faint);margin-bottom:.75rem;font-size:2.2rem}.page{flex-direction:column;min-height:100vh;display:flex;position:relative}main{background:var(--bg);flex:1}.sidebar{background:var(--surface);border-right:1px solid var(--border)}.top-row{background-color:var(--surface);border-bottom:1px solid var(--border);justify-content:flex-end;align-items:center;height:3.5rem;display:flex}.top-row a,.top-row .btn-link{white-space:nowrap;color:var(--text-muted);margin-left:1.5rem;font-size:.85rem;text-decoration:none}.top-row a:hover,.top-row .btn-link:hover{color:var(--accent)}@media (max-width:640.98px){.top-row{justify-content:space-between}.top-row a,.top-row .btn-link{margin-left:0}}@media (min-width:641px){.page{flex-direction:row}.sidebar{width:250px;height:100vh;position:sticky;top:0}.top-row{z-index:1;position:sticky;top:0}.top-row,article{padding-left:2rem!important;padding-right:1.5rem!important}}.sidebar-top-row{background-color:var(--surface);border-bottom:1px solid var(--border);align-items:center;min-height:3.75rem;display:flex}.navbar-toggler{appearance:none;cursor:pointer;width:3.5rem;height:2.5rem;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2879, 70, 229, 0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem var(--surface);position:absolute;top:.5rem;right:1rem}.navbar-toggler:checked{background-color:var(--accent-light)}.navbar-brand{color:var(--text);align-items:center;gap:.55rem;font-size:1.05rem;font-weight:700;text-decoration:none;display:flex}.brand-text{flex-direction:column;line-height:1.1;display:flex}.brand-logo{align-self:flex-start;width:auto;height:30px}.brand-tagline{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.58rem;font-weight:600}.nav-icon{vertical-align:-3px;flex-shrink:0;width:1.15rem;height:1.15rem;margin-right:.7rem;display:inline-block}.nav-item{padding-bottom:.35rem;font-size:.92rem}.nav-item:first-of-type{padding-top:1rem}.nav-item:last-of-type{padding-bottom:1rem}.nav-item .nav-link{color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;width:100%;height:2.6rem;font-weight:500;line-height:2.6rem;transition:background-color .12s,color .12s,transform .12s;display:flex}.nav-item a.active{background-color:var(--accent-light);color:var(--accent-text);font-weight:600}.nav-item .nav-link:hover{color:var(--text);background-color:#f4f4f9;transform:translate(2px)}:root[data-theme=dark] .nav-item .nav-link:hover{background-color:#262936}.nav-item a.active:hover{background-color:var(--accent-light);color:var(--accent-text)}.nav-scrollable{background:var(--surface);display:none}.navbar-toggler:checked~.nav-scrollable{display:block}@media (min-width:641px){.navbar-toggler{display:none}.nav-scrollable{height:calc(100vh - 3.75rem);display:block;overflow-y:auto}}.quick-link{border-radius:var(--radius-md);color:var(--text);align-items:center;gap:.85rem;padding:.65rem .75rem;text-decoration:none;transition:background-color .12s;display:flex}.quick-link:hover{background-color:var(--bg)}.availability-bar{background-color:var(--bg);border-radius:999px;width:100%;height:10px;display:flex;overflow:hidden}.availability-segment{height:100%;transition:width .2s}.legend-dot{border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.activity-chart{width:100%;height:180px;overflow:visible}.activity-baseline{stroke:var(--border);stroke-width:1px}.activity-bar{transition:opacity .15s}.activity-bar:hover{opacity:.7}.activity-bar-in{fill:var(--success)}.activity-bar-out{fill:var(--warning)}.activity-axis-label{fill:var(--text-muted);font-size:9px}.category-card{transition:box-shadow .15s,transform .15s}.category-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.category-chip{padding:.35rem .9rem;font-size:.95rem}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:360px;box-shadow:var(--shadow-sm);padding:1.5rem}.auth-brand{flex-direction:column;align-items:center;margin-bottom:1.5rem;line-height:1.1;display:flex}.auth-brand-logo{width:auto;height:40px}.auth-brand-tagline{color:var(--text-muted);text-align:center;font-size:.7rem}@media print{@page{size:auto;margin:0}body{margin:0}.sidebar,.top-row{display:none!important}.page{display:block!important}main,.content{margin:0!important;padding:0!important}}.label-sheet{box-sizing:border-box;color:#000;background:#fff;border:1px solid #ccc;flex-direction:column;justify-content:space-between;align-items:center;padding:.6mm;font-family:Segoe UI,sans-serif;display:flex}.label-sheet>*{flex-shrink:0}.label-name{text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:4.55mm;font-weight:700;line-height:1.15;overflow:hidden}.label-footer{text-align:center;width:100%;font-size:3.85mm;line-height:1.15}.label-brand-row{justify-content:center;align-items:center;gap:.6mm;width:100%;display:flex}.label-brand-icon{flex-shrink:0;width:2mm;height:2mm}.label-brand-text{color:#444;white-space:nowrap;letter-spacing:.01em;font-size:1.8mm;font-weight:600;line-height:1.15}
