@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Manrope:wght@400;500;600;700&display=swap";:root{--font-display:"Fraunces", "Times New Roman", serif;--font-body:"Manrope", "Segoe UI", sans-serif;--ink:#11212a;--ink-soft:#355462;--paper:#fff9f2;--line:#d3d9d3;--brand:#a8872e}*{box-sizing:border-box}body{min-height:100vh;font-family:var(--font-body);color:var(--ink);background:radial-gradient(circle at 18% 8%,#aad9eb54,#0000 32%),radial-gradient(circle at 87% 84%,#f9ab7a4d,#0000 30%),#f6f2ea;margin:0}#root{min-height:100vh}.layout{max-width:1180px;margin:0 auto;padding:2.2rem 1rem 3rem}.hero{border:1px solid var(--line);background:linear-gradient(130deg,#b6d8dc38,#fff8e080);border-radius:22px;margin-bottom:1.5rem;padding:1.4rem 1.2rem;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(circle,#ff7a5973,#0000 68%);border-radius:50%;width:220px;height:220px;position:absolute;top:-90px;right:-100px}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem}.hero h1{font-family:var(--font-display);margin:.3rem 0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.06}.hero p{max-width:66ch;margin-top:.35rem}.mode{background:#154a5e14;border-radius:10px;width:fit-content;margin-top:.9rem;padding:.45rem .6rem;font-size:.86rem}.panel-grid{grid-template-columns:.95fr 1.2fr;gap:1rem;display:grid}.scanner-card,.form-card{border:1px solid var(--line);background:var(--paper);border-radius:20px;box-shadow:0 15px 35px -28px #06151e6b}.scanner-card{height:fit-content;padding:1rem;position:sticky;top:.8rem}.scanner-head h3,.form-card h3{font-family:var(--font-display);margin:0;font-size:1.35rem}.scanner-head p{color:var(--ink-soft);margin:.35rem 0 0;font-size:.9rem}.camera-wrap{aspect-ratio:3/4;background:#121415;border-radius:14px;margin-top:.9rem;position:relative;overflow:hidden}.camera-wrap video{object-fit:cover;width:100%;height:100%}.mrz-guide{border:3px solid #ffcc50f2;border-radius:10px;height:25%;position:absolute;bottom:9%;left:6%;right:6%;box-shadow:0 0 0 2000px #0000006b}.mrz-guide span{text-align:center;color:#ffe2a0;font-size:.78rem;position:absolute;top:-1.5rem;left:0;right:0}.scanner-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-top:.9rem;display:grid}.form-card{padding:1rem}fieldset{border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.85rem;padding:.8rem;display:grid}legend{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);padding:0 .45rem;font-size:.76rem}label{gap:.22rem;font-size:.85rem;display:grid}input,select,button,summary{font-family:var(--font-body)}input,select{border:1px solid var(--line);background:#fffef9;border-radius:10px;padding:.52rem .58rem;font-size:.9rem}input:focus,select:focus{border-color:#ff7a59b3;outline:2px solid #ff7a5959}button{color:#1b100f;cursor:pointer;background:linear-gradient(110deg,#f26a43,#f0a637);border:none;border-radius:11px;padding:.58rem .6rem;font-weight:600}button:disabled{cursor:default;opacity:.5}.form-card>button{width:100%;margin-top:.85rem}.info{color:#10485a;margin-top:.7rem;font-size:.9rem}.error{color:#8f2034;margin-top:.4rem;font-size:.9rem}details{border-top:1px dashed var(--line);margin-top:.7rem;padding-top:.6rem}pre{color:#d6edf8;background:#182026;border-radius:10px;margin-top:.42rem;padding:.66rem;font-size:.75rem;overflow-x:auto}@media (width<=1024px){.panel-grid{grid-template-columns:1fr}.scanner-card{position:static}}@media (width<=740px){fieldset,.scanner-actions{grid-template-columns:1fr}}.scan-screen{z-index:10;background:#000;position:fixed;inset:0}.scan-screen video{object-fit:cover;width:100%;height:100%}.scan-frame-guide{aspect-ratio:85.6/54;border:2px solid #ffffffbf;border-radius:12px;position:absolute;top:50%;left:5%;right:5%;transform:translateY(-58%);box-shadow:0 0 0 2000px #00000073}.scan-frame-guide:before,.scan-frame-guide:after{content:"";border-style:solid;border-color:var(--brand);width:22px;height:22px;position:absolute}.scan-frame-guide:before{border-width:3px 0 0 3px;border-radius:4px 0 0;top:-2px;left:-2px}.scan-frame-guide:after{border-width:3px 3px 0 0;border-radius:0 4px 0 0;top:-2px;right:-2px}.scan-frame-guide .corner-bl,.scan-frame-guide .corner-br{border-style:solid;border-color:var(--brand);width:22px;height:22px;position:absolute}.scan-frame-guide .corner-bl{border-width:0 0 3px 3px;border-radius:0 0 0 4px;bottom:-2px;left:-2px}.scan-frame-guide .corner-br{border-width:0 3px 3px 0;border-radius:0 0 4px;bottom:-2px;right:-2px}.scan-frame-label{text-align:center;color:#ffffffd1;letter-spacing:.04em;font-size:.8rem;position:absolute;top:-2rem;left:0;right:0}.scan-ui{pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.scan-ui-top{padding:env(safe-area-inset-top,2rem) 1.5rem 1.5rem;background:linear-gradient(#00000059 0%,#0000 100%);justify-content:center;display:flex}.scan-status-pill{color:#ffffffe6;-webkit-backdrop-filter:blur(8px);text-align:center;background:#0000007a;border:1px solid #ffffff2e;border-radius:99px;max-width:92%;margin:0;padding:.4rem 1rem;font-size:.82rem}.scan-ui-bottom{pointer-events:all;background:linear-gradient(#0000 0%,#00000073 100%);padding:1rem 1rem 2rem}.scan-btns{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.scan-btns button{color:#fff;-webkit-backdrop-filter:blur(8px);cursor:pointer;font-size:.82rem;font-weight:600;font-family:var(--font-body);background:#ffffff1f;border:1px solid #ffffff38;border-radius:12px;padding:.75rem .5rem}.scan-btns button:disabled{opacity:.32;cursor:default}.scan-btns button:first-child:not(:disabled){background:var(--brand);color:#fff;border-color:#0000}.form-panel{background:var(--paper);flex-direction:column;min-height:100vh;display:flex}.form-panel-header{z-index:2;background:var(--paper);border-bottom:1px solid var(--line);align-items:center;gap:.75rem;padding:.9rem 1.2rem;display:flex;position:sticky;top:0}.form-panel-header h2{font-family:var(--font-display);flex:1;margin:0;font-size:1.1rem}.back-btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;white-space:nowrap;font-size:.85rem;font-weight:500;font-family:var(--font-body);background:0 0;border-radius:8px;padding:.4rem .7rem}.mode-badge{color:var(--ink-soft);white-space:nowrap;background:#154a5e14;border-radius:6px;padding:.25rem .5rem;font-size:.72rem}.form-panel-body{flex:1;width:100%;max-width:680px;margin:0 auto;padding:1.2rem}.form-panel-body button[type=submit]{width:100%;margin-top:1rem}
