:root{--bg:#101519;--panel:#1b2228;--panel2:#252e35;--edge:#33414b;--white:#f4f7f7;--muted:#9aaab5;--lime:#d4ff35;--lime2:#bbec1b;--danger:#f08484;font-family:Inter,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--white);margin:0;line-height:1.45}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}p{line-height:1.6}h1,h2,h3{letter-spacing:-.045em}h1{line-height:1.04}h1 em{color:var(--lime);font-style:normal}h2{font-size:clamp(1.32rem,3vw,1.8rem)}h3{font-size:.9rem;letter-spacing:.015em}.app-shell{width:min(1240px,100%);margin:0 auto;padding:0 26px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #28333a}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brandmark{color:#11161a;background:var(--lime);width:44px;height:44px;display:grid;place-items:center;border-radius:8px;font-size:31px;line-height:1;font-weight:900}.brand strong{display:block;letter-spacing:.055em;font-size:16px;white-space:nowrap;line-height:1.2}.brand small{display:block;color:var(--lime);font-size:9px;font-weight:800;letter-spacing:.1em;white-space:nowrap}.topbar nav{display:flex;gap:20px;align-items:center}.navlink,.linkbtn{font-size:12px;letter-spacing:.03em;font-weight:700;color:#cad5dc;background:none;border:0;padding:8px 0}.navlink:hover,.linkbtn:hover{color:var(--lime)}.inline{display:inline}.footer{display:flex;justify-content:space-between;gap:12px;padding:36px 0;margin-top:36px;border-top:1px solid #29343c;color:#718491;font-size:11px;font-weight:700;letter-spacing:.08em}.footer b{color:var(--lime)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;color:var(--lime)}.small{font-size:13px}.tiny{font-size:11px}.muted{color:var(--muted)}.center{text-align:center}.mt{margin-top:26px}.panel{background:var(--panel);border:1px solid #303e48;border-radius:15px;padding:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:8px;border:1px solid transparent;padding:14px 19px;font-size:13px;font-weight:900;letter-spacing:.03em;text-align:center;min-height:48px;white-space:normal}.btn-lime{background:var(--lime);color:#141a17;box-shadow:0 7px 25px #d4ff3514}.btn-lime:hover{background:#e2ff7b}.btn-lime:disabled{cursor:not-allowed;background:#69784a;box-shadow:none;color:#1b2317}.btn-outline{background:#29333b;color:#edf2f3;border-color:#52606b}.btn-outline:hover{border-color:var(--lime)}.btn-danger{background:#4a292a;border-color:#945859;color:#ffd5d5}.btn-small{font-size:11px;min-height:36px;padding:8px 10px}.btn-full{width:100%}.hero{min-height:480px;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:52px 44px;background:radial-gradient(circle at 82% 46%,#303c3d 0,#171f25 40%,#13191e 79%);border-bottom:4px solid var(--lime)}.hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(122deg,transparent 0,transparent 40px,#ffffff04 41px,#ffffff04 42px);pointer-events:none}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(46px,7vw,92px);font-weight:950;letter-spacing:-.075em;margin:22px 0}.hero p{max-width:460px;color:#d3dde2;font-size:16px;margin:0 0 25px}.hero-points{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px;color:#acbcc7;font-size:12px}.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 13px var(--lime);margin-right:8px}.wheel-stage{height:340px;display:grid;place-items:center;position:relative;filter:drop-shadow(10px 18px 22px #0008)}.wheel-stage .tyre{position:relative;border-radius:50%;width:min(360px,76%);aspect-ratio:1;background:repeating-conic-gradient(from 2deg,#10161a 0deg,#10161a 11deg,#273037 11.5deg,#11181c 18deg,#293238 19deg,#0b1114 22deg);border:16px solid #0b1014;box-shadow:inset 0 0 0 10px #1b2226,inset 0 0 0 23px #080d10,0 0 0 1px #45565a,0 18px 35px #0008;display:grid;place-items:center}.tyre-rim{width:62%;height:62%;border-radius:50%;border:9px solid #647477;background:repeating-conic-gradient(#5d6b70 0 7deg,#212c32 7deg 32deg,#a1abb0 32deg 35deg,#253137 35deg 45deg);box-shadow:0 0 0 7px #131c20,0 0 22px #000 inset;display:grid;place-items:center}.rim-center{width:34%;height:34%;border-radius:50%;background:radial-gradient(circle,#d6ff35,#83982c);border:6px solid #172125;color:#182021;font-weight:1000;display:grid;place-items:center}.speed-lines{width:100%;height:140px;position:absolute;transform:skewY(-15deg);background:repeating-linear-gradient(0deg,transparent 0,transparent 21px,#d4ff351c 22px,#d4ff351c 24px)}.stage-label{position:absolute;bottom:0;right:0;color:#687783;letter-spacing:.18em;font-weight:900;font-size:11px}.booking-layout{margin-top:30px}.section-title{display:flex;gap:16px;align-items:start;margin-bottom:30px}.section-title p{color:var(--muted);margin-top:6px}.step{background:var(--lime);color:#162019;padding:9px 12px;border-radius:6px;font-size:19px;font-weight:900;line-height:1}.booking-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:45px}.booking-grid h3,.booking-details h3{margin-bottom:14px}.services-list{display:grid;gap:9px}.service-card{display:flex;align-items:center;gap:15px;border:1px solid var(--edge);background:var(--panel2);border-radius:9px;padding:14px 15px;min-height:80px;cursor:pointer;transition:border-color .15s,background .15s}.service-card:has(input:checked){background:#303c25;border-color:var(--lime)}.service-card input{position:absolute;opacity:0;width:1px;height:1px}.service-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:8px;background:#37434b;color:var(--lime);font-size:25px;flex:none}.service-info{display:grid;gap:4px;flex:1}.service-info strong{font-size:13px}.service-info small{color:#aebec7;font-size:12px}.radio-dot{width:16px;height:16px;border:2px solid #778891;border-radius:50%;flex:none}.service-card:has(input:checked) .radio-dot{background:var(--lime);border:4px solid #354127;box-shadow:0 0 0 2px var(--lime)}.field{display:grid;gap:7px;margin:13px 0}.field>span{color:#b9c9d2;font-size:12px;font-weight:650}.field input,.field select,.field textarea,.settings-service input,.service-controls select{width:100%;max-width:100%;border:1px solid #475761;border-radius:7px;background:#131b20;color:#f2f5f4;padding:12px 13px;min-height:44px;outline:none}.field textarea{resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.settings-service input:focus{border-color:var(--lime);box-shadow:0 0 0 3px #d4ff3515}.input-hint{color:var(--muted);font-size:11px;margin:3px 0 14px}.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.slot-grid button{border:1px solid #3e4e59;border-radius:7px;background:#2b3740;color:#edf3f6;font-size:13px;padding:11px 0;min-height:45px;font-weight:800}.slot-grid button:hover:not(:disabled),.slot-grid button.selected{border-color:var(--lime);background:var(--lime);color:#121914}.slot-grid button:disabled{opacity:.35;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-footer{display:grid;gap:10px;margin-top:16px}.summary{font-size:12px;color:var(--lime)}.legal{margin-top:12px;color:#82949f;font-size:11px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.feature{border:1px solid #303b43;border-radius:12px;padding:24px;background:#1c252a}.feature span{color:var(--lime);font-size:11px;font-weight:900}.feature h3{font-size:15px;margin:12px 0}.feature p{color:#aab7c1;font-size:12px}.pass-wrap{max-width:760px;margin:38px auto}.pass-heading{text-align:center;margin-bottom:25px}.pass-heading h1,.auth-card h1,.settings-heading h1,.staff-hero h1{font-size:clamp(31px,5vw,56px);margin:12px 0}.pass-heading p,.settings-heading p,.staff-hero p{color:#adbdc6}.pit-pass{border-radius:18px;overflow:hidden;background:#1c252a;border:1px solid #4c5d66;box-shadow:0 20px 65px #0004}.pit-pass-head{display:flex;justify-content:space-between;align-items:center;padding:22px 27px;border-bottom:2px dashed #5a6d68}.pass-brand{font-weight:900;letter-spacing:.06em}.pill{border:1px solid #67767b;padding:6px 10px;border-radius:100px;color:#e2e9e9;font-size:11px;font-weight:800}.pass-main{text-align:center;padding:36px 22px}.pass-main h2{font-size:clamp(27px,5vw,42px);margin:12px 0}.pass-main h2 span{color:var(--lime)}.pass-main h3{font-size:17px;margin-bottom:9px}.pass-main p{color:#c0cbd1;font-size:13px}.pass-location{padding:25px;background:#29352c;border-top:1px solid #58654a;border-bottom:1px solid #58654a}.pass-location h3{font-size:18px;margin:10px 0 5px}.pass-location p{color:#b7c5c2;font-size:13px;margin-bottom:17px}.pass-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:24px}.pass-lower{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.info-card{border:1px solid #34434c;border-radius:12px;padding:20px;background:#1b242a}.info-card h3{margin-bottom:8px}.info-card p{color:#bac8ce;font-size:13px;margin-bottom:15px}.info-note{margin-top:15px;background:#2a3436;padding:13px;border-radius:8px;border:1px solid #3e5052;font-size:12px;color:#b7c8c9;line-height:1.65}.text-warn{color:var(--danger)}.auth-outer{min-height:70vh;display:grid;place-items:center}.auth-card{max-width:430px;width:100%;padding:32px}.auth-card p{color:var(--muted);margin-bottom:25px}.error{color:#ffaaaa}.message-box{max-width:650px;margin:60px auto;display:grid;gap:19px}.message-box p{color:var(--muted)}.staff-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:38px 0 24px}.staff-hero h1{margin:9px 0}.staff-hero p{max-width:620px}.staff-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:16px 0}.date-nav,.tools-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.date-nav>a,.date-nav>span{background:#273139;border:1px solid #46555f;border-radius:8px;min-height:40px;display:grid;place-items:center;padding:8px 13px;font-weight:850;font-size:13px}.date-nav a:hover{border-color:var(--lime)}.date-nav .today-link{color:var(--lime);font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:19px 0}.stat{background:#20292f;border:1px solid #34434d;border-radius:11px;padding:18px 21px;display:grid;gap:4px}.stat small{font-size:10px;font-weight:800;letter-spacing:.09em;color:#9cabb6}.stat strong{font-size:34px;letter-spacing:-.04em}.stat strong em{font-style:normal;font-size:11px;color:#9daeb8;letter-spacing:0}.staff-columns{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(270px,1fr);gap:17px;align-items:start}.staff-columns .panel{padding:22px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.panel-title h2{font-size:20px;margin:4px 0}.booking-list{display:grid;gap:9px}.booking-row{display:flex;gap:14px;align-items:center;padding:16px;background:#263139;border:1px solid #3a4a53;border-radius:9px}.booking-row:hover{border-color:#8fbd43;background:#303c3d}.booking-row.is-cancelled{opacity:.57}.time-col{display:grid;gap:3px;min-width:59px;padding-right:14px;border-right:2px solid var(--lime)}.time-col strong{font-size:17px;color:var(--lime)}.time-col small{font-size:10px;color:#a4b3be}.booking-row-content{display:grid;gap:5px;min-width:0;flex:1}.row-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.row-top strong{font-size:14px}.booking-service{font-size:13px;color:#d2dce2}.meta-line{display:flex;flex-wrap:wrap;gap:6px 15px;font-size:11px;color:#9eb0bb}.status{display:inline-flex;align-items:center;border-radius:100px;padding:4px 8px;font-size:10px;font-weight:850;white-space:nowrap;line-height:1.1;background:#314653;color:#9dd1f2}.status-completed{background:#234b3d;color:#9df2c8}.status-arrived{background:#46472a;color:#f9e68e}.status-in_progress{background:#4a422d;color:#fce28c}.status-cancelled,.status-no_show{background:#553438;color:#ffc1b9}.row-arrow{color:var(--lime)}.empty-state{padding:35px;color:#a7b9c2;text-align:center}.notification-item{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid #35434b}.notification-item:hover strong{color:var(--lime)}.notification-item.unread{background:#233027}.notification-item strong{font-size:12px;line-height:1.5;display:block}.notification-item small{color:#889ba7;font-size:10px}.notification-mark{color:#141a19;background:var(--lime);border-radius:7px;min-width:25px;height:25px;display:grid;place-items:center;font-weight:900}.badge-dot{width:8px;height:8px;border-radius:50%;background:var(--lime)}.notification-item+.notification-item{margin-top:4px}.notifications .btn{margin-top:14px}.quick-panel{margin-bottom:17px}.section-title.compact{margin-bottom:15px}.update-banner{border:1px solid #acc95f;background:#2a3625;padding:14px;color:#f0ffd9;border-radius:8px;margin:12px 0}.update-banner button{color:var(--lime);background:none;border:0;font-weight:900}.back-link{color:var(--lime);font-size:11px;font-weight:800;letter-spacing:.09em}.detail-wrap{padding:30px 0}.detail-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0}.detail-heading h1{font-size:40px;margin:12px 0}.detail-heading p{color:#a7b8c2}.detail-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:17px}.detail-grid h2{margin-bottom:18px}.detail-aside{display:grid;gap:17px;align-content:start}.audit-list{display:grid;gap:13px}.audit-item{display:grid;gap:3px;padding-bottom:12px;border-bottom:1px solid #34434b}.audit-item strong{font-size:13px;text-transform:uppercase;color:var(--lime)}.audit-item small{color:#c8d3d8}.audit-item span{font-size:10px;color:#8fa2ab}.settings-heading{margin:32px 0 24px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.settings-side{display:grid;gap:18px}.settings-grid .panel h2{margin-bottom:17px}.settings-grid h3{margin:15px 0 9px}.divider{border-top:1px solid #394850;margin:22px 0}.weekday-group{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0}.weekday-group label,.check-label{font-size:12px;color:#dbe2e5;display:inline-flex;align-items:center;gap:5px}.weekday-group input,.check-label input{accent-color:#d4ff35}.form-caption{font-size:12px;color:#b6c6cf}.settings-service{border-bottom:1px solid #33444e;padding:10px 0}.settings-service>input{font-size:13px}.service-controls{display:flex;align-items:center;gap:8px;margin:10px 0}.service-controls select{width:auto;flex:0 1 125px}.user-list{display:grid;gap:10px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #394851;padding:7px 0}.user-row strong,.user-row small{display:block}.user-row strong{font-size:13px}.user-row small{font-size:11px;color:#9aabb6}.quick-panel[hidden],.update-banner[hidden]{display:none}@media(max-width:950px){.staff-columns,.detail-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.notifications{order:2}.hero{padding:40px 25px}.booking-grid{gap:24px}.wheel-stage{height:300px}.stage-label{font-size:8px}}@media(max-width:650px){.app-shell{padding:0 13px}.topbar{height:72px}.brandmark{width:37px;height:37px;font-size:26px}.brand strong{font-size:13px}.brand small{font-size:7px}.topbar nav{gap:8px}.navlink,.linkbtn{font-size:10px}.footer{font-size:9px;flex-direction:column;gap:5px}.hero{grid-template-columns:1fr;padding:35px 20px 0;min-height:0}.hero h1{font-size:54px;margin:14px 0}.hero p{font-size:14px}.wheel-stage{height:210px;overflow:hidden;opacity:.65;margin-top:-13px}.wheel-stage .tyre{width:205px}.stage-label{display:none}.booking-layout{margin-top:16px}.panel{padding:17px}.booking-grid{grid-template-columns:1fr;gap:23px}.section-title{margin-bottom:20px}.features{grid-template-columns:1fr;gap:9px}.feature{padding:17px}.form-grid{gap:8px}.booking-services .service-card{min-height:69px}.pass-wrap{margin:23px auto}.pit-pass-head{padding:18px}.pass-actions,.pass-lower{grid-template-columns:1fr}.pass-actions{padding:18px}.pass-main{padding:26px 15px}.pass-location{padding:18px}.staff-hero{align-items:flex-start;flex-direction:column;margin:22px 0}.staff-hero h1{font-size:36px}.staff-tools{align-items:flex-start;flex-direction:column}.stats-grid{gap:6px}.stat{padding:12px}.stat strong{font-size:26px}.stat strong em{display:block}.staff-columns .panel{padding:14px}.booking-row{padding:12px;gap:8px}.time-col{min-width:51px;padding-right:9px}.time-col strong{font-size:14px}.row-top{flex-direction:column;align-items:flex-start}.booking-service{font-size:12px}.row-arrow{display:none}.detail-heading{flex-direction:column;align-items:flex-start}.detail-heading h1{font-size:30px}.auth-card{padding:22px}.slot-grid{gap:6px}.slot-grid button{min-height:42px}.settings-heading h1{font-size:35px}}@media(max-width:370px){.slot-grid{grid-template-columns:repeat(3,1fr)}.brand small{display:none}.form-grid{grid-template-columns:1fr}}

.password-tools,.reset-user{border-top:1px solid #394851;margin-top:17px;padding-top:13px}.password-tools summary,.reset-user summary{cursor:pointer;color:#d4ff35;font-size:12px;font-weight:700}.password-tools form,.reset-user form{margin-top:11px}

/* Tire Masters v1.1 additions */
.booking-offline{margin:1rem 0;padding:1.4rem;border:1px solid var(--line,#49545a);}
.period-switch{display:inline-flex;gap:4px;flex-wrap:wrap;border:1px solid #52606a;border-radius:8px;padding:4px;}
.period-switch a{padding:8px 12px;color:#e5ebef;text-decoration:none;border-radius:6px;font-weight:700;font-size:.85rem;}
.period-switch .current{background:#d4ff35;color:#151b20;}
.hours-list{display:grid;gap:10px;margin:20px 0;}
.hours-row{display:grid;grid-template-columns:minmax(135px,1fr) minmax(80px,112px) minmax(80px,112px);gap:9px;align-items:center;padding:10px;background:#222b31;border-radius:8px;}
.hours-row input[type=time]{width:100%;min-width:0;padding:9px 3px;background:#151c21;color:#fff;border:1px solid #65747e;border-radius:6px;}
.availability-panel{margin-bottom:16px;}
.availability-options{display:grid;gap:14px;margin:15px 0;}
.month-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;}
.month-cell{min-height:96px;padding:9px 5px;background:#263138;color:#e8f0f3;border:1px solid #3a464e;border-radius:7px;display:flex;flex-direction:column;gap:2px;text-decoration:none;}
.month-cell strong{font-size:1.1rem;color:#d4ff35;}.month-cell small,.month-cell span{font-size:.72rem;}.month-cell em{color:#ffbf8c;font-size:.65rem;font-style:normal;}
.month-cell.current-day{border-color:#d4ff35;}
.weekly-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;overflow-x:auto;}
.week-column{background:#263138;border:1px solid #3a464e;border-radius:7px;padding:8px;display:flex;flex-direction:column;gap:8px;min-width:120px;}
.week-header{color:#d4ff35;font-weight:700;text-decoration:none;font-size:.85rem;}
.week-booking{background:#35414a;border-radius:6px;padding:7px;color:#fff;text-decoration:none;display:grid;gap:4px;}
.week-booking strong,.week-booking small{font-size:.74rem;overflow-wrap:anywhere;}
.pass-save{margin:18px 0;padding:20px;border:1px solid #4b5b66;border-radius:12px;background:#222b31;}
.pass-save-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.pass-save details{flex:1;min-width:190px;}.pass-save summary{cursor:pointer;color:#d4ff35;}.pass-save p{font-size:.88rem;}
.phone-link{color:#d4ff35!important;font-weight:700;font-size:1.05rem;}
.settings-service{display:flex;flex-direction:column;gap:8px;}
.settings-service>form{width:100%;}.settings-service>form>.btn-danger{margin:0 0 5px;}
.service-controls{flex-wrap:wrap;}
.service-controls .field{min-width:105px;max-width:130px;}
@media(max-width:800px){.weekly-board{grid-template-columns:repeat(7,170px);}.month-board{gap:3px;}.month-cell{min-height:70px;padding:5px 3px;}.month-cell span,.month-cell small{font-size:.60rem;}.month-cell em{font-size:.52rem;}}
@media(max-width:450px){.hours-row{grid-template-columns:1fr 95px 95px;gap:3px;padding:6px;}.hours-row .check-label{font-size:.72rem;}.month-cell{min-height:64px;}.month-cell small{display:none;}}

[hidden]{display:none!important;}

.day-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}

/* v1.1.1 corrective — user administration and availability clarity */
.team-card{padding:14px;border:1px solid #3b4c55;background:#232d34;border-radius:10px;display:grid;gap:11px}
.team-card .user-row{border:0;padding:0}.user-editor,.reset-user{border-top:1px solid #394b55;padding-top:11px}
.user-editor summary,.reset-user summary{cursor:pointer;color:var(--lime);font-size:12px;font-weight:800;letter-spacing:.03em}
.user-editor form,.reset-user form{display:grid;gap:11px;padding-top:13px}
.user-manage-row{display:flex;gap:9px;flex-wrap:wrap}.user-manage-row form{margin:0}
.inline-success{padding:11px;border:1px solid #639443;background:#293c25;color:#d6ffc5;border-radius:7px;font-size:13px;margin:10px 0}
.availability-warning{border:1px solid #95723f;background:#433528;color:#ffe0a6;padding:10px;border-radius:8px;margin:10px 0;font-size:12px}
