:root{--color-kicklio-green: #22c55e;--color-kicklio-navy: #0f172a;--color-sky-blue: #3b82f6;--color-light-gray: #f1f5f9;--color-gray: #64748b;--color-success: #16a34a;--color-info: #0ea5e9;--color-warning: #f59e0b;--color-error: #ef4444;--color-neutral: #94a3b8;--color-text: var(--color-kicklio-navy);--color-text-muted: var(--color-gray);--color-background: #f8fafc;--color-surface: #ffffff;--color-surface-subtle: var(--color-light-gray);--color-border: #cbd5e1;--color-primary: var(--color-kicklio-green);--color-primary-hover: #16a34a;--color-primary-active: #15803d;--color-focus: var(--color-sky-blue);--font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.875rem;--font-size-3xl: 2.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--radius-sm: 4px;--radius-md: 8px;--shadow-sm: 0 1px 2px rgb(15 23 42 / 8%);--shadow-md: 0 8px 24px rgb(15 23 42 / 10%);--icon-sm: 1rem;--icon-md: 1.25rem;--icon-lg: 1.5rem;--content-narrow: 26rem;--content-app: 68rem;--content-admin: 90rem;--breakpoint-phone: 36rem;--breakpoint-tablet: 48rem;--breakpoint-desktop: 72rem}:root{color:#17251d;background:#f4f1e8;font-family:Georgia,Times New Roman,serif;font-synthesis:none;text-rendering:optimizeLegibility}html{background:var(--color-background)}body{color:var(--color-text);background:var(--color-background);font-family:var(--font-family)}button,input,select,textarea{font-family:inherit}button,.button,.primary-link{border-radius:var(--radius-md);color:var(--color-kicklio-navy);background:var(--color-primary);box-shadow:var(--shadow-sm)}button:hover,.button:hover,.primary-link:hover{background:var(--color-primary-hover)}button:active,.button:active,.primary-link:active{background:var(--color-primary-active)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}h1,h2,h3{color:var(--color-kicklio-navy);font-family:inherit;letter-spacing:0}.festival-page,.auth-page,.information-page,main{background:linear-gradient(180deg,rgb(34 197 94 / 6%),transparent 18rem),var(--color-background)}.brand{display:inline-flex;width:fit-content;max-width:100%;flex-direction:column;color:var(--color-kicklio-navy);text-decoration:none}.brand-logo{display:block;width:min(100%,22rem);height:auto}.brand-wordmark{font-size:var(--font-size-2xl);font-weight:800}.brand-tagline{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:600}.auth-panel{width:min(100%,var(--content-narrow));min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);background:var(--color-surface);box-shadow:var(--shadow-md)}.auth-panel h1{font-size:var(--font-size-2xl);overflow-wrap:anywhere}.auth-panel label,.rsvp-actions label,.discovery-search,.inline-search,.compact-list small,.festival-row small,.festival-row time,.team-list span,.festival-date,.empty-copy,.admin-detail,.action-form,.filter-row,.single-filter{font-family:inherit}.auth-panel input,.rsvp-actions input,.discovery-search input,.inline-search input,.filter-row input,.filter-row select,.single-filter select,.action-form select,.action-form textarea,.field-control{border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.dashboard-header,.festival-detail>header,.discovery-header,.candidate-detail>header{border-color:var(--color-border)}.eyebrow{color:var(--color-primary-active);font-family:inherit}.festival-list>li{min-width:0}.festival-row{min-height:7rem;justify-content:flex-start;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);color:inherit;background:var(--color-surface);box-shadow:var(--shadow-sm)}.festival-row:hover{border-color:var(--color-primary)}.festival-row-content{display:grid;min-width:0;gap:var(--space-1)}.date-badge{display:grid;width:3.5rem;min-width:3.5rem;place-items:center;align-self:stretch;border-radius:var(--radius-sm);color:var(--color-kicklio-navy);background:var(--color-light-gray);text-transform:uppercase}.date-badge span{font-size:var(--font-size-xs);font-weight:700}.date-badge strong{font-size:var(--font-size-xl)}.status-badge{display:inline-flex;width:fit-content;align-items:center;border-radius:999px;padding:var(--space-1) var(--space-2);color:var(--color-text);background:var(--color-surface-subtle);font-size:var(--font-size-xs);font-weight:700}.status-badge-success{color:#14532d;background:#dcfce7}.status-badge-info{color:#0c4a6e;background:#e0f2fe}.status-badge-warning{color:#713f12;background:#fef3c7}.status-badge-error{color:#7f1d1d;background:#fee2e2}.card,.festival-detail section,.admin-section{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);background:var(--color-surface);box-shadow:var(--shadow-sm)}.festival-detail{gap:var(--space-5)}.festival-detail section{border-bottom:1px solid var(--color-border)}.button-danger{color:#fff;background:var(--color-error)}.alert,[role=alert]{border-left:4px solid var(--color-info);padding:var(--space-3) var(--space-4);color:var(--color-text);background:var(--color-surface)}.alert-error,[role=alert]{border-color:var(--color-error)}.alert-warning{border-color:var(--color-warning)}.skeleton{min-height:5rem;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-light-gray),white,var(--color-light-gray));background-size:200% 100%;animation:skeleton-shift 1.4s ease infinite}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.bottom-navigation{position:sticky;z-index:20;bottom:0;display:flex;width:min(100%,var(--content-app));min-height:4rem;justify-content:space-around;margin:var(--space-6) auto calc(-1*clamp(1.25rem,5vw,4rem));border-top:1px solid var(--color-border);background:#fffffff5;box-shadow:0 -6px 20px #0f172a14}.bottom-navigation a{display:grid;min-width:5rem;min-height:4rem;place-items:center;align-content:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);text-decoration:none}.bottom-navigation a.active{color:var(--color-primary-active)}.bottom-navigation svg{width:var(--icon-md);height:var(--icon-md)}.admin-layout{display:grid;width:min(100%,var(--content-admin));grid-template-columns:15rem minmax(0,1fr);gap:var(--space-6);margin:0 auto}.desktop-sidebar{position:sticky;top:var(--space-5);height:fit-content;min-height:calc(100vh - 3rem);border-radius:var(--radius-md);padding:var(--space-5);color:#fff;background:var(--color-kicklio-navy)}.sidebar-brand{display:block;font-size:var(--font-size-xl)}.sidebar-context{color:var(--color-neutral);font-size:var(--font-size-sm)}.desktop-sidebar nav{display:grid;gap:var(--space-2);margin-top:var(--space-7)}.desktop-sidebar a{padding:var(--space-3);border-radius:var(--radius-sm);color:#fff;text-decoration:none}.desktop-sidebar a:hover,.desktop-sidebar a[aria-current=page]{background:#ffffff1f}.admin-workspace{min-width:0;width:100%}.admin-header h1{font-size:var(--font-size-2xl)}.tab-list{max-width:100%;overflow-x:auto;gap:var(--space-1);border-color:var(--color-border)}.tab-list button{box-shadow:none;color:var(--color-text-muted)}.sponsorship-slot{border-color:var(--color-border);border-left-color:var(--color-info);border-radius:var(--radius-md);background:var(--color-surface)}.status{border-color:var(--color-primary);font-family:inherit}.status-cancelled,.status-missing{border-color:var(--color-error)}@keyframes skeleton-shift{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}.system-banner{display:flex;min-height:3rem;align-items:center;justify-content:center;gap:1rem;padding:.65rem 1rem;color:#fffdf7;background:#7b2d20;font-family:Trebuchet MS,sans-serif;text-align:center}.system-banner-update{background:#123b2a}.site-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;padding:1rem;border-top:1px solid #8fa597;background:#fffdf7}.information-page{display:block;min-height:calc(100vh - 4rem);padding:clamp(2rem,8vw,6rem)}.information-page article{width:min(100%,48rem);margin:0 auto}.information-page h1{font-size:clamp(2rem,5vw,3.5rem)}.legal-status{padding-left:.75rem;border-left:4px solid var(--color-warning, #a35b00);font-weight:700}.legal-sections{display:grid;gap:0;margin:2rem 0;border-top:1px solid #8fa597}.legal-sections div{display:grid;grid-template-columns:minmax(10rem,.4fr) 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #8fa597}.legal-sections dt{min-width:0;font-weight:700;overflow-wrap:anywhere}.legal-sections dd{min-width:0;margin:0;overflow-wrap:anywhere}main{display:grid;min-height:100vh;place-items:center;padding:2rem;background:linear-gradient(90deg,rgb(23 107 69 / 8%) 1px,transparent 1px) 0 0 / 48px 48px,linear-gradient(rgb(23 107 69 / 8%) 1px,transparent 1px) 0 0 / 48px 48px,#f4f1e8}.app-shell{display:flex;width:min(100%,52rem);align-items:center;gap:clamp(1.5rem,5vw,4rem);border-block:1px solid #8fa597;padding:clamp(2rem,8vw,5rem) 0}.brand-mark{display:grid;width:clamp(5rem,18vw,9rem);flex:0 0 auto;aspect-ratio:1;place-items:center;border-radius:8px;color:#fffdf7;background:#176b45;font-size:clamp(3rem,10vw,6rem);font-weight:700}.eyebrow{margin:0 0 .75rem;color:#52665a;font-family:Trebuchet MS,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1{margin:0;color:#123b2a;font-size:clamp(3rem,12vw,7rem);line-height:.9;letter-spacing:0}.tagline{margin:1rem 0 0;font-family:Trebuchet MS,sans-serif;font-size:clamp(1rem,3vw,1.35rem)}@media(max-width:36rem){.app-shell{align-items:flex-start;flex-direction:column}.legal-sections div{grid-template-columns:1fr;gap:.35rem}}.tab-list{max-width:100%;overflow-x:auto;border-color:var(--color-border)}@media(max-width:48rem){.festival-page{padding-bottom:5rem}.header-actions{display:none}.admin-layout{grid-template-columns:minmax(0,1fr)}.desktop-sidebar{display:none}.festival-list{grid-template-columns:1fr}}.auth-page{display:grid;min-height:100vh;place-items:center;padding:1.5rem}.auth-panel{display:grid;width:min(100%,24rem);gap:1rem;border-block:1px solid #8fa597;padding:2.5rem 0}.auth-panel h1{font-size:2.5rem;line-height:1}.auth-panel label{display:grid;gap:.4rem;font-family:Trebuchet MS,sans-serif;font-weight:700}.auth-panel input{min-height:2.75rem;border:1px solid #8fa597;border-radius:4px;padding:.65rem .75rem;color:inherit;background:#fffdf7;font:inherit}button{min-height:2.75rem;border:0;border-radius:4px;padding:.65rem 1rem;color:#fffdf7;background:#176b45;font:700 1rem Trebuchet MS,sans-serif;cursor:pointer}a{color:#176b45;font-family:Trebuchet MS,sans-serif}[role=alert]{color:#9d2518}.festival-page{display:block;min-height:100vh;padding:clamp(1.25rem,5vw,4rem)}.festival-dashboard,.festival-detail,.empty-state{width:min(100%,64rem);margin:0 auto}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid #8fa597;padding-bottom:1.5rem}.dashboard-header h1,.festival-detail h1,.empty-state h1{font-size:clamp(2.25rem,7vw,4.75rem);line-height:1}.festival-sections,.festival-detail{display:grid;gap:2rem}.festival-sections{margin-top:2rem}.festival-sections h2,.festival-detail h2{margin:0 0 .75rem;font-size:1.35rem}.festival-list,.team-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.festival-row,.team-list li{display:flex;min-height:4.5rem;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #c2c9c3;padding:.85rem 0;text-decoration:none}.festival-row span,.team-list li{min-width:0}.festival-row strong,.festival-row small{display:block}.festival-row small,.festival-row time,.team-list span,.festival-date{color:#52665a;font-family:Trebuchet MS,sans-serif}.festival-detail>header{border-bottom:1px solid #8fa597;padding:1.5rem 0 2rem}.festival-detail section{border-bottom:1px solid #c2c9c3;padding-bottom:2rem}.status{display:inline-block;border-left:4px solid #176b45;padding-left:.6rem;font-family:Trebuchet MS,sans-serif;text-transform:capitalize}.status-cancelled{border-color:#9d2518}address{display:grid;gap:.2rem;font-style:normal}.rsvp-actions{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;margin-top:1.5rem}.rsvp-actions label{display:grid;gap:.3rem;font-family:Trebuchet MS,sans-serif;font-weight:700}.rsvp-actions input{width:7rem;min-height:2.75rem;border:1px solid #8fa597;border-radius:4px;padding:.65rem;background:#fffdf7;font:inherit}.secondary-button{border:1px solid #176b45;color:#176b45;background:transparent}.secondary-link,.primary-link{display:inline-flex;min-height:2.75rem;align-items:center;border:1px solid #176b45;border-radius:4px;padding:.65rem 1rem;font-weight:700;text-decoration:none}.primary-link{color:#fffdf7;background:#176b45}.header-actions{display:flex;flex-wrap:wrap;gap:.75rem}.empty-copy{color:#52665a;font-family:Trebuchet MS,sans-serif}.discovery-shell,.candidate-detail{width:min(100%,64rem);margin:0 auto}.discovery-header,.candidate-detail>header{border-bottom:1px solid #8fa597;padding:1.5rem 0 2rem}.discovery-header h1,.candidate-detail h1{font-size:clamp(2.25rem,7vw,4.75rem);line-height:1}.tab-list{display:flex;gap:0;margin-top:1.5rem;border-bottom:1px solid #8fa597}.tab-list button{border-bottom:4px solid transparent;border-radius:0;color:#52665a;background:transparent}.tab-list button.active{border-color:#176b45;color:#123b2a}.discovery-search,.inline-search{display:grid;gap:.4rem;margin:1.5rem 0;font-family:Trebuchet MS,sans-serif;font-weight:700}.discovery-search>div,.inline-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.discovery-search input,.inline-search input{min-width:0;min-height:2.75rem;border:1px solid #8fa597;border-radius:4px;padding:.65rem .75rem;color:inherit;background:#fffdf7;font:inherit}.discovery-results,.candidate-list,.invite-results{margin:0;padding:0;list-style:none}.discovery-results li,.candidate-list a,.invite-results li{display:flex;min-height:4.75rem;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #c2c9c3;padding:.85rem 0}.candidate-list a{color:inherit;text-decoration:none}.discovery-results strong,.discovery-results small,.candidate-list strong,.candidate-list small,.invite-results strong,.invite-results small{display:block}.discovery-results span,.candidate-list span,.invite-results span{min-width:0}.discovery-results small,.candidate-list small,.invite-results small{margin-top:.25rem;color:#52665a;font-family:Trebuchet MS,sans-serif}.more-button{margin-top:1.5rem}.candidate-detail{display:grid;gap:1.5rem}.candidate-detail section{border-bottom:1px solid #c2c9c3}.candidate-detail h2{font-size:1.35rem}.status-missing{border-color:#9d2518}button:disabled{cursor:not-allowed;opacity:.55}.admin-workspace{width:min(100%,72rem);margin:0 auto}.admin-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;border-bottom:1px solid #8fa597;padding-bottom:1.25rem}.admin-header h1{font-size:2.75rem;line-height:1}.admin-section{padding:1.5rem 0}.admin-section h2,.admin-section h3,.admin-detail h3,.chat-panel h3{font-size:1.25rem}.compact-list{margin:0;padding:0;list-style:none}.compact-list>li{display:flex;min-height:3.5rem;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #c2c9c3;padding:.65rem 0}.compact-list strong,.compact-list small{display:block}.compact-list small,.compact-list time,.admin-detail,.action-form,.filter-row,.single-filter{font-family:Trebuchet MS,sans-serif}.compact-button{min-height:2.25rem;padding:.35rem .65rem;font-size:.875rem}.list-actions,.action-row,.filter-row{display:flex;align-items:end;gap:.5rem}.filter-row{flex-wrap:wrap;margin-bottom:1rem}.filter-row label,.single-filter,.action-form label{display:grid;gap:.3rem;font-weight:700}.filter-row input,.filter-row select,.single-filter select,.action-form select,.action-form textarea{min-height:2.5rem;border:1px solid #8fa597;border-radius:4px;padding:.55rem;color:inherit;background:#fffdf7;font:inherit}.single-filter{width:min(100%,18rem);margin-bottom:1rem}.admin-detail,.action-form{margin-top:1rem;border-left:3px solid #8fa597;padding:.75rem 0 .75rem 1rem}.action-form textarea{width:min(100%,38rem);min-height:5rem;resize:vertical}.confirm-field{display:flex!important;align-items:center;grid-template-columns:auto 1fr;margin:.75rem 0}.confirm-field input{width:1rem;height:1rem}.chat-panel p{margin:.35rem 0;white-space:pre-wrap}.sponsorship-slot{width:100%;min-height:6rem;border:1px solid #8fa597;border-left:4px solid #52665a;padding:1rem;background:#fffdf7;font-family:Trebuchet MS,sans-serif}.sponsorship-slot>a,.sponsorship-slot>div{display:grid;gap:.35rem;color:inherit;text-decoration:none}.sponsorship-slot>a:focus-visible{outline:3px solid #176b45;outline-offset:4px}.sponsorship-label{color:#52665a;font-size:.75rem;font-weight:700;text-transform:uppercase}.sponsorship-slot small{color:#52665a}.advertising-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}@media(max-width:36rem){.advertising-admin-grid{grid-template-columns:1fr}.dashboard-header,.admin-header,.compact-list>li,.festival-row,.discovery-results li,.candidate-list a,.invite-results li{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.header-actions>*{flex:1;justify-content:center}.tab-list{overflow-x:auto}.list-actions,.action-row{align-items:stretch;flex-direction:column;width:100%}}body,main,.festival-page,.auth-page,.information-page{color:var(--color-text);background:linear-gradient(180deg,rgb(34 197 94 / 6%),transparent 18rem),var(--color-background);font-family:var(--font-family)}h1,h2,h3{color:var(--color-text);font-family:inherit}a{color:var(--color-primary-active);font-family:inherit}button,.button,.primary-link{border-radius:var(--radius-md);color:var(--color-kicklio-navy);background:var(--color-primary);font-family:inherit}.secondary-button,.secondary-link,.button-secondary{border-color:var(--color-border);color:var(--color-kicklio-navy);background:var(--color-surface)}.auth-panel{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);background:var(--color-surface);box-shadow:var(--shadow-md)}.auth-panel h1{overflow-wrap:anywhere;font-size:var(--font-size-2xl)}.auth-panel label{font-family:inherit}.auth-panel input,.rsvp-actions input,.discovery-search input,.inline-search input,.filter-row input,.filter-row select,.single-filter select,.action-form select,.action-form textarea{border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.festival-dashboard,.festival-detail,.empty-state,.discovery-shell,.candidate-detail{width:min(100%,var(--content-app))}.dashboard-header h1,.festival-detail h1,.discovery-header h1,.candidate-detail h1,.empty-state h1{font-size:clamp(2rem,6vw,var(--font-size-3xl));line-height:1.1}.festival-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:var(--space-4)}.festival-row{min-height:7rem;align-items:center;justify-content:flex-start;flex-direction:row;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);color:inherit;background:var(--color-surface);box-shadow:var(--shadow-sm)}.festival-detail section,.admin-section{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);background:var(--color-surface);box-shadow:var(--shadow-sm)}.system-banner{color:var(--color-kicklio-navy);background:var(--color-warning);font-family:inherit}.system-banner-update{color:#fff;background:var(--color-kicklio-navy)}.site-footer{border-color:var(--color-border);background:var(--color-surface)}.sponsorship-slot{border-color:var(--color-border);border-left-color:var(--color-info);border-radius:var(--radius-md);background:var(--color-surface);font-family:inherit}.sponsorship-label,.sponsorship-slot small{color:var(--color-text-muted)}.tab-list{border-color:var(--color-border)}.tab-list button{color:var(--color-text-muted);background:transparent;box-shadow:none}.tab-list button.active{border-color:var(--color-primary);color:var(--color-text)}@media(max-width:48rem){.festival-page{padding-bottom:5rem}.header-actions{display:none}.admin-layout{grid-template-columns:1fr}.desktop-sidebar{display:none}.festival-list{grid-template-columns:1fr}}@media(min-width:48.01rem){.bottom-navigation{display:none}}
