:root{color:#102a5a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Stolzl,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}:root{--ose-blue:#054be4;--ose-darkblue:#1e6bc0;--ose-red:#fb3456;--ose-orange:#ff6f57;--ose-pink:#ffa9ed;--ose-lightblue:#afcfff;--ose-turquoise:#98ffe0;--ose-ink:#102a5a;--ose-muted:#5e7397;--ose-paper:#fff;--ose-soft:#f3f8ff;--ose-line:#054be429;--ose-orange-gradient:radial-gradient(circle at 30% 20%, var(--ose-orange) 0%, var(--ose-red) 100%);--ose-light-gradient:radial-gradient(circle at 20% 20%, var(--ose-lightblue) 0%, var(--ose-turquoise) 100%);--ose-glass:#ffffffb8}.shell{min-height:100vh;color:var(--ose-ink);background:radial-gradient(circle at 12% 10%,#98ffe07a,#0000 28vw),radial-gradient(circle at 86% 4%,#ffa9ed7a,#0000 24vw),linear-gradient(90deg,#054be40e 1px,#0000 1px) 0 0/40px 40px,linear-gradient(#054be40b 1px,#0000 1px) 0 0/40px 40px,#fff}.topbar{z-index:10;-webkit-backdrop-filter:blur(34px)brightness(112%);backdrop-filter:blur(34px)brightness(112%);background:#ffffffad;justify-content:space-between;align-items:center;gap:20px;padding:16px clamp(16px,4vw,42px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;min-width:230px;display:flex}.brand strong{color:var(--ose-blue);font-size:1.08rem;display:block}.brand span:not(.seal){color:var(--ose-muted);font-size:.78rem;display:block}.seal{background:#ffffffdb;border-radius:50%;place-items:center;width:50px;height:50px;display:grid;overflow:hidden;box-shadow:0 8px 26px #054be41f}.seal img{width:42px;height:auto;display:block}.nav{scrollbar-width:none;background:#ffffffad;border-radius:66px;gap:6px;padding:7px;display:flex;overflow-x:auto;box-shadow:inset 0 0 0 1px #054be414,0 14px 42px #054be41f}button{min-height:42px;color:var(--ose-blue);font:inherit;cursor:pointer;background:#ffffffbd;border:1px solid #054be424;border-radius:5px;padding:9px 12px;transition:transform .16s,border-color .16s,background .16s,color .16s}button:hover,button.active{color:#fff;background:var(--ose-blue);border-color:#0000;transform:translateY(-1px)}button:disabled{opacity:.46;cursor:not-allowed;transform:none}.nav button,.primary,.danger,.json-editor button,.admin-rail button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.nav button{white-space:nowrap;border:0;border-radius:66px}.primary{color:#fff;background:var(--ose-orange-gradient);border-color:#0000;box-shadow:0 14px 30px #fb34562e}.primary:hover{background:var(--ose-orange-gradient);color:#fff}.danger{color:#fff;background:#fb3456;border-color:#fb34563d}.system-error{border-left:4px solid var(--ose-red);color:#8a1230;background:#fff0f4;margin:18px clamp(16px,4vw,42px) 0;padding:12px 14px}.welcome-panel{grid-template-columns:minmax(0,.96fr) minmax(280px,.76fr);align-items:center;gap:clamp(24px,5vw,64px);min-height:calc(100vh - 82px);padding:clamp(22px,5vw,60px);display:grid}.hero-copy h1{max-width:840px;color:var(--ose-blue);letter-spacing:0;margin:8px 0 18px;font-size:clamp(2.55rem,7vw,6.35rem);line-height:.92}.hero-copy h1 em{color:var(--ose-red);font-family:Playfair Display,Georgia,serif;font-style:italic;font-weight:700;display:block}.hero-copy p{color:#294574;max-width:680px;font-size:clamp(1rem,2vw,1.18rem)}.eyebrow{color:var(--ose-red);text-transform:uppercase;letter-spacing:0;margin:0 0 8px;font-size:.74rem}.signal-board{background:linear-gradient(#ffffffbd, #ffffffbd), var(--ose-light-gradient);min-height:440px;color:var(--ose-blue);border:1px solid #ffffffd1;border-radius:8px;flex-direction:column;justify-content:space-between;padding:24px;display:flex;position:relative;overflow:hidden;box-shadow:0 22px 70px #054be429}.signal-board:before{content:"";background-color:#0000;background-image:linear-gradient(90deg,#054be41f 1px,#0000 1px),linear-gradient(#054be41f 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #054be424;position:absolute;inset:18px}.signal-board>*{z-index:1;position:relative}.signal-board span{color:var(--ose-red);font-size:.78rem}.signal-board strong{max-width:8ch;font-size:clamp(2.05rem,5vw,4rem);line-height:.92}.signal-board i{background:repeating-linear-gradient(90deg, var(--ose-blue) 0 3px, transparent 3px 15px), linear-gradient(90deg, #ffa9ede6, #98ffe0e6);opacity:.6;border-radius:5px;width:100%;height:90px;display:block}.questionnaire,.admin-login,.qr-panel,.registry-layout,.archive-grid,.people-list,.admin-console{max-width:1180px;margin:0 auto;padding:clamp(18px,4vw,42px)}.questionnaire,.admin-login,.qr-panel{gap:18px;display:grid}.form-head,.citizen-file,.alert-feed,.scenario-file,.person-file,.qr-panel,.admin-login,.admin-console,.empty-state{background:#ffffffd1;border:1px solid #054be424;border-radius:8px;box-shadow:0 18px 55px #054be41a}.form-head{background:linear-gradient(90deg,#afcfff5c,#98ffe03d),#fff;padding:18px}.form-head h2,.citizen-file h2,.scenario-file h2,.person-file h2,.admin-login h2,.admin-rail h2{color:var(--ose-blue);letter-spacing:0;margin:0}.form-head p,.scenario-file p,.person-file p,.alert-feed p,.empty-state p{color:#405a86}.consent{background:#fff;border:1px solid #054be42e;border-radius:8px;margin:0;padding:14px}.consent label,label{color:var(--ose-ink);gap:8px;display:grid}.consent input{width:auto}input,select,textarea{box-sizing:border-box;width:100%;color:var(--ose-ink);font:inherit;background:#ffffffeb;border:1px solid #054be42e;border-radius:5px;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:var(--ose-blue);outline:3px solid #98ffe0b8}input[type=range]{accent-color:var(--ose-red)}textarea{resize:vertical;min-height:520px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.slider{background:#ffffffdb;border:1px solid #054be424;border-radius:8px;padding:14px}.slider span{justify-content:space-between;gap:12px;display:flex}.registry-layout{grid-template-columns:minmax(0,1fr) 320px;gap:18px;display:grid}.citizen-file,.alert-feed,.empty-state{padding:clamp(18px,4vw,30px)}.file-heading{border-bottom:1px solid var(--ose-line);justify-content:space-between;align-items:start;gap:12px;padding-bottom:18px;display:flex}.file-heading>span{white-space:nowrap;background:#fff;border:1px solid;border-radius:5px;padding:8px 10px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.metrics div{background:linear-gradient(#fff, #fff) padding-box, var(--ose-light-gradient) border-box;border:1px solid #054be41f;border-radius:8px;align-content:space-between;min-height:104px;padding:14px;display:grid}.metrics span,.classified dt{color:var(--ose-muted);text-transform:uppercase;font-size:.8rem}.metrics strong{color:var(--ose-blue);font-size:clamp(1.4rem,3vw,2.3rem)}.classified{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px;display:grid}.classified div{border-left:4px solid var(--ose-red);background:#f4f8ff;border-radius:5px;padding:8px 12px}.classified dd{margin:4px 0 0}.classified.compact{grid-template-columns:repeat(2,minmax(120px,1fr))}.notice{color:#405a86}.alert-title{color:var(--ose-red);align-items:center;gap:8px;display:flex}.alert-pop{background:#fff2f6;border:1px solid #fb34563d;border-radius:8px;margin-top:16px;padding:14px}.alert-pop.fullscreen{z-index:40;text-align:center;place-content:center;font-size:1.3rem;display:grid;position:fixed;inset:18px}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.scenario-file{padding:16px}.scenario-file img{object-fit:cover;background:var(--ose-soft);border:1px solid #054be424;border-radius:5px;width:100%;height:180px;margin-bottom:14px}.scenario-file strong,.person-file strong{color:var(--ose-red);margin:8px 0;display:block}.scenario-file small{color:var(--ose-muted)}.people-list{gap:14px;display:grid}.person-file{grid-template-columns:120px minmax(0,1fr);gap:18px;padding:16px;display:grid}.portrait{min-height:150px;color:var(--ose-blue);background:repeating-linear-gradient(135deg, #054be414 0 7px, transparent 7px 14px), var(--ose-light-gradient);border:1px solid #054be42e;border-radius:5px;place-items:center;display:grid}.redacted{color:#8a1230;background:linear-gradient(90deg,#fb345624,#0000);border-radius:5px;padding:10px}.qr-panel{grid-template-columns:340px minmax(0,1fr)}.qr-panel form{align-content:start;gap:14px;display:grid}pre,.scan-surface{min-height:360px;color:var(--ose-ink);background:#f4f8ff;border:1px solid #054be42e;border-radius:8px;margin:0;padding:16px;overflow:auto}.scan-surface{background:linear-gradient(45deg,#0000 44%,#054be47a 45% 55%,#0000 56%),repeating-linear-gradient(0deg,#98ffe06b 0 2px,#0000 2px 16px),#fff}.admin-console{grid-template-columns:220px minmax(0,1fr) minmax(340px,.85fr);gap:14px;max-width:1420px;display:grid}.admin-rail,.admin-main,.json-editor{align-content:start;gap:10px;min-width:0;display:grid}.admin-rail,.admin-main{border-right:1px solid var(--ose-line);padding-right:14px}.admin-rail button{justify-content:flex-start}.stats-strip{flex-wrap:wrap;gap:10px;display:flex}.stats-strip span{background:#fff;border:1px solid #054be429;border-radius:5px;padding:9px 11px}.admin-table{gap:8px;max-height:620px;display:grid;overflow:auto}.admin-table button{text-align:left;grid-template-columns:58px minmax(0,1fr) 22px;align-items:center;gap:8px;display:grid}.admin-table span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.json-editor>div{gap:8px;display:flex}.admin-login{max-width:460px}@media (width<=920px){.topbar,.welcome-panel,.registry-layout,.qr-panel,.admin-console{grid-template-columns:1fr}.topbar{display:grid}.nav{border-radius:16px}.nav button span{display:none}.form-grid,.metrics,.archive-grid,.classified,.person-file{grid-template-columns:1fr}.signal-board{min-height:260px}}
