:root{
  --blue:#00458c;
  --blue-deep:#00305f;
  --blue-night:#052b4b;
  --green:#517a25;
  --green-dark:#3d6019;
  --green-bright:#7fb539;
  --green-pale:#eff7e8;
  --ink:#17334e;
  --muted:#687b8d;
  --canvas:#f3f7f9;
  --white:#fff;
  --line:#dce5e9;
  --danger:#9f3440;
  --danger-pale:#fff1f2;
  --success:#326918;
  --success-pale:#eff9e9;
  --shadow:0 20px 55px rgba(0,48,95,.12);
  --shadow-soft:0 10px 30px rgba(0,48,95,.07);
  --radius:20px;
  --shell:1240px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{font-size:100%;scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--canvas);font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
img{max-width:100%;height:auto}
a{color:var(--blue)}
h1,h2,h3{margin:0;color:var(--blue);font-family:"Manrope",sans-serif;letter-spacing:-.035em;line-height:1.08}
h1{font-size:clamp(2.3rem,5vw,4.7rem)}
h2{font-size:clamp(1.35rem,2vw,2rem)}
h3{font-size:1.1rem}
p{margin:0 0 1.15em}
:focus-visible{outline:3px solid rgba(127,181,57,.55);outline-offset:3px}
.shell,.staff-shell{width:min(calc(100% - 42px),var(--shell));margin-inline:auto}
.narrow-shell{max-width:880px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:1000;top:10px;left:10px;padding:10px 15px;border-radius:8px;color:#fff;background:var(--green);text-decoration:none;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.public-header,.staff-header{position:sticky;z-index:100;top:0;border-bottom:1px solid rgba(0,69,140,.12);background:rgba(255,255,255,.96);backdrop-filter:blur(16px);box-shadow:0 7px 22px rgba(0,48,95,.05)}
.header-inner,.staff-header{min-height:78px;display:flex;align-items:center;gap:26px}
.hub-brand{display:flex;align-items:center;gap:12px;color:var(--blue);text-decoration:none}
.hub-brand img{width:43px;height:43px;object-fit:contain}
.hub-brand>span{display:grid;font-family:"Manrope",sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:-.03em;line-height:1.03}
.hub-brand>span strong{display:inline;color:var(--green)}
.hub-brand small{margin-top:4px;color:var(--green);font-family:"DM Sans",sans-serif;font-size:.59rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.public-nav,.staff-nav{display:flex;align-items:center;gap:3px;margin-left:auto}
.public-nav a,.staff-nav a{padding:10px 13px;border-radius:10px;color:#38546a;font-size:.88rem;font-weight:700;text-decoration:none}
.public-nav a:hover,.public-nav a.is-active,.staff-nav a:hover,.staff-nav a.is-active{color:var(--green-dark);background:var(--green-pale)}
.nav-toggle{display:none;margin-left:auto;padding:9px 13px;border:1px solid var(--line);border-radius:9px;color:var(--blue);background:#fff;font-weight:800}
.public-main,.staff-main{min-height:calc(100vh - 78px)}
.eyebrow{margin:0 0 11px;color:var(--green);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.eyebrow--light{color:#b8e279}
.lead{max-width:730px;margin-top:16px;color:var(--muted);font-size:1.08rem}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:1px solid transparent;border-radius:999px;font-weight:800;line-height:1;text-align:center;text-decoration:none;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}
.button:hover{transform:translateY(-2px)}
.button--green{color:#fff;background:var(--green);box-shadow:0 10px 24px rgba(61,96,25,.22)}
.button--green:hover{background:var(--green-dark)}
.button--blue{color:#fff;background:var(--blue)}
.button--danger{color:#fff;background:var(--danger);box-shadow:0 10px 24px rgba(159,52,64,.2)}
.button--danger:hover{background:#7e2630}
.button--outline-light{color:#fff;border-color:rgba(255,255,255,.4);background:transparent}
.button--outline-light:hover{background:rgba(255,255,255,.1)}
.button--ghost{color:var(--blue);border-color:#c7d5dc;background:#fff}
.button--wide{width:100%}
.hub-hero{position:relative;overflow:hidden;padding:clamp(75px,10vw,130px) 0;color:#d9e8f2;background:radial-gradient(circle at 85% 10%,rgba(127,181,57,.3),transparent 28%),linear-gradient(135deg,var(--blue-night),var(--blue))}
.hub-hero::before{position:absolute;right:-120px;bottom:-220px;width:500px;height:500px;border:1px solid rgba(255,255,255,.08);border-radius:50%;content:""}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.7fr);gap:clamp(45px,8vw,105px);align-items:center}
.hub-hero h1{color:#fff}
.hub-hero h1 span{color:#a7db67}
.hub-hero>div>div:first-child>p:not(.eyebrow){max-width:660px;margin-top:24px;font-size:clamp(1.05rem,1.7vw,1.25rem)}
.hero-panel{padding:28px;border:1px solid rgba(255,255,255,.16);border-radius:26px;background:rgba(4,35,61,.42);box-shadow:0 28px 70px rgba(0,19,38,.28);backdrop-filter:blur(10px)}
.panel-kicker{color:#b8e279;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.hero-panel ol{display:grid;gap:6px;margin:18px 0 0;padding:0;list-style:none}
.hero-panel li{display:grid;grid-template-columns:42px 1fr;gap:2px 13px;padding:13px 0;border-top:1px solid rgba(255,255,255,.11)}
.hero-panel li span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#fff;background:var(--green);font-size:.69rem;font-weight:800}
.hero-panel li strong{color:#fff}
.hero-panel li small{color:#bcd0de}
.hub-login-panel h2{margin-top:6px;color:#fff;font-size:clamp(1.55rem,2.5vw,2.15rem)}
.hub-login-panel>p:not(.panel-kicker){margin:13px 0 20px;color:#c6d8e4}
.hub-login-panel>small{display:block;margin-top:13px;color:#bcd0de;font-size:.76rem;text-align:center}
.hero-login-form{display:grid;gap:12px}
.hero-login-form label{display:grid;gap:7px;color:#fff;font-size:.79rem;font-weight:800}
.hero-login-form input{width:100%;min-height:50px;padding:11px 14px;border:1px solid rgba(255,255,255,.3);border-radius:11px;color:var(--ink);background:#fff}
.hero-login-form input:focus{border-color:#a7db67;box-shadow:0 0 0 4px rgba(167,219,103,.18);outline:0}
.feature-section,.page-section,.staff-section{padding:clamp(55px,8vw,100px) 0}
.section-heading{max-width:760px;margin-bottom:34px}
.section-heading h2{font-size:clamp(2rem,4vw,3.4rem)}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.feature-grid article,.catalogue-card,.repair-card,.content-card,.staff-card,.empty-card,.flow-card,.form-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-soft)}
.feature-grid article{min-height:280px;display:flex;flex-direction:column;padding:26px}
.feature-grid article>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;color:var(--green-dark);background:var(--green-pale);font-family:"Manrope",sans-serif;font-size:1.2rem;font-weight:800}
.feature-grid article h3{margin-top:28px}
.feature-grid article p{color:var(--muted);font-size:.92rem}
.feature-grid article a{margin-top:auto;color:var(--green-dark);font-size:.85rem;font-weight:800;text-decoration:none}
.location-strip{padding:55px 0;color:#d8e6ef;background:var(--blue-night)}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.location-grid>div+div{padding-left:65px;border-left:1px solid rgba(255,255,255,.15)}
.location-strip h2{color:#fff}
.location-strip .eyebrow{color:#b8e279}
.location-strip p:last-child{margin-bottom:0;color:#bcd0de}
.page-section--tint{background:linear-gradient(180deg,#eef4f6,var(--canvas))}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:34px;margin-bottom:38px}
.page-head h1{font-size:clamp(2.35rem,5vw,4.2rem)}
.page-head .button{flex:0 0 auto}
.page-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.customer-notice{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:clamp(28px,5vw,60px);margin-bottom:22px;padding:clamp(24px,4vw,36px);border:1px solid #c4d5df;border-left:5px solid var(--green);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft)}
.customer-notice h2{font-size:clamp(1.55rem,3vw,2.3rem)}
.customer-notice p{color:var(--muted);font-size:.92rem}
.customer-notice p:last-of-type{margin-bottom:12px}
.customer-notice a{color:var(--green-dark);font-size:.86rem;font-weight:800;text-decoration:none}
.pricing-finder{margin-bottom:22px;padding:clamp(24px,4vw,36px);border:1px solid #bfd1dd;border-radius:24px;background:linear-gradient(135deg,#fff,#f0f6f8);box-shadow:var(--shadow-soft)}
.pricing-finder__head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}
.pricing-finder__head .eyebrow{margin-bottom:8px}
.pricing-finder__steps{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pricing-finder__steps label{display:grid;gap:9px;color:var(--ink);font-size:.86rem;font-weight:800}
.pricing-finder__steps label>span{display:flex;align-items:center;gap:9px}
.pricing-finder__steps label b{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--blue);font-family:"Manrope",sans-serif;font-size:.73rem}
.pricing-finder__steps select{width:100%;min-height:52px;padding:11px 44px 11px 15px;border:1px solid #b9cbd6;border-radius:12px;color:var(--ink);background:#fff}
.pricing-finder__steps select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(81,122,37,.11);outline:0}
.pricing-finder__steps select:disabled{color:#81909c;background:#edf1f3;cursor:not-allowed}
.pricing-finder__prompt,.pricing-finder__summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:17px 19px;border-radius:13px}
.pricing-finder__prompt{color:#4b6475;background:#e9f1f5}
.pricing-finder__prompt span{font-size:.9rem}
.pricing-finder__summary{color:#365720;background:var(--green-pale)}
.pricing-finder__summary strong{color:var(--green-dark);font-family:"Manrope",sans-serif;font-size:1.05rem}
.pricing-finder__summary span{font-size:.85rem;font-weight:800}
.pricing-reset{padding:7px 0;border:0;border-bottom:1px solid currentColor;color:var(--blue);background:transparent;font-size:.82rem;font-weight:800;cursor:pointer}
.catalogue-toolbar{display:flex;justify-content:flex-end;margin-bottom:18px}
.catalogue-toolbar label{width:min(100%,480px);display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:800}
.catalogue-toolbar input,.filter-bar input,.filter-bar select{min-height:48px;padding:11px 16px;border:1px solid #c6d4dc;border-radius:999px;color:var(--ink);background:#fff}
.catalogue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.catalogue-card{min-height:260px;display:flex;flex-direction:column;padding:25px}
.catalogue-card[hidden]{display:none}
.card-category{margin-bottom:8px;color:var(--green);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.card-device{margin:0 0 8px;color:var(--muted);font-size:.8rem;font-weight:800}
.catalogue-price{display:block;margin:25px 0 12px;color:var(--blue);font-family:"Manrope",sans-serif;font-size:1.5rem}
.catalogue-card>p{color:var(--muted);font-size:.9rem}
.catalogue-card>small{margin-top:auto;color:var(--green-dark);font-weight:700}
.empty-search,.empty-card{padding:42px;text-align:center}
.hub-form{display:grid;gap:18px}
.hub-form label{display:grid;gap:7px;color:var(--ink);font-size:.84rem;font-weight:800}
.hub-form input,.hub-form select,.hub-form textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid #c7d5dc;border-radius:10px;color:var(--ink);background:#fff}
.hub-form textarea{resize:vertical}
.hub-form input:focus,.hub-form select:focus,.hub-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(81,122,37,.11);outline:0}
.booking-form{gap:20px}
.form-card{padding:clamp(24px,4vw,34px)}
.form-step{display:flex;align-items:flex-start;gap:16px;margin-bottom:26px}
.form-step>span{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--blue);font-family:"Manrope",sans-serif;font-size:.83rem;font-weight:800}
.form-step p{margin:5px 0 0;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-span{grid-column:1/-1}
.form-note{margin-top:22px;padding:17px 19px;border-left:4px solid var(--green);border-radius:5px 12px 12px 5px;background:var(--green-pale)}
.form-note p{margin:5px 0 0;color:#4f6743;font-size:.9rem}
.form-note--dropoff{margin:0 0 22px;border-left-color:var(--blue);background:#edf4f8}
.form-note--dropoff p{color:#496274}
.linked-repair-picker{padding:clamp(20px,3vw,28px);border:1px solid #c5d6df;border-radius:18px;background:linear-gradient(145deg,#f7fafb,#edf4f7)}
.linked-repair-picker select optgroup{color:var(--blue);font-weight:800}
.manual-device-fields{margin-top:18px;padding:19px;border:1px solid #d6e2e8;border-radius:13px;background:#fff}
.manual-device-fields p{margin:2px 0 0;color:var(--muted);font-size:.82rem}
.repair-choice{margin-top:20px}
.device-picker-status{margin-top:13px;color:#526b7d;font-size:.84rem;font-weight:700}
.repair-price-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 25px;align-items:start;margin-top:18px;padding:20px;border-left:5px solid var(--green);border-radius:6px 14px 14px 6px;background:#fff;box-shadow:var(--shadow-soft)}
.repair-price-preview>div{display:grid}
.repair-price-preview>div span{color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.repair-price-preview>div strong{color:var(--ink);font-family:"Manrope",sans-serif}
.repair-price-preview__price{grid-column:2;grid-row:1;color:var(--blue);font-family:"Manrope",sans-serif;font-size:1.35rem}
.repair-price-preview p,.repair-price-preview small{grid-column:1/-1;margin:0;color:var(--muted);font-size:.82rem}
.repair-price-preview small{color:var(--green-dark);font-weight:800}
.issue-field{margin-top:24px}
.alert{margin:0 0 24px;padding:15px 18px;border:1px solid;border-radius:12px;font-weight:650}
.alert ul{margin:8px 0 0;padding-left:20px}
.alert--success{color:var(--success);border-color:#badba6;background:var(--success-pale)}
.alert--error{color:#7e2630;border-color:#e4b5ba;background:var(--danger-pale)}
.flash-wrap{padding-top:24px}
.auth-section,.staff-auth{min-height:calc(100vh - 78px);display:grid;place-items:center;padding:65px 20px;background:radial-gradient(circle at 80% 12%,rgba(127,181,57,.22),transparent 26%),linear-gradient(135deg,var(--blue-night),var(--blue))}
.auth-card,.staff-auth-card{width:min(100%,540px);padding:clamp(30px,5vw,50px);border-radius:26px;background:#fff;box-shadow:0 35px 90px rgba(0,20,40,.3)}
.auth-card>p:not(.eyebrow),.staff-auth-card>p:not(.eyebrow){color:var(--muted)}
.auth-card>.hub-form,.staff-auth-card>.hub-form{margin:28px 0 18px}
.auth-card>small{display:block;color:var(--muted);text-align:center}
.repair-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}
.repair-card{min-height:240px;display:flex;flex-direction:column;padding:26px;color:var(--ink);text-decoration:none;transition:.2s}
.repair-card:hover{border-color:#b6cda8;box-shadow:var(--shadow);transform:translateY(-3px)}
.repair-card__top{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--muted);font-size:.78rem;font-weight:800}
.repair-card h2{margin-top:25px}
.repair-card dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}
.repair-card dt,.detail-list dt,.detail-grid dt{color:var(--muted);font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.repair-card dd,.detail-list dd,.detail-grid dd{margin:4px 0 0;font-size:.87rem}
.repair-card>a,.repair-card>strong{margin-top:auto;color:var(--green-dark);font-size:.86rem}
.status{display:inline-flex;align-items:center;width:fit-content;padding:6px 10px;border-radius:999px;color:var(--blue);background:#e7f0f7;font-size:.68rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.status--ready,.status--collected,.status--quality-check{color:var(--green-dark);background:var(--green-pale)}
.status--awaiting-approval,.status--waiting-customer,.status--parts-ordered{color:#7b510a;background:#fff0cd}
.status--cancelled,.status--no-fault-found{color:#fff;background:#707e89}
.back-link{display:inline-block;margin-bottom:23px;color:var(--green-dark);font-size:.85rem;font-weight:800;text-decoration:none}
.ticket-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:22px;padding:30px;border-radius:var(--radius);color:#d5e5ef;background:linear-gradient(130deg,var(--blue-night),var(--blue));box-shadow:var(--shadow)}
.ticket-hero h1{color:#fff;font-size:clamp(2rem,4vw,3.3rem)}
.ticket-hero p:last-child{max-width:700px;margin:13px 0 0;color:#bed2df}
.ticket-hero .eyebrow{color:#b8e279}
.ticket-hero>.status{margin-top:4px}
.flow-card{margin-bottom:20px;padding:27px}
.flow-card h2{margin-bottom:24px}
.repair-flow{position:relative;display:grid;grid-template-columns:repeat(9,1fr);gap:5px;margin:0;padding:0;list-style:none}
.repair-flow::before{position:absolute;top:17px;right:4%;left:4%;height:3px;background:#e4ebef;content:""}
.repair-flow li{position:relative;display:grid;gap:8px;justify-items:center;text-align:center}
.repair-flow li>span{z-index:1;width:36px;height:36px;display:grid;place-items:center;border:3px solid #e4ebef;border-radius:50%;color:var(--muted);background:#fff;font-size:.72rem;font-weight:900}
.repair-flow li strong{max-width:94px;color:var(--muted);font-size:.66rem;line-height:1.18}
.repair-flow li.is-complete>span{color:#fff;border-color:var(--green);background:var(--green)}
.repair-flow li.is-current>span{color:#fff;border-color:var(--blue);background:var(--blue);box-shadow:0 0 0 5px rgba(0,69,140,.11)}
.repair-flow li.is-complete strong,.repair-flow li.is-current strong{color:var(--ink)}
.flow-exception{display:flex;justify-content:center}
.ticket-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px;align-items:start}
.ticket-main,.ticket-side{display:grid;gap:20px}
.ticket-side{position:sticky;top:99px}
.content-card,.staff-card{padding:27px}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.card-head>a{font-size:.84rem;font-weight:800;text-decoration:none}
.quote-card{border-top:5px solid var(--green)}
.quote-card>.card-head>strong{color:var(--blue);font-family:"Manrope",sans-serif;font-size:1.8rem}
.line-list,.simple-list{display:grid;gap:0}
.line-list>div,.simple-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid var(--line)}
.simple-list span{display:grid}
.simple-list small{color:var(--muted)}
.quote-actions{display:flex;gap:10px;margin-top:24px}
.timeline{display:grid;gap:0;margin:0;padding:0;list-style:none}
.timeline li{position:relative;display:grid;grid-template-columns:18px 1fr;gap:13px;padding-bottom:25px}
.timeline li:last-child{padding-bottom:0}
.timeline li>span{z-index:1;width:14px;height:14px;margin-top:5px;border:3px solid #fff;border-radius:50%;background:var(--green);box-shadow:0 0 0 2px var(--green)}
.timeline li:not(:last-child)::before{position:absolute;top:17px;bottom:-2px;left:6px;width:2px;background:#dce8d3;content:""}
.timeline li div{display:grid;grid-template-columns:1fr auto;gap:4px 16px}
.timeline time{color:var(--muted);font-size:.75rem}
.timeline p{grid-column:1/-1;margin:4px 0 0;color:var(--muted)}
.timeline small{grid-column:1/-1;color:var(--green-dark);font-weight:700}
.note-list{display:grid;gap:12px;margin-top:20px}
.note-list article{padding:17px 18px;border-radius:12px;background:var(--canvas)}
.note-list article p{margin-bottom:6px}
.note-list article small{color:var(--muted)}
.detail-list,.detail-grid{display:grid;gap:0;margin:0}
.detail-list>div,.detail-grid>div{padding:12px 0;border-top:1px solid var(--line)}
.detail-list dd,.detail-grid dd{overflow-wrap:anywhere}
.muted{color:var(--muted)}
.warranty-panel{display:grid;gap:5px;padding:16px;border-radius:12px;background:var(--green-pale)}
.warranty-panel>span{color:var(--green-dark);font-size:.82rem;font-weight:800}
.warranty-panel p{margin:3px 0 0;color:#4f6743;font-size:.83rem}
.hub-footer{padding:45px 0;color:#c2d3df;background:#03243f}
.footer-inner{display:flex;justify-content:space-between;gap:40px}
.footer-inner strong{color:#fff;font-family:"Manrope",sans-serif}
.footer-inner p{max-width:550px;margin:8px 0 0;color:#9fb7c8;font-size:.85rem}
.footer-inner>div:last-child{display:flex;flex-wrap:wrap;gap:18px}
.footer-inner a{color:#dbe8f1;font-size:.83rem;font-weight:700;text-decoration:none}
.staff-header{padding:10px max(22px,calc((100vw - var(--shell))/2))}
.staff-identity{margin-left:12px;color:var(--muted);font-size:.78rem;font-weight:800}
.staff-section{min-height:0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}
.stats-grid article{display:grid;gap:12px;padding:23px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow-soft)}
.stats-grid article span{color:var(--muted);font-size:.76rem;font-weight:800}
.stats-grid article strong{color:var(--blue);font-family:"Manrope",sans-serif;font-size:2.4rem;line-height:1}
.staff-table{overflow:hidden;margin:-27px;border-radius:var(--radius)}
.staff-row{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(220px,1fr) minmax(160px,.6fr) minmax(140px,.5fr);gap:20px;align-items:center;padding:17px 22px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.staff-row:last-child{border-bottom:0}
a.staff-row:hover{background:#f8fbf6}
.staff-row--head{padding-block:12px;color:var(--muted);background:#edf3f5;font-size:.69rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.staff-row>span{min-width:0}
.staff-row>span>strong,.staff-row>span>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.staff-row>span>small{margin-top:3px;color:var(--muted);font-size:.74rem}
.filter-bar{display:grid;grid-template-columns:minmax(260px,1fr) 230px auto;gap:10px;margin-bottom:18px}
.filter-bar input,.filter-bar select{width:100%}
.deleted-ticket-list{display:grid;gap:0;margin:-27px}
.deleted-ticket-card{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(420px,1.4fr) auto;gap:24px;align-items:center;padding:22px 27px;border-bottom:1px solid var(--line)}
.deleted-ticket-card:last-child{border-bottom:0}
.deleted-ticket-card h2{font-size:1.15rem}
.deleted-ticket-card p{margin:5px 0 0;color:var(--muted);font-size:.82rem}
.deleted-ticket-card .eyebrow{margin:0 0 6px;color:var(--danger)}
.deleted-ticket-card dl{display:grid;grid-template-columns:.8fr .8fr 1.5fr;gap:15px;margin:0}
.deleted-ticket-card dl>div{min-width:0}
.deleted-ticket-card dt{color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.deleted-ticket-card dd{margin:4px 0 0;overflow-wrap:anywhere;font-size:.82rem;font-weight:700}
.ticket-danger-zone{border-color:#efc8cc;background:linear-gradient(180deg,#fff,var(--danger-pale))}
.ticket-danger-zone h2{color:var(--danger)}
.ticket-danger-zone>p:not(.eyebrow){color:#6f4d52;font-size:.84rem}
.ticket-hero--staff{margin-top:0}
.detail-grid{grid-template-columns:repeat(2,1fr);gap:0 25px;margin-top:25px}
.inline-form{padding:18px;border-radius:14px;background:var(--canvas)}
.check-row{grid-template-columns:auto 1fr!important;align-items:start!important;gap:10px!important}
.check-row input{width:20px!important;min-height:20px!important;margin-top:1px}
.note-list--staff article>div{display:flex;justify-content:space-between;gap:15px;margin-bottom:8px}
.note-list--staff article>div span{color:var(--green-dark);font-size:.7rem;font-weight:900;text-transform:uppercase}
.pricing-table .staff-row,.customer-table .staff-row{grid-template-columns:minmax(270px,1.4fr) minmax(160px,.7fr) minmax(140px,.5fr) minmax(120px,.45fr)}
.invoice-stats article strong{font-size:clamp(1.55rem,2.4vw,2.4rem)}
.invoice-stats article small{color:var(--danger);font-size:.72rem;font-weight:800}
.invoice-table .staff-row{grid-template-columns:minmax(155px,.75fr) minmax(190px,1fr) minmax(175px,.9fr) minmax(100px,.5fr) minmax(105px,.5fr) minmax(105px,.5fr)}
.invoice-status{display:inline-flex;padding:6px 9px;border-radius:999px;color:var(--blue);background:#e7f0f7;font-size:.68rem;font-weight:900;text-transform:uppercase;white-space:nowrap}
.invoice-status--paid{color:var(--green-dark);background:var(--green-pale)}
.invoice-status--part-paid{color:#785413;background:#fff0cd}
.invoice-status--overdue{color:#7e2630;background:var(--danger-pale)}
.invoice-status--void{color:#687b8d;background:#edf1f3}
.invoice-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:18px 0 24px;padding:clamp(25px,4vw,38px);border-radius:22px;color:#dceaf2;background:linear-gradient(135deg,var(--blue-night),var(--blue));box-shadow:var(--shadow)}
.invoice-hero h1{color:#fff;font-size:clamp(2.2rem,5vw,4rem)}
.invoice-hero p:not(.eyebrow){margin:13px 0 0;color:#c4d7e3}
.invoice-hero>div:last-child{display:grid;justify-items:end;gap:12px}
.invoice-hero>div:last-child>strong{color:#fff;font-family:"Manrope",sans-serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1}
.invoice-detail-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:20px;align-items:start}
.invoice-detail-main,.invoice-detail-side{display:grid;gap:20px}
.invoice-detail-side{position:sticky;top:165px}
.invoice-line-table{overflow-x:auto;border:1px solid var(--line);border-radius:13px}
.invoice-line{min-width:600px;display:grid;grid-template-columns:minmax(250px,1fr) 70px 110px 115px;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);font-size:.84rem}
.invoice-line:last-child{border-bottom:0}
.invoice-line--head{color:var(--muted);background:#edf3f5;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.invoice-line>span:not(:first-child){text-align:right}
.invoice-totals dl{display:grid;gap:0;margin:12px 0 20px}
.invoice-totals dl>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid var(--line)}
.invoice-totals dt{color:var(--muted);font-size:.8rem;font-weight:700}
.invoice-totals dd{margin:0;font-weight:800}
.invoice-totals__total dd,.invoice-totals__outstanding dd{color:var(--blue);font-family:"Manrope",sans-serif;font-size:1.3rem}
.invoice-totals__outstanding{border-top:2px solid var(--blue)!important}
@media(max-width:1050px){
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .catalogue-grid{grid-template-columns:repeat(2,1fr)}
  .ticket-layout{grid-template-columns:1fr}
  .ticket-side{position:static;grid-template-columns:repeat(2,1fr)}
  .repair-flow{overflow-x:auto;grid-template-columns:repeat(9,100px);padding-bottom:10px}
  .repair-flow::before{right:50px;left:50px}
  .staff-row{grid-template-columns:minmax(220px,1fr) minmax(190px,.8fr) minmax(135px,.55fr)}
  .staff-row>span:last-child{display:none}
  .invoice-table .staff-row{grid-template-columns:minmax(155px,.7fr) minmax(190px,1fr) minmax(170px,.85fr) minmax(100px,.5fr) minmax(105px,.5fr)}
  .invoice-detail-layout{grid-template-columns:1fr}
  .invoice-detail-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .deleted-ticket-card{grid-template-columns:1fr auto}
  .deleted-ticket-card dl{grid-column:1}
  .deleted-ticket-card form{grid-column:2;grid-row:1/3}
}
@media(max-width:820px){
  .hero-grid{grid-template-columns:1fr}
  .hero-panel{max-width:650px}
  .location-grid{grid-template-columns:1fr;gap:30px}
  .location-grid>div+div{padding:30px 0 0;border-top:1px solid rgba(255,255,255,.15);border-left:0}
  .public-header .nav-toggle,.staff-header .nav-toggle{display:block}
  .public-nav,.staff-nav{position:absolute;top:78px;right:16px;left:16px;display:none;margin:0;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}
  .public-nav.is-open,.staff-nav.is-open{display:grid}
  .staff-identity{display:none}
  .page-head{align-items:flex-start;flex-direction:column}
  .page-head-actions{width:100%;justify-content:flex-start}
  .customer-notice{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .repair-card-grid{grid-template-columns:1fr}
  .staff-row{grid-template-columns:1fr auto}
  .staff-row--head{display:none}
  .staff-row>span:nth-child(2){grid-column:1}
  .staff-row>span:nth-child(3){grid-column:2;grid-row:1/3}
  .staff-row>span:last-child{display:none}
  .pricing-table .staff-row,.customer-table .staff-row{grid-template-columns:1fr auto}
  .pricing-table .staff-row>span:nth-child(2),.customer-table .staff-row>span:nth-child(2){grid-column:1}
  .pricing-table .staff-row>span:nth-child(3),.customer-table .staff-row>span:nth-child(3){grid-column:2;grid-row:1/3}
  .invoice-table .staff-row{grid-template-columns:minmax(0,1fr) auto}
  .invoice-table .staff-row>span{display:block}
  .invoice-table .staff-row>span:nth-child(1){grid-column:1;grid-row:1}
  .invoice-table .staff-row>span:nth-child(2){grid-column:1;grid-row:2}
  .invoice-table .staff-row>span:nth-child(3){grid-column:1;grid-row:3}
  .invoice-table .staff-row>span:nth-child(4){grid-column:2;grid-row:1}
  .invoice-table .staff-row>span:nth-child(5){grid-column:2;grid-row:2;text-align:right}
  .invoice-table .staff-row>span:nth-child(6){grid-column:2;grid-row:3;text-align:right}
}
@media(max-width:600px){
  .shell,.staff-shell{width:min(calc(100% - 28px),var(--shell))}
  .header-inner,.staff-header{min-height:70px}
  .hub-brand img{width:38px;height:38px}
  .public-nav,.staff-nav{top:70px}
  .hub-hero{padding-top:65px}
  .feature-grid,.catalogue-grid,.form-grid,.stats-grid,.ticket-side{grid-template-columns:1fr}
  .feature-grid article{min-height:230px}
  .page-section,.staff-section{padding:45px 0 70px}
  .page-head h1{font-size:2.25rem}
  .page-head .button{width:100%}
  .page-head-actions{display:grid;grid-template-columns:1fr}
  .form-card,.content-card,.staff-card,.flow-card{padding:21px}
  .ticket-hero{align-items:flex-start;flex-direction:column;padding:23px}
  .invoice-hero{align-items:flex-start;flex-direction:column}
  .invoice-hero>.invoice-hero__actions{justify-content:flex-start}
  .invoice-hero>.invoice-hero__actions>strong{text-align:left}
  .invoice-detail-side{grid-template-columns:1fr}
  .repair-flow{margin-inline:-10px}
  .quote-actions{align-items:stretch;flex-direction:column}
  .timeline li div{grid-template-columns:1fr}
  .timeline time{grid-row:2}
  .timeline p,.timeline small{grid-column:1}
  .footer-inner{flex-direction:column}
  .filter-bar{grid-template-columns:1fr}
  .staff-table{margin:-21px}
  .staff-row{padding:15px}
  .deleted-ticket-list{margin:-21px}
  .deleted-ticket-card{grid-template-columns:1fr;padding:20px 21px}
  .deleted-ticket-card dl{grid-column:1;grid-template-columns:1fr}
  .deleted-ticket-card form{grid-column:1;grid-row:auto}
  .deleted-ticket-card form .button{width:100%}
  .detail-grid{grid-template-columns:1fr}
  .repair-price-preview{grid-template-columns:1fr}
  .repair-price-preview__price{grid-column:1;grid-row:auto}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}
}

/* HAD-TECH website shell */
.site-shell{width:min(calc(100% - 40px),1200px);margin-inline:auto}
.site-header{position:sticky;z-index:1000;top:0;width:100%;border-bottom:1px solid rgba(220,229,233,.86);background:rgba(255,255,255,.97);transition:box-shadow .25s ease}
.site-header.is-scrolled{box-shadow:0 10px 34px rgba(0,48,95,.12)}
.site-utility{color:#d3dfeb;background:var(--blue-deep);font-size:.82rem}
.site-utility__inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-utility p{margin:0}
.site-utility__links{display:flex;gap:24px}
.site-utility a{color:#fff;font-weight:600;text-decoration:none}
.site-utility a span{color:#abd96e}
.site-nav-wrap{position:relative}
.site-nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-logo{width:220px;flex:0 0 auto;line-height:0}
.site-logo img{width:100%;display:block}
.primary-nav{margin-left:auto}
.primary-nav__list{display:flex;align-items:center;gap:3px;margin:0;padding:0;list-style:none}
.primary-nav__list>li{position:relative}
.primary-nav__list>li>a:not(.button),.nav-dropdown__toggle{min-height:44px;display:flex;align-items:center;gap:6px;padding:10px 11px;border:0;border-radius:9px;color:var(--ink);background:transparent;font-size:.94rem;font-weight:700;text-decoration:none;white-space:nowrap}
.primary-nav__list>li>a:not(.button):hover,.primary-nav__list>li>a:not(.button):focus,.nav-dropdown__toggle:hover,.nav-dropdown__toggle:focus,.nav-dropdown.is-open>.nav-dropdown__toggle{color:var(--green-dark);background:var(--green-pale)}
.nav-dropdown__toggle span{font-size:.8em;transition:transform .2s}
.nav-dropdown.is-open>.nav-dropdown__toggle span{transform:rotate(180deg)}
.nav-dropdown__panel{position:absolute;top:calc(100% + 12px);left:0;min-width:245px;padding:12px;border:1px solid var(--line);border-radius:16px;opacity:0;visibility:hidden;background:#fff;box-shadow:var(--shadow);transform:translateY(-8px);transition:.2s}
.nav-dropdown__panel::before{position:absolute;top:-13px;left:0;width:100%;height:13px;content:""}
.nav-dropdown.is-open>.nav-dropdown__panel{opacity:1;visibility:visible;transform:none}
.nav-dropdown__panel a{display:block;padding:9px 10px;border-radius:8px;color:#3a5268;font-size:.94rem;font-weight:600;text-decoration:none}
.nav-dropdown__panel a:hover,.nav-dropdown__panel a:focus{color:var(--green-dark);background:var(--green-pale)}
.nav-mega{width:520px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nav-mega>div+div{padding-left:12px;border-left:1px solid var(--line)}
.nav-dropdown__eyebrow{margin:4px 10px 7px;color:var(--muted);font-size:.73rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.nav-toggle{display:none;min-height:44px;align-items:center;gap:10px;margin-left:auto;padding:8px 12px;border:1px solid var(--line);border-radius:10px;color:var(--blue);background:#fff;font-weight:700}
.nav-toggle__icon{width:20px;height:14px;display:flex;flex-direction:column;justify-content:space-between}
.nav-toggle__icon i{width:100%;height:2px;display:block;background:currentColor;transition:.2s}
.nav-toggle[aria-expanded=true] .nav-toggle__icon i:first-child{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded=true] .nav-toggle__icon i:last-child{transform:translateY(-6px) rotate(-45deg)}
.primary-nav__cta{margin-left:5px}
.primary-nav__cta .button--small{min-height:44px;padding:11px 18px;font-size:.92rem}
@media(min-width:901px){
  .nav-dropdown__panel{min-width:290px;padding:16px;border-radius:19px}
  .nav-dropdown__panel a{min-height:48px;display:flex;align-items:center;padding:12px 14px;border-radius:10px;font-size:1rem}
  .nav-mega{width:650px;gap:18px}
  .nav-mega>div+div{padding-left:18px}
  .nav-dropdown__eyebrow{margin:5px 14px 9px;font-size:.78rem}
}

/* Online Hub sub-navigation, following the HAD-IT portal pattern */
.hub-breadcrumb{min-height:52px;display:flex;align-items:center;gap:10px;color:var(--muted);background:#fff;font-size:.82rem}
.hub-breadcrumb a{color:var(--blue);font-weight:700;text-decoration:none}
.hub-breadcrumb span[aria-current]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hub-workspace-bar{position:relative;z-index:20;border-bottom:1px solid var(--line);background:#fff;box-shadow:0 8px 24px rgba(20,57,91,.07)}
.hub-workspace-bar__inner{min-height:62px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;min-width:0}
.hub-workspace-bar__name{display:grid;color:var(--blue);font-size:.96rem;font-weight:700;line-height:1.15;text-decoration:none;white-space:nowrap}
.hub-workspace-bar__name strong{color:var(--green)}
.hub-workspace-bar__name small{margin-top:3px;color:var(--muted);font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.hub-workspace-nav-shell{min-width:0;display:block}
.hub-workspace-nav{min-width:0;max-width:100%;display:flex;align-items:center;gap:4px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-behavior:smooth;scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch}
.hub-workspace-nav::-webkit-scrollbar{display:none}
.hub-workspace-nav a{flex:0 0 auto;min-height:44px;display:flex;align-items:center;padding:10px 12px;border-radius:9px;color:#3a5268;font-size:.9rem;font-weight:700;text-decoration:none;white-space:nowrap}
.hub-workspace-nav a:hover,.hub-workspace-nav a[aria-current=page]{color:var(--green-dark);background:var(--green-pale)}
.hub-workspace-user{display:flex;align-items:center;gap:12px;white-space:nowrap}
.hub-workspace-user>span{display:grid;line-height:1.25;text-align:right}
.hub-workspace-user strong{color:var(--ink);font-size:.86rem}
.hub-workspace-user small{color:var(--muted);font-size:.72rem}
.hub-workspace-user>a{min-height:42px;display:flex;align-items:center;padding:8px 10px;border-radius:9px;color:var(--blue);font-size:.86rem;font-weight:800;text-decoration:none}
.hub-workspace-user>a:hover{color:var(--green-dark);background:var(--green-pale)}
.public-main,.staff-main{min-height:0}
.auth-section,.staff-auth{min-height:640px}

/* Matching HAD-GROUP family section */
.group-family{padding-block:clamp(84px,9vw,124px);overflow:hidden;background:radial-gradient(circle at 92% 10%,rgba(10,163,199,.08),transparent 25%),#eef6f7}
.group-family__head{max-width:880px;margin:0 auto 50px;text-align:center}
.group-family__head .eyebrow{margin-bottom:20px;color:#608a2f}
.group-family__head h2{margin-bottom:22px;color:var(--blue);font-size:clamp(2.35rem,5vw,4.75rem)}
.group-family__head h2 span{display:block;color:var(--green)}
.group-family__head>p:last-child{max-width:720px;margin:0 auto;color:var(--muted);font-size:1.05rem}
.group-family__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.division-card{--division-colour:var(--green);min-height:230px;position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:42px 24px 34px;overflow:hidden;border:1px solid #d9e5e8;border-top:4px solid var(--division-colour);border-radius:17px;color:var(--ink);background:rgba(255,255,255,.94);box-shadow:0 12px 35px rgba(50,72,82,.06);text-align:center;text-decoration:none;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.division-card:hover,.division-card:focus{color:var(--ink);border-color:color-mix(in srgb,var(--division-colour) 36%,#d9e5e8);box-shadow:0 20px 44px rgba(50,72,82,.13);transform:translateY(-5px)}
.division-card--copy{--division-colour:#04a4c5}
.division-card--it{--division-colour:#0086c0}
.division-card--print{--division-colour:#81298f}
.division-card--tech{--division-colour:#74ad35}
.division-card__mark{width:min(100%,190px);height:48px;display:flex;align-items:center;justify-content:center}
.division-card__mark img{width:100%;max-height:37px;display:block;object-fit:contain}
.division-card--it .division-card__mark{width:min(100%,145px)}
.division-card__service{max-width:220px;margin-top:20px;color:#526174;font-size:.88rem;font-weight:700;line-height:1.35}
.division-card__action{position:absolute;right:17px;bottom:13px;color:var(--division-colour);font-size:.72rem;font-weight:800;opacity:0;transform:translateY(5px);transition:opacity .2s ease,transform .2s ease}
.division-card:hover .division-card__action,.division-card:focus .division-card__action{opacity:1;transform:translateY(0)}
.division-card__action b{font-size:1rem}
.division-card__action--current{opacity:1;transform:none}
.division-card.is-current{background:linear-gradient(180deg,#fff,#f5faef)}

/* Matching HAD-TECH footer */
.site-footer{color:#b7c8d6;background:var(--blue-night)}
.site-footer__grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:50px;padding-block:72px}
.site-footer h2{margin:0 0 .65em;color:#fff;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.site-footer__brand img{width:190px;filter:brightness(0) invert(1)}
.site-footer__brand p{max-width:280px}
.site-footer__phone{color:#fff;font-size:1.35rem;font-weight:800;text-decoration:none}
.site-footer ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.site-footer a{color:#d7e3eb;text-decoration:none}
.site-footer a:hover{color:#b2dc7a}
.site-footer address{font-style:normal}
.site-footer__note{color:#9db0bf;font-size:.82rem}
.site-footer__bottom{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid rgba(255,255,255,.12);font-size:.78rem}
.site-footer__bottom p{margin:0}
.site-footer__bottom div{display:flex;gap:20px}
.back-to-top{position:fixed;z-index:800;right:20px;bottom:20px;width:46px;height:46px;border:0;border-radius:50%;opacity:0;visibility:hidden;color:#fff;background:var(--green);box-shadow:0 12px 28px rgba(0,0,0,.2);cursor:pointer;transform:translateY(10px);transition:.2s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}

/* Staff access and role management */
.staff-access-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,390px);gap:20px;align-items:start}
.staff-account-list{display:grid;gap:13px}
.staff-account-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}
.staff-account-card.is-disabled{background:#f7f9fa}
.staff-account-card>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--line)}
.staff-account-card>header>div:first-child{min-width:0;display:flex;align-items:center;gap:13px}
.staff-account-card>header>div:first-child>span:last-child{min-width:0;display:grid}
.staff-account-card>header strong,.staff-account-card>header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.staff-account-card>header strong{color:var(--ink)}
.staff-account-card>header small{color:var(--muted)}
.staff-avatar{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--green));font-family:"Manrope",sans-serif;font-weight:800}
.staff-account-badges{display:flex;align-items:center;gap:7px}
.staff-you,.staff-access-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:900;white-space:nowrap}
.staff-you{color:var(--blue);background:#e7f0f7}
.staff-access-status--active{color:var(--green-dark);background:var(--green-pale)}
.staff-access-status--disabled{color:#6b4450;background:#f3e8eb}
.staff-account-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(135px,.75fr) minmax(110px,.65fr) auto;gap:12px;align-items:end;padding:17px 22px 20px}
.staff-account-form label{display:grid;gap:5px;color:var(--ink);font-size:.76rem;font-weight:800}
.staff-account-form select{width:100%;min-height:44px;padding:8px 10px;border:1px solid #c7d5dc;border-radius:9px;color:var(--ink);background:#fff}
.staff-account-meta{display:grid;align-self:center}
.staff-account-meta small{color:var(--muted);font-size:.67rem;font-weight:800;text-transform:uppercase}
.staff-account-meta strong{color:var(--ink);font-size:.78rem}
.staff-account-form .button{min-height:44px;padding:10px 15px}
.staff-add-card{position:sticky;top:135px}
.staff-add-card>h2{font-size:1.65rem}
.staff-add-card>.hub-form{margin-top:23px}
.hub-form label>small{color:var(--muted);font-size:.73rem;font-weight:600}
.staff-role-guide{margin-top:50px;padding-top:40px;border-top:1px solid var(--line)}
.staff-role-guide>div:first-child{max-width:720px;margin-bottom:23px}
.staff-role-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.staff-role-card{min-height:165px;padding:19px;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:14px;background:#fff}
.staff-role-card--administrator{border-top-color:var(--blue)}
.staff-role-card--manager{border-top-color:#3978a6}
.staff-role-card--technician{border-top-color:var(--green)}
.staff-role-card--reception{border-top-color:#7fb539}
.staff-role-card--accounts{border-top-color:#6d5b9d}
.staff-role-card strong{color:var(--blue)}
.staff-role-card p{margin:8px 0 0;color:var(--muted);font-size:.78rem}
.staff-read-only{margin:0;padding:14px 16px;border-radius:11px;color:var(--muted);background:var(--canvas);font-size:.86rem}

/* Workshop operations */
.button--small{min-height:40px;padding:9px 14px;font-size:.78rem}
.narrow-staff-shell{max-width:920px}
.ticket-hero__status{display:grid;gap:9px;justify-items:end}
.ticket-hero__status small{color:#bed2df;font-size:.76rem;font-weight:800;text-transform:capitalize}
.intake-note{margin:0;padding:16px 18px;border-left:4px solid var(--green);border-radius:6px 12px 12px 6px;color:#48623c;background:var(--green-pale)}
.intake-flags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.intake-flags span{display:inline-flex;padding:7px 10px;border-radius:999px;color:var(--muted);background:var(--canvas);font-size:.72rem;font-weight:900}
.intake-flags .is-set{color:var(--green-dark);background:var(--green-pale)}
.intake-flags .is-warning{color:#7b510a;background:#fff0cd}
.secure-detail{margin-top:18px;padding:14px;border:1px solid #c8d9c0;border-radius:12px;background:#f7fbf4}
.secure-detail summary,.staff-details summary{color:var(--blue);font-size:.83rem;font-weight:900;cursor:pointer}
.secure-detail code{display:block;margin-top:12px;color:var(--ink);font-size:.96rem;font-weight:800}
.secure-detail p{margin:11px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}
.quote-state{display:inline-flex;padding:6px 10px;border-radius:999px;color:var(--blue);background:#e7f0f7;font-size:.68rem;font-weight:900;text-transform:uppercase}
.quote-state--sent{color:#7b510a;background:#fff0cd}
.quote-state--approved{color:var(--green-dark);background:var(--green-pale)}
.quote-state--declined{color:#7e2630;background:var(--danger-pale)}
.quote-message,.quote-decision{margin-top:16px;padding:16px 18px;border-radius:12px;background:var(--canvas)}
.quote-message p,.quote-decision p{margin:5px 0 0;color:var(--muted)}
.quote-builder__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px}
.quote-builder__lines{display:grid;gap:10px}
.quote-builder__line{position:relative;display:grid;grid-template-columns:120px minmax(220px,1fr) 85px 120px 36px;gap:9px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--canvas)}
.quote-builder__line label{font-size:.72rem}
.quote-builder__line input,.quote-builder__line select{min-height:42px;padding:8px 9px}
.quote-line-remove{width:36px;height:42px;display:grid;place-items:center;border:0;border-radius:9px;color:var(--danger);background:var(--danger-pale);font-size:1.25rem;font-weight:800;cursor:pointer}
.quote-builder__actions{display:flex;justify-content:flex-end;gap:10px}
.quote-expiry{max-width:280px}
.invoice-builder__line{grid-template-columns:minmax(260px,1fr) 85px 120px 36px}
.invoice-issue-note{padding:15px 17px;border-left:4px solid var(--green);border-radius:10px;background:var(--green-pale)}
.invoice-issue-note p{margin:4px 0 0;color:var(--muted);font-size:.84rem}
.invoice-hero>.invoice-hero__actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.invoice-hero>.invoice-hero__actions>strong{width:100%;text-align:right}
.staff-card .simple-list>a:not(.button){display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid var(--line);color:var(--ink)}
.staff-card .simple-list>a:not(.button):hover strong{color:var(--green-dark)}
.ticket-item>span:last-child{display:grid;gap:5px;justify-items:end}
.text-button{padding:0;border:0;color:var(--blue);background:transparent;font-size:.75rem;font-weight:900;cursor:pointer}
.text-button--danger{color:var(--danger)}
.staff-details{margin-top:19px;border-top:1px solid var(--line);padding-top:17px}
.staff-details[open] summary{margin-bottom:17px}
.compact-form{margin-top:16px}
.mini-grid,.compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.compact-grid{margin-top:20px}
.staff-intake-form{gap:20px}
.catalogue-actions{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:15px;margin-bottom:20px}
.catalogue-actions>form{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;border:1px solid #bcd2e4;border-radius:17px;background:#edf5fb;box-shadow:var(--shadow-soft)}
.catalogue-actions>form>div{display:grid}
.catalogue-actions>form span{margin-top:4px;color:var(--muted);font-size:.8rem}
.catalogue-actions>.staff-card{padding:22px}
.catalogue-actions>.staff-details{align-self:start;margin-top:0}
.pricing-file-card>p{max-width:720px;color:var(--muted);font-size:.9rem}
.pricing-file-card .card-head{align-items:flex-start}
.pricing-upload-form{margin-top:18px;padding:19px;border:1px solid var(--line);border-radius:14px;background:var(--canvas)}
.pricing-upload-form input[type=file]{height:auto;min-height:50px;padding:10px;background:#fff}
.pricing-upload-form>button{justify-self:start}
.pricing-source-reset{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.pricing-source-reset summary{color:var(--blue);font-size:.82rem;font-weight:800;cursor:pointer}
.pricing-source-reset form{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px}
.pricing-source-reset form>div{display:grid}
.pricing-source-reset form span{color:var(--muted);font-size:.78rem}
.button--outline{color:var(--blue);border-color:#b9cbd6;background:#fff;box-shadow:none}
.button--outline:hover{color:#fff;border-color:var(--blue);background:var(--blue)}
.staff-catalogue-toolbar{margin-top:30px}
.pricing-table .staff-row.is-inactive{opacity:.57;background:#f5f6f7}
.pricing-table [data-pricing-row][hidden]{display:none}
.pricing-edit-hint{color:var(--green-dark)!important;font-weight:900}
.pricing-group-toolbar{align-items:end;justify-content:space-between;gap:18px}
.pricing-group-actions{display:flex;flex-wrap:wrap;gap:7px}
.pricing-group-actions button{min-height:40px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;color:var(--blue);background:#fff;font-size:.76rem;font-weight:900;cursor:pointer}
.pricing-group-actions button:hover{color:#fff;border-color:var(--blue);background:var(--blue)}
.pricing-device-groups{display:grid;gap:12px}
.pricing-device-group{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow-soft)}
.pricing-device-group[hidden]{display:none}
.pricing-device-group>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:20px;min-height:92px;padding:19px 22px;color:var(--ink);cursor:pointer;list-style:none}
.pricing-device-group>summary::-webkit-details-marker{display:none}
.pricing-device-group>summary::after{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:var(--blue);background:#e9f1f8;font-size:1.2rem;font-weight:900;content:"+"}
.pricing-device-group[open]>summary{border-bottom:1px solid var(--line);background:#f7fafb}
.pricing-device-group[open]>summary::after{color:#fff;background:var(--blue);content:"−"}
.pricing-device-heading{min-width:0;display:grid;gap:4px}
.pricing-device-heading small{color:var(--green-dark);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.pricing-device-heading strong{overflow:hidden;color:var(--blue);font-family:"Manrope",sans-serif;font-size:1.08rem;text-overflow:ellipsis;white-space:nowrap}
.pricing-device-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.pricing-device-meta b{padding:6px 9px;border-radius:999px;color:#536a7b;background:#edf3f5;font-size:.68rem;font-weight:900;white-space:nowrap}
.pricing-device-table{overflow:hidden}
.pricing-device-table .staff-row{grid-template-columns:minmax(270px,1.4fr) minmax(160px,.7fr) minmax(140px,.5fr) minmax(120px,.45fr)}
.pricing-device-table .staff-row.is-inactive{opacity:.57;background:#f5f6f7}
.pricing-device-table [data-pricing-row][hidden]{display:none}
.pricing-device-table a[aria-disabled=true]{pointer-events:none}
.booking-admin-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:20px;margin-bottom:20px;align-items:start}
.capacity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 15px;margin:8px 0 20px}
.capacity-grid label{display:grid;grid-template-columns:minmax(0,1fr) 90px;align-items:center;gap:15px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:var(--canvas)}
.capacity-grid label>span{display:grid;color:var(--ink);font-size:.82rem;font-weight:800}
.capacity-grid small{color:var(--muted);font-size:.68rem}
.capacity-grid input{width:100%;min-height:42px;padding:8px;border:1px solid #c7d5dc;border-radius:8px;background:#fff;text-align:center}
.blackout-list{margin-top:20px}

/* Website management inside the Online Hub */
.website-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:-13px 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.website-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:var(--blue);background:#fff;font-size:.82rem;font-weight:800;text-decoration:none}
.website-tabs a:hover,.website-tabs a[aria-current=page]{color:#fff;border-color:var(--blue);background:var(--blue)}
.website-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px}
.website-overview-card{min-height:235px;display:flex;flex-direction:column;padding:26px;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:#fff;box-shadow:var(--shadow-soft);text-decoration:none;transition:.2s}
.website-overview-card:hover{border-color:#b9ccad;box-shadow:var(--shadow);transform:translateY(-3px)}
.website-overview-card.is-attention{border-top:5px solid var(--green)}
.website-overview-card>span{color:var(--green);font-family:"Manrope",sans-serif;font-size:3rem;font-weight:800;line-height:1}
.website-overview-card h2{margin-top:25px}
.website-overview-card p{color:var(--muted);font-size:.88rem}
.website-overview-card strong{margin-top:auto;color:var(--green-dark);font-size:.84rem}
.website-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}
.website-toolbar label{width:min(100%,430px)}
.website-toolbar input{width:100%;min-height:46px;padding:10px 15px;border:1px solid #c7d5dc;border-radius:999px;color:var(--ink);background:#fff}
.website-table{overflow:hidden}
.website-row{display:grid;grid-template-columns:minmax(300px,1.5fr) minmax(100px,.55fr) minmax(90px,.35fr) minmax(190px,.6fr);gap:20px;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}
.website-row:last-of-type{border-bottom:0}
.website-row--head{padding-block:12px;color:var(--muted);background:#edf3f5;font-size:.71rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.website-title-cell{min-width:0;display:flex;align-items:center;gap:14px}
.website-title-cell img{width:68px;height:55px;flex:0 0 auto;border-radius:9px;object-fit:contain;background:var(--canvas)}
.website-title-cell>span{min-width:0;display:grid}
.website-title-cell strong{overflow:hidden;color:var(--blue);text-overflow:ellipsis;white-space:nowrap}
.website-title-cell small,.website-row>span>small{display:block;color:var(--muted);font-size:.75rem}
.stock-price-cell{display:grid;gap:2px}
.stock-price-cell small{color:var(--muted);font-size:.72rem}
.website-status{width:fit-content;display:inline-flex;padding:5px 9px;border-radius:999px;color:#665b19;background:#fff5b9;font-size:.68rem;font-weight:900;text-transform:uppercase}
.website-status.is-live,.website-status.is-available,.website-status.is-completed{color:var(--green-dark);background:var(--green-pale)}
.website-status.is-new{color:#fff;background:var(--blue)}
.website-status.is-contacted,.website-status.is-reserved,.website-status.is-confirmed{color:#72450a;background:#ffebca}
.website-status.is-sold,.website-status.is-declined{color:#fff;background:#687785}
.website-status.is-coming-soon{color:#fff;background:#7b52a3}
.website-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.website-actions a,.website-actions button{padding:0;border:0;color:var(--blue);background:none;font-size:.78rem;font-weight:800;text-decoration:none;cursor:pointer}
.website-actions button{color:var(--danger)}
.website-actions form{margin:0}
.website-editor-form{display:block}
.website-editor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
.website-editor-head>div:last-child{display:flex;gap:9px}
.website-editor-head h1{font-size:clamp(2rem,4vw,3.5rem)}
.website-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:20px;align-items:start}
.website-editor-main,.website-editor-side{display:grid;gap:20px}
.website-editor-side{position:sticky;top:145px}
.website-editor-card{padding:25px}
.website-editor-card h2{padding-bottom:14px;border-bottom:1px solid var(--line);font-size:1.05rem}
.website-editor-card label{display:grid;gap:7px;margin-bottom:17px;color:var(--ink);font-size:.82rem;font-weight:800}
.website-editor-card label:last-child{margin-bottom:0}
.website-editor-card input,.website-editor-card select,.website-editor-card textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #c8d5dc;border-radius:9px;color:var(--ink);background:#fff}
.website-editor-card textarea{resize:vertical}
.website-editor-card input:focus,.website-editor-card select:focus,.website-editor-card textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(81,122,37,.1);outline:0}
.website-editor-card small{color:var(--muted);font-weight:500}
.website-editor-title{font-family:"Manrope",sans-serif;font-size:1.25rem;font-weight:700}
.website-editor-toolbar{display:flex;flex-wrap:wrap;gap:5px;margin:-25px -25px 0;padding:10px 14px;border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;background:#edf3f5}
.website-editor-toolbar button{min-width:34px;padding:6px 9px;border:1px solid #cbd8de;border-radius:6px;color:var(--blue);background:#fff;font-size:.78rem;font-weight:800;cursor:pointer}
.website-visual-editor{min-height:480px;padding:28px 3px 5px;color:#2f4b61;line-height:1.75;outline:0}
.website-visual-editor:focus{box-shadow:inset 0 0 0 2px rgba(81,122,37,.22)}
.website-visual-editor h2,.website-visual-editor h3{margin-top:1.4em}
.website-featured-preview{width:100%;height:180px;margin-bottom:18px;border-radius:11px;object-fit:contain;background:var(--canvas)}
.website-reservation-list{display:grid;gap:15px}
.website-reservation-card{padding:25px}
.website-reservation-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.website-reservation-card>header h2{font-size:1.1rem}
.website-reservation-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:20px 0;padding:20px 0;border-block:1px solid var(--line)}
.website-reservation-card dt{margin-bottom:6px;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.website-reservation-card dd{margin:0;overflow-wrap:anywhere;font-size:.85rem}
.website-reservation-status{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px}
.website-reservation-status label{display:grid;gap:5px;color:var(--muted);font-size:.72rem;font-weight:800}
.website-reservation-status select{min-width:155px;min-height:40px;padding:7px 10px;border:1px solid #c7d5dc;border-radius:9px;background:#fff}

/* Customer device purchasing and protected identity checks */
.purchase-filter-bar{display:grid;grid-template-columns:220px minmax(280px,1fr) auto;align-items:end;gap:12px;margin-bottom:16px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#edf3f5}
.purchase-filter-bar label,.secure-upload-form label,.purchase-stock-card label{display:grid;gap:6px;color:var(--ink);font-size:.78rem;font-weight:800}
.purchase-filter-bar input,.purchase-filter-bar select,.secure-upload-form input,.purchase-stock-card input,.purchase-stock-card select{width:100%;min-height:44px;padding:9px 12px;border:1px solid #c7d5dc;border-radius:9px;background:#fff}
.purchase-table{overflow:hidden;padding:0}
.purchase-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(180px,.9fr) minmax(110px,.55fr) minmax(105px,.5fr) minmax(150px,.7fr);align-items:center;gap:18px;padding:17px 20px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
a.purchase-row:hover{background:#f4f8ef}
.purchase-row:last-child{border-bottom:0}
.purchase-row--head{padding-block:12px;color:var(--muted);background:#edf3f5;font-size:.71rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.purchase-row>span{min-width:0;display:grid;gap:4px}
.purchase-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.purchase-row small{color:var(--muted);font-size:.73rem}
.website-status.is-pending,.website-status.is-awaiting-id,.website-status.is-id-review{color:#72450a;background:#ffebca}
.website-status.is-verified,.website-status.is-approved,.website-status.is-paid,.website-status.is-stock-added{color:var(--green-dark);background:var(--green-pale)}
.website-status.is-rejected,.website-status.is-cancelled{color:#fff;background:var(--danger)}
.security-note{display:flex;gap:14px;margin-top:16px;padding:18px 20px;border-left:4px solid var(--blue);border-radius:0 12px 12px 0;background:#e9f1f8}
.security-note p{margin:0;color:var(--muted);font-size:.82rem}
.purchase-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.purchase-summary-strip>span{min-height:88px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:15px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}
.purchase-summary-strip small{color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.purchase-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.purchase-form-grid>.purchase-declaration{grid-column:1/-1}
.purchase-declaration .check-row{align-items:flex-start;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:var(--canvas)}
.purchase-declaration .check-row input{width:20px;min-height:20px;margin-top:2px}
.purchase-save-bar{display:flex;justify-content:flex-end;margin:20px 0 32px}
.purchase-aftercare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}
.protected-file{display:flex;align-items:center;gap:13px;margin:14px 0;padding:15px;border:1px solid #bed4b1;border-radius:12px;background:var(--green-pale)}
.protected-file>span{font-size:1.35rem}
.protected-file>div{display:grid}
.protected-file small{color:var(--muted)}
.secure-upload-form{display:grid;gap:13px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.secure-upload-form small{color:var(--muted);font-weight:500}
.purchase-stock-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:36px;margin-top:20px;padding:28px}
.purchase-stock-card form{display:grid;gap:14px}
.purchase-stock-card p{color:var(--muted)}

@media(max-width:1080px){
  .primary-nav__list>li>a:not(.button),.nav-dropdown__toggle{padding-inline:8px;font-size:.88rem}
  .site-footer__grid{grid-template-columns:1fr 1fr}
  .group-family__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .staff-access-layout{grid-template-columns:1fr}
  .staff-add-card{position:static}
  .staff-role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .quote-builder__line{grid-template-columns:110px minmax(190px,1fr) 78px 105px 36px}
  .catalogue-actions,.booking-admin-layout{grid-template-columns:1fr}
  .purchase-form-grid,.purchase-aftercare-grid,.purchase-stock-card{grid-template-columns:1fr}
  .pricing-device-table .staff-row{grid-template-columns:minmax(220px,1fr) minmax(190px,.8fr) minmax(135px,.55fr)}
  .website-row{grid-template-columns:minmax(260px,1.4fr) minmax(90px,.5fr) minmax(70px,.3fr) minmax(160px,.6fr)}
  .website-reservation-card dl{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .site-utility{display:none}
  .site-nav{min-height:72px}
  .site-logo{width:190px}
  .nav-toggle{display:flex}
  .primary-nav{position:absolute;top:calc(100% + 1px);right:0;left:0;max-height:calc(100vh - 72px);margin:0;overflow-y:auto;visibility:hidden;opacity:0;background:#fff;box-shadow:var(--shadow);transform:translateY(-8px);transition:.2s}
  .primary-nav.is-open{visibility:visible;opacity:1;transform:none}
  .primary-nav__list{display:block;padding:14px 20px 25px}
  .primary-nav__list>li>a:not(.button),.nav-dropdown__toggle{width:100%;justify-content:space-between;padding:11px 10px}
  .primary-nav__cta{margin:9px 0 0}
  .primary-nav__cta .button{width:100%}
  .nav-dropdown__panel{position:static;width:auto;min-width:0;display:none;margin:0 8px 8px;padding:8px;opacity:1;visibility:visible;box-shadow:none;transform:none}
  .nav-dropdown.is-open>.nav-dropdown__panel{display:block}
  .nav-mega{grid-template-columns:1fr}
  .nav-mega>div+div{padding:8px 0 0;border:0;border-top:1px solid var(--line)}
  .hub-workspace-bar__inner{grid-template-columns:auto minmax(0,1fr)}
  .hub-workspace-user{display:none}
  .staff-account-form{grid-template-columns:1fr 1fr}
  .staff-account-meta{align-self:end;min-height:44px}
  .quote-builder__line{grid-template-columns:1fr 1fr 1fr}
  .quote-line-description{grid-column:2/4}
  .quote-line-remove{grid-column:3;justify-self:end}
  .invoice-builder__line .quote-line-description{grid-column:1/3}
  .website-editor-layout{grid-template-columns:1fr}
  .website-editor-side{position:static}
  .pricing-group-toolbar{align-items:stretch;flex-direction:column}
  .pricing-group-toolbar label{width:100%}
  .pricing-device-group>summary{grid-template-columns:minmax(0,1fr) 28px}
  .pricing-device-meta{grid-column:1/-1;grid-row:2;justify-content:flex-start}
  .pricing-device-group>summary::after{grid-column:2;grid-row:1}
  .pricing-device-table .staff-row{grid-template-columns:1fr auto}
  .pricing-device-table .staff-row>span:nth-child(2){grid-column:1}
  .pricing-device-table .staff-row>span:nth-child(3){grid-column:2;grid-row:1/3}
  .website-table{overflow:visible;border:0;background:transparent;box-shadow:none}
  .website-row--head{display:none}
  .website-row{grid-template-columns:1fr auto;gap:16px;margin-bottom:12px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}
  .purchase-filter-bar{grid-template-columns:1fr 1fr auto}
  .purchase-row{grid-template-columns:1fr 1fr}
  .purchase-row--head{display:none}
  .purchase-summary-strip{grid-template-columns:1fr}
  .website-row>span,.website-row>strong{grid-column:2}
  .website-row>.website-title-cell{grid-row:1/4}
  .website-actions{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--line)}
}
@media(max-width:660px){
  .site-shell{width:min(calc(100% - 28px),1200px)}
  .hub-workspace-bar__inner{min-height:58px;grid-template-columns:1fr;gap:0;padding-block:8px}
  .hub-workspace-bar__name{display:none}
  .hub-workspace-nav-shell{width:100%}
  .hub-workspace-nav{width:100%}
  .hub-workspace-nav a{min-height:40px;padding:8px 10px;font-size:.83rem}
  .pricing-finder__head,.pricing-finder__prompt,.pricing-finder__summary{align-items:flex-start;flex-direction:column}
  .pricing-finder__steps{grid-template-columns:1fr}
  .auth-section,.staff-auth{min-height:0}
  .group-family{padding-block:72px}
  .group-family__head{margin-bottom:36px;text-align:left}
  .group-family__head h2 span{display:inline}
  .group-family__head>p:last-child{font-size:1rem}
  .group-family__grid,.site-footer__grid{grid-template-columns:1fr}
  .division-card{min-height:178px;padding:32px 24px 28px}
  .division-card__action{opacity:1;transform:none}
  .site-footer__grid{gap:35px}
  .site-footer__bottom{align-items:flex-start;flex-direction:column;padding-block:25px}
  .site-footer__bottom div{flex-wrap:wrap}
  .staff-account-card>header{align-items:flex-start;flex-direction:column}
  .staff-account-form,.staff-role-grid{grid-template-columns:1fr}
  .website-overview-grid{grid-template-columns:1fr}
  .website-overview-card{min-height:205px}
  .website-editor-head{align-items:stretch;flex-direction:column}
  .website-editor-head>div:last-child{width:100%}
  .website-editor-head>div:last-child>*{flex:1}
  .website-editor-card{padding:20px}
  .website-editor-toolbar{margin:-20px -20px 0}
  .website-visual-editor{min-height:350px}
  .website-reservation-card>header{align-items:flex-start;flex-direction:column}
  .website-reservation-card dl{grid-template-columns:1fr}
  .pricing-device-heading strong{white-space:normal}
  .website-reservation-status{align-items:stretch;flex-direction:column}
  .website-reservation-status select,.website-reservation-status .button{width:100%}
  .website-row{grid-template-columns:1fr}
  .website-row>.website-title-cell,.website-row>span,.website-row>strong{grid-column:1;grid-row:auto}
  .purchase-filter-bar,.purchase-row{grid-template-columns:1fr}
  .security-note{display:block}
  .website-title-cell strong{white-space:normal}
  .website-actions{grid-column:1}
  .ticket-hero__status{justify-items:start}
  .quote-builder__head,.quote-builder__actions,.pricing-file-card .card-head,.pricing-source-reset form{align-items:stretch;flex-direction:column}
  .quote-builder__line,.mini-grid,.compact-grid,.capacity-grid{grid-template-columns:1fr}
  .quote-line-description,.quote-line-remove{grid-column:auto}
  .quote-line-remove{justify-self:end}
  .pricing-file-card .button,.pricing-source-reset .button{width:100%}
}

/* Balanced native fields, larger dropdown controls and roomier HAD desktop navigation panels. */
select:not([multiple]){
  height:52px;
  min-height:52px;
  padding:0 44px 0 14px;
  border-radius:11px;
  background-color:#fff;
  background-image:linear-gradient(45deg,transparent 50%,#526b7d 50%),linear-gradient(135deg,#526b7d 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;
  background-repeat:no-repeat;
  background-size:6px 6px;
  font-size:1rem;
  line-height:1.3;
  -webkit-appearance:none;
  appearance:none;
}
.hub-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]){
  height:52px;
  min-height:52px;
  padding-block:0;
}
@media(min-width:1101px){
  .nav-dropdown__panel{top:calc(100% + 16px);min-width:350px;padding:22px;border-radius:22px}
  .nav-dropdown__panel::before{top:-17px;height:17px}
  .nav-dropdown__panel a{min-height:56px;padding:14px 16px;border-radius:12px;font-size:1.05rem;line-height:1.35}
  .nav-mega{width:760px;gap:24px}
  .nav-mega>div+div{padding-left:24px}
  .nav-dropdown__eyebrow{margin:6px 16px 10px;font-size:.82rem}
}
