*{box-sizing:border-box}:root{--bg: #f4f6f8;--surface: #ffffff;--surface-2: #eef2f7;--text: #1f2933;--text-muted: #7b8794;--text-detail: #52606d;--primary: #1e3a5f;--primary-hover: #2c5282;--border: #e4e7eb;--input-border: #cbd5e0;--danger: #c53030;--danger-icon: #dc2626;--success-icon: #16a34a;--accent: #ffd166;--overlay: rgba(0, 0, 0, .45)}html.dark{--bg: #0f172a;--surface: #1e293b;--surface-2: #334155;--text: #e2e8f0;--text-muted: #94a3b8;--text-detail: #cbd5e1;--primary: #2c5282;--primary-hover: #3f6bab;--border: #334155;--input-border: #475569;--danger: #f87171;--danger-icon: #f87171;--success-icon: #4ade80;--accent: #ffd166;--overlay: rgba(0, 0, 0, .6)}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;margin:0;background:var(--bg);color:var(--text)}.app header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 24px;background:var(--primary);color:#fff;flex-wrap:wrap}.app h1{font-size:1.2rem;margin:0}.app-version{font-size:.75rem;font-weight:400;opacity:.7;margin-left:6px}nav{display:flex;gap:8px;align-items:center}nav button{background:transparent;color:#cbd5e0;border:1px solid transparent;padding:6px 14px;border-radius:6px;cursor:pointer}nav button:hover{background:#ffffff26;color:#fff}nav button.active{background:#ffffff4d;color:#fff;font-weight:600}button.theme-toggle{background:transparent;color:#cbd5e0;border:1px solid transparent;padding:6px 10px;border-radius:6px;font-size:1rem;line-height:1;cursor:pointer}button.theme-toggle:hover{background:#ffffff26;color:#fff}main{padding:24px;max-width:1200px;margin:0 auto}.card{background:var(--surface);border-radius:10px;padding:16px 20px;box-shadow:0 1px 3px #0000001f}.login-wrap{display:flex;justify-content:center;padding-top:8vh}.login{width:340px;display:flex;flex-direction:column;gap:12px}.login h1{text-align:center;color:var(--primary)}label{display:flex;flex-direction:column;gap:4px;font-size:.85rem}label.check{flex-direction:row;align-items:center;gap:6px}input,select{padding:8px;border:1px solid var(--input-border);border-radius:6px;font-size:.95rem;background:var(--surface);color:var(--text)}button{background:var(--primary);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer}button:hover{background:var(--primary-hover)}.btn-icon{padding:5px 10px;font-size:.95rem;line-height:1;border-radius:6px;border:none;cursor:pointer;color:inherit;background:transparent}.btn-icon:hover{background:var(--surface-2)}.btn-icon.btn-delete{color:var(--danger-icon)}.btn-icon.btn-save{color:var(--success-icon)}.modal-head h3{flex:1}.modal-head .btn-icon{margin-left:auto}form.inline{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:20px}.cards{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.card.stat{flex:1;min-width:380px}.card.stat h3{margin-top:0;color:var(--primary)}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 16px}.stat-grid p{margin:0;display:flex;justify-content:space-between;gap:8px}.stat-grid p b{text-align:right}.preset-edit h4{margin:14px 0 6px;color:var(--primary);border-bottom:1px solid var(--border);padding-bottom:4px}.preset-edit h4:first-child{margin-top:0}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 16px;align-items:end}.preset-grid label{display:flex;flex-direction:column;gap:4px}.users-list{grid-template-columns:repeat(3,1fr)}.users-list label{flex-direction:row;align-items:center;gap:8px}table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000001f}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}th{background:var(--primary);color:#fff;font-weight:600}td.num{text-align:right;white-space:nowrap}td.detail{font-size:.8rem;color:var(--text-detail)}tr.total{background:var(--surface-2);font-weight:700}.neg{color:var(--danger)}.error{color:var(--danger);font-weight:600}.muted{color:var(--text-muted);font-size:.85rem}.center{text-align:center;padding-top:20vh}.toolbar{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.card.inline{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.card.inline label{min-width:140px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h2{margin:8px 0}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px}.pagination button:disabled{opacity:.4;cursor:default}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{background:var(--primary-hover)}.sort-icon{opacity:.45;margin-left:4px;font-size:.8em}.sort-icon.active{opacity:1;color:var(--accent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--surface);border-radius:10px;padding:20px 24px;max-width:860px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 8px 30px #00000040}.modal h3{margin:0;color:var(--primary)}.modal h4{margin:14px 0 6px;color:var(--primary)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;margin-top:6px;background:var(--surface);color:var(--text);border-radius:8px;box-shadow:0 8px 30px #00000040;min-width:170px;padding:6px 0;display:flex;flex-direction:column;z-index:50}.dropdown-menu button{background:transparent;color:var(--text);text-align:left;padding:8px 16px;border-radius:0;width:100%}.dropdown-menu button:hover{background:var(--surface-2)}.dropdown-menu button.active{background:var(--primary);color:#fff;font-weight:600}.dropdown-menu hr{border:none;border-top:1px solid var(--border);margin:6px 0}
