:root{--bg:#f4f6f8;--ink:#17202a;--muted:#6b7280;--nav:#111827;--accent:#e11d48;--accent2:#fb7185;--line:#e5e7eb;--white:#fff;--green:#15803d;--amber:#b45309;--blue:#1d4ed8;--red:#b91c1c}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}aside{position:fixed;left:0;top:0;bottom:0;width:235px;background:var(--nav);padding:28px 18px;color:#fff;overflow:auto}.brand{font-size:28px;font-weight:900;letter-spacing:.5px}.brand span{color:var(--accent2)}.sub{font-size:12px;color:#9ca3af;margin-bottom:28px}nav a{display:block;color:#d1d5db;text-decoration:none;padding:11px 12px;border-radius:8px;margin:3px 0}nav a:hover{background:#1f2937;color:white}main{margin-left:235px;min-height:100vh}header{height:74px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:0 32px;position:sticky;top:0;z-index:5}.global-search{flex:1;max-width:560px;margin-left:auto}.global-search input{background:#f9fafb}.content{padding:0 32px 40px}.muted{color:var(--muted);font-size:12px;margin-top:3px}.muted.big{font-size:14px;margin:4px 0 0}.badge{background:#fce7f3;color:#9d174d;border-radius:999px;padding:6px 10px;font-size:12px;white-space:nowrap}h1{margin:0}h2{font-size:20px}h3{margin-top:0}.topline{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 18px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cards.six{grid-template-columns:repeat(6,1fr)}.card,section,.panel,.item{background:white;border:1px solid var(--line);border-radius:12px}.card{padding:18px}.card small{display:block;color:var(--muted);margin-bottom:8px}.card strong{font-size:26px}.grid2,.grid3{display:grid;gap:18px;margin-top:18px}.grid2{grid-template-columns:1fr 1fr}.grid2.wide-left{grid-template-columns:1.45fr .75fr}.grid3{grid-template-columns:repeat(3,1fr)}section{padding:18px;overflow:auto}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-title h2{margin:0 0 12px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.status{display:inline-block;border-radius:999px;padding:5px 9px;font-size:12px;background:#f3f4f6;color:#374151}.status.approved,.status.paid,.status.completed{background:#dcfce7;color:#166534}.status.presented,.status.scheduled{background:#dbeafe;color:#1e40af}.status.draft,.status.lead{background:#f3f4f6;color:#374151}.status.partial,.status.in-progress{background:#fef3c7;color:#92400e}.status.declined,.status.cancelled,.status.unpaid{background:#fee2e2;color:#991b1b}.actions{display:flex;align-items:center;gap:10px}.actions form{margin:0}button,.button{display:inline-block;background:var(--nav);color:white;border:0;border-radius:8px;padding:11px 16px;cursor:pointer;text-decoration:none;font-size:14px}.button.ghost,button.ghost{background:white;color:var(--ink);border:1px solid var(--line)}button.danger{background:#fee2e2;color:#991b1b}button.small{padding:5px 9px}.panel{padding:18px;margin-bottom:18px}.mini-form{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.formgrid.two{grid-template-columns:repeat(2,1fr)}input,select,textarea{width:100%;padding:11px;border:1px solid #d1d5db;border-radius:7px;background:white;font:inherit}textarea{min-height:44px;resize:vertical}label{display:block;font-size:12px;color:var(--muted);font-weight:700;margin:12px 0 5px}.hide{display:none}.item{padding:12px;margin-bottom:10px}.item:last-child{margin-bottom:0}a{color:#9d174d;text-decoration:none}.toolbar{display:flex;gap:10px;margin:0 0 18px;align-items:center}.toolbar input{max-width:420px}.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tabs a{background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:999px;color:#4b5563}.tabs a.active{background:var(--nav);color:#fff}.empty{text-align:center;color:var(--muted);padding:22px}.files{display:flex;gap:10px;flex-wrap:wrap}.file{background:#f9fafb;border:1px solid var(--line);padding:10px 12px;border-radius:8px;color:var(--ink)}.schedule-grid{display:grid;gap:10px}.schedule-card{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:14px;color:var(--ink);background:#fff}.day{margin-bottom:18px}.successbox{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;padding:14px;border-radius:10px}.printbody{background:#e5e7eb}.printpage{max-width:900px;margin:30px auto;background:#fff;padding:48px;min-height:1100px}.printhead,.printmeta{display:flex;justify-content:space-between;gap:30px}.printhead .right{text-align:right}.printmeta{margin:30px 0}.printmeta>div{width:50%}.totals{margin:25px 0 25px auto;max-width:360px}.totals>div{display:flex;justify-content:space-between;padding:8px 0}.totals .grand{font-size:20px;border-top:2px solid var(--ink);padding-top:14px}.message{margin-top:30px;border-top:1px solid var(--line);padding-top:20px;white-space:pre-line}.signature{display:flex;justify-content:space-between;gap:20px;margin-top:70px}.print-actions{text-align:center;margin-top:50px}@media print{.print-actions{display:none}.printbody{background:#fff}.printpage{margin:0;max-width:none;padding:0;min-height:auto}}@media(max-width:1200px){.cards.six{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){aside{position:static;width:auto}main{margin-left:0}header{display:none}.content{padding:20px}.cards,.cards.six,.grid2,.grid3,.formgrid,.formgrid.two,.grid2.wide-left{grid-template-columns:1fr}.topline{align-items:flex-start;flex-direction:column}.schedule-card{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch}.toolbar input{max-width:none}}
.mobile-nav{display:none}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#111827,#1f2937);padding:20px}.login-card{width:min(440px,100%);background:#fff;border-radius:18px;padding:32px;box-shadow:0 25px 70px #0005}.brand.dark{color:#111827;margin-bottom:28px}.errorbox{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:12px;border-radius:9px;margin:12px 0}.dispatch-wrap{display:flex;gap:14px;overflow-x:auto;padding-bottom:18px;align-items:flex-start}.dispatch-col{background:#eef1f5;border:1px solid var(--line);border-radius:14px;padding:12px;min-width:290px;max-width:320px;flex:1}.dispatch-col h3{margin:3px 4px 12px}.dropzone{min-height:480px}.job-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px;margin-bottom:10px;box-shadow:0 2px 8px #0000000a;cursor:grab}.job-card b,.job-card span,.job-card small{display:block;margin-bottom:5px}.job-card span{font-size:13px}.job-card small{color:var(--muted)}.job-card.dragging{opacity:.5}.dropzone.over{outline:2px dashed var(--accent);outline-offset:4px}.empty.mini{padding:12px}.portal-body{background:#f3f4f6}.portal-head{position:static;height:auto;padding:18px max(18px,calc((100vw - 1100px)/2));justify-content:space-between}.portal-main{margin:0 auto;max-width:1100px;padding:28px 18px 60px}.portal-foot{text-align:center;color:var(--muted);padding:24px}.portal-hero{background:#111827;color:#fff;border-radius:18px;padding:30px;margin-bottom:18px}.portal-hero h1{font-size:34px;margin:7px 0}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em;color:#e11d48}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.portal-grid section{min-width:0}.portal-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink)}.portal-row>div:last-child{text-align:right}.portal-row .status{margin-top:5px}.portal-doc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;margin-top:18px}.approval-box,.finance-box{margin-top:24px;padding:20px;background:#f9fafb;border:1px solid var(--line);border-radius:12px}.check{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--ink);font-weight:400;margin:14px 0}.check input{width:auto;margin-top:3px}
@media(max-width:900px){body{padding-bottom:68px}aside{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:20;background:#111827;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 18px #0002}.mobile-nav a{color:#fff;text-align:center;font-size:11px;padding:13px 3px}.content{padding:18px 14px 30px}.portal-grid{grid-template-columns:1fr}.portal-doc{padding:18px}.dispatch-wrap{scroll-snap-type:x proximity}.dispatch-col{min-width:84vw;scroll-snap-align:start}.portal-head{display:flex;background:#fff;border-bottom:1px solid var(--line)}.portal-main{padding:18px 12px 40px}.portal-hero{padding:22px}.portal-hero h1{font-size:28px}}

.quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.map-btn{background:#166534}.full{width:100%;text-align:center;margin-top:10px}.job-map{width:100%;height:280px;border:0;border-radius:12px;background:#eee}.onway-box{margin-top:22px;padding:18px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:12px}.onway-box h3{margin-bottom:6px}.onway-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.onway-form label{margin:0}.onway-form select{width:auto;min-width:110px}.message-thread{display:flex;flex-direction:column;gap:9px;max-height:380px;overflow:auto;padding:10px;background:#f8fafc;border:1px solid var(--line);border-radius:12px}.message-thread.compact{max-height:300px}.bubble{max-width:82%;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--line);align-self:flex-start}.bubble.outbound{align-self:flex-end;background:#dbeafe;border-color:#bfdbfe}.bubble.inbound{background:#fff}.bubble small{display:block;color:var(--muted);margin-bottom:4px}.message-compose{display:flex;gap:10px;margin-top:10px;align-items:end}.message-compose textarea{min-height:72px}.message-compose button,.message-compose .button{white-space:nowrap}.messenger-layout{display:grid;grid-template-columns:330px 1fr;gap:18px}.conversation-list{position:static;width:auto;background:#fff;color:var(--ink);padding:12px;border:1px solid var(--line);border-radius:12px;max-height:70vh;overflow:auto}.conversation-row{display:block;padding:12px;border-bottom:1px solid var(--line);color:var(--ink)}.conversation-row span,.conversation-row small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.conversation-main{min-height:560px}.full-thread{min-height:430px;max-height:55vh}.portal-alert{background:#ecfdf5;border:1px solid #a7f3d0;color:#166534;padding:14px 16px;border-radius:12px;margin:0 0 12px}.portal-alert small{display:block;margin-top:5px;color:#4b5563}.onway-live{margin:9px 0;padding:9px 10px;background:#ecfdf5;color:#166534;border-radius:8px;font-weight:700;font-size:13px}.portal-thread{max-height:360px}.card-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
@media(max-width:900px){.messenger-layout{grid-template-columns:1fr}.conversation-list{max-height:260px}.message-compose{flex-direction:column;align-items:stretch}.bubble{max-width:92%}.quick-actions .button{flex:1;text-align:center}.job-map{height:230px}}

.dashboard-card{display:block;color:var(--ink);transition:.15s transform,.15s box-shadow}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0001}.dashboard-card span{display:block;margin-top:10px;color:#9d174d;font-size:12px;font-weight:700}.dashboard-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.shortcut{display:flex;flex-direction:column;gap:5px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;color:var(--ink)}.shortcut span{font-size:12px;color:var(--muted)}.tech-location{font-size:12px;margin:-5px 4px 10px}.sms-check{margin:0;align-items:center}.portal-notify{margin-left:auto}.tech-body{background:#f3f4f6}.tech-app{max-width:760px;margin:0 auto;padding:18px}.tech-head{display:flex;justify-content:space-between;align-items:center;gap:12px;background:white;border:1px solid var(--line);border-radius:16px;padding:18px}.tech-head h1{margin:4px 0}.gps-status{margin:10px 0 20px;padding:10px 12px;border-radius:9px;background:#eff6ff;color:#1e40af}.tech-job{margin-bottom:12px}.tech-job .quick-actions{margin-bottom:0}@media(max-width:900px){.dashboard-shortcuts{grid-template-columns:1fr 1fr}.portal-notify{font-size:12px;padding:8px 10px}.tech-head{align-items:flex-start;flex-direction:column}.tech-head .button{width:100%;text-align:center}}
/* V4.3 Pricebook catalog */
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin:16px 0 26px}.category-card{background:var(--card,#fff);border:1px solid rgba(127,127,127,.2);border-radius:16px;overflow:hidden;padding-bottom:12px}.category-link{display:block;color:inherit;text-decoration:none}.category-card img,.category-placeholder{width:100%;height:130px;object-fit:cover;background:linear-gradient(135deg,#17233c,#2f6f9f)}.category-placeholder{display:flex;align-items:center;justify-content:center;color:white;font-size:48px;font-weight:800}.category-body{padding:14px}.category-body h3{margin:0 0 6px}.category-body p{min-height:38px;margin:0 0 10px;color:var(--muted,#687386)}.category-card>.button{margin-left:14px}.category-editor{padding:12px}.pricebook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.pricebook-card{background:var(--card,#fff);border:1px solid rgba(127,127,127,.2);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.item-photo{width:100%;height:170px;object-fit:cover;background:#eef2f6}.placeholder-photo{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e7edf5,#cfd9e7)}.placeholder-photo span{font-size:54px;font-weight:800;opacity:.45}.pricebook-card-body{padding:15px;display:flex;flex-direction:column;gap:9px;height:100%}.pricebook-card-body h3{margin:0}.item-desc{margin:0;color:var(--muted,#687386);min-height:52px}.price-row{display:flex;gap:24px}.price-row>div{display:flex;flex-direction:column}.price-row b{font-size:18px}.tiny{font-size:12px}.pricebook-editor{grid-column:1/-1}.upload-field{display:flex;flex-direction:column;gap:6px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:12px}

.photo-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:12px}.photo-library-card{border:1px solid #dfe5ed;border-radius:12px;background:#fff;padding:8px;text-align:center}.photo-library-card img{width:100%;height:92px;object-fit:contain;background:#fff;border-radius:9px}.photo-library-card span{display:block;font-size:12px;font-weight:700;margin-top:6px;color:#233044}.pricebook-card .item-photo,.category-card img{object-fit:contain;background:#fff}


/* V4.5 KTS brand system — derived from supplied KTS logo */
:root{--bg:#f4f7fb;--ink:#071a33;--muted:#68758a;--nav:#020914;--accent:#0b70da;--accent2:#22b9f2;--line:#dce5f0;--white:#fff;--green:#13834c;--amber:#f59e0b;--blue:#075fc1;--red:#dc3b27;--heat:#ff6a1a;--heat2:#ffc21c;--nav2:#071b3b}body{background:linear-gradient(180deg,#f8fbff 0,#f4f7fb 260px);color:var(--ink)}aside{background:linear-gradient(180deg,#020914 0%,#06152d 54%,#08254b 100%);width:250px;padding:18px 16px;border-right:1px solid #143763;box-shadow:10px 0 30px #03122912}main{margin-left:250px}.brand-logo-wrap{display:block;padding:2px 2px 8px;text-align:center}.brand-logo{display:block;width:100%;max-height:150px;object-fit:contain;border-radius:10px;background:#000}.brand-caption{text-align:center;color:#41c7ff;font-size:8px;font-weight:800;letter-spacing:.13em;margin:-2px 3px 18px}aside nav a{color:#dcecff;border-left:3px solid transparent;padding:10px 11px}aside nav a:hover{background:linear-gradient(90deg,#0c72d74a,#11b8ee14);border-left-color:#21c4f5;color:#fff}.side-contact{margin-top:24px;padding:16px 12px;border-top:1px solid #17406e;color:#fff;display:flex;flex-direction:column;gap:5px}.side-contact span{color:#bce9ff}.side-contact small{color:#7e9ab9}header{height:78px;border-bottom:1px solid #d9e5f2;box-shadow:0 4px 18px #0a34750b}.header-brand{display:flex;align-items:center;gap:10px;min-width:220px}.header-brand img{width:48px;height:48px;border-radius:12px;object-fit:cover;background:#020914;border:1px solid #16457b}.header-brand b{color:#071a33}.badge{background:linear-gradient(90deg,#e9f7ff,#fff2df);color:#0757a5;border:1px solid #cde9fb;font-weight:800}a{color:#0969c8}.button,button{background:linear-gradient(135deg,#075fc1,#0c82df);box-shadow:0 4px 12px #075fc120}.button:hover,button:hover{filter:brightness(1.05)}.button.ghost,button.ghost{background:#fff;color:#075fc1;border-color:#bad8ee;box-shadow:none}.map-btn{background:linear-gradient(135deg,#078357,#13a26d)}.card,section,.panel,.item,.pricebook-card,.category-card{border-color:#dce6f1;box-shadow:0 7px 22px #0a34750a}.card strong{color:#071a33}.dashboard-card span{color:#0873d1}.status.presented,.status.scheduled{background:#e4f3ff;color:#075aa7}.tabs a.active,.tabs a:hover{background:#eaf6ff;color:#075fc1}.portal-hero{background:linear-gradient(135deg,#03122d 0%,#075fc1 72%,#18bdf2 100%);position:relative;overflow:hidden}.portal-hero:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:#ff7b1c33;right:-60px;bottom:-90px}.eyebrow{color:#ffc21c}.login-body{background:radial-gradient(circle at 15% 20%,#0a64c888,transparent 36%),radial-gradient(circle at 85% 80%,#ff681c55,transparent 34%),linear-gradient(135deg,#00050c,#06152d 58%,#0a3471)}.login-card{border:1px solid #184c82;box-shadow:0 28px 90px #0009}.login-logo{width:100%;max-height:235px;object-fit:contain;border-radius:14px;background:#000;margin-bottom:18px}.brand-button{background:linear-gradient(90deg,#0869cb,#16aeea 55%,#ff7420)}.portal-head{background:#fff;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#0a78dd,#25c2f3,#ff6b1d) 1}.portal-brand{display:flex;align-items:center;gap:10px}.portal-brand img{width:52px;height:52px;border-radius:12px;object-fit:cover}.portal-phone{font-weight:800;color:#075fc1}.portal-foot{background:#020914;color:#cde8ff;margin-top:30px}.portal-foot img{width:180px;max-height:100px;object-fit:contain;margin-bottom:8px}.category-placeholder{background:linear-gradient(135deg,#06152d,#0872d2 65%,#23c2ef)}.pricebook-card-body h3,.category-body h3{color:#072349}.mobile-nav{background:linear-gradient(90deg,#020914,#062852,#075fc1)}@media(max-width:900px){main{margin-left:0}.brand-logo{max-height:120px}.header-brand{min-width:0}}

/* V4.6 Square payment center */
.payment-center{margin:18px 0 22px;background:linear-gradient(180deg,#fff,#f8fbff)}.eyebrow.dark{color:#075fc1}.square-mark{font-weight:900;font-size:18px;color:#111;white-space:nowrap}.square-mark span{font-size:11px;color:#8a5b00;background:#fff4cc;border:1px solid #f5d878;border-radius:999px;padding:4px 7px;margin-left:5px}.payment-method-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:14px;margin-top:14px}.payment-method-card{border:1px solid #dbe5ef;border-radius:16px;padding:18px;background:#fff;min-height:230px}.payment-method-card.featured{border:2px solid #111;box-shadow:0 10px 28px #00000010}.payment-icon{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#071a33;color:#fff;font-size:22px;font-weight:900;margin-bottom:12px}.payment-method-card h3{margin:0 0 7px}.square-button{background:#111!important;color:#fff!important;border-color:#111!important}.finance-button{background:linear-gradient(135deg,#075fc1,#21b8ef)!important;color:#fff!important}.pay-status{display:flex;justify-content:space-between;background:#f4f6f8;padding:10px 12px;border-radius:9px;margin:12px 0}.setup-needed{display:flex;flex-direction:column;gap:5px;background:#fff8e7;border:1px solid #f1d592;border-radius:10px;padding:12px;margin-top:12px}.compact{padding:9px 11px}.integration-panel{margin-top:18px}.connection-pill{padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}.connection-pill.connected{background:#e8f8ef;color:#147546}.connection-pill.not-connected{background:#fff3df;color:#9a5b00}.integration-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-top:15px}.feature-chips{display:flex;gap:7px;flex-wrap:wrap}.feature-chips span{background:#eaf5ff;color:#075aa7;border:1px solid #cce7fa;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700}.config-box{border:1px solid #dbe5ef;background:#f8fbff;border-radius:12px;padding:14px}.config-box>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e6edf5}.config-box>div:last-child{border-bottom:0}.config-box code{font-size:11px;word-break:break-all;text-align:right}.setup-steps{margin-top:16px;border-top:1px solid #e3eaf2;padding-top:14px}.setup-steps code{display:block;background:#081a31;color:#d7efff;padding:8px 10px;margin:5px 0;border-radius:7px;overflow:auto}.customer-pay-box{margin:22px 0;padding:20px;border:1px solid #d6e3ef;border-radius:16px;background:linear-gradient(180deg,#f8fbff,#fff)}.secure-note{font-size:12px;color:#637386;text-align:center;margin:10px 0}.large{font-size:17px;padding:14px 18px}.payment-thanks{max-width:650px;margin:50px auto;background:white;border:1px solid #dbe5ef;border-radius:20px;padding:34px;text-align:center;box-shadow:0 20px 60px #05224c14}.payment-check{width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e9f8ef;color:#17814d;font-size:38px;margin:0 auto 14px}@media(max-width:1000px){.payment-method-grid,.integration-grid{grid-template-columns:1fr}.payment-method-card{min-height:auto}.square-mark{font-size:14px}}@media(max-width:600px){.payment-center{padding:14px}.payment-method-card{padding:15px}.customer-pay-box{padding:15px}.section-title{align-items:flex-start;flex-direction:column}}


/* V4.7 customer delivery */
.share-center{margin:18px 0 22px;background:linear-gradient(180deg,#fff,#f8fbff)}
.delivery-badge{background:#eaf5ff;color:#075aa7;border:1px solid #cce7fa;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}
.delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.delivery-action{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:16px;border-radius:14px;border:1px solid #dbe5ef;background:#fff;color:#071a33;text-decoration:none;box-shadow:none;min-height:112px}
button.delivery-action{width:100%;font:inherit;cursor:pointer}
.delivery-action:hover{border-color:#8fc9ef;box-shadow:0 8px 24px #075fc114;filter:none}
.delivery-action.email{border-left:4px solid #0b70da}.delivery-action.text{border-left:4px solid #19a66b}.delivery-action.copy{border-left:4px solid #ff7a1b}
.delivery-icon{font-size:24px;line-height:1}.delivery-action b{font-size:16px}.delivery-action small{color:#68758a;word-break:break-all}
.message-preview{margin-top:13px;border:1px solid #e0e8f1;border-radius:10px;background:#fff;padding:10px 12px}.message-preview summary{cursor:pointer;font-weight:800;color:#075fc1}.message-preview pre{white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.45;color:#34465d}
.delivery-history{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;font-size:12px;color:#68758a}.delivery-history b{color:#071a33}.delivery-history span{background:#f3f7fb;border:1px solid #e0e8f1;border-radius:999px;padding:5px 8px}
@media(max-width:800px){.delivery-grid{grid-template-columns:1fr}.delivery-action{min-height:auto}}

/* V4.8 prominent estimate/invoice customer delivery toolbar */
.customer-send-toolbar{background:#fff;border:2px solid #0a4c8f;border-radius:16px;padding:18px 20px;margin:16px 0 18px;box-shadow:0 8px 24px rgba(8,34,66,.08)}
.send-toolbar-copy h2{margin:2px 0 4px}.send-toolbar-copy p{margin:0 0 14px;color:#526172}
.send-toolbar-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.send-toolbar-actions .button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.send-email{background:#075db5!important}.send-text{background:#087a58!important}.send-copy{background:#162f4e!important}.send-toolbar-actions .ghost{background:#fff!important;color:#0a4c8f!important;border:1px solid #9fc0df!important}
.info-banner{background:#eef7ff;border:1px solid #bdd9ef;border-radius:12px;padding:12px 14px;margin:0 0 16px;color:#173a5e}
@media(max-width:760px){.send-toolbar-actions{display:grid;grid-template-columns:1fr}.send-toolbar-actions .button{width:100%}}
/* V4.9 Installation sales + presentation */
.install-scope-tabs,.backend-jump{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 20px}.install-scope-tabs a,.backend-jump a{padding:11px 16px;border:1px solid #bdd4e8;border-radius:999px;background:#fff;text-decoration:none;font-weight:800}.install-scope-tabs a.active{background:#071a33;color:#fff;border-color:#071a33}.gbb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gbb-card{background:#fff;border:2px solid #dbe5ef;border-radius:20px;padding:22px;position:relative;box-shadow:0 10px 30px #092a520d}.gbb-card.tier-better{border-color:#0b70da;transform:translateY(-5px);box-shadow:0 18px 42px #0b70da20}.tier-label{font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#075fc1;display:flex;justify-content:space-between;gap:8px}.tier-label span{font-size:10px;background:#e9f7ff;border-radius:999px;padding:5px 8px;letter-spacing:.04em}.spec-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #e7edf4;font-size:13px}.spec-line span{text-align:right}.install-price{font-size:30px;font-weight:900;margin-top:18px}.monthly{color:#087a58;font-weight:800;margin-top:4px}.install-section{margin-top:20px;padding:20px}.addon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.addon-card{background:#fff;border:1px solid #dbe5ef;border-radius:15px;padding:16px}.addon-category{font-size:11px;font-weight:900;text-transform:uppercase;color:#075fc1;letter-spacing:.08em}.warranty-card{background:#fff;border:1px solid #dbe5ef;border-radius:15px;padding:17px;margin:10px 0}.warranty-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.warranty-grid div{background:#f6f9fc;border-radius:10px;padding:10px}.warranty-grid small,.warranty-grid b{display:block}.presentation-shell{max-width:1500px;margin:auto;padding-bottom:110px}.presentation-head{display:flex;justify-content:space-between;align-items:flex-start}.presentation-head h1{font-size:42px;margin:4px 0}.presentation-gbb .gbb-card{cursor:pointer}.selectable input,.selectable-addon input{position:absolute;opacity:0}.selectable.selected,.selectable-addon.selected{outline:4px solid #18a36b;border-color:#18a36b}.select-package{text-align:center;margin-top:18px;background:#071a33;color:#fff;padding:12px;border-radius:10px;font-weight:900}.big-eff{font-size:18px;font-weight:900;color:#075fc1;margin:12px 0}.presentation-subhead{margin-top:34px}.selectable-addon{cursor:pointer;position:relative}.presentation-total{position:fixed;left:250px;right:0;bottom:0;background:#06152df2;color:#fff;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;z-index:20;box-shadow:0 -8px 30px #0003}.presentation-total div{display:flex;gap:15px;align-items:baseline}.presentation-total strong{font-size:30px}.presentation-total span{color:#bce9ff}.editor-row{border:1px solid #dbe5ef;border-radius:12px;margin:10px 0;background:#fff;padding:0 14px}.editor-row summary{padding:14px 0;cursor:pointer}.editor-row summary span{float:right}.editor-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 0 14px}.editor-form textarea{min-height:85px}.editor-form button{align-self:end}.add-new{border:2px dashed #79b5e1;background:#f8fcff}@media(max-width:1000px){.gbb-grid,.addon-grid{grid-template-columns:1fr}.gbb-card.tier-better{transform:none}.warranty-grid,.editor-form{grid-template-columns:1fr 1fr}.presentation-total{left:0}}@media(max-width:650px){.warranty-grid,.editor-form{grid-template-columns:1fr}.presentation-total{display:block}.presentation-total div{display:block}.presentation-total button{width:100%;margin-top:8px}}
@media print{aside,header,.mobile-nav,.presentation-head .button,.presentation-tabs{display:none!important}main{margin-left:0!important}.presentation-total{position:static;background:#fff;color:#071a33;box-shadow:none;border-top:2px solid #071a33}.presentation-shell{padding-bottom:0}.selectable:not(.selected),.selectable-addon:not(.selected){opacity:.35}}
/* V5.0 Installation Configurator */
.install-config-bar{display:grid;grid-template-columns:220px 180px 1fr;gap:14px;align-items:end;background:linear-gradient(135deg,#f7fbff,#eef7ff);border:1px solid #cfe0ef;border-radius:18px;padding:18px;margin:14px 0 22px}.install-config-bar label{display:block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;color:#18324f}.install-config-bar select{width:100%;font-size:16px;font-weight:800;padding:12px;border-radius:10px;border:1px solid #b8cadb;background:#fff}.config-note{background:#071a33;color:#fff;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:3px}.config-note span{color:#c5d5e7;font-size:13px}.four-tier{grid-template-columns:repeat(4,1fr)}.gbb-card.tier-good{border-top:5px solid #6b7c8e}.gbb-card.tier-better{border-top:5px solid #0b70da}.gbb-card.tier-best{border-top:5px solid #eb8f1d}.gbb-card.tier-premium{border-top:5px solid #071a33;background:linear-gradient(180deg,#fff,#f7fbff)}.gbb-card.tier-premium .tier-label{color:#071a33}.presentation-copy{margin-top:-8px;margin-bottom:14px}.extended-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ext-warranty-card{background:#fff;border:2px solid #dbe5ef;border-radius:15px;padding:17px;cursor:pointer;position:relative}.ext-warranty-card input{position:absolute;opacity:0}.ext-warranty-card.selected{outline:4px solid #18a36b;border-color:#18a36b}.ext-warranty-card small{display:block;margin-top:10px;color:#637487}.included-warranty{border-left:5px solid #18a36b}.editor-filter{margin:12px 0}.editor-filter input{width:min(620px,100%);padding:12px 14px;border:1px solid #c6d6e5;border-radius:10px;font-size:15px}.package-editor summary b{color:#082f61}.presentation-config{position:sticky;top:0;z-index:8;box-shadow:0 10px 22px #092a5215}.backend-jump{position:sticky;top:0;z-index:8;background:#f5f8fb;padding:10px 0}
@media(max-width:1250px){.four-tier{grid-template-columns:repeat(2,1fr)}.extended-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.install-config-bar{grid-template-columns:1fr 1fr}.config-note{grid-column:1/-1}.four-tier,.extended-grid{grid-template-columns:1fr}}
@media print{.install-config-bar,.presentation-copy{break-inside:avoid}.four-tier{grid-template-columns:repeat(2,1fr)}}
