:root{color-scheme:light dark;--ink:oklch(24% .02 250);--ink-quiet:oklch(46% .02 250);--paper:oklch(98.5% .003 250);--raised:oklch(100% 0 0);--rule:oklch(87% .01 250);--field:oklch(97% .004 250);--accent:oklch(47% .12 250);--accent-deep:oklch(39% .11 250);--on-accent:oklch(99% 0 0);--ok:oklch(47% .11 155);--ok-wash:oklch(95% .03 155);--warn:oklch(47% .1 75);--warn-wash:oklch(96% .04 85);--error:oklch(50% .17 25);--error-wash:oklch(96% .03 25);--info-wash:oklch(95% .02 250);--radius:.75rem;--focus:0 0 0 3px oklch(70% .14 250);color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:100%;line-height:1.5}@media (prefers-color-scheme:dark){:root{--ink:oklch(95% .005 250);--ink-quiet:oklch(76% .015 250);--paper:oklch(20% .015 250);--raised:oklch(25% .018 250);--rule:oklch(38% .02 250);--field:oklch(28% .02 250);--accent:oklch(72% .12 250);--accent-deep:oklch(80% .1 250);--on-accent:oklch(18% .02 250);--ok:oklch(78% .12 155);--ok-wash:oklch(30% .05 155);--warn:oklch(82% .11 85);--warn-wash:oklch(32% .05 85);--error:oklch(78% .14 25);--error-wash:oklch(32% .06 25);--info-wash:oklch(30% .04 250)}}*,:before,:after{box-sizing:border-box}body{min-height:100dvh;margin:0}h1,h2{margin:0 0 .75rem;line-height:1.2}h1{font-size:clamp(1.5rem,1.25rem + 1vw,1.875rem)}h2{font-size:1.25rem}h1:focus,h2:focus{outline:none}p{margin:0 0 .75rem}a{color:var(--accent)}.page{max-width:40rem;padding:env(safe-area-inset-top) max(1rem, env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));margin:0 auto}.topbar{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.75rem 0;display:flex}.brand{color:var(--ink-quiet);margin:0;font-weight:600}.language select{min-height:2.75rem}.main>section+section,.welcome{margin-bottom:1.5rem}.lead{font-size:1.125rem}.hint,.optional{color:var(--ink-quiet);font-size:.9375rem}.status{color:var(--ink-quiet);min-height:1.5em}.noscript{padding:1rem}.actions{flex-wrap:wrap;gap:.75rem;margin:1.25rem 0 0;display:flex}.actions--stack{flex-direction:column;align-items:stretch}.button{border:2px solid var(--accent);border-radius:var(--radius);background:var(--accent);min-height:3rem;color:var(--on-accent);font:inherit;cursor:pointer;text-align:center;flex:auto;justify-content:center;align-items:center;padding:.625rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.button--secondary{color:var(--accent);background:0 0}.button--secondary:hover{background:var(--info-wash);color:var(--accent-deep)}.button--quiet{color:var(--ink-quiet);background:0 0;border-color:#0000;font-weight:500}.button--quiet:hover{background:var(--field);border-color:#0000}.button:disabled,.button--disabled{opacity:.55;cursor:not-allowed}.button:focus-visible,label.button:focus-within,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;box-shadow:var(--focus);outline:3px solid #0000}.persons{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.person{background:var(--raised);border:1px solid var(--rule);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;display:flex}.person>div{flex:12rem}.person p{margin:0 0 .25rem}.person__name{overflow-wrap:anywhere;font-weight:600}.badge{border:1px solid var(--rule);border-radius:999px;padding:.125rem .5rem;font-size:.875rem;display:inline-block}.badge:before{content:"○ "}.badge--confirmed,.badge--filed,.badge--being_filed{background:var(--ok-wash);color:var(--ok);border-color:#0000}.badge--confirmed:before,.badge--filed:before{content:"✓ "}.badge--draft{background:var(--warn-wash);color:var(--warn);border-color:#0000}.badge--rejected{background:var(--error-wash);color:var(--error);border-color:#0000}.badge--rejected:before{content:"! "}.banner{border-radius:var(--radius);border-left:4px solid;margin:0 0 1rem;padding:.75rem 1rem}.banner p:last-child{margin-bottom:0}.banner--error{background:var(--error-wash);color:var(--error)}.banner--warning{background:var(--warn-wash);color:var(--ink);border-left-color:var(--warn)}.banner--info{background:var(--info-wash);color:var(--ink);border-left-color:var(--accent)}.privacy{background:var(--raised);border:1px solid var(--rule);border-radius:var(--radius);margin-top:1rem;padding:.75rem 1rem}.privacy summary{cursor:pointer;align-items:center;min-height:2.75rem;font-weight:600;display:flex}.privacy p{font-size:.9375rem}.form{gap:1.25rem;display:grid}.field,.choice{border:0;gap:.375rem;min-width:0;margin:0;padding:0;display:grid}.field>label,legend{padding:0;font-weight:600}input:not([type=radio],[type=checkbox]),select{width:100%;min-height:3rem;font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--rule);border-radius:.5rem;padding:.625rem .75rem;font-size:1rem}input[aria-invalid=true],select[aria-invalid=true]{border:2px solid var(--error)}.field__error{color:var(--error);margin:0;font-weight:500}.field__error:before{content:"⚠ "}.check{cursor:pointer;align-items:center;gap:.75rem;min-height:2.75rem;display:flex}.check input{width:1.375rem;height:1.375rem;accent-color:var(--accent);flex:none;margin:0}.date{grid-template-columns:1fr 1fr 1.5fr;gap:.5rem;display:grid}.date label{color:var(--ink-quiet);gap:.25rem;font-size:.875rem;display:grid}.summary{grid-template-columns:minmax(7rem,auto) 1fr;gap:.5rem 1rem;margin:0 0 1rem;display:grid}.summary dt{color:var(--ink-quiet)}.summary dd{overflow-wrap:anywhere;margin:0;font-weight:600}.camera{border-radius:var(--radius);background:#000;margin:0 0 .75rem;position:relative;overflow:hidden}.camera__video{width:100%;height:auto;display:block}.camera__guide{border:3px solid oklch(100% 0 0);border-radius:.5rem;position:absolute;box-shadow:0 0 0 100vmax oklch(0% 0 0/.45)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=40rem){.button{flex:0 auto}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.nationality-check{border:2px solid;border-radius:.5rem;margin:0 0 1rem;padding:.75rem 1rem}.nationality-check__label{margin:0;font-weight:600}.nationality-check__name{overflow-wrap:anywhere;margin:.25rem 0;font-size:1.5rem;font-weight:700;line-height:1.25}.nationality-check__code{font-size:1rem;font-weight:400}.photos{margin-top:2rem}
