@font-face{font-display:swap;font-family:Omnes;font-style:normal;font-weight:400;src:url(/fonts/Omnes-Regular.ttf)format("truetype")}@font-face{font-display:swap;font-family:Omnes;font-style:normal;font-weight:600;src:url(/fonts/Omnes-SemiBold.ttf)format("truetype")}@font-face{font-display:swap;font-family:Omnes;font-style:normal;font-weight:700;src:url(/fonts/Omnes-Bold.ttf)format("truetype")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/fonts/Inter-Regular.ttf)format("truetype")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/fonts/Inter-Medium.ttf)format("truetype")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/fonts/Inter-SemiBold.ttf)format("truetype")}:root{--white:#fff;--bg:#ffece0;--surface:#fff7f0;--surface-muted:#f0f0f0;--border:#3d3b4624;--border-strong:#3d3b463d;--text:#3d3b46;--text-muted:#7b7781;--text-soft:#a29f9f;--text-strong:#3d3b46;--green-100:#002e2e1f;--green-700:#002e2e;--green-900:#002e2e;--teal-50:#8cc9d938;--teal-700:#002e2e;--orange-500:#ff7f70;--shadow:0 18px 44px #002e2e24;--shadow-soft:0 10px 28px #002e2e14;--brand-sans:realist, "Avenir Next", "Helvetica Neue", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--display:Omnes, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;color:var(--text);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}*{box-sizing:border-box}html{background:var(--bg)}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{appearance:none}#root{min-height:100svh}::selection{color:var(--text-strong);background:#c66a2e2e}.app-shell{background:linear-gradient(180deg, var(--bg) 0%, var(--surface) 58%, #eef7f4 100%);min-height:100svh}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:0 clamp(20px,5vw,56px);display:flex}.brand-lockup{color:var(--text-strong);align-items:center;gap:12px;min-width:0;text-decoration:none;display:inline-flex}.brand-mark{background:var(--green-900);color:var(--white);border-radius:8px;flex:0 0 42px;justify-content:center;align-items:center;height:42px;font-size:13px;font-weight:800;display:inline-flex}.brand-name,.brand-role{display:block}.brand-name{font-family:var(--display);font-size:18px;font-weight:600;line-height:1.1}.brand-role{color:var(--text-muted);margin-top:3px;font-size:13px;line-height:1.2}.environment-strip{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-family:var(--mono);text-transform:uppercase;border-radius:8px;flex:none;align-items:center;gap:10px;min-height:36px;padding:0 10px;font-size:12px;display:flex}.environment-strip span+span{border-left:1px solid var(--border);color:var(--text-strong);padding-left:10px}.panel-kicker,.state-label{color:var(--teal-700);letter-spacing:0;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.system-state h1{color:var(--text-strong);font-family:var(--display);max-width:760px;margin:0;font-size:clamp(36px,7vw,78px);font-weight:700;line-height:.96}.system-state p:not(.state-label){color:var(--text);max-width:760px;margin:0;font-size:clamp(18px,2.4vw,24px);line-height:1.45}.loading-state{background:#000;justify-content:center;align-items:center;min-height:100svh;display:flex;overflow:hidden}.loading-spinner{border:2px solid #ffffff38;border-top-color:#ffffffd1;border-radius:999px;width:22px;height:22px;animation:.9s linear infinite loading-spin}.screen-reader-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dashboard-grid{gap:18px;padding:clamp(28px,6vw,64px) clamp(20px,5vw,56px) clamp(32px,6vw,64px);display:grid}.dashboard-grid--single-flow{grid-template-columns:minmax(300px,560px);justify-content:center}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:8px;min-width:0;padding:22px}.panel-heading{gap:6px;margin-bottom:20px;display:grid}.panel-status{color:var(--teal-700);font-family:var(--mono);font-size:13px;font-weight:700}.panel-heading h2{color:var(--text-strong);font-family:var(--display);margin:0;font-size:22px;font-weight:600;line-height:1.15}.timer-panel{display:grid}.timer-page{align-content:center;min-height:100svh;padding:clamp(18px,4svh,36px) clamp(18px,5vw,48px);display:grid;overflow:hidden}.timer-page .timer-panel{align-content:center;justify-items:center;width:100%;max-width:min(100%,520px);min-height:min(100%,620px);margin:0 auto}.form-panel{display:grid}.document-panel{gap:18px;display:grid}.image-page{background:#000;justify-content:center;align-items:center;width:100%;height:100svh;min-height:100svh;display:flex;overflow:hidden}.image-display{visibility:hidden;width:100%;max-width:100vw;height:100%;max-height:100svh;display:block}.image-display--fit{object-fit:contain}.image-display--fill{object-fit:cover}.image-display--loaded{visibility:visible}.image-album-page{color:#fff;background:#000;width:100%;height:100svh;min-height:100svh;position:relative;overflow:hidden}.image-album-frame{scrollbar-width:none;width:100%;height:100%}.image-album-frame::-webkit-scrollbar{display:none}.image-album-slide{justify-content:center;align-items:center;width:100%;min-width:0;height:100%;margin:0;display:flex;position:relative}.image-album-image{width:100%;max-width:100vw;height:100%;max-height:100svh;display:block}.image-album-meta,.image-album-caption{color:#fffffff0;z-index:2;background:#0000009e;font-size:13px;font-weight:800;line-height:1.35;position:absolute}.image-album-meta{right:max(14px, env(safe-area-inset-right));top:max(14px, env(safe-area-inset-top));border-radius:999px;padding:9px 12px}.image-album-caption{bottom:max(16px, env(safe-area-inset-bottom));text-align:center;border-radius:8px;max-width:min(720px,100vw - 32px);padding:10px 12px;left:50%;transform:translate(-50%)}.image-album-caption span{display:block}.image-album-placeholder{text-align:center;border:1px solid #ffffff38;border-radius:8px;align-content:center;gap:8px;width:100%;max-width:min(420px,100vw - 40px);min-height:220px;padding:22px;display:grid}.image-album-placeholder strong,.image-album-placeholder span{display:block}.image-album-placeholder strong{font-size:20px;line-height:1.2}.image-album-placeholder span{color:#ffffffb8;font-size:14px;font-weight:700;line-height:1.4}.video-page{background:#000;justify-content:center;align-items:center;width:100%;height:100svh;min-height:100svh;display:flex;position:relative;overflow:hidden}.video-display{object-fit:contain;width:100%;max-width:100vw;height:100%;max-height:100svh;display:block}.video-play-button{color:#111;cursor:pointer;background:#ffffffeb;border:0;border-radius:999px;min-width:96px;min-height:58px;padding:0 24px;font-size:18px;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.image-panel,.video-panel,.request-panel,.journey-panel{gap:18px;display:grid}.image-gallery{gap:14px;display:grid}.image-panel--gallery .image-gallery{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.image-card{gap:8px;min-width:0;margin:0;display:grid}.image-card img,.image-placeholder{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;width:100%;min-height:180px}.image-card img{aspect-ratio:4/3;object-fit:contain;display:block}.image-panel:not(.image-panel--gallery) .image-card img{aspect-ratio:auto;max-height:min(620px,66svh)}.image-placeholder{text-align:center;align-content:center;gap:6px;padding:18px;display:grid}.image-placeholder strong,.image-placeholder span{display:block}.image-placeholder strong{color:var(--text-strong);font-size:18px;line-height:1.2}.image-placeholder span,.image-card figcaption{color:var(--text-muted);font-size:13px;font-weight:700;line-height:1.35}.image-card figcaption{padding:0 2px}.video-card{gap:10px;min-width:0;margin:0;display:grid}.video-card video,.video-card img,.video-placeholder{background:var(--green-900);border:1px solid var(--border);border-radius:8px;width:100%}.video-card video,.video-card img{aspect-ratio:16/9;object-fit:contain;max-height:min(620px,66svh);display:block}.video-placeholder{color:var(--white);text-align:center;align-content:center;gap:6px;min-height:220px;padding:18px;display:grid}.video-placeholder strong,.video-placeholder span{display:block}.video-placeholder strong{font-size:18px;line-height:1.2}.video-placeholder span,.video-card figcaption{font-size:13px;font-weight:700;line-height:1.35}.video-placeholder span{color:#ffffffc7}.video-card figcaption{color:var(--text-muted);padding:0 2px}.timer-face{aspect-ratio:1;color:var(--text-strong);cursor:pointer;background:0 0;border:0;place-items:center;width:min(72svmin,430px);min-width:min(64vw,220px);max-width:min(72svmin,430px);margin:0 auto clamp(16px,3svh,28px);padding:0;display:grid;position:relative}.timer-face:disabled,.timer-face--readonly{cursor:default}.timer-face>svg,.timer-face>div{grid-area:1/1}.timer-face>svg{width:100%;height:100%;transform:rotate(-90deg)}.timer-track,.timer-progress{fill:none;stroke-width:8px}.timer-track{stroke:#002e2e1a}.timer-progress{stroke:var(--green-900);stroke-linecap:round;transition:stroke-dashoffset .2s}.timer-readout{flex-direction:column;align-items:center;gap:8px;display:flex}.timer-face strong{color:var(--text-strong);font-family:var(--brand-sans);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:clamp(48px,11svmin,78px);font-weight:700;line-height:1}.timer-state-icon{color:var(--teal-700);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:clamp(44px,8svmin,60px);height:clamp(44px,8svmin,60px)}.timer-state-icon path{fill:none}.timer-face--paused .timer-track,.timer-face--idle .timer-track{stroke:#002e2e1a}.timer-face--paused .timer-progress,.timer-face--idle .timer-progress{stroke:#002e2e6b}.timer-face--complete .timer-progress{stroke:var(--green-900)}.timer-face--complete .timer-readout{animation:.7s ease-in-out 2 timer-complete-pulse}.notification-row{border:1px solid var(--border);color:var(--text);background:#ffffff7a;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:min(100%,360px);min-height:46px;margin-bottom:14px;padding:9px 12px;font-size:15px;font-weight:500;line-height:1.25;display:flex}.shared-timer-row{color:var(--text);background:#8cc9d92e;border:1px solid #002e2e1a;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:min(100%,360px);min-height:46px;margin-bottom:14px;padding:9px 12px;font-size:15px;font-weight:500;line-height:1.25;display:flex}.shared-timer-row strong{color:var(--text-strong)}.form-complete{border-top:1px solid var(--border);text-align:center;align-content:center;gap:8px;min-height:240px;padding-top:22px;display:grid}.document-status{border-top:1px solid var(--border);text-align:center;align-content:center;gap:8px;min-height:220px;padding-top:22px;display:grid}.document-status:before{background:var(--green-900);color:var(--white);content:"PDF";border-radius:8px;justify-content:center;justify-self:center;align-items:center;width:42px;height:50px;margin-bottom:4px;font-size:12px;font-weight:900;display:inline-flex}.document-status--invalid:before{background:var(--orange-500);content:"!";border-radius:50%;width:50px;font-size:18px}.document-status strong,.document-status span{display:block}.document-status strong{color:var(--text-strong);font-family:var(--display);font-size:22px;font-weight:600;line-height:1.2}.document-status span{color:var(--text-muted);overflow-wrap:anywhere;font-size:14px;font-weight:700}.form-complete:before{background:var(--green-700);color:var(--white);content:"OK";border-radius:50%;justify-content:center;justify-self:center;align-items:center;width:46px;height:46px;margin-bottom:4px;font-size:12px;font-weight:900;display:inline-flex}.form-complete strong,.form-complete span{display:block}.form-complete strong{color:var(--text-strong);font-family:var(--display);font-size:22px;font-weight:600;line-height:1.2}.form-complete span{color:var(--text-muted);font-size:14px;font-weight:700}.request-primary-action{width:100%;min-height:72px;font-size:20px}.request-primary-action:disabled{cursor:default;opacity:.62}.request-status{background:var(--white);border:1px solid var(--border);text-align:center;border-radius:8px;align-items:center;gap:18px;min-height:220px;padding:22px;display:grid}.request-status--waiting{border-color:#23877847}.request-status--acknowledged{background:#f3faf6;border-color:#246f4b47}.request-status--done{background:#f3faf6}.request-status--cancelled,.request-status--error{background:var(--surface-muted)}.request-status strong,.request-status span{display:block}.request-status strong{color:var(--text-strong);font-family:var(--display);font-size:24px;font-weight:600;line-height:1.15}.request-status span{color:var(--text-muted);margin-top:8px;font-size:15px;font-weight:700;line-height:1.4}.queue-number{color:var(--green-900);justify-content:center;align-items:baseline;gap:2px;display:inline-flex}.queue-number span{color:var(--teal-700);font-family:var(--display);margin:0;font-size:34px;font-weight:700}.queue-number strong{color:inherit;font-family:var(--brand-sans);font-variant-numeric:tabular-nums;font-size:clamp(74px,20vw,126px);font-weight:700;line-height:.9}.queue-context{color:var(--text-muted);text-align:center;margin:0;font-size:14px;font-weight:700;line-height:1.4}.journey-destination{background:var(--white);border:1px solid var(--border);border-radius:8px;gap:5px;padding:16px;display:grid}.journey-destination span,.journey-stats span,.journey-participant-list small{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:800;line-height:1.3}.journey-destination strong{color:var(--text-strong);font-family:var(--display);font-size:22px;font-weight:600;line-height:1.15}.journey-destination small{color:var(--text-muted);font-size:14px;font-weight:700;line-height:1.4}.journey-map{aspect-ratio:1.3;border:1px solid var(--border);background-color:#f8fcfa;background-image:linear-gradient(90deg,#2387781c 1px,#0000 1px),linear-gradient(0deg,#2387781c 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:8px;min-height:260px;position:relative;overflow:hidden}.journey-map-grid{border:1px dashed #2387783d;border-radius:999px;position:absolute;inset:14%}.journey-map-point{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 8px;font-size:11px;font-weight:900;line-height:1;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 22px #13332e2e}.journey-map-point--destination{color:var(--white);background:#1f4f46}.journey-map-point--participant{border:2px solid var(--white);color:#28322f;background:#f8c75a}.journey-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.journey-stats div{background:var(--white);border:1px solid var(--border);border-radius:8px;gap:5px;min-width:0;padding:14px;display:grid}.journey-stats strong{color:var(--text-strong);font-family:var(--brand-sans);font-size:22px;font-weight:800;line-height:1.1}.journey-actions{gap:10px;display:grid}.journey-primary-action{min-height:64px;font-size:18px}.journey-primary-action:disabled{cursor:default;opacity:.72}.journey-participant-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.journey-participant-list li{background:var(--white);border:1px solid var(--border);border-radius:8px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:12px 14px;display:grid}.journey-participant-list li.is-own-participant{background:#f3faf6;border-color:#246f4b47}.journey-participant-dot{background:#f8c75a;border-radius:999px;width:12px;height:12px}.journey-participant-list strong,.journey-participant-list span{color:var(--text-strong);font-weight:800;line-height:1.25;display:block}.journey-participant-list span:last-child{font-family:var(--mono);font-size:13px}.journey-empty{background:var(--surface-muted);border:1px solid var(--border);color:var(--text-muted);text-align:center;border-radius:8px;padding:16px;font-size:14px;font-weight:800;line-height:1.4}.public-form{gap:14px;display:grid}.form-field{gap:8px;display:grid}.form-field>span{color:var(--text-strong);justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:800;display:flex}.form-field small{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:800}.form-field input,.form-field select,.form-field textarea{background:var(--white);border:1px solid var(--border-strong);color:var(--text-strong);border-radius:8px;width:100%;min-height:46px;padding:10px 12px}.form-field textarea{resize:vertical;min-height:128px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--teal-700);outline:3px solid #2387782e}.text-action{color:var(--teal-700);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:15px;font-weight:600}.timer-actions{grid-template-columns:1fr 1fr;gap:10px;width:min(100%,360px);margin-top:auto;display:grid}.timer-actions--reset-only{grid-template-columns:1fr}.primary-action,.secondary-action{cursor:pointer;font:inherit;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:0 16px;font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.primary-action{background:var(--green-900);border:1px solid var(--green-900);color:var(--white)}.secondary-action{background:var(--white);border:1px solid var(--border-strong);color:var(--text-strong)}.primary-action:hover,.secondary-action:hover{transform:translateY(-1px)}.primary-action:focus-visible,.secondary-action:focus-visible,.text-action:focus-visible,.brand-lockup:focus-visible,.timer-face:focus-visible{outline-offset:3px;outline:3px solid #2387783d}.checklist{gap:10px;display:grid}.period-complete{border-top:1px solid var(--border);text-align:center;align-content:center;gap:8px;min-height:240px;padding-top:22px;display:grid}.period-complete:before{background:var(--green-700);color:var(--white);content:"OK";border-radius:50%;justify-content:center;justify-self:center;align-items:center;width:46px;height:46px;margin-bottom:4px;font-size:12px;font-weight:900;display:inline-flex}.period-complete strong,.period-complete span{display:block}.period-complete strong{color:var(--text-strong);font-family:var(--display);font-size:22px;font-weight:600;line-height:1.2}.period-complete span{color:var(--text-muted);font-size:14px;font-weight:700}.checklist-item{background:var(--white);border:1px solid var(--border);cursor:pointer;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:12px;min-height:86px;padding:16px;display:grid;position:relative}.checklist-item input{opacity:0;position:absolute}.checkmark{background:var(--surface-muted);border:1px solid var(--border-strong);border-radius:6px;width:22px;height:22px;display:inline-flex}.checklist-item.is-complete{background:#f3faf6;border-color:#246f4b47}.checklist-item.is-disabled{cursor:default;opacity:.62}.checklist-item.is-complete .checkmark{background:var(--green-700);border-color:var(--green-700)}.checklist-item.is-complete .checkmark:after{color:var(--white);content:"OK";text-align:center;width:100%;font-size:8px;font-weight:900;line-height:22px}.checklist-item strong,.checklist-item small{display:block}.checklist-item strong{color:var(--text-strong);font-size:16px;line-height:1.25}.checklist-item small{color:var(--text-muted);margin-top:5px;font-size:13px;line-height:1.4}.checklist-item:focus-within{outline-offset:2px;outline:3px solid #2387783d}.sync-error{color:#a33d4d;margin:0;font-size:14px;font-weight:800}.instructions-list{counter-reset:instruction;gap:12px;margin:0;padding:0;list-style:none;display:grid}.instructions-list li{color:var(--text);grid-template-columns:30px minmax(0,1fr);gap:12px;line-height:1.45;display:grid}.instructions-list li:before{background:var(--teal-50);color:var(--teal-700);content:counter(instruction);counter-increment:instruction;border:1px solid #2277682e;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:900;display:inline-flex}.system-state{align-content:center;gap:20px;min-height:calc(100svh - 73px);padding:clamp(28px,8vw,84px);display:grid}.system-state code{background:var(--surface-muted);border:1px solid var(--border);color:var(--text-strong);font-family:var(--mono);border-radius:6px;padding:2px 6px;font-size:.9em;display:inline-flex}.state-actions{flex-wrap:wrap;justify-self:start;gap:10px;margin-top:6px;display:flex}@media (width<=980px){.dashboard-grid{grid-template-columns:1fr}}@media (width<=680px){.app-header{flex-direction:column;align-items:flex-start;gap:12px;padding-top:16px;padding-bottom:16px}.environment-strip{width:100%}.timer-actions,.journey-stats{grid-template-columns:1fr}}@keyframes timer-complete-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner,.timer-face--complete .timer-readout{animation:none}.timer-progress,.primary-action,.secondary-action{transition:none}}
