@import"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600;9..40,700&family=Saira+Stencil+One&display=swap";:root{--color-charcoal: #323334;--color-charcoal-light: #3d3e3f;--color-charcoal-lighter: #4a4b4c;--color-rust: #c44536;--color-rust-light: #d4564a;--color-rust-dark: #a83b2e;--color-sand: #c7ac92;--color-sand-light: #d4bfa8;--color-sage: #94a89a;--color-sage-light: #a8b8ad;--color-white: #ffffff;--color-off-white: #f8f7f5;--color-light-sage: #e8ece9;--color-primary-action: var(--color-rust);--color-secondary-action: var(--color-white);--color-success: var(--color-sage);--color-link: var(--color-sand);--color-error: var(--color-rust);--color-text-primary: rgba(255, 255, 255, .95);--color-text-secondary: rgba(255, 255, 255, .7);--color-text-muted: rgba(255, 255, 255, .6);--color-text-subtle: rgba(255, 255, 255, .4);--color-text-inverse: var(--color-charcoal);--color-bg-primary: #1a1a1b;--color-bg-secondary: #242425;--color-bg-tertiary: var(--color-charcoal);--color-bg-elevated: var(--color-charcoal-light);--color-bg-card: var(--color-charcoal);--color-bg-input: var(--color-charcoal-light);--color-bg-hover: rgba(255, 255, 255, .05);--color-border: rgba(255, 255, 255, .1);--color-border-emphasis: rgba(255, 255, 255, .2);--color-border-subtle: rgba(255, 255, 255, .05);--shadow-color: 0, 0, 0;--shadow-xs: 0 1px 2px rgba(var(--shadow-color), .3);--shadow-sm: 0 1px 3px rgba(var(--shadow-color), .4), 0 1px 2px rgba(var(--shadow-color), .3);--shadow-md: 0 4px 6px rgba(var(--shadow-color), .4), 0 2px 4px rgba(var(--shadow-color), .3);--shadow-lg: 0 10px 15px rgba(var(--shadow-color), .4), 0 4px 6px rgba(var(--shadow-color), .3);--shadow-xl: 0 20px 25px rgba(var(--shadow-color), .4), 0 10px 10px rgba(var(--shadow-color), .3);--input-bg: var(--color-charcoal-light);--input-border: var(--color-border-emphasis);--input-text: var(--color-text-primary);--input-placeholder: var(--color-text-subtle);--badge-bg-sage: rgba(148, 168, 154, .2);--badge-bg-sand: rgba(199, 172, 146, .2);--badge-bg-rust: rgba(196, 69, 54, .2);--badge-bg-neutral: rgba(255, 255, 255, .1);--font-display: "Saira Stencil One", "Arial Black", sans-serif;--font-body: "Garet", "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-display-xl: 6rem;--font-size-display-lg: 5rem;--font-size-h1: 3.75rem;--font-size-h2: 3rem;--font-size-h3: 2.25rem;--font-size-h4: 1.5rem;--font-size-h5: 1.25rem;--font-size-body-lg: 1.25rem;--font-size-body: 1rem;--font-size-body-sm: .875rem;--font-size-caption: .75rem;--font-size-overline: .75rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-display: .95;--line-height-h1: 1.1;--line-height-h3: 1.2;--line-height-h4: 1.3;--line-height-h5: 1.4;--line-height-body-lg: 1.75;--line-height-body: 1.6;--line-height-body-sm: 1.5;--line-height-caption: 1.4;--line-height-overline: 1.2;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .2em;--letter-spacing-button: .05em;--space-unit: 4px;--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;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-28: 112px;--space-32: 128px;--spacing-xs: var(--space-1);--spacing-sm: var(--space-2);--spacing-md: var(--space-3);--spacing-lg: var(--space-5);--spacing-xl: var(--space-12);--spacing-section: var(--space-24);--max-width-full: 100%;--max-width-wide: 80rem;--max-width-content: 56rem;--max-width-narrow: 42rem;--max-width-tight: 32rem;--max-width: var(--max-width-wide);--container-padding-mobile: var(--space-6);--container-padding-tablet: var(--space-6);--container-padding-desktop: var(--space-8);--section-padding-mobile: var(--space-12);--section-padding-tablet: var(--space-16);--section-padding-desktop: var(--space-24);--grid-gap-tight: var(--space-4);--grid-gap-standard: var(--space-6);--grid-gap-loose: var(--space-8);--radius-none: 0;--radius-sm: 2px;--radius-default: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-default: var(--shadow-sm);--duration-instant: .1s;--duration-fast: .2s;--duration-normal: .3s;--duration-slow: .5s;--duration-deliberate: .8s;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--transition-fast: var(--duration-fast) var(--ease-in-out);--transition-normal: var(--duration-normal) var(--ease-in-out);--transition-slow: var(--duration-slow) var(--ease-out);--z-base: 0;--z-dropdown: 60;--z-nav: 50;--z-modal-backdrop: 90;--z-modal: 100;--z-toast: 110;--nav-height: 72px;--nav-bg: var(--color-charcoal);--btn-padding-sm: 10px 16px;--btn-padding-md: 12px 24px;--btn-padding-lg: 16px 32px;--btn-min-height-sm: 36px;--btn-min-height-md: 44px;--btn-min-height-lg: 52px;--input-height: 48px;--input-padding: 12px 16px;--card-padding-mobile: var(--space-5);--card-padding-tablet: var(--space-6);--card-padding-desktop: var(--space-8)}[data-theme=light]{--color-link: var(--color-rust);--color-text-primary: var(--color-charcoal);--color-text-secondary: rgba(50, 51, 52, .8);--color-text-muted: rgba(50, 51, 52, .6);--color-text-subtle: rgba(50, 51, 52, .4);--color-text-inverse: var(--color-white);--color-bg-primary: var(--color-white);--color-bg-secondary: var(--color-off-white);--color-bg-tertiary: var(--color-light-sage);--color-bg-elevated: var(--color-white);--color-bg-card: var(--color-white);--color-bg-input: var(--color-white);--color-bg-hover: rgba(50, 51, 52, .05);--color-border: rgba(50, 51, 52, .1);--color-border-emphasis: rgba(50, 51, 52, .2);--color-border-subtle: rgba(50, 51, 52, .05);--shadow-color: 0, 0, 0;--shadow-xs: 0 1px 2px rgba(var(--shadow-color), .05);--shadow-sm: 0 1px 3px rgba(var(--shadow-color), .1), 0 1px 2px rgba(var(--shadow-color), .06);--shadow-md: 0 4px 6px rgba(var(--shadow-color), .1), 0 2px 4px rgba(var(--shadow-color), .06);--shadow-lg: 0 10px 15px rgba(var(--shadow-color), .1), 0 4px 6px rgba(var(--shadow-color), .05);--shadow-xl: 0 20px 25px rgba(var(--shadow-color), .1), 0 10px 10px rgba(var(--shadow-color), .04);--input-bg: var(--color-white);--input-border: var(--color-border-emphasis);--input-text: var(--color-text-primary);--input-placeholder: var(--color-text-subtle);--badge-bg-sage: rgba(148, 168, 154, .15);--badge-bg-sand: rgba(199, 172, 146, .15);--badge-bg-rust: rgba(196, 69, 54, .15);--badge-bg-neutral: rgba(50, 51, 52, .1);--nav-bg: var(--color-charcoal)}.status-approved{background-color:var(--badge-bg-sage);color:var(--color-sage-light)}.status-pending{background-color:var(--badge-bg-sand);color:var(--color-sand)}.status-denied{background-color:var(--badge-bg-rust);color:var(--color-rust-light)}[data-theme=light] .status-approved{color:var(--color-sage)}[data-theme=light] .status-pending{color:#8b7355}[data-theme=light] .status-denied{color:var(--color-rust)}@media(prefers-reduced-motion:reduce){:root{--duration-instant: .01ms;--duration-fast: .01ms;--duration-normal: .01ms;--duration-slow: .01ms;--duration-deliberate: .01ms}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-body);font-size:var(--font-size-body);font-weight:var(--font-weight-normal);line-height:var(--line-height-body);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-display);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-tight);margin-top:1.5em;margin-bottom:.5em}h1{font-size:var(--font-size-h1);line-height:var(--line-height-h1)}h2{font-size:var(--font-size-h2);line-height:var(--line-height-h1)}h3{font-size:var(--font-size-h3);line-height:var(--line-height-h3)}h4,h5,h6{font-family:var(--font-body);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);margin-top:1.5em;margin-bottom:.5em}h4{font-size:var(--font-size-h4);line-height:var(--line-height-h4)}h5{font-size:var(--font-size-h5);line-height:var(--line-height-h5)}h6{font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-semibold)}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}p{margin-bottom:1em;max-width:75ch}p:last-child{margin-bottom:0}.lead{font-size:var(--font-size-body-lg);line-height:var(--line-height-body-lg)}small,.text-small{font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm)}.caption{font-size:var(--font-size-caption);line-height:var(--line-height-caption);color:var(--color-text-muted)}.overline{font-size:var(--font-size-overline);line-height:var(--line-height-overline);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted)}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-sand-light);text-decoration:underline}[data-theme=light] a:hover{color:var(--color-rust-dark)}a:focus-visible{outline:2px solid var(--color-sand);outline-offset:2px;border-radius:var(--radius-sm)}.light-bg a{color:var(--color-rust)}.light-bg a:hover{color:var(--color-rust-dark)}button{font-family:var(--font-body);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-button);cursor:pointer;border:none;border-radius:var(--radius-default);padding:var(--space-3) var(--space-6);transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}button:focus-visible{outline:2px solid var(--color-sand);outline-offset:2px}button:disabled{opacity:.4;cursor:not-allowed}input,textarea,select{font-family:var(--font-body);font-size:var(--font-size-body);padding:var(--input-padding);border:1px solid var(--input-border);border-radius:var(--radius-default);background-color:var(--input-bg);color:var(--input-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input:not([type=checkbox]):not([type=radio]),select{height:var(--input-height)}textarea{min-height:120px;resize:vertical;line-height:var(--line-height-body)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-sand);border-width:2px;padding:11px 15px}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}label{display:block;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);margin-bottom:var(--space-2)}input[type=checkbox],input[type=radio]{width:20px;height:20px;border:2px solid var(--color-text-subtle);cursor:pointer;accent-color:var(--color-rust)}input[type=checkbox]{border-radius:var(--radius-default)}input[type=radio]{border-radius:var(--radius-full)}input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--color-rust);border-color:var(--color-rust)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--color-sand);outline-offset:2px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:48px}[data-theme=light] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23323334' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}.light-bg input,.light-bg textarea,.light-bg select{background-color:var(--color-white);border-color:var(--color-border-emphasis);color:var(--color-charcoal)}.light-bg input::placeholder,.light-bg textarea::placeholder{color:#32333466}ul,ol{margin-bottom:1em;padding-left:1.5em}li{margin-bottom:.5em}li:last-child{margin-bottom:0}.container{max-width:var(--max-width-wide);margin:0 auto;padding:0 var(--container-padding-mobile)}@media(min-width:768px){.container{padding:0 var(--container-padding-tablet)}}@media(min-width:1024px){.container{padding:0 var(--container-padding-desktop)}}.container-content{max-width:var(--max-width-content);margin:0 auto;padding:0 var(--container-padding-mobile)}.container-narrow{max-width:var(--max-width-narrow);margin:0 auto;padding:0 var(--container-padding-mobile)}.container-tight{max-width:var(--max-width-tight);margin:0 auto;padding:0 var(--container-padding-mobile)}.grid{display:grid;gap:var(--grid-gap-standard);grid-template-columns:1fr}@media(min-width:768px){.grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}.grid-2{display:grid;gap:var(--grid-gap-standard);grid-template-columns:1fr}@media(min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}}.grid-4{display:grid;gap:var(--grid-gap-standard);grid-template-columns:repeat(2,1fr)}@media(min-width:768px){.grid-4{grid-template-columns:repeat(4,1fr)}}.grid-tight{gap:var(--grid-gap-tight)}.grid-loose{gap:var(--grid-gap-loose)}.section{padding:var(--section-padding-mobile) 0}@media(min-width:768px){.section{padding:var(--section-padding-tablet) 0}}@media(min-width:1024px){.section{padding:var(--section-padding-desktop) 0}}.section-alt,.bg-secondary{background-color:var(--color-bg-secondary)}.section-light,.bg-light{background-color:var(--color-off-white);color:var(--color-charcoal)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-text-primary)}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.text-error{color:var(--color-error)}.text-rust{color:var(--color-rust)}.text-sand{color:var(--color-sand)}.text-sage{color:var(--color-sage)}.text-white{color:var(--color-white)}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.mt-0{margin-top:0}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-0{margin-bottom:0}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.w-full{width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}img{max-width:100%;height:auto;display:block}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--color-sand);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-text-subtle);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background-color:var(--color-sand);color:var(--color-charcoal)}.btn{font-family:var(--font-body);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-button);padding:var(--space-3) var(--space-6);min-height:var(--btn-min-height-md);border-radius:var(--radius-default);border:none;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);text-align:center;text-decoration:none}.btn-primary{background-color:var(--color-rust);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:#a83b2e}.btn-primary:active:not(:disabled){background-color:#962f24}.btn-secondary{background-color:transparent;color:var(--color-white);border:2px solid var(--color-white)}.btn-secondary:hover:not(:disabled){background-color:#ffffff1a}.btn-secondary:active:not(:disabled){background-color:#ffffff26}[data-theme=light] .btn-secondary,.light-bg .btn-secondary,.btn-secondary-light{color:var(--color-charcoal);border-color:var(--color-charcoal)}[data-theme=light] .btn-secondary:hover:not(:disabled),.light-bg .btn-secondary:hover:not(:disabled),.btn-secondary-light:hover:not(:disabled){background-color:#3233341a}.btn-ghost{background-color:transparent;color:var(--color-sand);border:none;padding:var(--space-2) var(--space-4)}.btn-ghost:hover:not(:disabled){background-color:#c7ac921a;text-decoration:underline}[data-theme=light] .btn-ghost,.light-bg .btn-ghost,.btn-ghost-light{color:var(--color-rust)}[data-theme=light] .btn-ghost:hover:not(:disabled),.light-bg .btn-ghost:hover:not(:disabled),.btn-ghost-light:hover:not(:disabled){background-color:#c445361a}.btn-danger{background-color:var(--color-rust);color:var(--color-white)}.btn-danger:hover:not(:disabled){background-color:#a83b2e}.btn-danger:active:not(:disabled){background-color:#962f24}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{font-size:var(--font-size-body-sm);padding:var(--space-2) var(--space-4);min-height:var(--btn-min-height-sm)}.btn-lg{padding:var(--space-4) var(--space-8);min-height:var(--btn-min-height-lg)}.btn-full{width:100%}.btn-icon{padding:var(--space-3);min-width:var(--btn-min-height-md)}.btn-icon.btn-sm{padding:var(--space-2);min-width:var(--btn-min-height-sm)}.btn-icon.btn-lg{padding:var(--space-4);min-width:var(--btn-min-height-lg)}.btn:focus-visible{outline:2px solid var(--color-sand);outline-offset:2px}@media(max-width:640px){.btn-mobile-full{width:100%}}.theme-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:var(--space-1);cursor:pointer;border-radius:var(--radius-full);transition:background-color var(--transition-fast)}.theme-toggle:hover{background-color:#ffffff1a}.theme-toggle:focus-visible{outline:2px solid var(--color-sand);outline-offset:2px}.theme-toggle-track{display:flex;align-items:center;justify-content:center;width:44px;height:24px;background-color:#ffffff26;border-radius:var(--radius-full);position:relative;transition:background-color var(--transition-fast)}[data-theme=light] .theme-toggle-track{background-color:#3233341a}.theme-toggle-thumb{position:absolute;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background-color:var(--color-sand);border-radius:var(--radius-full);transition:transform var(--transition-fast),background-color var(--transition-fast);box-shadow:var(--shadow-sm)}.theme-toggle-thumb.dark{transform:translate(-10px)}.theme-toggle-thumb.light{transform:translate(10px);background-color:var(--color-rust)}.theme-icon{width:14px;height:14px;color:var(--color-charcoal)}.theme-toggle-thumb.light .theme-icon{color:var(--color-white)}@media(max-width:640px){.theme-toggle-track{width:38px;height:22px}.theme-toggle-thumb{width:18px;height:18px}.theme-toggle-thumb.dark{transform:translate(-8px)}.theme-toggle-thumb.light{transform:translate(8px)}.theme-icon{width:12px;height:12px}}@media(prefers-reduced-motion:reduce){.theme-toggle-thumb{transition:none}}.navbar{background-color:var(--color-charcoal);position:fixed;top:0;left:0;right:0;height:var(--nav-height);z-index:var(--z-nav);transition:box-shadow var(--transition-fast)}.navbar.scrolled{box-shadow:0 2px 8px #00000040}.navbar-container{max-width:var(--max-width-wide);height:100%;margin:0 auto;padding:0 var(--container-padding-mobile);display:flex;align-items:center;justify-content:space-between}@media(min-width:768px){.navbar-container{padding:0 var(--container-padding-tablet)}}@media(min-width:1024px){.navbar-container{padding:0 var(--container-padding-desktop)}}.navbar-logo{text-decoration:none;display:flex;align-items:center}.navbar-logo:hover{text-decoration:none}.navbar-logo h2{margin:0;color:var(--color-sand);font-family:var(--font-display);font-size:1.75rem;font-weight:var(--font-weight-normal);letter-spacing:.02em;transition:color var(--transition-fast)}.navbar-logo:hover h2{color:var(--color-sand-light)}.navbar-menu{display:flex;align-items:center;gap:var(--space-4)}@media(min-width:1024px){.navbar-menu{gap:var(--space-6)}}.nav-links-desktop{display:flex;align-items:center;gap:var(--space-6)}@media(min-width:1200px){.nav-links-desktop{gap:var(--space-8)}}.nav-link{color:var(--color-white);text-decoration:none;font-family:var(--font-body);font-size:13px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;transition:color var(--transition-fast);padding:var(--space-2) 0;position:relative;white-space:nowrap}.nav-link:hover{color:var(--color-sand);text-decoration:none}.nav-link.active{color:var(--color-sand)}.nav-link.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background-color:var(--color-rust)}.navbar .btn-primary{background-color:var(--color-rust);color:var(--color-white);border:2px solid var(--color-rust);padding:var(--space-2) var(--space-5);font-size:13px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;min-height:40px;border-radius:var(--radius-default)}.navbar .btn-primary:hover:not(:disabled){background-color:var(--color-rust-dark);border-color:var(--color-rust-dark)}.navbar .btn-secondary{background-color:transparent;color:var(--color-white);border:2px solid var(--color-white);padding:var(--space-2) var(--space-5);font-size:13px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;min-height:40px;border-radius:var(--radius-default)}.navbar .btn-secondary:hover:not(:disabled){background-color:#ffffff1a;border-color:var(--color-white)}.view-toggle-container{position:relative}.view-toggle-button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-default);cursor:pointer;font-size:12px;font-weight:var(--font-weight-semibold);color:var(--color-white);text-transform:uppercase;letter-spacing:.03em;transition:all var(--transition-fast)}.view-toggle-button:hover{background:#ffffff1a;border-color:#ffffff80}.view-label{min-width:85px;text-align:left}.dropdown-arrow{font-size:8px;color:#ffffffb3;transition:transform var(--transition-fast)}.view-toggle-button[aria-expanded=true] .dropdown-arrow{transform:rotate(180deg)}.view-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:220px;background:var(--color-off-white);border:none;border-radius:var(--radius-default);box-shadow:0 8px 24px #00000026;z-index:var(--z-dropdown);overflow:hidden;animation:dropdown-fade-in var(--duration-fast) var(--ease-out)}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.view-option{display:flex;align-items:center;width:100%;padding:var(--space-3) var(--space-4);border:none;background:transparent;cursor:pointer;text-align:left;gap:var(--space-3);transition:background var(--transition-fast);color:var(--color-charcoal)}.view-option:hover{background:#3233340d}.view-option.active{background:#32333414}.view-option-icon{font-size:18px;flex-shrink:0}.view-option-text{display:flex;flex-direction:column;flex:1}.view-option-title{font-weight:var(--font-weight-semibold);color:var(--color-charcoal);font-size:var(--font-size-body-sm)}.view-option-desc{font-size:var(--font-size-caption);color:var(--color-text-muted)}.checkmark{color:var(--color-rust);font-weight:var(--font-weight-bold)}.hamburger-button{display:none;background:none;border:none;cursor:pointer;padding:var(--space-2);margin-left:var(--space-1)}.hamburger-button:focus-visible{outline:2px solid var(--color-sand);outline-offset:2px;border-radius:var(--radius-sm)}.hamburger-icon{display:flex;flex-direction:column;justify-content:space-between;width:22px;height:16px}.hamburger-icon span{display:block;height:2px;width:100%;background-color:var(--color-white);border-radius:1px;transition:all var(--transition-fast)}.hamburger-icon.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-icon.open span:nth-child(2){opacity:0}.hamburger-icon.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;position:absolute;top:var(--nav-height);left:0;right:0;background-color:var(--color-charcoal);border-top:1px solid rgba(255,255,255,.1);padding:var(--space-3) 0;animation:mobile-menu-slide var(--transition-normal);box-shadow:0 4px 12px #0003}@keyframes mobile-menu-slide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-nav-link{display:block;padding:var(--space-4) var(--container-padding-mobile);color:var(--color-white);text-decoration:none;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.03em;transition:background var(--transition-fast),color var(--transition-fast)}.mobile-nav-link:hover{background-color:#ffffff0d;color:var(--color-sand);text-decoration:none}.mobile-signout{width:100%;border:none;background:none;cursor:pointer;text-align:left;font-size:var(--font-size-body);font-family:var(--font-body);font-weight:var(--font-weight-semibold);color:var(--color-white);text-transform:uppercase;letter-spacing:.03em;padding:var(--space-4) var(--container-padding-mobile);border-top:1px solid rgba(255,255,255,.1);margin-top:var(--space-2);transition:background var(--transition-fast),color var(--transition-fast)}.mobile-signout:hover{background-color:#ffffff0d;color:var(--color-sand)}.mobile-theme-toggle{width:100%;border:none;background:none;cursor:pointer;text-align:left;font-size:var(--font-size-body);font-family:var(--font-body);font-weight:var(--font-weight-semibold);color:#fffc;padding:var(--space-4) var(--container-padding-mobile);border-top:1px solid rgba(255,255,255,.1);transition:background var(--transition-fast),color var(--transition-fast)}.mobile-theme-toggle:hover{background-color:#ffffff0d;color:var(--color-sand)}@media(max-width:1024px){.nav-links-desktop,.desktop-only{display:none}.hamburger-button{display:block}.mobile-menu.open{display:flex;flex-direction:column}.navbar-menu{gap:var(--space-3)}}@media(max-width:640px){.navbar-logo h2{font-size:1.5rem}.navbar .btn-primary,.navbar .btn-secondary{padding:var(--space-2) var(--space-3);font-size:11px;min-height:36px}.view-toggle-button{padding:var(--space-1) var(--space-2);font-size:11px}.view-label{min-width:auto;display:none}.view-dropdown{min-width:180px}.view-option{padding:var(--space-2) var(--space-3)}.view-option-title{font-size:var(--font-size-caption)}.view-option-desc{display:none}}@media(prefers-reduced-motion:reduce){.mobile-menu,.view-dropdown{animation:none}}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background-color:var(--color-charcoal);color:var(--color-white);font-family:var(--font-body);font-size:var(--font-size-body);box-shadow:var(--shadow-lg);pointer-events:auto;cursor:pointer;animation:toast-slide-in var(--duration-normal) var(--ease-out);max-width:360px}.toast:hover{opacity:.95}.toast-icon{font-size:1.25em;flex-shrink:0}.toast-message{line-height:var(--line-height-body);flex:1}.toast-success{background-color:var(--color-sage);color:var(--color-charcoal)}.toast-error{background-color:var(--color-rust);color:var(--color-white)}.toast-info{background-color:var(--color-charcoal);color:var(--color-white)}.toast-warning{background-color:var(--color-sand);color:var(--color-charcoal)}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-exit{animation:toast-slide-out var(--duration-fast) var(--ease-in) forwards}@keyframes toast-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media(prefers-reduced-motion:reduce){.toast{animation:none}.toast-exit{animation:none;opacity:0}}@media(max-width:480px){.toast-container{left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}.toast{max-width:100%}}.home-container{min-height:calc(100vh - var(--nav-height))}.hero-section{text-align:center;padding:var(--space-20) var(--container-padding-mobile);background:var(--color-charcoal);color:var(--color-white)}@media(min-width:768px){.hero-section{padding:var(--space-32) var(--container-padding-tablet)}}@media(min-width:1024px){.hero-section{padding:var(--space-32) var(--container-padding-desktop)}}.hero-section h1{font-family:var(--font-display);font-size:var(--font-size-h2);font-weight:var(--font-weight-normal);line-height:var(--line-height-display);letter-spacing:var(--letter-spacing-tight);margin:0 auto var(--space-6);max-width:1000px;color:var(--color-white)}@media(min-width:768px){.hero-section h1{font-size:var(--font-size-display-lg)}}.hero-subtitle{font-family:var(--font-body);font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);color:var(--color-sand);margin:0 auto var(--space-4);max-width:100%}.hero-description{font-size:var(--font-size-body-lg);color:#ffffffd9;max-width:600px;margin:0 auto var(--space-10);line-height:var(--line-height-body-lg)}.hero-actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.features-section{padding:var(--section-padding-mobile) 0;background-color:var(--color-bg-secondary)}@media(min-width:768px){.features-section{padding:var(--section-padding-tablet) 0}}@media(min-width:1024px){.features-section{padding:var(--section-padding-desktop) 0}}.features-section .section-header{text-align:center;margin-bottom:var(--space-12)}.features-section .section-header h2{margin-bottom:var(--space-4)}.features-section .section-header p{color:var(--color-text-muted);max-width:600px;margin:0 auto}.feature-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);padding:var(--space-8);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.feature-card:hover{transform:scale(1.02);box-shadow:var(--shadow-md)}.feature-card-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto var(--space-4);color:var(--color-rust)}.feature-card h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-3)}.feature-card p{color:var(--color-text-muted);margin-bottom:0;font-size:var(--font-size-body-sm)}.how-it-works-section{padding:var(--section-padding-mobile) 0}@media(min-width:768px){.how-it-works-section{padding:var(--section-padding-tablet) 0}}@media(min-width:1024px){.how-it-works-section{padding:var(--section-padding-desktop) 0}}.cta-section{padding:var(--section-padding-mobile) 0;background-color:var(--color-charcoal);color:var(--color-white);text-align:center}@media(min-width:768px){.cta-section{padding:var(--section-padding-tablet) 0}}.cta-section h2{color:var(--color-white);margin-bottom:var(--space-4)}.cta-section p{color:#ffffffd9;max-width:600px;margin:0 auto var(--space-8)}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background-color:var(--color-bg-secondary)}.auth-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:0;max-width:450px;width:100%;box-shadow:var(--shadow-lg);overflow:hidden}.auth-card h1{font-family:var(--font-display);font-size:var(--font-size-h3);font-weight:var(--font-weight-normal);text-align:center;margin:0;padding:var(--space-8);background-color:var(--color-charcoal);color:var(--color-white);letter-spacing:var(--letter-spacing-tight)}.auth-subtitle{text-align:center;color:#ffffffb3;margin:0;padding:0 var(--space-8) var(--space-4);background-color:var(--color-charcoal);font-size:var(--font-size-body-sm)}.auth-form{padding:var(--space-8)}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);font-size:var(--font-size-body-sm);color:var(--color-text-muted)}.form-group input,.form-group textarea,.form-group select{width:100%}.error-message{background-color:#c445361a;border:1px solid var(--color-rust);color:var(--color-rust);padding:var(--space-4);border-radius:var(--radius-default);margin-bottom:var(--space-5);font-size:var(--font-size-body-sm)}.success-message{background-color:#94a89a26;border:1px solid var(--color-sage);color:var(--color-sage);padding:var(--space-4);border-radius:var(--radius-default);margin-bottom:var(--space-5);font-size:var(--font-size-body-sm)}.auth-link{text-align:center;color:var(--color-text-muted);margin-bottom:0;padding:0 var(--space-8) var(--space-8);font-size:var(--font-size-body-sm)}.auth-link a{color:var(--color-rust);font-weight:var(--font-weight-medium)}.auth-link a:hover{text-decoration:underline}.validation-status{font-size:var(--font-size-caption);font-weight:var(--font-weight-normal);margin-left:var(--space-1)}.validation-status.valid{color:var(--color-sage)}.form-group input.valid-code{border-color:var(--color-sage)}.form-group input.valid-code:focus{border-color:var(--color-sage)}.form-description{color:var(--color-text-muted);margin-bottom:var(--space-5);line-height:var(--line-height-body);font-size:var(--font-size-body-sm)}.reset-success{text-align:center}.forgot-password-link{display:block;text-align:right;font-size:var(--font-size-body-sm);margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-5)}.forgot-password-link a{color:var(--color-text-muted)}.forgot-password-link a:hover{color:var(--color-rust);text-decoration:underline}.password-strength{margin-top:var(--space-2)}.password-strength-bar{height:4px;background-color:var(--color-bg-secondary);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-1)}.password-strength-fill{height:100%;transition:width var(--transition-fast),background-color var(--transition-fast)}.password-strength-fill.weak{background-color:var(--color-rust)}.password-strength-fill.fair{background-color:var(--color-sand)}.password-strength-fill.strong{background-color:var(--color-sage)}.password-strength-text{font-size:var(--font-size-caption);color:var(--color-text-muted)}.card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--card-padding-mobile);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}@media(min-width:768px){.card{padding:var(--card-padding-tablet)}}@media(min-width:1024px){.card{padding:var(--card-padding-desktop)}}.card:hover{transform:scale(1.02);box-shadow:var(--shadow-md)}.card-static{transform:none}.card-static:hover{transform:none;box-shadow:var(--shadow-sm)}[data-theme=light] .card,.light-bg .card,.card-light{background-color:var(--color-white);border-color:#3233341a}.card h3,.card h4,.card h5{margin-top:0;margin-bottom:var(--space-3)}.card p{margin-bottom:var(--space-3);color:var(--color-text-muted)}.card p:last-child{margin-bottom:0}.card-feature{text-align:center}.card-feature .card-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto var(--space-4);color:var(--color-rust)}.card-feature .card-icon svg{width:32px;height:32px}.card-feature h5{margin-bottom:var(--space-2)}.card-feature p{color:var(--color-text-muted)}.card-image{padding:0;overflow:hidden}.card-image-wrapper{position:relative;aspect-ratio:16 / 9;overflow:hidden}.card-image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.card-image:hover .card-image-wrapper img{transform:scale(1.05)}.card-image-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--space-6) var(--space-5);background:linear-gradient(to top,rgba(0,0,0,.6),transparent);color:var(--color-white)}.card-image-content{padding:var(--card-padding-mobile)}@media(min-width:768px){.card-image-content{padding:var(--card-padding-tablet)}}.card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.card-body{flex:1}.card-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.card-flex{display:flex;flex-direction:column;height:100%}.profile-page{max-width:var(--max-width-wide);margin:0 auto;padding:var(--section-padding-mobile) var(--container-padding-mobile)}@media(min-width:768px){.profile-page{padding:var(--section-padding-tablet) var(--container-padding-tablet)}}@media(min-width:1024px){.profile-page{padding:var(--section-padding-desktop) var(--container-padding-desktop)}}.profile-page .page-header{margin-bottom:var(--space-10)}.profile-page .page-header h1{margin:0 0 var(--space-2) 0}.profile-page .page-subtitle{color:var(--color-text-muted);margin:0;font-size:var(--font-size-body-lg)}.profile-grid{display:grid;grid-template-columns:1fr;gap:var(--grid-gap-standard)}@media(min-width:768px){.profile-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}.profile-card{padding:var(--card-padding-mobile)}@media(min-width:768px){.profile-card{padding:var(--card-padding-tablet)}}.profile-card h2{font-family:var(--font-body);font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-6) 0;padding-bottom:var(--space-4);border-bottom:2px solid var(--color-border-emphasis)}.account-info{display:flex;flex-direction:column;gap:var(--space-4)}.info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.info-row:last-child{border-bottom:none}.info-label{color:var(--color-text-muted);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium)}.info-value{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.role-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-button)}.profile-card .form-group{margin-bottom:var(--space-5)}.profile-card .form-group label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);font-size:var(--font-size-body-sm);color:var(--color-text-muted)}.profile-card .form-group input{width:100%}.profile-card .error-message{background-color:#c445361a;border:1px solid var(--color-rust);color:var(--color-rust);padding:var(--space-4);border-radius:var(--radius-default);margin-bottom:var(--space-5);font-size:var(--font-size-body-sm)}.profile-card .success-message{background-color:#94a89a26;border:1px solid var(--color-sage);color:var(--color-sage);padding:var(--space-4);border-radius:var(--radius-default);margin-bottom:var(--space-5);font-size:var(--font-size-body-sm)}@media(max-width:768px){.profile-grid{grid-template-columns:1fr}}.status-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-button)}.status-approved{background-color:#94a89a26;color:var(--color-sage)}.status-pending{background-color:#c7ac9226;color:#8b7355}.status-denied,.status-cancelled{background-color:#c4453626;color:var(--color-rust)}.status-pending_lottery{background-color:#c7ac9233;color:#8b7355}.status-lottery_denied{background-color:#c4453626;color:var(--color-rust)}.status-waitlisted{background-color:#94a89a1a;color:#6b8872}.status-pending_payment{background-color:#0a66c226;color:#0a66c2}.status-payment_expired{background-color:#c4453626;color:var(--color-rust)}.status-badge-icon{margin-right:var(--space-1);font-size:.9em}.status-badge-compact{padding:2px var(--space-2);font-size:10px}.event-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0}.event-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2)}.event-card h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);line-height:var(--line-height-h5);letter-spacing:var(--letter-spacing-normal);margin:0;flex:1;color:var(--color-text-primary)}.allocation-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-button);white-space:nowrap}.race-type-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-button);white-space:nowrap}.race-type-running{background-color:#4caf5026;color:#2e7d32}.race-type-cycling{background-color:#2196f326;color:#1565c0}.race-type-swimming{background-color:#00bcd426;color:#00838f}.race-type-triathlon{background-color:#9c27b026;color:#7b1fa2}.race-type-obstacle{background-color:#ff980026;color:#e65100}.race-type-other{background-color:var(--badge-bg-neutral);color:var(--color-text-secondary)}.event-category-badges{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-3);align-self:start}.distance-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);white-space:nowrap;background-color:#33333314;color:var(--color-text-secondary);border:1px solid var(--color-border)}.event-info{grid-row:3;margin-bottom:var(--space-5)}.event-actions{grid-row:4}.event-description{color:var(--color-text-muted);margin-bottom:var(--space-5);font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;cursor:default;transition:all .2s ease}.event-card:hover .event-description{-webkit-line-clamp:unset;overflow:visible}.event-details{display:flex;flex-direction:column;gap:var(--space-2)}.event-detail{font-size:var(--font-size-body-sm);color:var(--color-text-muted)}.event-detail strong{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.tickets-available{color:var(--color-sage);font-weight:var(--font-weight-semibold)}.tickets-sold-out{color:var(--color-rust);font-weight:var(--font-weight-semibold)}.fee-amount{color:#0a66c2;font-weight:var(--font-weight-semibold)}.request-status{text-align:center;padding:var(--space-3);background-color:#c445361a;border-radius:var(--radius-default);color:var(--color-rust);font-weight:var(--font-weight-medium);font-size:var(--font-size-body-sm);text-transform:capitalize}.lottery-deadline{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--color-border);font-size:var(--font-size-body-sm)}.deadline-active{color:var(--color-sage);font-weight:var(--font-weight-medium)}.deadline-passed{color:var(--color-rust);font-weight:var(--font-weight-medium)}.request-status-container{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);background-color:var(--color-bg-secondary);border-radius:var(--radius-default)}.request-status-label{font-size:var(--font-size-body-sm);color:var(--color-text-muted)}.own-event-notice{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-lg);text-align:center}.own-event-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);background:var(--color-charcoal);color:var(--color-white);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-button)}.own-event-message{color:var(--color-text-muted);font-size:var(--font-size-caption);margin:0}.event-distance{color:var(--color-rust);font-weight:var(--font-weight-medium)}.event-links{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-border)}.event-link{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background-color:#c4453614;color:var(--color-rust);border-radius:var(--radius-default);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);text-decoration:none;transition:background-color var(--transition-fast)}.event-link:hover{background-color:#c4453626;text-decoration:none}.event-link:after{content:"↗";font-size:10px}@media(max-width:480px){.event-header{flex-direction:column;gap:var(--space-2)}.event-header .allocation-badge{align-self:flex-start}.event-category-badges{gap:var(--space-1)}.race-type-badge,.distance-badge{font-size:10px;padding:2px 6px}}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-border) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-default)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--color-bg-secondary)}}.skeleton-text{border-radius:var(--radius-default)}.skeleton-badge{border-radius:var(--radius-full)}.skeleton-button{border-radius:var(--radius-default)}.skeleton-circle{border-radius:var(--radius-full)}.skeleton-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--card-padding-mobile)}@media(min-width:768px){.skeleton-card{padding:var(--card-padding-tablet)}}.skeleton-mb-sm{margin-bottom:var(--space-1)}.skeleton-mb{margin-bottom:var(--space-2)}.skeleton-mb-lg{margin-bottom:var(--space-3)}.skeleton-details{display:flex;flex-direction:column;gap:var(--space-1)}.skeleton-card .event-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3)}.skeleton-card .event-info{flex:1;margin-bottom:var(--space-5)}.skeleton-card .event-actions{margin-top:auto;display:flex;gap:var(--space-2)}.skeleton-card .request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.skeleton-card .request-details{margin-bottom:var(--space-3)}.skeleton-card .request-actions{display:flex;gap:var(--space-2)}.skeleton-card .event-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.skeleton-card .event-meta{display:flex;gap:var(--space-3);margin-top:var(--space-1)}.skeleton-card .event-stats{display:flex;gap:var(--space-5);padding:var(--space-3) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.skeleton-card .stat{display:flex;flex-direction:column;align-items:flex-start}.skeleton-row td{padding:var(--space-3)}.skeleton-grid{display:grid;grid-template-columns:1fr;gap:var(--grid-gap-standard)}@media(min-width:768px){.skeleton-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.skeleton-grid{grid-template-columns:repeat(3,1fr)}}.location-search-filter{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-8)}@media(min-width:768px){.location-search-filter{padding:var(--space-6)}}.filter-header h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-4) 0;color:var(--color-text-primary)}.filter-content{display:flex;flex-direction:column;gap:var(--space-4)}.location-input-group{flex:1}.location-search-input{width:100%}.radius-selector{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.radius-label{font-weight:var(--font-weight-medium);font-size:var(--font-size-body-sm);color:var(--color-text-primary)}.radius-options{display:flex;gap:var(--space-2)}.radius-option{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-emphasis);border-radius:var(--radius-default);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-body-sm);cursor:pointer;transition:all var(--transition-fast)}.radius-option:hover{background-color:var(--color-bg-hover);border-color:var(--color-sand)}.radius-option.active{background-color:var(--color-rust);border-color:var(--color-rust);color:var(--color-white)}.filter-error{color:var(--color-error);font-size:var(--font-size-body-sm)}.filter-actions{display:flex;gap:var(--space-3)}.active-filter-badge{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-2) var(--space-3);background-color:#94a89a26;border-radius:var(--radius-full);font-size:var(--font-size-body-sm);color:var(--color-sage)}.active-filter-badge .clear-filter{cursor:pointer;opacity:.7;transition:opacity var(--transition-fast)}.active-filter-badge .clear-filter:hover{opacity:1}@media(min-width:768px){.filter-content{flex-direction:row;align-items:flex-start;flex-wrap:wrap}.location-input-group{flex:1;min-width:250px}.radius-selector,.filter-actions{flex:none}}.event-filters{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-8)}@media(min-width:768px){.event-filters{padding:var(--space-6)}}.event-filters .filter-header h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-4) 0;color:var(--color-text-primary)}.event-filters-content{display:flex;flex-direction:column;gap:var(--space-4)}.race-type-pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}.race-pill{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-emphasis);border-radius:var(--radius-default);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-body-sm);cursor:pointer;transition:all var(--transition-fast)}.race-pill:hover{background-color:var(--color-bg-hover)}.race-pill-running.active{background-color:#4caf5026;border-color:#2e7d32;color:#2e7d32}.race-pill-cycling.active{background-color:#2196f326;border-color:#1565c0;color:#1565c0}.race-pill-swimming.active{background-color:#00bcd426;border-color:#00838f;color:#00838f}.race-pill-triathlon.active{background-color:#9c27b026;border-color:#7b1fa2;color:#7b1fa2}.race-pill-obstacle.active{background-color:#ff980026;border-color:#e65100;color:#e65100}.race-pill-other.active{background-color:var(--badge-bg-neutral);border-color:var(--color-text-secondary);color:var(--color-text-secondary)}.event-filter-distance-group{display:flex;flex-direction:column;gap:var(--space-1)}.distance-label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.unit-toggle{display:flex;border:1px solid var(--color-border-emphasis);border-radius:var(--radius-default);overflow:hidden}.unit-option{padding:2px var(--space-2);border:none;background-color:var(--color-bg-primary);color:var(--color-text-muted);font-size:11px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.unit-option:first-child{border-right:1px solid var(--color-border-emphasis)}.unit-option.active{background-color:var(--color-rust);color:var(--color-white)}.unit-option:hover:not(.active){background-color:var(--color-bg-hover)}.distance-inputs{display:flex;align-items:center;gap:var(--space-2)}.event-filter-input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-emphasis);border-radius:var(--radius-default);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--font-size-body-sm);width:80px}.event-filter-input:focus{outline:2px solid var(--color-accent);outline-offset:2px}.event-filter-input::-webkit-inner-spin-button,.event-filter-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.event-filter-input[type=number]{-moz-appearance:textfield}.distance-separator{color:var(--color-text-muted);font-size:var(--font-size-body-sm)}.event-filters-row{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}@media(min-width:768px){.event-filters-row{flex-direction:row;align-items:flex-end}}.event-filter-select-group{display:flex;flex-direction:column;gap:var(--space-1)}.event-filter-label{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.event-filter-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-emphasis);border-radius:var(--radius-default);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--font-size-body-sm);min-width:160px;cursor:pointer}.event-filter-select:focus{outline:2px solid var(--color-accent);outline-offset:2px}.event-filters-clear{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-emphasis);border-radius:var(--radius-default);background-color:transparent;color:var(--color-text-muted);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.event-filters-clear:hover{color:var(--color-rust);border-color:var(--color-rust)}.event-filters-badge{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-2) var(--space-3);background-color:#94a89a26;border-radius:var(--radius-full);font-size:var(--font-size-body-sm);color:var(--color-sage)}.events-header{text-align:center;margin-bottom:var(--space-10);padding-top:var(--space-10)}.events-header h1{margin-bottom:var(--space-3)}.events-header p{color:var(--color-text-muted);font-size:var(--font-size-body-lg);max-width:600px;margin:0 auto}.events-header.light-bg h1{color:var(--color-charcoal)}.events-header.light-bg p{color:#32333499}.loading-spinner{display:inline-block;width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-rust);border-radius:var(--radius-full);animation:spin 1s linear infinite;margin-right:var(--space-2)}@keyframes spin{to{transform:rotate(360deg)}}.no-events{text-align:center;padding:var(--space-16);color:var(--color-text-muted)}.no-events h3{font-family:var(--font-body);font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3);color:var(--color-text-primary)}.no-events p{font-size:var(--font-size-body);margin-bottom:var(--space-6)}@media(min-width:768px){.events-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.events-grid{grid-template-columns:repeat(3,1fr)}}.events-filters{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-8);padding:var(--space-5);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg)}.filter-group{display:flex;flex-direction:column;gap:var(--space-2)}.filter-label{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.sort-controls{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);justify-content:space-between;flex-wrap:wrap}.results-count{font-size:var(--font-size-body-sm);color:var(--color-text-muted)}.sort-select{min-width:180px}.my-requests-header{text-align:center;margin-bottom:var(--space-10);padding-top:var(--space-10)}.my-requests-header h1{margin-bottom:var(--space-3)}.my-requests-header p{color:var(--color-text-muted);font-size:var(--font-size-body-lg);max-width:600px;margin:0 auto}.filter-controls{display:flex;gap:var(--space-2);margin-bottom:var(--space-8);flex-wrap:wrap;justify-content:center}.filter-button{padding:var(--space-2) var(--space-4);background-color:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border-emphasis);border-radius:var(--radius-default);font-weight:var(--font-weight-medium);font-size:var(--font-size-body-sm);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-2)}.filter-button:hover{border-color:var(--color-sand);background-color:var(--color-bg-hover)}.filter-button.active{background-color:var(--color-charcoal);color:var(--color-white);border-color:var(--color-charcoal)}.filter-count{background-color:#ffffff1a;color:var(--color-text-secondary);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold)}[data-theme=light] .filter-count{background-color:#3233341a;color:var(--color-charcoal)}.filter-button.active .filter-count{background-color:#fff3;color:var(--color-white)}.empty-state{text-align:center;padding:var(--space-12);background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:var(--space-8) auto;max-width:600px}.empty-state h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3);color:var(--color-text-primary)}.requests-list{display:flex;flex-direction:column;gap:var(--space-6);max-width:var(--max-width-wide);margin:0 auto}.request-card{display:flex;flex-direction:column;gap:var(--space-4)}.request-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.request-header h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);margin:0;flex:1}.request-details{display:flex;flex-direction:column;gap:var(--space-4)}.request-info{display:flex;flex-direction:column;gap:var(--space-2)}.request-info p{margin:0;font-size:var(--font-size-body-sm);color:var(--color-text-muted)}.request-info strong{color:var(--color-text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-caption)}.event-description{color:var(--color-text-muted);margin:0;padding:var(--space-4);background-color:var(--color-bg-secondary);border-left:3px solid var(--color-sand);border-radius:var(--radius-default);font-size:var(--font-size-body-sm);line-height:var(--line-height-body)}.request-actions{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.denied-message,.cancelled-message,.lottery-denied-message{color:var(--color-text-muted);font-size:var(--font-size-body-sm);font-style:italic;margin:0}.lottery-message{color:#8b7355;font-size:var(--font-size-body-sm);margin:0;padding:var(--space-3) var(--space-4);background-color:#c7ac921a;border-radius:var(--radius-default);border-left:3px solid var(--color-sand)}.waitlist-message{color:var(--color-sage);font-size:var(--font-size-body-sm);margin:0;padding:var(--space-3) var(--space-4);background-color:#94a89a1a;border-radius:var(--radius-default);border-left:3px solid var(--color-sage)}.approved-message{color:var(--color-sage);font-size:var(--font-size-body-sm);margin:0;padding:var(--space-3) var(--space-4);background-color:#94a89a26;border-radius:var(--radius-default);border-left:3px solid var(--color-sage)}.payment-section{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background-color:#0a66c214;border:1px solid rgba(10,102,194,.2);border-radius:var(--radius-default)}.payment-info{display:flex;flex-direction:column;gap:var(--space-1)}.payment-amount{margin:0;font-size:var(--font-size-body);color:var(--color-text-primary)}.payment-deadline{margin:0;font-size:var(--font-size-body-sm);color:#8b7355}.payment-deadline.expired{color:var(--color-rust);font-weight:var(--font-weight-semibold)}.payment-confirmed{padding:var(--space-3) var(--space-4);background-color:#94a89a1a;border-radius:var(--radius-default);border-left:3px solid var(--color-sage)}.payment-confirmed p{margin:0;font-size:var(--font-size-body-sm);color:var(--color-sage)}.payment-expired-message{color:var(--color-rust);font-size:var(--font-size-body-sm);font-style:italic;margin:0}.loading{text-align:center;padding:var(--space-12);font-size:var(--font-size-body-lg);color:var(--color-text-muted)}@media(min-width:768px){.request-header{align-items:center}.request-details{flex-direction:row;gap:var(--space-6)}.request-info,.event-description{flex:1}}.my-events-page{max-width:var(--max-width-wide);margin:0 auto;padding:var(--section-padding-mobile) var(--container-padding-mobile)}@media(min-width:768px){.my-events-page{padding:var(--section-padding-tablet) var(--container-padding-tablet)}}@media(min-width:1024px){.my-events-page{padding:var(--section-padding-desktop) var(--container-padding-desktop)}}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-10);gap:var(--space-6);flex-wrap:wrap}.page-header h1{margin:0 0 var(--space-1) 0}.page-subtitle{color:var(--color-text-muted);margin:0;font-size:var(--font-size-body-lg)}.loading-state{text-align:center;padding:var(--space-12);color:var(--color-text-muted)}.filter-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-8);border-bottom:2px solid var(--color-border-emphasis);flex-wrap:wrap}.filter-tab{background:none;border:none;padding:var(--space-4) var(--space-6);font-family:var(--font-body);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);cursor:pointer;position:relative;transition:color var(--transition-fast)}.filter-tab:hover,.filter-tab.active{color:var(--color-text-primary)}.filter-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background-color:var(--color-rust)}.empty-state{text-align:center;padding:var(--space-16);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.empty-state h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2) 0}.empty-state p{color:var(--color-text-muted);margin-bottom:var(--space-6)}.events-grid{display:grid;grid-template-columns:1fr;gap:var(--grid-gap-standard)}@media(min-width:768px){.events-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}.my-events-page .event-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--card-padding-mobile);display:flex;flex-direction:column;gap:var(--space-4);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}@media(min-width:768px){.my-events-page .event-card{padding:var(--card-padding-tablet)}}.my-events-page .event-card:hover{transform:scale(1.02);box-shadow:var(--shadow-md)}.event-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.my-events-page .event-card h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-1) 0}.event-meta{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-body-sm);color:var(--color-text-muted)}.event-date:before,.event-location:before{margin-right:var(--space-1)}.event-status{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-button)}.event-status.status-published{background-color:#94a89a26;color:var(--color-sage)}.event-status.status-draft{background-color:#c7ac9226;color:#8b7355}.event-description{color:var(--color-text-muted);margin:0;font-size:var(--font-size-body-sm);line-height:var(--line-height-body-sm);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.event-stats{display:flex;gap:var(--space-6);padding:var(--space-4);background-color:var(--color-bg-secondary);border-radius:var(--radius-default)}.stat{display:flex;flex-direction:column;gap:var(--space-1)}.stat-label{font-size:var(--font-size-caption);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.stat-value{font-size:var(--font-size-h5);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.event-eligibility{font-size:var(--font-size-body-sm);padding:var(--space-3);background-color:#c445360d;border-left:3px solid var(--color-rust);border-radius:var(--radius-default)}.event-eligibility strong{color:var(--color-text-primary)}.event-actions{display:flex;gap:var(--space-2);margin-top:auto}.delete-confirm{display:flex;align-items:center;gap:var(--space-2);flex:1}.delete-confirm span{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--color-rust)}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch}.events-grid{grid-template-columns:1fr}.filter-tabs{gap:var(--space-1)}.filter-tab{padding:var(--space-2) var(--space-4);font-size:var(--font-size-caption)}}.location-autocomplete{position:relative;width:100%}.location-autocomplete input{width:100%}.location-autocomplete input.location-input-invalid{border-color:var(--color-error)}.location-autocomplete input.location-input-invalid:focus{border-color:var(--color-error)}.location-error{display:block;color:var(--color-error);font-size:var(--font-size-body-sm);margin-top:var(--space-1)}.location-hint{display:block;color:var(--color-text-muted);font-size:var(--font-size-body-sm);margin-top:var(--space-1)}.pac-container{font-family:var(--font-body);border:1px solid var(--color-border-emphasis);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-top:var(--space-1);overflow:hidden}.pac-item{padding:var(--space-3) var(--space-4);cursor:pointer;font-size:var(--font-size-body);line-height:var(--line-height-body-sm);border-top:1px solid var(--color-border);transition:background-color var(--transition-fast)}.pac-item:first-child{border-top:none}.pac-item:hover,.pac-item-selected{background-color:var(--color-bg-secondary)}.pac-item-query{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.pac-matched{font-weight:var(--font-weight-bold);color:var(--color-rust)}.pac-icon{display:none}.pac-logo:after{display:none}.create-event-page{max-width:var(--max-width-content);margin:0 auto;padding:var(--section-padding-mobile) var(--container-padding-mobile)}@media(min-width:768px){.create-event-page{padding:var(--section-padding-tablet) var(--container-padding-tablet)}}@media(min-width:1024px){.create-event-page{padding:var(--section-padding-desktop) var(--container-padding-desktop)}}.create-event-page .page-header{margin-bottom:var(--space-8)}.create-event-page .page-header h1{margin-bottom:var(--space-2)}.create-event-page .page-subtitle{color:var(--color-text-muted);font-size:var(--font-size-body-lg)}.event-form{display:flex;flex-direction:column;gap:var(--space-8)}.form-section{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}@media(min-width:768px){.form-section{padding:var(--space-6)}}.form-section h2{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-5) 0;padding-bottom:var(--space-3);border-bottom:2px solid var(--color-border-emphasis)}.form-row{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:768px){.form-row{grid-template-columns:1fr 1fr}}.field-hint{display:block;font-size:var(--font-size-body-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.radio-group{display:flex;flex-direction:column;gap:var(--space-4)}.radio-label{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border-emphasis);border-radius:var(--radius-default);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.radio-label:hover{background-color:var(--color-bg-hover);border-color:var(--color-sand)}.radio-label.selected{background-color:#c445360d;border-color:var(--color-rust)}.radio-label input[type=radio]{margin-top:2px;cursor:pointer}.radio-label span{flex:1}.radio-label strong{display:block;margin-bottom:var(--space-1);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.radio-label .radio-description{font-size:var(--font-size-body-sm);color:var(--color-text-muted)}.checkbox-label{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;font-weight:var(--font-weight-medium)}.checkbox-label input[type=checkbox]{margin-top:2px;cursor:pointer;width:20px;height:20px;accent-color:var(--color-rust)}.allocation-info{margin-top:var(--space-4);padding:var(--space-4);background-color:var(--color-bg-secondary);border-radius:var(--radius-default)}.allocation-info .field-hint{margin-top:var(--space-2)}.form-actions{display:flex;gap:var(--space-4);justify-content:flex-end;padding-top:var(--space-6)}.form-error{background-color:#c445361a;border:1px solid var(--color-rust);color:var(--color-rust);padding:var(--space-4);border-radius:var(--radius-default);margin-bottom:var(--space-5);font-size:var(--font-size-body-sm)}.form-success{background-color:#94a89a26;border:1px solid var(--color-sage);color:var(--color-sage);padding:var(--space-4);border-radius:var(--radius-default);margin-bottom:var(--space-5);font-size:var(--font-size-body-sm)}.race-categories-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.race-categories-header label{margin-bottom:0}.race-categories-list{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.race-category-item{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-default);padding:var(--space-4)}.category-row{display:flex;gap:var(--space-3);align-items:flex-end;flex-wrap:wrap}.category-row:not(:last-child){margin-bottom:var(--space-3)}.category-field{flex:1;min-width:120px}.category-field.category-name{flex:2}.category-field label{display:block;font-size:var(--font-size-caption);color:var(--color-text-muted);margin-bottom:var(--space-1);font-weight:var(--font-weight-medium)}.category-field input,.category-field select{width:100%}.distance-input-group{display:flex;gap:var(--space-2)}.distance-input-group input{flex:1}.distance-input-group select{width:90px}.time-limit-toggle{display:flex;flex-direction:column;gap:var(--space-2)}.checkbox-label-inline{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.checkbox-label-inline input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-rust)}.time-limit-group{display:flex;align-items:center;gap:var(--space-2)}.time-limit-group input{width:60px;text-align:center}.time-limit-group span{font-size:var(--font-size-body-sm);color:var(--color-text-muted)}.remove-category-btn{background:none;border:none;color:var(--color-rust);font-size:24px;line-height:1;padding:var(--space-2);cursor:pointer;transition:opacity var(--transition-fast);align-self:center}.remove-category-btn:hover{opacity:.7}.event-links-list{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.event-link-item{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-default);padding:var(--space-4)}.link-row{display:flex;gap:var(--space-3);align-items:flex-end;flex-wrap:wrap}.link-field{flex:1;min-width:140px}.link-field.link-url{flex:2;min-width:200px}.link-field.link-custom-label{flex:1;min-width:140px}.link-field label{display:block;font-size:var(--font-size-caption);color:var(--color-text-muted);margin-bottom:var(--space-1);font-weight:var(--font-weight-medium)}.link-field input,.link-field select{width:100%}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}@media(max-width:768px){.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.category-row{flex-direction:column;align-items:stretch}.category-field{min-width:100%}.remove-category-btn{align-self:flex-end}}.admin-dashboard{max-width:var(--max-width-wide);margin:0 auto;padding:var(--section-padding-mobile) var(--container-padding-mobile)}@media(min-width:768px){.admin-dashboard{padding:var(--section-padding-tablet) var(--container-padding-tablet)}}@media(min-width:1024px){.admin-dashboard{padding:var(--section-padding-desktop) var(--container-padding-desktop)}}.admin-dashboard .page-header{text-align:center;margin-bottom:var(--space-10)}.admin-dashboard .page-header h1{margin-bottom:var(--space-2)}.admin-dashboard .page-subtitle{color:var(--color-text-muted);font-size:var(--font-size-body-lg)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--grid-gap-standard);margin-bottom:var(--space-10)}.stat-card{padding:var(--space-6);text-align:center}.stat-number{font-family:var(--font-display);font-size:var(--font-size-h1);font-weight:var(--font-weight-normal);color:var(--color-rust);line-height:var(--line-height-display);margin-bottom:var(--space-2)}.stat-label{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);margin-bottom:var(--space-2)}.stat-breakdown{font-size:var(--font-size-caption);color:var(--color-text-subtle)}.stat-card.quick-actions{display:flex;flex-direction:column;justify-content:center;gap:var(--space-3)}.quick-actions-list{display:flex;flex-direction:column;gap:var(--space-2)}.admin-tabs{display:flex;gap:var(--space-1);border-bottom:2px solid var(--color-border-emphasis);margin-bottom:var(--space-6)}.admin-tab{padding:var(--space-4) var(--space-6);border:none;background:none;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);cursor:pointer;position:relative;transition:color var(--transition-fast)}.admin-tab:hover,.admin-tab.active{color:var(--color-text-primary)}.admin-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background-color:var(--color-rust)}.tab-content{min-height:400px}.overview-content{display:grid;grid-template-columns:1fr;gap:var(--grid-gap-loose)}@media(min-width:768px){.overview-content{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}}.overview-section{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.overview-section h3{font-family:var(--font-body);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-5) 0;color:var(--color-text-primary);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.recent-list{display:flex;flex-direction:column;gap:var(--space-3)}.recent-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.recent-item:last-child{border-bottom:none}.recent-info{display:flex;flex-direction:column;gap:2px}.recent-user{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-body-sm)}.recent-event,.recent-date{font-size:var(--font-size-caption);color:var(--color-text-muted)}.admin-table{width:100%;border-collapse:collapse;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.admin-table th{background-color:var(--color-charcoal);color:var(--color-white);padding:var(--space-4);text-align:left;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.admin-table td{padding:var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--font-size-body-sm)}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background-color:var(--color-bg-secondary)}.action-cell{white-space:nowrap}.admin-table .role-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-button)}.role-participant{background-color:var(--badge-bg-neutral);color:var(--color-text-secondary)}.role-coordinator{background-color:#94a89a26;color:var(--color-sage)}.role-admin{background-color:#c4453626;color:var(--color-rust)}.admin-table .status-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-medium);text-transform:uppercase}.status-published{background-color:#94a89a26;color:var(--color-sage)}.status-draft{background-color:#c7ac9226;color:#8b7355}.admin-table .allocation-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-medium);text-transform:uppercase}.allocation-fcfs{background-color:var(--badge-bg-neutral);color:var(--color-text-secondary)}.role-select,.status-select{padding:var(--space-2) var(--space-3);border:1px solid var(--input-border);border-radius:var(--radius-default);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);background-color:var(--input-bg);color:var(--input-text);cursor:pointer;min-width:130px}.role-select:hover,.status-select:hover{border-color:var(--color-sand)}.role-select:focus,.status-select:focus{outline:none;border-color:var(--color-sand)}.empty-text{text-align:center;color:var(--color-text-muted);padding:var(--space-6);font-size:var(--font-size-body-sm)}.payment-actions{display:flex;gap:var(--space-2)}.waiting-label{font-size:var(--font-size-caption);color:var(--color-text-muted);font-style:italic}@media(max-width:768px){.stats-grid{grid-template-columns:1fr 1fr}.overview-content{grid-template-columns:1fr}.admin-tabs{flex-wrap:wrap}.admin-tab{padding:var(--space-2) var(--space-4);font-size:var(--font-size-caption)}.admin-table{display:block;overflow-x:auto}.admin-table th,.admin-table td{padding:var(--space-2);font-size:var(--font-size-caption)}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.stat-number{font-size:var(--font-size-h2)}}.admin-lottery-page{max-width:var(--max-width-content);margin:0 auto;padding:var(--section-padding-mobile) var(--container-padding-mobile)}@media(min-width:768px){.admin-lottery-page{padding:var(--section-padding-tablet) var(--container-padding-tablet)}}@media(min-width:1024px){.admin-lottery-page{padding:var(--section-padding-desktop) var(--container-padding-desktop)}}.admin-lottery-page .page-header{text-align:center;margin-bottom:var(--space-10)}.admin-lottery-page .page-header h1{margin-bottom:var(--space-2)}.admin-lottery-page .page-subtitle{color:var(--color-text-muted);font-size:var(--font-size-body-lg)}.lottery-events-list{display:flex;flex-direction:column;gap:var(--space-8)}.lottery-event-card{padding:var(--card-padding-mobile)}@media(min-width:768px){.lottery-event-card{padding:var(--card-padding-tablet)}}.lottery-event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-border-emphasis);flex-wrap:wrap;gap:var(--space-3)}.lottery-event-header h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);margin:0}.lottery-event-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.detail-row{display:flex;flex-direction:column;gap:var(--space-1)}.detail-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.detail-value{font-size:var(--font-size-body-sm);color:var(--color-text-primary)}.entries-count{font-weight:var(--font-weight-semibold);color:var(--color-rust)}.deadline-badge{display:inline-flex;align-items:center;margin-left:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-medium);text-transform:uppercase}.deadline-upcoming .deadline-badge{background-color:var(--badge-bg-neutral);color:var(--color-text-secondary)}.deadline-soon .deadline-badge{background-color:#c7ac9233;color:#8b7355}.deadline-passed .deadline-badge{background-color:#c4453626;color:var(--color-rust)}.lottery-results{background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-5)}.lottery-results h4{font-family:var(--font-body);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);margin:0 0 var(--space-4) 0;color:var(--color-text-muted)}.results-grid{display:flex;gap:var(--space-5);flex-wrap:wrap}.result-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-2) var(--space-4);border-radius:var(--radius-default)}.result-item.winners{background-color:#94a89a33;color:var(--color-sage)}.result-item.waitlisted{background-color:#c7ac9233;color:#8b7355}.result-item.denied{background-color:#c4453626;color:var(--color-rust)}.result-number{font-size:var(--font-size-h4);font-weight:var(--font-weight-bold)}.result-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.lottery-event-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.override-section{display:flex;align-items:center;gap:var(--space-2)}.override-label{font-size:var(--font-size-caption);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.empty-state{text-align:center;padding:var(--space-12);background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.empty-state h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.empty-state p{color:var(--color-text-muted)}.loading{text-align:center;padding:var(--space-12);color:var(--color-text-muted)}.error-message{background-color:#c445361a;border:1px solid var(--color-rust);color:var(--color-rust);padding:var(--space-4);border-radius:var(--radius-default);margin-bottom:var(--space-6);text-align:center;font-size:var(--font-size-body-sm)}.allocation-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-weight:var(--font-weight-medium);text-transform:uppercase;font-size:var(--font-size-caption);letter-spacing:var(--letter-spacing-button)}.allocation-lottery{background-color:#c7ac9226;color:#8b7355}@media(max-width:768px){.lottery-event-actions{flex-direction:column;align-items:stretch}.override-section{justify-content:center;flex-wrap:wrap}.results-grid{justify-content:center}}.admin-bulk-import{max-width:var(--max-width-wide);margin:0 auto;padding:var(--section-padding-mobile) var(--container-padding-mobile)}@media(min-width:768px){.admin-bulk-import{padding:var(--section-padding-tablet) var(--container-padding-tablet)}}@media(min-width:1024px){.admin-bulk-import{padding:var(--section-padding-desktop) var(--container-padding-desktop)}}.admin-bulk-import .page-header{text-align:center;margin-bottom:var(--space-10)}.admin-bulk-import .page-header h1{margin-bottom:var(--space-2)}.admin-bulk-import .page-subtitle{color:var(--color-text-muted);font-size:var(--font-size-body-lg)}.import-tabs{display:flex;gap:var(--space-1);border-bottom:2px solid var(--color-border-emphasis);margin-bottom:var(--space-6)}.import-tab{padding:var(--space-4) var(--space-6);border:none;background:none;color:var(--color-text-muted);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition-fast)}.import-tab:hover{color:var(--color-text-primary)}.import-tab.active{color:var(--color-text-primary);border-bottom-color:var(--color-sand)}.import-content{display:flex;flex-direction:column;gap:var(--space-6)}.column-info h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4)}.column-lists{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.column-lists h4{font-family:var(--font-body);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);color:var(--color-text-primary)}.column-lists ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.column-lists li{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-family:monospace}.required-col{background-color:#0a66c226;color:#0a66c2}.optional-col{background-color:var(--color-bg-secondary);color:var(--color-text-muted)}.import-note{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background-color:#c7ac921a;border-left:3px solid var(--color-sand);border-radius:var(--radius-default);font-size:var(--font-size-body-sm);color:var(--color-text-muted)}.upload-section h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4)}.file-upload{display:flex;align-items:center;gap:var(--space-4)}.file-input{display:none}.file-label{display:inline-flex;align-items:center;padding:var(--space-3) var(--space-6);background-color:var(--color-bg-secondary);border:2px dashed var(--color-border-emphasis);border-radius:var(--radius-default);cursor:pointer;font-size:var(--font-size-body);color:var(--color-text-muted);transition:all var(--transition-fast);flex:1;justify-content:center}.file-label:hover{border-color:var(--color-sand);background-color:var(--color-bg-hover)}.validation-section h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4);color:var(--color-rust)}.validation-list{display:flex;flex-direction:column;gap:var(--space-2)}.validation-error{display:flex;gap:var(--space-2);font-size:var(--font-size-body-sm);padding:var(--space-2) var(--space-3);background-color:#c445360d;border-radius:var(--radius-default)}.error-row{font-weight:var(--font-weight-semibold);color:var(--color-rust);white-space:nowrap}.error-msg{color:var(--color-text-muted)}.more-errors{font-size:var(--font-size-caption);color:var(--color-text-muted);font-style:italic;margin-top:var(--space-2)}.preview-section h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold)}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.preview-table-wrapper,.results-detail-wrapper{overflow-x:auto}.import-table{width:100%;border-collapse:collapse;font-size:var(--font-size-body-sm)}.import-table th,.import-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.import-table th{background-color:var(--color-bg-secondary);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);position:sticky;top:0}.import-table td{color:var(--color-text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis}.row-error{background-color:#c445360d}.more-rows{text-align:center;font-style:italic;color:var(--color-text-muted)}.import-type-badge{display:inline-flex;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);text-transform:capitalize;background-color:#0a66c226;color:#0a66c2}.filename-cell{font-family:monospace;font-size:var(--font-size-caption)}.success-count{color:var(--color-sage);font-weight:var(--font-weight-semibold)}.error-count{color:var(--color-rust);font-weight:var(--font-weight-semibold)}.results-section h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4)}.results-summary{display:flex;gap:var(--space-6);margin-bottom:var(--space-6)}.result-stat{display:flex;flex-direction:column;align-items:center;padding:var(--space-4) var(--space-8);border-radius:var(--radius-default)}.result-success{background-color:#94a89a26}.result-failed{background-color:#c445361a}.result-number{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold)}.result-success .result-number{color:var(--color-sage)}.result-failed .result-number{color:var(--color-rust)}.result-label{font-size:var(--font-size-caption);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-button)}.result-badge{display:inline-flex;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-medium);text-transform:uppercase}.result-badge-created,.result-badge-invited{background-color:#94a89a26;color:var(--color-sage)}.result-badge-updated,.result-badge-exists{background-color:#0a66c226;color:#0a66c2}.result-badge-error{background-color:#c4453626;color:var(--color-rust)}.results-actions{display:flex;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.loading-text,.empty-text{text-align:center;color:var(--color-text-muted);padding:var(--space-8);font-size:var(--font-size-body)}.export-content{display:flex;flex-direction:column;gap:var(--space-6)}.export-filters h3{font-family:var(--font-body);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4)}.export-filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.export-filter-group label{display:block;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-muted);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:var(--letter-spacing-button)}.export-filter-select{width:100%;padding:var(--space-2) var(--space-3);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-default);color:var(--color-text-primary);font-size:var(--font-size-body-sm);cursor:pointer;transition:border-color var(--transition-fast)}.export-filter-select:hover{border-color:var(--color-sand)}.export-filter-select:focus{outline:none;border-color:var(--color-accent)}.export-actions-header{display:flex;justify-content:space-between;align-items:center}.export-summary{display:flex;align-items:baseline;gap:var(--space-2)}.export-count{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-sand)}.export-count-label{font-size:var(--font-size-body);color:var(--color-text-muted)}@media(max-width:768px){.import-tabs{flex-wrap:wrap}.import-tab{padding:var(--space-2) var(--space-4);font-size:var(--font-size-caption)}.column-lists{grid-template-columns:1fr}.results-summary{flex-direction:column;gap:var(--space-3)}.result-stat{flex-direction:row;gap:var(--space-3);justify-content:center;padding:var(--space-3) var(--space-4)}.preview-header{flex-direction:column;gap:var(--space-3);align-items:stretch}.export-filter-grid{grid-template-columns:repeat(2,1fr)}.export-actions-header{flex-direction:column;gap:var(--space-3);align-items:stretch}}@media(max-width:480px){.export-filter-grid{grid-template-columns:1fr}}.app{min-height:100vh;background-color:var(--color-bg-primary);display:flex;flex-direction:column}.main-content{flex:1;min-height:calc(100vh - var(--nav-height));padding-top:var(--nav-height)}.main-content--no-nav-offset{padding-top:0}
