:root{--navy:#061b34;--navy2:#0a2a4f;--gold:#dca842;--cream:#f8f0df;--red:#7d1715;--ink:#172033;--form-control-min-height:44px;--form-control-padding-block:9px;--form-control-padding-inline:12px;--form-textarea-min-height:112px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#f8fafc;background:var(--navy);font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif;background-image:linear-gradient(180deg,rgba(4,18,36,.9),rgba(4,18,36,.98)),var(--site-bg);background-size:cover;background-attachment:fixed}
a{color:inherit}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid rgba(220,168,66,.35);background:rgba(4,18,36,.88);backdrop-filter:blur(12px);position:sticky;top:0;z-index:2000}
.public-nav{display:flex;align-items:center;gap:18px}.public-nav a{font-size:14px;color:#dbe7f4;text-decoration:none}.public-nav a:hover{color:var(--gold)}
.public-logout-form{display:inline-flex;margin:0}.public-logout-form button{padding:6px 10px;border:1px solid var(--gold);border-radius:3px;background:var(--red);color:#fff7df;font:700 13px system-ui,-apple-system,Segoe UI,sans-serif;cursor:pointer}.public-logout-form button:hover,.public-logout-form button:focus-visible{background:#a42923;outline:2px solid #f1ca79;outline-offset:2px}
.brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;font-family:Georgia,serif;font-weight:700;font-size:20px;letter-spacing:.04em}.brand-mark{background:var(--red);color:var(--cream);padding:5px 10px;border:1px solid var(--gold);border-radius:3px}.brand-logo{display:block;width:auto;height:56px;max-width:230px;object-fit:contain;background:transparent}.brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-link{font-size:14px;color:#dbe7f4}.management-login-link{padding:6px 10px;border:1px solid var(--gold);border-radius:3px;background:var(--red);color:#fff7df!important;font-weight:700}.management-login-link:hover,.management-login-link:focus-visible{background:#a42923;outline:2px solid #f1ca79;outline-offset:2px}
main{min-height:calc(100vh - 160px)}.hero{max-width:1180px;margin:auto;padding:100px 24px 70px;border-bottom:1px solid rgba(220,168,66,.25)}.hero h1{font:clamp(42px,7vw,84px)/1.02 Georgia,serif;max-width:950px;margin:10px 0 20px;text-wrap:balance}.hero>p:last-child{max-width:700px;color:#c9d5e2;font-size:19px}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-weight:800;font-size:13px}
.calendar-section{max-width:1180px;margin:auto;padding:55px 24px 24px}.railcar-calendar{position:relative;padding:0 12px 25px;border:3px solid #3a0b0b;border-top-left-radius:38px;border-top-right-radius:38px;border-bottom:8px solid #17191c;background:linear-gradient(90deg,#5c0c0b 0,#8c1b17 8%,#74110f 50%,#8c1b17 92%,#5c0c0b 100%);box-shadow:0 28px 75px rgba(0,0,0,.42),inset 0 0 0 2px rgba(220,168,66,.55)}.railcar-roof{position:absolute;z-index:2;top:-12px;left:5%;width:90%;height:14px;border:2px solid #17191c;border-radius:50% 50% 0 0;background:#34383c}.railcar-cab{display:grid;grid-template-columns:50px 110px minmax(0,1fr) 50px;gap:12px;align-items:center;min-height:90px;padding:16px 15px 12px}.railcar-headlight{width:34px;height:34px;justify-self:center;border:4px solid #d4a543;border-radius:50%;background:radial-gradient(circle,#fffbd5 0 25%,#ffd36a 30%,#9c5b0b 65%,#351606 68%);box-shadow:0 0 20px rgba(255,211,106,.75)}.railcar-number{color:#f8f0df;font:700 16px Georgia,serif;letter-spacing:.06em}.calendar-heading{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;align-items:center}.railcar-destination{padding:8px 16px;border:2px solid #dca842;border-radius:5px;background:#f6e7c5;color:#28150e;text-align:center;box-shadow:inset 0 0 0 2px #7d1715}.railcar-destination small{display:block;color:#7d1715;font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.section-heading .railcar-destination h2{margin:1px 0 0;font:700 30px/1.1 Georgia,serif;text-transform:capitalize}.calendar-nav{display:grid;place-items:center;width:44px;height:44px;border:2px solid #e5bd6c;border-radius:50%;color:#fff3ce;background:#44100e;font-size:24px;text-decoration:none;transition:.2s}.calendar-nav:hover{color:var(--navy);background:var(--gold)}.railcar-cream-stripe{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 -12px;padding:7px 16px;border-top:2px solid #dca842;border-bottom:2px solid #dca842;background:#f1dfb9;color:#4a1912;font-size:11px;font-weight:900;letter-spacing:.08em;text-align:center;text-transform:uppercase}.railcar-stripe-symbol{color:#a01f19}
.calendar-scroll{overflow-x:auto;margin-top:12px;border:3px solid #d0a64b;border-radius:5px;background:#07192b;box-shadow:inset 0 0 25px rgba(0,0,0,.5)}.event-calendar{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}.event-calendar th{padding:10px 8px;color:#f3cf85;font-size:12px;letter-spacing:.12em;text-transform:uppercase;background:#142d43}.event-calendar td{height:112px;padding:8px;border-top:3px solid #7d1715;border-right:3px solid #7d1715;vertical-align:top;background:linear-gradient(145deg,rgba(27,57,78,.96),rgba(5,22,38,.98))}.event-calendar th:last-child,.event-calendar td:last-child{border-right:0}.calendar-day-number{display:grid;place-items:center;width:27px;height:27px;margin-bottom:5px;color:#f1dfb9;font-size:13px;font-weight:800}.calendar-day--outside{opacity:.34}.calendar-day--today .calendar-day-number{border-radius:50%;background:var(--gold);color:var(--navy)}.calendar-event{display:block;margin-top:4px;padding:5px 6px;border-left:3px solid #f0c569;border-radius:2px;background:#8c1b17;color:#fff;font-size:11px;font-weight:700;line-height:1.25;text-decoration:none;overflow-wrap:anywhere;transition:.15s}.calendar-event:hover{background:#b52d26;box-shadow:0 0 0 1px #f0c569}.calendar-event span{display:block;color:#f5d58f;font-size:10px}.railcar-underframe{position:relative;display:flex;align-items:center;justify-content:space-between;height:42px;padding:5px 18px 0;color:#e8c777}.railcar-plaque{font:700 11px Georgia,serif;letter-spacing:.14em;text-transform:uppercase}.railcar-buffer{width:38px;height:8px;border-radius:5px;background:#191c1f;box-shadow:0 5px 0 #08090a}.railcar-wheel{position:absolute;bottom:-43px;width:58px;height:58px;border:8px solid #17191c;border-radius:50%;background:radial-gradient(circle,#a47532 0 12%,#33383d 14% 38%,#101214 40% 100%);box-shadow:0 5px 0 rgba(0,0,0,.35)}.railcar-wheel--left{left:17%}.railcar-wheel--right{right:17%}
.calendar-event small{display:block;margin-top:2px;color:#f5d58f;font-size:9px;font-weight:600}
.calendar-consist-vehicles{display:flex!important;flex-wrap:wrap;gap:2px;margin-top:3px}.calendar-consist-vehicles i{display:flex;align-items:center;gap:2px;min-width:0;padding:1px 3px;border-radius:2px;background:rgba(5,22,38,.72);font-style:normal}.calendar-consist-vehicles img{width:14px;height:14px;object-fit:cover;border-radius:2px}.calendar-consist-vehicles b{overflow:hidden;color:#fff3d3;font-size:7px;text-overflow:ellipsis;white-space:nowrap}
.events{max-width:1180px;margin:auto;padding:55px 24px 100px}.section-heading h2{font:42px Georgia,serif;margin:0 0 35px}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.event-card{min-width:0;background:var(--cream);color:var(--ink);text-decoration:none;border-radius:4px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3);transition:.2s}.event-card:hover{transform:translateY(-5px)}.event-card img{display:block;width:100%;height:300px;padding:10px;object-fit:contain;background:#e8dcc4}.event-card-body{padding:20px}.event-card time{display:block;color:var(--red);font-weight:800;font-size:14px}.event-card-dates{display:grid;gap:2px}.event-card-dates small{color:#684f3b;font-weight:700}.event-card h3{font:24px/1.18 Georgia,serif;margin:7px 0}.event-card-body p{font-size:14px;line-height:1.45}.event-card-body span{color:var(--red);font-weight:800}.empty-state{padding:50px;border:1px dashed #75869a;text-align:center;color:#c9d5e2}
.event-detail{max-width:1180px;margin:auto;padding:45px 24px 100px}.back{text-decoration:none;color:#d9e4ef}.event-layout{display:grid;grid-template-columns:minmax(300px,520px) 1fr;gap:clamp(30px,6vw,80px);margin-top:35px;align-items:start}.poster{display:block;width:100%;box-shadow:0 25px 80px rgba(0,0,0,.45)}.event-copy h1{font:clamp(38px,5vw,64px)/1.08 Georgia,serif;margin:10px 0 24px}.event-dates{display:grid;gap:5px;padding:14px 16px;border-left:3px solid var(--gold);background:rgba(255,255,255,.06)}.event-dates strong{color:var(--gold);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.event-dates time{font-weight:700}.lead{font-size:21px;color:#dbe6f0}.rich-text{color:#c8d3df}.contact{margin-top:35px;padding:22px;border:1px solid rgba(220,168,66,.5);display:grid;gap:4px}.contact strong{color:var(--gold)}footer{border-top:1px solid rgba(220,168,66,.3);padding:30px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;color:#aebdcb;font-size:14px}
.interest-section{margin-top:30px}.interest-panel{border:2px solid var(--gold);border-radius:6px;background:#f4e6c8;color:#241811;box-shadow:0 18px 45px rgba(0,0,0,.28)}.interest-panel>summary{padding:16px 22px;cursor:pointer;list-style:none;background:var(--red);color:#fff5dd;font:700 23px Georgia,serif}.interest-panel>summary::-webkit-details-marker{display:none}.interest-panel>summary:after{content:"+";float:right;color:var(--gold)}.interest-panel[open]>summary:after{content:"−"}.interest-panel-body{padding:22px}.interest-panel-body h2{margin:0;font:700 26px Georgia,serif}.interest-form{display:grid;gap:14px;margin-top:18px}.interest-field{display:grid;gap:5px}.interest-field label{font-weight:800}.interest-field input:not([type=checkbox]),.interest-field textarea{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #8a765c;border-radius:4px;background:#fffdf8;color:#211811;font:inherit}.interest-field input[type=checkbox]{width:18px;height:18px;margin-right:7px;vertical-align:middle}.interest-field--error input,.interest-field--error textarea{border-color:#a41515}.errorlist,.form-errors{margin:3px 0 0;padding-left:20px;color:#8e1111;font-weight:700}.interest-form button{justify-self:start;padding:12px 18px;border:1px solid #e3bb67;border-radius:4px;background:var(--red);color:#fff8e8;font-weight:900;cursor:pointer}.interest-form button:hover{background:#a3231f}.interest-success{margin-bottom:14px;padding:15px 18px;border-left:5px solid #5ca66d;background:#edf8e9;color:#16391f}.interest-success strong{display:block}
.interest-section{margin-top:42px}.interest-railcar{--rail-red:#821b18;--rail-red-dark:#430b0a;--rail-brass:#e0ad48;position:relative;margin:28px 0 62px;padding-top:13px;isolation:isolate}.interest-railcar-roof{position:absolute;z-index:2;top:0;left:5%;width:90%;height:17px;border:2px solid #151719;border-bottom:0;border-radius:55% 55% 0 0;background:linear-gradient(#545b60,#202326);box-shadow:0 -3px 0 rgba(224,173,72,.35)}.interest-panel{position:relative;z-index:3;overflow:hidden;border:3px solid #310706;border-radius:27px 27px 7px 7px;background:linear-gradient(100deg,#4d0a09 0,#921f1b 8%,#711311 50%,#921f1b 92%,#4d0a09 100%);color:#f9edcf;box-shadow:0 24px 60px rgba(0,0,0,.45),inset 0 0 0 2px rgba(224,173,72,.72)}.interest-panel>summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:center;min-height:75px;padding:13px 18px;cursor:pointer;list-style:none;background:transparent;color:#fff7e5;font-family:inherit}.interest-panel>summary:after{content:none}.interest-summary-light{width:29px;height:29px;justify-self:center;border:4px solid #c38c31;border-radius:50%;background:radial-gradient(circle,#fffbd7 0 27%,#ffd66f 31%,#a45e0b 66%,#381606 70%);box-shadow:0 0 17px rgba(255,216,112,.82)}.interest-destination{display:block;padding:7px 13px;border:2px solid var(--rail-brass);border-radius:5px;background:linear-gradient(#fff6dc,#e9d3a8);color:#32130e;text-align:center;box-shadow:inset 0 0 0 2px #7c1714,0 4px 12px rgba(0,0,0,.26)}.interest-destination small{display:block;color:#7d1715;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.interest-destination strong{display:block;margin-top:1px;font:700 25px/1.05 Georgia,serif;letter-spacing:.03em}.interest-railcar-number{padding-right:2px;color:#fff4db;font:700 13px Georgia,serif;letter-spacing:.06em;text-shadow:0 2px 2px #260000}.interest-cream-stripe{display:flex;align-items:center;justify-content:center;gap:11px;padding:6px 15px;border-top:2px solid #d9aa4c;border-bottom:2px solid #d9aa4c;background:linear-gradient(#f8ebcc,#dec79b);color:#4b1b14;font-size:9px;font-weight:900;letter-spacing:.08em;text-align:center;text-transform:uppercase}.interest-cream-stripe i,.interest-track i{display:inline-block;width:6px;height:6px;transform:rotate(45deg);background:#8b1e1c}.interest-panel-body{padding:24px;background:radial-gradient(circle at 50% -20%,rgba(53,100,130,.7),transparent 55%),linear-gradient(145deg,#102f49,#061929 62%,#04121e);color:#eef3f5}.interest-intro{position:relative;padding:0 0 15px 18px;border-left:3px solid var(--rail-brass)}.interest-intro:after{content:"";position:absolute;right:0;bottom:10px;width:42px;height:24px;border:2px solid rgba(224,173,72,.55);border-radius:12px 12px 3px 3px;background:linear-gradient(90deg,transparent 20%,rgba(224,173,72,.2) 21% 79%,transparent 80%)}.interest-eyebrow{margin:0 0 4px;color:#e7ba63;font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.interest-panel-body .interest-intro h2{margin:0;padding-right:48px;color:#fff6df;font:700 28px Georgia,serif}.interest-intro>p:last-child{margin:7px 48px 0 0;color:#c8d6df}.interest-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:17px}.interest-field{gap:6px;min-width:0}.interest-field--phone,.interest-field--message,.interest-field--privacy_consent,.form-errors,.m131-submit{grid-column:1/-1}.interest-field>label:not(.interest-consent){color:#f0c86f;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.interest-field input:not([type=checkbox]),.interest-field textarea{border:2px solid #b9924f;border-radius:4px;background:linear-gradient(#fffdf7,#eee4d1);color:#251711;box-shadow:inset 0 2px 4px rgba(55,30,8,.13),0 1px 0 rgba(255,255,255,.2)}.interest-field input:not([type=checkbox]):focus,.interest-field textarea:focus{border-color:#ffd77f;outline:3px solid rgba(224,173,72,.27);box-shadow:0 0 16px rgba(224,173,72,.25)}.interest-field textarea{min-height:125px;resize:vertical}.interest-consent{display:flex;gap:9px;align-items:flex-start;padding:11px 13px;border:1px solid rgba(224,173,72,.42);border-radius:4px;background:rgba(0,0,0,.19);color:#e8edf0;font-size:12px;line-height:1.4}.interest-consent input{flex:0 0 auto;margin-top:1px;accent-color:#dba43f}.interest-panel .errorlist,.interest-panel .form-errors{color:#ffb7a9}.m131-submit{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:11px;align-items:center;justify-self:stretch!important;min-height:69px;margin-top:5px;padding:9px 16px!important;border:3px solid #e1ae4c!important;border-radius:28px 28px 8px 8px!important;background:linear-gradient(100deg,#4b0908,#9c211d 14%,#701210 50%,#9c211d 86%,#4b0908)!important;color:#fff7e6!important;box-shadow:inset 0 0 0 2px #3b0807,0 9px 0 #17191b,0 15px 24px rgba(0,0,0,.4);text-shadow:0 2px 2px #360000;transition:transform .18s,filter .18s,box-shadow .18s}.m131-submit:hover{transform:translateY(-2px);filter:brightness(1.12);box-shadow:inset 0 0 0 2px #3b0807,0 11px 0 #17191b,0 18px 28px rgba(0,0,0,.48)}.m131-submit:active{transform:translateY(5px);box-shadow:inset 0 0 0 2px #3b0807,0 4px 0 #17191b,0 9px 14px rgba(0,0,0,.38)}.m131-submit-light{width:25px;height:25px;border:3px solid #be872c;border-radius:50%;background:radial-gradient(circle,#fffde5 0 27%,#ffd46c 31%,#96530a 67%,#2d1204 71%);box-shadow:0 0 12px rgba(255,214,108,.68);transition:box-shadow .18s}.m131-submit:hover .m131-submit-light{box-shadow:0 0 23px #ffe28f}.m131-submit-copy{display:grid;text-align:center}.m131-submit-copy small{color:#efc66f;font:700 9px Georgia,serif;letter-spacing:.15em}.m131-submit-copy strong{font:800 15px/1.2 Arial,sans-serif;letter-spacing:.025em}.interest-underframe{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;height:36px;margin:0 12px;padding:0 12px;border-top:6px solid #151719;border-radius:0 0 8px 8px;background:#32100e;color:#e8c676}.interest-buffer{width:30px;height:7px;border-radius:5px;background:#111315;box-shadow:0 5px 0 #050607}.interest-track{font:700 8px Georgia,serif;letter-spacing:.09em}.interest-track i{width:5px;height:5px;margin:0 6px;background:#dba641}.interest-wheel{position:absolute;bottom:-25px;width:43px;height:43px;border:7px solid #151719;border-radius:50%;background:radial-gradient(circle,#b47b2d 0 12%,#454b50 14% 38%,#0b0d0f 40%);box-shadow:0 5px 0 rgba(0,0,0,.35)}.interest-wheel--left{left:17%}.interest-wheel--right{right:17%}.interest-success{display:flex;gap:13px;align-items:center;margin-bottom:17px;padding:14px 17px;border:2px solid #dca842;border-left:7px solid #5ca66d;border-radius:5px;background:linear-gradient(90deg,#eaf7e7,#fff6dd);box-shadow:0 12px 30px rgba(0,0,0,.23);color:#16391f}.interest-success-light{flex:0 0 auto;width:23px;height:23px;border:4px solid #397448;border-radius:50%;background:radial-gradient(circle,#f3ffe9 0 27%,#81e690 31%,#27773a 70%);box-shadow:0 0 14px rgba(89,205,109,.75)}
.interest-panel[open]>summary:after{content:none}
@media(max-width:950px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.event-layout{grid-template-columns:1fr}.hero{padding-top:65px}.site-header{height:66px}footer{display:block}.event-copy h1{font-size:40px}.calendar-section{padding-top:42px}.railcar-calendar{padding-left:7px;padding-right:7px}.railcar-cab{grid-template-columns:36px minmax(0,1fr) 36px;padding-left:4px;padding-right:4px}.railcar-number{display:none}.railcar-headlight{width:27px;height:27px;border-width:3px}.calendar-heading{grid-template-columns:36px minmax(0,1fr) 36px;gap:6px}.calendar-nav{width:36px;height:36px}.section-heading .railcar-destination h2{font-size:23px}.railcar-cream-stripe{margin-left:-7px;margin-right:-7px}.railcar-cream-stripe span:not(.railcar-stripe-symbol):first-child,.railcar-cream-stripe span:not(.railcar-stripe-symbol):last-child{display:none}.railcar-plaque{font-size:9px}.railcar-wheel{width:48px;height:48px;bottom:-38px}.event-grid{grid-template-columns:1fr}.event-card img{height:auto;max-height:520px}.events{padding-top:55px}.interest-form{grid-template-columns:1fr}.interest-field,.interest-field--phone,.interest-field--message,.interest-field--privacy_consent,.form-errors,.m131-submit{grid-column:1}.interest-panel-body{padding:19px 15px}.interest-panel>summary{grid-template-columns:35px minmax(0,1fr);gap:8px;padding:11px 10px}.interest-summary-light{width:24px;height:24px;border-width:3px}.interest-railcar-number{display:none}.interest-destination strong{font-size:22px}.interest-cream-stripe span:first-child,.interest-cream-stripe span:last-child,.interest-cream-stripe i:first-of-type{display:none}.interest-intro>p:last-child{margin-right:0}.interest-panel-body .interest-intro h2{font-size:25px}.m131-submit{grid-template-columns:29px minmax(0,1fr) 29px;padding-left:10px!important;padding-right:10px!important}.m131-submit-light{width:22px;height:22px}.m131-submit-copy strong{font-size:13px}.interest-track{font-size:7px}.interest-wheel{width:38px;height:38px;bottom:-22px}.interest-success{align-items:flex-start}}
@media(max-width:750px){.event-layout{grid-template-columns:minmax(0,1fr)}.event-layout>*,.event-copy,.interest-section,.interest-railcar,.interest-panel,.interest-destination,.m131-submit-copy{min-width:0;max-width:100%}.interest-cream-stripe{overflow:hidden;white-space:nowrap}.interest-destination small,.m131-submit-copy strong,.interest-success span{overflow-wrap:anywhere}.interest-underframe{box-sizing:border-box}.interest-track{min-width:0;text-align:center}.interest-buffer{flex:0 0 auto}}
@media(prefers-reduced-motion:reduce){.m131-submit{transition:none}}
.club-page,.invite-page{max-width:1180px;margin:auto;padding:55px 24px 100px}.club-header{margin-bottom:28px}.club-header h1{margin:3px 0;font:clamp(38px,6vw,64px) Georgia,serif}.club-header>p:last-of-type{color:#c6d4df}.club-switcher{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.club-switcher a{padding:7px 12px;border:1px solid #dca842;text-decoration:none}.club-switcher a[aria-current=page]{background:#dca842;color:#061b34}.club-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.club-panel{overflow:hidden;border:2px solid #dca842;border-radius:8px;background:#f4e6c8;color:#241811;box-shadow:0 20px 50px rgba(0,0,0,.3)}.club-panel--wide{grid-row:span 2}.club-panel-title{display:flex;align-items:center;gap:10px;padding:12px 15px;background:linear-gradient(90deg,#4e0908,#8a1d19,#4e0908);color:#fff4d8}.club-panel-title h2{flex:1;margin:0;font:700 21px Georgia,serif}.club-panel-title>span:last-child{font:700 10px Georgia,serif}.club-light{width:23px;height:23px;border:3px solid #ae7724;border-radius:50%;background:radial-gradient(circle,#fffbd7 0 27%,#ffd66f 31%,#7e4307 70%);box-shadow:0 0 10px #ffd66f}.club-member-list{display:grid}.club-member{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(4,auto) auto;gap:12px;align-items:center;padding:13px 15px;border-bottom:1px solid #bba987}.club-member-name{display:grid}.club-member-name small{color:#6b5a46}.club-member label,.club-invite-form label{font-size:13px;font-weight:700}.club-member button,.club-invite-form button{cursor:pointer}.club-invite-form,.club-invitations{display:grid;gap:11px;padding:16px}.club-invite-form>label{padding:8px;border-bottom:1px solid #cdb991}.club-train-button{display:grid;grid-template-columns:25px 1fr 25px;gap:8px;align-items:center;width:100%;padding:11px;border:3px solid #dca842;border-radius:22px 22px 6px 6px;background:linear-gradient(90deg,#4b0908,#9c211d,#4b0908);color:#fff7e6;font-weight:900}.club-train-button span{width:19px;height:19px;border:3px solid #b27b26;border-radius:50%;background:#ffe393;box-shadow:0 0 8px #ffe393}.club-invite-result{display:grid;gap:7px;margin:0 16px 16px;padding:12px;border-left:5px solid #49995d;background:#eaf6e4}.club-invite-result input{width:100%;padding:8px}.club-invitations>div{display:flex;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #cdb991}.state-ok{color:#25723b}.state-expired{color:#941b18}.club-message{margin-bottom:15px;padding:11px;background:#fff4d7;color:#701210}.invite-page{display:grid;place-items:center;min-height:calc(100vh - 160px)}.invite-railcar{position:relative;width:min(720px,100%);padding:22px 15px 0;border:3px solid #3a0908;border-radius:38px 38px 7px 7px;background:linear-gradient(90deg,#4c0908,#8c1d19 12%,#6f1210 50%,#8c1d19 88%,#4c0908);box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 0 0 2px #dca842}.invite-roof{position:absolute;top:-14px;left:7%;width:86%;height:17px;border:3px solid #17191b;border-radius:50% 50% 0 0;background:#464b50}.invite-destination{margin:0 auto 15px;width:min(480px,90%);padding:7px 12px;border:2px solid #dca842;background:#f3dfb6;color:#481511;text-align:center}.invite-destination small{display:block;font-size:9px;font-weight:900;letter-spacing:.2em}.invite-destination strong{font:700 24px Georgia,serif}.invite-window{padding:25px;border:4px solid #dca842;border-radius:8px;background:linear-gradient(145deg,#123753,#061929);color:#f8f0df}.invite-window h1{margin-top:0;font:700 35px Georgia,serif}.invite-form{display:grid;gap:12px}.invite-form label{display:grid;gap:4px;color:#e8bd66;font-weight:800}.invite-form input{padding:10px;border:2px solid #b78c45;background:#fffaf0;font:inherit}.invite-form .errorlist{color:#ffb6aa}.invite-underframe{display:flex;align-items:center;justify-content:space-between;margin:18px -15px 0;padding:9px 19px;border-top:7px solid #17191b;background:#2c0c0b;color:#e8c777;font:700 10px Georgia,serif;letter-spacing:.1em;text-align:center}.invite-underframe i{width:30px;height:7px;border-radius:4px;background:#111}.invite-window .club-train-button{margin-top:17px}
@media(max-width:900px){.club-grid{grid-template-columns:1fr}.club-panel--wide{grid-row:auto}.club-member{grid-template-columns:1fr 1fr}.club-member-name,.club-member button{grid-column:1/-1}}
.club-panel--fleet{grid-column:span 1}.club-panel-title a{padding:4px 8px;border:1px solid #e5bf72;border-radius:3px;color:#fff4d8;font-size:11px;font-weight:900;text-decoration:none}.fleet-list,.consist-list{display:grid;padding:12px;gap:8px}.fleet-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:11px;align-items:center;padding:8px;border:1px solid #c7ae7e;border-radius:5px;background:#fff7e6;color:#251811;text-decoration:none}.fleet-item--inactive{filter:grayscale(1);opacity:.55}.fleet-photo{display:grid;place-items:center;width:72px;height:52px;overflow:hidden;background:#d9c6a3}.fleet-photo img{width:100%;height:100%;object-fit:cover}.fleet-photo b{font-size:25px}.fleet-item>span:nth-child(2){display:grid}.fleet-item small{color:#735c42}.fleet-item em{padding:3px 6px;border-radius:3px;background:#791916;color:#fff1d0;font:800 9px Georgia,serif}.consist-item{display:grid;gap:5px;padding:10px 12px;border-left:5px solid #7d1715;background:#fff7e6;color:#251811;text-decoration:none}.consist-item>span{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:#725a40;font-size:12px}.consist-item i{color:#a5231e;font-style:normal}.club-empty{padding:8px 10px}.club-editor-page{max-width:900px;margin:auto;padding:45px 24px 100px}.depot-editor{overflow:hidden;margin-top:24px;border:3px solid #dca842;border-radius:28px 28px 7px 7px;background:#f4e6c8;color:#241811;box-shadow:0 24px 65px rgba(0,0,0,.42)}.depot-editor-heading{display:flex;align-items:center;gap:14px;padding:18px 22px;background:linear-gradient(90deg,#4d0908,#8f1d19,#4d0908);color:#fff4d8}.depot-editor-heading small{color:#e9c573;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.depot-editor-heading h1{margin:0;font:700 30px Georgia,serif}.depot-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:22px}.depot-field{display:grid;align-content:start;gap:5px}.depot-field--description,.depot-field--photo,.depot-form>.errorlist,.depot-form>.club-train-button,.consist-editor{grid-column:1/-1}.depot-field>strong,.consist-editor legend{color:#701310;font-size:12px;letter-spacing:.07em;text-transform:uppercase}.depot-field input:not([type=checkbox]),.depot-field select,.depot-field textarea{width:100%;padding:10px;border:1px solid #9d825c;background:#fffdf7;font:inherit}.depot-field textarea{min-height:100px}.depot-field>small{color:#68553e;font-size:11px}.depot-photo-preview{grid-column:1/-1;max-width:100%;max-height:320px;object-fit:contain;background:#d9c6a3}.consist-editor{margin:5px 0;padding:15px;border:2px solid #a77b34}.consist-editor legend{padding:0 8px;font-weight:900}.consist-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;margin:8px 0;padding:9px;border:2px solid #c29b57;border-radius:26px 7px 7px 26px;background:#fff8e8}.consist-row>label{display:grid;gap:3px}.consist-row select{width:100%;padding:9px;background:#fff}.consist-coupler{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#7d1715;color:#e8bd66}.consist-row-controls{display:flex;gap:4px}.consist-row-controls button,.add-consist-car{padding:7px 10px;border:1px solid #7d1715;background:#7d1715;color:#fff7e3;font-weight:900;cursor:pointer}.delete-field{display:none}.consist-row .errorlist{grid-column:2/-1}.add-consist-car{margin-top:8px;background:#133a54}.site-trains .brand-mark{background:#123e59}.site-trains .railcar-number{font-size:11px}.event-ride{display:grid;gap:5px;padding:7px 0;border-bottom:1px solid rgba(220,168,66,.24)}.event-ride:last-child{border-bottom:0}.event-consist{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:3px}.event-consist>i{color:var(--gold);font-style:normal}.event-vehicle{display:grid;grid-template-columns:58px minmax(0,1fr);column-gap:7px;align-items:center;padding:5px 8px;border:1px solid rgba(220,168,66,.42);border-radius:4px;background:rgba(0,0,0,.16)}.event-vehicle img{grid-row:1/3;width:58px;height:42px;object-fit:cover}.event-vehicle b{font-size:12px}.event-vehicle small{color:#bac9d5;font-size:10px}
@media(max-width:750px){.depot-form{grid-template-columns:1fr}.depot-field{grid-column:1}.consist-row{grid-template-columns:25px minmax(0,1fr)}.consist-row-controls{grid-column:2}.club-panel--fleet{grid-column:auto}.event-consist{display:grid}.event-consist>i{display:none}}
.event-route-itinerary{display:flex;flex-wrap:wrap;gap:6px;margin:3px 0 5px;padding:0;list-style:none}.event-route-itinerary li{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid rgba(220,168,66,.45);border-radius:3px;background:rgba(0,0,0,.18)}.event-route-itinerary li+li:before{content:"→";margin-left:-16px;margin-right:4px;color:var(--gold)}.event-route-itinerary span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--red);color:#fff;font-size:10px}.event-route-itinerary strong{color:#f4ddb0;font-size:11px;letter-spacing:0;text-transform:none}
.depot-gallery{padding:0 22px 24px}.depot-gallery>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.depot-gallery figure{margin:0;background:#fff8e8}.depot-gallery img{display:block;width:100%;height:150px;object-fit:cover}.depot-gallery figcaption{padding:7px;font-size:11px}.event-vehicle a{grid-column:2;color:#e9bf67;font-size:10px}.public-gallery-page{max-width:1180px;margin:auto;padding:55px 24px 100px}.public-gallery-page header{margin-bottom:30px}.public-gallery-page h1{margin:4px 0;font:clamp(40px,6vw,68px) Georgia,serif}.public-gallery-page header>p:not(.eyebrow){color:#c7d4df}.public-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.public-gallery-grid figure{margin:0;overflow:hidden;border:2px solid #dca842;border-radius:4px;background:#f4e6c8;color:#241811;box-shadow:0 18px 45px rgba(0,0,0,.32)}.public-gallery-grid img{display:block;width:100%;height:260px;object-fit:cover}.public-gallery-grid figcaption{display:grid;padding:12px}.public-gallery-grid figcaption span{color:#755d43;font-size:12px}@media(max-width:850px){.public-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.depot-gallery>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.public-gallery-grid,.depot-gallery>div{grid-template-columns:1fr}}
.calendar-map-day{display:block;margin:0;padding:0;border:0;background:none;color:inherit;cursor:pointer}.calendar-map-day:hover .calendar-day-number{border-radius:50%;background:#f0c569;color:#061b34}.ride-map-section,.route-editor-page{max-width:1180px;margin:auto;padding:45px 24px}.ride-map-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.ride-map-heading h2,.route-editor-header h1{margin:2px 0;font:clamp(34px,5vw,50px) Georgia,serif}.ride-map-heading label{display:grid;gap:4px;color:#edc673;font-size:12px;font-weight:800}.ride-map-heading input{padding:9px;border:2px solid #dca842;background:#f8f0df;color:#241811}.ride-map-frame{position:relative;padding:14px 14px 0;border:3px solid #3a0908;border-radius:30px 30px 7px 7px;background:linear-gradient(90deg,#4c0908,#8b1d19,#4c0908);box-shadow:0 25px 65px rgba(0,0,0,.4),inset 0 0 0 2px #dca842}.ride-map-lamp{position:absolute;z-index:3;top:22px;right:24px;width:27px;height:27px;border:4px solid #ad7829;border-radius:50%;background:#fff0a4;box-shadow:0 0 18px #ffe182}.ride-map-frame #public-ride-map{height:520px;border:4px solid #dca842;border-radius:14px 14px 3px 3px;background:#dce4e7}.ride-map-frame>p{margin:0 -14px;padding:9px 20px;background:#f2dfb5;color:#4e1812;font-weight:800}.ride-map-underframe{display:flex;justify-content:space-between;align-items:center;margin:0 -14px;padding:9px 20px;border-top:7px solid #151719;background:#2c0c0b;color:#e8c777;font:700 10px Georgia,serif;letter-spacing:.1em}.ride-map-underframe span{width:32px;height:7px;border-radius:4px;background:#111}.map-popup h3{margin:0 0 8px;color:#681411;font:700 19px Georgia,serif}.map-popup-ride{display:grid;grid-template-columns:75px 1fr;gap:9px;align-items:center;margin-top:8px;color:#172033!important;text-decoration:none}.map-popup-ride img{width:75px;height:60px;object-fit:contain;background:#eadfc9}.map-popup-ride span{display:grid}.map-popup-ride small{color:#755b44}.route-editor-page{max-width:1500px}.route-editor-header{margin-bottom:20px}.route-warning{margin-top:12px;padding:12px 15px;border-left:5px solid #e0a62b;background:#fff0c2;color:#5c2505}.route-editor-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px}.route-controls{display:grid;align-content:start;gap:13px;padding:18px;border:2px solid #dca842;background:#f4e6c8;color:#241811}.route-controls>label,.route-waypoint-control label{display:grid;gap:4px;font-size:12px;font-weight:900}.route-controls input,.route-controls select{width:100%;padding:9px;border:1px solid #8d7658;background:#fffdf8;font:inherit}.route-waypoint-control{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:end}.route-waypoint-control button,.route-selection-list button{padding:7px;border:1px solid #7d1715;background:#7d1715;color:#fff;cursor:pointer}.route-selection-list{display:grid;gap:5px;margin:0;padding-left:22px;font-size:12px}.route-selection-list li{padding:5px;background:#e7d2a9}.route-selection-list button{float:right;padding:2px 5px}.route-manual-help{padding:9px;border-left:4px solid #dca842;background:#fff8e8;font-size:12px}.route-editor-map{min-height:720px;border:4px solid #dca842;background:#dce4e7}.route-controls #route-status{min-height:24px;margin:0;color:#7d1715;font-weight:800}
@media(max-width:900px){.route-editor-layout{grid-template-columns:1fr}.route-editor-map{min-height:520px}.ride-map-heading{align-items:start;flex-direction:column}.ride-map-frame #public-ride-map{height:430px}}

/* Partner badge shared by every public page. */
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;padding-bottom:24px}
.site-footer-copy{display:grid;gap:2px}
.kzn-partner{display:flex;align-items:center;gap:12px;color:#c8d5e1;text-decoration:none}
.kzn-partner-label{font-size:12px;font-weight:700;letter-spacing:.04em}
.kzn-logo-panel{display:grid;place-items:center;padding:8px 12px;border:1px solid rgba(220,168,66,.5);border-radius:5px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.22);transition:transform .18s,box-shadow .18s}
.kzn-partner:hover .kzn-logo-panel,.kzn-partner:focus-visible .kzn-logo-panel{transform:translateY(-2px);box-shadow:0 9px 24px rgba(0,0,0,.32)}
.kzn-logo-panel img{display:block;width:150px;height:auto}
@media(max-width:750px){.site-footer{align-items:flex-start;flex-direction:column}.kzn-partner{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:850px){.site-header{height:auto;min-height:76px;gap:12px;padding-top:10px;padding-bottom:10px}.public-nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 12px}}

.ride-map-toolbar{display:grid;gap:9px;justify-items:end}.ride-map-toolbar>label{display:grid;grid-template-columns:auto auto;align-items:center;gap:9px}.ride-map-ranges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.ride-map-ranges button{padding:7px 10px;border:1px solid #dca842;border-radius:3px;background:#f5e5c2;color:#4d1712;font:800 11px system-ui,-apple-system,Segoe UI,sans-serif;cursor:pointer;transition:background .15s,color .15s,transform .15s}.ride-map-ranges button:hover{transform:translateY(-1px);background:#fff2d3}.ride-map-ranges button[aria-pressed=true]{background:#7d1715;color:#fff4d8;box-shadow:inset 0 0 0 1px #35100e,0 0 0 1px #e8bd66}
.ride-map-toolbar>.ride-map-stops{display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid rgba(220,168,66,.55);border-radius:3px;background:rgba(0,0,0,.17);color:#f1d18d}.ride-map-stops input{width:18px;height:18px;margin:0;accent-color:#a52620}.route-stop-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:4px}.route-stop-list button{float:none}.leaflet-tooltip{font-weight:700}
.map-popup-stop-routes{margin:0 0 9px;padding-left:18px;color:#624531;font-size:12px}.map-popup-stop-routes li+li{margin-top:2px}
@media(max-width:900px){.ride-map-toolbar{justify-items:start;width:100%}.ride-map-ranges{justify-content:flex-start}.ride-map-toolbar>label{grid-template-columns:1fr}}

/* Club presentation pages and the self-hosted editorial carriage. */
.organization-directory,.organization-public-page,.profile-editor-page{max-width:1180px;margin:auto;padding:55px 24px 100px}.organization-directory>h1,.organization-public-header h1{margin:5px 0 28px;font:clamp(40px,6vw,68px) Georgia,serif}.organization-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.organization-directory-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:5px 15px;align-items:center;min-height:105px;padding:16px;border:2px solid #dca842;border-radius:8px;background:linear-gradient(145deg,#f8ecd2,#e5c98f);color:#32120f;text-decoration:none;box-shadow:0 18px 42px rgba(0,0,0,.3);transition:transform .18s}.organization-directory-card:hover{transform:translateY(-3px)}.organization-directory-card img,.organization-logo-placeholder{grid-row:1/3;width:88px;height:88px;object-fit:contain;border-radius:5px;background:#fff9eb}.organization-logo-placeholder{display:grid;place-items:center;font-size:38px}.organization-directory-card strong{font:700 21px Georgia,serif}.organization-directory-card small{color:#71513d}.organization-public-header{display:flex;align-items:center;gap:22px;margin-bottom:30px;padding:20px;border:3px solid #dca842;border-radius:34px 8px 8px 34px;background:linear-gradient(90deg,#59100e,#8f211c,#46100e);box-shadow:0 20px 50px rgba(0,0,0,.35)}.organization-public-header>img,.organization-public-header>.organization-logo-placeholder{flex:0 0 auto;width:128px;height:128px;object-fit:contain;border:4px solid #e2b754;border-radius:50%;background:#fff9e9}.organization-public-header h1{margin:2px 0;color:#fff9ed}.organization-public-header a{color:#f3d583}.organization-profile-content{overflow:hidden;min-height:180px;padding:clamp(20px,4vw,48px);border:2px solid #dca842;border-radius:7px;background:#fff9eb;color:#251812;box-shadow:0 20px 55px rgba(0,0,0,.32);font:17px/1.65 system-ui,-apple-system,Segoe UI,sans-serif}.organization-profile-content h2,.organization-profile-content h3,.organization-profile-content h4{color:#681713;font-family:Georgia,serif}.organization-profile-content a{color:#811b17}.organization-profile-content table{width:100%;border-collapse:collapse}.organization-profile-content td,.organization-profile-content th{padding:8px;border:1px solid #b8955d}.organization-profile-content th{background:#72201a;color:#fff4dc}.organization-profile-content .text-center{text-align:center}.organization-profile-content .text-right{text-align:right}.organization-profile-content .text-justify{text-align:justify}.organization-media{max-width:100%;margin:20px auto;text-align:center}.organization-media img{display:block;max-width:100%;height:auto;margin:auto}.organization-media figcaption{padding:7px;color:#6e5640;font-size:13px}.organization-media.media-left{float:left;width:min(45%,520px);margin:8px 22px 14px 0}.organization-media.media-right{float:right;width:min(45%,520px);margin:8px 0 14px 22px}.organization-media.media-wide{width:100%}.organization-media-gallery{display:grid;gap:14px;clear:both;margin:22px 0}.organization-media-gallery.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.organization-media-gallery.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.organization-media-gallery .organization-media{margin:0}.organization-events{margin-top:55px}.organization-events>h2{font:clamp(34px,5vw,50px) Georgia,serif}
.profile-editor-page{max-width:1450px}.profile-editor-heading{display:flex;align-items:center;gap:17px;margin:20px 0;padding:17px 20px;border:3px solid #dca842;border-radius:38px 8px 8px 38px;background:linear-gradient(90deg,#51100e,#90211c,#45100e);box-shadow:0 18px 50px rgba(0,0,0,.35)}.profile-editor-heading>div{flex:1}.profile-editor-heading h1{margin:2px 0;color:#fff8e8;font:clamp(28px,4vw,43px) Georgia,serif}.profile-editor-heading a{color:#f3d17d}.profile-editor-light{width:44px;height:44px;border:5px solid #a77127;border-radius:50%;background:radial-gradient(circle,#fff8bd 0 25%,#ffd05b 31%,#773c08 68%);box-shadow:0 0 18px #ffd768}.profile-organization-switcher{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}.profile-organization-switcher a{padding:7px 10px;border:1px solid #dca842;color:#f6d78e;text-decoration:none}.profile-organization-switcher a[aria-current=page]{background:#dca842;color:#31110e}.profile-editor-form,.organization-media-library{overflow:hidden;margin-top:18px;border:2px solid #dca842;border-radius:8px;background:#f2dfb8;color:#251711;box-shadow:0 18px 48px rgba(0,0,0,.32)}.profile-settings-grid{display:grid;grid-template-columns:minmax(250px,1fr) 160px minmax(220px,1fr);gap:14px;align-items:end;padding:18px}.profile-settings-grid label{display:grid;gap:5px}.profile-settings-grid input:not([type=checkbox]){width:100%;box-sizing:border-box;padding:9px;border:1px solid #987b54;background:#fffefa}.profile-logo-preview,.profile-logo-placeholder{grid-row:span 2;width:140px;height:110px;object-fit:contain;background:#fff9e9}.profile-logo-placeholder{display:grid;place-items:center;font-size:38px}.profile-publish-field{display:flex!important;align-items:center;gap:8px}.profile-editor-toolbar-help{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:11px 18px;background:#57110f;color:#fff4dd}.profile-editor-toolbar-help strong{font:700 18px Georgia,serif}.profile-editor-toolbar-help button,.media-upload-form button,.media-library-actions button,.organization-media-card button{padding:7px 10px;border:1px solid #dca842;border-radius:3px;background:#7d1715;color:#fff7df;font-weight:800;cursor:pointer}.profile-editor-toolbar-help span{color:#e5cfa4;font-size:12px}.profile-editor-form>.jodit-container{border:0!important;border-radius:0!important}.profile-save{width:calc(100% - 36px);margin:18px}.organization-media-library .club-panel-title{border-radius:0}.media-upload-form{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1fr auto;gap:11px;align-items:end;padding:16px}.media-upload-form label{display:grid;gap:4px;font-size:12px}.media-upload-form input{max-width:100%;padding:7px;border:1px solid #9d825c;background:#fff}.media-upload-form small{color:#68553e}.media-upload-form p{grid-column:1/-1;margin:0;color:#731713;font-weight:800}.media-library-actions{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#e1c487}.organization-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px}.organization-media-card{display:grid;align-content:start;gap:7px;padding:9px;border:1px solid #b4935d;background:#fff9ec}.organization-media-card>img{width:100%;height:160px;object-fit:cover}.organization-media-card>small{min-height:1em;color:#745d47}.organization-media-card>div{display:flex;gap:5px}.organization-media-card button:last-child{background:#46100f}.media-select{font-size:11px;font-weight:800}.organization-byline{display:flex;align-items:center;gap:7px;color:#6a1714}.organization-byline img,.organization-byline span{width:28px;height:28px;object-fit:contain}.organization-byline span{display:grid;place-items:center}
@media(max-width:1000px){.organization-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.organization-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.media-upload-form{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-settings-grid{grid-template-columns:1fr 140px}.profile-settings-grid label:nth-of-type(2),.profile-settings-grid label:nth-of-type(3),.profile-publish-field{grid-column:1/-1}}
@media(max-width:700px){.organization-directory-grid,.organization-media-grid,.organization-media-gallery.columns-2,.organization-media-gallery.columns-3{grid-template-columns:1fr}.organization-public-header,.profile-editor-heading{align-items:flex-start;flex-direction:column;border-radius:15px}.organization-public-header>img,.organization-public-header>.organization-logo-placeholder{width:100px;height:100px}.organization-media.media-left,.organization-media.media-right{float:none;width:100%;margin:18px 0}.profile-settings-grid,.media-upload-form{grid-template-columns:1fr}.profile-settings-grid>*{grid-column:1!important}.organization-media-card>img{height:auto}.media-library-actions{align-items:flex-start;flex-direction:column}}
.event-organization-link,.map-popup-organization{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;margin-bottom:10px;color:#e9bf67;text-decoration:none}.event-organization-link img,.event-organization-link span{width:45px;height:45px;object-fit:contain;border-radius:50%;background:#fff8e6}.event-organization-link span,.map-popup-organization span{display:grid;place-items:center}.map-popup-ride-wrap{padding:7px 0;border-bottom:1px solid #d9c5a1}.map-popup-ride-wrap:last-child{border-bottom:0}.map-popup-organization{margin:5px 0 0 84px;color:#681713!important;font-size:11px}.map-popup-organization img,.map-popup-organization span{width:25px;height:25px;object-fit:contain;border-radius:50%;background:#fff8e6}.public-gallery-grid .organization-byline{margin-top:5px;text-decoration:none}.organization-profile-callout{display:grid;grid-template-columns:72px minmax(0,1fr);gap:3px 13px;align-items:center;margin-bottom:20px;padding:13px;border:2px solid #dca842;border-radius:38px 8px 8px 38px;background:linear-gradient(90deg,#6c1512,#93221e,#55110f);color:#fff4da;text-decoration:none}.organization-profile-callout img,.organization-profile-callout>span{grid-row:1/3;width:68px;height:68px;object-fit:contain;border-radius:50%;background:#fff8e9}.organization-profile-callout>span{display:grid;place-items:center;font-size:30px}.organization-profile-callout strong{font:700 19px Georgia,serif}.organization-profile-callout small{color:#e9c876}
.map-popup-schedule{color:#8a1915!important;font-weight:800}
.map-popup-schedule--pass{color:#3c5d70!important}.map-popup-note{font-style:italic}
.map-popup-kind{width:max-content;padding:2px 5px;border:1px solid #a47118;background:#f3d887;color:#5d1712;font-size:10px;text-transform:uppercase}.map-popup-regular .map-popup-ride{align-items:start}.map-popup-departures{display:grid;gap:3px;margin:7px 0 0;padding:0;list-style:none}.map-popup-departures a{display:flex;justify-content:space-between;gap:10px;padding:4px 6px;background:#f4ead5;color:#651713!important;text-decoration:none}.map-popup-departures small{color:#705843}.map-popup-regular-actions{display:flex;flex-wrap:wrap;gap:5px 12px;margin:7px 0 0 84px;font-size:12px;font-weight:800}.map-popup-regular-actions a{color:#751815!important}
.map-popup-event-group .map-popup-departures{margin-left:84px}.map-popup-event-group .map-popup-departures a{align-items:center}.map-popup-event-group .map-popup-departures time{font-weight:900;white-space:nowrap}.map-popup-event-group .map-popup-departures small{min-width:0;text-align:right;overflow-wrap:anywhere}
@media(max-width:520px){.map-popup-event-group .map-popup-departures{margin-left:0}}
.ride-map-frame #public-ride-map .leaflet-popup-content{max-height:360px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:8px}
.event-card-occurrence{padding:4px 0;border-bottom:1px solid #d5c19b}.event-card-consist{display:flex!important;flex-wrap:wrap;align-items:center;gap:4px;margin-top:3px;color:#694035!important;font-size:10px}.event-card-consist>strong{width:100%}.event-card-consist i{display:flex;align-items:center;gap:3px;padding:2px 4px;border:1px solid #c6a96e;border-radius:3px;background:#fff8e9;font-style:normal}.event-card-consist img{width:22px!important;height:18px!important;padding:0!important;object-fit:cover!important;background:transparent!important}.event-card-consist b{font-size:9px}.map-popup-consist{display:flex!important;flex-wrap:wrap;gap:4px;margin-top:4px}.map-popup-consist i{display:flex;align-items:center;gap:3px;padding:2px 4px;border:1px solid #d0b77d;border-radius:3px;background:#fff8e9;font-style:normal}.map-popup-consist img{width:27px!important;height:20px!important;object-fit:cover}.map-popup-consist b{font-size:9px}
.ride-map-data-sources{margin:0;padding:7px 24px 11px;background:#efe0b5;color:#4c2618;font-size:11px;line-height:1.4}.ride-map-data-sources:empty{display:none}.ride-map-data-sources a{color:#701714;font-weight:800}
.calendar-event-organization{display:flex!important;align-items:center;gap:3px;margin-bottom:3px;font-size:8px!important;opacity:.88}.calendar-event-organization img,.calendar-event-organization i{width:15px;height:15px;object-fit:contain;border-radius:50%;background:#fff8e7;font-style:normal}.calendar-event-organization b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.organization-fleet-public,.organization-photo-public{margin-top:55px}.organization-fleet-public>h2,.organization-photo-public>h2{font:clamp(34px,5vw,50px) Georgia,serif}.organization-vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.organization-vehicle-card{display:grid;grid-template-rows:auto;align-content:start;min-width:0;overflow:hidden;padding:12px;border:2px solid #dca842;border-radius:7px;background:#f4e6c8;color:#251711;box-shadow:0 17px 40px rgba(0,0,0,.28)}.organization-vehicle-photo{display:grid;place-items:center;contain:layout paint;position:relative;z-index:0;width:100%;height:clamp(180px,18vw,240px);margin:0 0 12px;overflow:hidden;background:#d6c39d}.organization-vehicle-photo img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}.organization-vehicle-card>:not(.organization-vehicle-photo){position:relative;z-index:1}.organization-vehicle-card>.organization-byline{margin:0;padding:7px 0;background:#f4e6c8}.organization-vehicle-photo span{font-size:55px}.organization-vehicle-card h3{margin:10px 0 0;color:#6f1512;font:700 25px Georgia,serif}.organization-vehicle-card p{color:#65513f}.organization-vehicle-card>a{color:#791713;font-weight:800}.organization-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.organization-photo-grid figure{overflow:hidden;margin:0;border:2px solid #dca842;border-radius:5px;background:#f4e6c8;color:#251711}.organization-photo-grid img{display:block;width:100%;height:230px;object-fit:cover}.organization-photo-grid figcaption{display:grid;gap:3px;padding:9px}.organization-photo-grid figcaption span,.organization-photo-grid figcaption small{color:#705b45}.organization-gallery-link{display:inline-block;margin-top:17px;color:#f0ca7c;font-weight:800}.media-library-actions label{display:flex;align-items:center;gap:6px}.media-library-actions input[type=search]{width:min(330px,45vw);padding:7px;border:1px solid #94754a;background:#fffdf8}.organization-media-card[hidden]{display:none}
.organization-profile-preview{padding-top:25px}.profile-preview-notice{position:sticky;top:8px;z-index:20;margin-bottom:18px;padding:10px 15px;border:2px solid #f0c569;border-radius:4px;background:#6f1613;color:#fff6df;font-weight:800;box-shadow:0 8px 20px rgba(0,0,0,.3)}
@media(max-width:900px){.organization-vehicle-grid,.organization-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.organization-vehicle-grid,.organization-photo-grid{grid-template-columns:1fr}.media-library-actions label{width:100%}.media-library-actions input[type=search]{width:100%}}
.route-editor-layout{align-items:start}
.route-editor-map{height:clamp(620px,72vh,900px);min-height:0;align-self:start}
.route-point-menu{display:grid;min-width:220px;gap:7px;color:#29170f}.route-point-menu strong{color:#701310;font:700 16px Georgia,serif}.route-point-menu small{color:#6d5941}.route-point-menu button{width:100%;padding:8px 10px;border:1px solid #dca842;border-radius:3px;background:#7d1715;color:#fff7df;font-weight:800;cursor:pointer}.route-point-menu button:hover,.route-point-menu button:focus-visible{background:#a52822;outline:2px solid #dca842;outline-offset:1px}
@media(max-width:900px){.route-editor-map{height:520px;min-height:0}}

/* Organization logos are shown as the uploaded artwork itself. Decorative
   plaques remain reserved for the fallback icon when no logo was uploaded. */
.organization-public-header>img{width:150px;height:150px;border:0;border-radius:0;background:transparent;box-shadow:none}
.organization-directory-card img{width:96px;height:96px;border-radius:0;background:transparent;box-shadow:none}

.event-timetable-download{display:grid;grid-template-columns:42px minmax(0,1fr);gap:0 12px;align-items:center;margin:14px 0 22px;padding:12px 15px;border:2px solid var(--gold);border-radius:5px;background:linear-gradient(100deg,#711411,#9b241f,#5b100e);color:#fff7df;text-decoration:none;box-shadow:0 9px 24px rgba(0,0,0,.28);transition:transform .16s,filter .16s}
.event-timetable-download>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border:2px solid #f2ca74;border-radius:50%;background:#101f33;color:#ffd77f;font-size:21px}
.event-timetable-download strong{font:700 18px Georgia,serif}.event-timetable-download small{color:#efd49c}.event-timetable-download:hover,.event-timetable-download:focus-visible{transform:translateY(-2px);filter:brightness(1.12);outline:2px solid #f0c569;outline-offset:2px}

.calendar-day-summary{display:grid;grid-template-columns:25px auto 1fr;grid-template-rows:auto auto;align-items:center;gap:0 7px;width:100%;margin-top:8px;padding:8px;border:2px solid #e1ae4c;border-radius:5px;background:linear-gradient(110deg,#861d18,#a52d25,#68110e);color:#fff6df;text-align:left;cursor:pointer;box-shadow:inset 0 0 0 1px #48100d,0 6px 14px rgba(0,0,0,.25);transition:transform .16s,filter .16s}.calendar-day-summary:hover,.calendar-day-summary:focus-visible{transform:translateY(-2px);filter:brightness(1.14);outline:2px solid #ffd77f;outline-offset:2px}.calendar-day-summary-lamp{grid-row:1/3;width:20px;height:20px;border:3px solid #a97123;border-radius:50%;background:radial-gradient(circle,#fff9bf 0 28%,#ffd05b 32%,#8b4709 69%);box-shadow:0 0 10px #ffd871}.calendar-day-summary>strong{font:700 23px/1 Georgia,serif}.calendar-day-summary>span:not(.calendar-day-summary-lamp){font-weight:900}.calendar-day-summary>small{grid-column:2/4;color:#f2d293;font-size:9px;letter-spacing:.04em;text-transform:uppercase}
.calendar-day-tooltip{position:fixed;z-index:7000;box-sizing:border-box;max-height:min(350px,calc(100vh - 24px));overflow-x:hidden;overflow-y:auto;padding:10px;border:2px solid #dca842;border-radius:7px;background:#f4e6c8;color:#251711;box-shadow:0 18px 55px rgba(0,0,0,.55);scrollbar-gutter:stable;overscroll-behavior:contain}.calendar-day-tooltip[hidden]{display:none}.calendar-day-event-list{display:grid;gap:7px}.calendar-day-event{display:grid;grid-template-columns:64px minmax(0,1fr) 22px;gap:10px;align-items:center;min-width:0;padding:9px;border:1px solid #c9a45f;border-left:5px solid #7d1715;border-radius:4px;background:#fff9ec;color:#251711;text-decoration:none;transition:background .15s,transform .15s}.calendar-day-event:hover,.calendar-day-event:focus-visible{transform:translateX(2px);background:#fff2d2;outline:2px solid #a52a23;outline-offset:1px}.calendar-day-event>time{display:grid;color:#751713}.calendar-day-event>time strong{font-size:18px}.calendar-day-event>time span{color:#715a42;font-size:9px}.calendar-day-event-copy{display:grid;min-width:0}.calendar-day-event-copy>strong{overflow-wrap:anywhere;color:#5e1512;font:700 16px/1.2 Georgia,serif}.calendar-day-event-copy>small{color:#765a3f}.calendar-day-event-organization{display:flex;align-items:center;gap:6px;min-width:0;color:#74512f;font-size:10px}.calendar-day-event-organization img,.calendar-day-event-organization i{flex:0 0 auto;width:27px;height:27px;object-fit:contain;font-style:normal}.calendar-day-event-organization b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-event-arrow{color:#7d1715;font-size:19px;font-weight:900}
.calendar-day-dialog{width:min(760px,calc(100vw - 28px));max-height:min(820px,calc(100vh - 28px));padding:0;border:3px solid #dca842;border-radius:11px;background:#f4e6c8;color:#251711;box-shadow:0 30px 100px rgba(0,0,0,.7)}.calendar-day-dialog::backdrop{background:rgba(2,11,22,.78);backdrop-filter:blur(3px)}.calendar-day-dialog-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100vh - 34px)}.calendar-day-dialog header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:2px solid #dca842;background:linear-gradient(100deg,#66120f,#92241e,#4c0d0b);color:#fff6df}.calendar-day-dialog header .eyebrow{margin:0}.calendar-day-dialog h2{margin:3px 0 0;font:700 clamp(25px,5vw,38px) Georgia,serif}.calendar-day-dialog-close{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:2px solid #efc66d;border-radius:50%;background:#111f31;color:#fff0c5;font-size:27px;cursor:pointer}.calendar-day-dialog-close:hover,.calendar-day-dialog-close:focus-visible{background:#7d1715;outline:2px solid #fff0c5}.calendar-day-dialog-content{overflow-y:auto;padding:16px;scrollbar-gutter:stable;overscroll-behavior:contain}.calendar-day-dialog footer{display:flex;justify-content:flex-end;padding:12px 16px;border-top:1px solid #cda963;background:#ead3a2}.calendar-day-map-button{padding:10px 15px;border:2px solid #dca842;border-radius:4px;background:#721714;color:#fff5dd;font-weight:900;cursor:pointer}.calendar-day-map-button:hover,.calendar-day-map-button:focus-visible{background:#a02822;outline:2px solid #5c130f;outline-offset:2px}
@media(max-width:600px){.calendar-day-tooltip{display:none!important}.calendar-day-dialog-content{padding:9px}.calendar-day-dialog header{padding:13px}.calendar-day-event{grid-template-columns:52px minmax(0,1fr) 16px;padding:7px}.calendar-day-event-copy>strong{font-size:14px}.calendar-day-event-organization img,.calendar-day-event-organization i{width:22px;height:22px}}

.event-poster-open{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in}.event-poster-open:focus-visible{outline:4px solid var(--gold);outline-offset:5px}.event-poster-open .poster{display:block;width:100%}.event-poster-dialog{box-sizing:border-box;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(5,6,7,.97);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.event-poster-dialog::backdrop{background:rgba(5,6,7,.97)}.event-poster-dialog-stage{display:grid;place-items:start center;box-sizing:border-box;width:100%;min-height:100%;padding:18px}.event-poster-dialog-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:none;object-fit:contain}.event-poster-dialog-close{position:fixed;z-index:2;top:18px;right:18px;display:grid;place-items:center;width:52px;height:52px;padding:0;border:2px solid #f1c55e;border-radius:50%;background:#701713;color:#fff8e5;font:700 34px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 7px 28px rgba(0,0,0,.55)}.event-poster-dialog-close:hover,.event-poster-dialog-close:focus-visible{background:#9d271f;outline:3px solid #fff1bb;outline-offset:2px}
.management-global-back{position:relative;display:flex;gap:7px;align-items:center;width:max-content;max-width:calc(100% - 48px);margin:16px 24px 0;padding:9px 13px;border:1px solid var(--gold);border-radius:4px;background:#54110e;color:#fff2d5;font-weight:900;line-height:1.25;text-decoration:none;white-space:normal;cursor:pointer;box-shadow:0 7px 20px rgba(0,0,0,.3)}.management-global-back:hover,.management-global-back:focus-visible{background:#84211b;outline:2px solid #ffe49a;outline-offset:2px}
.club-panel-title--filters{flex-wrap:wrap}.club-panel-filter{margin-left:auto}.club-panel-filter label{display:flex;gap:7px;align-items:center;padding:7px 10px;border:1px solid #d7ad58;border-radius:4px;background:#f5e4bc;color:#511612;font-size:13px;font-weight:900;cursor:pointer}.club-panel-filter input{width:18px;height:18px;accent-color:#7d1715}
@media(max-width:750px){.management-global-back{max-width:calc(100% - 24px);margin:10px 12px 0}.event-poster-dialog-stage{padding:8px}.event-poster-dialog-close{top:10px;right:10px;width:46px;height:46px}.club-panel-filter{width:100%;margin:0}.club-panel-filter label{justify-content:center}}

.account-page{display:grid;place-items:start center;min-height:calc(100vh - 180px);padding:55px 20px 100px}.account-railcar{overflow:hidden;width:min(820px,100%);border:3px solid var(--gold);border-radius:32px 32px 8px 8px;background:#f3e4c5;color:#261710;box-shadow:0 25px 80px rgba(0,0,0,.48)}.account-railcar>header{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:16px;align-items:center;padding:22px;background:linear-gradient(100deg,#4d0a09,#8c1d19,#4d0a09);color:#fff4dc;text-align:center}.account-railcar h1{margin:3px 0;font:clamp(32px,6vw,50px) Georgia,serif}.account-railcar header p{margin:4px 0;color:#ead5ad}.account-light{width:31px;height:31px;border:4px solid #a67222;border-radius:50%;background:radial-gradient(circle,#fffbd6 0 27%,#ffd462 31%,#854607 69%);box-shadow:0 0 16px #ffd86d}.account-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:25px}.account-form>label{display:grid;gap:6px}.account-form>label>span{font-weight:900}.account-form input:not([type=checkbox]),.account-form textarea,.account-form select{box-sizing:border-box;width:100%;padding:11px;border:1px solid #8e7450;background:#fffdf8;color:#251711;font:inherit}.account-form textarea,.account-form .club-train-button,.account-form .form-errors,.sms-full-preview{grid-column:1/-1}.account-railcar>footer{display:flex;justify-content:space-between;gap:12px;padding:15px 25px;border-top:1px solid #b99a63;background:#e2c991}.account-railcar>footer a{color:#651512;font-weight:800}.account-profile-photo{grid-column:1/-1;margin:0}.account-profile-photo img{display:block;width:150px;height:150px;object-fit:contain;border:2px solid #b68b40;border-radius:5px;background:#fff}.account-field--bio,.account-field--photo,.account-field--show_sandbox_organization{grid-column:1/-1}.account-field--show_sandbox_organization{grid-template-columns:22px minmax(0,1fr);align-items:center;padding:14px;border:1px solid #b68b40;background:#fff7e8}.account-field--show_sandbox_organization input{width:19px;height:19px;margin:0;accent-color:#7d1715}.account-field--show_sandbox_organization small,.account-field--show_sandbox_organization .errorlist{grid-column:1/-1;margin:0}.account-memberships{padding:0 25px 25px}.account-memberships h2{font:700 27px Georgia,serif}.account-memberships p{padding:9px;border-left:4px solid #dca842;background:#fff7e8}.sms-full-preview{padding:14px;border:2px solid #dca842;background:#101e2f;color:#fff3d5}.sms-full-preview pre{min-height:52px;margin:8px 0;padding:11px;background:#f9eed4;color:#231711;font:16px/1.4 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}.sms-full-preview small{display:block;text-align:right}.sms-over-limit{color:#ff9e92!important;font-weight:900}
@media(max-width:650px){.account-form{grid-template-columns:1fr;padding:18px}.account-form>label,.account-profile-photo,.sms-full-preview{grid-column:1}.account-railcar>header{grid-template-columns:30px minmax(0,1fr) 30px}.account-light{width:24px;height:24px}.account-railcar>footer{flex-direction:column}}

.organization-people-public{margin-top:55px}.organization-people-public>h2{font:clamp(34px,5vw,50px) Georgia,serif}.organization-people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.organization-people-grid article{padding:15px;border:2px solid #dca842;border-radius:7px;background:#f4e6c8;color:#251711}.organization-people-grid img,.organization-people-grid article>span{display:grid;place-items:center;width:100%;height:230px;object-fit:contain;background:#d7c59f;font-size:70px}.organization-people-grid h3{margin:13px 0 3px;color:#6f1512;font:700 25px Georgia,serif}.organization-person-roles{color:#7a5d3b;font-weight:900;text-transform:uppercase}.club-member-photo{width:42px;height:42px;margin-right:7px;object-fit:contain;vertical-align:middle;border:1px solid #b7914b;background:#fff}
@media(max-width:800px){.organization-people-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.organization-people-grid{grid-template-columns:1fr}}
.organization-byline{gap:12px;min-height:58px}.organization-byline img{flex:0 0 auto;width:58px;height:58px;border:0;border-radius:0;background:transparent;box-shadow:none}
.event-card .organization-byline{margin-bottom:10px}.event-card .organization-byline img{width:64px;height:64px}
.event-organization-link{gap:13px}.event-organization-link img{width:72px;height:72px;border:0;border-radius:0;background:transparent;box-shadow:none}
.map-popup-organization{gap:9px;font-size:12px}.map-popup-organization img{width:44px;height:44px;border:0;border-radius:0;background:transparent;box-shadow:none}
@media(max-width:900px){.ride-map-frame #public-ride-map .leaflet-popup-content{max-height:255px}}
.calendar-event-organization{gap:5px;font-size:9px!important}.calendar-event-organization img{width:22px;height:22px;border:0;border-radius:0;background:transparent;box-shadow:none}
.organization-profile-callout{grid-template-columns:92px minmax(0,1fr)}.organization-profile-callout img{width:86px;height:86px;border:0;border-radius:0;background:transparent;box-shadow:none}
.profile-logo-preview{background:transparent}
@media(max-width:700px){.organization-public-header>img{width:120px;height:120px}.event-card .organization-byline img{width:58px;height:58px}}
.managed-event-list,.managed-route-list{display:grid;gap:9px;padding:14px}.managed-event-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:2px 12px;align-items:center;padding:9px;border:1px solid #b8955d;border-radius:5px;background:#fff9eb;color:#2b1710;text-decoration:none}.managed-event-item>span{grid-row:1/4;width:68px;height:68px;display:grid;place-items:center;background:#dac49c;font-size:30px}.managed-event-item img{width:100%;height:100%;object-fit:contain}.managed-event-item strong{font:700 18px Georgia,serif}.managed-event-item small{color:#6d5944}.managed-event-item em{grid-column:3;grid-row:1/3;padding:4px 7px;border-radius:12px;background:#6d1714;color:#fff3d9;font-size:10px;font-style:normal}.club-panel--routes{grid-column:1/-1;grid-row:auto}.managed-route-list{grid-template-columns:1fr}.managed-route-item{min-width:0;border:1px solid #b8955d;border-radius:5px;background:#fff9eb;color:#2b1710;overflow:hidden}.managed-route-item>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px}.managed-route-item>header>div{display:grid;min-width:0;gap:2px}.managed-route-item>header strong{color:#721613;font:700 19px Georgia,serif}.managed-route-item>header small{color:#705b43}.managed-route-edit{flex:0 0 auto;padding:9px 12px;border:1px solid #7b1b17;border-radius:3px;background:#7b1b17;color:#fff7e6;font-weight:800;text-decoration:none}.managed-route-technical{border-top:1px solid #cdb987}.managed-route-technical>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;background:#132027;color:#f3cb69;font-weight:900;cursor:pointer;list-style-position:inside}.managed-route-technical>summary small{color:#c6d0cf;text-align:right}.managed-route-technical__body{min-width:0;padding:14px}.managed-route-technical__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border:1px solid #c9b785}.managed-route-technical__metrics>div{min-width:0;padding:10px 12px;border-right:1px solid #d8caa5;border-bottom:1px solid #d8caa5}.managed-route-technical__metrics>div:nth-child(4n){border-right:0}.managed-route-technical__metrics dt{color:#70563c;font-size:10px;font-weight:900;text-transform:uppercase}.managed-route-technical__metrics dd{margin:3px 0 0;color:#671613;font-weight:900;overflow-wrap:anywhere}.managed-route-technical__table-wrap{margin-top:13px;overflow-x:auto}.managed-route-technical__table{width:100%;min-width:940px;border-collapse:collapse;background:#fffdf7}.managed-route-technical__table th{padding:9px;background:#17252c;color:#f2ca6a;text-align:left;font-size:10px;text-transform:uppercase}.managed-route-technical__table td{padding:9px;border:1px solid #d7c8a1;vertical-align:top}.managed-route-technical__table td strong,.managed-route-technical__table td small{display:block}.managed-route-technical__table td small{margin-top:3px;color:#705b43}.managed-route-technical__missing{color:#9a281f;font-weight:800}.managed-route-technical__complete{color:#276143;font-weight:800}.managed-route-technical__warnings{margin-top:12px;border-left:4px solid #b33a30;background:#f1dfc3}.managed-route-technical__warnings>summary{padding:11px 13px;color:#7e1d18;font-weight:900;cursor:pointer}.managed-route-technical__warnings ul{margin:0;padding:0 26px 13px 34px}.managed-route-technical__warnings li+li{margin-top:9px}.managed-route-technical__warnings li strong,.managed-route-technical__warnings li span,.managed-route-technical__warnings li small{display:block}.managed-route-technical__warnings li span{margin-top:2px}.managed-route-technical__warnings li small{margin-top:3px;color:#705b43}.managed-route-technical__warning{padding:10px 12px;border-left:4px solid #b33a30;background:#f1d9cf;color:#761a15;font-weight:800}.managed-route-technical footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px 16px;margin-top:12px;padding-top:11px;border-top:1px solid #ccb98b;color:#655546;font-size:11px}.managed-route-technical footer code{max-width:100%;overflow-wrap:anywhere}.managed-route-technical__notice{margin:10px 0 0;color:#655546;font-size:12px;line-height:1.45}.managed-route-technical__empty{margin:0;padding:11px 13px;border-top:1px solid #cfbc8c;color:#785e41}.managed-route-technical[open]>summary{background:#74201a;color:#fff0bd}
.managed-route-technical footer{padding:11px 0 0}.managed-route-technical footer span{flex:1 1 260px;min-width:0}.managed-route-technical footer code{display:block;flex:0 0 100%;width:100%;min-width:0;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
.managed-route-technical__metrics dd small{display:block;margin-top:3px;color:#705b43;font-weight:600;line-height:1.25}
@media(max-width:900px){.managed-route-technical__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.managed-route-technical__metrics>div:nth-child(4n){border-right:1px solid #d8caa5}.managed-route-technical__metrics>div:nth-child(2n){border-right:0}}
@media(max-width:700px){.managed-event-item{grid-template-columns:58px minmax(0,1fr)}.managed-event-item>span{width:54px;height:54px}.managed-event-item em{grid-column:2;grid-row:auto;justify-self:start}.managed-route-item>header,.managed-route-technical>summary{align-items:flex-start;flex-direction:column}.managed-route-technical>summary small{text-align:left}.managed-route-edit{width:100%;box-sizing:border-box;text-align:center}.managed-route-technical__metrics{grid-template-columns:1fr}.managed-route-technical__metrics>div,.managed-route-technical__metrics>div:nth-child(2n),.managed-route-technical__metrics>div:nth-child(4n){border-right:0}}
.club-interest-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.club-interest{padding:14px;border:1px solid #b58d50;border-left:6px solid #9d271f;background:#fff8e8;color:#2d180f}.club-interest--closed{opacity:.65;border-left-color:#657067}.club-interest header{display:flex;justify-content:space-between;gap:12px}.club-interest p{margin:6px 0}.club-interest a{color:#731612}.club-interest blockquote{margin:10px 0;padding:10px;border-left:3px solid #d4a64f;background:#f1dfbd}.club-interest-email{display:inline-flex;margin:0 0 10px;padding:8px 11px;border:1px solid #701713;background:#fff4dc;font-weight:800;text-decoration:none}.club-interest-email:hover,.club-interest-email:focus-visible{background:#701713;color:#fff4dc}.club-interest form{display:flex;flex-wrap:wrap;gap:6px}.club-interest button{padding:7px 10px;border:1px solid #701713;background:#701713;color:#fff4dc;cursor:pointer}@media(max-width:750px){.club-interest-list{grid-template-columns:1fr}}

/* Calendar cards keep long association names inside the day at word boundaries. */
.calendar-event .calendar-event-organization .event-organizer {
  align-items: flex-start;
  width: 100%;
}
.calendar-event .calendar-event-organization b {
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
  line-height: 1.15;
}

/* Shared form-control contract: all standard controls remain touch-friendly and
   visually consistent. Special-purpose controls keep their intrinsic size. */
:where(
  input:not([type]),
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="password"],
  input[type="search"],
  input[type="number"],
  input[type="date"],
  input[type="datetime-local"],
  input[type="time"],
  input[type="month"],
  input[type="week"],
  select
) {
  box-sizing: border-box;
  min-width: 0;
  min-height: var(--form-control-min-height);
  padding: var(--form-control-padding-block) var(--form-control-padding-inline);
  font: inherit;
  line-height: 1.35;
}

:where(textarea) {
  box-sizing: border-box;
  min-width: 0;
  min-height: var(--form-textarea-min-height);
  padding: 10px var(--form-control-padding-inline);
  font: inherit;
  line-height: 1.5;
}

/* Public interest forms must never let an intrinsic select width overlap the next field. */
.interest-field select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:11px 12px;border:2px solid #b9924f;border-radius:4px;background:linear-gradient(#fffdf7,#eee4d1);color:#251711;font:inherit}.interest-field--marketing_consent{grid-column:1/-1}.interest-field select:focus{border-color:#ffd77f;outline:3px solid rgba(224,173,72,.27)}
.live-train-marker-shell{width:58px!important;height:71px!important;background:transparent;border:0}.live-train-marker{--train-status-color:#667085;position:absolute;isolation:isolate;top:0;left:2px;display:grid;box-sizing:border-box;width:54px;height:54px;place-items:center;border:4px solid var(--train-status-color);border-radius:13px;background:#1b2027;box-shadow:0 4px 14px #071326cc}.live-train-marker-media{position:relative;z-index:2;display:grid;box-sizing:border-box;width:100%;height:100%;place-items:center;overflow:hidden;border-radius:8px;background:#f6ead0}.live-train-marker-media img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#f6ead0}.live-train-marker-media>.m131-monogram{display:grid;width:100%;height:100%;place-items:center;border:0;border-radius:0;font-size:24px}.live-train-marker>i{position:absolute;z-index:1;top:48px;left:50%;width:0;height:0;transform:translateX(-50%);border-right:11px solid transparent;border-left:11px solid transparent;border-top:20px solid var(--train-status-color)}.live-train-marker>i::after{position:absolute;top:-20px;left:-7px;width:0;height:0;border-right:7px solid transparent;border-left:7px solid transparent;border-top:13px solid #1b2027;content:""}.live-train-bearing{position:absolute;z-index:3;right:-9px;bottom:-7px;display:grid;box-sizing:border-box;width:23px;height:23px;place-items:center;border:2px solid var(--train-status-color);border-radius:50%;background:#142739;color:#fff;box-shadow:0 2px 7px #071326aa}.live-train-bearing::before{display:block;transform:rotate(var(--train-bearing));font-size:16px;line-height:1;content:"↑"}.live-train-tooltip{display:grid;gap:3px;min-width:190px}.live-train-tooltip strong{color:#721714;font:700 18px Georgia,serif}.live-train-tooltip b,.live-train-tooltip small{display:block}.live-train-status{display:flex!important;gap:6px;align-items:center}.live-train-status>i,.live-status-legend i{display:inline-block;flex:0 0 auto;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:var(--train-status-color);box-shadow:0 0 0 1px var(--train-status-color)}.live-train-popup-photo{display:block;width:100%;max-height:170px;object-fit:contain;margin:0 0 9px;background:#eee1c5}.live-train-popup>small{display:block;margin-top:10px;color:#715d49}.live-train-route-detail{margin:8px 0}.live-train-route-detail summary{cursor:pointer;font-weight:700}.live-train-route-detail ol{max-height:190px;margin:7px 0 0;padding-left:23px;overflow:auto}.live-train-route-detail li{padding:2px 0}.live-train-route-detail li[aria-current="true"]{color:#721714;font-weight:700}.live-status-legend{display:flex;flex-wrap:wrap;gap:7px 14px;align-items:center;padding:9px 12px;border-top:2px solid #dca842;background:#f2dfb5;color:#4e1812;font-size:11px;font-weight:800}.live-status-legend span{display:flex;gap:6px;align-items:center}.live-status-legend:empty{display:none}
.danger-zone {
  align-items: center;
  background: rgba(87, 19, 17, .92);
  border: 1px solid #d5aa45;
  border-radius: 10px;
  color: #fff3ce;
  display: flex;
  gap: 1.25rem;
  justify-content: space-between;
  margin: 1.5rem auto;
  max-width: 1760px;
  padding: 1rem 1.25rem;
}

/* The live marker is a fixed-format control. Keep generic image rules from
   collapsing its vehicle thumbnail to an empty plaque. */
.live-train-marker-media {
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
}

.live-train-marker-media > .live-train-marker-thumbnail {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.danger-zone div {
  display: grid;
  gap: .25rem;
}

.danger-zone small {
  color: #f1dfb5;
}

.danger-zone button,
.danger-button {
  background: #7d1715;
  border: 1px solid #e1b650;
  border-radius: 4px;
  color: #fff5d8;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  padding: .65rem .9rem;
}

.danger-zone button:hover,
.danger-button:hover {
  background: #a52a25;
}

@media (max-width: 720px) {
  .danger-zone {
    align-items: stretch;
    flex-direction: column;
  }
}

/* Ordered RailML point lists: name, up, down and remove stay aligned. */
.route-selection-list {
  padding-left: 0;
  list-style: none;
}

.route-selection-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  gap: 5px;
  align-items: center;
}

.route-selection-list li > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.route-selection-list li > button {
  float: none;
  min-width: 31px;
}

.route-selection-list li > button:disabled {
  cursor: default;
  opacity: .35;
}

/* Organization crew management remains legible in wide and narrow panels. */
.club-member {
  display: block;
  padding: 0;
  border-bottom: 1px solid #bba987;
}

.club-member-name {
  display: flex;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}

.club-member-name::-webkit-details-marker {
  display: none;
}

.club-member-name > i {
  width: 11px;
  height: 11px;
  margin-left: auto;
  transform: rotate(45deg);
  border-right: 2px solid #6f1512;
  border-bottom: 2px solid #6f1512;
  transition: transform .18s ease;
}

.club-member[open] .club-member-name > i {
  transform: rotate(225deg);
}

.club-member-form {
  display: grid;
  gap: 16px;
  padding: 0 16px 16px 68px;
}

.club-member-name > span {
  display: grid;
  min-width: 0;
}

.club-member-name strong,
.club-member-name small {
  overflow-wrap: anywhere;
}

.club-member-roles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  min-width: 0;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid #c5ab77;
  background: #fbf2de;
}

.club-member-roles legend {
  padding: 0 6px;
  color: #6f1512;
  font: 700 12px Georgia, serif;
}

.club-member-roles label {
  display: flex;
  gap: 7px;
  align-items: center;
  white-space: normal;
}

.club-member-roles input {
  flex: 0 0 auto;
}

.club-member-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.club-member-actions button {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 8px 10px;
  white-space: normal;
}

.club-member-save {
  border: 1px solid #234b65;
  border-radius: 4px;
  background: #173e58;
  color: #fff;
  font-weight: 800;
}

@media (max-width: 1050px) {
  .club-member-roles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .club-member-roles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .club-member-form {
    padding-left: 16px;
  }

  .club-member-actions {
    display: grid;
    grid-column: 1 / -1;
  }

  .club-member-actions button {
    width: 100%;
  }
}
.jodit-popup:has(.reservation-variable-option) .jodit-popup__content {
  max-height: min(360px, 45dvh);
  max-width: calc(100vw - 16px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.reservation-variable-option {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
}

/* Compact public navigation and persistent organization context. */
.public-nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  min-width: 54px;
  min-height: 44px;
  padding: 6px 9px;
  border: 1px solid var(--gold);
  border-radius: 4px;
  background: #53110e;
  color: #fff6dc;
  cursor: pointer;
}

.public-nav-toggle > span {
  display: block;
  width: 24px;
  height: 2px;
  background: currentColor;
}

.public-nav-toggle > b {
  font-size: 9px;
  line-height: 1;
  text-transform: uppercase;
}

.management-club-sidebar {
  position: fixed;
  z-index: 1750;
  top: 92px;
  bottom: auto;
  left: 14px;
  display: flex;
  overflow: auto;
  flex-direction: column;
  width: 252px;
  max-height: calc(100vh - 190px);
  border: 2px solid var(--gold);
  border-radius: 8px;
  background: rgba(5, 24, 43, .98);
  color: #fff4d8;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .42);
}

.management-club-sidebar > header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 13px;
  border-bottom: 1px solid rgba(220, 168, 66, .55);
  background: linear-gradient(135deg, #641613, #310a09);
}

.management-club-sidebar > header img {
  width: 46px;
  height: 46px;
  object-fit: contain;
}

.management-club-sidebar > header span {
  display: grid;
  min-width: 0;
}

.management-club-sidebar > header small {
  color: #e6bd69;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.management-club-sidebar > header strong {
  overflow-wrap: anywhere;
  font: 700 16px/1.2 Georgia, serif;
}

.management-club-switcher {
  border-bottom: 1px solid rgba(220, 168, 66, .35);
}

.management-club-switcher summary {
  padding: 10px 13px;
  color: #f1cc82;
  font-weight: 800;
  cursor: pointer;
}

.management-club-switcher nav,
.management-club-menu {
  display: grid;
}

.management-menu-messages {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-weight: 850;
}

.management-menu-home {
  border-left: 4px solid #dca842;
  background: rgba(220, 168, 66, .1);
  font-weight: 850;
}

.management-menu-messages strong {
  display: grid;
  min-width: 24px;
  min-height: 24px;
  place-items: center;
  border: 1px solid #dca842;
  border-radius: 50%;
  color: #fff1c7;
  font-size: 11px;
}

.management-menu-group {
  border-bottom: 1px solid rgba(220, 168, 66, .28);
}

.management-menu-group > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 44px;
  padding: 10px 13px;
  color: #f1cc82;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.management-menu-group > summary::-webkit-details-marker { display: none; }
.management-menu-group > summary span { transition: transform .18s ease; }
.management-menu-group[open] > summary span { transform: rotate(180deg); }
.management-menu-group > summary:hover,
.management-menu-group > summary:focus-visible { background: rgba(125, 27, 23, .45); outline: 0; }
.management-menu-group > div { display: grid; }
.management-menu-group > div > a { padding-left: 22px; }
.management-menu-group--admin > summary { color: #fff1c7; background: rgba(125, 27, 23, .28); }

.management-club-switcher a,
.management-club-menu a {
  padding: 9px 13px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  color: #e5edf5;
  font-size: 13px;
  text-decoration: none;
}

.management-club-switcher a:hover,
.management-club-switcher a:focus-visible,
.management-club-menu a:hover,
.management-club-menu a:focus-visible,
.management-club-switcher a[aria-current="page"],
.management-club-menu a[aria-current="page"] {
  background: #7b1b17;
  color: #fff1c7;
  outline: 0;
}

.management-club-menu__divider {
  padding: 10px 13px 5px;
  color: #dca842;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

main.management-with-sidebar {
  margin-left: 270px;
}

[data-ajax-panel][aria-busy="true"] {
  position: relative;
  opacity: .72;
  pointer-events: none;
}

[data-ajax-panel][aria-busy="true"]::after {
  position: absolute;
  z-index: 20;
  top: 12px;
  right: 12px;
  width: 23px;
  height: 23px;
  border: 3px solid rgba(125, 23, 21, .25);
  border-top-color: #7d1715;
  border-radius: 50%;
  content: "";
  animation: ajax-filter-spin .7s linear infinite;
}

.ajax-filter-error {
  margin: 10px;
  padding: 9px 12px;
  border-left: 4px solid #a8221d;
  background: #ffe0d6;
  color: #5b100d;
  font-weight: 800;
}

.reservation-organization-filter {
  max-width: 760px;
  margin: 0 0 18px;
  padding: 13px 15px;
  border: 1px solid var(--gold);
  border-radius: 5px;
  background: #f3e4c5;
  color: #2b170d;
}

.reservation-organization-filter label {
  display: grid;
  gap: 5px;
}

.reservation-organization-filter span {
  font-weight: 900;
}

.reservation-organization-filter select {
  box-sizing: border-box;
  width: 100%;
  padding: 10px;
  border: 1px solid #8e7147;
  background: #fffdf6;
  color: #24160f;
  font: inherit;
}

@keyframes ajax-filter-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 1350px) {
  .management-club-sidebar {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    width: auto;
    max-width: calc(100% - 24px);
    max-height: none;
    margin: 12px auto 0;
  }

  .management-club-menu { grid-template-columns: minmax(0, 1fr); }
  .management-club-menu a { text-align: left; }

  .management-club-menu__divider {
    grid-column: 1 / -1;
  }

  main.management-with-sidebar {
    margin-left: 0;
  }
}

@media (max-width: 1150px) {
  .public-nav-toggle {
    display: inline-flex;
  }

  .public-nav {
    position: absolute;
    z-index: 2100;
    top: calc(100% + 1px);
    right: 16px;
    display: none;
    overflow: auto;
    align-items: stretch;
    flex-direction: column;
    width: min(330px, calc(100vw - 32px));
    max-height: calc(100vh - 90px);
    gap: 0;
    padding: 8px;
    border: 2px solid var(--gold);
    border-radius: 6px;
    background: #071b31;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .5);
  }

  .public-nav.public-nav--open {
    display: flex;
  }

  .public-nav a,
  .public-nav form,
  .public-nav form button {
    box-sizing: border-box;
    width: 100%;
  }

  .public-nav a,
  .public-nav form button {
    display: block;
    padding: 11px 12px;
    text-align: left;
  }
}

@media (max-width: 720px) {
  .management-club-menu { grid-template-columns: minmax(0, 1fr); }

  .management-club-sidebar > header strong {
    font-size: 14px;
  }
}

.depot-technical-fields {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  min-width: 0;
  margin: 4px 0 0;
  padding: 18px;
  border: 2px solid #a77b34;
}

.depot-technical-fields > legend {
  padding: 0 8px;
  color: #701310;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.depot-technical-fields > p {
  grid-column: 1 / -1;
  margin: 0;
  color: #5c4a36;
  font-size: 13px;
  line-height: 1.5;
}

.depot-field--supported_electrification_systems > div {
  display: grid;
  gap: 5px;
  padding: 9px 10px;
  border: 1px solid #9d825c;
  background: #fffdf7;
}

.depot-field--supported_electrification_systems label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

@media (max-width: 750px) {
  .depot-technical-fields {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .depot-technical-fields .depot-field,
  .depot-technical-fields > p {
    grid-column: 1;
  }
}

/* Brzdění souprav */
.brake-workspace{max-width:1280px;margin:0 auto;padding:44px 28px 72px;color:#f8f3e6}
.brake-workspace .eyebrow{letter-spacing:0}
.brake-workspace__header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 32px;border:1px solid #dca842;border-radius:6px;background:#101a21}
.brake-workspace__header h1{margin:4px 0 8px;font-size:42px;line-height:1.05;letter-spacing:0;color:#fff7df}
.brake-workspace__header p{margin:0;max-width:780px;color:#c9d1d4}
.brake-workspace__gauge{position:relative;flex:0 0 104px;width:104px;height:104px;border:8px solid #ece2c2;border-radius:50%;background:radial-gradient(circle at center,#182831 0 48%,#852a22 49% 66%,#dca842 67% 72%,#111 73%);box-shadow:0 0 0 2px #5f120e,0 8px 22px #0008}
.brake-workspace__gauge i{position:absolute;left:50%;bottom:50%;width:4px;height:37px;background:#fff4c8;transform:translateX(-50%) rotate(42deg);transform-origin:bottom;border-radius:2px}
.brake-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:34px 0 14px}
.brake-section-heading h2{margin:0;font-size:28px;line-height:1.1;letter-spacing:0;color:#fff7df}
.brake-section-heading .eyebrow{margin:0;color:#dca842}
.brake-safety-notice{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:18px;margin:18px 0;padding:16px 20px;border-left:5px solid #dca842;background:#f4e7c9;color:#291510}
.brake-safety-notice strong{font-size:17px;color:#741b16}
.brake-safety-notice p{margin:0;line-height:1.5}
.brake-consist-list{border:1px solid #dca842;border-radius:6px;overflow:hidden;background:#152128}
.brake-consist-list>a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;border-bottom:1px solid #5f5338;color:#fff;text-decoration:none;transition:background .18s ease}
.brake-consist-list>a:last-child{border-bottom:0}
.brake-consist-list>a:hover,.brake-consist-list>a:focus-visible{background:#27353a}
.brake-consist-list a span{display:flex;flex-direction:column;gap:4px}
.brake-consist-list a strong{font-size:19px;color:#fff5d3}
.brake-consist-list a small{color:#bdc8ca}
.brake-consist-list a b{color:#f2c75f;white-space:nowrap}
.brake-empty{margin:0;padding:24px}
.brake-history-table-wrap{overflow-x:auto;border:1px solid #b98d34;border-radius:6px;background:#f7f3e9}
.brake-history-table{width:100%;min-width:760px;border-collapse:collapse;color:#251711}
.brake-history-table th{padding:12px 14px;background:#101a21;color:#f2c75f;text-align:left;font-size:12px;text-transform:uppercase}
.brake-history-table td{padding:13px 14px;border-top:1px solid #d7c8a4;vertical-align:middle}
.brake-history-table td strong,.brake-history-table td small{display:block}
.brake-history-table td small{margin-top:3px;color:#67594e}
.brake-history-table a{color:#741b16;font-weight:800}
.brake-status{display:inline-block;padding:5px 8px;border-radius:4px;font-size:12px;font-weight:800;line-height:1.25}
.brake-status--sufficient{background:#d7eddf;color:#145036}
.brake-status--insufficient,.brake-status--incomplete{background:#f3d9d2;color:#7a1d17}
.brake-status--unconfirmed{background:#f4e7c9;color:#674a05}
.brake-calculator>.back{display:inline-block;margin-bottom:14px;color:#f2c75f}
.brake-result{margin:22px 0;border:2px solid #dca842;border-radius:6px;background:#f6f0df;color:#251711;overflow:hidden}
.brake-result>header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;background:#162229;color:#fff}
.brake-result>header h2{margin:2px 0 4px;font-size:25px;letter-spacing:0;color:#fff4cf}
.brake-result>header small{color:#bdc8ca}
.brake-result--sufficient{border-color:#4d9a73}
.brake-result--insufficient,.brake-result--incomplete{border-color:#b1372f}
.brake-pdf-button,.brake-vehicle-calculations-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border:1px solid #dca842;border-radius:4px;background:#84271f;color:#fff!important;font-weight:800;text-decoration:none}
.brake-vehicle-calculations-link{margin:18px 0}
.brake-result__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #d2bf8c}
.brake-result__metrics>div{display:flex;flex-direction:column;min-height:112px;padding:16px 18px;border-right:1px solid #d2bf8c;border-top:1px solid #d2bf8c}
.brake-result__metrics>div:nth-child(3n){border-right:0}
.brake-result__metrics small{color:#6b5d4f;font-weight:800;text-transform:uppercase}
.brake-result__metrics strong{margin:6px 0 4px;font-size:29px;line-height:1;color:#741b16}
.brake-result__metrics span{color:#5d5147;font-size:12px}
.brake-result__metrics .brake-result__limit{grid-column:1/-1;min-height:auto;border-right:0;background:#e8dbb8}
.brake-result__note,.brake-result__scope{margin:0;padding:14px 20px;border-bottom:1px solid #d2bf8c;line-height:1.5}
.brake-result__scope{background:#132027;color:#f4e7c9}
.brake-warning-list{padding:12px 20px}
.brake-warning{padding:10px 0;border-bottom:1px solid #d6caa9}
.brake-warning:last-child{border-bottom:0}
.brake-warning strong{color:#7a1d17}
.brake-warning p{margin:3px 0 0}
.brake-warning--warning strong{color:#71510b}
.brake-result>footer{display:flex;justify-content:space-between;gap:16px;padding:12px 20px;background:#e5d7b1;color:#4f4035;font-size:11px;overflow-wrap:anywhere}
.brake-result>footer a{color:#641914;font-weight:800}
.brake-form{margin-top:28px}
.brake-form fieldset{margin:0 0 22px;padding:20px;border:1px solid #dca842;border-radius:6px;background:#f5efdf;color:#251711}
.brake-form legend:not(.visually-hidden){padding:0 10px;font-family:Georgia,serif;font-size:22px;font-weight:800;color:#6f1713}
.brake-fieldset-title{grid-column:1/-1;margin:0 0 18px;font:800 22px/1.2 Georgia,serif;letter-spacing:0;color:#6f1713}
.brake-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.brake-form-grid>*,.brake-vehicle-row>*{min-width:0}
.brake-field{display:flex;flex-direction:column;gap:6px}
.brake-field>span,.brake-vehicle-row label>span{font-weight:800}
.brake-field select,.brake-field input,.brake-field textarea,.brake-vehicle-row select,.brake-vehicle-row input{box-sizing:border-box;width:100%;max-width:100%;min-height:44px;padding:9px 10px;border:1px solid #937f60;border-radius:3px;background:#fff;color:#20130e}
.brake-field small,.brake-vehicle-row small{line-height:1.35;color:#65584c}
.brake-field--source_reference{grid-column:span 2}
.route-braking-prefill{margin-top:18px;border:1px solid #b98d34;border-left:5px solid #dca842;border-radius:4px;background:#132027;color:#f7f0dc;overflow:hidden}
.route-braking-prefill>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:15px 17px}
.route-braking-prefill>header>div{display:flex;min-width:0;gap:12px}
.route-braking-prefill__signal{flex:0 0 14px;width:14px;height:14px;margin-top:3px;border:2px solid #f3d47b;border-radius:50%;background:#e7ad35;box-shadow:0 0 0 4px rgba(231,173,53,.14)}
.route-braking-prefill strong{display:block;color:#fff0bd;font-size:16px}
.route-braking-prefill p{margin:4px 0 0;line-height:1.45;color:#dbe2df}
.route-braking-prefill a{flex:0 0 auto;color:#f2c75f;font-weight:800}
.route-braking-prefill dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0 17px 15px}
.route-braking-prefill dl>div{min-width:0;padding:8px 12px;border-top:1px solid rgba(220,168,66,.32)}
.route-braking-prefill dt{color:#b9c5c4;font-size:11px;font-weight:800;text-transform:uppercase}
.route-braking-prefill dd{margin:0;color:#fff;font-weight:800;overflow-wrap:anywhere}
.route-braking-prefill ul{margin:0;padding:12px 38px 14px;border-top:1px solid #765b27;background:#33271f;color:#ffe7b4}
.route-braking-prefill li+li{margin-top:6px}
.route-braking-prefill[data-state="complete"]{border-left-color:#4d9a73}
.route-braking-prefill[data-state="complete"] .route-braking-prefill__signal{border-color:#bde3cc;background:#4d9a73;box-shadow:0 0 0 4px rgba(77,154,115,.16)}
.route-braking-prefill[data-state="error"]{border-left-color:#b1372f}
.route-braking-prefill[data-state="error"] .route-braking-prefill__signal{border-color:#f1bbb5;background:#b1372f;box-shadow:0 0 0 4px rgba(177,55,47,.16)}
.brake-vehicle-table{border:1px solid #9f895a;border-radius:4px;overflow:hidden}
.brake-vehicle-row{display:grid;grid-template-columns:minmax(250px,1.45fr) minmax(155px,.9fr) minmax(110px,.62fr) minmax(155px,.9fr) minmax(90px,.5fr) minmax(90px,.5fr);gap:10px;align-items:start;padding:14px;border-top:1px solid #c9b98e;background:#fffdf8}
.brake-vehicle-row:first-child{border-top:0}
.brake-vehicle-row--head{padding:10px 14px;background:#132027;color:#f2c75f;font-size:11px;font-weight:800;text-transform:uppercase}
.brake-vehicle-data{display:flex;flex-direction:column;gap:3px}
.brake-vehicle-data strong{font-size:17px;color:#6f1713}
.brake-vehicle-data em{color:#9a2a22;font-style:normal;font-weight:800}
.brake-vehicle-data a{margin-top:5px;color:#6f1713;font-weight:800}
.brake-vehicle-row label{display:flex;flex-direction:column;gap:5px}
.brake-form__confirmations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.brake-form__confirmations>label{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;padding:10px 0}
.brake-form__confirmations input{width:20px;height:20px;margin:1px 0 0}
.brake-form__confirmations span{font-weight:800}
.brake-form__confirmations small{display:block;margin-top:3px;font-weight:400;color:#65584c}
.brake-form>.club-train-button{width:min(100%,460px);margin:18px auto 0}
.brake-form .errorlist{margin:4px 0 0;padding:0;list-style:none;color:#a02119;font-weight:800;font-size:12px}

@media(max-width:980px){
  .brake-result__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brake-result__metrics>div:nth-child(3n){border-right:1px solid #d2bf8c}
  .brake-result__metrics>div:nth-child(2n){border-right:0}
  .brake-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brake-vehicle-row{grid-template-columns:1.3fr 1fr 1fr}
  .brake-vehicle-row--head{display:none}
  .brake-vehicle-data{grid-column:1/-1;padding-bottom:8px;border-bottom:1px solid #d8cbaa}
}
@media(max-width:680px){
  .brake-workspace{padding:24px 14px 52px}
  .brake-workspace__header{align-items:flex-start;padding:22px 18px}
  .brake-workspace__header h1{font-size:32px}
  .brake-workspace__gauge{flex-basis:66px;width:66px;height:66px;border-width:5px}
  .brake-workspace__gauge i{height:24px}
  .brake-safety-notice{grid-template-columns:1fr}
  .brake-consist-list>a{align-items:flex-start;flex-direction:column;gap:11px}
  .brake-result>header,.brake-result>footer{align-items:flex-start;flex-direction:column}
  .brake-section-heading{align-items:flex-start;flex-direction:column;gap:5px}
  .brake-result__metrics{grid-template-columns:1fr}
  .brake-result__metrics>div,.brake-result__metrics>div:nth-child(2n),.brake-result__metrics>div:nth-child(3n){border-right:0}
  .brake-form fieldset{padding:16px 12px}
  .brake-form-grid,.brake-form__confirmations{grid-template-columns:1fr}
  .brake-field--source_reference{grid-column:auto}
  .route-braking-prefill>header{flex-direction:column}
  .route-braking-prefill dl{grid-template-columns:1fr}
  .brake-vehicle-row{grid-template-columns:1fr}
  .brake-vehicle-data{grid-column:auto}
  .brake-history-table-wrap{overflow:visible}
  .brake-history-table{display:block;min-width:0}
  .brake-history-table thead{display:none}
  .brake-history-table tbody,.brake-history-table tr{display:block}
  .brake-history-table tr{border-bottom:1px solid #b98d34}
  .brake-history-table tr:last-child{border-bottom:0}
  .brake-history-table td{display:grid;grid-template-columns:minmax(82px,.38fr) minmax(0,1fr);gap:12px;padding:10px 12px;border-top:0}
  .brake-history-table td::before{content:attr(data-label);color:#6f1713;font-size:11px;font-weight:900;text-transform:uppercase}
  .brake-history-table td[colspan]::before{display:none}
}

@media(max-width:700px){
  .managed-route-technical__table-wrap{overflow:visible}
  .managed-route-technical__table{display:block;min-width:0;background:transparent}
  .managed-route-technical__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  .managed-route-technical__table tbody{display:grid;gap:12px}
  .managed-route-technical__table tr{display:block;border:1px solid #c9b785;background:#fffdf7}
  .managed-route-technical__table td{display:grid;grid-template-columns:minmax(104px,.75fr) minmax(0,1.25fr);gap:10px;padding:9px 10px;border-width:0 0 1px;overflow-wrap:anywhere}
  .managed-route-technical__table td::before{content:attr(data-label);color:#76211a;font-size:10px;font-weight:900;text-transform:uppercase}
  .managed-route-technical__table td:last-child{border-bottom:0}
  .managed-route-technical__table td[colspan]::before{display:none}
}

.club-operation-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:2px 0 18px;padding:10px;border:1px solid rgba(220,168,66,.55);border-radius:5px;background:rgba(8,24,42,.82)}
.club-shortcut-group{min-width:0;padding:10px;border:1px solid rgba(220,168,66,.42);border-radius:4px;background:rgba(255,255,255,.045)}
.club-shortcut-group h2{margin:0 0 8px;color:#f2ce84;font:800 12px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.05em;text-transform:uppercase}
.club-shortcut-group>div{display:flex;flex-wrap:wrap;gap:7px}
.club-operation-shortcuts a{display:inline-flex;align-items:center;min-height:38px;box-sizing:border-box;padding:8px 11px;border:1px solid #dca842;border-radius:3px;background:#f4e6c8;color:#5f1512;font-size:13px;font-weight:800;line-height:1.25;text-decoration:none}
.club-operation-shortcuts a.club-shortcut-priority{border-color:#fff0b2;background:#8e241e;color:#fff7df}
.club-operation-shortcuts a:hover,.club-operation-shortcuts a:focus-visible{background:#7d2119;color:#fff7df}
.club-grid{align-items:start}
.club-panel--events,.club-panel--routes{grid-column:1/-1;grid-row:auto;width:100%;box-sizing:border-box}
.managed-section>summary.club-panel-title{display:grid;grid-template-columns:25px minmax(0,1fr) auto 32px;cursor:pointer;list-style:none}
.managed-section>summary.club-panel-title::-webkit-details-marker,.managed-event-summary::-webkit-details-marker,.managed-route-summary::-webkit-details-marker{display:none}
.managed-section>summary.club-panel-title::after,.managed-event-summary::after,.managed-route-summary::after{content:"+";display:grid;place-items:center;width:28px;height:28px;border:1px solid #e7bd67;border-radius:50%;color:#fff2cf;font:900 20px/1 Arial,sans-serif}
.managed-section[open]>summary.club-panel-title::after,.managed-event-item[open]>.managed-event-summary::after,.managed-route-item[open]>.managed-route-summary::after{content:"−"}
.managed-section-count{white-space:nowrap}
.managed-section-body{min-width:0}
.managed-section-toolbar{display:flex;justify-content:flex-end;padding:10px 14px;border-bottom:1px solid #c6a66b;background:#ead7ad}
.managed-section-toolbar a,.managed-event-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;box-sizing:border-box;padding:8px 11px;border:1px solid #7b1b17;border-radius:3px;background:#7b1b17;color:#fff7e6;font-weight:800;text-decoration:none}
.managed-event-list,.managed-route-list{overflow-anchor:none}
.managed-event-item{display:block;padding:0;overflow:hidden}
.managed-event-item--partner>.managed-event-summary,.managed-event-item--partner[open]>.managed-event-summary{background:#e7e4db;border-left:4px solid #77716a}
.managed-event-item--partner>.managed-event-actions{background:#f0eee7}
.managed-event-copy .managed-partner-label{font-weight:800;color:#4e4942}
.managed-event-summary{display:grid;grid-template-columns:72px minmax(0,1fr) auto 34px;gap:5px 12px;align-items:center;padding:9px;cursor:pointer;list-style:none}
.managed-event-summary::after{grid-column:4;grid-row:1/3;border-color:#8e2a22;color:#701713}
.managed-event-poster{grid-row:1/3;display:grid;place-items:center;width:68px;height:68px;background:#dac49c;font-size:30px}
.managed-event-poster img{width:100%;height:100%;object-fit:contain}
.managed-event-poster--studio{position:relative;overflow:hidden;border:2px solid transparent;text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.managed-event-poster--studio::after{position:absolute;right:2px;bottom:2px;padding:2px 4px;border-radius:3px;background:#711613;color:#fff4dc;content:"Upravit";font-size:9px;font-weight:900;line-height:1.2}
.managed-event-poster--studio:hover,.managed-event-poster--studio:focus-visible{border-color:#dca842;outline:none;transform:scale(1.03)}
.managed-event-copy{display:grid;gap:3px;min-width:0}
.managed-event-copy strong{font:700 18px Georgia,serif;overflow-wrap:anywhere}
.managed-event-copy small{color:#6d5944;overflow-wrap:anywhere}
.managed-event-summary em{grid-column:3;grid-row:1/3;justify-self:end;padding:4px 7px;border-radius:12px;background:#6d1714;color:#fff3d9;font-size:10px;font-style:normal;white-space:nowrap}
.managed-event-actions{display:flex;flex-wrap:wrap;gap:8px;padding:11px 13px;border-top:1px solid #cdb987;background:#f0dfbd}
.managed-event-item[open]>.managed-event-summary,.managed-route-item[open]>.managed-route-summary{background:#f1dfbd}
.managed-route-item{display:block}
.managed-unused-routes{margin:0 14px 14px;border:1px solid #b8955d;border-radius:5px;background:#f3e8cf}
.managed-unused-routes>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;box-sizing:border-box;padding:10px 14px;color:#681512;font-weight:800;cursor:pointer}
.managed-unused-routes>summary span{font-size:13px;text-decoration:underline}
.managed-unused-routes>summary::marker{color:#681512}
.managed-unused-routes[open]>.managed-route-list{padding-top:0}
.managed-route-summary{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:14px;align-items:center;padding:13px;cursor:pointer;list-style:none}
.managed-route-summary>div{display:grid;min-width:0;gap:2px}
.managed-route-summary strong{color:#721613;font:700 19px Georgia,serif;overflow-wrap:anywhere}
.managed-route-summary small{color:#705b43}
.managed-route-summary::after{grid-column:2;grid-row:1;border-color:#8e2a22;color:#701713}
.managed-route-body{min-width:0;border-top:1px solid #cdb987}
.managed-route-actions{display:flex;justify-content:flex-end;padding:11px 13px;background:#f0dfbd}
.managed-route-body>.managed-route-technical{border-top:1px solid #cdb987}
.managed-route-body>.managed-route-technical:first-of-type{border-top:0}

.club-invitations>.club-invitation-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:0 0 12px;border-bottom:1px solid #cdb991}
.club-invitation-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.club-invitation-origin{display:grid;gap:2px;min-width:0}
.club-invitation-origin small{color:#6b5a46;overflow-wrap:anywhere}
.club-invitation-state{flex:0 0 auto;padding:4px 7px;border-radius:3px;background:#e6d5ad;font-size:11px;font-weight:900;text-transform:uppercase}
.club-invitation-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;min-width:0}
.club-invitation-actions button,.club-invitation-actions summary{min-height:38px;box-sizing:border-box;padding:8px 10px;border:1px solid #7b1b17;border-radius:3px;background:#7b1b17;color:#fff7e6;font:800 12px/1.25 Arial,sans-serif;cursor:pointer;list-style:none}
.club-invitation-actions summary::-webkit-details-marker{display:none}
.club-invitation-reveal-form{display:grid;gap:7px;min-width:min(100%,230px)}
.club-invitation-reveal-form input{box-sizing:border-box;width:100%;min-height:38px;padding:7px}
.club-invitation-send[open]{flex:1 1 100%}
.club-invitation-delivery{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:9px;align-items:end;margin-top:9px;padding:10px;border:1px solid #b9975f;background:#fff8e9}
.club-invitation-delivery label{display:grid;gap:4px;min-width:0;font-size:12px;font-weight:800}
.club-invitation-delivery input,.club-invitation-delivery textarea{box-sizing:border-box;width:100%;min-height:42px;padding:8px;border:1px solid #927850;background:#fff}
.club-invitation-delivery textarea{resize:vertical}

@media(max-width:700px){
  .club-operation-shortcuts{grid-template-columns:minmax(0,1fr)}
  .club-operation-shortcuts a{justify-content:center;text-align:center}
  .managed-section>summary.club-panel-title{grid-template-columns:25px minmax(0,1fr) 30px}
  .managed-section-count{display:none}
  .managed-event-summary{grid-template-columns:58px minmax(0,1fr) 32px}
  .managed-event-poster{width:54px;height:54px}
  .managed-event-summary em{grid-column:2;grid-row:auto;justify-self:start}
  .managed-event-summary::after{grid-column:3;grid-row:1/3}
  .managed-event-actions{display:grid;grid-template-columns:1fr 1fr}
  .managed-route-actions{justify-content:stretch}
  .managed-route-edit{width:100%;box-sizing:border-box;text-align:center}
  .club-invitation-delivery{grid-template-columns:1fr}
}
@media(max-width:430px){
  .managed-event-actions{grid-template-columns:1fr}
  .club-invitation-summary{display:grid}
  .club-invitation-state{justify-self:start}
}

.account-notification-preferences{grid-column:1/-1;display:grid;gap:14px;padding-top:8px;border-top:1px solid #b99a63}
.account-notification-preferences h2{margin:0;font:700 25px Georgia,serif}
.account-notification-preferences fieldset{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:14px;border:1px solid #b68b40}
.account-notification-preferences legend{padding:0 7px;color:#651512;font-weight:900}
.account-notification-field{display:grid;grid-template-columns:auto 1fr;gap:5px 9px;align-items:center}
.account-notification-field select{grid-column:1/-1}
.account-notification-field small,.account-notification-field .errorlist{grid-column:1/-1;margin:0}
.member-inbox{width:min(1040px,calc(100% - 32px));margin:0 auto;padding:56px 0 90px}
.member-inbox__header{display:flex;justify-content:space-between;gap:20px;align-items:end;padding-bottom:20px;border-bottom:2px solid var(--gold)}
.member-inbox__header h1{margin:4px 0 0;font:700 46px Georgia,serif}
.member-inbox button{padding:10px 14px;border:1px solid var(--gold);background:#7d2119;color:#fff7df;font:700 15px inherit;cursor:pointer}
.member-inbox__list{display:grid}
.member-inbox__item{padding:22px 18px;border-bottom:1px solid rgba(220,168,66,.45);background:rgba(8,24,42,.82)}
.member-inbox__item--unread{border-left:5px solid var(--gold);background:#17293a}
.member-inbox__item>header,.member-inbox__item>footer{display:flex;justify-content:space-between;gap:18px;align-items:start}
.member-inbox__item h2{margin:4px 0 0;font:700 25px Georgia,serif}
.member-inbox__item header span,.member-inbox__item time,.member-inbox__item footer span{color:#c8d2db}
.member-inbox__item p{max-width:780px;line-height:1.65}
.member-inbox__item footer{align-items:center}
.member-inbox__item a{color:#f1c75d;font-weight:800}
.member-inbox__empty{padding:40px 18px;border-bottom:1px solid var(--gold);background:rgba(8,24,42,.82)}
.member-inbox__empty strong{font:700 25px Georgia,serif}
.member-inbox__pagination{display:flex;justify-content:center;gap:18px;padding:22px}
.member-inbox__pagination a{color:#f1c75d}
@media(max-width:680px){
  .account-notification-preferences fieldset{grid-template-columns:1fr}
  .member-inbox{width:min(100% - 20px,1040px);padding-top:28px}
  .member-inbox__header,.member-inbox__item>header,.member-inbox__item>footer{align-items:stretch;flex-direction:column}
  .member-inbox__header h1{font-size:36px}
  .member-inbox__item{padding:18px 14px}
  .member-inbox__item h2{font-size:22px}
}

.operations-readonly,.route-operations{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:52px 0 90px}
.operations-readonly__hero,.route-operations__header{display:flex;justify-content:space-between;gap:24px;align-items:end;padding-bottom:24px;border-bottom:2px solid var(--gold)}
.operations-readonly__hero h1,.route-operations__header h1{margin:4px 0;font:700 44px Georgia,serif}
.operations-readonly__hero>a,.route-operations__header>a,.operations-routes a,.operations-fleet a{padding:10px 13px;border:1px solid var(--gold);background:#7d2119;color:#fff7df;font-weight:800;text-decoration:none}
.operations-section{padding:34px 0;border-bottom:1px solid rgba(220,168,66,.5)}
.operations-section>header h2,.route-operations h2{margin:0 0 18px;font:700 30px Georgia,serif}
.operations-events,.operations-routes,.operations-fleet{display:grid;gap:14px}
.operations-events>article,.operations-routes>article,.operations-fleet>article{border:1px solid rgba(220,168,66,.7);background:rgba(8,24,42,.86)}
.operations-events>article>header,.operations-routes>article,.operations-fleet>article{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px}
.operations-events h3,.operations-routes h3,.operations-fleet h3{margin:3px 0;font:700 22px Georgia,serif}
.operations-events a,.operations-routes a,.operations-fleet a{color:#f1c75d;font-weight:800}
.operations-rides{display:grid;border-top:1px solid rgba(220,168,66,.45)}
.operations-rides>div{display:grid;grid-template-columns:1.2fr 2fr 1.2fr 1.5fr auto;gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid rgba(220,168,66,.22)}
.operations-rides>div:last-child{border-bottom:0}
.operations-routes>article nav{display:flex;gap:8px;flex-wrap:wrap}
.operations-fleet{grid-template-columns:repeat(2,minmax(0,1fr))}
.operations-fleet>article{display:block}
.operations-fleet dl{display:flex;gap:18px;margin:12px 0 0}.operations-fleet dl div{display:grid}.operations-fleet dt{color:#b7c4cf}.operations-fleet dd{margin:2px 0;font-weight:800}
.route-operations__metrics{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0 34px;border:1px solid var(--gold)}
.route-operations__metrics div{padding:15px;border-right:1px solid rgba(220,168,66,.55);border-bottom:1px solid rgba(220,168,66,.55)}
.route-operations__metrics dt{text-transform:uppercase;color:#f1c75d;font-size:12px;font-weight:900}.route-operations__metrics dd{margin:6px 0 0;font:700 21px Georgia,serif}
.route-operations__attention{margin-bottom:34px}.route-operations__attention>header{display:flex;justify-content:space-between;align-items:center}.route-operations__attention article{padding:15px;border-left:5px solid #dca842;background:#17293a}.route-operations__attention article+article{margin-top:8px}.route-operations__attention article[data-severity=critical]{border-left-color:#d84b45}.route-operations__attention article[data-severity=warning]{border-left-color:#e28b38}.route-operations__attention article>div{display:flex;justify-content:space-between;gap:15px}.route-operations__attention article p{margin:7px 0 0}.route-operations__table-wrap{overflow-x:auto;border:1px solid var(--gold)}.route-operations table{width:100%;border-collapse:collapse;background:#f7efd9;color:#28160f}.route-operations th,.route-operations td{padding:10px;text-align:left;border-bottom:1px solid #c9ad70}.route-operations th{background:#17232c;color:#f2c85b;text-transform:uppercase;font-size:12px}.route-operations>footer{margin-top:24px;color:#b9c5cf}
.route-operations__external-data{margin-top:34px}.route-operations__external-data>header{padding-bottom:12px;border-bottom:1px solid var(--gold)}.route-operations__external-data h2{margin:4px 0;font:700 28px Georgia,serif}.route-operations__external-list{display:grid;gap:9px;margin-top:12px}.route-operations__external-list>article,.route-operations__external-list>details{padding:14px;border-left:4px solid var(--gold);background:#17293a}.route-operations__external-list article>div{display:flex;justify-content:space-between;gap:16px}.route-operations__external-list article p{margin:7px 0}.route-operations__external-list article small,.route-operations__external-list article a{display:block;margin-top:7px}.route-operations__external-list article a{color:#f2c85b}.route-operations__external-list summary{cursor:pointer;font-weight:900}.route-operations__external-list summary small{margin-left:8px;color:#b9c5cf}.route-operations__external-list details h3{margin:14px 0 5px;font-size:15px}.route-operations__external-list details ul{margin:0;padding-left:22px}.route-operations__stale{padding:8px;border-left:3px solid #e28b38;background:#203242}
@media(max-width:850px){.operations-rides>div{grid-template-columns:1fr}.operations-fleet{grid-template-columns:1fr}.route-operations__metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.operations-readonly,.route-operations{width:min(100% - 20px,1180px);padding-top:28px}.operations-readonly__hero,.route-operations__header,.operations-events>article>header,.operations-routes>article{align-items:stretch;flex-direction:column}.operations-readonly__hero h1,.route-operations__header h1{font-size:34px}.route-operations__metrics{grid-template-columns:1fr}}
.event-preview-banner{position:sticky;z-index:1200;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px max(18px,calc((100vw - 1320px)/2));border-bottom:2px solid #e2b64f;background:#42110e;color:#fff8e9;box-shadow:0 10px 24px rgba(0,0,0,.24)}.event-preview-banner div{display:grid;gap:2px}.event-preview-banner strong{font:700 18px Georgia,serif}.event-preview-banner span{font-size:13px}.event-preview-banner a{flex:0 0 auto;padding:9px 13px;border:1px solid #e2b64f;border-radius:3px;background:#f5e8c8;color:#54140f;font-weight:900;text-decoration:none}.event-experience[data-event-preview="1"] .booking-panel[aria-disabled="true"]{opacity:.78}.event-experience[data-event-preview="1"] .event-interest,.event-experience[data-event-preview="1"]+.event-mobile-booking{display:none}@media(max-width:680px){.event-preview-banner{position:relative;align-items:flex-start;flex-direction:column}.event-preview-banner a{width:100%;box-sizing:border-box;text-align:center}}
.club-sandbox-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;padding:14px 16px;border:1px solid #d6a83e;border-left:5px solid #d6a83e;background:#f4e6c5;color:#42120d}.club-sandbox-banner div{display:grid;gap:3px}.club-sandbox-banner strong{font:700 20px Georgia,serif}.club-sandbox-banner span,.club-sandbox-banner small{line-height:1.45}.club-sandbox-banner a{padding:8px 11px;border:1px solid #7c2018;border-radius:3px;background:#7c2018;color:#fff8e9;font-weight:900;text-decoration:none}@media(max-width:680px){.club-sandbox-banner{align-items:flex-start;flex-direction:column}.club-sandbox-banner a{width:100%;box-sizing:border-box;text-align:center}}
.managed-event-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0; }
.managed-event-filters a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--gold, #d4aa43); border-radius: 6px; color: inherit; text-decoration: none; }
.managed-event-filters a[aria-current="page"] { background: #f3e5bc; color: #5c1e12; font-weight: 700; }
.managed-event-filters a span { font-variant-numeric: tabular-nums; }
.managed-event-filter-help { margin: 8px 0 16px; }
.managed-route-body [data-route-archive] { padding: 12px; }
.managed-route-body [data-route-archive] button, .managed-route-body [data-route-sharing] button { width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--gold, #d4aa43); border-radius: 6px; background: #f3e5bc; color: #5c1e12; font: inherit; font-weight: 700; cursor: pointer; }
.managed-route-body [data-route-archive] button:focus-visible, .managed-route-body [data-route-sharing] button:focus-visible { outline: 3px solid #5c1e12; outline-offset: 2px; }

.club-panel.route-copy-panel, .club-panel.route-delete-panel { padding: clamp(14px, 3vw, 24px); }

.fare-workshop button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  box-sizing: border-box;
  padding: 10px 16px;
  border: 1px solid #dca842;
  border-radius: 4px;
  background: #821d18;
  color: #fff7e5;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.fare-workshop button:hover,.fare-workshop button:focus-visible{background:#a22922}
.fare-workshop button:disabled{cursor:not-allowed;opacity:.55}
.fare-default-panel { padding: clamp(16px, 3vw, 24px); }
.fare-default-panel form { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; }
.fare-default-panel label { display: grid; gap: 6px; min-width: 0; flex: 1 1 280px; }
.fare-default-panel select { width: 100%; max-width: 100%; }
.fare-default-panel button { flex: 0 0 auto; max-width: 100%; }
.fare-feature-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px}
.fare-feature-toggle form{flex:0 0 auto}
@media(max-width:700px){.fare-feature-toggle{align-items:stretch;flex-direction:column}.fare-feature-toggle button{width:100%}}
[data-route-delete-review] button { min-height: 44px; padding: 10px 18px; border: 1px solid var(--gold, #d4aa43); border-radius: 6px; background: #74180f; color: #fff6df; font: inherit; font-weight: 700; cursor: pointer; }
[data-route-delete-review] button:focus-visible { outline: 3px solid #d4aa43; outline-offset: 3px; }
.route-delete-panel, .route-copy-panel { overflow-wrap: anywhere; }
[data-route-copy] button { min-height: 44px; padding: 10px 18px; border: 1px solid var(--gold, #d4aa43); border-radius: 6px; background: #74180f; color: #fff6df; font: inherit; font-weight: 700; cursor: pointer; }
[data-route-copy] button:focus-visible { outline: 3px solid #d4aa43; outline-offset: 3px; }
[data-route-copy] input:not([type="hidden"]) { display: block; width: 100%; max-width: 42rem; box-sizing: border-box; }
.managed-event-drafts { min-width: 0; }
.managed-event-draft { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 8px 0; padding: 14px; border: 1px dashed var(--gold, #d4aa43); border-radius: 6px; }
.managed-event-draft div { min-width: 0; flex: 1 1 220px; overflow-wrap: anywhere; }
.managed-event-draft small { display: block; margin-top: 6px; }
.managed-event-draft a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; }

