/*
Theme Name: Boven ’t IJ
Version: 1.0.7
Requires at least: 6.6
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: boventij
*/
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--red:#d81d2a;--red-text:#d81d2a;--ink:#121314;--muted:#a9aaaf;--paper:#f3f3f1;--line:#323335}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:white;font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:hover{color:var(--red)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ee636d;outline-offset:4px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,.display{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;text-transform:uppercase;line-height:.98;letter-spacing:-.02em}h1{font-size:clamp(3.7rem,7.4vw,7.4rem);font-weight:800;margin-bottom:24px}h2{font-size:clamp(2.8rem,4.3vw,4.6rem);margin-bottom:24px}h3{font-size:2rem}p{color:var(--muted)}.topbar{padding:9px 5%;background:#070707;border-bottom:1px solid #282828;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.6px}.crosses{color:var(--red);font-weight:bold;letter-spacing:5px;margin-left:22px}header{height:98px;padding:12px 5%;display:flex;gap:34px;align-items:center;background:#111213;border-bottom:1px solid #303133;position:relative;z-index:10}.brand{display:flex;gap:13px;align-items:center;line-height:1.4;font-size:10px;letter-spacing:1.7px}.brand img{width:50px;height:68px;object-fit:contain}.brand b{font-size:18px;letter-spacing:.7px}nav{margin-left:auto;display:flex;gap:27px;font-size:14px;font-weight:600}nav a[aria-current=page]{color:var(--red)}.btn{display:inline-flex;background:var(--red);color:white;border:1px solid var(--red);padding:15px 25px;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1.4;transition:.2s}.btn:hover{background:#af1520;color:white}.btn.small{padding:13px 19px}.btn.outline{background:transparent;border-color:#6d6d70}.btn.outline:hover{background:white;color:#111}.btn.dark{background:#151515;border-color:#151515}.btn:disabled{opacity:.4;cursor:not-allowed}.menu-toggle{display:none}.hero{position:relative;min-height:650px;display:flex;align-items:center;padding:70px 7%;isolation:isolate;background:#0b1013}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/hero.jpg') center 57%/cover}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,9,11,.94),rgba(7,9,11,.67) 48%,rgba(7,9,11,.06)),linear-gradient(0deg,rgba(7,9,11,.6),transparent 55%)}.eyebrow{font-size:12px;letter-spacing:2.6px;font-weight:700;text-transform:uppercase;color:var(--red);display:block;margin-bottom:22px}.hero h1{max-width:730px}.red{color:var(--red)}.hero p{max-width:420px;color:#ccc;font-size:17px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.hero-tag{position:absolute;right:6%;bottom:45px;border-left:2px solid var(--red);padding-left:20px;font-size:12px;letter-spacing:2px}.hero-tag strong{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:35px;letter-spacing:0}.statband{display:grid;grid-template-columns:repeat(4,1fr);background:var(--red);padding:24px 7%;gap:35px}.statband div{display:flex;align-items:center;gap:17px;border-right:1px solid #ffffff44}.statband div:last-child{border:0}.statband strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:49px;line-height:1}.statband span{font-size:13px;line-height:1.4}.section{padding:90px 7%}.light{background:var(--paper);color:var(--ink)}.light p{color:#65676a}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-heading h2{margin:0}.section-heading p{max-width:390px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.game-card{background:#1b1c1e;position:relative;overflow:hidden}.game-card img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .3s}.game-card:hover img{transform:scale(1.035)}.game-copy{padding:27px}.game-copy .number{color:var(--red);font-size:12px;letter-spacing:2px}.game-copy h3{margin:13px 0}.game-copy p{min-height:54px;font-size:14px}.card-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;font-size:14px}.card-bottom a{color:var(--red);font-weight:bold}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split img{width:100%;height:440px;object-fit:cover}.page-head{padding:65px 7% 48px;background:#191a1c;border-bottom:1px solid var(--line)}.page-head h1{font-size:clamp(3.4rem,6vw,6rem);margin-bottom:20px}.page-head p{max-width:620px;margin:0}.breadcrumb{color:#aaa;font-size:13px;margin-bottom:27px}.strip{padding:40px 7%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--red)}.strip h2{font-size:3rem;margin:0}.strip p{color:white;margin:10px 0 0}.strip .btn{border-color:white}.floor-wrap{background:#1e2023;border:1px solid #3a3c40;padding:25px}.floor-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.legend{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#c3c3c5}.legend i{width:10px;height:10px;display:inline-block;margin-right:7px;background:#a31620;border:1px solid #e34751}.legend .snooker{background:#717982;border-color:#bbc2c8}.legend .biljart{background:#c9c9c5;border-color:white}.floor{display:block;width:100%;height:auto;min-width:500px}.map-scroll{overflow:auto}.floor .table{cursor:pointer}.floor .table:hover .bed,.floor .table:focus .bed{fill:#d81d2a;stroke:white;stroke-width:3}.floor .table.selected .bed{fill:#d81d2a;stroke:#fff;stroke-width:4}.floor .table.busy{opacity:.25;cursor:not-allowed}.floor text{font-family:'DM Sans',Arial,sans-serif}.floor-note{font-size:12px;color:#aaa;margin:15px 0 0}.map-selection{padding:15px 0 0;display:flex;justify-content:space-between;align-items:center}.booking{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);gap:35px}.panel{background:#1c1d20;border:1px solid #343539;padding:30px}.steps{display:flex;gap:25px;margin-bottom:30px;font-size:13px;color:#aaa}.steps span{color:white}.steps b{background:var(--red);padding:4px 9px;margin-right:8px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}.field label,.field>span{font-size:13px;font-weight:600;color:#d8d8db}input,select,textarea{background:#141518;color:white;border:1px solid #494a4f;padding:12px 14px;min-width:0;border-radius:0;width:100%;color-scheme:dark}textarea{resize:vertical;min-height:90px}.type-tabs{display:flex;gap:8px;margin-bottom:25px;flex-wrap:wrap}.type-tabs button{background:transparent;border:1px solid #46484c;color:#ccc;padding:10px 21px;font-size:14px}.type-tabs button.active{background:var(--red);border-color:var(--red);color:white}.summary{position:sticky;top:20px}.summary-line{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #3b3c40;font-size:14px;gap:20px}.summary-line strong{text-align:right}.summary .price{font-size:35px}.note{font-size:13px;color:#aaa;line-height:1.6}.notice{padding:14px 18px;border-left:3px solid var(--red);background:#292226;font-size:13px;margin-bottom:22px;color:#e1d4d4}.check{display:flex;gap:10px;align-items:start;font-size:13px;margin:20px 0}.check input{width:18px;height:18px;flex-shrink:0;margin-top:3px}.check a{text-decoration:underline}.error{color:#ef969b;font-size:14px}.full{width:100%}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.menu-card{border:1px solid #353639;padding:30px;background:#1a1b1d}.menu-card h3{margin-bottom:23px}.menu-row{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #333438;font-size:15px}.menu-row:last-child{border:0}.menu-row strong{white-space:nowrap;font-weight:500;color:#ddd}.photo-banner{height:270px;width:100%;object-fit:cover}.rules{counter-reset:rule;display:grid;grid-template-columns:1fr 1fr;gap:0 55px}.rule{display:flex;gap:20px;padding:23px 0;border-bottom:1px solid #35363a}.rule:before{counter-increment:rule;content:counter(rule,decimal-leading-zero);color:var(--red);font-family:Impact,sans-serif;font-size:27px}.rule p{margin:0;color:#ccc}.hours{list-style:none;padding:0;margin:0}.hours li{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #38393d;gap:30px}.hours li.today{color:var(--red);font-weight:bold}.contact-block{margin-bottom:32px}.contact-block h3{margin-bottom:15px}.contact-block a{text-decoration:underline;text-underline-offset:5px}.faq details{border-bottom:1px solid #393b3f;padding:20px 0}.faq summary{cursor:pointer;font-weight:600}.faq p{margin:12px 0 0}.agenda-toolbar{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-bottom:25px}.agenda-toolbar input{width:180px}.agenda-toolbar select{width:180px}.agenda-toolbar button{padding:10px 18px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px}.metric{background:#202124;padding:22px;border:1px solid #36383c}.metric strong{font-size:35px;display:block}.metric span{font-size:13px;color:#aaa}.timeline{overflow:auto;border:1px solid #38393e}.time-row{display:flex;min-width:1060px;border-bottom:1px solid #36383e;height:56px}.time-row:last-child{border-bottom:0}.time-label{width:112px;flex-shrink:0;padding:15px;font-size:13px;background:#222327;position:sticky;left:0;z-index:2}.track{flex:1;position:relative;background:repeating-linear-gradient(90deg,transparent,transparent calc(100% / 15 - 1px),#303236 calc(100% / 15 - 1px),#303236 calc(100% / 15))}.time-hour{position:absolute;font-size:12px;top:15px;color:#aaa}.event{position:absolute;top:7px;height:41px;background:#a31620;border:1px solid #d81d2a;color:white;font-size:12px;padding:3px 7px;overflow:hidden;text-align:left;white-space:nowrap}.event.arrived{background:#3c554b;border-color:#698b7b}.event.block{background:#46484f;border-color:#8b8f99}.reservations{width:100%;border-collapse:collapse;margin-top:25px;font-size:14px}.reservations th,.reservations td{text-align:left;padding:15px;border-bottom:1px solid #3d3e42}.reservations th{font-size:12px;color:#aaa}.pill{font-size:12px;background:#34353b;padding:5px 9px;white-space:nowrap}.linkbtn{border:0;background:transparent;color:#ee636d;font-size:13px}.success{max-width:700px;margin:auto;text-align:center;padding:50px 25px}.success .tick{background:var(--red);width:65px;height:65px;border-radius:50%;display:grid;place-items:center;margin:0 auto 25px;font-size:30px}.success .summary-line{text-align:left}dialog{background:#1e1f22;color:white;border:1px solid #55565b;max-width:530px;width:calc(100% - 35px);padding:30px}dialog::backdrop{background:#000b}footer{background:#090a0b;padding:65px 7% 20px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}footer h3{font-family:inherit;font-size:14px;text-transform:none;letter-spacing:0;line-height:1.5}footer p,footer a{font-size:13px;color:#aaa}footer .brand{margin-bottom:18px;color:white}.footer-bottom{border-top:1px solid #282a2c;margin-top:50px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#888}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;z-index:99;background:white;color:black;padding:15px}.empty{padding:35px;text-align:center;color:#aaa}.mobile-only{display:none}@media(min-width:1500px){.hero{min-height:760px}}@media(max-width:1050px){header{gap:15px;padding:12px 4%}nav{gap:16px;font-size:12px}.brand span{display:none}.hero{padding-left:6%;min-height:610px}.section{padding:65px 5%}.split{gap:40px}.booking{grid-template-columns:1.4fr 1fr}.panel{padding:22px}.footer-grid{gap:25px}.hero-tag{display:none}}@media(max-width:760px){.topbar{font-size:9px;letter-spacing:1px}.topbar .crosses{display:none}header{height:83px;gap:12px;justify-content:space-between}.brand img{height:56px;width:42px}.brand span{display:block;font-size:8px}.brand b{font-size:14px}header>.btn{font-size:12px;padding:12px}.menu-toggle{display:block;background:transparent;border:1px solid #555;color:white;font-size:22px;margin-left:auto;padding:3px 11px}nav{display:none;position:absolute;top:83px;left:0;right:0;background:#17181b;padding:25px;font-size:17px;flex-direction:column;gap:18px}nav.open{display:flex}.hero{min-height:600px;padding:55px 6%;align-items:center}.hero:before{background-position:65% center}.hero:after{background:linear-gradient(90deg,#080a0deb,#080a0d66)}.hero h1{font-size:4.1rem}.hero p{font-size:15px;max-width:310px}.statband{grid-template-columns:1fr 1fr;padding:24px 6%;gap:22px}.statband div:nth-child(2){border:0}.statband strong{font-size:40px}.statband span{font-size:11px}.section{padding:50px 6%}.section-heading{display:block}.section-heading p{margin-top:22px}.cards,.split,.booking,.menu-grid,.rules{grid-template-columns:1fr}.cards{gap:20px}.game-card{display:grid;grid-template-columns:37% 1fr}.game-card img{height:100%;min-height:230px}.game-copy{padding:20px}.game-copy p{font-size:13px;min-height:0}.card-bottom{font-size:12px}.split{gap:35px}.split img{height:290px}.strip{padding:30px 6%;display:block}.strip .btn{margin-top:20px}.strip h2{font-size:2.5rem}.page-head{padding:40px 6%}.page-head h1{font-size:3.4rem}.floor-wrap{padding:14px}.floor-top{align-items:start;flex-direction:column}.field-grid{gap:13px}.summary{position:static}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}footer{padding:45px 6% 20px}.footer-bottom{flex-direction:column}.metrics{gap:10px}.metric{padding:14px}.metric strong{font-size:27px}.metric span{font-size:11px}.steps{gap:15px;font-size:11px}.type-tabs button{padding:10px 17px}.reservations{min-width:620px}.mobile-only{display:block}.actions .btn{padding:14px 19px}}
.booking>*{min-width:0}.panel,.floor-wrap,.map-scroll{min-width:0}.steps{flex-wrap:wrap}@media(max-width:760px){.cards,.split,.booking,.menu-grid,.rules{grid-template-columns:minmax(0,1fr)}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
[hidden]{display:none!important}hr{border:0;border-top:1px solid #3d3e43;margin:25px 0}.billiard-placeholder{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#27292c;gap:10px;letter-spacing:2px;color:#ccc}.billiard-placeholder strong{font:700 64px/1 'Barlow Condensed',Impact,sans-serif;color:white}.billiard-placeholder span{font-size:12px}.billiard-placeholder small{font-size:12px;color:#999;letter-spacing:0}.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:50px}.journey>div{border-top:2px solid var(--red);padding-top:20px}.journey b{color:var(--red);font:32px 'Barlow Condensed',Impact,sans-serif;display:block}.journey strong{display:block}.journey p{font-size:14px}.booking-rules{font-size:13px;border-top:1px solid #3b3d41;border-bottom:1px solid #3b3d41;padding:14px 0;margin:15px 0 25px;color:#bbb}.booking-rules summary{cursor:pointer;color:white}.booking-rules li{margin-bottom:8px}.selection-banner{padding:15px 0 22px;display:flex;flex-direction:column;gap:5px}.selection-banner span{font-size:14px;color:#bbb}.table-options{display:flex;gap:8px;flex-wrap:wrap}.table-chip{background:#282a2e;border:1px solid #4d5057;color:white;min-width:65px;padding:8px}.table-chip small{font-size:11px;display:block}.table-chip.selected{background:#a31620;border-color:#e34751}.snack-benefit{background:#352223;border-left:3px solid var(--red);padding:15px;font-size:14px;margin-top:20px}.snack-benefit p{margin:10px 0 0;font-size:13px}.team-head{padding:45px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.team-head h1{font-size:4.5rem;margin-bottom:0}.team-head .eyebrow{margin-bottom:15px}.team-layout{padding:30px 5% 70px}.team-tabs{display:flex;position:static;background:transparent;padding:0;gap:0;margin:0 0 35px;border-bottom:1px solid #393b3f;overflow-x:auto}.team-tabs button{background:none;color:#aaa;border:0;border-bottom:3px solid transparent;white-space:nowrap;padding:16px 23px;font-weight:600;font-size:14px}.team-tabs button.active{color:white;border-bottom-color:var(--red)}.team-tabs button span{background:#3a2627;padding:2px 6px;margin-left:4px}.workspace-title{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}.workspace-title h2{font-size:3.5rem;margin:0}.workspace-title .actions{margin:0}.workspace-title .eyebrow{margin-bottom:12px}.view-toggle{display:flex;border:1px solid #494b51}.view-toggle button{padding:10px 16px;border:0;background:transparent;color:#aaa;text-transform:capitalize}.view-toggle button.active{background:var(--red);color:white}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.calendar-day{color:white;text-align:left;min-height:200px;background:#202125;border:1px solid #3b3e44;padding:16px;display:flex;flex-direction:column;gap:8px}.calendar-day:hover{border-color:var(--red)}.calendar-day.today{border-top:3px solid var(--red)}.calendar-day>span:first-child{font-size:13px}.calendar-day strong{font-size:32px}.calendar-day small,.calendar-day em{font-size:12px;color:#aaa}.calendar-name{font-size:12px;color:#ddd;border-top:1px solid #414349;padding-top:6px}.calendar-grid.month .calendar-day{min-height:145px}.calendar-grid.month .calendar-name{display:none}.event.pending{background:#67481e;border-color:#c69d5c}.event.block{opacity:.75}.table-scroll{overflow:auto;max-width:100%}.risk{font-size:12px;color:#ffac74}.status-in_beoordeling,.status-wacht_op_aanbetaling{background:#563b1d;color:#ffd196}.status-aanwezig{background:#254438;color:#a5e7bd}.status-niet_gekomen,.status-regels_overtreden{background:#55191e;color:#ffb8bd}.table-checks{border:1px solid #494b50;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0 25px;padding:16px;font-size:13px}.table-checks legend{padding:0 8px;font-size:13px;color:#ccc}.table-checks input{width:16px;height:16px;display:inline-block}.table-checks label{display:flex;align-items:center;gap:6px}.dialog-close{position:absolute;right:14px;top:8px;border:0;background:none;color:#aaa;font-size:30px}dialog{max-width:720px;max-height:90vh;overflow:auto;padding:35px}dialog h3{padding-right:25px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;background:#141518;border:1px solid #393c41;padding:18px;margin:20px 0;font-size:14px;color:#d5d5d7}.login-panel{max-width:620px;margin:auto}.staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.avatar{width:48px;height:48px;border-radius:50%;background:#a31620;color:white;font-size:24px;display:grid;place-items:center;margin-bottom:18px}.staff-grid h3{margin-bottom:15px}.staff-grid p{font-size:14px;overflow-wrap:anywhere}.roster-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));overflow-x:auto;border:1px solid #3c3e43}.roster-day{padding:15px;border-right:1px solid #3c3e43;min-height:230px;background:#1b1d20}.roster-day h3{font-size:1.3rem}.shift-card{border-left:3px solid var(--red);background:#303137;padding:12px;margin-bottom:12px;display:flex;flex-direction:column;gap:4px}.shift-card strong{font-size:14px}.shift-card span,.shift-card small{font-size:12px;color:#ccc}.source-list>div{display:flex;gap:20px;align-items:center;padding:15px 0;border-bottom:1px solid #373a40}.source-list a{flex:1;font-size:14px;overflow-wrap:anywhere}.source-list span{font-size:12px;color:#aaa}.message-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.message-card{color:white;background:#1d1f22;border:1px solid #3f4248;text-align:left;padding:20px;display:flex;flex-direction:column;gap:8px}.message-card .pill{align-self:start;font-size:11px}.message-card span,.message-card small{font-size:13px;color:#aaa;overflow-wrap:anywhere}#import-result{margin-top:20px;font-size:14px}.team-layout .reservations{margin-top:10px}.team-layout .btn,.team-layout input,.team-layout select{font-size:14px}@media(max-width:1000px){.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-tabs button{padding:14px 18px}}@media(max-width:760px){.journey{grid-template-columns:repeat(2,minmax(0,1fr))}.team-head{display:block;padding:30px 6%}.team-head h1{font-size:3.2rem;margin-bottom:25px}.team-layout{padding:25px 5% 50px}.team-tabs{display:flex;flex-direction:row}.team-tabs button{padding:14px}.workspace-title{align-items:start;flex-direction:column}.workspace-title h2{font-size:2.6rem}.calendar-grid,.staff-grid,.message-list{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:170px;padding:13px}.staff-grid{grid-template-columns:minmax(0,1fr)}.source-list>div{flex-wrap:wrap;gap:10px}.source-list a{flex:1 1 100%}.table-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.table-checks label{font-size:12px}dialog{padding:25px 20px}.agenda-toolbar input,.agenda-toolbar select{max-width:100%}.team-head .pill{white-space:normal}.billiard-placeholder strong{font-size:35px}.billiard-placeholder span{font-size:10px;text-align:center}.journey strong{font-size:14px}.team-layout .reservations{min-width:650px}}

/* Bordeaux branding and compact staff dashboard. */
.eyebrow,.red,.crosses{color:var(--red-text)}.btn,.statband{background:var(--red)}.game-copy .number,.card-bottom a,nav a[aria-current=page]{color:var(--red-text)}.team-head{padding-top:28px;padding-bottom:28px}.team-head h1{font-size:3rem}.quick-hours{background:#1d1c1f;border:1px solid #493032;display:grid;grid-template-columns:.8fr 1.7fr;gap:30px;padding:28px;margin-bottom:38px;border-top:3px solid var(--red)}.quick-intro h2{font-size:2.8rem}.quick-intro p{font-size:14px}.shift-presets{display:flex;gap:10px;margin:15px 0 22px}.shift-presets button{flex:1;border:1px solid #5b4547;background:#151517;color:#ccc;padding:14px 12px;text-align:left;font-size:14px}.shift-presets button.active{border-color:#d81d2a;background:#d81d2a;color:#fff}.shift-presets strong,.shift-presets span{display:block}.shift-presets span{font-size:12px;color:#eedbdb;margin-top:5px}.quick-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 15px}.quick-fields .field{margin-bottom:13px}.quick-fields input,.quick-fields select{padding:10px}.quick-total{display:flex;flex-direction:column;justify-content:center;padding-left:5px}.quick-total span{font-size:12px;color:#aaa}.quick-total strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:32px}.quick-submit{display:flex;align-items:center;gap:20px;justify-content:space-between}.quick-submit .note{font-size:12px;max-width:360px;margin:0}.quick-submit .btn{flex-shrink:0}.saved-message{color:#b1d1be;font-size:14px}.assignment-summary{border-left:3px solid var(--red);background:#292021;padding:18px;margin:15px 0}.assignment-summary>span{font-size:12px;color:#ccb3b5;display:block}.assignment-summary>strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:40px}.assignment-summary>p{font-size:14px;margin-bottom:0}.release-control{border:1px solid #514043;padding:18px;margin-bottom:20px;display:grid;gap:12px}.release-control label{font-size:13px}.release-control p{margin:0}.event.members{background:#3a334b;border-color:#8a789c}.team-layout .workspace-title h2{font-size:2.8rem}@media(max-width:1000px){.quick-hours{grid-template-columns:1fr}.quick-intro .shift-presets{max-width:430px;margin-bottom:0}}@media(max-width:760px){.quick-hours{padding:20px;gap:25px}.quick-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-submit{flex-direction:column;align-items:stretch}.team-head h1{font-size:2.5rem}.quick-intro h2{font-size:2.3rem}.quick-submit .note{max-width:none}.shift-presets button{padding:12px 10px}.team-layout .workspace-title h2{font-size:2.1rem}}
.red{color:#d81d2a}

/* Mobile layouts: fit content rather than clipping the viewport. */
.field,.field-grid>*,.quick-fields>*,.split>*,.cards>*,.footer-grid>*,.quick-hours>*{min-width:0}
.floor{min-width:0;max-width:100%}
.map-scroll{overflow:visible}
.mobile-agenda{display:none}
@media(max-width:760px){
 header{gap:10px}header .brand{gap:7px}header>.btn{white-space:nowrap;padding:12px 10px}header .brand span{display:none}
 .menu-toggle{min-height:44px;min-width:44px}header nav a{padding:8px 0}
 .hero h1{font-size:clamp(3.25rem,14vw,4.1rem)}.hero{min-height:560px}
 .page-head h1{font-size:clamp(2.7rem,12vw,3.4rem)}
 h2,h3,.eyebrow,.summary-line,.pill{overflow-wrap:anywhere}
 .panel{padding:20px}.section{padding:40px 5%}.booking{gap:24px}
 .game-card{display:block}.game-card img{height:210px;min-height:0}.game-copy{padding:24px}.card-bottom{gap:12px;flex-wrap:wrap}
 .floor-wrap{padding:12px 8px}.floor-top{padding:0 4px;gap:8px}.legend{gap:10px;font-size:11px}.floor .table text{font-size:32px}.floor-note{padding:0 4px;line-height:1.5}
 #booking-map{margin:0 -12px}.table-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.table-chip{min-width:0;min-height:52px;padding:8px 4px;font-weight:700}.table-chip small{font-weight:400}
 .field-grid{grid-template-columns:minmax(0,1fr);gap:0}.field{margin-bottom:18px}
 input,select,textarea,.team-layout input,.team-layout select{font-size:16px;max-width:100%;min-height:48px}input[type=checkbox]{min-height:0}
 .btn{min-height:46px;text-align:center;max-width:100%}.actions{gap:10px}.actions .btn{flex:1 1 180px}
 .summary-line{gap:12px}.summary-line>*{min-width:0}.summary-line strong{max-width:65%}
 .menu-card{padding:22px}.menu-row{font-size:14px}.hours li{gap:14px}.hours li span:last-child{white-space:nowrap}
 .footer-grid{gap:25px 16px}footer a{overflow-wrap:anywhere}.footer-grid .brand{gap:8px}.footer-grid .brand b{font-size:12px}
 .team-tabs{display:flex;flex-wrap:wrap;overflow:visible;gap:5px;border:0}.team-tabs button{flex:1 1 95px;padding:12px 8px;border:1px solid #3b3c40;min-height:46px;white-space:normal}.team-tabs button.active{background:#292022;border-bottom:3px solid var(--red)}
 .quick-hours{padding:18px;gap:20px}.quick-fields{grid-template-columns:minmax(0,1fr)}.quick-total{margin:0 0 18px}.shift-presets button{min-width:0}.shift-presets span{font-size:12px}
 .agenda-toolbar{gap:10px}.agenda-toolbar>*{flex:1 1 130px}.agenda-toolbar input,.agenda-toolbar select{width:100%!important}.view-toggle button{flex:1;min-height:44px}.view-toggle{flex-basis:100%}
 .metrics{grid-template-columns:1fr;gap:8px}.metric{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.metric span{font-size:14px}
 .roster-grid{grid-template-columns:minmax(0,1fr);overflow:visible}.roster-day{min-height:0;border-bottom:1px solid #3c3e43;border-right:0}.message-list{grid-template-columns:minmax(0,1fr)}
 .timeline{display:none}.mobile-agenda{display:grid;gap:10px}.mobile-agenda button{display:grid;gap:5px;width:100%;text-align:left;background:#242529;border:1px solid #484a50;border-left:3px solid var(--red);color:white;padding:15px}.mobile-agenda small{color:#ccc}.mobile-agenda strong{overflow-wrap:anywhere}
 .table-scroll{overflow:visible}.reservations,.team-layout .reservations{min-width:0;width:100%;display:block}.reservations thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.reservations tbody{display:grid;gap:14px}.reservations tr{display:block;background:#202124;border:1px solid #3d3e42;padding:12px}.reservations td{display:block;overflow-wrap:anywhere;padding:8px 4px;border:0;min-width:0}.reservations td:before{content:attr(data-label);display:block;font-size:11px;color:#aaa;letter-spacing:1px;margin-bottom:3px}.reservations td[colspan]:before,.reservations td[data-label=""]:before{display:none}.pill{white-space:normal;display:inline-block}.reservations .linkbtn{min-height:44px;padding:10px 0}
 dialog{width:calc(100% - 24px);max-height:90dvh;padding:26px 18px;margin:auto}dialog p{overflow-wrap:anywhere}.dialog-close{min-width:44px;min-height:44px;right:4px;top:2px}.table-checks{padding:12px;gap:8px}.table-checks label{min-height:44px}.table-checks legend{max-width:100%;white-space:normal}
 .calendar-grid{gap:8px}.calendar-day{padding:12px;min-height:145px}
 .statband{gap:20px 12px}.statband div{gap:10px}.statband strong{font-size:35px}
}
@media(max-width:360px){.footer-grid{grid-template-columns:1fr}.topbar{font-size:8px;letter-spacing:.4px}.journey,.calendar-grid{grid-template-columns:1fr}}
/* Small movements, with full respect for reduced-motion preferences. */
@media(prefers-reduced-motion:no-preference){
 .btn,.table-chip{transition:background .2s,transform .2s,box-shadow .2s}.btn:active,.table-chip:active{transform:scale(.97)}
 .floor .table.selected .bed{animation:table-select .3s ease-out}.table-chip.selected{animation:chip-select .25s ease-out}
 @media(max-width:760px){.hero:before{animation:hero-drift 16s ease-in-out infinite alternate;transform-origin:center}.hero{overflow:hidden}.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal-ready.is-visible{opacity:1;transform:none}header nav.open{animation:menu-in .2s ease-out}}
}
@keyframes hero-drift{from{transform:scale(1)}to{transform:scale(1.045)}}
@keyframes table-select{from{stroke-width:8}to{stroke-width:4}}
@keyframes chip-select{from{transform:scale(.96)}to{transform:scale(1)}}
@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-ready{opacity:1;transform:none}}
/* Compact operational views. */
.team-head h1{font-size:2.4rem}.team-layout{max-width:1600px;margin:auto}.team-layout .workspace-title h2{font-size:2.5rem}.team-layout .eyebrow{font-size:10px;letter-spacing:1.6px}.quick-intro h2{font-size:2.1rem}.quick-hours{padding:22px;gap:24px}.quick-intro p{font-size:13px}.quick-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-total{padding-bottom:12px}
.hours-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0 0 24px}.hours-totals article{border:1px solid #36383c;padding:16px;display:grid;gap:6px;background:#1b1c1f}.hours-totals span{font-size:13px;color:#aaa}.hours-entry{margin:24px 0}.hours-entry summary{cursor:pointer;padding:16px;border:1px solid #444;font-weight:600}.hours-entry .quick-hours{margin:0}.week-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:18px}.week-picker button{min-width:0;background:#1c1d20;color:#ddd;border:1px solid #3c3e43;padding:12px 4px;display:grid;gap:4px;text-align:center}.week-picker button.active{background:var(--red);color:#fff;border-color:var(--red)}.week-picker strong{font-size:22px}.week-picker small{font-size:11px}.roster-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.roster-column{min-width:0;border:1px solid #37393f;padding:10px}.roster-day-head h3{font:600 14px/1.5 'DM Sans',Arial,sans-serif;text-transform:none;letter-spacing:0}.roster-day-head .btn{width:100%;padding:8px;font-size:12px;margin-bottom:16px}.roster-column .shift-card{padding:10px}.roster-column .linkbtn{text-align:left;padding:6px 0}.own-shift{border-color:#fff}.swap-card{border:1px solid #383a40;padding:20px;margin:12px 0}.swap-card p{font-size:14px;margin:8px 0}.team-layout .notice{padding:12px 16px;font-size:12px}.team-layout .staff-grid .panel{padding:20px}.team-layout .staff-grid .linkbtn{display:block;margin:10px 0}
@media(max-width:1050px){.roster-week{grid-template-columns:1fr}.roster-column:not(.chosen){display:none}.roster-day-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.roster-day-head .btn{width:auto;margin:0}.roster-day-head{margin-bottom:20px}.roster-column{padding:20px}}
@media(max-width:760px){.quick-fields{grid-template-columns:1fr}.week-picker{gap:3px}.week-picker button{padding:10px 1px}.week-picker span{font-size:11px}.week-picker small{font-size:9px}.week-picker strong{font-size:20px}.hours-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.team-head h1{font-size:2.2rem}.team-layout .workspace-title h2{font-size:2.1rem}}
