.admin{max-width:1080px;margin:0 auto;padding:0 20px 60px}.admin-head{display:flex;align-items:center;gap:14px;padding:22px 0 18px;border-bottom:1px solid var(--line);margin-bottom:22px}.admin-head h1{margin:0;font-size:19px;font-weight:600}.admin-head .spacer{flex:1}.tabs{display:flex;gap:5px;flex-wrap:wrap}.tab{padding:8px 14px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-soft);font-size:14.5px;font-weight:500}.tab.active{background:var(--surface);border-color:var(--line);color:var(--text)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px}.kpi{padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.kpi .label{color:var(--text-soft);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em}.kpi .value{margin-top:5px;font-size:25px;font-weight:600;font-variant-numeric:tabular-nums}.kpi .sub{margin-top:3px;color:var(--text-soft);font-size:13px}.kpi.warn{border-color:#c9a227;background:color-mix(in srgb,#c9a227 8%,var(--surface))}.panel{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);margin-bottom:18px;overflow-x:auto}.panel h2{margin:0 0 4px;font-size:16px;font-weight:600}.panel .desc{margin:0 0 16px;color:var(--text-soft);font-size:13.5px}table.data{width:100%;border-collapse:collapse;font-size:14.5px}table.data th{padding:8px 10px;border-bottom:1px solid var(--line);color:var(--text-soft);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;text-align:left;white-space:nowrap}table.data td{padding:9px 10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}table.data tr:last-child td{border-bottom:none}table.data td.name{white-space:normal;min-width:180px}table.data tr.clickable{cursor:pointer}table.data tr.clickable:hover td{background:var(--surface-2)}.num{text-align:right}.muted{color:var(--text-soft)}.nodata{color:var(--text-soft);font-style:italic}.pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12.5px;font-weight:500;background:var(--surface-2);color:var(--text-soft)}.pill.low{background:color-mix(in srgb,#c9a227 18%,transparent);color:#8a6d0b}.pill.open{background:color-mix(in srgb,#4a7fb5 18%,transparent);color:#2f5f8f}@media(prefers-color-scheme:dark){.pill.low{color:#e0bd4a}.pill.open{color:#8fc0ec}}.entry-card{display:flex;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.entry-card:last-child{border-bottom:none}.entry-card img{width:108px;height:108px;object-fit:cover;border-radius:12px;background:var(--surface-2);flex-shrink:0;cursor:zoom-in}.entry-card .body{flex:1;min-width:0}.item-edit{display:grid;grid-template-columns:minmax(120px,2fr) 74px 74px 60px 60px 56px 32px;gap:6px;align-items:center;margin-bottom:5px}.item-edit input{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--bg);font-size:14px;font-variant-numeric:tabular-nums}.item-edit input:focus{outline:none;border-color:var(--accent)}.item-edit .head{color:var(--text-soft);font-size:11.5px;text-transform:uppercase}.admin-btn{padding:9px 15px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:14.5px;font-weight:500}.admin-btn:hover{background:var(--surface-2)}.admin-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.admin-btn.danger{color:#b4453c}.admin-btn:disabled{opacity:.5}.login-box{max-width:360px;margin:16vh auto 0;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.chart-wrap{width:100%;overflow-x:auto}.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:13px;color:var(--text-soft)}.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#141210e0;display:flex;align-items:center;justify-content:center;z-index:60;cursor:zoom-out;padding:24px}.lightbox img{max-width:100%;max-height:100%;border-radius:10px}.field-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:5px}.field label{color:var(--text-soft);font-size:12.5px}.field input,.field select{padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--bg);font-size:14.5px}.field input:focus{outline:none;border-color:var(--accent)}
