*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.absolute{position:absolute}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:.5rem}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--bg:#f8fafc;--panel:#ffffff;--panel-muted:#f4f8fb;--panel-soft:#eef8fd;--line:#e5edf3;--line-strong:#c9d8e3;--text:#111827;--muted:#64748b;--brand:#009cde;--brand-strong:#007eb6;--brand-soft:#e6f7fd;--brand-border:#b8e7f8;--success:#059669;--success-soft:#e7f8f0;--success-border:#b9ebd1;--warning:#b7791f;--warning-soft:#fff7df;--warning-border:#f2d58a;--danger:#dc2626;--danger-soft:#fef2f2;--danger-border:#fecaca;--focus-ring:rgba(0,156,222,0.2);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--ease-standard:cubic-bezier(0.2,0,0,1);--duration-fast:160ms;--duration-base:200ms;--shadow-card:0 8px 24px rgba(15,23,42,0.07);--shadow-nav:0 1px 12px rgba(15,23,42,0.06)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}html{scrollbar-gutter:stable}body{background-color:var(--bg);color:var(--text);font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit;letter-spacing:0}a{color:inherit;text-decoration:none}.home-shell{gap:var(--space-5);width:min(768px,calc(100% - 32px));min-height:calc(100vh - 64px);padding:var(--space-6) 0 var(--space-10);align-content:start}.home-shell,.site-shell{display:grid;margin:0 auto}.site-shell{grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:var(--space-8);width:min(1024px,calc(100% - 32px));min-height:100vh;padding:64px 0;align-items:center}.form-panel,.home-hero,.intro-panel{background:var(--panel);border:1px solid transparent;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.menu-section{background:transparent;border:0;border-radius:0;box-shadow:none}.home-hero{min-height:200px;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-8);position:relative;overflow:hidden}.home-hero.service-hero{min-height:260px}.home-hero .eyebrow{color:var(--brand-strong)}.home-hero.danger .eyebrow,.home-hero.danger .service-label{color:var(--danger)}.home-hero.danger .service-label{border-color:var(--danger-border);background:var(--danger-soft)}.home-hero.success .eyebrow,.home-hero.success .service-label{color:var(--success)}.home-hero.success .service-label{border-color:var(--success-border);background:var(--success-soft)}.home-hero:before,.intro-panel:before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:16px 16px;opacity:.15;pointer-events:none}.intro-panel{min-height:480px;flex-direction:column;padding:28px;overflow:hidden}.brand-row,.intro-panel{display:flex;justify-content:space-between;position:relative}.brand-row{z-index:1;align-items:center;gap:var(--space-4)}.brand-logo{width:min(140px,40vw);height:auto;-o-object-fit:contain;object-fit:contain}.service-label{flex:0 0 auto;border:1px solid var(--line);border-radius:var(--radius-full);padding:var(--space-1) 10px;color:var(--brand-strong);background:var(--brand-soft);font-size:12px;font-weight:700}.home-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.account-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);color:var(--text);padding:0 10px;font-family:inherit;font-size:12px;font-weight:600;box-sizing:border-box;cursor:pointer;line-height:1;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.account-link:hover{background:var(--panel-muted);border-color:transparent;color:var(--brand-strong)}.account-link.primary{border-color:var(--brand);background:var(--brand);color:var(--panel)}.account-link.primary:hover{border-color:var(--brand-strong);background:var(--brand-strong);color:var(--panel)}.home-copy,.intro-copy{position:relative;z-index:1}.eyebrow{margin:0 0 6px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:0;text-transform:uppercase}h1,h2,h3{margin:0;font-weight:700;letter-spacing:0}h1{font-size:clamp(28px,4.5vw,38px);line-height:1.15}h1,h2{color:var(--text)}h2{font-size:18px;line-height:1.3}.home-copy p:last-child,.intro-copy p:last-child{margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.6;word-break:keep-all}.menu-section{padding:var(--space-6)}.section-header{margin-bottom:var(--space-8)}.section-header h2{font-size:28px;font-weight:800;line-height:1.25}.menu-grid{display:grid;gap:var(--space-3)}.menu-card{display:grid;grid-template-columns:40px minmax(0,1fr) 28px;align-items:center;gap:var(--space-4);border:1px solid transparent;border-radius:var(--radius-lg);background:var(--panel);padding:var(--space-5);transition:transform var(--duration-base) var(--ease-standard),background-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard);box-shadow:none}.menu-card.single-column{grid-template-columns:minmax(0,1fr)}.menu-card:hover{background:var(--panel-soft);border-color:transparent;box-shadow:var(--shadow-card);transform:translateY(-1px)}.menu-card.pending:hover{background:var(--warning-soft)}.menu-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--brand-border);background:var(--brand-soft);color:var(--brand-strong);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.menu-icon.success{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.menu-icon.warning{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.menu-icon.danger{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.menu-icon.neutral{border-color:var(--line);background:var(--panel-muted);color:var(--muted)}.menu-card:hover .menu-icon{transform:scale(1.04)}.menu-content{display:grid;gap:4px;min-width:0}.menu-content strong{color:var(--text);font-size:15px;font-weight:600}.menu-content span{color:var(--muted);font-size:13px;line-height:1.5;word-break:keep-all}.menu-arrow{color:var(--muted);justify-self:end;transition:transform var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.menu-card:hover .menu-arrow{transform:translateX(3px);color:var(--brand-strong)}.menu-card.pending .menu-arrow{color:var(--warning);opacity:.7}.status-badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;min-height:22px;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand-strong);padding:0 var(--space-2);font-size:12px;font-weight:700;line-height:1.2}.status-badge.success{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.status-badge.warning{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.status-badge.danger{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.status-badge.neutral{border-color:var(--line);background:var(--panel-muted);color:var(--muted)}.back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:16px;color:var(--muted);font-size:12px;font-weight:500;transition:color .15s ease}.back-link:hover{color:var(--text)}.form-panel{padding:var(--space-8)}.form-header{margin-bottom:var(--space-6)}.application-form{display:grid;gap:var(--space-4)}.application-form.relaxed{gap:var(--space-8)}.form-step-section{display:grid;gap:18px}.form-step-heading{gap:8px;color:var(--text);font-size:15px}.form-step-heading,.form-step-heading span{display:inline-flex;align-items:center;font-weight:700}.form-step-heading span{justify-content:center;width:24px;height:24px;border-radius:999px;background:var(--brand);color:var(--panel);font-size:12px}.form-step-fields{display:grid;gap:16px}.field{display:grid;gap:6px}.field label{color:var(--text);font-size:13px;font-weight:600}.field input,.field select,.field textarea{width:100%;min-height:38px;border:none;border-bottom:1.5px solid var(--line);border-radius:0;background:transparent;color:var(--text);padding:8px 0;outline:none;font-size:15px;transition:border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 6px 0 -4px var(--focus-ring)}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--danger)}.address-field{gap:8px}.address-search-row{display:grid;grid-template-columns:minmax(90px,.3fr) minmax(132px,.7fr);gap:8px}.field input.postcode-input{background:var(--panel-muted);color:var(--muted)}.address-search-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);color:var(--text);cursor:pointer;font-size:13px;font-weight:500;transition:background-color .15s ease,border-color .15s ease}.address-search-button:hover{background:var(--panel-muted);border-color:var(--line-strong)}.address-base-wrap{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);padding:0 10px}.address-base-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.address-base-wrap svg{color:var(--muted)}.address-base-wrap input{min-height:36px;border:0;border-radius:0;padding:0}.address-base-wrap input:focus{box-shadow:none}.field-error,.form-message{margin:0;font-size:12px;line-height:1.4}.field-error,.form-message.error{color:var(--danger)}.form-message.success{color:var(--success);font-weight:600}.field-help{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.file-attachment-field{display:grid;gap:10px;padding-top:4px}.file-attachment-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.file-attachment-header label{color:var(--text);font-size:13px;font-weight:600}.file-attachment-input{display:none}.file-attachment-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.file-attachment-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:44px;border-bottom:1px solid var(--line);padding:8px 0}.file-attachment-list span,.file-attachment-list strong{display:block;overflow-wrap:anywhere}.file-attachment-list strong{color:var(--text);font-size:14px;line-height:1.4}.file-attachment-list span{color:var(--muted);font-size:12px;line-height:1.4}.file-attachment-actions,.submit-button{display:inline-flex;gap:6px}.submit-button{align-items:center;justify-content:center;width:100%;min-height:38px;margin-top:4px;border:0;border-radius:var(--radius-md);background:var(--brand);color:var(--panel);cursor:pointer;font-size:14px;font-weight:500;transition:background-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.submit-button:hover{background:var(--brand-strong);box-shadow:0 8px 20px var(--focus-ring);transform:translateY(-1px)}.submit-button:disabled{cursor:not-allowed;opacity:.5}.auth-shell{align-items:center}.auth-panel{align-self:center}.auth-switch{margin:16px 0 0;color:var(--muted);font-size:13px;line-height:1.5;text-align:center}.auth-switch a{color:var(--text);font-weight:700}.account-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.account-status{flex:0 0 auto;border:1px solid var(--success-border);border-radius:var(--radius-full);background:var(--success-soft);color:var(--success);padding:4px 10px;font-size:12px;font-weight:700}.account-list{display:grid;gap:0;margin:0 0 20px;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.account-list div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:12px;border-bottom:1px solid var(--line)}.account-list div:last-child{border-bottom:0}.account-list dd,.account-list dt{margin:0;font-size:13px;line-height:1.5}.account-list dt{color:var(--muted);font-weight:600}.account-list dd{color:var(--text);word-break:break-word}.secondary-button{border:1px solid var(--line);background:var(--panel);color:var(--text)}.form-actions-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.account-menu-grid{margin-bottom:16px}.account-section{margin-top:22px}.account-section-header{margin-bottom:12px}.account-section h3{font-size:16px;line-height:1.35}.availability-calendar-form{gap:20px}.availability-calendar{display:grid;gap:12px}.availability-calendar-header{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:10px}.availability-calendar-header strong{color:var(--text);font-size:18px;line-height:1.4;text-align:center}.availability-calendar-grid,.availability-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.availability-calendar-weekdays span{color:var(--muted);font-size:12px;font-weight:700;line-height:1.4;text-align:center}.availability-calendar-day{display:inline-flex;align-items:center;justify-content:center;aspect-ratio:1;min-width:0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);color:var(--text);cursor:pointer;font-size:14px;font-weight:700;line-height:1;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.availability-calendar-day:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft)}.availability-calendar-day.outside-month{color:var(--muted);background:var(--panel-muted)}.availability-calendar-day.past-day{color:var(--line-strong);cursor:not-allowed}.availability-calendar-day.registered-day{border-color:var(--success-border);background:var(--success-soft);color:var(--success);cursor:pointer}.availability-calendar-day.registered-day:hover:not(:disabled){border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.availability-calendar-day.selected-day{border-color:var(--brand);background:var(--brand);color:white}.availability-calendar-legend{display:flex;flex-wrap:wrap;gap:10px 14px;color:var(--muted);font-size:12px;line-height:1.4}.availability-calendar-legend span{display:inline-flex;align-items:center;gap:6px}.availability-selected-summary{display:grid;gap:4px;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--brand-soft);padding:10px 12px}.availability-selected-summary strong{color:var(--brand);font-size:13px;line-height:1.4}.availability-selected-summary span{color:var(--text);font-size:13px;line-height:1.5;word-break:break-word}.legend-dot{width:9px;height:9px;border-radius:999px;border:1px solid var(--line);background:var(--panel)}.legend-dot.selected{border-color:var(--brand);background:var(--brand)}.legend-dot.registered{border-color:var(--success-border);background:var(--success)}.availability-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.availability-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);padding:12px}.availability-list li>div{display:grid;gap:3px;min-width:0}.availability-list strong{color:var(--text);font-size:14px;line-height:1.4}.availability-list span{color:var(--muted);font-size:12px;line-height:1.4}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);color:var(--text);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.icon-button:hover{background:var(--panel-muted);border-color:var(--line-strong)}.danger-button,.icon-button.danger{color:var(--danger)}.empty-state{display:grid;justify-items:center;gap:10px;margin:0;border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:var(--panel-muted);color:var(--muted);padding:24px;font-size:13px;line-height:1.5;text-align:center}.empty-state p{margin:0}.ready-state{display:flex;min-height:300px;align-items:center;justify-content:center;padding:var(--space-8);text-align:center}.ready-state-content{display:flex;width:min(100%,380px);flex-direction:column;align-items:center;gap:var(--space-4);margin:auto}.ready-state-icon{display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;border:1px solid var(--warning-border);border-radius:var(--radius-full);background:var(--warning-soft);color:var(--warning)}.ready-state h2{font-size:20px;font-weight:800;line-height:1.35}.ready-state p{margin:var(--space-2) 0 0;color:var(--muted);font-size:14px;line-height:1.6}.ready-state-note{display:flex;width:100%;align-items:center;gap:var(--space-2);border-radius:var(--radius-lg);background:var(--panel-muted);color:var(--muted);padding:var(--space-3);font-size:12px;line-height:1.5;text-align:left}.ready-state-note svg{flex:0 0 auto;color:var(--muted)}.assignments-shell{width:min(1120px,calc(100% - 32px))}.assignments-view{display:grid;gap:var(--space-4)}.assignment-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.assignment-stat{display:flex;align-items:center;gap:var(--space-3);border-radius:var(--radius-lg);background:var(--panel);padding:var(--space-4);box-shadow:var(--shadow-card)}.assignment-list-icon,.assignment-stat-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand-strong)}.assignment-stat-icon{width:38px;height:38px}.assignment-stat-icon.warning{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.assignment-stat span:last-child{display:grid;gap:2px}.assignment-stat strong{color:var(--text);font-size:22px;font-weight:800;line-height:1.1}.assignment-stat span span{color:var(--muted);font-size:12px;font-weight:700;line-height:1.3}.assignment-filters{display:flex;flex-wrap:wrap;gap:var(--space-3);border-radius:var(--radius-lg);background:var(--panel);padding:var(--space-3);box-shadow:var(--shadow-card)}.assignment-filters label{display:grid;gap:var(--space-1);min-width:160px}.assignment-filters label>span{color:var(--muted);font-size:12px;font-weight:700;line-height:1.3}.assignment-filters select{min-height:38px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--panel-muted);color:var(--text);padding:0 10px;font-size:13px;font-weight:700}.assignment-filters select:focus{border-color:var(--brand);outline:0;box-shadow:0 0 0 3px var(--focus-ring)}.assignment-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:var(--space-5);align-items:start}.assignment-list{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.assignment-list-button{display:grid;gap:var(--space-3);width:100%;border:1px solid transparent;border-radius:var(--radius-lg);background:var(--panel);color:var(--text);padding:var(--space-4);text-align:left;cursor:pointer;box-shadow:none;transition:background-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}.assignment-list-button.selected,.assignment-list-button:hover{background:var(--brand-soft);box-shadow:var(--shadow-card)}.assignment-list-button:hover{transform:translateY(-1px)}.assignment-list-button>span{display:flex;gap:var(--space-3)}.assignment-list-main{align-items:flex-start}.assignment-list-main>span:last-child{display:grid;gap:3px;min-width:0}.assignment-list-icon{width:38px;height:38px}.assignment-list-icon.character{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.assignment-list-meta{flex-wrap:wrap;align-items:center}.assignment-list-meta>span:not(.status-badge){display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:12px;font-weight:700;line-height:1.4}.assignment-list-button strong,.assignment-list-main span span{font-size:13px;line-height:1.45}.assignment-list-button strong{color:var(--text)}.assignment-list-main span span{color:var(--muted)}.assignment-list-button .status-badge{font-size:12px;line-height:1.2}.assignment-detail{display:grid;gap:var(--space-4);border:1px solid transparent;border-radius:var(--radius-lg);background:var(--panel);padding:var(--space-5);box-shadow:var(--shadow-card)}.assignment-back-button{display:none;width:-moz-fit-content;width:fit-content;min-height:36px;padding:0 12px;border-radius:var(--radius-md);font-size:13px;font-weight:700;align-items:center;gap:6px}.assignment-detail-header,.assignment-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.assignment-detail-header{display:grid;justify-content:stretch}.assignment-detail-badges{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:var(--space-2)}.assignment-detail h3,.assignment-modal h3,.assignment-program-detail h3{font-size:18px;line-height:1.35}.assignment-detail-list{border:0;border-radius:var(--radius-lg);background:var(--panel-muted)}.assignment-detail-list div{border-bottom-color:var(--panel)}.assignment-report-button{width:auto;margin:0;padding:0 12px}.assignment-program-detail{display:grid;gap:var(--space-3)}.assignment-hidden-fields{display:none}.assignment-workflow-form{display:grid;gap:var(--space-4)}.assignment-workflow-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2)}.assignment-workflow-step{display:grid;min-height:74px;align-content:center;justify-items:center;gap:4px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-muted);color:var(--text);padding:8px;text-align:center;cursor:pointer}.assignment-workflow-step svg{color:var(--brand-strong)}.assignment-workflow-step span{font-size:12px;font-weight:800;line-height:1.3}.assignment-workflow-step.recommended{border-color:var(--warning-border);background:var(--warning-soft)}.assignment-workflow-step.recommended svg{color:var(--warning)}.assignment-workflow-step.selected{border-color:var(--brand-border);background:var(--brand-soft)}.assignment-workflow-step.selected svg{color:var(--brand-strong)}.assignment-workflow-step:disabled{cursor:not-allowed;opacity:.55}.assignment-step-panel{display:grid;gap:var(--space-3)}.assignment-step-panel.inactive{display:none}.assignment-basic-details{display:grid;gap:var(--space-3)}.assignment-basic-details summary,h3.assignment-section-title{display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;color:var(--brand-strong);font-size:13px;font-weight:800}.assignment-basic-details summary{cursor:pointer}.assignment-basic-details summary svg,.assignment-detail-list.with-icons dt svg,h3.assignment-section-title svg{flex:0 0 auto;color:var(--brand-strong)}.assignment-basic-details .assignment-detail-list{margin-top:var(--space-3)}.assignment-detail-list.with-icons dt{display:inline-flex;align-items:center;gap:6px}.assignment-detail-list dd,.assignment-notice-card p{white-space:pre-line}.assignment-notice-list{display:grid;gap:var(--space-3)}.assignment-notice-card{display:grid;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-muted);padding:var(--space-3)}.assignment-notice-card p{margin:0;color:var(--text);font-size:13px;line-height:1.7}.assignment-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.assignment-check-grid,.assignment-field-grid{display:grid;gap:var(--space-3)}.assignment-check-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.assignment-check-grid label{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;border-radius:var(--radius-md);background:var(--panel-muted);padding:0 10px;color:var(--text);font-size:13px;font-weight:700}.assignment-check-grid input{width:16px;height:16px;accent-color:var(--brand)}.assignment-field-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.assignment-date-workflow label,.assignment-field-grid label{display:grid;gap:6px;color:var(--text);font-size:13px;font-weight:600}.assignment-field-grid input,.assignment-field-grid textarea{width:100%;min-height:38px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-muted);color:var(--text);padding:8px 10px}.assignment-field-grid textarea{min-height:84px;resize:vertical}.assignment-date-workflow,.assignment-date-workflow-list{display:grid;gap:var(--space-3)}.assignment-date-workflow{min-width:0;margin:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-muted);padding:var(--space-3)}.assignment-date-workflow legend{padding:0 var(--space-1);color:var(--text);font-size:13px;font-weight:800}.assignment-date-quick-list{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.assignment-date-quick-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-muted);padding:var(--space-3)}.assignment-date-quick-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.assignment-date-list{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.assignment-date-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid transparent;border-radius:var(--radius-lg);background:var(--panel-muted);padding:var(--space-3)}.assignment-date-status,.assignment-date-title>span{display:grid;gap:4px;font-size:13px;line-height:1.45}.assignment-date-title>span>span{color:var(--muted)}.assignment-date-title{display:flex;align-items:center;gap:var(--space-2);min-width:0}.assignment-date-title>svg{flex:0 0 auto;color:var(--brand-strong)}.assignment-date-status{display:flex;flex-wrap:wrap;gap:var(--space-2)}.assignment-muted{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.assignment-modal-backdrop{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:rgba(15,23,42,.32);padding:20px}.assignment-modal{display:grid;gap:var(--space-4);width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:var(--radius-lg);background:var(--panel);padding:var(--space-5);box-shadow:var(--shadow-card)}.assignment-report-skeleton{display:grid;gap:12px}.assignment-report-skeleton label{display:grid;gap:6px;color:var(--text);font-size:13px;font-weight:600}.assignment-report-skeleton input,.assignment-report-skeleton textarea{width:100%;min-height:38px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-muted);color:var(--text);padding:8px 10px}.assignment-report-skeleton textarea{min-height:84px;resize:vertical}.dev-console-shell{width:min(1120px,calc(100% - 32px))}.dev-console-form,.dev-console-hero,.dev-console-panel,.dev-scenario-banner{border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-card)}.dev-console-hero{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:var(--space-4)}.dev-console-hero .section-header{margin:0}.dev-console-hero p:last-child{margin:var(--space-2) 0 0;color:var(--muted);font-size:14px;line-height:1.6;word-break:keep-all}.dev-scenario-banner{display:grid;grid-template-columns:38px minmax(160px,.8fr) minmax(0,2fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-4)}.dev-scenario-icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand-strong)}.dev-scenario-banner>div{display:grid;gap:var(--space-1)}.dev-scenario-banner strong{color:var(--text);font-size:14px;line-height:1.35}.dev-scenario-banner dd,.dev-scenario-banner dt,.dev-scenario-banner span{font-size:12px;line-height:1.4}.dev-scenario-banner dt,.dev-scenario-banner span{color:var(--muted)}.dev-scenario-banner dl{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0}.dev-scenario-banner dl div{display:inline-flex;gap:var(--space-1);align-items:center;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-muted);padding:var(--space-1) var(--space-2)}.dev-scenario-banner dd,.dev-scenario-banner dt{margin:0}.dev-scenario-banner dd{color:var(--text);font-weight:700}.dev-console-form,.dev-console-panel{display:grid;gap:var(--space-5);padding:var(--space-5)}.dev-console-fieldset{display:grid;gap:var(--space-3);min-width:0;margin:0;border:0;border-top:1px solid var(--line);padding:var(--space-4) 0 0}.dev-console-fieldset:first-child{border-top:0;padding-top:0}.dev-console-fieldset legend{padding:0;color:var(--text);font-size:14px;font-weight:800;line-height:1.4}.dev-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3)}.dev-option-card{display:grid;grid-template-columns:18px minmax(0,1fr);gap:var(--space-2);align-items:start;min-height:86px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);padding:var(--space-3);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.dev-option-card:has(input:checked),.dev-option-card:hover{border-color:var(--brand-border);background:var(--brand-soft);box-shadow:var(--shadow-card)}.dev-option-card input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--brand)}.dev-option-card span{display:grid;gap:var(--space-1);min-width:0}.dev-option-card strong{color:var(--text);font-size:13px;line-height:1.4}.dev-option-card small{color:var(--muted);font-size:12px;line-height:1.45;word-break:keep-all}.dev-console-actions,.dev-target-links{display:flex;flex-wrap:wrap;gap:var(--space-3)}.dev-console-actions{align-items:center}.dev-target-links{align-items:stretch}.dev-target-links .menu-card{flex:1 1 220px}.availability-empty-state svg{color:var(--text)}.secondary-button:hover{background:var(--panel-muted)}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:1ms!important}.assignment-list-button:hover,.menu-card:hover,.menu-card:hover .menu-icon,.submit-button:hover{transform:none}}@media (max-width:820px){.home-shell{padding:var(--space-5) 0 var(--space-8)}.home-shell,.site-shell{width:min(100% - 24px,512px)}.site-shell{grid-template-columns:1fr;padding:32px 0;align-items:start}.home-hero,.intro-panel{min-height:auto;padding:24px}.brand-row{align-items:flex-start;flex-direction:column;gap:8px}.home-actions{justify-content:flex-start;width:100%}.form-panel,.menu-section{padding:var(--space-6)}.menu-card{grid-template-columns:40px minmax(0,1fr)}.menu-arrow{display:none}.account-list div,.address-search-row{grid-template-columns:1fr}.account-list div{gap:4px}.availability-list li{grid-template-columns:1fr auto}.assignments-shell{width:min(100% - 24px,512px)}.assignment-layout,.assignment-overview{grid-template-columns:1fr}.assignment-workflow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-workflow-step{min-height:64px}.assignment-date-quick-card{display:grid}.assignment-date-quick-actions{justify-content:flex-start}.assignment-filters label{min-width:min(100%,180px)}.assignment-layout.mobile-detail-open .assignment-list,.assignments-view.mobile-detail-open .assignment-filters,.assignments-view.mobile-detail-open .assignment-overview{display:none}.assignment-back-button{display:inline-flex}.assignment-list-button>span{display:grid;gap:3px}.assignment-detail-header,.assignment-modal-header{display:grid}.assignment-detail-badges{justify-content:flex-start}.assignment-date-list li{align-items:stretch;flex-direction:column}.assignment-date-status{display:flex}.assignment-report-button{width:100%}.dev-console-shell{width:min(100% - 24px,512px)}.dev-console-hero,.dev-scenario-banner{grid-template-columns:1fr}.dev-console-actions .account-link,.dev-console-actions .submit-button{width:100%}.dev-option-grid{grid-template-columns:1fr}.tally-form-panel{padding:var(--space-6)}}.tally-form-panel{background-color:var(--panel);border-radius:var(--radius-lg);padding:var(--space-10);border:1px solid transparent;box-shadow:var(--shadow-card)}.tally-form-panel h2{font-size:28px;font-weight:800;letter-spacing:0;margin-bottom:8px}.tally-form-panel .eyebrow{color:var(--brand-strong)}.not-found-panel{padding:var(--space-12) var(--space-6);text-align:center}.not-found-panel h2{margin:var(--space-2) 0 var(--space-4);font-size:32px}.tally-form-subtitle{color:var(--muted);font-size:14px;margin-bottom:32px;line-height:1.6}.gnb{position:fixed;top:0;left:0;right:0;height:64px;background-color:rgba(255,255,255,.94);border-bottom:1px solid transparent;backdrop-filter:blur(8px);box-shadow:var(--shadow-nav);z-index:100}.gnb-container{max-width:1024px;width:calc(100% - 32px);margin:0 auto;height:100%;justify-content:space-between}.gnb-brand,.gnb-container{display:flex;align-items:center}.gnb-brand{gap:8px;font-size:16px;font-weight:800;letter-spacing:0;color:var(--text)}.gnb-brand .brand-dot{width:8px;height:8px;background-color:var(--brand);border-radius:50%}.gnb-menu{display:flex;gap:8px;list-style:none}.gnb-menu-item{display:block;font-size:14px;font-weight:600;color:var(--muted);padding:8px 16px;border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.gnb-menu-item:hover{color:var(--brand-strong);background-color:var(--panel-muted)}.gnb-user{display:flex;align-items:center;gap:8px}body{padding-top:64px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:var(--space-3);font-weight:500}.breadcrumb a{transition:color var(--duration-fast) var(--ease-standard)}.breadcrumb>svg{display:none}.breadcrumb>a:not(:first-child):before,.breadcrumb>span:not(:first-child):before{content:">";margin-right:8px;color:var(--muted)}.breadcrumb a:hover{color:var(--brand-strong)}.mobile-header{position:fixed;top:0;left:0;right:0;height:56px;background-color:rgba(255,255,255,.94);border-bottom:1px solid transparent;backdrop-filter:blur(8px);box-shadow:var(--shadow-nav);z-index:100;display:none}.mobile-header-container{max-width:768px;width:calc(100% - 32px);margin:0 auto;height:100%;justify-content:space-between}.mobile-header-actions,.mobile-header-brand,.mobile-header-container{display:flex;align-items:center}.mobile-header-actions{gap:12px}.mobile-header-icon-link{color:var(--text);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.mobile-header-icon-link:hover{background-color:var(--panel-muted);color:var(--brand-strong)}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background-color:rgba(255,255,255,.96);border-top:1px solid transparent;backdrop-filter:blur(8px);box-shadow:0 -1px 12px rgba(15,23,42,.06);z-index:100;display:none}.mobile-bottom-nav-container{max-width:768px;width:100%;margin:0 auto;height:100%;display:flex;justify-content:space-around;align-items:center}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted);font-size:10px;font-weight:700;flex:1;height:100%;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.mobile-nav-item svg{color:var(--muted);transition:color var(--duration-fast) var(--ease-standard)}.mobile-nav-item:focus,.mobile-nav-item:hover{color:var(--brand);background:var(--brand-soft)}.mobile-nav-item:focus svg,.mobile-nav-item:hover svg{color:var(--brand)}@media (max-width:767px){.gnb{display:none!important}.mobile-bottom-nav,.mobile-header{display:block}body{padding-top:56px;padding-bottom:60px}}@media (max-width:820px){.assignments-shell,.dev-console-shell,.home-shell,.site-shell{width:min(100% - 16px,512px)}.form-panel,.home-hero,.intro-panel,.menu-card,.menu-section,.ready-state,.tally-form-panel{padding:var(--space-4)}.tally-form-panel:not(.auth-panel){border:0;border-radius:0;background:transparent;box-shadow:none}}.btn-auto{width:auto!important}.btn-full{width:100%!important}.btn-sm{height:32px!important;font-size:12px!important;padding:0 12px!important}.btn-md{height:38px!important;font-size:14px!important;padding:0 20px!important}.btn-lg{height:44px!important;font-size:15px!important;padding:0 24px!important}