.guest-dossier-page{background:radial-gradient(ellipse at 5% 0%,color-mix(in oklab, var(--primary) 10%, transparent),transparent 45%),var(--background);min-height:100dvh}.guest-dossier{width:min(100% - 2rem,68rem);margin-inline:auto;padding-block:clamp(2rem,5vw,4.5rem)}.guest-dossier__heading{max-width:48rem;margin-bottom:2rem}.guest-dossier__heading h1{font-family:var(--font-display,inherit);text-wrap:balance;margin-block:.75rem 1rem;font-size:clamp(2rem,5vw,3.5rem);line-height:1.1}.guest-eyebrow,.guest-step{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.guest-dossier p,.guest-booking-entry p,.guest-admin p{line-height:1.65}.guest-panel{border:1px solid color-mix(in oklab, var(--border) 80%, transparent);background:color-mix(in oklab, var(--card) 90%, transparent);border-radius:1.25rem;min-width:0;margin-bottom:1.25rem;padding:clamp(1rem,3vw,1.8rem)}.guest-panel :is(h2,h3){margin-block:.5rem .8rem;font-size:1.25rem;font-weight:750;line-height:1.3}.guest-panel h4{font-size:.95rem;font-weight:700}.guest-panel>p{margin-block:.65rem}.guest-panel>button{margin-block:.45rem;margin-right:.5rem}.guest-summary dl,.guest-admin__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-block:1.25rem;display:grid}.guest-summary dl>div,.guest-admin__facts>div{background:color-mix(in oklab, var(--secondary) 45%, transparent);border:1px solid color-mix(in oklab, var(--border) 60%, transparent);border-radius:.75rem;min-width:0;padding:.8rem}.guest-summary dt,.guest-admin__facts dt{color:var(--muted-foreground);font-size:.76rem}.guest-summary dd,.guest-admin__facts dd{overflow-wrap:anywhere;margin-top:.2rem;font-weight:700}.guest-check{cursor:pointer;align-items:flex-start;gap:.7rem;padding:.8rem 0;font-size:.9rem;line-height:1.55;display:flex}.guest-check input{width:1.15rem;height:1.15rem;accent-color:var(--primary);flex:none;margin-top:.15rem}.guest-check a,.guest-session a,.guest-error a{text-underline-offset:.2em;text-decoration:underline}.guest-help{color:var(--muted-foreground);font-size:.8rem}.guest-notice,.guest-error,.guest-success{overflow-wrap:anywhere;border-radius:.75rem;margin-block:1rem;padding:.9rem 1rem;font-size:.9rem}.guest-notice{background:color-mix(in oklab, var(--primary) 8%, transparent);border:1px solid color-mix(in oklab, var(--primary) 25%, transparent)}.guest-error{background:color-mix(in oklab, var(--destructive) 9%, transparent);border:1px solid color-mix(in oklab, var(--destructive) 45%, transparent)}.guest-success{background:color-mix(in oklab,var(--success) 10%,transparent);border:1px solid color-mix(in oklab,var(--success) 35%,transparent)}.guest-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.7rem;display:flex}.guest-document-list{gap:.8rem;margin-block:1rem;display:grid}.guest-document{border:1px solid var(--border);border-radius:.8rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.guest-document>div{min-width:0}.guest-document p{color:var(--muted-foreground);margin-top:.25rem;font-size:.8rem}.guest-document input[type=file]{width:18rem;max-width:100%;min-height:2.75rem;margin-block:.5rem;font-size:.8rem;display:block}.guest-file-label{font-size:.8rem;font-weight:650;display:block}.guest-signature{border:2px solid var(--border);background:#fff;border-radius:.75rem;max-width:36rem;margin-block:1rem;overflow:hidden}.guest-signature__canvas{touch-action:none;width:100%;height:12rem;display:block}.guest-session{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem;font-size:.85rem;display:flex}.guest-booking-entry{border:1px solid color-mix(in oklab, var(--primary) 40%, transparent);background:color-mix(in oklab, var(--primary) 7%, transparent);border-radius:1rem;flex-wrap:wrap;align-items:center;gap:1rem;margin-block:1rem;padding:1.3rem;display:flex}.guest-booking-entry>div{flex:20rem}.guest-booking-entry h2{margin-block:.4rem;font-weight:750}.guest-booking-entry p{font-size:.85rem}.guest-booking-entry>.guest-help{flex-basis:100%}.guest-request-form{gap:1rem;display:grid}.guest-request-form>div>label{margin-bottom:.4rem;display:block}.guest-admin{margin-block:1.5rem}.guest-admin__heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.guest-admin__heading>div{max-width:46rem}.guest-admin__heading h2{margin-block:.4rem;font-size:1.6rem;font-weight:750}.guest-admin__heading p{color:var(--muted-foreground);font-size:.9rem}.guest-admin__layout{grid-template-columns:minmax(15rem,.7fr) minmax(0,1.6fr);align-items:start;gap:1rem;display:grid}.guest-admin__list>label{margin-bottom:.5rem;font-size:.8rem;font-weight:650;display:block}.guest-admin__list ul{gap:.5rem;max-height:65dvh;margin-top:1rem;display:grid;overflow-y:auto}.guest-admin__list li button{text-align:left;border:1px solid var(--border);border-radius:.75rem;gap:.3rem;width:100%;padding:.85rem;transition:border-color .15s,background .15s;display:grid}.guest-admin__list li button span,.guest-admin__list li button small{overflow-wrap:anywhere;font-size:.8rem}.guest-admin__list li button[aria-pressed=true]{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 10%, transparent)}.guest-admin__list li button:hover{border-color:color-mix(in oklab, var(--primary) 60%, transparent)}.guest-checklist{gap:.6rem;margin-block:1rem;font-size:.9rem;display:grid}.guest-admin__revoke{border-color:color-mix(in oklab, var(--destructive) 30%, transparent)}:is(.guest-dossier,.guest-admin,.guest-request-dialog,.guest-booking-entry) button{white-space:normal;height:auto;min-height:2.75rem;padding-block:.65rem}:is(.guest-dossier,.guest-admin,.guest-request-dialog) :focus-visible{outline:2px solid var(--primary);outline-offset:3px}@media (width<=800px){.guest-admin__layout{grid-template-columns:minmax(0,1fr)}.guest-admin__list ul{max-height:18rem}}@media (width<=480px){.guest-summary dl,.guest-admin__facts{grid-template-columns:minmax(0,1fr)}.guest-document{display:block}.guest-document>div+div{margin-top:.8rem}.guest-panel>button{width:100%;margin-right:0}.guest-dossier{width:calc(100% - 1.5rem)}}@media (prefers-reduced-motion:reduce){.guest-admin__list li button{transition:none}}.guest-admin .guest-admin-upload{border:1px solid var(--border);border-radius:.8rem;margin-block:1rem;padding:1rem}.guest-admin .guest-admin-upload summary{cursor:pointer;min-height:44px;padding:.5rem 0;font-weight:650;display:list-item}.guest-admin .guest-admin-upload>label{margin:.75rem 0 .4rem;font-size:.9rem;font-weight:600;display:block}.guest-admin .guest-admin-upload select{border:1px solid var(--border);background:var(--background);width:100%;min-height:44px;color:var(--foreground);border-radius:.6rem;padding:.65rem .75rem;font-size:16px}.guest-admin .guest-admin-upload__choices{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}.guest-admin .guest-admin-upload__choice{border:1px solid var(--border);background:var(--background);min-height:44px;color:var(--foreground);cursor:pointer;border-radius:.65rem;flex:12rem;justify-content:center;align-items:center;gap:.5rem;padding:.65rem .8rem;font-size:.9rem;display:flex;position:relative}.guest-admin .guest-admin-upload__input{clip-path:inset(50%);white-space:nowrap;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;position:absolute!important;inset:auto!important;overflow:hidden!important}.guest-admin .guest-admin-upload__choice:focus-within{outline:2px solid var(--primary);outline-offset:3px}.guest-admin .guest-admin-upload__choice:has(input:disabled){opacity:.5;cursor:not-allowed}.guest-admin-file-dialog{overscroll-behavior:contain;flex-direction:column;max-height:95dvh;display:flex;overflow-y:auto}.guest-admin-file-dialog>img{object-fit:contain;background:var(--secondary);border:1px solid var(--border);border-radius:.5rem;width:100%;min-height:0;max-height:62dvh;display:block}.guest-admin-file-dialog .guest-actions{justify-content:flex-end}@media (width<=600px){.guest-admin-file-dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));border-radius:0}.guest-admin-file-dialog>img{object-fit:contain;flex:1;max-height:none}.guest-admin-file-dialog .guest-actions{grid-template-columns:1fr;width:100%;display:grid}}
