:root{--nav:#0d151b;--surface:#f4f6f7;--paper:#fff;--line:#dce2e5;--text:#15232c;--muted:#6c7a83;--blue:#079bd3;--green:#218a67;--amber:#b5791e;--red:#bd4850}*{box-sizing:border-box}body{margin:0;font-family:Arial,"Helvetica Neue",sans-serif;background:var(--surface);color:var(--text)}a{color:inherit}.auth{min-height:100vh;display:grid;grid-template-columns:420px 1fr}.auth-brand{background:#0d151b;padding:54px;color:white;display:flex;flex-direction:column;justify-content:space-between}.auth-brand img{width:210px;background:transparent!important;padding:0!important;height:auto;display:block;object-fit:contain}.auth-brand h1{font-size:38px;line-height:1.05;margin:40px 0 12px}.auth-brand p{color:#93a5af;line-height:1.6}.auth-main{display:grid;place-items:center;padding:35px}.auth-box{width:min(460px,100%);background:#fff;border:1px solid var(--line);padding:34px}.kicker{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#338db0;font-weight:bold}.auth-box h2{font-size:27px;margin:7px 0 25px}.field{display:grid;gap:6px;margin-bottom:15px}.field label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#5c6b74;font-weight:bold}.field input,.field textarea,.field select{width:100%;border:1px solid #cbd4d9;background:#fff;padding:11px;color:#17252e;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:#168db8;box-shadow:0 0 0 2px #dff4fb}.field textarea{min-height:120px;resize:vertical}.btn{display:inline-block;border:1px solid #b8c5cc;background:white;color:#233641;padding:10px 13px;cursor:pointer;font-size:12px;text-decoration:none}.btn.primary{background:#0b83b0;border-color:#0b83b0;color:white}.btn.danger{border-color:#d8a4a8;color:#a93b43}.btn.dark{background:#152630;color:#fff;border-color:#152630}.msg{padding:12px;border-left:3px solid var(--blue);background:#edf8fc;font-size:12px;margin-bottom:18px}.msg.error{border-color:var(--red);background:#fff1f2}.shell{min-height:100vh;display:grid;grid-template-columns:232px 1fr}.rail{background:var(--nav);color:#d8e1e6;min-height:100vh;position:fixed;width:232px;inset:0 auto 0 0;border-right:1px solid #1f2c35}.logo{height:96px;display:flex;align-items:center;padding:15px 20px;border-bottom:1px solid #26343e}.logo img{width:145px;background:transparent!important;padding:0!important;height:auto;display:block;object-fit:contain}.nav{padding:18px 9px}.nav a{color:#91a1ab;text-decoration:none;padding:12px;display:block;border-left:2px solid transparent;font-size:14px}.nav a:hover,.nav a.on{background:#121e26;color:#fff;border-left-color:var(--blue)}.workspace{grid-column:2;min-width:0}.bar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.page{padding:28px;max-width:1500px;margin:auto}.titleline{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid #bdc8ce;padding-bottom:18px;margin-bottom:24px}.titleline h1{font-size:28px;margin:3px 0 0}.summary{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);margin-bottom:22px}.metric{padding:18px 20px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.metric strong{font-size:28px;display:block;margin-top:8px}.panel{background:#fff;border:1px solid var(--line);margin-bottom:22px}.panelhead{padding:14px 17px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.panelhead h2{font-size:14px;margin:0}.queueitem{display:grid;grid-template-columns:90px 1fr auto;gap:15px;align-items:center;padding:15px 17px;border-bottom:1px solid var(--line)}.queueitem:last-child{border-bottom:0}.qid{font-family:monospace;font-size:11px;color:#71828c}.queueitem b{font-size:13px}.queueitem p{margin:3px 0 0;color:var(--muted);font-size:12px}.state{font-size:10px;text-transform:uppercase;border-left:3px solid var(--blue);padding-left:8px;color:#4e626d}.state.wait{border-color:#d2993d}.state.ok{border-color:#38a27d}.form{background:#fff;border:1px solid var(--line);padding:22px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.full{grid-column:1/-1}.actions{display:flex;gap:8px;flex-wrap:wrap}.note{border-left:3px solid var(--blue);background:#edf8fc;padding:12px 14px;font-size:12px;line-height:1.55;color:#405661}.week{overflow:auto;background:#fff;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{font-size:10px;text-transform:uppercase;color:var(--muted)}@media(max-width:800px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.shell{display:block}.rail{position:static;width:100%;min-height:0}.logo{height:70px}.nav{display:flex;overflow:auto;padding:5px}.nav a{white-space:nowrap}.workspace{grid-column:auto}.summary{grid-template-columns:1fr 1fr}.page{padding:18px 12px}.formgrid{grid-template-columns:1fr}.full{grid-column:auto}.queueitem{grid-template-columns:60px 1fr}.queueitem .btn,.queueitem .state{grid-column:2}}
.auth-box.wide{width:min(760px,100%)}.steps{display:grid;gap:8px;margin-top:34px;font-family:monospace;font-size:11px;letter-spacing:.08em;color:#7e939f}.sectionlabel{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#338db0;border-bottom:1px solid var(--line);padding-bottom:8px;margin:23px 0 16px}.sectionlabel:first-of-type{margin-top:0}.addresscheck{border:1px solid var(--line);padding:16px;background:#f8fafb}.addressinputs{grid-template-columns:1.1fr .65fr .65fr 1fr}.verifyfield .btn{width:100%}.addressresult{font-size:12px;color:var(--muted);padding:10px 12px;border-left:3px solid #aebbc2;background:#fff}.addressresult.ok{border-color:var(--blue);color:#284854;background:#edf8fc}.addressresult.bad{border-color:var(--red);color:#8c343b;background:#fff1f2}.addressresult.loading{border-color:#d2993d}.privacyline{font-size:11px;line-height:1.5;color:#73838c;margin:17px 0}.submitbtn{margin-right:12px}.textlink{font-size:12px;color:#405661}.successmark{width:42px;height:42px;border:1px solid var(--blue);display:grid;place-items:center;color:var(--blue);font-size:22px;margin:4px 0 18px}.mutedline{color:var(--muted);line-height:1.6;margin-bottom:22px}.empty{padding:17px;color:#6c7a83;font-size:12px}.panelmeta{font-size:10px;text-transform:uppercase;color:#71828c;letter-spacing:.08em}.online{font-size:20px!important}.queueitem form{margin:0}@media(max-width:950px){.addressinputs{grid-template-columns:1fr 1fr}.verifyfield{grid-column:1/-1}}@media(max-width:800px){.addressinputs{grid-template-columns:1fr}.verifyfield{grid-column:auto}.auth-box.wide{width:100%}}

/* V3 — planning */
.pad{padding:22px}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.filelink{display:block;padding:10px 0;border-top:1px solid #dfe5e8;color:#087fae;text-decoration:none}.muted{color:#72818a;font-size:12px}.slotcalendar{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin:18px 0}.slotday{border:1px solid #dce3e6;background:#fff;padding:12px}.slotday h3{font-size:13px;margin:0 0 10px;text-transform:uppercase}.slotlist{display:flex;flex-wrap:wrap;gap:6px}.slot input[name=time]{position:absolute;opacity:0;pointer-events:none}.slot span{display:block;border:1px solid #cbd6db;padding:7px 9px;font-size:12px;cursor:pointer}.slot input:checked+input+span,.slot input:checked+span{background:#087fae;color:#fff;border-color:#087fae}.weekgrid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));border:1px solid #d8e0e4;background:#fff;overflow-x:auto}.daycol{min-height:500px;border-right:1px solid #d8e0e4}.daycol:last-child{border-right:0}.dayhead{padding:12px;border-bottom:1px solid #d8e0e4;display:flex;justify-content:space-between;background:#f5f7f8;font-size:12px;text-transform:uppercase}.daybody{padding:8px}.dayempty{font-size:11px;color:#98a4aa;padding:8px}.calitem{display:block;padding:9px;margin-bottom:7px;border-left:3px solid #087fae;background:#f1f6f8;text-decoration:none;color:#17252e;font-size:11px}.calitem b,.calitem span,.calitem small{display:block}.calitem span{margin-top:4px;font-weight:700}.calitem small{margin-top:3px;color:#667780}.calitem.block{border-left-color:#7a8991;background:#f0f1f2}@media(max-width:1050px){.detailgrid{grid-template-columns:1fr}.slotcalendar{grid-template-columns:repeat(2,1fr)}.weekgrid{grid-template-columns:repeat(7,180px)}}@media(max-width:650px){.slotcalendar{grid-template-columns:1fr}}

/* V4 — SKEE Engineering UI */
:root{--nav:#0a1116;--surface:#eef2f4;--paper:#fff;--line:#cfd8dd;--text:#13222b;--muted:#65757f;--blue:#078fc5;--blue-dark:#087aa5;--red:#b94a52}body{background:linear-gradient(90deg,#e9eef0 1px,transparent 1px),linear-gradient(#e9eef0 1px,transparent 1px),var(--surface);background-size:32px 32px}.rail{background:linear-gradient(180deg,#091116,#0c171e);border-right:1px solid #22313a}.logo{height:108px;padding:18px 22px}.logo img{width:145px}.nav{padding:22px 12px}.nav a{display:grid;grid-template-columns:34px 1fr;align-items:center;padding:13px 12px;border-left:0;border-bottom:1px solid #17252e;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.nav a span{font-family:monospace;font-size:10px;color:#4f6978}.nav a:hover,.nav a.on{background:#101e27;border-left:0;box-shadow:inset 3px 0 0 var(--blue)}.nav a.on span{color:#26b8ef}.rail-foot{position:absolute;left:22px;bottom:24px;font-family:monospace;font-size:9px;line-height:1.8;letter-spacing:.12em;color:#526773}.rail-foot b{color:#8ba0ac}.bar{height:58px;font-family:monospace;font-size:10px;letter-spacing:.12em;color:#5e707a;padding:0 30px}.system-ok{color:#55766b}.page{padding:30px;max-width:1680px}.narrow-page{max-width:1180px}.titleline{align-items:center;border-bottom:1px solid #aebbc2;padding-bottom:20px;margin-bottom:24px}.titleline h1{font-size:31px;letter-spacing:-.03em}.subtitle{margin:7px 0 0;color:var(--muted);font-size:12px}.kicker{font-family:monospace;color:var(--blue-dark);letter-spacing:.18em}.btn{border-radius:0;font-weight:700;letter-spacing:.025em}.btn.primary{background:#087fae;border-color:#087fae}.status-chip{font-family:monospace;font-size:10px;letter-spacing:.1em;border:1px solid #9dc5d5;border-left:3px solid var(--blue);padding:9px 12px;background:#f6fbfd}.summary,.panel,.form,.workorder,.calendar-shell,.job-spec,.current-booking{box-shadow:0 8px 30px rgba(18,36,46,.035)}
/* real engineering week calendar */
.calendar-page{max-width:1800px}.calendar-shell{background:#fff;border:1px solid var(--line);min-width:900px}.calendar-head{display:grid;grid-template-columns:72px repeat(5,1fr);height:76px;border-bottom:1px solid #bac7cd}.time-head{display:flex;align-items:end;padding:0 10px 13px;font-family:monospace;font-size:9px;color:#7b8a92}.cal-day-title{padding:11px 15px;border-left:1px solid #d6dfe3;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center}.cal-day-title small{font-family:monospace;font-size:9px;color:#71818a;letter-spacing:.14em}.cal-day-title strong{grid-row:1/3;grid-column:2;font-size:28px;justify-self:end;font-weight:500}.cal-day-title span{font-size:10px;color:#839199}.cal-day-title.today{box-shadow:inset 0 -3px 0 var(--blue);background:#f5fbfd}.calendar-scroll{overflow:auto}.calendar-body{display:grid;grid-template-columns:72px repeat(5,1fr);height:var(--grid-h);min-width:900px}.time-axis{position:relative;background:#f8fafb;border-right:1px solid #d6dfe3}.time-label{position:absolute;right:10px;transform:translateY(-50%);font-family:monospace;font-size:9px;color:#7d8b93}.cal-day-track{position:relative;height:var(--grid-h);border-right:1px solid #d6dfe3;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--hour-h) / 2 - 1px),#edf1f3 calc(var(--hour-h) / 2 - 1px),#edf1f3 calc(var(--hour-h) / 2),transparent calc(var(--hour-h) / 2),transparent calc(var(--hour-h) - 1px),#d8e0e4 calc(var(--hour-h) - 1px),#d8e0e4 var(--hour-h))}.cal-day-track.today{background-color:#fbfdfe}.event{position:absolute;left:6px;right:6px;z-index:2;padding:7px 9px;overflow:hidden;text-decoration:none;border:1px solid #b9dce9;border-left:4px solid var(--blue);background:#eaf7fc;color:#15303d;font-size:10px;transition:.12s}.event:hover{z-index:5;box-shadow:0 5px 18px rgba(11,77,104,.16);transform:translateX(1px)}.event-time{font-family:monospace;font-size:9px;color:#39768e;margin-bottom:3px}.event b,.event span,.event small{display:block}.event b{font-size:11px}.event span{margin-top:2px;color:#4f6671}.event small{font-family:monospace;margin-top:4px;color:#7c9099}.event.block{border-color:#d2d7da;border-left-color:#778791;background:repeating-linear-gradient(135deg,#f1f3f4,#f1f3f4 6px,#e8ecee 6px,#e8ecee 12px);color:#52636c}.now-line{position:absolute;left:0;right:0;height:1px;background:#e5525d;z-index:4;pointer-events:none}.now-line i{position:absolute;width:7px;height:7px;border-radius:50%;background:#e5525d;left:-3px;top:-3px}.calendar-legend{display:flex;gap:20px;align-items:center;padding:12px 2px;font-size:10px;color:#6d7d85}.calendar-legend span:last-child{margin-left:auto}.leg{width:13px;height:8px;display:inline-block;margin-right:5px;border-left:3px solid var(--blue);background:#eaf7fc}.leg.block{border-left-color:#778791;background:#e8ecee}
/* customer work order */
.workorder{display:grid;grid-template-columns:1fr 260px;background:#fff;border:1px solid var(--line);margin-bottom:18px}.workorder-main{padding:25px 28px}.workorder-side{border-left:1px solid var(--line);background:#f7f9fa}.appointment-hero{display:flex;align-items:center;gap:20px;margin:7px 0 28px}.date-block{width:76px;height:76px;border:1px solid #b8c7ce;border-top:3px solid var(--blue);display:grid;place-items:center;align-content:center}.date-block strong{font-size:31px;line-height:1}.date-block span{font-family:monospace;font-size:9px;letter-spacing:.14em;margin-top:5px}.appointment-hero h2{font-size:25px;margin:0 0 5px}.appointment-hero p{margin:0;color:var(--muted)}.workcopy{font-size:14px;line-height:1.7}.spec{padding:20px;border-bottom:1px solid var(--line)}.spec small{font-family:monospace;display:block;font-size:9px;letter-spacing:.12em;color:#778891;margin-bottom:7px}.spec b{font-size:12px}.action-strip{background:#101b22;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:18px 20px;gap:20px}.action-strip b,.action-strip span{display:block}.action-strip b{font-size:13px}.action-strip span{font-size:10px;color:#8fa0aa;margin-top:4px}
/* customer slot planner */
.current-booking{border:1px solid #b9d8e4;border-left:4px solid var(--blue);background:#f4fbfd;padding:14px 18px;margin-bottom:18px;display:flex;gap:18px;align-items:center}.current-booking span{font-family:monospace;font-size:9px;letter-spacing:.12em;color:#4c7586}.current-booking b{font-size:13px}.current-booking small{color:#6c7c84}.schedule-layout{display:grid;grid-template-columns:270px 1fr;gap:18px}.job-spec{background:#0e1920;color:#e8eef1;border:1px solid #263740;padding:22px;align-self:start}.job-spec .sectionlabel{color:#55bce3;border-color:#30434e}.job-spec h2{font-size:18px}.job-spec p{color:#9eb0ba;font-size:12px;line-height:1.6}.job-spec dl{margin-top:25px}.job-spec dt{font-family:monospace;font-size:9px;color:#6f8794;letter-spacing:.1em;margin-top:15px}.job-spec dd{margin:4px 0 0;font-size:11px}.engineering-slots{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:8px;margin:0}.engineering-slots .slotday{padding:0;background:#fff}.slotday-head{height:75px;border-bottom:1px solid var(--line);padding:10px;display:grid;grid-template-columns:1fr auto;align-items:center}.slotday-head small{font-family:monospace;color:#6e7f88;font-size:9px}.slotday-head strong{font-size:26px;grid-row:1/3;grid-column:2}.slotday-head span{font-size:9px;color:#85939a}.engineering-slots .slotlist{padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:5px}.slot{position:relative}.slot input[name=time]{position:absolute;opacity:0}.slot span{font-family:monospace;text-align:center;padding:8px 5px;border:1px solid #d3dce0;background:#f8fafb}.slot input:checked+span{background:#087fae;color:#fff;border-color:#087fae;box-shadow:inset 0 0 0 1px #fff}.schedule-confirm{position:sticky;bottom:0;margin-top:12px;background:#fff;border:1px solid #bdc9cf;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 -8px 20px rgba(22,38,46,.05)}.schedule-confirm span{font-family:monospace;font-size:10px;color:#60717a}
@media(max-width:1100px){.calendar-shell{min-width:780px}.calendar-body,.calendar-head{min-width:780px}.schedule-layout{grid-template-columns:1fr}.job-spec{display:grid;grid-template-columns:1fr 1fr;gap:15px}.engineering-slots{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.rail-foot{display:none}.bar{padding:0 14px}.page{padding:18px 12px}.calendar-page{overflow:hidden}.calendar-shell{min-width:0}.calendar-head{grid-template-columns:55px repeat(5,150px);min-width:805px}.calendar-body{grid-template-columns:55px repeat(5,150px);min-width:805px}.calendar-scroll{overflow-x:auto}.workorder{grid-template-columns:1fr}.workorder-side{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.action-strip{align-items:flex-start;flex-direction:column}.engineering-slots{grid-template-columns:repeat(2,1fr)}.job-spec{display:block}.calendar-legend{flex-wrap:wrap}.calendar-legend span:last-child{margin-left:0;width:100%}}
@media(max-width:520px){.workorder-side{grid-template-columns:1fr}.appointment-hero h2{font-size:20px}.engineering-slots{grid-template-columns:1fr}.schedule-confirm{align-items:flex-start;gap:10px;flex-direction:column}.current-booking{align-items:flex-start;flex-direction:column;gap:5px}}


/* =========================================================
   SKEE V7 — unified portal UI / responsive planning system
   ========================================================= */
:root{
 --nav:#091219;--nav-2:#0d1a22;--surface:#f1f4f6;--paper:#fff;
 --line:#d4dde2;--line-strong:#b9c7ce;--text:#12232d;--muted:#687b86;
 --blue:#078fc5;--blue-dark:#056f99;--blue-soft:#eaf7fc;--danger:#b8424b;
 --shadow:0 12px 35px rgba(14,34,45,.055);--radius:2px
}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;font-size:14px;line-height:1.45;
 background:linear-gradient(90deg,rgba(25,55,70,.025) 1px,transparent 1px),
 linear-gradient(rgba(25,55,70,.025) 1px,transparent 1px),var(--surface);background-size:32px 32px}
button,input,select,textarea{font:inherit}
h1,h2,h3,b,strong{letter-spacing:-.012em}
.shell{grid-template-columns:220px minmax(0,1fr)}
.rail{width:220px}
.logo{height:92px;padding:15px 18px}.logo img{width:126px}
.nav{padding:16px 10px}.nav a{grid-template-columns:30px 1fr;padding:12px 11px;font-size:11px;letter-spacing:.055em}
.workspace{min-width:0}.bar{height:54px;padding:0 24px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px)}
.page{padding:28px 30px}.titleline{gap:18px}.titleline h1{font-size:30px;font-weight:650}
.subtitle{font-size:12px;max-width:760px}.kicker{font-size:9px}
.panel,.form,.summary,.calendar-shell,.job-spec,.current-booking,.workorder{box-shadow:var(--shadow);border-color:var(--line)}
.panelhead{min-height:48px}.panelhead h2{font-size:13px}
.btn{min-height:36px;padding:9px 13px;border-color:#b9c8cf;background:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn:hover{border-color:#7daec1;background:#f7fbfc}.btn.primary{background:var(--blue-dark);border-color:var(--blue-dark)}.btn.primary:hover{background:#075f80}
.field input,.field textarea,.field select{min-height:42px;padding:10px 12px;border-color:#c5d1d7}.field label{font-size:10px}
.queueitem{min-height:64px}.state{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px}
.actions{align-items:center}.detailgrid{align-items:start}.pad{padding:22px}
.msg{font-size:12px}

/* Calendars — desktop */
.calendar-page{max-width:1780px}
.calendar-shell{min-width:0;overflow:hidden}
.calendar-head{grid-template-columns:68px repeat(5,minmax(145px,1fr));height:70px}
.calendar-body{grid-template-columns:68px repeat(5,minmax(145px,1fr));min-width:0}
.cal-day-title{padding:9px 12px}.cal-day-title strong{font-size:25px}
.event{left:5px;right:5px;padding:6px 8px;border-left-width:3px;box-shadow:0 2px 7px rgba(15,62,82,.04)}
.event b{font-size:10.5px;line-height:1.25}.event span{font-size:9.5px;line-height:1.25}.event small,.event-time{font-size:8.5px}
.calendar-mobile-tabs{display:none}
.calendar-legend{font-size:9.5px}

/* Planner */
.schedule-layout{gap:18px}.job-spec{min-width:0}
.planner-toolbar{background:#fff;border:1px solid var(--line);padding:9px 10px;margin-bottom:10px!important}
.customer-week{min-width:0!important;box-shadow:var(--shadow)}
.customer-week-head{grid-template-columns:62px repeat(5,minmax(120px,1fr))!important}
.customer-week-body{grid-template-columns:62px repeat(5,minmax(120px,1fr))!important}
.start-slot{border-radius:0!important;font-size:9px!important}
.schedule-confirm{border-top:2px solid var(--blue);box-shadow:0 -10px 28px rgba(15,42,55,.08)}
.mobile-day-tabs{display:none}

/* customer/admin dossier readability */
dl{margin:0}dt{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:12px}dd{margin:3px 0 0;font-weight:600}
hr{border:0;border-top:1px solid var(--line);margin:20px 0}

/* tablet */
@media(max-width:1050px){
 .shell{grid-template-columns:190px minmax(0,1fr)}.rail{width:190px}.page{padding:24px 20px}
 .calendar-head,.calendar-body{grid-template-columns:60px repeat(5,minmax(130px,1fr));min-width:710px}
 .calendar-shell{overflow:auto}
}

/* mobile — portal chrome */
@media(max-width:800px){
 body{background:var(--surface)}
 .shell{display:block}.rail{position:sticky;top:0;z-index:50;width:100%;min-height:0;background:var(--nav)}
 .logo{height:58px;padding:8px 14px;border-bottom:1px solid #1d303b}.logo img{width:105px;padding:0!important;background:transparent!important}
 .nav{display:flex;gap:0;overflow-x:auto;padding:0 8px;border-top:1px solid #172a34;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}
 .nav a{display:flex;gap:6px;grid-template-columns:none;align-items:center;min-height:44px;padding:0 11px;border:0;border-bottom:2px solid transparent;font-size:10px;white-space:nowrap}
 .nav a span{font-size:8px}.nav a:hover,.nav a.on{box-shadow:none;background:transparent;border-bottom-color:var(--blue)}
 .workspace{width:100%}.bar{display:none}.page{padding:18px 14px}
 .titleline{display:flex;align-items:flex-start;flex-direction:column;padding-bottom:15px;margin-bottom:16px}.titleline h1{font-size:25px;margin-top:4px}.titleline .actions{width:100%}
 .titleline .actions .btn{flex:1}.summary{grid-template-columns:1fr 1fr}.metric{padding:14px}.metric strong{font-size:22px}
 .form,.panel,.pad{padding:16px}.panel{padding:0}.panel.pad{padding:16px}.formgrid,.detailgrid{grid-template-columns:1fr}
 .queueitem{grid-template-columns:54px minmax(0,1fr);padding:13px 12px;gap:10px}.queueitem .actions{grid-column:1/-1;justify-content:flex-end}.queueitem .actions .btn{flex:1}
 .workorder-side{grid-template-columns:1fr!important}.schedule-layout{display:block}.job-spec{margin-bottom:14px}
 .current-booking{padding:12px}.schedule-confirm{position:sticky;bottom:0;z-index:30;margin-left:-14px;margin-right:-14px;padding:12px 14px}
}

/* Mobile calendar: one real day at a time, not a squeezed week */
@media(max-width:800px){
 .calendar-page{overflow:visible}
 .calendar-mobile-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;width:100%;margin:0 0 10px}
 .calendar-mobile-tabs button{border:1px solid var(--line);background:#fff;padding:8px 2px;font-size:9px;font-weight:700;color:#526873}
 .calendar-mobile-tabs button.active{background:var(--nav-2);border-color:var(--nav-2);color:#fff;box-shadow:inset 0 -2px 0 var(--blue)}
 .calendar-shell{width:100%;overflow:hidden}
 .calendar-head{display:grid;grid-template-columns:56px minmax(0,1fr)!important;min-width:0!important;height:62px}
 .calendar-head .cal-day-title{display:none}.calendar-head .cal-day-title.mobile-active{display:grid}
 .calendar-body{display:grid;grid-template-columns:56px minmax(0,1fr)!important;min-width:0!important}
 .calendar-body .cal-day-track{display:none}.calendar-body .cal-day-track.mobile-active{display:block}
 .time-label{right:7px;font-size:8px}.cal-day-title strong{font-size:23px}
 .event{left:5px;right:5px;padding:6px 7px}.event b{font-size:11px}.event span{font-size:9.5px}
 .calendar-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.calendar-legend span:last-child{grid-column:1/-1;margin:0}
}

/* Mobile booking planner: one day per screen */
@media(max-width:800px){
 .planner-toolbar{align-items:stretch!important}.planner-toolbar .week-actions{display:grid;grid-template-columns:1fr 1fr 1fr}.planner-toolbar button{padding:8px 4px}
 .mobile-day-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:8px 0}
 .mobile-day-tabs button{border:1px solid var(--line);background:#fff;padding:8px 2px;font-size:9px;font-weight:700}
 .mobile-day-tabs button.active{background:var(--nav-2);border-color:var(--nav-2);color:#fff;box-shadow:inset 0 -2px 0 var(--blue)}
 .planner-scroll{overflow:hidden!important}
 .customer-week{width:100%;min-width:0!important}
 .customer-week-head{grid-template-columns:54px minmax(0,1fr)!important;min-width:0!important}
 .customer-week-body{grid-template-columns:54px minmax(0,1fr)!important;min-width:0!important}
 .customer-day-head{display:none}.customer-day-head.mobile-active{display:grid}
 .customer-day{display:none}.customer-day.mobile-active{display:block}
 .customer-time{right:7px}
 .privacy-note{font-size:10px}
 .schedule-confirm{align-items:stretch!important;flex-direction:column!important}.schedule-confirm .btn{width:100%}
}
@media(max-width:430px){
 .page{padding:15px 10px}.titleline h1{font-size:23px}.btn{min-height:38px}
 .summary{grid-template-columns:1fr}.metric{border-right:0;border-bottom:1px solid var(--line)}
 .queueitem{grid-template-columns:1fr}.qid{margin-bottom:-5px}.queueitem .actions{grid-column:auto}
 .calendar-mobile-tabs,.mobile-day-tabs{gap:3px}.calendar-mobile-tabs button,.mobile-day-tabs button{font-size:8px}
}

/* SKEE logo transparency fix — login, registration and portal */
.auth-brand img,
.logo img{
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
  border:0!important;
}
.auth-brand img{width:210px!important;height:auto!important;object-fit:contain!important}
