@import "https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Inter:wght@400;500;600&family=Roboto+Mono:wght@500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Oswald:wght@600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Inter:wght@400;500;600&family=Roboto+Mono:wght@500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Inter:wght@400;500;600&display=swap";.home-page{--home-black:var(--brand-black);--home-red:var(--brand-red);--home-red-bright:var(--brand-red-bright);--home-ink:var(--brand-ink);--home-bg:var(--brand-bg);--home-surface:var(--brand-surface);--home-line:var(--brand-line);max-width:880px;padding:2.5rem var(--space-9) 4rem;background:var(--home-bg);color:var(--home-ink);margin:0 auto;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.home-page a:not(.btn){color:var(--home-red)}.hero{background:linear-gradient(165deg, var(--home-black) 0%, #232323 100%);color:#fff;padding:2.25rem var(--space-10) 2.5rem;text-align:center;border-radius:16px}@media (prefers-reduced-motion:no-preference){.hero{animation:.6s ease-out both home-rise}}@keyframes home-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero-logo{width:76px;height:76px;margin:0 auto var(--space-8);display:block}.eyebrow{margin:0 0 var(--space-3);letter-spacing:.14em;text-transform:uppercase;color:var(--home-red-bright);font-family:Oswald,sans-serif;font-size:.85rem;font-weight:600}.hero-title{text-transform:uppercase;letter-spacing:.01em;text-wrap:balance;margin:0;font-family:Oswald,sans-serif;font-size:clamp(2.1rem,6vw,3.4rem);font-weight:700;line-height:1.05}.hero .hero-title{color:#fff}.hero-dates{margin:var(--space-3) 0 0;color:#ffffffbf;font-family:Roboto Mono,monospace;font-size:.95rem}.hero-intro{color:#ffffffd9;max-width:46ch;margin:1.1rem auto 0;font-size:1.02rem;line-height:1.5}.hero-actions{justify-content:center;gap:var(--space-5);flex-wrap:wrap;margin-top:1.6rem;display:flex}.home-page .btn--lg{padding:var(--space-5) var(--space-10);border-radius:8px;min-height:44px;font-size:1rem;font-weight:600}.home-page .btn--primary{background:var(--home-red-bright);border-color:var(--home-red-bright);color:#fff}.home-page .btn--primary:hover{background:var(--home-red);border-color:var(--home-red)}.home-page .hero .btn--ghost{color:var(--home-black);background:#fff;border-color:#fff}.home-page .hero .btn--ghost:hover{background:#ffffffd9}.home-page .btn--ghost{border-color:var(--home-line);color:var(--home-ink)}.scoreboard{align-items:center;gap:var(--space-3);background:var(--home-red);border-radius:12px;flex-direction:column;margin:1.75rem auto 0;padding:1.1rem 1.6rem;display:inline-flex;box-shadow:0 8px 24px #00000059}.scoreboard--closed{background:#ffffff1a}.scoreboard-title,.scoreboard-sub{letter-spacing:.08em;text-transform:uppercase;color:#fff;font-family:Oswald,sans-serif;font-size:.8rem;font-weight:600}.scoreboard-sub{color:#ffffffbf}.scoreboard-splits{align-items:center;gap:var(--space-2);display:flex}.split{flex-direction:column;align-items:center;min-width:2.6rem;display:flex}.split-value{font-variant-numeric:tabular-nums;color:#fff;font-family:Roboto Mono,monospace;font-size:1.7rem;font-weight:600;line-height:1}.split-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3;margin-top:.25rem;font-size:.62rem}.scoreboard-colon{color:#ffffff73;font-family:Roboto Mono,monospace;font-size:1.4rem;transform:translateY(-.6rem)}.lane-divider{background:var(--home-red);opacity:.85;border-radius:999px;height:4px;margin:2.25rem 0}.section{padding:.25rem 0}.section-title{margin:0 0 var(--space-8);letter-spacing:.04em;text-transform:uppercase;padding-left:var(--space-5);border-left:4px solid var(--home-red);font-family:Oswald,sans-serif;font-size:1.05rem;font-weight:600}.section--contact{text-align:center}.glance-grid{gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.glance-card{background:var(--home-surface);border:1px solid var(--home-line);padding:var(--space-8) 1.1rem;border-radius:10px;flex-direction:column;display:flex}.glance-label{margin:var(--space-3) 0 0;letter-spacing:.08em;text-transform:uppercase;color:var(--home-red);font-size:.75rem;font-weight:600}.glance-label:first-child{margin-top:0}.glance-value{font-size:1rem;font-weight:500}.home-page .glance-card .glance-value a{color:inherit;font-weight:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--home-line);text-decoration-color:var(--home-line);text-underline-offset:.15em}.home-page .glance-card .glance-value a:hover{text-decoration-color:currentColor}.glance-note{margin:var(--space-3) 0 0;opacity:.75;font-size:.85rem}.date-tiles{align-items:center;gap:var(--space-7);margin:var(--space-3) 0 var(--space-7);display:flex}.date-tiles-arrow{color:var(--home-red);opacity:.55;flex:none;font-size:1.1rem}.glance-value-arrow{color:var(--home-red);margin:0 .15em;font-weight:700}.date-tile{background:var(--home-red);color:#fff;text-align:center;border-radius:8px;flex:none;min-width:3.4rem;overflow:hidden}.glance-icon-tile{width:3.4rem;height:3.6rem;margin:var(--space-3) 0 var(--space-7);border:1.5px solid var(--home-line);border-radius:8px;flex:none;justify-content:center;align-self:flex-start;align-items:center;font-size:1.7rem;line-height:1;display:flex}.date-tile-weekday{letter-spacing:.06em;background:#0003;padding:.15rem 0;font-size:.6rem;font-weight:600;display:block}.date-tile-day{font-family:Oswald,sans-serif;font-size:1.3rem;font-weight:700;line-height:1.3;display:block}.date-tile-month{letter-spacing:.04em;opacity:.85;padding-bottom:.2rem;font-size:.62rem;font-weight:600;display:block}.included-list{gap:var(--space-3) var(--space-10);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0;padding:0;list-style:none;display:grid}.included-list li{padding-left:1.6rem;font-size:.95rem;position:relative}.included-list li:before{content:"✓";color:var(--home-red);font-weight:700;position:absolute;left:0}.cost-splits{gap:var(--space-8);flex-wrap:wrap;display:flex}.cost-split{background:var(--home-surface);border:1px solid var(--home-line);padding:var(--space-8) 1.1rem;border-radius:10px;flex-direction:column;flex:180px;gap:.2rem;display:flex}.cost-split-label{letter-spacing:.08em;text-transform:uppercase;color:var(--home-red);font-size:.7rem;font-weight:600}.cost-split-value{font-family:Roboto Mono,monospace;font-size:1.5rem;font-weight:600}.cost-split-due{opacity:.7;font-size:.8rem}.cost-total{margin-top:var(--space-8);font-weight:600}.coordinator-name{margin:.2rem 0;font-weight:600}.home-footer{padding:2rem var(--space-10);background:var(--home-black);color:#fff;text-align:center;align-items:center;gap:var(--space-3);border-radius:16px;flex-direction:column;margin-top:2.5rem;display:flex}.home-footer .hint{color:#ffffffa6}.home-page a.footer-admin-link{color:#ffffff8c;justify-content:center;align-items:center;min-height:44px;margin:.4rem -12px -12px;padding:12px;font-size:.8rem;text-decoration:none;display:inline-flex}.home-page--empty{text-align:center;padding-top:4rem}.app .app-header h1,.app .modal-panel h2,.app .form-card h2,.admin-auth-page .register-header h1{letter-spacing:.01em;text-transform:uppercase;font-family:Oswald,sans-serif;font-weight:700}.app .form-row input:focus,.app .form-row select:focus,.app .form-row textarea:focus,.admin-auth-page .form-row input:focus,.admin-auth-page .form-row select:focus,.admin-auth-page .form-row textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #b2111129}@media (prefers-color-scheme:dark){.app .form-row input:focus,.app .form-row select:focus,.app .form-row textarea:focus,.admin-auth-page .form-row input:focus,.admin-auth-page .form-row select:focus,.admin-auth-page .form-row textarea:focus{box-shadow:0 0 0 3px #ff808033}}.app .roster-table .link-btn:not(.link-btn--danger){color:var(--text)}.app .roster-table .link-btn:not(.link-btn--danger):hover{color:var(--primary)}.app .roster-table tbody tr:hover{background:#b211110a}@media (prefers-color-scheme:dark){.app .roster-table tbody tr:hover{background:#ff80800f}}.admin-auth-page .reg-logo{width:44px;height:44px;margin-bottom:var(--space-3)}.questions-panel{padding:var(--space-8)}.questions-panel__header{justify-content:space-between;gap:var(--space-8);margin-bottom:var(--space-8);flex-wrap:wrap;align-items:end;display:flex}.questions-panel__header h2{margin-bottom:var(--space-1)}.questions-panel__stats{gap:var(--space-2);flex-wrap:wrap;display:flex}.questions-panel__count{padding:var(--space-1) var(--space-4);background:#0000000d;border-radius:999px;font-size:.85rem;font-weight:600}.questions-panel__count--pending{color:var(--primary);background:#b211111a}.question-list{gap:var(--space-7);display:grid}.question-card{padding:var(--space-8);background:#fffc;border:1px solid #00000014;border-radius:14px}.question-card__top{justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-5);align-items:center;display:flex}.question-pill{padding:.25rem var(--space-3);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;font-size:.7rem;font-weight:700;display:inline-flex}.question-pill--pending{color:var(--primary);background:#b211111a}.question-pill--answered{color:#11663c;background:#11663c14}.question-card__date,.question-card__asker{color:#0009;font-size:.82rem}.question-card__question{margin:0;font-size:1rem;font-weight:600}.question-card__asker{margin:var(--space-1) 0 0}.question-card__answer{margin-top:var(--space-7)}.question-card__answer textarea{width:100%;margin-top:var(--space-1);resize:vertical}.question-card__actions{margin-top:var(--space-6);justify-content:flex-end}.register-page{--reg-black:var(--brand-black);--reg-red:var(--brand-red);--reg-red-bright:var(--brand-red-bright);--reg-ink:var(--brand-ink);--reg-bg:var(--brand-bg);--reg-surface:var(--brand-surface);--reg-line:var(--brand-line);background:var(--reg-bg);color:var(--reg-ink);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.register-page .form-card{max-width:100%}.register-page .reg-logo{width:44px;height:44px;margin-bottom:var(--space-3)}.register-page .reg-back{margin-bottom:var(--space-7);color:var(--reg-red);font-size:.82rem;font-weight:500;text-decoration:none;display:inline-block}.register-page .reg-back:hover{text-decoration:underline}.register-page .reg-eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--reg-red-bright);margin:0 0 .3rem;font-family:Oswald,sans-serif;font-size:.72rem;font-weight:600}.register-page .register-header h1{text-transform:uppercase;letter-spacing:.01em;text-wrap:balance;font-family:Oswald,sans-serif;font-size:clamp(1.5rem,6vw,1.9rem);font-weight:700;line-height:1.1}.register-page .subtitle{color:var(--reg-ink);opacity:.7}.register-page .reg-divider{height:4px;margin:var(--space-9) 0 var(--space-10);background:var(--reg-red);opacity:.85;border-radius:999px}.register-page .account-bar{background:var(--reg-surface);border:1px solid var(--reg-line);padding:.55rem var(--space-7);color:var(--reg-ink);border-radius:8px;flex-wrap:wrap;row-gap:.3rem}.register-page .account-bar span:first-child{opacity:.75;word-break:break-all;font-family:Roboto Mono,monospace;font-size:.78rem}.register-page .link-btn{color:var(--reg-red);font-weight:500}.register-page .form-card{background:var(--reg-surface);border:1px solid var(--reg-line);border-radius:12px;box-shadow:0 6px 20px #0000000f}.register-page .form-card h2{letter-spacing:.02em;text-transform:uppercase;font-family:Oswald,sans-serif;font-size:1rem}.register-page .hint{color:var(--reg-ink);opacity:.65}.register-page .form-row label{color:var(--reg-ink);opacity:.75;font-weight:500}.register-page .form-row input,.register-page .form-row select,.register-page .form-row textarea{background:var(--reg-surface);border:1px solid var(--reg-line);color:var(--reg-ink);border-radius:8px}.register-page .form-row input:disabled,.register-page .form-row select:disabled,.register-page .form-row textarea:disabled,.register-page .form-row input:read-only,.register-page .form-row textarea:read-only{background:var(--reg-bg);color:var(--reg-ink);opacity:.65;cursor:not-allowed}.register-page .form-row input:focus,.register-page .form-row select:focus,.register-page .form-row textarea:focus{border-color:var(--reg-red);outline:none;box-shadow:0 0 0 3px #98000029}.register-page .segmented{border-color:var(--reg-line)}.register-page .segmented-btn{background:var(--reg-surface);color:var(--reg-ink)}.register-page .segmented-btn--active{background:var(--reg-red-bright);color:#fff}.register-page .btn--primary{background:var(--reg-red-bright);border-color:var(--reg-red-bright);color:#fff;font-weight:600}.register-page .btn--primary:hover{background:var(--reg-red);border-color:var(--reg-red)}.register-page .btn--ghost{border-color:var(--reg-line);color:var(--reg-ink)}.register-page .field-error{color:var(--danger)}.register-page .form-error--root{color:var(--danger);background:#c0392b1f}.register-page .registered-card h2{margin-bottom:var(--space-4)}.register-page .roster-chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.register-page .roster-chip{background:var(--reg-bg);border:1px solid var(--reg-line);padding:.32rem var(--space-5) .32rem var(--space-3);border-radius:999px;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.register-page .roster-chip:before{content:"";background:var(--reg-red);border-radius:999px;flex:none;width:6px;height:6px}.register-page .roster-chip-role{letter-spacing:.04em;text-transform:uppercase;opacity:.6;font-family:Roboto Mono,monospace;font-size:.68rem}.register-page .account-home-actions{justify-content:space-between;align-items:center}.register-page .account-roster{margin:var(--space-7) 0 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.register-page .account-roster-row{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-8);padding:.65rem var(--space-6);background:var(--reg-bg);border:1px solid var(--reg-line);border-radius:8px;flex-wrap:wrap;display:flex}.register-page .account-roster-who{align-items:baseline;gap:var(--space-2);display:flex}.register-page .account-roster-who .lane-card-name{font-size:.95rem}.register-page .account-roster-status{align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:.82rem;display:flex}.register-page .account-roster-flag{margin-top:var(--space-4);color:var(--reg-red);opacity:.85}.register-page .status-pill{padding:.2rem var(--space-3);letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;font-size:.72rem;font-weight:600;display:inline-flex}.register-page .status-pill--ok{color:#11663c;background:#14804a1a}.register-page .status-pill--warn{color:var(--reg-red);background:#b2111114}.register-page .status-pill--flag{color:var(--reg-red);background:#b2111124;font-weight:700}.register-page .returning-card h2{margin-bottom:.15rem}.register-page .lane-cards{margin:var(--space-7) 0 var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.65rem;padding:0;list-style:none;display:grid}.register-page .lane-card{width:100%;padding:.65rem var(--space-6);background:var(--reg-surface);border:1px solid var(--reg-line);border-left:4px solid var(--reg-red);cursor:pointer;text-align:left;color:var(--reg-ink);border-radius:8px;flex-direction:column;align-items:flex-start;gap:.1rem;font-family:inherit;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex;position:relative}.register-page .lane-card:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0000001a}.register-page .lane-card--selected{border-left-color:var(--reg-black);border-color:var(--reg-black);box-shadow:0 0 0 2px #1113}.register-page .lane-card-role{letter-spacing:.07em;text-transform:uppercase;color:var(--reg-red);font-family:Roboto Mono,monospace;font-size:.62rem;font-weight:600}.register-page .lane-card-name{text-transform:uppercase;font-family:Oswald,sans-serif;font-size:1.05rem;font-weight:600;line-height:1.15}.register-page .lane-card-first{opacity:.7;font-size:.85rem}.register-page .lane-card-add{color:var(--reg-red-bright);font-size:.85rem;font-weight:700;position:absolute;top:.55rem;right:.6rem}.register-page .register-success{text-align:center;padding:2rem var(--space-10)}.register-page .register-success:before{content:"✓";width:44px;height:44px;margin:0 auto var(--space-6);background:var(--reg-red-bright);color:#fff;border-radius:999px;justify-content:center;align-items:center;font-size:1.3rem;font-weight:700;display:inline-flex}@media (prefers-reduced-motion:no-preference){.register-page .register-success{animation:.35s ease-out both reg-pop}}@keyframes reg-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.register-page .register-success p{font-size:1.05rem;font-weight:500}.faq-page{--faq-black:var(--brand-black);--faq-red:var(--brand-red);--faq-red-bright:var(--brand-red-bright);--faq-ink:var(--brand-ink);--faq-bg:var(--brand-bg);--faq-surface:var(--brand-surface);--faq-line:var(--brand-line);min-height:100vh;color:var(--faq-ink);background:radial-gradient(circle at top right, #b211111f, transparent 28%), radial-gradient(circle at left 18%, #0000000f, transparent 24%), var(--faq-bg);padding:1.4rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}@media (prefers-color-scheme:dark){.faq-page .faq-hint,.faq-page .faq-empty{color:#f0f0f0b8}.faq-page .faq-card__date,.faq-page .faq-card__asker{color:#f0f0f094}.faq-page .faq-card__answer{background:#ffffff0f}.faq-page .faq-card__answer--pending{color:#f0f0f08a}}.faq-page a:not(.btn){color:var(--faq-red)}.faq-page--empty{align-content:center;place-items:center;gap:var(--space-6);text-align:center;display:grid}.faq-hero,.faq-layout{max-width:1040px;margin:0 auto}.faq-hero{padding:var(--space-9) var(--space-9) 1.75rem;color:#fff;background:linear-gradient(165deg,#141414 0%,#272727 100%);border-radius:22px;position:relative;overflow:hidden;box-shadow:0 18px 44px #00000029}.faq-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#b2111159,#0000 68%);border-radius:999px;width:240px;height:240px;position:absolute;inset:auto -12% -35% auto}.faq-hero__top{justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.faq-back{min-height:40px;padding:.55rem var(--space-7);color:#fff;background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;align-items:center;text-decoration:none;display:inline-flex}.faq-back--ghost{color:var(--faq-black);background:#fffffff0}.faq-logo{width:76px;height:76px;margin:.25rem 0 var(--space-6);display:block}.faq-eyebrow{margin:0 0 var(--space-1);letter-spacing:.14em;text-transform:uppercase;color:#ff7a7a;font-size:.84rem;font-weight:600}.faq-title{text-transform:uppercase;margin:0;font-family:Oswald,sans-serif;font-size:clamp(2.2rem,6vw,3.7rem);line-height:.98}.faq-subtitle,.faq-trip-name{max-width:60ch;margin:var(--space-6) 0 0;color:#ffffffdb;font-size:1.02rem;line-height:1.5}.faq-trip-name{color:#ffffffeb;font-weight:600}.faq-layout{gap:var(--space-8);margin-top:var(--space-8);grid-template-columns:minmax(300px,360px) minmax(0,1fr);display:grid}.faq-form,.faq-list-shell{background:var(--faq-surface);border:1px solid var(--faq-line);padding:var(--space-8);border-radius:18px}.faq-form h2,.faq-list-header h2{margin:0 0 var(--space-1);text-transform:uppercase;font-family:Oswald,sans-serif;font-size:1.15rem}.faq-hint{color:#1a1a1ab8;margin:0;font-size:.92rem}.faq-form .form-row,.faq-form .modal-actions{margin-top:var(--space-8)}.faq-form input,.faq-form textarea{width:100%;margin-top:.4rem}.faq-form textarea{resize:vertical;min-height:120px}.faq-list-shell{min-width:0}.faq-list-header{justify-content:space-between;gap:var(--space-8);margin-bottom:var(--space-8);flex-wrap:wrap;align-items:end;display:flex}.faq-list-header .faq-hint{max-width:42ch}.faq-empty{padding:2rem var(--space-8);text-align:center;border:1px dashed var(--faq-line);color:#1a1a1aa6;border-radius:14px}.faq-list{gap:.85rem;display:grid}.faq-card{border:1px solid var(--faq-line);padding:.95rem var(--space-8) var(--space-8);background:var(--faq-surface);border-radius:16px}.faq-card--pending{border-color:#b2111138;box-shadow:inset 0 0 0 1px #b211110a}.faq-card__top{justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-5);align-items:center;display:flex}.faq-pill{padding:.25rem var(--space-3);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;font-size:.7rem;font-weight:700;display:inline-flex}.faq-pill--pending{color:var(--faq-red);background:#b2111114}.faq-pill--answered{color:#11663c;background:#14804a14}.faq-card__date,.faq-card__asker{color:#1a1a1a94;font-size:.82rem}.faq-card__question{margin:0;font-size:1.02rem;font-weight:600}.faq-card__asker{margin:var(--space-1) 0 0}.faq-card__answer{padding:.85rem var(--space-7);white-space:pre-wrap;background:#1111110a;border-radius:12px;margin:.85rem 0 0}.faq-card__answer--pending{color:#1a1a1a8a;font-style:italic}@media (width<=860px){.faq-layout{grid-template-columns:1fr}}:root{--brand-black:#111;--brand-red:#980000;--brand-red-bright:#b21111;--brand-ink:#1c1c1c;--brand-bg:#f4f4f5;--brand-surface:#fff;--brand-line:#dcdcdf;--space-1:.35rem;--space-2:.5rem;--space-3:.6rem;--space-4:.7rem;--space-5:.75rem;--space-6:.8rem;--space-7:.9rem;--space-8:1rem;--space-9:1.25rem;--space-10:1.5rem;--bg:#f7f7f8;--surface:#fff;--border:#dfe1e6;--text:#1c1e21;--text-muted:#6b7280;--primary:var(--brand-red-bright);--primary-hover:var(--brand-red);--danger:#c0392b;--ok:#1e824c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--brand-black:#0a0a0a;--brand-red:#ff5c5c;--brand-red-bright:#ff8080;--brand-ink:#f0f0f0;--brand-bg:#141414;--brand-surface:#1e1e1e;--brand-line:#333335;--bg:#16181c;--surface:#1f2227;--border:#333740;--text:#ecedee;--text-muted:#9aa0a6}}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}body{background:var(--bg);color:var(--text);margin:0}.app{max-width:1100px;padding:var(--space-10) var(--space-8) 4rem;margin:0 auto}.app-header{justify-content:space-between;align-items:center;gap:var(--space-8);margin-bottom:var(--space-9);flex-wrap:wrap;display:flex}.app-header h1{margin:0;font-size:1.4rem}.app-title{align-items:center;gap:var(--space-4);display:flex}.app-logo{flex:none;width:32px;height:32px}.subtitle{color:var(--text-muted);margin:.15rem 0 0}.header-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.btn{min-height:44px;padding:var(--space-2) var(--space-7);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:.9rem;text-decoration:none;display:inline-flex}.btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn--primary:hover{background:var(--primary-hover)}.btn--ghost:hover{background:var(--bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.trip-switcher{align-items:center;gap:var(--space-3);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.trip-select{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.trip-select select{padding:var(--space-1) var(--space-3);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;font-size:.9rem}.summary-bar{gap:var(--space-5);margin-bottom:var(--space-9);flex-wrap:wrap;display:flex}.summary-stat{background:var(--surface);border:1px solid var(--border);padding:var(--space-3) var(--space-8);text-align:center;border-radius:8px;min-width:72px}.summary-stat--muted{opacity:.85}.summary-value{font-size:1.25rem;font-weight:600;display:block}.summary-label{color:var(--text-muted);font-size:.75rem;display:block}.banner{padding:var(--space-5) var(--space-8);margin-bottom:var(--space-8);border-radius:6px}.banner--error{color:var(--danger);background:#c0392b1f}.hint{color:var(--text-muted);font-size:.9rem}.roster-controls{gap:var(--space-3);margin-bottom:var(--space-8);flex-wrap:wrap;align-items:center;display:flex}.search-input{padding:.45rem var(--space-4);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;flex:180px;min-width:180px}.chip-group{gap:var(--space-1);flex-wrap:wrap;display:flex}.chip{padding:.3rem var(--space-4);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;font-size:.82rem}.chip--active{background:var(--primary);border-color:var(--primary);color:#fff}.sort-select,.toggle{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.sort-select select{padding:.3rem var(--space-2);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px}.roster-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;overflow:hidden}.roster-table th,.roster-table td{text-align:left;padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border);font-size:.9rem}.roster-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:.78rem;font-weight:600}.roster-table tr:last-child td{border-bottom:none}.row--inactive{opacity:.55}.row-actions{align-items:center;gap:var(--space-3);white-space:nowrap;display:flex}.link-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem}.link-btn--danger{color:var(--danger)}.icon-btn{width:2rem;height:2rem;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--bg);color:var(--text)}.icon-btn.link-btn--danger{color:var(--danger)}.icon-btn.link-btn--danger:hover{background:var(--bg);color:var(--danger)}.empty-row{text-align:center;color:var(--text-muted);padding:2rem}@media (width<=640px){.roster-table thead{display:none}.roster-table,.roster-table tbody,.roster-table tr,.roster-table td{width:100%;display:block}.roster-table tr{border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-6)}.roster-table td{border:none;justify-content:space-between;padding:.2rem 0;display:flex}.roster-table td:before{content:attr(data-label);color:var(--text-muted);text-transform:uppercase;margin-right:var(--space-2);font-size:.75rem}.row-actions{justify-content:flex-end;width:100%}}.modal-backdrop{padding:3vh var(--space-8);z-index:50;background:#00000073;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-panel,.form-card{background:var(--surface);padding:var(--space-10);border:1px solid var(--border);border-radius:10px;width:100%;max-width:480px}.modal-panel--wide{max-width:720px}.trip-details-page__header{margin-bottom:var(--space-8)}.trip-details-page__footer{justify-content:flex-end;align-items:center;gap:var(--space-3);margin-top:var(--space-9);padding-top:var(--space-6);border-top:1px solid var(--border);display:flex}.trip-details-page__footer .form-notice--ok{margin:0 auto 0 0}.form-section+.form-section{margin-top:var(--space-9)}.form-section h3{margin:0 0 var(--space-6);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.85rem}.form-grid{gap:var(--space-7) var(--space-8);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.form-grid .field--full{grid-column:1/-1}.cost-breakdown{margin-top:var(--space-7);padding:var(--space-6) var(--space-7);border:1px solid var(--border);background:var(--bg);border-radius:8px}.deposit-slider{align-items:center;gap:var(--space-6);color:var(--text-muted);padding-bottom:var(--space-6);margin-bottom:var(--space-6);border-bottom:1px dashed var(--border);flex-wrap:wrap;font-size:.85rem;display:flex}.deposit-slider input[type=range]{accent-color:var(--primary);flex:200px}.deposit-slider-value{color:var(--text);white-space:nowrap;font-family:Roboto Mono,monospace;font-size:.85rem}.cost-breakdown-row{align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.cost-breakdown-row+.cost-breakdown-row{margin-top:var(--space-5)}.cost-breakdown-label{color:var(--text-muted);flex:160px;font-size:.85rem}.cost-breakdown-value{font-family:Roboto Mono,monospace;font-size:1.1rem;font-weight:600}.cost-breakdown-due{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.cost-breakdown-due input{padding:.45rem var(--space-3);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;font-family:inherit;font-size:.95rem}.cost-breakdown-range{margin:var(--space-5) 0 0}.markdown-field{gap:var(--space-7);grid-template-columns:1fr 1fr;align-items:start;display:grid}.markdown-field label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.markdown-hint{opacity:.75;font-size:.75rem;font-weight:400}.markdown-field textarea{padding:.45rem var(--space-3);border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical;border-radius:6px;font-family:Roboto Mono,monospace;font-size:.9rem}.markdown-field-preview{border:1px dashed var(--border);padding:var(--space-5) var(--space-6);border-radius:6px;min-height:100%}.markdown-field-preview-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.3rem;font-size:.7rem;display:block}.markdown-line-preview{margin:0;padding-left:1.1rem;font-size:.9rem}@media (width<=640px){.markdown-field{grid-template-columns:1fr}}.markdown-body p{margin:0 0 .6em}.markdown-body p:last-child{margin-bottom:0}.markdown-body ul{margin:0 0 .6em;padding-left:1.2em}.markdown-body a{color:inherit;text-decoration:underline}.popover-anchor{display:inline-block;position:relative}.popover-backdrop{z-index:45;position:fixed;inset:0}.popover-panel{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:320px;max-width:calc(100vw - 2rem);padding:1.1rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 8px 24px #0000002e}.popover-panel h2{margin:0 0 var(--space-7);font-size:1rem}.register-page,.admin-auth-page{padding:var(--space-10) var(--space-8) 4rem;margin:0 auto}.admin-auth-page{max-width:480px}.register-page{max-width:900px}.register-header{margin-bottom:var(--space-9)}.register-header h1{margin:0;font-size:1.4rem}.form-card{margin:0 auto}.register-success{text-align:center}.register-success p{margin-top:0}.account-bar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8);color:var(--text-muted);font-size:.85rem;display:flex}.registered-card{margin-bottom:var(--space-8)}.registered-card h2{margin:0 0 var(--space-2);font-size:1rem}.returning-card{margin-bottom:var(--space-8)}.returning-card h2{margin:0 0 .3rem;font-size:1rem}.modal-panel h2{margin-top:0}.form-row{gap:var(--space-6);margin-bottom:var(--space-7);flex-wrap:wrap;display:flex}.form-row label,.form-grid label{color:var(--text-muted);flex-direction:column;flex:140px;gap:.3rem;font-size:.85rem;display:flex}.form-row input,.form-row select,.form-row textarea,.form-grid input,.form-grid select,.form-grid textarea{padding:.45rem var(--space-3);border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical;border-radius:6px;font-family:inherit;font-size:.95rem}.form-row input:disabled,.form-row select:disabled,.form-row textarea:disabled,.form-row input:read-only,.form-row textarea:read-only,.form-grid input:disabled,.form-grid select:disabled,.form-grid textarea:disabled,.form-grid input:read-only,.form-grid textarea:read-only,.markdown-field textarea:disabled,.markdown-field textarea:read-only{background:var(--bg);color:var(--text-muted);cursor:not-allowed}.field-error{color:var(--danger);font-size:.78rem}.form-row label.checkbox-row{align-items:center;gap:var(--space-2);color:var(--text);flex-direction:row;font-size:.9rem}.checkbox-row input[type=checkbox]{flex:none;width:18px;height:18px}.allergy-blurb{margin-top:var(--space-2)}.form-error--root{color:var(--danger);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-6);background:#c0392b1f;border-radius:6px;font-size:.85rem}.form-notice--ok{color:var(--ok);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-6);background:#1e824c1f;border-radius:6px;font-size:.85rem}.segmented{border:1px solid var(--border);margin-bottom:var(--space-8);border-radius:8px;display:flex;overflow:hidden}.segmented-btn{padding:var(--space-2);background:var(--surface);color:var(--text);cursor:pointer;border:none;flex:1;font-size:.85rem}.segmented-btn--active{background:var(--primary);color:#fff}.modal-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-8);display:flex}.dropzone{border:1px dashed var(--border);padding:var(--space-6);align-items:center;gap:var(--space-3);color:var(--text-muted);margin-bottom:var(--space-6);border-radius:8px;font-size:.85rem;display:flex}.csv-textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);padding:var(--space-3);margin-bottom:var(--space-6);border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.preview-summary{gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.badge{padding:.2rem var(--space-3);border-radius:999px;font-size:.78rem}.badge--ok{color:var(--ok);background:#1e824c26}.badge--bad{color:var(--danger);background:#c0392b1f}.preview-table-wrap{border:1px solid var(--border);max-height:260px;margin-bottom:var(--space-6);border-radius:6px;overflow:auto}.preview-table{border-collapse:collapse;width:100%;font-size:.8rem}.preview-table th,.preview-table td{padding:.4rem var(--space-3);border-bottom:1px solid var(--border);text-align:left}.row--error{background:#c0392b14}.import-result{font-size:.85rem}.error-list{color:var(--danger);max-height:140px;font-size:.8rem;overflow-y:auto}
