:root{--gold:#c49a29;--deep:#9b7519;--cream:#fff9eb;--ink:#24211c;--muted:#716b60;--line:#e9dfc6}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,a{font:inherit}button{cursor:pointer}header{height:76px;background:linear-gradient(115deg,#ac7d16,#e2bb59,#b88718);display:flex;align-items:center;gap:18px;padding:0 max(18px,calc((100vw - 1100px)/2));color:white;box-shadow:0 3px 10px #ab8a3b24}.menu-btn{border:0;background:none;color:white;font-size:27px}.brand{display:flex;align-items:center;gap:11px;flex:1}.brand img{height:48px;width:48px;object-fit:contain;border-radius:50%;background:white}.brand strong{font-size:18px;letter-spacing:1px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:4px}.login-btn{background:#fff;color:#936a0f;border:0;border-radius:8px;padding:12px;font-weight:bold;font-size:12px}main{max-width:1100px;margin:auto;min-height:calc(100vh - 135px);padding:24px 18px 65px}.page{display:none}.page.active{display:block}.page h1{font-size:30px;font-weight:500;margin:4px 0 26px}.page-heading{display:flex;justify-content:space-between;align-items:center}.page-heading span{font-size:10px;letter-spacing:1px;color:var(--deep)}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 0 16px}.section-heading h2{font-size:23px;font-weight:500;margin:0}.section-heading button,.section-heading a{border:0;background:none;color:var(--deep);text-decoration:none}.news-row{display:flex;gap:16px;overflow-x:auto;padding:6px 0 24px}.news-row button{min-width:142px;border:0;background:white;font-size:13px;font-weight:600;text-align:center}.news-row span{width:104px;height:104px;border-radius:50%;border:3px solid var(--gold);background:linear-gradient(140deg,#fff6dc,#ead093);display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 14px}.feature-area{background:#f8f7f5;padding:4px 18px 24px;margin:12px -18px 28px}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.event-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}.event-image{height:145px;background:linear-gradient(130deg,#b88a23,#f7e9bf);display:flex;align-items:center;justify-content:center;font-size:58px}.event-info{padding:15px}.event-info h3{margin:0 0 12px;font-size:18px}.event-info p{font-size:13px;color:var(--muted);line-height:1.5}.gold-btn{border:0;background:var(--gold);color:#fff;padding:12px 18px;border-radius:8px;font-size:12px;font-weight:bold;text-decoration:none;display:inline-block;text-align:center}.next-card,.video-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 3px 15px #00000010;display:flex;align-items:center;gap:20px;padding:22px;margin:16px 0}.next-icon{background:#fff4d7;border-radius:14px;padding:23px;font-size:35px}.next-card div:nth-child(2),.video-card div{flex:1}.next-card h3,.video-card h3{margin:8px 0}.next-card small,.next-card p,.video-card p,.muted{color:var(--muted)}.video-icon{color:#b71916;font-size:40px}.overlay{display:none;position:fixed;inset:0;background:#0007;z-index:5}.overlay.show{display:block}.drawer{position:fixed;left:0;top:0;bottom:0;width:min(330px,85vw);background:#fff;z-index:6;transform:translateX(-102%);transition:transform .23s;box-shadow:5px 0 25px #0002;overflow-y:auto}.drawer.open{transform:translateX(0)}.drawer-brand{display:flex;align-items:center;gap:10px;padding:18px 16px;border-bottom:1px solid var(--line);color:var(--deep)}.drawer-brand img{width:44px;height:44px;object-fit:contain}.drawer-brand strong{font-size:13px;flex:1}.drawer-brand button{background:none;border:0;font-size:27px;color:var(--deep)}nav button{width:100%;border:0;background:#fff;display:flex;gap:17px;align-items:center;text-align:left;padding:16px 20px;color:var(--ink)}nav button.selected{background:#f6eed9}nav .nav-icon{font-size:20px;color:var(--deep);width:25px}.drawer-foot{display:block;padding:24px 16px;color:#999}.panel,.calendar-box{padding:25px;border:1px solid var(--line);border-radius:14px;background:var(--cream);margin:18px 0}.panel h2{margin-top:0}.panel p{line-height:1.6}.disabled-btn{display:block;width:100%;border:1px solid #ddd;background:#eee;color:#777;padding:14px;margin:10px 0;border-radius:8px}.calendar-top{display:flex;justify-content:space-between;align-items:center}.calendar-top button{border:1px solid var(--line);background:white;padding:8px 16px;border-radius:8px;font-size:24px}.calendar-top h2{font-size:20px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-grid span,.calendar-grid button{text-align:center;padding:12px 2px;border:0;background:white;border-radius:6px}.calendar-grid .weekday{background:transparent;font-weight:bold;color:var(--deep)}.calendar-grid .today{border:2px solid var(--gold)}.poll-option{display:block;padding:15px;background:white;border:1px solid var(--line);border-radius:8px;margin:10px 0}.full{width:100%;margin-top:10px}footer{background:var(--gold);text-align:center;color:white;padding:20px;font-size:11px;letter-spacing:2px}@media(max-width:650px){header{height:68px;padding:0 15px;gap:10px}.brand strong{font-size:13px}.brand small{font-size:8px}.brand img{height:40px;width:40px}.login-btn{font-size:9px;padding:10px}.event-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.event-card{min-width:72%;scroll-snap-align:start}.next-card,.video-card{flex-wrap:wrap;gap:12px;padding:16px}.next-card .gold-btn,.video-card .gold-btn{width:100%}.page-heading span{max-width:115px;text-align:right}.news-row button{min-width:120px}.news-row span{width:90px;height:90px}}

/* Header tagline update */
.brand span{min-width:0}.brand small{letter-spacing:.2px;font-size:11px;line-height:1.25;max-width:420px}@media(max-width:650px){.brand small{font-size:9px;max-width:210px;line-height:1.2;letter-spacing:0}}

/* Trojan War booking interface V2 */
.home-war-card{display:flex;flex-direction:column;min-width:0;text-align:left;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;padding:0;color:var(--ink)}
.home-war-art{height:135px;background:linear-gradient(135deg,#b88a23,#f7e9bf);display:flex;align-items:center;justify-content:center;font-size:54px}
.home-war-body{display:flex;flex-direction:column;gap:9px;padding:17px}.home-war-body strong{font-size:19px}.home-war-body small{color:var(--muted)}.home-war-body>span{font-size:12px;color:var(--deep);font-weight:bold}
.war-list-card{background:white;border:1px solid var(--line);border-radius:14px;padding:17px;display:flex;gap:16px;align-items:center;margin:14px 0;box-shadow:0 2px 12px #0000000a}
.war-date-tile{width:118px;min-width:118px;background:#fff4d6;border:1px solid #e9d3a0;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 8px;color:#956c11}.war-date-tile span{font-weight:bold;font-size:17px}.war-date-tile small{margin-top:6px}
.war-card-body{flex:1}.war-card-body small,.war-card-body p{color:var(--muted)}.war-card-body h3{margin:7px 0;font-size:18px}.war-card-body p{margin:6px 0;font-size:13px}.war-status{display:inline-block;color:#9b7519;font-size:11px;font-weight:bold;margin-top:5px}.war-status.is-booked{color:#18734b}
.war-detail-panel{background:var(--cream);border:2px solid var(--gold);border-radius:16px;padding:24px;margin:25px 0;scroll-margin-top:15px}.detail-top{display:flex;justify-content:space-between;align-items:center;color:var(--deep);font-weight:bold;font-size:12px;letter-spacing:1px}.detail-close{border:0;background:none;font-size:28px;color:var(--deep)}.war-detail-panel h2{margin:18px 0}.detail-rows p{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 0;margin:0}.detail-rows span{text-align:right}.demo-note{font-size:12px;color:#8d6512;background:#fff1c9;padding:12px;border-radius:8px}.calendar-grid .war-day{background:#f2d487;color:#4a3200;font-weight:bold}.calendar-grid .booked-day{background:#d8f2e6;color:#16603c}
@media(max-width:650px){.home-war-card{min-width:74%;scroll-snap-align:start}.war-list-card{flex-wrap:wrap}.war-date-tile{width:88px;min-width:88px;padding:15px 5px}.war-date-tile span{font-size:13px}.war-card-body h3{font-size:15px}.war-list-card>.gold-btn{width:100%}.war-detail-panel{padding:17px}}

/* V3: Showsec-inspired event discovery, original gold/white Trojan branding */
.war-filters{display:flex;gap:10px;margin:14px 0 22px}.war-filters input,.war-filters select{border:1px solid #dccb9e;border-radius:9px;padding:13px;background:white;min-width:0}.war-filters input{flex:1}.war-filters select{max-width:180px}.poster-card{position:relative;min-height:225px;border-radius:14px;overflow:hidden;margin:16px 0 24px;background:linear-gradient(140deg,#241b12,#8e6415 55%,#e8b743);box-shadow:0 3px 12px #0002;color:white;padding:23px;display:flex;flex-direction:column;justify-content:space-between}.poster-card:before{content:'TG';position:absolute;right:-18px;top:10px;font-size:165px;font-weight:900;color:#fff2;transform:rotate(-12deg);pointer-events:none}.poster-card h2{font-size:24px;margin:5px 0}.poster-card p{margin:7px 0}.poster-card .poster-head,.poster-card .poster-foot{position:relative;z-index:1}.poster-card .poster-foot{display:flex;justify-content:space-between;align-items:end;gap:10px}.poster-card button{border:0;background:#fff;color:#78550e;padding:13px 19px;border-radius:8px;font-weight:bold}.poster-card .info-round{border:2px solid #fff9;border-radius:50%;width:43px;height:43px;background:#fff3;color:white;font-weight:bold;font-size:23px}.detail-hero{background:linear-gradient(125deg,#332410,#b88a23,#e8c875);min-height:180px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:white;font-size:48px;font-weight:bold;letter-spacing:6px}.detail-section{margin:20px 0;border-bottom:1px solid #e9dfc6;padding-bottom:15px}.detail-section h3{margin:0 0 8px}.booking-bottom{position:sticky;bottom:0;background:#fff;padding:12px 0;z-index:2}.booking-success{background:#e8f7ed;color:#236b40;padding:12px;border-radius:9px;margin:12px 0}.booked-banner{border-left:5px solid #32935a}.demo-note{line-height:1.5}@media(max-width:650px){.poster-card{min-height:240px}.war-filters{flex-direction:column}.war-filters select{max-width:none}.detail-hero{min-height:135px;font-size:35px}}

/* V4 registration gate — keeps the V3 website styling intact */
.auth-gate{min-height:calc(100vh - 85px);background:#fffaf0;padding:32px 14px;display:flex;justify-content:center;align-items:flex-start}.auth-box{background:#fff;border:1px solid #e6d4a5;border-radius:18px;box-shadow:0 12px 35px #49330015;width:min(100%,510px);padding:24px}.auth-brand{text-align:center}.auth-brand img{width:86px;height:86px;object-fit:contain;border-radius:50%}.auth-brand h1{font-size:24px;margin:8px 0;color:#a77a0e}.auth-brand p{font-size:12px;color:#77694c}.auth-tabs{display:flex;gap:8px;margin:24px 0 14px}.auth-tabs button{flex:1;padding:13px 8px;border:1px solid #d9b35a;border-radius:9px;background:white;color:#87640e;font-weight:700;cursor:pointer}.auth-tabs button.selected{background:#d4a017;color:white}.auth-warning{background:#fff2d2;border-radius:9px;padding:11px;color:#795c1c;font-size:12px;line-height:1.5}.auth-form{display:grid;gap:13px;margin-top:18px}.auth-form[hidden],#authGate[hidden],#websiteMain[hidden],#websiteFooter[hidden]{display:none!important}.auth-form label{display:grid;gap:5px;color:#4a3b20;font-size:13px;font-weight:600}.auth-form input,.auth-form select{box-sizing:border-box;width:100%;border:1px solid #dacba8;border-radius:8px;padding:12px;font-size:15px;background:white;color:#252018}.auth-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.verify-row{display:flex;gap:8px}.verify-row input{flex:1;min-width:0}.verify-row button{background:#fff2d2;border:1px solid #d4a017;border-radius:8px;color:#74510b;padding:0 12px;cursor:pointer;white-space:nowrap}.auth-message{font-size:13px;color:#9b5312;min-height:18px}.auth-box .gold-btn{border:0;cursor:pointer;padding:13px}.auth-form .muted{font-size:12px}@media(max-width:440px){.auth-box{padding:16px}.auth-gate{padding:14px 8px}.verify-row button{font-size:12px;padding:0 8px}}

/* V9 admin dashboard: existing theme retained */
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.admin-tile{border:1px solid #e9d6a5;border-radius:13px;padding:15px;background:#fffaf0}.admin-tile p{color:#6b6253;font-size:13px}.admin-tile .gold-btn{font-size:12px;padding:10px 13px}@media(max-width:520px){.admin-grid{grid-template-columns:1fr}}

/* V11 admin player list */
.players-search{width:100%;border:1px solid #dacba8;border-radius:9px;padding:13px;margin:8px 0 12px;font-size:14px}.players-table-scroll{overflow-x:auto;border:1px solid #e8d9b6;border-radius:11px;background:#fff}.players-table{border-collapse:collapse;width:100%;min-width:730px;font-size:13px}.players-table th{background:#aa1717;color:white;text-align:left;padding:12px 10px;white-space:nowrap}.players-table td{padding:10px;border-bottom:1px solid #eee7d7}.players-table tbody tr:nth-child(even){background:#fff9eb}.profile-open{display:inline-block;background:#f4ba21;color:#342508;text-decoration:none;padding:9px 11px;border-radius:5px;font-size:11px;font-weight:bold;white-space:nowrap}.sample-flag{color:#98752a;font-size:10px}.players-table td:nth-child(1){text-align:center}

#contactMessage{box-sizing:border-box;width:100%;padding:12px;border:1px solid #d6c7a3;border-radius:9px;font:inherit;resize:vertical}.inbox-item{background:white;border:1px solid #e4d5b0;border-radius:12px;padding:16px;margin:12px 0;overflow-wrap:anywhere}.inbox-item p{margin:10px 0}.inbox-message{white-space:pre-wrap;background:#fff8e9;padding:12px;border-radius:8px}

/* V13 Contact Us threaded reply demo */
.contact-replies{margin-top:24px}.contact-replies h2{margin:0 0 12px}.admin-reply{border-left:4px solid #c99830;background:#fff7e5;border-radius:7px;padding:12px 14px;margin:12px 0}.admin-reply p{margin:6px 0}.admin-reply-form{margin-top:14px;display:grid;gap:10px}.admin-reply-form label{display:grid;gap:8px;font-weight:600}.admin-reply-form textarea{width:100%;box-sizing:border-box;min-height:82px;border:1px solid #d5c6a5;border-radius:8px;padding:11px;font:inherit;resize:vertical}.admin-reply-form button{justify-self:start}.inbox-actions{margin-top:10px}

/* V14 connected News & Announcements local prototype */
.home-news-preview{display:grid;gap:12px;margin:12px 0 24px}.tg-news-card{border:1px solid #e8d9bf;background:#fff;border-radius:14px;padding:18px;margin:12px 0;box-shadow:0 2px 9px #6b4a1312}.tg-news-author{display:flex;align-items:center;gap:12px}.tg-news-author img{height:42px;width:42px;object-fit:contain}.tg-news-author small,.tg-admin-news-row small{display:block;color:#897b6d;margin-top:4px}.tg-news-card h3{margin:18px 0 8px;font-size:19px}.tg-news-body{white-space:pre-wrap;line-height:1.55}.tg-news-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px;padding-top:12px;border-top:1px solid #eee5d5}.tg-news-actions button,.tg-admin-news-row button,#tgNewsReset{border:1px solid #d7bd8b;background:#fffaf0;color:#805016;border-radius:8px;padding:9px 13px;cursor:pointer}.tg-news-actions button[aria-pressed=true]{background:#ffedc4;color:#a62c28}.tg-comment-area{margin-top:15px}.tg-comment{border-bottom:1px solid #eee;padding:8px 0}.tg-comment p{margin:4px 0;white-space:pre-wrap}.tg-comment-form,.tg-news-admin-form{display:grid;gap:10px;margin-top:12px}.tg-comment-form input,.tg-comment-form textarea,.tg-news-admin-form input,.tg-news-admin-form textarea,.tg-news-admin-form select{width:100%;padding:12px;border:1px solid #dac8a8;border-radius:8px;font:inherit;box-sizing:border-box}.tg-news-admin-form label{display:grid;gap:6px}.tg-admin-news-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid #eadfc9}.tg-admin-news-row>div:last-child{display:flex;gap:6px}.home-news-preview .tg-news-body{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* V18 player profile: original theme preserved */
.tg-profile-card{max-width:760px}.tg-id-card{background:#fff5db;border:1px solid #ddbb66;border-radius:12px;text-align:center;padding:18px;margin-bottom:20px}.tg-id-card small{color:#896521;letter-spacing:1px;font-weight:700}.tg-id-card h2{color:#a87912;margin:8px 0;font-size:28px}.tg-profile-card h3{color:#a17a23;margin-top:23px}.tg-profile-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #eee5d4;padding:14px 4px;flex-wrap:wrap}.tg-profile-row>span:first-child{min-width:145px;color:#60584a}.tg-profile-row strong{flex:1;overflow-wrap:anywhere}.tg-profile-row button{background:#d8a327;color:#211806;border:0;border-radius:6px;padding:8px 13px;font-weight:700;cursor:pointer}.tg-lock{color:#aa9b81}

.tg-video-item{display:flex;gap:16px;align-items:center;padding:14px 2px;border-bottom:1px solid #eee3ce;text-decoration:none;color:#2b2925}
.tg-video-cover{position:relative;width:195px;max-width:42%;flex-shrink:0;aspect-ratio:16/9;background:#eee;border-radius:9px;overflow:hidden}
.tg-video-cover img,.tg-home-episode img{width:100%;height:100%;object-fit:cover}
.tg-video-cover>span{position:absolute;bottom:6px;right:7px;background:#000b;color:white;padding:4px 8px;border-radius:5px}
.tg-video-details{display:flex;flex-direction:column;gap:10px}.tg-video-details strong{font-size:16px;line-height:1.35}.tg-video-details small,.tg-home-episode small{color:#777}
.tg-home-episodes{margin:10px 0 18px}.tg-home-episode{display:flex;align-items:center;gap:14px;background:#fff8e9;border:1px solid #ead7aa;padding:12px;border-radius:12px;color:#2d2922;text-decoration:none}
.tg-home-episode img{width:140px;aspect-ratio:16/9;border-radius:7px}.tg-home-episode span{display:flex;flex-direction:column;gap:6px}
.tg-video-form{display:grid;gap:12px}.tg-video-form label{display:grid;gap:5px}.tg-video-form input{padding:10px;border:1px solid #d7c59c;border-radius:7px;width:100%}
.tg-admin-video{display:flex;align-items:center;gap:10px;border-bottom:1px solid #eee;padding:10px 0}.tg-admin-video img{width:90px;aspect-ratio:16/9;object-fit:cover}.tg-admin-video span{flex:1}.tg-admin-video button{padding:7px}
@media(max-width:560px){.tg-video-cover{width:135px}.tg-video-details strong{font-size:14px}.tg-home-episode img{width:105px}}

/* V21: Homepage latest card plus expandable full episode list */
.tg-home-all-episodes{margin:14px 0 22px;padding:15px;background:#fffdf8;border:1px solid #e8d5ad;border-radius:12px}
.tg-home-all-episodes[hidden]{display:none!important}
.tg-home-all-episodes h3{margin:0 0 12px}

/* V22 Showsec-inspired payroll UI */
.payroll-head{background:linear-gradient(125deg,#754111,#c38b2d);color:white;padding:22px 20px;border-radius:14px;margin-bottom:18px}.payroll-head h1{color:white;margin:0}.payroll-head-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.payroll-head-row .gold-btn{background:#fff;color:#80500b;font-size:12px;padding:11px}.payroll-head p{color:#fff1d8}.payroll-metrics{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.payroll-metrics>div{display:flex;flex-direction:column;gap:7px}.payroll-metrics small{color:#fff1d8}.payroll-metrics strong{font-size:24px}.payroll-months{display:flex;overflow-x:auto;gap:10px;padding:8px 0 16px}.payroll-month{border:1px solid #e7d8b4;border-radius:9px;background:#fff;padding:13px 16px;white-space:nowrap;cursor:pointer}.payroll-month.selected{background:#a96d20;color:#fff}.payroll-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:#fff8e9;padding:15px;border-radius:12px;margin-bottom:18px}.payroll-summary>div{display:flex;flex-direction:column;gap:5px}.payroll-summary small{color:#8b785a}.payroll-war{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:white;border:1px solid #e7dcc6;border-radius:12px;padding:17px;margin:12px 0}.payroll-war h3{margin:8px 0}.payroll-war p,.payroll-war small{color:#8a8175}.payroll-war-amount{display:flex;flex-direction:column;align-items:flex-end;gap:10px;white-space:nowrap}.pay-status{font-size:12px;border-radius:20px;padding:5px 10px;background:#f5e9c3}.pay-status.approved{background:#d5f3df;color:#176532}.pay-status.absent{background:#ffe0dd;color:#a52e25}.payroll-admin-record{display:flex;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid #ddd}.payroll-admin-record button{cursor:pointer}


/* V24: simple booked and approved calendar states */
#calendar .booked-day{background:#21864a!important;color:#fff!important;border:1px solid #176338!important;border-radius:9px;position:relative;font-weight:800}
#calendar .booked-day.today{box-shadow:0 0 0 2px #e6bb5b inset}
#calendar .calendar-approved{background:#18743b!important;display:flex;align-items:center;justify-content:center;gap:3px;flex-wrap:wrap}
#calendar .calendar-pay-tick{font-size:13px;font-weight:900;color:#fff;line-height:1}

/* V25 calendar numbers: prevent the generic calendar span style from painting white blocks over dates. */
#calendar > span { min-width:0; min-height:46px; display:flex; align-items:center; justify-content:center; padding:8px 2px; font-size:15px; line-height:1.2; }
#calendar > span > span { display:inline; background:transparent!important; border:0!important; padding:0!important; margin:0!important; min-width:0!important; min-height:0!important; border-radius:0!important; color:inherit!important; text-align:center; }
#calendar > span.calendar-approved { gap:4px; flex-wrap:nowrap; }
#calendar > span > span.calendar-pay-tick { color:#fff!important; font-size:15px; }
#calendar > span.weekday { background:transparent; min-height:35px; }

/* V26: Calendar legend */
.calendar-legend{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;padding:18px 6px 4px;margin-top:14px;border-top:1px solid #e9e2d6}
.calendar-legend-item{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:#37332e}
.calendar-legend-swatch{height:22px;width:27px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;flex-shrink:0;border:1px solid #dedede}
.calendar-legend-available{background:#fff}
.calendar-legend-booked,.calendar-legend-cleared{background:#21864a;border-color:#176338;color:#fff}
.calendar-legend-cleared span{font-size:16px;line-height:1;font-weight:900}

/* V27 Trojan Wars tabs */
.trojan-war-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 20px}
.tg-war-tab{border:1px solid #d6b76c;background:#fff;color:#674915;border-radius:9px;padding:12px 16px;font-weight:700;cursor:pointer;font:inherit}
.tg-war-tab.active{background:#bd862f;color:#fff;border-color:#bd862f;font-weight:700}
.tg-war-tab:focus-visible{outline:3px solid #3a8d63;outline-offset:2px}
.home-war-tab-panel[hidden],#warPageUpcoming[hidden],#warPageBookings[hidden],#warPageHistory[hidden]{display:none!important}
@media(max-width:600px){.trojan-war-tabs{gap:6px}.tg-war-tab{padding:10px 9px;font-size:12px}}

/* V28: three independent Trojan Wars home shortcuts, always visible */
.tg-home-war-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:16px 0 26px}
.tg-home-war-tile{background:#fff;border:1px solid #e7d4aa;border-radius:15px;box-shadow:0 4px 16px #53320a12;padding:24px 12px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;cursor:pointer;text-align:center;min-height:185px;color:#2c251b;font:inherit;transition:transform .15s,border-color .15s}
.tg-home-war-tile:hover{border-color:#c58a32;transform:translateY(-2px)}
.tg-home-war-tile:focus-visible{outline:3px solid #21864a;outline-offset:2px}
.tg-home-war-emoji{font-size:35px;line-height:1.2}
.tg-home-war-tile strong{font-size:17px}
.tg-home-war-tile small{color:#7b7264;font-size:12px}
.tg-tile-action{color:#a77321;font-size:11px;font-weight:800;letter-spacing:.04em;margin-top:7px}
.tg-back-home{border:1px solid #ddc38c;border-radius:9px;background:#fff;color:#88601d;padding:10px 15px;cursor:pointer;margin-bottom:15px;font:inherit}
@media(max-width:620px){.tg-home-war-grid{gap:7px}.tg-home-war-tile{min-height:150px;padding:15px 5px}.tg-home-war-emoji{font-size:28px}.tg-home-war-tile strong{font-size:12px}.tg-home-war-tile small{font-size:10px}.tg-tile-action{font-size:9px}}

/* V29: registered Town Hall rate in upcoming war details */
.tg-pay-detail{background:#fff9ec;border-left:3px solid #c9973d;padding:9px 12px;border-radius:6px}
.tg-pay-amount{color:#18703c;font-weight:800}
.tg-card-pay{color:#6d501b;font-size:13px;margin:7px 0}

/* V30 booking confirmation rate */
.booking-pay-summary{border:1px solid #dfc997;background:#fffaf0;border-radius:10px;padding:14px;margin:0 0 12px;color:#3b3328}.booking-pay-summary>div{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.booking-pay-summary strong{font-size:14px}.booking-pay-summary span{font-weight:700;text-align:right}.booking-pay-summary .tg-pay-amount{color:#19733d;font-size:17px}.booking-pay-summary small{display:block;color:#6e6658;font-size:12px}

/* V33 admin stars and individual rates */
.tg-admin-star{font-size:26px;line-height:1;color:#b47e19;background:transparent;border:0;cursor:pointer;padding:4px 9px}
.tg-admin-star[aria-pressed="true"]{color:#d69d20;text-shadow:0 0 2px #ab6c0b}
.admin-pay-person{padding:16px;margin:12px 0;border:1px solid #dec995;border-radius:12px;background:#fff}
.admin-pay-person h3{margin:0 0 12px}
.admin-pay-person p{overflow-wrap:anywhere}
.admin-person-rate-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px}
.admin-person-rate-form label{display:grid;gap:5px}
.admin-person-rate-form input{padding:10px;border:1px solid #bfa976;border-radius:7px;max-width:190px}
.admin-reset-rate{border:1px solid #bfa976;border-radius:7px;padding:10px;background:#fff;cursor:pointer}

/* V35: Admin Dashboard always uses a single vertical column. */
#Admin\ Dashboard .admin-grid, .admin-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%;}
.admin-grid>.admin-tile{width:100%;box-sizing:border-box;}

/* V37 war management form */
#manageWarForm{display:grid;gap:12px;max-width:720px}
#manageWarForm label{display:grid;gap:6px;font-weight:600}
#manageWarForm input,#manageWarForm select,#manageWarForm textarea{padding:11px;border:1px solid #d5c4a2;border-radius:8px;width:100%;box-sizing:border-box}
.war-email-preview{white-space:pre-wrap;overflow-wrap:anywhere;padding:15px;background:#faf5e9;border:1px solid #d5c4a2;border-radius:9px}

/* V38: login first, registration link underneath */
.auth-mode-heading{text-align:center;color:#a77a0e;font-size:21px;margin:24px 0 8px}
.auth-switch{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;margin:17px 0 4px;font-size:14px;color:#64583e}
.auth-switch button{background:transparent;border:0;color:#9c6b06;text-decoration:underline;font-size:14px;font-weight:800;cursor:pointer;padding:7px}
.auth-switch button:focus-visible{outline:2px solid #b88422;border-radius:5px}

/* V42 fixed war rules */
.tg-fixed-rules{padding-left:24px;line-height:1.7;margin:12px 0}.tg-fixed-rules li{padding:4px 0}.detail-section a{color:#a16b13;text-decoration:underline;overflow-wrap:anywhere}

.tg-clan-link-top{margin:10px 0 16px;padding:12px 14px;background:#fff5df;border:1px solid #dfc187;border-radius:9px}

/* RS Payroll bulk approval */
.rs-select-label{display:grid;gap:7px;font-weight:700;max-width:620px;margin:14px 0}.rs-select-label select{padding:12px;border:1px solid #d3b984;border-radius:8px;background:#fff}.rs-pay-table td,.rs-pay-table th{padding:12px}.rs-pay-table input[type=checkbox]{width:19px;height:19px;accent-color:#19864b}.rs-pay-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

/* V47 RS Payroll rows and live total */
.rs-war-list{display:flex;flex-direction:column;gap:9px;margin:15px 0}
.rs-war-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:15px 18px;border:1px solid #ddc69b;border-radius:11px;background:#fff;color:#594320;text-align:left;cursor:pointer}
.rs-war-row span:first-child{display:flex;flex-direction:column;gap:5px}
.rs-war-row small{font-size:12px;color:#786f61}
.rs-war-row-active{background:#fff4df;border-color:#ba862e}
.rs-pay-summary{padding:14px;margin:12px 0;border:1px solid #e0c88e;border-radius:10px;display:flex;flex-direction:column;gap:6px;background:#fffaf1}
.rs-pay-summary p{margin:0}
