:root{--ink: #0b1f3a;--ink-soft: #45536a;--ink-muted: #65758c;--paper: #f8f8fb;--raised: #ffffff;--wash: #edf1f7;--line: rgba(11, 31, 58, .13);--line-strong: rgba(11, 31, 58, .24);--brand: #15386b;--brand-deep: #091728;--brand-on: #ffffff;--focus: #2d67ae;--success: #167548;--danger: #9c2f22;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,Avenir Next,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box;min-width:0}html,body,#root{width:100%;max-width:100%;min-height:100%;margin:0;overflow-x:clip}body{min-height:100vh;min-height:100dvh;background:var(--paper);overscroll-behavior-x:none}button,input,select{font:inherit}button,label,input,select{-webkit-tap-highlight-color:transparent}.app{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:clamp(280px,25vw,360px) minmax(0,1fr);background:var(--paper)}.brand-panel{position:sticky;top:0;min-height:100vh;height:100dvh;padding:clamp(32px,6vw,72px) clamp(28px,4vw,52px);display:flex;flex-direction:column;justify-content:space-between;color:var(--brand-on);background:var(--brand-deep);overflow:hidden}.brand-panel:after{content:"";position:absolute;right:-110px;bottom:-150px;width:330px;aspect-ratio:1;border-radius:50%;background:#173d6c;opacity:.72}header{position:relative;z-index:1;display:grid;gap:24px}header img{width:clamp(110px,12vw,154px);height:auto;object-fit:contain}header div{display:grid;gap:6px}header b{font-size:clamp(1.35rem,2vw,1.75rem);letter-spacing:-.025em}header span,.brand-panel>p{color:#c8d7eb}.brand-panel>p{position:relative;z-index:1;max-width:28ch;margin:0;font-size:.95rem;line-height:1.55}.content{min-height:100dvh;display:grid;place-items:center;align-content:center;gap:16px;padding:clamp(32px,6vw,72px) clamp(20px,5vw,72px)}.card{width:min(760px,100%);margin:0 auto;padding:clamp(24px,4vw,38px);color:var(--ink);background:var(--raised);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 48px #0b1f3a17,0 2px 8px #0b1f3a0a}.privacy-note{max-width:60ch;color:var(--ink-muted);text-align:center;line-height:1.4}.progress{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--ink-soft);font-size:.86rem;font-weight:750}.progress div{display:flex;gap:6px}.progress i{width:28px;height:5px;border-radius:5px;background:#d4deeb}.progress i.on{background:var(--brand)}h1{max-width:22ch;margin:18px 0 28px;font-size:clamp(1.7rem,3.4vw,2.25rem);line-height:1.1;letter-spacing:-.035em;text-wrap:balance}section{display:grid;gap:20px}section>p{margin:0;color:var(--ink-soft);line-height:1.55;text-wrap:pretty}.field,.section-heading{display:grid;gap:7px}.field>span,legend,.section-heading b{color:#243c5a;font-size:.94rem;font-weight:750}.field small,.field-hint,.section-heading span,.upload small{color:var(--ink-muted);font-size:.84rem;font-weight:500;line-height:1.45}.birth-date{gap:7px}.date-parts{display:grid;grid-template-columns:.8fr 1.4fr 1fr;gap:8px}.date-parts label{display:grid;gap:6px}.date-parts label>span{color:var(--ink-muted);font-size:.78rem;font-weight:650}.age-note{color:var(--success);font-size:.84rem;font-weight:700}input,select{width:100%;min-height:52px;padding:12px 14px;color:var(--ink);background:#f5f7fa;border:1px solid var(--line-strong);border-radius:10px}input::placeholder{color:#687990;opacity:1}input:focus,select:focus,button:focus-visible{outline:3px solid #91b7ef;outline-offset:2px;scroll-margin-bottom:112px}input[readonly]{color:#3f536d;background:#e9eef5;cursor:not-allowed}fieldset{display:grid;gap:10px;margin:0;padding:0;border:0}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.check{min-height:48px;display:flex;align-items:flex-start;gap:10px;padding:12px;color:var(--ink-soft);line-height:1.35;background:#f7f9fc;border:1px solid var(--line);border-radius:10px}.check:has(input:checked){color:var(--ink);background:#eaf1fa;border-color:#7fa2cf}.check input{width:20px;height:20px;min-height:auto;flex:0 0 auto;margin:0;accent-color:var(--brand)}.slots{display:grid;gap:10px}.slot{display:grid;grid-template-columns:1.2fr 1fr 1fr 48px;align-items:center;gap:8px}.upload{min-height:150px;display:grid;place-items:center;align-content:center;gap:8px;padding:20px;overflow-wrap:anywhere;color:var(--brand);font-weight:800;text-align:center;background:#edf3fa;border:1px dashed #6f91bc;border-radius:14px;cursor:pointer}.upload.is-processing{cursor:progress;opacity:.78}.upload.is-compact{min-height:0;width:fit-content;max-width:100%;grid-template-columns:auto minmax(0,auto);padding:.72rem 1rem;border-style:solid;border-radius:14px}.upload.is-compact svg{width:1.15rem;height:1.15rem}.upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.previews figure{margin:0;padding:8px;background:#f7f9fc;border:1px solid var(--line);border-radius:12px}.preview-image{aspect-ratio:.72;display:grid;place-items:center;overflow:hidden;background:#e4eaf2;border-radius:8px}.previews img{width:100%;height:100%;object-fit:contain;transition:transform .18s cubic-bezier(.23,1,.32,1)}.previews figcaption{padding:7px 0;font-size:.8rem;font-weight:750;text-align:center}.preview-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.icon-button{min-height:40px;padding:8px;color:#21456f;background:var(--raised);border:1px solid var(--line-strong);border-radius:8px}.icon-button svg{width:17px}.icon-button.danger{color:var(--danger)}.review{display:grid;gap:7px;padding:16px;background:var(--wash);border-radius:12px}.review span,.fine{color:var(--ink-soft)}.fine{margin:0;font-size:.88rem;line-height:1.55}.ok{display:flex;align-items:center;gap:7px;color:var(--success);font-weight:750;overflow-wrap:anywhere}.ok svg{width:20px}.turnstile{width:100%;min-height:65px;display:flex;justify-content:center;overflow:hidden}.error{margin-top:18px;padding:13px;color:var(--danger);background:#fff0ed;border:1px solid #e8a99f;border-radius:10px;line-height:1.45}footer{display:flex;gap:10px;margin:30px 0 0;padding:16px 0 calc(2px + env(safe-area-inset-bottom));background:#fffffff7;border-top:1px solid var(--line);border-radius:0}button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;color:inherit;font-weight:800;background:transparent;border-radius:10px;cursor:pointer;transition:transform .12s cubic-bezier(.23,1,.32,1),background-color .16s ease-out}button:active:not(:disabled){transform:scale(.97)}button:disabled{cursor:wait;opacity:.58}.primary{min-width:168px;margin-left:auto;color:var(--brand-on);background:var(--brand);border:1px solid var(--brand)}.secondary{min-width:120px;-webkit-appearance:none;appearance:none;color:var(--brand);background:var(--raised);border:1px solid #7893b5}.add-slot{justify-self:start}.state{min-height:280px;display:grid;place-items:center;align-content:center;text-align:center;white-space:pre-line}.state>svg{width:44px;height:44px;color:var(--brand)}.state h1{max-width:24ch;margin-bottom:12px}.state p{max-width:58ch;margin:0;color:var(--ink-soft);line-height:1.6}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:780px){.app{grid-template-columns:minmax(0,1fr)}.brand-panel{position:relative;min-height:132px;height:auto;padding:max(18px,env(safe-area-inset-top)) 20px 24px;justify-content:flex-start}.brand-panel:after,.brand-panel>p{display:none}header{display:flex;align-items:center;gap:14px}header img{width:68px;height:68px}header b{font-size:1.14rem}.content{min-height:auto;display:block;padding:12px 8px calc(22px + env(safe-area-inset-bottom))}.card{padding:24px 18px;border-radius:14px}.privacy-note{display:block;margin:14px auto 0;padding:0 16px}.choices{grid-template-columns:minmax(0,1fr)}.date-parts{grid-template-columns:.8fr 1.5fr 1fr}.slot{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}.slot select{grid-column:1 / -1}.previews{grid-template-columns:repeat(2,minmax(0,1fr))}section{padding-bottom:76px}footer{position:sticky;bottom:0;z-index:2;margin:26px 0 0;padding:14px 0 calc(2px + env(safe-area-inset-bottom));border-radius:0}.primary{flex:1;min-width:0}.secondary{flex:0 0 auto}}iframe{max-width:100%}@media(max-width:380px){.progress i{width:20px}.previews{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
