:root{
  --brand:#19b8aa;
  --header:#0f2d4f;
  --header-2:#15395f;
  --header-ink:#ffffff;
  --brand-ink:#082b32;
  --navy:#0f2d4f;
  --navy-2:#15395f;
  --ink:#162236;
  --muted:#6b7688;
  --line:#dfe5ec;
  --bg:#f5f7fa;
  --card:#ffffff;
  --danger:#c8352c;
  --warn:#b7791f;
  --ok:#147d64;
  --shadow:0 10px 28px rgba(15,45,79,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
body{margin:0;min-height:100vh;background:var(--bg)}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
[hidden]{display:none!important}
.app-shell{min-height:100vh;padding-bottom:88px}
.topbar{position:sticky;top:0;z-index:30;background:var(--header);color:var(--header-ink);border-bottom:5px solid var(--brand);padding:14px 16px calc(14px + env(safe-area-inset-top));box-shadow:0 2px 12px rgba(0,0,0,.12)}
.topbar-inner{max-width:1100px;margin:auto;display:flex;align-items:center;gap:14px}
.brandmark{width:46px;height:46px;border-radius:14px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.brandmark img{max-width:100%;max-height:100%;object-fit:contain}
.brandmark-fallback{font-weight:900;color:var(--navy);font-size:21px}
.header-copy{min-width:0;flex:1}
.header-copy h1{font-size:19px;line-height:1.15;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-copy p{font-size:12px;margin:4px 0 0;color:color-mix(in srgb,var(--header-ink) 74%, transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-actions{display:flex;gap:8px}
.icon-btn{border:1px solid color-mix(in srgb,var(--header-ink) 24%, transparent);background:color-mix(in srgb,var(--header-ink) 9%, transparent);color:var(--header-ink);border-radius:13px;min-width:44px;height:44px;padding:0 12px;font-weight:800}
.content{max-width:1100px;margin:0 auto;padding:18px 14px 28px}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--header);border-top:1px solid rgba(255,255,255,.06);padding:6px 6px calc(6px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);gap:3px;box-shadow:0 -8px 24px rgba(15,45,79,.12)}
.nav-btn{border:0;background:transparent;color:#aebdcd;border-radius:14px;padding:8px 3px 7px;font-size:11px;font-weight:750;display:flex;flex-direction:column;align-items:center;gap:4px}
.nav-btn span:first-child{font-size:20px;line-height:1}
.nav-btn.active{background:color-mix(in srgb,var(--brand) 22%, transparent);color:var(--header-ink)}
.nav-btn.active span:first-child{color:var(--brand)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}
.card+.card{margin-top:14px}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.page-head h2{margin:0;font-size:25px;letter-spacing:-.02em}
.page-head p{margin:5px 0 0;color:var(--muted);font-size:14px}
.section-title{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850;margin:22px 0 10px}
.grid{display:grid;gap:12px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.metric{padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff}
.metric strong{display:block;font-size:25px;color:var(--navy);margin-top:5px}.metric span{font-size:12px;color:var(--muted);font-weight:700}
.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.quick{border:1px solid var(--line);background:#fff;border-radius:16px;padding:15px 10px;text-align:left;font-weight:800;min-height:78px;box-shadow:0 5px 15px rgba(15,45,79,.05)}
.quick b{display:block;font-size:22px;color:var(--brand);margin-bottom:6px}
.primary,.secondary,.danger,.ghost{border-radius:14px;padding:12px 16px;font-weight:800;border:1px solid transparent;min-height:44px}
.primary{background:var(--brand);color:var(--brand-ink)}.secondary{background:#fff;color:var(--navy);border-color:#bcc8d5}.danger{background:var(--danger);color:#fff}.ghost{background:transparent;color:var(--navy);border-color:var(--line)}
.primary:disabled,.secondary:disabled{opacity:.5;cursor:not-allowed}
.button-row{display:flex;gap:9px;flex-wrap:wrap}
.list{display:grid;gap:10px}
.list-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;align-items:flex-start;gap:12px;box-shadow:0 4px 14px rgba(15,45,79,.04)}
.list-item-main{min-width:0;flex:1}.list-item h3{font-size:16px;margin:0 0 5px}.list-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.4}.list-item .amount{font-weight:900;color:var(--navy);white-space:nowrap}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:850;text-transform:capitalize;background:#eaf0f5;color:#40546b}.badge.ok{background:#e5f7f1;color:#12634e}.badge.warn{background:#fff5d8;color:#7c5813}.badge.danger{background:#fee9e7;color:#9f2d26}.badge.brand{background:color-mix(in srgb,var(--brand) 14%, white);color:#075a53}
.empty{background:#fff;border:1px dashed #cbd5df;border-radius:16px;padding:28px 18px;text-align:center;color:var(--muted)}
.empty strong{display:block;color:var(--ink);font-size:17px;margin-bottom:6px}
label{display:block;font-size:13px;font-weight:800;color:#28384d;margin-bottom:7px}
input,textarea,select{width:100%;border:1px solid #cbd5df;background:#fff;color:var(--ink);border-radius:13px;padding:12px 13px;outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 17%, transparent)}
textarea{min-height:105px;resize:vertical}.field{margin-bottom:13px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.help{color:var(--muted);font-size:12px;line-height:1.4;margin-top:6px}.error{background:#fff0ef;border:1px solid #f1b3ad;color:#9b2b24;border-radius:14px;padding:12px}.notice{background:#eef8f7;border:1px solid #b8e6df;color:#245e58;border-radius:14px;padding:12px}.warnbox{background:#fff8e7;border:1px solid #efd99b;color:#705217;border-radius:14px;padding:12px}
.login-wrap{min-height:100vh;background:linear-gradient(160deg,var(--header),var(--header-2));display:grid;place-items:center;padding:22px}.login-card{width:min(480px,100%);background:#fff;border-radius:24px;padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.28)}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:20px}.login-logo img{width:55px;height:55px;object-fit:contain}.login-logo h1{margin:0;color:var(--navy)}.login-logo p{margin:3px 0 0;color:var(--muted)}
.onboard{max-width:650px;margin:30px auto}.trade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trade-option{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;text-align:left}.trade-option.selected{border:2px solid var(--brand);background:#f2fbfa}
.job-hero{background:linear-gradient(145deg,var(--header),var(--header-2));color:var(--header-ink);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.job-hero small{color:color-mix(in srgb,var(--header-ink) 78%, transparent)}.job-hero h2{font-size:24px;margin:7px 0}.job-hero p{color:color-mix(in srgb,var(--header-ink) 85%, transparent);margin:5px 0}.job-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.job-action{border:1px solid color-mix(in srgb,var(--header-ink) 22%, transparent);background:color-mix(in srgb,var(--header-ink) 9%, transparent);color:var(--header-ink);border-radius:14px;padding:11px 5px;font-weight:750;font-size:12px}.job-action b{display:block;font-size:18px;margin-bottom:3px;color:var(--brand)}
.timeline{position:relative;padding-left:19px}.timeline:before{content:"";position:absolute;left:5px;top:9px;bottom:8px;width:2px;background:#dce5ed}.timeline-item{position:relative;padding:0 0 17px 10px}.timeline-item:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--brand);left:-18px;top:5px;border:2px solid #fff;box-shadow:0 0 0 1px #c8d3de}.timeline-item h4{margin:0 0 4px;font-size:14px}.timeline-item p{margin:0;color:var(--muted);font-size:13px;white-space:pre-wrap}.timeline-item small{color:#8a95a5}
.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.calendar-head h3{margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:12px}.dow{text-align:center;color:var(--muted);font-size:11px;font-weight:850;padding:6px}.day{min-height:82px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:7px;overflow:hidden}.day.other{opacity:.4}.day.today{border:2px solid var(--brand)}.day-num{font-weight:850;font-size:12px}.cal-chip{margin-top:4px;border-radius:7px;background:#e8f5f3;padding:3px 5px;font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cal-chip.event{background:#edf1f8}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(6,21,37,.58);display:flex;align-items:flex-end;justify-content:center;padding:16px}.modal{background:#fff;border-radius:24px 24px 18px 18px;width:min(650px,100%);max-height:88vh;overflow:auto;padding:19px;box-shadow:0 30px 70px rgba(0,0,0,.32)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.modal-head h3{margin:0}.close-btn{border:0;background:#eef2f5;border-radius:50%;width:38px;height:38px;font-size:20px}
.document{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.doc-top{display:flex;justify-content:space-between;gap:18px;border-bottom:2px solid var(--brand);padding-bottom:14px}.doc-logo{max-width:120px;max-height:70px;object-fit:contain}.doc-table{width:100%;border-collapse:collapse;margin-top:20px}.doc-table th,.doc-table td{padding:10px 7px;border-bottom:1px solid var(--line);font-size:13px;text-align:left}.doc-table th:last-child,.doc-table td:last-child{text-align:right}.totals{margin-left:auto;margin-top:16px;max-width:310px}.total-row{display:flex;justify-content:space-between;padding:6px 0}.total-row.grand{font-size:18px;font-weight:900;border-top:2px solid var(--navy);margin-top:4px;padding-top:10px}
.line-editor{display:grid;grid-template-columns:1fr 80px 110px 42px;gap:7px;align-items:end;margin-bottom:8px}.line-editor button{height:42px;border:0;border-radius:10px;background:#fee9e7;color:#8e2a23;font-weight:900}
.settings-logo{width:100px;height:100px;border:1px solid var(--line);border-radius:18px;display:grid;place-items:center;overflow:hidden;background:#fff}.settings-logo img{max-width:100%;max-height:100%;object-fit:contain}
.fab{position:fixed;right:18px;bottom:96px;z-index:35;width:56px;height:56px;border-radius:50%;border:0;background:var(--brand);color:var(--brand-ink);font-size:30px;box-shadow:0 10px 25px rgba(15,45,79,.22)}
.split{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.sticky-side{position:sticky;top:100px;align-self:start}
.loading{display:grid;place-items:center;padding:50px;color:var(--muted)}.spinner{width:32px;height:32px;border-radius:50%;border:4px solid #d9e2e9;border-top-color:var(--brand);animation:spin .8s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}
.profile-menu{position:fixed;right:14px;top:78px;z-index:80;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 45px rgba(15,45,79,.2);padding:7px;width:210px}.profile-menu button{display:block;width:100%;text-align:left;background:transparent;border:0;padding:11px 12px;border-radius:10px;color:var(--ink);font-weight:700}.profile-menu button:hover{background:#f1f5f8}
@media(max-width:720px){
  .content{padding:14px 11px 24px}.grid.three{grid-template-columns:1fr 1fr}.split{display:block}.sticky-side{position:static;margin-top:14px}.job-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.field-row{grid-template-columns:1fr}.calendar-grid{gap:3px}.day{min-height:68px;padding:5px}.line-editor{grid-template-columns:1fr 70px 90px 40px}.quick-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:420px){.quick-grid{grid-template-columns:1fr 1fr}.grid.two,.grid.three{grid-template-columns:1fr 1fr}.job-actions{grid-template-columns:repeat(3,1fr)}.calendar-grid{font-size:10px}.day{min-height:62px}.cal-chip{font-size:9px}}
@media(min-width:760px){.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:min(720px,calc(100% - 24px));border-radius:18px 18px 0 0}.modal-backdrop{align-items:center}.modal{border-radius:24px}}
@media print{.topbar,.bottom-nav,.button-row,.fab,.profile-menu{display:none!important}.app-shell{padding:0}.content{max-width:none;padding:0}.document{border:0;box-shadow:none}.card{box-shadow:none}}
.password-checklist{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;margin:-3px 0 13px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#f8fafc}
.password-rule{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:750;line-height:1.3;color:var(--muted)}
.password-rule .rule-icon{display:inline-grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border-radius:50%;font-weight:900}
.password-rule.met{color:#12634e}.password-rule.met .rule-icon{background:#e5f7f1;color:#12634e}
.password-rule.unmet .rule-icon,.password-rule.pending .rule-icon{background:#edf1f5;color:#718095}
.password-match{margin:-4px 0 2px}.password-match.unmet{color:#9b2b24}.password-match.unmet .rule-icon{background:#fff0ef;color:#9b2b24}
@media(max-width:420px){.password-checklist{grid-template-columns:1fr}}


/* V47.3 onboarding, trade and branding personalisation */
.trade-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.trade-option{position:relative;min-height:92px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.trade-option:hover{transform:translateY(-1px)}
.trade-option.selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);background:color-mix(in srgb,var(--brand) 7%, white)}
.trade-option.custom-trade{grid-column:1/-1;min-height:auto;background:#f8fafc}
.custom-trade-panel{margin-top:12px;border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:14px}
.custom-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.palette-option{border:1px solid var(--line);border-radius:14px;padding:11px;background:#fff;text-align:left;min-height:74px}
.palette-option.selected{border:2px solid var(--brand);padding:10px;box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 18%, transparent)}
.palette-swatches{display:flex;gap:6px;margin-bottom:8px}
.palette-swatch{width:31px;height:22px;border-radius:7px;border:1px solid rgba(0,0,0,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.palette-option b{display:block;font-size:13px}
.custom-colours{margin-top:12px;border:1px solid var(--line);border-radius:15px;padding:13px;background:#f8fafc}
.colour-pickers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.colour-pickers label{font-size:11px;margin-bottom:5px}
.colour-pickers input[type=color]{height:48px;padding:5px;border-radius:11px}
.brand-preview-wrap{margin:16px 0 18px}
.brand-preview-title{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-bottom:8px}
.brand-preview-title b{font-size:13px}.brand-preview-title span{font-size:11px;color:var(--muted)}
.brand-preview{--preview-header:#0F2D4F;--preview-accent:#19B8AA;--preview-bg:#F5F7FA;--preview-header-ink:#fff;--preview-accent-ink:#082b32;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--preview-bg);box-shadow:0 8px 24px rgba(15,45,79,.08)}
.preview-header{background:var(--preview-header);color:var(--preview-header-ink);border-bottom:4px solid var(--preview-accent);padding:12px;display:flex;align-items:center;gap:10px}
.preview-logo{width:38px;height:38px;border-radius:10px;background:#fff;display:grid;place-items:center;overflow:hidden;color:#17324f;font-weight:900;font-size:12px;flex:0 0 auto}
.preview-logo img{width:100%;height:100%;object-fit:contain}
.preview-header-copy{min-width:0}.preview-header-copy b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-header-copy span{display:block;font-size:10px;opacity:.74;margin-top:2px}
.preview-body{padding:12px}
.preview-job{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:13px;padding:12px;box-shadow:0 5px 13px rgba(15,45,79,.05)}
.preview-job small{color:#7a8795;font-size:9px;font-weight:850;text-transform:uppercase}.preview-job h4{font-size:14px;margin:5px 0 4px}.preview-job p{font-size:10px;color:#6b7688;margin:0 0 10px}
.preview-actions{display:flex;gap:6px}.preview-action{background:var(--preview-accent);color:var(--preview-accent-ink);font-size:9px;font-weight:850;border-radius:8px;padding:7px 9px}.preview-action.alt{background:#fff;color:#26384b;border:1px solid #ccd5de}
.preview-nav{background:var(--preview-header);display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:7px}.preview-nav span{font-size:8px;text-align:center;color:var(--preview-header-ink);opacity:.72}.preview-nav span.active{color:var(--preview-accent);opacity:1;font-weight:900}
.trade-detail-preview{margin-top:9px;display:grid;gap:3px}.trade-detail-preview div{font-size:12px;color:color-mix(in srgb,var(--header-ink) 84%, transparent)}
.trade-detail-preview b{color:var(--header-ink)}
@media(max-width:520px){.palette-grid{grid-template-columns:1fr 1fr}.colour-pickers{grid-template-columns:1fr 1fr 1fr}.custom-field-grid{grid-template-columns:1fr}.trade-grid{grid-template-columns:1fr 1fr}}
@media(max-width:370px){.trade-grid,.palette-grid{grid-template-columns:1fr}.trade-option.custom-trade{grid-column:auto}.colour-pickers{grid-template-columns:1fr}}


/* V47.5 — professional onboarding + branding studio. Plain CSS only for broad mobile browser support. */
.onboard{max-width:760px;margin:24px auto 46px;padding-left:12px;padding-right:12px}
.onboard>.card{padding:22px;border-radius:24px;border-color:#d8e1ea;box-shadow:0 16px 42px rgba(15,45,79,.10)}
.onboard .page-head{padding-bottom:8px;border-bottom:1px solid #edf1f5;margin-bottom:20px}
.onboard .page-head h2{font-size:29px;line-height:1.08}
.onboard .page-head p{font-size:14px;line-height:1.55;max-width:560px}
.onboard .section-title{display:flex;align-items:center;gap:9px;margin-top:28px;color:#44556b;font-size:13px}
.onboard .section-title:after{content:"";height:1px;background:#e7ecf1;flex:1}
.trade-option{appearance:none;-webkit-appearance:none;position:relative;min-height:96px;padding:15px 16px;border:1px solid #d7e0e8;border-radius:17px;background:#fff;text-align:left;color:#162236;box-shadow:0 3px 10px rgba(15,45,79,.025);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}
.trade-option b{display:block;font-size:15px;line-height:1.22;margin-right:24px}
.trade-option .help{font-size:11.5px;margin-top:7px;color:#748195}
.trade-option.selected{border:2px solid var(--brand);padding:14px 15px;background:#f0fbf9;box-shadow:0 0 0 3px rgba(25,184,170,.10),0 7px 16px rgba(15,45,79,.05)}
.trade-option.selected:after{content:"✓";position:absolute;right:12px;top:12px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#082b32;font-size:13px;font-weight:950}
.trade-option.custom-trade{grid-column:auto;min-height:96px;background:linear-gradient(145deg,#f8fafc,#ffffff);border-style:dashed}
.trade-option.custom-trade b{font-size:15px}
.custom-trade-panel{margin-top:14px;border:1px solid #cfd9e3;border-radius:18px;background:#f8fafc;padding:16px;box-shadow:inset 0 1px 0 #fff}
.custom-trade-panel>b{font-size:16px;color:#18283d}
.custom-trade-panel>.help{margin-bottom:15px}
.custom-field-grid input{min-height:48px}
.branding-panel{margin:14px 0 16px;padding:17px;border:1px solid #d9e2ea;border-radius:20px;background:#fbfcfd}
.branding-panel-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}
.branding-panel-head h3{margin:3px 0 4px;font-size:18px;color:#17263b}
.branding-panel-head p{margin:0;color:#6d7a8c;font-size:12.5px;line-height:1.45}
.setup-kicker{display:block;font-size:9px;font-weight:900;letter-spacing:.14em;color:#718095;margin-bottom:3px}
.palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.palette-option{appearance:none;-webkit-appearance:none;position:relative;display:flex;align-items:center;gap:11px;min-height:82px;padding:10px 12px;border:1px solid #d7e0e8;border-radius:15px;background:#fff;text-align:left;color:#17263b;box-shadow:0 3px 10px rgba(15,45,79,.035);overflow:hidden}
.palette-option[data-palette="custom"]{grid-column:auto;background:linear-gradient(145deg,#f2f7fb,#ffffff);border:1.5px dashed #91a2b6}
.palette-option.selected{border:2px solid var(--brand);padding:9px 11px;background:#f3fbfa;box-shadow:0 0 0 3px rgba(25,184,170,.10)}
.palette-swatches{width:88px;height:46px;display:flex;gap:4px;margin:0;flex:0 0 88px;padding:4px;border-radius:11px;background:#edf1f5}
.palette-swatch{display:block;flex:1;height:100%;border-radius:7px;border:1px solid rgba(17,32,48,.09);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.palette-copy{min-width:0;flex:1}.palette-copy b{display:block;font-size:13px;line-height:1.2}.palette-copy span{display:block;color:#7b8797;font-size:9.5px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.palette-check{display:none;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#082b32;place-items:center;font-weight:950;font-size:12px;flex:0 0 22px}
.palette-option.selected .palette-check{display:grid}
.custom-colours{margin-top:12px;border:1px solid #d5dfe8;border-radius:16px;padding:14px;background:#fff}
.custom-colours-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.custom-colours-head b{font-size:14px}.custom-colours-head p{margin:3px 0 0;color:#758196;font-size:11px}.custom-badge{font-size:9px;font-weight:900;letter-spacing:.09em;padding:5px 7px;border-radius:999px;background:#eef3f7;color:#54657b}
.colour-pickers{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.colour-picker-card{border:1px solid #dbe3ea;border-radius:13px;background:#f8fafc;padding:9px}
.colour-picker-head{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:7px}.colour-picker-head label{margin:0;font-size:11px}.colour-picker-head span{font-size:8.5px;color:#7a8796;font-weight:800;font-variant-numeric:tabular-nums}
.colour-picker-card input[type=color]{display:block;width:100%;height:50px;padding:4px;border:1px solid #cdd7e1;border-radius:10px;background:#fff;cursor:pointer}
.brand-preview-wrap{margin:18px 0 20px;padding:17px;border:1px solid #d9e2ea;border-radius:20px;background:#f3f6f9}
.brand-preview-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 13px}.brand-preview-title>div b{display:block;font-size:16px;color:#17263b}.brand-preview-title>span{font-size:10.5px;color:#758196;white-space:nowrap}
.preview-stage{padding:12px;border-radius:18px;background:linear-gradient(145deg,#e5ebf1,#f9fbfc);border:1px solid #d9e1e9}
.brand-preview{--preview-header:#0F2D4F;--preview-accent:#19B8AA;--preview-bg:#F5F7FA;--preview-header-ink:#fff;--preview-accent-ink:#082b32;max-width:410px;margin:0 auto;border:7px solid #172235;border-radius:27px;overflow:hidden;background:var(--preview-bg);box-shadow:0 16px 30px rgba(15,45,79,.18)}
.preview-header{background:var(--preview-header);color:var(--preview-header-ink);border-bottom:4px solid var(--preview-accent);padding:11px 11px 10px;display:flex;align-items:center;gap:9px}
.preview-logo{width:38px;height:38px;border-radius:11px;background:#fff;display:grid;place-items:center;overflow:hidden;color:#17324f;font-weight:900;font-size:11px;flex:0 0 auto;box-shadow:0 2px 7px rgba(0,0,0,.13)}
.preview-logo img{width:100%;height:100%;object-fit:contain}
.preview-header-copy{min-width:0;flex:1}.preview-header-copy b{display:block;font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-header-copy span{display:block;font-size:8.5px;opacity:.72;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.preview-avatar{width:31px;height:31px;border:1px solid rgba(255,255,255,.24);border-radius:10px;display:grid;place-items:center;font-size:8px;font-weight:900;color:var(--preview-header-ink);background:rgba(255,255,255,.09)}
.preview-body{padding:11px 11px 13px;background:var(--preview-bg)}
.preview-greeting{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin:0 1px 8px}.preview-greeting b{font-size:12px;color:#17263b}.preview-greeting span{font-size:7.5px;color:#7a8796}
.preview-job{background:#fff;border:1px solid #dfe5eb;border-radius:13px;padding:11px;box-shadow:0 6px 15px rgba(15,45,79,.065)}
.preview-job-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.preview-job-top small{color:#7d8998;font-size:7.8px;font-weight:900;letter-spacing:.03em}.preview-job-top span{font-size:6.8px;font-weight:950;padding:4px 6px;border-radius:999px;background:#e8f5f3;color:#17675f}
.preview-job h4{font-size:13.5px;margin:7px 0 3px;color:#17263b}.preview-job p{font-size:9.5px;color:#6f7c8e;margin:0}
.preview-meta{display:flex;justify-content:space-between;align-items:center;margin:9px 0;padding-top:8px;border-top:1px solid #edf1f5}.preview-meta span{font-size:8px;color:#7c8796}.preview-meta b{font-size:9px;color:#26384c}
.preview-actions{display:grid;grid-template-columns:1.4fr .8fr;gap:6px}.preview-action{display:grid;place-items:center;background:var(--preview-accent);color:var(--preview-accent-ink);font-size:8px;font-weight:900;border-radius:8px;padding:7px 8px}.preview-action.alt{background:#fff;color:#26384b;border:1px solid #ccd5de}
.preview-nav{background:var(--preview-header);display:grid;grid-template-columns:repeat(5,1fr);gap:1px;padding:6px 3px 7px}.preview-nav span{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:6.5px;text-align:center;color:var(--preview-header-ink);opacity:.64}.preview-nav i{font-style:normal;font-size:11px;line-height:1}.preview-nav span.active{color:var(--preview-accent);opacity:1;font-weight:900}
@media(max-width:560px){.onboard{margin-top:10px;padding-left:8px;padding-right:8px}.onboard>.card{padding:17px}.onboard .page-head h2{font-size:27px}.palette-grid{grid-template-columns:1fr 1fr}.palette-option{display:block;min-height:101px;padding:9px}.palette-option.selected{padding:8px}.palette-swatches{width:100%;height:39px;margin-bottom:8px}.palette-copy span{white-space:normal}.palette-check{position:absolute;right:8px;top:8px}.colour-pickers{grid-template-columns:1fr 1fr 1fr}.brand-preview-wrap{padding:13px}.preview-stage{padding:8px}.brand-preview-title{align-items:flex-start}.brand-preview-title>span{white-space:normal;text-align:right;max-width:120px}}
@media(max-width:390px){.trade-grid,.palette-grid{grid-template-columns:1fr}.trade-option.custom-trade,.palette-option[data-palette="custom"]{grid-column:auto}.colour-pickers{grid-template-columns:1fr}.brand-preview-title>span{display:none}}

/* V47.5 — balanced trade/palette grids and visually distinct custom theme */
.palette-custom{position:relative}
.palette-custom .custom-palette-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:0 0 46px;background:linear-gradient(145deg,var(--header),var(--brand));color:#fff;font-size:22px;font-weight:900;box-shadow:0 6px 14px rgba(15,45,79,.16)}
.palette-custom .custom-palette-action{display:inline-grid;place-items:center;padding:5px 7px;border-radius:999px;background:#eaf0f5;color:#53667c;font-size:8px;font-weight:950;letter-spacing:.08em}
.palette-custom.selected{background:linear-gradient(145deg,#eefaf8,#ffffff);border-style:solid}
.palette-custom.selected .custom-palette-action{background:var(--brand);color:var(--brand-ink)}
@media(max-width:560px){.palette-custom{display:flex!important;align-items:center!important;min-height:101px}.palette-custom .palette-copy span{white-space:normal}.palette-custom .custom-palette-action{position:absolute;right:9px;bottom:9px}}

/* V47.7 — password recovery */
.text-link{appearance:none;border:0;background:transparent;color:var(--brand);font:inherit;font-weight:800;padding:12px 4px;cursor:pointer;text-decoration:none}
.forgot-link{display:block;margin:2px auto 0;text-align:center}
.text-link:hover,.text-link:focus{text-decoration:underline}

/* V47.8 — job booking, planner, call log, tools/equipment and safety */
.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.field-label-row label{margin:0}.compact-link{padding:3px 0;font-size:12px}
.inline-create-card{margin:-2px 0 16px;padding:15px;border:1px solid #cfdbe5;border-radius:16px;background:#f7fafc;box-shadow:inset 0 1px 0 #fff}.inline-create-card[hidden]{display:none}.inline-create-head{margin-bottom:12px}.inline-create-head b{font-size:14px;color:#17263b}.inline-create-head p{margin:3px 0 0;color:#718095;font-size:11px;line-height:1.45}
.planner-form{padding:13px 13px 4px;border:1px solid #dbe3ea;border-radius:15px;background:#f8fafc;margin-bottom:14px}.planner-card .section-card-head{margin-bottom:12px}.planner-summary{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;padding:12px 0;border-top:1px solid #e7edf2;border-bottom:1px solid #e7edf2;margin-bottom:12px}.planner-summary span{font-size:11px;color:#748195}.planner-summary b{text-align:right;font-size:12px;color:#25364b}.full-btn{width:100%}
.section-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.section-card-head h3{margin:0;font-size:17px}.section-card-head p{margin:3px 0 0;color:#748195;font-size:11.5px;line-height:1.4}.small-btn{padding:7px 10px!important;min-height:auto!important;font-size:11px!important}
.resource-row,.call-log-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #edf1f5}.resource-row:first-of-type,.call-log-row:first-of-type{border-top:0}.resource-row b,.call-log-row b{font-size:13px;color:#1e2f44}.resource-row p,.call-log-row p{margin:3px 0;color:#657489;font-size:11.5px;white-space:pre-wrap}.resource-row small,.call-log-row small{display:block;color:#8a95a4;font-size:9.5px;margin-top:4px}.call-log-list{display:block}.readonly-value{padding:13px 14px;border:1px solid #d7e0e8;border-radius:13px;background:#f8fafc;color:#23344a;font-weight:750}
.compact-empty{padding:15px!important;min-height:auto!important}.compact-empty strong{font-size:13px!important}.timeline-item[data-open-job],.timeline-item[data-open-document]{cursor:pointer}.timeline-item[data-open-job]:hover,.timeline-item[data-open-document]:hover{background:#f8fafc}
@media(max-width:560px){.section-card-head{align-items:center}.section-card-head p{font-size:10.5px}.planner-summary{grid-template-columns:1fr auto}.resource-row,.call-log-row{padding:10px 0}.job-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* V47.9 — inline customer typeahead for job creation */
.customer-picker-field{position:relative}
.customer-typeahead{position:relative}
.customer-typeahead>input[type="text"],.customer-typeahead>input:not([type]){padding-right:42px}
.customer-typeahead:after{content:"⌕";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:17px;color:#8390a1;pointer-events:none}
.customer-suggestions{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);border:1px solid #cfd9e3;border-radius:15px;background:#fff;box-shadow:0 14px 34px rgba(15,45,79,.16);overflow:hidden;max-height:330px;overflow-y:auto}
.customer-suggestions[hidden]{display:none}
.customer-suggestion{appearance:none;-webkit-appearance:none;width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;border:0;border-bottom:1px solid #edf1f5;background:#fff;text-align:left;color:#1d2d42;cursor:pointer}
.customer-suggestion:hover,.customer-suggestion:focus{background:#f5f9fc;outline:none}
.customer-suggestion-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:0 0 34px;background:#edf4f7;color:#24445b;font-weight:900;font-size:11px}
.customer-suggestion-copy{min-width:0;flex:1}.customer-suggestion-copy b{display:block;font-size:13px}.customer-suggestion-copy small{display:block;margin-top:2px;color:#7a8797;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.customer-suggestion-use{font-size:10px;font-weight:850;color:var(--brand);flex:0 0 auto}
.customer-create-suggestion{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#f7fafc;color:#26384d}
.customer-create-plus{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:0 0 34px;background:var(--brand);color:var(--brand-ink);font-weight:950;font-size:19px}
.customer-create-suggestion b{display:block;font-size:12.5px;line-height:1.3}.customer-create-suggestion small{display:block;margin-top:3px;color:#748195;font-size:10.5px;line-height:1.35}
.customer-picker-help{margin-top:7px}
@media(max-width:560px){.customer-suggestions{max-height:280px}.customer-suggestion{padding:10px}.customer-suggestion-use{font-size:9px}}


/* V47.10 — Marine-inspired workflow dashboard, status board and standalone planner */
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;color:var(--brand);margin-bottom:6px}
.dashboard-intro{padding:8px 2px 4px}.dashboard-intro h2{font-size:34px;line-height:1.04;margin:0;letter-spacing:-.035em}.dashboard-intro p{font-size:15px;color:var(--muted);margin:10px 0 16px}
.dashboard-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dash-action{min-height:132px;border-radius:22px;padding:18px;text-align:left;border:1px solid transparent;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;box-shadow:0 9px 22px rgba(15,29,45,.08)}.dash-action-primary{background:var(--brand);color:var(--brand-ink)}.dash-action-dark{background:linear-gradient(145deg,var(--header),var(--header-2));color:var(--header-ink)}.dash-icon{font-size:28px;line-height:1;margin-bottom:auto}.dash-action-dark .dash-icon{color:var(--brand)}.dash-action b{font-size:18px;margin-top:12px}.dash-action small{font-size:11px;margin-top:5px;opacity:.68}
.dashboard-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.dashboard-metric{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;text-align:left;min-height:95px;box-shadow:var(--shadow);border-top:4px solid var(--brand)}.dashboard-metric strong{display:block;font-size:29px;line-height:1;color:var(--ink)}.dashboard-metric span{display:block;margin-top:10px;font-size:12px;font-weight:900;color:#465365}
.oldest-job-card{margin-top:14px;border:1px solid color-mix(in srgb,var(--brand) 55%,var(--line));background:color-mix(in srgb,var(--brand) 7%,white);border-radius:20px;padding:17px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.oldest-job-card span:first-child{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900;color:var(--muted)}.oldest-job-card strong{display:block;color:var(--brand);font-size:26px;margin:3px 0}.oldest-job-card small{color:var(--muted)}.oldest-arrow{font-size:25px;color:var(--brand)}.home-section-head{margin-top:24px}
.status-board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px}.status-tile{background:#fff;border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:18px;padding:15px;text-align:center;min-height:94px;box-shadow:0 5px 14px rgba(15,45,79,.05)}.status-tile.featured{background:linear-gradient(145deg,var(--header),var(--header-2));color:var(--header-ink);border-color:var(--header);border-bottom:4px solid var(--brand)}.status-tile strong{display:block;font-size:28px;line-height:1.1}.status-tile span{display:block;margin-top:8px;font-size:11px;font-weight:900}.job-board-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;display:flex;align-items:stretch;overflow:hidden;box-shadow:0 6px 18px rgba(15,45,79,.06)}.job-board-stripe{width:6px;background:var(--brand);flex:0 0 6px}.job-board-main{padding:15px;min-width:0;flex:1}.job-board-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.job-board-top h3{font-size:17px;margin:0}.job-board-main p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.job-board-main .job-ref{font-weight:750}.job-board-time{margin-top:10px;font-size:11px;font-weight:850;color:var(--ink)}.job-board-arrow{align-self:center;padding:16px;color:var(--brand);font-size:22px}
.workflow-card{margin:14px 0;background:#fff;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:18px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:14px;box-shadow:var(--shadow)}.workflow-card h3{margin:0 0 5px;font-size:21px}.workflow-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.workflow-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.workflow-done{font-weight:900;color:var(--ok);padding:12px}.job-content-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.job-content-grid aside .card+.card{margin-top:14px}.invoice-paid-check{border:1px solid #a7d9ca;background:#eefaf5;color:#12634e;border-radius:13px;padding:11px 14px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:8px}.invoice-paid-check span{font-size:20px;line-height:1}.invoice-paid-check.large{width:100%;min-height:54px;font-size:16px}.new-job-flow-note{margin:5px 0 14px;border-radius:14px;padding:12px 13px;background:color-mix(in srgb,var(--brand) 7%,white);border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));display:flex;flex-direction:column;gap:4px}.new-job-flow-note span{font-size:12px;color:var(--muted)}
.planner-page-head{margin-bottom:10px}.planner-top-actions{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-bottom:12px}.planner-book-button{font-size:17px}.planner-date-card{padding:12px}.planner-date-row{display:grid;grid-template-columns:50px 1fr 50px;gap:10px;align-items:end}.planner-date-row .ghost{font-size:25px;padding:8px}.planner-date-field{margin:0}.planner-today{width:100%;margin-top:10px}.planner-day-strip{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:8px;overflow:auto;padding:12px 0 5px;scrollbar-width:none}.planner-day{border:1px solid var(--line);background:#fff;border-radius:15px;padding:10px;text-align:left;min-height:77px}.planner-day span,.planner-day small{display:block;color:var(--muted);font-size:9px}.planner-day b{display:block;font-size:13px;margin:4px 0}.planner-day.active{background:linear-gradient(145deg,var(--header),var(--header-2));color:var(--header-ink);border-color:var(--header);box-shadow:inset 0 -4px 0 var(--brand)}.planner-day.active span,.planner-day.active small{color:color-mix(in srgb,var(--header-ink) 65%,transparent)}.planner-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.planner-metrics div{background:linear-gradient(145deg,var(--header),var(--header-2));color:var(--header-ink);border-radius:17px;padding:15px;border-bottom:4px solid var(--brand)}.planner-metrics strong{display:block;font-size:25px}.planner-metrics span{display:block;font-size:10px;text-transform:uppercase;font-weight:900;margin-top:7px;opacity:.72}.planner-work-list{display:grid;gap:10px}.planner-queue-card{border-left:5px solid var(--brand);border-radius:15px;background:#fff;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px;display:flex;align-items:center;gap:12px;justify-content:space-between}.planner-queue-card h4,.planner-booked-card h4{margin:0;font-size:15px}.planner-queue-card p,.planner-booked-card p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.35}.planner-day-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px}.planner-day-title h3{margin:0}.planner-day-title span{font-size:11px;color:var(--muted)}.planner-booked-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:13px;display:grid;grid-template-columns:66px 1fr auto;gap:12px;align-items:center;margin-bottom:10px;box-shadow:0 4px 13px rgba(15,45,79,.04)}.planner-time-block{border-right:1px solid var(--line);padding-right:10px}.planner-time-block strong{display:block;font-size:17px}.planner-time-block span{font-size:10px;color:var(--muted)}.planner-booked-actions{display:flex;gap:6px;flex-direction:column}.planner-booked-actions button{min-height:36px;padding:7px 10px}.planner-event{background:#fff;border:1px solid var(--line);border-left:4px solid #8b97a8;border-radius:13px;padding:12px;margin-bottom:8px;display:flex;justify-content:space-between;gap:10px}.planner-event span{color:var(--muted);font-size:11px}.planner-job-readonly{margin-bottom:13px}.readonly-value{background:#f7f9fb;border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--ink)}
.invoice-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.invoice-metrics div{background:#fff;border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:17px;padding:15px}.invoice-metrics strong{display:block;font-size:27px}.invoice-metrics span{font-size:11px;font-weight:900;color:var(--muted)}.invoice-list,.invoice-archive{display:grid;gap:10px}.invoice-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:0 6px 18px rgba(15,45,79,.06)}.invoice-card.archived{opacity:.82}.invoice-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.invoice-card-top h3{display:inline-block;margin:0 7px 0 0;font-size:16px}.invoice-card-top>strong{font-size:21px}.invoice-card>p{color:var(--muted);font-size:11px}.invoice-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.invoice-card .invoice-paid-check{width:100%;margin-top:9px}.document-action-card{margin-top:14px}
.call-history-list{display:grid;gap:10px}.call-history-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:16px;padding:14px;display:flex;justify-content:space-between;gap:12px;align-items:center}.call-history-card h3{margin:0;font-size:16px}.call-history-card p{margin:5px 0 0;color:var(--muted);font-size:12px}.call-history-card small{display:block;margin-top:7px;color:#8a95a5;font-size:10px}.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.more-grid button{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;text-align:left;min-height:115px;box-shadow:var(--shadow)}.more-grid span{display:block;color:var(--brand);font-size:24px;margin-bottom:15px}.more-grid b{display:block;font-size:16px}.more-grid small{display:block;color:var(--muted);margin-top:5px}
@media(max-width:720px){.job-content-grid{display:block}.job-content-grid aside{margin-top:14px}.workflow-card{display:block}.workflow-actions{justify-content:flex-start;margin-top:13px}.planner-booked-card{grid-template-columns:58px 1fr}.planner-booked-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.job-board-head{display:block}.job-board-head .primary{margin-top:12px}}
@media(max-width:430px){.dashboard-actions{gap:9px}.dash-action{min-height:120px;padding:14px}.dash-action b{font-size:16px}.status-tile{min-height:88px;padding:12px}.planner-day-strip{grid-template-columns:repeat(5,93px)}.invoice-actions{grid-template-columns:1fr}.job-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* V47.11 — field-first Marine-style job card */
.job-page-back{margin-bottom:12px}.job-card-shell{max-width:860px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow)}
.job-card-header{padding-bottom:15px;border-bottom:1px solid #edf1f4}.job-card-title h2{margin:0;font-size:26px;letter-spacing:-.025em;color:var(--ink)}.job-card-title p{margin:5px 0 0;color:var(--muted);font-size:12px;font-weight:750}.job-chip-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.job-mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.job-mini-metric{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#f8fafc;border-radius:13px;padding:10px 12px}.job-mini-metric:first-child{background:color-mix(in srgb,var(--brand) 7%,white);border-color:color-mix(in srgb,var(--brand) 24%,var(--line))}.job-mini-metric span{font-size:9px;font-weight:900;letter-spacing:.07em;color:#718095}.job-mini-metric strong{font-size:15px;color:var(--ink);white-space:nowrap}
.job-work-card{margin:14px 0;border:1px solid color-mix(in srgb,var(--brand) 26%,var(--line));border-left:5px solid var(--brand);border-radius:15px;padding:14px;background:color-mix(in srgb,var(--brand) 3%,white)}.job-work-card p{margin:9px 0 0;white-space:pre-wrap;line-height:1.45;color:#2b3442}.job-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.job-section-heading h3{margin:0;font-size:16px}.job-inline-edit{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:850;color:var(--ink)}
.job-disclosure{border:1px solid var(--line);border-radius:14px;background:#fff;margin:10px 0;overflow:hidden}.job-disclosure summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;font-weight:850;cursor:pointer}.job-disclosure summary::-webkit-details-marker{display:none}.job-disclosure summary small{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:#eef2f5;color:#657489;margin-left:6px;font-size:9px}.job-chevron{font-size:17px;color:#6c7788;transition:transform .15s ease}.job-disclosure[open] .job-chevron{transform:rotate(180deg)}.job-disclosure-body{border-top:1px solid #edf1f4;padding:12px 14px}.job-info-row{display:grid;grid-template-columns:minmax(90px,.7fr) 1.3fr;gap:12px;padding:8px 0;border-bottom:1px solid #f0f3f6;font-size:12px}.job-info-row:last-child{border-bottom:0}.job-info-row span{color:var(--muted)}.job-info-row b{text-align:right;color:var(--ink)}.job-info-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.job-info-action{text-align:center;text-decoration:none;border:1px solid #c6d0da;border-radius:11px;padding:10px;background:#fff;font-weight:850;font-size:12px;color:var(--ink)}
.job-quick-section{margin:16px 0}.job-quick-section>h3{font-size:16px;margin:0 0 10px}.job-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.job-quick-button{min-height:58px;border:1px solid #d8e0e7;background:#fff;border-radius:11px;padding:9px 7px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--ink);font-size:11px;font-weight:850}.job-quick-button:hover{border-color:color-mix(in srgb,var(--brand) 55%,#d8e0e7)}.job-quick-button.primary-quick{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.job-quick-button.wide{grid-column:1/-1;background:color-mix(in srgb,var(--brand) 7%,white);border-color:color-mix(in srgb,var(--brand) 27%,var(--line))}.job-quick-icon{width:21px;height:21px;display:inline-grid;place-items:center;flex:0 0 21px;color:var(--brand)}.job-quick-button.primary-quick .job-quick-icon{color:var(--brand-ink)}.job-quick-icon svg{width:21px;height:21px;display:block}
.job-data-section{margin:18px 0}.job-total-pill{border-radius:999px;background:#151515;color:#fff;padding:5px 9px;font-size:9.5px;font-weight:900}.job-total-pill.light{background:color-mix(in srgb,var(--brand) 9%,white);color:var(--ink);border:1px solid color-mix(in srgb,var(--brand) 25%,var(--line))}.job-record-row,.job-material-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 2px;border-bottom:1px solid #edf1f4}.job-record-row:last-child,.job-material-row:last-child{border-bottom:0}.job-record-row b,.job-material-row b{font-size:13px}.job-record-row p,.job-material-row p{margin:3px 0;color:var(--muted);font-size:11px;white-space:pre-wrap}.job-record-row small{display:block;color:#8995a4;font-size:9px;margin-top:4px}.job-material-row>strong{white-space:nowrap;font-size:13px}.job-record-row.clickable{cursor:pointer}.job-empty-row{border:1px dashed #d6dde5;border-radius:12px;padding:17px;text-align:center;color:#8a95a4;font-size:12px;margin-top:9px}.job-doc-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:7px}
.job-save-card,.job-finish-card{margin-top:18px;border-radius:16px;padding:16px;background:#f6fbf8;border:1px solid #cfe5d8;border-left:5px solid #2c8b5e}.job-finish-card{background:color-mix(in srgb,var(--brand) 4%,white);border-color:color-mix(in srgb,var(--brand) 32%,var(--line));border-left-color:var(--brand)}.job-save-card h3,.job-finish-card h3{margin:0;font-size:16px}.job-save-card p,.job-finish-card p{margin:6px 0 13px;color:var(--muted);font-size:11px;line-height:1.45}.job-finish-actions{display:grid;gap:8px}
@media(max-width:560px){.job-card-shell{padding:13px;border-radius:20px}.job-card-title h2{font-size:23px}.job-mini-metrics{grid-template-columns:1fr}.job-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.job-quick-button{min-height:54px;flex-direction:column;gap:3px}.job-quick-button.wide{flex-direction:row}.job-info-row{grid-template-columns:100px 1fr}.job-info-actions{grid-template-columns:1fr 1fr}}
@media(max-width:370px){.job-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.job-quick-button.wide{grid-column:1/-1}.job-mini-metric{padding:9px 10px}}

/* V47.12 — global search, editable field records and employee access */
.ui-icon{display:inline-grid;place-items:center;width:22px;height:22px;line-height:1;flex:0 0 22px}
.ui-icon svg{width:22px;height:22px;display:block}
.header-search-btn{width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:var(--header-ink);display:grid;place-items:center;padding:0;cursor:pointer}
.header-search-btn:hover,.header-search-btn:focus{background:rgba(255,255,255,.15);outline:none}
.header-search-btn .ui-icon{width:21px;height:21px}.header-search-btn svg{width:21px;height:21px}
.nav-btn>.ui-icon{width:22px;height:22px}.nav-btn>.ui-icon svg{width:22px;height:22px}.nav-btn.active>.ui-icon{color:var(--brand)}
.employee-nav{grid-template-columns:repeat(2,minmax(0,1fr));max-width:540px;margin:0 auto;width:100%;left:0;right:0}
.dash-icon .ui-icon,.dash-icon .ui-icon svg{width:31px;height:31px}.dash-icon{display:grid;place-items:center;width:34px;height:34px}

.global-search-input{display:flex;align-items:center;gap:10px;border:2px solid color-mix(in srgb,var(--brand) 42%,var(--line));background:#fff;border-radius:15px;padding:0 13px;box-shadow:0 6px 18px rgba(15,45,79,.06)}
.global-search-input .ui-icon{color:var(--brand)}.global-search-input input{border:0!important;box-shadow:none!important;padding:14px 0!important;font-size:16px;background:transparent}.global-search-input input:focus{outline:none}
.global-search-results{margin-top:12px;max-height:60vh;overflow:auto}.search-group{border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden;margin-bottom:10px}.search-group h4{margin:0;padding:9px 12px;background:#f7f9fb;color:#718095;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.search-group button{appearance:none;width:100%;border:0;border-top:1px solid #edf1f5;background:#fff;text-align:left;padding:11px 12px;display:block;color:var(--ink);cursor:pointer}.search-group h4+button{border-top:0}.search-group button:hover{background:#f7fafc}.search-group b{display:block;font-size:13px}.search-group small{display:block;color:var(--muted);font-size:10.5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.section-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.inline-section-add{display:flex;justify-content:flex-end;margin-bottom:8px}.record-actions{display:flex;align-items:flex-end;gap:8px;flex-direction:column}.record-actions strong{white-space:nowrap;font-size:13px}
.job-record-row>.small-btn,.job-material-row .small-btn{flex:0 0 auto}.job-disclosure-body>.inline-section-add .secondary{font-size:11px;padding:8px 10px;min-height:auto}

.settings-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px;background:#e9eef3;border-radius:15px;margin-bottom:14px}.settings-tabs button{border:0;background:transparent;border-radius:11px;padding:11px 12px;color:#637287;font-weight:850;font-size:12px}.settings-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 3px 10px rgba(15,45,79,.09)}
.employee-access-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.employee-access-intro h2{margin:0 0 5px}.employee-access-intro p{margin:0;max-width:620px;color:var(--muted);line-height:1.5}.employee-access-note{border:1px solid color-mix(in srgb,var(--brand) 24%,var(--line));border-left:5px solid var(--brand);background:color-mix(in srgb,var(--brand) 5%,white);border-radius:14px;padding:13px 14px;margin:12px 0 16px}.employee-access-note b,.employee-access-note span{display:block}.employee-access-note span{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}
.pending-invites{margin:16px 0}.pending-invites h3{font-size:15px}.pending-invite{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px 12px;margin:7px 0}.pending-invite b,.pending-invite small{display:block}.pending-invite small{color:var(--muted);font-size:10px;margin-top:2px}
.employee-access-list{display:grid;gap:12px}.employee-access-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:15px;box-shadow:var(--shadow)}.employee-access-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f5;padding-bottom:11px;margin-bottom:11px}.employee-name-input{border:0!important;padding:0!important;font-size:16px!important;font-weight:900!important;color:var(--ink);box-shadow:none!important;background:transparent!important}.employee-access-top small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.employee-permissions{display:grid;gap:8px;margin:10px 0 13px}.employee-permissions label{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:flex-start;padding:10px;border:1px solid #e1e7ed;border-radius:12px;background:#fafbfd}.employee-permissions input{width:18px;height:18px;margin-top:1px}.employee-permissions b,.employee-permissions small{display:block}.employee-permissions b{font-size:12px}.employee-permissions small{font-size:10px;color:var(--muted);line-height:1.35;margin-top:2px}.employee-active-toggle{background:#f7fafc!important}.invite-permissions{margin-top:4px}.employee-menu-name{padding:11px 13px;border-bottom:1px solid var(--line)}.employee-menu-name b,.employee-menu-name small{display:block}.employee-menu-name small{font-size:10px;color:var(--muted);margin-top:2px}
.employee-day-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:3px 0 18px}.employee-day-card>div{background:#fff;border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:16px;padding:13px;box-shadow:var(--shadow)}.employee-day-card span,.employee-day-card strong,.employee-day-card small{display:block}.employee-day-card span{font-size:9px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.06em}.employee-day-card strong{font-size:24px;margin:4px 0}.employee-day-card small{font-size:10px;color:var(--muted)}

@media(max-width:560px){.header-actions{gap:6px}.header-search-btn,.icon-btn{width:42px;height:42px}.employee-access-intro{display:block}.employee-access-intro .primary{margin-top:12px;width:100%}.section-head-actions{gap:5px}.job-section-heading{align-items:flex-start}.record-actions{align-items:flex-end}.employee-day-card{grid-template-columns:1fr 1fr}.settings-tabs{position:sticky;top:88px;z-index:4}.global-search-results{max-height:55vh}}
.inline-customer-link{appearance:none;border:0;background:transparent;padding:0;color:var(--brand);font:inherit;font-weight:900;text-align:right;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.employee-view-only{border:1px dashed #cfd8e2;border-radius:12px;padding:14px;text-align:center;color:var(--muted);font-size:11px;background:#fafbfd}
.more-grid .ui-icon,.more-grid .job-quick-icon{display:grid;width:27px;height:27px;margin-bottom:15px;color:var(--brand)}
.more-grid .ui-icon svg,.more-grid .job-quick-icon svg{width:27px;height:27px}

/* 47.13 — modal confirmations and customer enquiry workflow */
.modal-backdrop{align-items:center;padding:18px;background:rgba(10,23,39,.65);backdrop-filter:blur(3px)}
.modal{border-radius:22px;max-width:510px;border:1px solid #d9e2ea;box-shadow:0 25px 75px rgba(8,22,44,.3)}
.modal-head h3{font-size:22px;letter-spacing:-.02em}
.decision-copy{font-size:15px;line-height:1.6;color:var(--ink);margin:8px 0 24px}
.decision-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center;margin-top:20px}
.decision-actions button{flex:1;min-height:48px;font-size:14px;font-weight:750;border-radius:12px}
.danger-button{background:#a82032;color:white;border:1px solid #a82032}
.danger-action{border-color:#bd5863!important;color:#9c2434!important}
.job-management-card{margin:18px 0;padding:18px;border:1px solid #d9e4ec;border-radius:17px;background:#f8fafc}
.job-management-card h3{margin:0 0 5px;font-size:17px}
.job-management-card p{margin:0 0 14px;color:#516479;line-height:1.5;font-size:13px}
.call-action-row{display:flex;align-items:center;gap:9px;justify-content:flex-end;flex-wrap:wrap;margin-top:10px}
.call-history-card .call-action-row{min-width:90px}
@media(max-width:560px){.decision-actions{flex-direction:column-reverse}.decision-actions button{width:100%;flex:auto}}

/* 47.14 — styled call lifecycle choices, readable follow-up pickers and status cards */
.call-status-fieldset{min-width:0;border:0;margin:14px 0 18px;padding:0}
.call-status-fieldset legend,.call-section-label{display:block;width:100%;padding:0;margin:0 0 9px;color:#29394e;font-weight:850;font-size:13px;line-height:1.4}
.call-section-label small{display:inline;margin-left:6px;font-weight:550;font-size:11px;color:#6b7c8e}
.call-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.call-status-choice{position:relative;display:flex;align-items:center;gap:8px;min-width:0;margin:0!important;padding:12px;border:1.5px solid #d5e0e7;border-radius:13px;background:#f8fafb;cursor:pointer;min-height:70px;transition:border-color .15s,background-color .15s,box-shadow .15s}
.call-status-choice:last-child{grid-column:1/-1;min-height:61px}
.call-status-choice input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;pointer-events:none}
.call-status-choice-body{display:block;flex:1;min-width:0}
.call-status-choice-label{display:block;color:#162c42;font-size:12.5px;font-weight:850;line-height:1.25}
.call-status-choice small{display:block;margin-top:4px;color:#62758a;font-size:10px;line-height:1.25}
.call-status-tick{display:grid;place-items:center;flex:0 0 22px;height:22px;border-radius:50%;background:#e4ebee;color:transparent;font-size:13px;font-weight:900}
.call-status-choice:has(input:checked){border-color:#10a99f;background:#e9f9f6;box-shadow:0 0 0 1px #13aaa078}
.call-status-choice input:checked~.call-status-tick{background:#0fa99f;color:white}
.call-status-choice:has(input:focus-visible){outline:3px solid #183b5d;outline-offset:2px}
.call-followup-field{margin:14px 0 18px}
.call-followup-field[hidden],.call-resolution-field[hidden]{display:none!important}
.call-date-time{display:grid;grid-template-columns:1.35fr 1fr;gap:10px}
.call-picker{display:block;min-width:0;margin:0!important}
.call-picker-caption{display:block;font-size:11px;color:#53657a;font-weight:780;margin-bottom:6px}
.call-picker-control{position:relative;display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;min-height:54px;border:1.5px solid #cbd7df;border-radius:12px;background:#fff;padding:0 12px}
.call-picker:focus-within .call-picker-control{border-color:#0fa99f;box-shadow:0 0 0 3px #12b6ac20}
.call-picker-value{display:block;min-width:0;color:#152c43;font-size:13px;font-weight:850;white-space:nowrap}
.call-picker-empty{color:#708093;font-weight:600}
.call-picker-icon{color:#0b7f7b;font-size:22px;flex:0 0 auto;line-height:1}
.call-picker input[type=date],.call-picker input[type=time]{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-width:100%!important;margin:0!important;border:0!important;padding:0!important;opacity:0!important;cursor:pointer;z-index:2}
.call-followup-card{display:block;padding:17px 18px;border-radius:18px;box-shadow:0 3px 12px rgba(8,24,41,.035)}
.call-followup-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.call-followup-card .call-followup-heading h3{font-size:17px;margin:0;color:#10293c;flex:1;min-width:100px}
.call-status-pill{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;padding:7px 10px;border-radius:999px;font-size:11.5px;font-weight:850;line-height:1.2;white-space:nowrap;background:#e4f4f5;color:#0e656c}
.call-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}
.call-status-callback{background:#fff0ec;color:#a34229}
.call-status-waiting_customer{background:#ecf0ff;color:#4252a1}
.call-status-quote_requested{background:#fff2d7;color:#79521a}
.call-status-in_progress{background:#e4f4f5;color:#0e656c}
.call-status-resolved{background:#e4f6e7;color:#176c3e}
.call-followup-card .call-followup-subtitle{font-size:13px;color:#586b7d;margin:10px 0 0}
.call-followup-card .call-followup-notes{font-size:12.5px;color:#3f5268;margin:5px 0 0;white-space:pre-wrap}
.call-followup-card .call-followup-resolution{background:#f0f9f3;border-radius:10px;padding:10px;font-size:12px;margin:10px 0 0;color:#286445}
.call-followup-meta{display:flex;gap:7px 15px;flex-wrap:wrap;margin-top:12px;color:#637688;font-size:11px}
.call-followup-due{color:#0c7770;font-weight:750}
.call-followup-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}
.call-followup-buttons button{min-height:42px;border-radius:11px;font-size:12px;font-weight:800}
.call-action-row .call-status-pill{font-size:10.5px}
@media(max-width:380px){.call-status-grid{gap:7px}.call-status-choice{padding:9px}.call-status-choice-label{font-size:11.5px}.call-status-choice small{font-size:9px}.call-picker-value{font-size:12px}.call-followup-buttons{gap:7px}}

/* 47.15 — document hub */
.qr-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:15px 0 22px}
.qr-metrics>div{border:1px solid #dce5ec;border-radius:15px;padding:15px 10px;background:#fff;min-width:0}
.qr-metrics b,.qr-metrics span{display:block;text-align:center}
.qr-metrics b{font-size:23px;color:#0f2d4f}
.qr-metrics span{font-size:11px;font-weight:700;color:#6d7d8d;margin-top:5px}
.qr-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}
.qr-card{border:1px solid #dce5ec;border-left:5px solid #19b8aa;border-radius:18px;background:white;padding:16px;min-width:0;box-shadow:0 4px 18px #0f2d4f08}
.qr-card-head,.qr-card-foot{display:flex;align-items:center;justify-content:space-between;gap:9px}
.qr-card-head strong{font-size:15px;color:#0f2d4f}
.qr-card h3{font-size:15px;margin:14px 0 5px}
.qr-card p{font-size:12px;color:#6b7d8e;margin:0 0 16px}
.qr-card-foot{border-top:1px solid #edf1f5;padding-top:12px}
.qr-card-foot span{font-size:15px;font-weight:850;color:#193149}
.qr-card-foot button{min-width:80px;font-size:12px;border-radius:10px}
@media(max-width:650px){.qr-list{grid-template-columns:1fr}.qr-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Quote workflow V47.19 */
.quote-builder{display:grid;gap:17px}
.quote-builder-intro{padding:18px;border-radius:16px;background:#f0f8f8;border:1px solid #c7e8e4}
.quote-builder h4{margin:5px 0;font-size:17px;color:#132c47}
.quote-builder-intro p{margin:4px 0;color:#586f80;font-size:13px;line-height:1.55}
.quote-step{color:#099f97;font-size:10px;font-weight:900;letter-spacing:.12em}
.quote-builder-section-title{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-top:8px}
.quote-builder-section-title small{font-size:11px;color:#6d7d8d}
.quote-field label,.quote-item-card label{display:block;font-size:12px;color:#263b51;font-weight:800}
.quote-field input,.quote-field select,.quote-field textarea{width:100%;margin-top:7px}
.quote-items{display:grid;gap:11px}
.quote-item-card{display:block;padding:15px;border-radius:17px;border:1px solid #d8e4eb;background:#fff;box-shadow:0 2px 8px rgba(15,43,67,.045);min-width:0}
.quote-item-main input,.quote-item-values input{width:100%;margin-top:6px}
.quote-item-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.quote-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e6edf1;padding-top:10px}
.quote-item-bottom span{font-size:12px;color:#637488}
.quote-item-bottom b{font-size:15px;color:#0f2d4f}
.quote-remove{border:1px solid #edc5c7;background:#fff4f3;color:#973744;padding:9px 12px;border-radius:10px;font-weight:800}
.quote-add-item{width:100%;min-height:45px}
.quote-totals{padding:16px;border:1px solid #bde5dd;border-radius:17px;background:#f0faf7;display:grid;gap:12px}
.quote-totals>div{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#456275}
.quote-totals>div b{color:#142e48}
.quote-totals .quote-totals-grand{border-top:1px solid #badbd4;padding-top:13px;color:#0f2d4f;font-weight:900}
.quote-totals-grand strong{font-size:23px}
.quote-totals small{font-size:11px;color:#627b80}
.quote-builder-footer{display:grid;gap:10px}
.quote-builder-footer p{font-size:12px;color:#667789;margin:0}
.quote-builder-footer button{width:100%;min-height:50px}
.quote-inbox-button{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff33;border-radius:12px;background:#ffffff13;color:inherit;min-width:46px;min-height:46px}
.quote-inbox-button [data-quote-unread]:not([hidden]){position:absolute;top:-7px;right:-6px;display:grid;place-items:center;background:#ef6d48;color:#fff;border-radius:99px;min-width:20px;height:20px;font-size:11px;font-weight:900;padding:1px 5px}
.quote-notice-list{display:grid;gap:12px;margin-top:20px}
.quote-notice{border:1px solid #d6e1e7;background:#fff;padding:17px;border-radius:17px}
.quote-notice.is-unread{border-left:5px solid #12afa2}
.quote-notice h3{margin:10px 0 4px}
.quote-notice p{color:#607187;font-size:13px;margin:4px 0 14px}
@media(max-width:420px){.quote-item-values{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-item-values label:last-child{grid-column:1/-1}.quote-builder-section-title{display:block}}
