*{box-sizing:border-box} :root{color-scheme:dark;--bg:#101216;--panel:#1a1e25;--panel2:#222832;--line:#303743;--text:#f0f2f5;--muted:#9ba4b1;--accent:#c4cbd4;--green:#9bb6a5}
body{margin:0;background:var(--bg);color:var(--text);font:16px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-bottom:90px}
.hidden{display:none!important}.lock-screen{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center}
.brand-mark{width:64px;height:64px;border:1px solid #59616d;border-radius:18px;display:grid;place-items:center;font-weight:800;letter-spacing:2px;font-size:22px;background:linear-gradient(145deg,#272d36,#15191f);margin-bottom:22px}
h1{font-size:26px;letter-spacing:1px;margin:0}h2{font-size:29px;margin:4px 0 0}h3{font-size:16px;margin:0}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--muted);font-weight:700;margin:0 0 7px}.muted,.small{color:var(--muted)}.small{font-size:12px;line-height:1.5}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:17px;margin:14px 0}.lock-panel{width:min(100%,390px);text-align:left;margin:26px 0 12px}
label{display:block;font-size:13px;color:var(--muted);margin:12px 0 7px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:#11151b;color:var(--text);padding:13px;font:inherit;outline:none}textarea{min-height:76px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#8793a2}
button{font:inherit;color:inherit;cursor:pointer}.primary,.secondary{border:0;border-radius:12px;padding:13px 16px;font-weight:700}.primary{background:#d2d7df;color:#11151b}.secondary{background:var(--panel2);border:1px solid var(--line)}.full{width:100%;margin-top:14px}.compact{padding:9px 13px;font-size:13px}.icon-button{border:1px solid var(--line);background:var(--panel);width:42px;height:42px;border-radius:13px}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top) + 18px) 20px 16px;border-bottom:1px solid var(--line);background:#12161c}
main{max-width:760px;margin:auto;padding:20px 16px 24px}.view{display:none}.view.active{display:block}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:8px 0 20px}.section-heading h2{font-size:27px}
.status-dot{font-size:9px;letter-spacing:1px;color:var(--green);border:1px solid #405247;padding:6px 8px;border-radius:20px}
.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.metric{padding:16px;background:linear-gradient(145deg,#202630,#171b22);border:1px solid var(--line);border-radius:15px}.metric span{display:block;font-size:12px;color:var(--muted)}.metric strong{display:block;font-size:27px;margin-top:8px;font-variant-numeric:tabular-nums}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.text-button{border:0;background:none;color:#c5ccd5;font-size:12px}.empty{color:var(--muted);font-size:13px;padding:10px 0}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-grid button{background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:13px 8px;font-size:12px}
.notice{font-size:11px;line-height:1.5;color:#8993a1;margin:20px 3px}.stack{display:grid;gap:10px}.record{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:15px}.record-top{display:flex;justify-content:space-between;gap:10px}.record h3{margin-bottom:5px}.record p{margin:4px 0;color:var(--muted);font-size:12px}.record .delete{background:none;border:0;color:#a9b1bd;font-size:12px}
.tabbar{position:fixed;z-index:5;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:rgba(20,24,30,.97);border-top:1px solid var(--line);padding:9px 4px calc(env(safe-area-inset-bottom) + 7px);backdrop-filter:blur(18px)}
.tab{background:none;border:0;color:#818b99;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:52px}.tab span{font-size:19px}.tab.active{color:#f2f4f7}
dialog{width:min(100% - 22px,520px);max-height:88svh;overflow:auto;background:#171b22;color:var(--text);border:1px solid #39414d;border-radius:20px;padding:20px}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.dialog-head h2{font-size:23px}.form-fields{display:grid;gap:2px}.file-label{display:block;text-align:center;padding:13px;border:1px dashed #657080;border-radius:12px;margin-top:14px}.file-label input{margin-top:10px}.value{font-size:27px;display:block;margin:12px 0}
@media(min-width:650px){.metrics{grid-template-columns:repeat(4,1fr)}main{padding-top:30px}.topbar{padding-left:max(20px,calc((100vw - 720px)/2));padding-right:max(20px,calc((100vw - 720px)/2))}}

.biometric-gate{position:fixed;z-index:20;inset:0;background:rgba(7,9,12,.97);display:grid;place-items:center;padding:24px}
.gate-panel{width:min(100%,390px);text-align:center;padding:26px}
.gate-panel .brand-mark{margin:0 auto 20px}
.gate-panel h2{font-size:25px;margin:5px 0 10px}
.record-photo{width:76px;height:76px;object-fit:cover;border-radius:12px;border:1px solid var(--line);flex:0 0 auto}
.record-top .record-main{display:flex;gap:12px;min-width:0}
.record-top .record-copy{min-width:0}

.record-actions{display:flex;gap:8px;align-items:flex-start;flex:0 0 auto}
.record-actions .delete{white-space:nowrap}

.maintenance-alert{padding:9px 10px;border:1px solid var(--line);border-radius:10px;margin:8px 0!important;background:#171c23}
.maintenance-alert strong{font-size:10px;letter-spacing:1px;color:#aeb8c5}
.maintenance-alert.overdue{border-color:#70464a;background:#24191d}
.maintenance-alert.overdue strong{color:#ef9a9a}
.maintenance-alert.due-soon{border-color:#77613b;background:#252116}
.maintenance-alert.due-soon strong{color:#e7c27d}
.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 14px}
.insight-grid>div{background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:12px}
.insight-grid span{display:block;color:var(--muted);font-size:11px}
.insight-grid strong{display:block;font-size:18px;margin-top:6px;font-variant-numeric:tabular-nums}
#insightsList>p{line-height:1.55;margin:9px 0}
#ammoHistoryList p{font-size:12px;color:var(--muted);padding:7px 0;border-bottom:1px solid var(--line);margin:0}
.record-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:430px){.record-actions{flex-direction:column;align-items:flex-end}.record-actions .delete{padding:3px 0}}
