:root{--red: #C00000;--silver: #A6A6A6;--char: #404040;--ink: #1E1E1E;--paper: #FFFFFF;--plate: #F2F2F2;--rule: #D9D9D9;--muted: #767676;--pass: #1F7A45;--amber: #D98E04;--amber-bg: #FFF4D6;--field: #FAFAFA;--nav: #404040;--nav-fg: #D9D9D9;box-sizing:border-box}@media (prefers-color-scheme: dark){:root{--paper: #151515;--plate: #222;--rule: #3A3A3A;--ink: #ECECEC;--muted: #A0A0A0;--field: #1B1B1B;--char: #D0D0D0;--nav: #0E0E0E;--amber-bg: #3A2E10}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font:15px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}input,select,textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--field);border:1px solid var(--rule);border-radius:3px;padding:10px;width:100%}input:disabled{opacity:.7}textarea{min-height:72px;resize:vertical}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat}:focus-visible{outline:2px solid var(--red);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}header.top{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:2px solid var(--red);padding-top:env(safe-area-inset-top,0px)}.brand{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 0}.wordmark{font-weight:800;letter-spacing:.02em;font-size:15px;color:var(--red);line-height:1.1}.wordmark small{display:block;font-weight:600;font-size:9px;letter-spacing:.22em;color:var(--silver)}.status{font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;text-align:right}.status.saved{color:var(--pass)}.status.err{color:var(--red)}.status.warn{color:var(--amber)}.ctx{display:grid;grid-template-columns:40px 1fr 1fr 40px;gap:6px;padding:8px 14px 10px}.ctx .navb{border:1px solid var(--rule);border-radius:3px;background:var(--field);font-size:18px}.ctx select,.ctx input{padding:8px;font-size:14px}.hazard{height:5px;background:repeating-linear-gradient(45deg,var(--amber) 0 9px,var(--char) 9px 18px)}main{padding:14px 14px calc(96px + env(safe-area-inset-bottom,0px));max-width:860px;margin:0 auto}.plate{border:1px solid var(--rule);border-radius:3px;margin-bottom:14px;background:var(--paper)}.plate>h2{margin:0;padding:8px 12px;background:var(--plate);border-left:4px solid var(--red);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--char);font-weight:700;display:flex;justify-content:space-between;align-items:center}.plate>h2 .count{font-weight:600;color:var(--muted);letter-spacing:0;font-size:12px}.plate>.body{padding:12px}.row{display:grid;gap:8px;margin-bottom:10px}.row.c2{grid-template-columns:1fr 1fr}.row.c3{grid-template-columns:1fr 1fr 1fr}.row.c21{grid-template-columns:2fr 1fr}.row.c12{grid-template-columns:1fr 2fr}@media (max-width: 420px){.row.c3{grid-template-columns:1fr 1fr}}label.f{display:block}label.f>span{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.hint{font-size:12.5px;color:var(--muted);margin:0 0 10px}.empty{color:var(--muted);font-size:13.5px;margin:0 0 10px}.item{border-top:1px solid var(--rule);padding-top:10px;margin-top:10px;position:relative}.item:first-child{border-top:0;padding-top:0;margin-top:0}.item .idx{position:absolute;right:0;top:10px;font-size:10px;color:var(--silver);letter-spacing:.1em}.item:first-child .idx{top:0}.del{font-size:11px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;padding:6px 0}.del:hover{color:var(--red)}.add{width:100%;padding:11px;border:1px dashed var(--silver);border-radius:3px;background:var(--plate);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--char);font-weight:600}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:3px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.btn.red{background:var(--red);color:#fff}.btn.char{background:var(--char);color:#fff}.btn.light{background:var(--plate);color:var(--char);border:1px solid var(--rule)}.btn:disabled{opacity:.5}.callout{border-left:4px solid var(--red);background:var(--plate);padding:10px 12px;border-radius:3px;margin-bottom:12px;font-size:13.5px}.callout b{color:var(--red);letter-spacing:.06em}.callout.amber{border-color:var(--amber);background:var(--amber-bg)}.chk{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule)}.chk:last-child{border-bottom:0}.chk input[type=checkbox]{width:22px;height:22px;margin:0;accent-color:var(--red);flex-shrink:0}.seg{display:flex;gap:6px}.seg button{flex:1;padding:9px 4px;border:1px solid var(--rule);border-radius:3px;background:var(--field);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--char)}.seg button.on{background:var(--char);color:#fff;border-color:var(--char)}.seg button.on.red{background:var(--red);border-color:var(--red)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.chip{padding:8px 11px;border:1px solid var(--rule);border-radius:3px;background:var(--field);font-size:13.5px;color:var(--ink);text-align:left}.chip small{display:block;font-size:9.5px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.chip.all{background:var(--char);color:#fff;border-color:var(--char);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.photo{border-top:1px solid var(--rule);padding-top:10px;margin-top:10px}.photo:first-child{border-top:0;padding-top:0;margin-top:0}.photo img{width:100%;display:block;border:1px solid var(--rule);border-radius:3px;background:var(--plate);min-height:120px}.meta{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:11px;color:var(--muted)}.tag{background:var(--char);color:#fff;padding:3px 7px;border-radius:2px;letter-spacing:.12em;font-size:10px}pre.report{white-space:pre-wrap;font-size:11.5px;line-height:1.55;background:var(--plate);border:1px solid var(--rule);border-radius:3px;padding:12px;overflow-x:auto;color:var(--ink);margin:0}.notice{margin:0 0 12px;padding:10px 12px;border-radius:3px;background:var(--plate);border-left:4px solid var(--amber);font-size:13.5px;display:flex;gap:10px;align-items:flex-start}.notice.ok{border-color:var(--pass)}.notice button{margin-left:auto;color:var(--muted);font-size:16px;line-height:1}nav.tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--nav);display:flex;padding-bottom:env(safe-area-inset-bottom,0px)}nav.tabs button{flex:1;padding:10px 2px 11px;color:var(--nav-fg);font-size:9px;letter-spacing:.1em;text-transform:uppercase;border-top:3px solid transparent;position:relative}nav.tabs button.on{color:#fff;border-top-color:var(--red)}nav.tabs button .ico{display:block;font-size:18px;line-height:1;margin-bottom:4px}nav.tabs button .badge{position:absolute;top:6px;right:calc(50% - 26px);background:var(--silver);color:#111;font-size:9px;padding:2px 4px;border-radius:2px;line-height:1}nav.tabs button .badge.alarm{background:var(--amber)}.login{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.login .card{width:100%;max-width:380px}.login .mark{text-align:center;margin-bottom:24px}.login .mark .wordmark{font-size:26px}.login .mark .wordmark small{font-size:11px}.code{font-size:26px!important;letter-spacing:.4em;text-align:center}.qrbox{display:inline-block;padding:10px;background:#fff;border:1px solid var(--rule)}.sitecode{font-size:22px;letter-spacing:.25em;color:var(--ink)}table.simple{width:100%;border-collapse:collapse;font-size:13px}table.simple th{text-align:left;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:6px 4px;border-bottom:1px solid var(--rule)}table.simple td{padding:8px 4px;border-bottom:1px solid var(--rule);vertical-align:top}
