:root{--brand: #0f5a8a;--bg: #f5f7fa;--fg: #1b1f24;--muted: #5b6470;--line: #d9dee5;--danger: #b3261e;--dev-bg: #ffd60a;--dev-fg: #1b1f24;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#root,.app{min-height:100dvh;display:flex;flex-direction:column}.dev-banner{position:sticky;top:0;z-index:10;background:var(--dev-bg);color:var(--dev-fg);font-weight:700;letter-spacing:.04em;text-align:center;padding:6px 16px;border-bottom:2px solid #000}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--brand);color:#fff}.top-bar h1{margin:0;font-size:1.15rem}.top-actions{display:flex;gap:8px}main{flex:1;padding:16px 16px 88px;max-width:720px;width:100%;margin:0 auto}.screen h2{margin:0 0 8px;font-size:1.1rem}.muted{color:var(--muted)}.who{margin:0 0 12px;font-size:.9rem}.error{color:var(--danger);font-weight:600}button{font:inherit;cursor:pointer}button.primary{background:var(--brand);color:#fff;border:0;border-radius:10px;padding:12px 20px;min-height:48px;width:100%;max-width:360px}button.link{background:transparent;color:inherit;border:1px solid rgba(255,255,255,.6);border-radius:8px;padding:6px 10px;min-height:36px}.login{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.bottom-nav{position:fixed;left:0;right:0;bottom:0;display:flex;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{flex:1;background:transparent;border:0;padding:12px 4px;min-height:56px;color:var(--muted);font-weight:600}.bottom-nav button.active{color:var(--brand);border-top:2px solid var(--brand)}.dev-panel ul{padding-left:20px}.seed-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:8px 0 12px}.seed-form label{display:flex;flex-direction:column;gap:4px;font-size:.9rem}.seed-form input{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:10px;min-height:48px;width:140px}.seed-form button.primary{width:auto}.seed-report details{margin:8px 0;padding:8px 12px;border:1px solid var(--line);border-radius:10px}.seed-report code,.library code{font-size:.85rem;word-break:break-all}.dev-panel ul.library{padding-left:20px}.screen-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.screen-head h2{margin:0;font-size:1.6rem}.date{margin:0 0 2px;text-transform:capitalize}button.link.small{color:var(--brand);border-color:var(--line);padding:8px 12px;min-height:40px}.group-title{margin:16px 0 8px;font-size:.85rem;letter-spacing:.08em;color:var(--muted)}.visit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.visit-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;min-height:72px}.visit-icon{flex:0 0 44px;height:44px;border-radius:12px;background:#e6f0f4;color:var(--brand);display:inline-flex;align-items:center;justify-content:center;font-size:.9rem}.visit-main{flex:1;min-width:0}.visit-title{font-weight:700;font-size:1.05rem}.visit-title code{font-size:.95rem}.visit-meta{font-size:.9rem}.claim{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;font-size:.9rem}.claim .check{display:flex;align-items:center;gap:6px}.claim .error{flex-basis:100%;margin:0;font-size:.85rem}.badge{flex:0 0 auto;border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:700;white-space:nowrap}.badge-review{background:#fff1dc;color:#8a4b00}.badge-processing{background:#e4eef5;color:#1f4f6e}.badge-approved{background:#e3f3e6;color:#1e6b32}.badge-recording{background:#f0e8f8;color:#5a2d82}.badge-no_speech{background:#ededed;color:#444}.badge-failed{background:#fde5e3;color:var(--danger)}.notice{background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:10px;padding:12px 16px;margin-top:12px}.notice ul{margin:8px 0 0;padding-left:20px}.sim-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:8px 0 12px}.sim-form label{display:flex;flex-direction:column;gap:4px;font-size:.9rem}.sim-form label.check{flex-direction:row;align-items:center;gap:8px;min-height:48px}.sim-form input[type=text],.sim-form input[type=number],.sim-form select{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:10px;min-height:48px;width:180px;background:#fff}.sim-form input[type=checkbox]{width:22px;height:22px}.sim-form fieldset.faults{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;border:1px solid var(--line);border-radius:10px;padding:8px 12px 12px;width:100%}.sim-form button.primary{width:auto}.sim-report{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:8px 0 16px;background:#fff}.sim-report[data-complete=false]>p:first-child strong{color:var(--danger)}.sim-report[data-complete=true]>p:first-child strong{color:#1e6b32}table.sim-acks,table.counts{border-collapse:collapse;margin:8px 0;font-size:.9rem}table.sim-acks th,table.sim-acks td,table.counts th,table.counts td{border:1px solid var(--line);padding:4px 8px;text-align:left}table.sim-acks tr.rejected td{color:var(--danger)}.sim-summary{padding-left:20px}.compliance .status-count{margin-right:6px;white-space:nowrap}.compliance label.filter{display:flex;gap:8px;align-items:center;margin:8px 0;font-size:.9rem}.compliance select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:10px;min-height:44px;background:#fff}.compliance-list{padding-left:20px;font-size:.9rem}.muted.small{font-size:.8rem}.sim-form .sim-org{width:100%;margin:0;font-size:.9rem}.sim-form .sim-warning{width:100%;margin:0}.watermark{border:1px dashed var(--dev-fg, #000);background:var(--dev-bg, #ffeb99);color:var(--dev-fg, #000);font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:8px;font-size:.8rem;margin:0 0 8px}.reset-form,.clock-form{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.reset-report{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:8px 0 16px;background:#fff}button.danger{background:var(--danger)}
