:root{--bg: #eef1f4;--surface: #ffffff;--border: #dae0e6;--text: #242a33;--muted: #6f7b89;--accent: #d98a2b;--accent-2: #2f8fb0;--accent-soft: #f8e9d1;--good: #4d7c4d;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,sans-serif}:root[data-theme=dark]{--bg: #22272f;--surface: #2b313a;--border: #3b444f;--text: #e8edf2;--muted: #96a2af;--accent: #eaa445;--accent-2: #58aecd;--accent-soft: #3a3120;--good: #7bb27b;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);transition:background-color .2s ease,color .2s ease}a{color:var(--accent-2)}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:.45rem .9rem;color:var(--text)}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.danger{color:#a13a2a;border-color:#e5c4bd}button:hover{filter:brightness(.97)}.actions-cell{display:flex;align-items:center;justify-content:flex-end;gap:.35rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:.4rem;border-radius:6px;line-height:1;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn-icon svg{display:block}input,select,textarea{font:inherit;padding:.4rem .55rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);width:100%}.brand{font-weight:700;color:var(--accent-2);white-space:nowrap}.spacer{flex:1}.app-shell{display:flex;min-height:100vh}.app-sidebar{--sidebar-w: 232px;width:var(--sidebar-w);flex:0 0 var(--sidebar-w);display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);transition:flex-basis .18s ease,width .18s ease}.sidebar-collapsed .app-sidebar{--sidebar-w: 64px}.sidebar-brand{display:flex;align-items:center;gap:.6rem;padding:1rem .9rem;border-bottom:1px solid var(--border)}.sidebar-logo{width:28px;height:28px;border-radius:6px;flex-shrink:0}.sidebar-brand .brand{flex:1;font-size:1.05rem}.sidebar-collapsed .sidebar-brand .brand,.sidebar-collapsed .sidebar-section-label,.sidebar-collapsed .sidebar-label,.sidebar-collapsed .sidebar-user-name{display:none}.sidebar-collapse-btn{border:none;background:transparent;padding:.3rem;color:var(--muted);border-radius:6px;transition:transform .18s ease}.sidebar-collapse-btn:hover{background:var(--accent-soft);color:var(--text)}.sidebar-collapsed .sidebar-collapse-btn{transform:rotate(180deg)}.sidebar-nav{flex:1;overflow-y:auto;padding:.75rem .6rem;display:flex;flex-direction:column;gap:.15rem}.sidebar-section-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:.9rem .6rem .3rem}.sidebar-section-label:first-child{padding-top:.3rem}.sidebar-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .65rem;border-radius:8px;text-decoration:none;color:var(--muted);font-weight:500;border-left:3px solid transparent}.sidebar-item:hover{background:var(--accent-soft);color:var(--text)}.sidebar-item.router-link-active{background:var(--accent-soft);color:var(--accent-2);border-left-color:var(--accent)}.sidebar-icon{flex-shrink:0}.sidebar-collapsed .sidebar-item{justify-content:center;padding:.6rem}.sidebar-footer{border-top:1px solid var(--border);padding:.75rem .6rem;display:flex;flex-direction:column;gap:.6rem}.sidebar-user{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--muted);padding:0 .05rem;overflow:hidden}.sidebar-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-controls{display:flex;gap:.4rem}.sidebar-controls button{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem}.sidebar-collapsed .sidebar-controls{flex-direction:column}.mobile-topbar,.sidebar-backdrop{display:none}.app-main{flex:1;min-width:0}.container{max-width:1000px;margin:1.5rem auto;padding:0 1.5rem}@media(max-width:860px){.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:40;transform:translate(-100%);box-shadow:0 0 24px #00000026}.app-sidebar.mobile-open{transform:translate(0)}.sidebar-collapsed .app-sidebar{--sidebar-w: 232px}.sidebar-collapsed .sidebar-brand .brand,.sidebar-collapsed .sidebar-section-label,.sidebar-collapsed .sidebar-label,.sidebar-collapsed .sidebar-user-name{display:initial}.sidebar-collapse-btn{display:none}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:30}.mobile-topbar{display:flex;align-items:center;gap:.6rem;width:100%;border:none;border-bottom:1px solid var(--border);border-radius:0;padding:.75rem 1rem;background:var(--surface);color:var(--text);text-align:left;position:sticky;top:0;z-index:20}.mobile-topbar-logo{width:24px;height:24px;border-radius:6px}.app-shell{flex-direction:column}}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1.25rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.row{display:flex;gap:.75rem;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.field label{font-size:.8rem;color:var(--muted)}.field.grow{flex:1}.summary-grid{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem}.summary-grid .label{color:var(--muted)}.summary-grid .value{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.summary-grid .highlight{color:var(--accent)}.auth-wrap{max-width:380px;margin:4rem auto}.muted{color:var(--muted)}.pill{display:inline-block;font-size:.75rem;padding:.15rem .5rem;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.error{color:#a13a2a;font-size:.85rem;margin-top:.5rem}.print-page{max-width:800px;margin:1.5rem auto;padding:0 1.5rem}.print-toolbar{display:flex;gap:.75rem;justify-content:flex-end;margin-bottom:1rem}.sheet{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:2rem}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--accent);padding-bottom:.75rem;margin-bottom:1.25rem}.sheet-head h1{margin:0}.sheet-title{font-weight:700;letter-spacing:.08em;color:var(--accent);font-size:.9rem}.sheet-summary{margin:1.25rem 0;padding:1rem;background:var(--accent-soft);border-radius:8px}.sheet-text{white-space:pre-line;line-height:1.5}@media print{body{background:#fff}.no-print,.app-sidebar,.mobile-topbar{display:none!important}.print-page{margin:0;padding:0;max-width:none}.sheet{border:none;border-radius:0;padding:0}.sheet-summary{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
