:root{--paper:#f7f8fa;--surface:#fff;--text:#121826;--muted:#4b5565;--rule:#e3e7ed;--field:#858fa3;--action:#121826;--action-hover:#2b3445;--ink:#0e7c6b;--ink-strong:#0a5f52;--ink-wash:#e7f4f1;--confirm:#1d6b45;--confirm-wash:#e5f3eb;--waiting:#7a4e00;--waiting-wash:#fcf0d6;--danger:#b42318;--danger-wash:#fdecea;--focus:#0e7c6b;--shadow-sm:0 1px 2px #1218260f;--shadow-md:0 1px 2px #1218260a, 0 8px 24px -12px #1218262e;--radius:12px;--font:"Atkinson Hyperlegible Next", "Atkinson Hyperlegible", Verdana, Arial, sans-serif;--gutter:clamp(16px, 5vw, 64px);--content:1180px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.large-text{font-size:118.75%}html.high-contrast{--paper:#fff;--text:#000;--muted:#1a1a1a;--rule:#000;--field:#000;--action:#000;--action-hover:#000;--ink:#00594d;--ink-strong:#000;--ink-wash:#d9f2ec;--shadow-sm:none;--shadow-md:none;--confirm:#004d26;--confirm-wash:#fff;--waiting:#000;--waiting-wash:#ffe680;--danger:#8a0000;--focus:#000}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--text);font-family:var(--font);margin:0;font-size:1.125rem;line-height:1.6}h1,h2,h3{margin:0;line-height:1.2}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--ink);text-underline-offset:.18em}a:hover{color:var(--ink-strong)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.high-contrast :focus-visible{outline-offset:3px;outline:4px solid #000}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.skip-link{z-index:99;border-radius:var(--radius);background:var(--text);color:#fff;padding:12px 18px;font-weight:700;position:fixed;top:-100px;left:16px}.skip-link:focus{color:#fff;top:12px}main:focus,main:focus-visible,main h1:focus,main h1:focus-visible{box-shadow:none;outline:none}.topbar{z-index:10;min-height:68px;padding:10px var(--gutter);background:var(--surface);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.3125rem;font-weight:800;text-decoration:none;display:inline-flex}.brand:hover{color:var(--text)}.brand-mark{flex:none;width:30px;height:30px}.brand-mark path:first-child{fill:var(--ink)}.brand-mark .brand-slit{stroke:var(--surface);stroke-width:1.6px;stroke-linecap:round}.brand-mark .brand-hole{fill:var(--surface)}.header-actions{align-items:center;gap:8px;display:flex}.tool-btn{border:1px solid var(--rule);white-space:nowrap;background:var(--surface);min-height:44px;color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:.9375rem;font-weight:700;display:inline-flex}.tool-btn:hover{border-color:var(--field)}.tool-btn svg{width:18px;height:18px}.tool-btn svg circle{fill:none;stroke:currentColor;stroke-width:1.8px}.tool-btn svg path{fill:currentColor}.tool-glyph{letter-spacing:-.02em;font-weight:800}.tool-btn[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--surface)}.tool-btn.sign-out{color:var(--ink);text-underline-offset:.18em;border-color:#0000;text-decoration:underline}footer{max-width:calc(var(--content) + 2 * var(--gutter));padding:28px var(--gutter) 36px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin:0 auto;font-size:.9375rem;display:flex}.screen{display:none}.screen.active{width:100%;max-width:calc(var(--content) + 2 * var(--gutter));min-height:calc(100vh - 180px);padding:clamp(32px, 6vw, 72px) var(--gutter) 64px;margin:0 auto;display:block}.primary-btn,.outline-btn{text-align:center;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:11px 22px;font-size:1rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.primary-btn{border:1px solid var(--action);background:var(--action);color:#fff;box-shadow:var(--shadow-sm)}.primary-btn:hover{border-color:var(--action-hover);background:var(--action-hover);color:#fff}.outline-btn{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);border:1px solid #cfd5de}.outline-btn:hover{border-color:var(--field);background:var(--surface);color:var(--text)}.high-contrast .outline-btn{border:2px solid #000}.primary-btn.block{width:100%}.button-link{text-decoration:none}button:disabled{opacity:.55;cursor:not-allowed}.back-btn{color:var(--ink);margin-bottom:20px;font-weight:700;display:inline-block}.danger-link,.inline-link,.signin button{text-underline-offset:.18em;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.danger-link{color:var(--danger);min-height:44px}.inline-link,.signin button{color:var(--ink)}.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(32px,6vw,88px);padding-bottom:clamp(48px,7vw,88px);display:grid}.hero-copy h1{letter-spacing:-.025em;max-width:13em;font-size:clamp(2.5rem,5.4vw,3.75rem);font-weight:800;line-height:1.05}.hero-copy>p{max-width:34em;color:var(--muted);margin-top:20px;font-size:1.25rem;line-height:1.55}.role-choices{grid-template-columns:minmax(0,1fr);gap:12px;max-width:520px;margin-top:32px;display:grid}.role-card{border:1px solid var(--rule);background:var(--surface);color:var(--text);text-align:left;box-shadow:var(--shadow-sm);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:16px 18px;transition:border-color .15s,box-shadow .15s;display:grid}.role-card:hover{border-color:var(--field);box-shadow:var(--shadow-md)}.role-icon{background:var(--ink-wash);width:44px;height:44px;color:var(--ink);border-radius:12px;grid-row:span 2;place-items:center;display:grid}.role-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.role-card strong{font-size:1.125rem}.role-card small{color:var(--muted);grid-column:2;font-size:.9375rem;line-height:1.4}.role-chevron{fill:none;width:20px;height:20px;stroke:var(--muted);stroke-width:2px;grid-area:1/3/span 2}.high-contrast .role-card{border:2px solid #000}.welcome-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:32px;display:flex}.signin{color:var(--muted);margin-top:18px}.sample-ticket{margin:0}.sample-ticket .request-card{box-shadow:var(--shadow-md)}.sample-ticket figcaption{color:var(--muted);margin-top:14px;font-size:.9375rem}.how-it-works{border-top:1px solid var(--rule);padding-top:clamp(36px,5vw,56px)}.how-it-works h2{font-size:1.75rem;font-weight:800}.how-it-works ol{counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,48px);margin:28px 0 0;padding:0;list-style:none;display:grid}.how-it-works li{counter-increment:step}.how-it-works li:before{content:counter(step);border:2px solid var(--ink);width:36px;height:36px;color:var(--ink);border-radius:50%;place-items:center;margin-bottom:14px;font-weight:800;display:grid}.how-it-works h3{font-size:1.25rem;font-weight:700}.how-it-works p{max-width:30em;color:var(--muted);margin-top:6px}.request-list{gap:16px;margin-top:16px;display:grid}.request-card{border:1px solid var(--rule);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:18px;padding:24px}.high-contrast .request-card{border:2px solid #000}.request-card-head{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:18px;display:grid}.request-card-head h2{letter-spacing:-.015em;margin-top:8px;font-size:1.5rem;font-weight:800}.request-card-head p{color:var(--muted);margin-top:2px}.request-card-head .request-time{color:var(--text);align-items:center;gap:6px;margin-top:8px;font-size:1rem;font-weight:700;display:inline-flex}.request-time svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:16px;height:16px}.request-status{background:var(--waiting-wash);color:var(--waiting);border-radius:999px;align-items:center;gap:8px;padding:3px 12px 3px 10px;font-size:.875rem;font-weight:700;display:inline-flex}.request-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.status-accepted .request-status{background:var(--confirm-wash);color:var(--confirm)}.status-cancelled .request-status,.status-missed .request-status{color:var(--muted);background:#eef0f3}.high-contrast .request-status{border:1.5px solid}.date-badge{border:1px solid var(--rule);background:var(--surface);text-align:center;border-radius:14px;flex-direction:column;align-items:center;width:76px;padding-bottom:8px;display:flex;overflow:hidden}.date-month{background:var(--ink);color:#fff;align-self:stretch;padding:4px 0;font-size:.8125rem;font-weight:700}.date-day{letter-spacing:-.02em;margin-top:4px;font-size:1.875rem;font-weight:800;line-height:1.1}.date-weekday{color:var(--muted);font-size:.8125rem;font-weight:700}.high-contrast .date-badge{border:2px solid #000}.status-cancelled .date-month,.status-missed .date-month{background:#8a94a6}.status-cancelled .request-card-head h2{color:var(--muted)}.ticket-body{margin-top:4px}.match-row{border-radius:var(--radius);background:var(--confirm-wash);align-items:center;gap:14px;margin-top:20px;padding:14px 16px;display:flex}.high-contrast .match-row{border:1.5px solid #000}.avatar{background:var(--confirm);color:#fff;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-weight:800;display:grid}.match-row h3{font-size:1.1875rem;font-weight:700}.match-row p{color:var(--muted);font-size:.9375rem}.stars{margin-top:2px;font-size:.9375rem;font-weight:700}.stars span{color:#a86a00}.stars small{color:var(--muted);font-weight:400}.facts{border-top:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:20px 0 0;padding-top:18px;display:grid}.facts dt{color:var(--muted);font-size:.875rem}.facts dd{overflow-wrap:anywhere;margin:2px 0 0;font-weight:700}.button-row{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:22px;display:flex}.inline-rating{border-top:1px solid var(--rule);margin-top:22px;padding-top:18px}.inline-rating h3{font-size:1.1875rem}.rating-stars{gap:4px;margin:8px 0 12px;display:flex}.rating-stars button{color:#a7b0c0;background:0 0;border:0;border-radius:8px;width:48px;height:48px;font-size:2rem;line-height:1}.rating-stars button.selected,.rating-stars button:hover{color:#c27c00}.inline-rating textarea{width:100%;margin-bottom:12px;display:block}.empty-card{border:1.5px dashed var(--field);background:var(--surface);border-radius:18px;padding:32px}.empty-card h2{font-size:1.25rem}.empty-card p{color:var(--muted);margin-top:6px}.empty-card .button-link{margin-top:18px}.dash-head{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 32px;padding-bottom:28px;display:flex}.dash-head h1{letter-spacing:-.02em;font-size:clamp(2rem,4vw,2.75rem);font-weight:800}.dash-head p{color:var(--muted);margin-top:6px}.dash-actions{flex-wrap:wrap;gap:12px;display:flex}.dash-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:clamp(28px,4vw,56px);display:grid}.section-title{margin-top:32px;font-size:1.375rem;font-weight:800}.dash-main>.section-title:first-child,.dash-main>.form-error+.section-title{margin-top:32px}.dash-aside{gap:24px;margin-top:32px;display:grid;position:sticky;top:92px}.aside-block h2{font-size:1.0625rem;font-weight:800}.aside-block p,.aside-block li{color:var(--muted);font-size:1rem}.aside-block p{margin-top:6px}.aside-block ul{margin:6px 0 0;padding-left:1.1em}.aside-block li+li{margin-top:6px}.aside-block+.aside-block{border-top:1px solid var(--rule);padding-top:24px}.form-heading,.form-card,.profile-notice{max-width:760px;margin-left:auto;margin-right:auto}.form-heading{margin-bottom:28px}.form-heading h1{letter-spacing:-.02em;font-size:clamp(2rem,4.4vw,2.75rem);font-weight:800}.form-heading p{max-width:36em;color:var(--muted);margin-top:8px}.form-card{border:1px solid var(--rule);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:20px;padding:clamp(22px,4vw,40px)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;display:grid}.full{grid-column:1/-1}.form-grid>label,.split label,legend{font-weight:700}.split{grid-template-columns:1fr 1fr;gap:12px;display:grid}legend small{color:var(--muted);font-weight:400}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:10px;padding:0}.form-grid input:not([type=checkbox]):not([type=radio]):not([type=file]),.form-grid select,.form-grid textarea,.inline-rating textarea{border:1.5px solid var(--field);background:var(--surface);width:100%;min-height:52px;color:var(--text);border-radius:12px;margin-top:8px;padding:12px 16px;font-weight:400;display:block}.form-grid textarea,.inline-rating textarea{resize:vertical;min-height:112px}.form-grid input:focus-visible,.form-grid select:focus-visible,.form-grid textarea:focus-visible,.inline-rating textarea:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--focus)}::placeholder{color:#6b778c;opacity:1}.form-grid .input-action{border:1.5px solid var(--field);background:var(--surface);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;margin-top:8px;display:grid}.form-grid .input-action:focus-within{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--focus)}.form-grid .input-action input:not([type=checkbox]):not([type=radio]):not([type=file]){border:0;outline:0;margin:0}.form-grid .input-action input:focus-visible{outline:0}.otp-btn{background:var(--ink-wash);color:var(--ink);white-space:nowrap;border-radius:999px;align-self:center;margin:6px;padding:8px 14px;font-size:.9375rem;font-weight:700;text-decoration:none}.choice-pills{flex-wrap:wrap;gap:10px;display:flex}.choice-pills label{position:relative}.choice-pills input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice-pills span{border:1.5px solid var(--field);background:var(--surface);border-radius:999px;min-height:46px;padding:10px 18px;font-weight:400;display:block}.choice-pills input:checked+span{border-color:var(--ink);background:var(--ink-wash);color:var(--ink-strong);font-weight:700}.choice-pills input:checked+span:before{content:"✓ "}.choice-pills input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.upload-box{border:1.5px dashed var(--field);background:var(--paper);cursor:pointer;border-radius:16px;flex-direction:column;align-items:flex-start;gap:2px;padding:20px 22px;display:flex;position:relative}.upload-box input{opacity:0;width:1px;height:1px;position:absolute}.upload-box>span{display:none}.upload-box strong:after{content:"Choose file";background:var(--surface);color:var(--text);border:1px solid #cfd5de;border-radius:999px;margin-left:12px;padding:4px 12px;font-size:.9375rem;display:inline-block}.upload-box small{color:var(--muted);font-size:.9375rem;font-weight:400}.upload-box:focus-within{outline:3px solid var(--focus);outline-offset:3px}.check-row{align-items:flex-start;gap:12px;margin:24px 0 8px;display:flex}.check-row input{width:22px;height:22px;accent-color:var(--ink);flex:none;margin-top:3px}.hint{color:var(--muted);margin:16px 0 0;font-size:1rem}.form-error{border-left:4px solid var(--danger);background:var(--danger-wash);color:var(--danger);border-radius:6px;margin:18px 0 0;padding:12px 16px;font-weight:700}.field-error{color:var(--danger)!important;font-weight:700!important}.form-card>.primary-btn{width:100%;margin-top:24px}.form-card .signin{margin-top:18px}.notice{border-left:4px solid var(--waiting);background:var(--waiting-wash);border-radius:6px;gap:12px;padding:14px 18px;display:flex}.notice.blue{border-left-color:var(--ink);background:var(--ink-wash)}.notice b{display:none}.notice p{font-size:1rem}.config-notice{max-width:var(--content);margin:20px auto 0}.profile-notice{margin-bottom:24px}.success-screen.active{max-width:calc(640px + 2 * var(--gutter));padding-top:clamp(48px,9vw,104px)}.success-icon{background:var(--confirm);color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;margin-bottom:24px;font-size:1.75rem;font-weight:800;display:grid}.success-screen h1{letter-spacing:-.02em;font-size:clamp(2rem,4.4vw,2.75rem);font-weight:800}.success-screen>p{color:var(--muted);margin:12px 0 28px;font-size:1.1875rem}.matching-card{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);gap:14px;margin-bottom:28px;padding:16px 18px;display:flex}.matching-card strong,.matching-card small{display:block}.matching-card small{color:var(--muted);font-size:.9375rem}.pulse{background:var(--waiting);border-radius:50%;flex:none;width:12px;height:12px;margin-top:8px}.toast{z-index:30;border-radius:var(--radius);background:var(--text);color:#fff;visibility:hidden;opacity:0;max-width:calc(100% - 32px);padding:12px 20px;font-weight:700;transition:transform .25s,opacity .25s,visibility 0s linear .25s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,24px)}.toast.show{visibility:visible;opacity:1;transition-delay:0s;transform:translate(-50%)}.muted{color:var(--muted)}.auth-screen.active{max-width:calc(460px + 2 * var(--gutter))}.auth-card{border:1px solid var(--rule);background:var(--surface);box-shadow:var(--shadow-md);border-radius:20px;padding:clamp(24px,5vw,36px)}.high-contrast .auth-card{border:2px solid #000}.auth-card h1{letter-spacing:-.02em;font-size:1.875rem;font-weight:800}.auth-lead{color:var(--muted);margin-top:8px;font-size:1rem}.auth-lead strong{color:var(--text);overflow-wrap:anywhere}.auth-card .field{margin-top:24px;font-weight:700;display:block}.field-help{color:var(--muted);margin-top:10px;font-size:.9375rem}.auth-card .primary-btn{margin-top:20px}.auth-foot{color:var(--muted);text-align:center;margin-top:18px;font-size:.9375rem}.text-input{border:1.5px solid var(--field);background:var(--surface);width:100%;min-height:52px;color:var(--text);border-radius:12px;margin-top:8px;padding:12px 16px;display:block}.text-input:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--focus)}.code-input{margin-top:8px;position:relative}.code-input input{z-index:1;color:#0000;caret-color:#0000;background:0 0;border:0;outline:none;width:100%;font-size:1px;position:absolute;inset:0}.code-boxes{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.code-boxes span{border:1.5px solid var(--field);background:var(--surface);border-radius:12px;place-items:center;height:60px;font-size:1.625rem;font-weight:800;display:grid}.code-input:focus-within .code-boxes span.current{border-color:var(--focus);outline:3px solid var(--ink-wash)}.high-contrast .code-input:focus-within .code-boxes span.current{outline:3px solid #000}.code-input input:disabled+.code-boxes{opacity:.6}.spinner{border:3px solid var(--rule);border-top-color:var(--ink);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin;display:inline-block}.spinner.small{border-width:2px;border-color:#fff #ffffff59 #ffffff59;width:18px;height:18px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:1.6s linear infinite spin!important}}.loading-screen.active{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.loading-screen h1{font-size:1.0625rem;font-weight:700}@media (width<=960px){.hero{grid-template-columns:minmax(0,1fr)}.sample-ticket{max-width:560px}.dash-layout{grid-template-columns:1fr}.dash-aside{border-top:1px solid var(--rule);margin-top:8px;padding-top:24px;position:static}}@media (width<=720px){.how-it-works ol,.form-grid{grid-template-columns:1fr}}@media (width<=560px){.tool-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tool-btn{padding:0 11px}.tool-btn.sign-out{padding:0 6px}.request-card{padding:18px}.request-card-head{gap:14px}.request-card-head h2{font-size:1.3125rem}.date-badge{width:64px}.date-day{font-size:1.5rem}.brand{font-size:1.125rem}.facts,.split{grid-template-columns:1fr}.dash-actions,.dash-actions>*{width:100%}.button-row>.primary-btn,.button-row>.outline-btn{flex:100%}}
