
:root{font-family:Inter,'Segoe UI',Arial,sans-serif;color:#17252d;background:#edf1f2;font-synthesis:none;--accent:#ff7c44;--accent-dark:#bc4a24;--muted:#637381;--line:#d8e0e4;--card:#fafcfd;--dark:#182927}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;padding:9px 15px;color:#31434d;background:#f8fafb;font-weight:600;transition:background .15s,box-shadow .15s}button:hover{background:#edf1f4}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ff9d6b;outline-offset:3px}button.primary{background:linear-gradient(110deg,#e76b32,#be4d27);border-color:#b24724;color:white;box-shadow:0 2px 3px #5e2b171a}button.primary:hover{background:#ad4523}svg{width:22px;height:22px;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1.1px;line-height:1.2;margin-bottom:5px;font-weight:750}h2{font-size:17px;line-height:1.35;letter-spacing:-.4px;margin-bottom:12px;font-weight:700}h3{font-size:14px}p{color:var(--muted);margin-bottom:17px}strong{font-weight:700}.muted{color:var(--muted);font-size:12px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.2px;color:#9c4d2d;margin-bottom:5px}.field{display:flex;flex-direction:column;gap:6px;margin:9px 0 13px;min-width:0}label{font-size:13px;font-weight:650}input,textarea,select{width:100%;padding:10px 12px;border:1px solid #c7d1d8;border-radius:7px;background:#fbfcfd;color:#273b49;box-shadow:inset 3px 0 #e5e9ed}input[type=checkbox]{width:18px;height:18px;accent-color:#bc4a24;box-shadow:none}input[type=color]{height:42px;padding:5px}textarea{resize:vertical;min-height:120px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.wide{grid-column:1/-1}.row{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.row h2{margin:0}.panel,.stat{min-width:0;background:linear-gradient(135deg,#ffffff,#f5f8fa);border:1px solid #d8e1e7;box-shadow:0 2px 4px #122b3c0a,0 5px 12px #122b3c05;border-radius:12px;padding:19px;margin:16px 0}.panel>.row{margin-bottom:14px}.warning,.error,.success{font-size:12px;line-height:1.5;border-radius:8px;padding:12px 15px;margin:14px 0}.warning{background:#fff5e9;border:1px solid #efdbbf;color:#785329}.error{background:#fff0ec;color:#9f3825}.success{background:#e7f3ec;color:#286344}.status-pill{display:inline-block;border-radius:20px;background:#fff0e6;color:#894321;font-size:11px;font-weight:650;padding:3px 11px;white-space:nowrap}.tablewrap{overflow:auto;width:100%}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 9px;border-bottom:1px solid #e1e7eb;font-size:12px;white-space:nowrap}th{font-size:11px;color:#3e5363;background:#edf2f6;font-weight:650}td{color:#344857}tr:last-child td{border-bottom:0}.tablewrap>p{padding:20px 10px;color:#798995}.pk-logo{display:block;width:155px;height:auto}.support-brand{display:flex;align-items:center;gap:12px;color:#edf1f0;font-size:12px;font-weight:600;white-space:nowrap}.support-brand img{width:30px;height:30px}.support-brand>span:nth-last-child(2){color:#6a7b81;margin:0 4px}
/* Mockup composition: architectural left column and full-height inset workspace card. */
.auth{display:grid;grid-template-columns:38% 62%;min-height:100vh;background:radial-gradient(ellipse at 80% 0,#3d4d4b,#172523 70%);padding:28px 28px 28px 0;gap:0}.auth-brand{position:relative;isolation:isolate;overflow:hidden;padding:0 38px 310px 52px;color:white}.auth-brand:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(to bottom,#182a28 4%,#182a28 55%,#182a2800 82%),url('/assets/architecture.png') center bottom/100% auto no-repeat}.auth-hero{position:relative;z-index:1;margin-top:60px;max-width:450px}.symbol{display:flex;align-items:center;gap:12px;font-size:clamp(34px,3.6vw,54px);font-weight:750;letter-spacing:-1.7px;white-space:nowrap}.symbol img{width:135px;height:130px;object-fit:contain;margin-left:-10px}.auth-brand h2{font-size:28px;line-height:1.35;color:#d5dfe1;letter-spacing:-.4px;font-weight:600;margin:23px 0 17px}.auth-brand p{font-size:15px;line-height:1.65;color:#d6e0e1}.auth-features{display:grid;gap:22px;margin-top:30px}.auth-feature{display:flex;gap:18px;align-items:center}.auth-feature-icon{width:49px;height:49px;flex:0 0 49px;display:grid;place-items:center;background:#ffffff0f;border:1px solid #ffffff12;border-radius:11px;color:#ffa679}.auth-feature-icon svg{width:26px;height:26px}.auth-feature strong{display:block;font-size:15px;color:#f5f7f6}.auth-feature small{display:block;font-size:12px;color:#c5d1d2;margin-top:4px}.auth-card{align-self:stretch;background:linear-gradient(140deg,#fcfdff,#f0f4f7);border:1px solid #fff9;box-shadow:0 12px 40px #07171938;border-radius:14px;padding:28px 32px 20px;display:flex;flex-direction:column;min-width:0}.auth-card h1{font-size:clamp(28px,3vw,39px);font-weight:760;margin-bottom:5px}.auth-subtitle{font-size:19px;color:#6a798c;margin-bottom:26px}.auth-notice{display:flex;gap:17px;border-radius:10px;background:#e7edf1;padding:17px 19px;margin:0 0 26px}.auth-notice strong{font-size:15px}.auth-notice p{font-size:13px;margin:2px 0 0;line-height:1.5}.info-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:50%;background:#fce0d2;color:#a94c27;font-size:23px;font-weight:650}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0}.auth-tabs button{display:flex;align-items:center;justify-content:center;gap:11px;border-radius:10px 10px 0 0;padding:14px 8px;border:1px solid transparent;background:#e8edf1;color:#637282;font-size:15px}.auth-tabs button.selected{background:#fcfdfe;border-color:#d0d9e0;border-bottom:3px solid #ce5e2f;color:#9c4925}.auth-tabs svg{width:20px;height:20px}.auth-form-panel{padding:23px 26px 25px;background:linear-gradient(130deg,#fff,#f5f8fa);border:1px solid #d9e0e6;border-radius:0 0 11px 11px;box-shadow:0 3px 6px #152e4010;margin-bottom:26px}.auth-form-panel h2{font-size:24px;margin-bottom:4px}.auth-form-panel>p{font-size:14px;line-height:1.5;margin-bottom:17px}.auth-form input{padding:10px 14px}.auth-form .field{margin:13px 0 17px;gap:4px}.auth-helper{font-size:11px;margin:0;color:#5f7480}.auth-form .primary{width:100%;font-size:17px;padding:12px;margin-top:18px}.form-feedback{font-size:12px;color:#9c3826}.form-feedback:empty{display:none}.auth-card-footer{margin-top:auto;display:flex;align-items:center;gap:18px;flex-wrap:wrap;border-top:1px solid #d8e0e6;padding-top:17px;font-size:11px;color:#61717e}.auth-card-footer .pk-logo{width:125px}
/* Shared workspace shell. */
.layout{min-height:100vh;display:grid;grid-template-columns:246px minmax(0,1fr);grid-template-rows:58px 1fr;background:#192c29}.topbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:10px 27px;background:linear-gradient(100deg,#152623,#2b403a);color:#edf2f3;gap:20px}.top-brand,.top-meta{display:flex;align-items:center;gap:20px}.topbar .pk-logo{width:155px}.top-divider{height:25px;width:1px;background:#62736d}.top-app{font-size:13px;font-weight:650}.top-meta{font-size:11px;color:#d8e1de}.env{border:1px solid #ffffff29;background:#ffffff08;border-radius:6px;padding:6px 11px}.sidebar{grid-column:1;grid-row:2;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;padding:20px 12px;gap:20px;color:#e5edeb}.sidebar:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,#192c29 0,#192c29 57%,#192c2900 86%),url('/assets/architecture.png') center bottom/auto 560px no-repeat}.brand{display:flex;gap:5px;align-items:center;padding:0 8px 5px;font-size:25px;font-weight:730;letter-spacing:-.8px}.sf-logo{width:72px;height:72px;flex:0 0 72px}.sf-logo img{width:100%;height:100%}.brand small{display:block;font-size:11px;letter-spacing:0;font-weight:400;line-height:1.5;color:#c6d3cf;margin-top:6px;max-width:135px}.nav{display:grid;gap:5px}.nav button{display:flex;align-items:center;gap:14px;border:1px solid transparent;background:transparent;color:#dbe4e1;padding:11px 13px;text-align:left;border-radius:7px;min-height:43px;font-size:13px;font-weight:500}.nav button:hover{background:#ffffff0e}.nav button.active{background:linear-gradient(100deg,#9c4b2c80,#d56c3b50);border-color:#ed976128;box-shadow:inset 2px 0 #ff9b69;color:white}.nav-icon{display:flex;align-items:center;justify-content:center;color:#e2eae6}.nav button.active .nav-icon{color:#ffae82}.nav button:last-child{margin-top:13px;border-top:1px solid #ffffff21;border-radius:0;padding-top:18px}.nav-submenu{display:none}.sidebar-footer{margin-top:auto;display:grid;gap:3px;padding:170px 12px 8px;text-shadow:0 1px 8px #000}.footer-eyebrow{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#ebcdbb}.sidebar-footer strong{font-size:12px}.footer-credit{font-size:10px;color:#d6e1db}.sidebar>button:last-child{border-color:#ffffff25;color:#fff;background:#1c3025bb;font-size:12px}.main{grid-column:2;grid-row:2;background:linear-gradient(120deg,#f8fbfd,#eaf0f5);border-radius:14px 0 0 0;padding:23px 25px 35px;min-width:0}.main>.eyebrow{display:none}.main>div:first-child>.eyebrow{display:none}.main>div:first-child>p{margin-bottom:15px;font-size:14px}.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:15px 0}.stat{margin:0;padding:15px 13px;min-height:105px;position:relative}.stat .glyph{float:left;background:#ffeadf;color:#a24a25;padding:8px;border-radius:9px;margin-right:10px;display:flex}.stat .glyph svg{height:21px;width:21px}.stat>.muted{font-size:11px;color:#253a47;font-weight:600}.stat strong{display:block;font-size:27px;line-height:1.25;letter-spacing:-.8px;padding-top:6px}.stat>span.muted{display:block;font-size:10px;font-weight:400;color:#75838d;clear:both;padding-top:6px}.grid-charts{display:grid;grid-template-columns:1.15fr 1.1fr 1fr;gap:14px;align-items:stretch}.grid-charts .panel{margin:3px 0 0;min-width:0}.chart-header{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:14px}.chart-header h2{font-size:15px;margin:0}.chart-header small{font-size:10px;color:#627482;border:1px solid #dce4ea;padding:5px 7px;border-radius:5px}.chart-plot{height:200px;display:flex;align-items:end;gap:7px;position:relative;border-bottom:1px solid #bfcbd4;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#e0e7ec 40px);padding:12px 0 22px}.bar-group{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:5px;min-width:0}.bar{width:80%;min-height:2px;max-width:35px;background:linear-gradient(0deg,#bb5027,#ffa16f);border-radius:2px 2px 0 0}.empty-chart{width:100%;height:100%;display:grid;place-items:center;text-align:center;color:#7e8e99;font-size:12px}.dash-lower{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;min-width:0}.dash-lower .panel{margin-bottom:0}.pipeline{display:flex;gap:5px;flex-wrap:wrap}.pipeline .stage{flex:1;padding:8px;border:1px solid #dce5e9;background:#edf2f4;border-radius:6px}.stage small{font-size:10px;color:#637884}.stage b{display:block;font-size:18px}.grid-charts>.panel>p{font-size:11px;margin-bottom:10px}.donut{width:140px;height:140px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:conic-gradient(#bd572d 0 var(--a),#8ca39a var(--a) var(--b),#e0ac87 var(--b) var(--c),#d5dfe4 var(--c) 100%)}.donut-hole{width:96px;height:96px;border-radius:50%;background:#f9fbfc;display:grid;place-items:center;text-align:center;font-size:11px}.donut-hole strong{font-size:27px;display:block}.subtle-line{border-top:1px solid #e1e7eb;padding-top:14px;margin-top:12px}.chart-legend{display:grid;gap:9px}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px}.legend-item i{width:8px;height:8px;border-radius:50%}.activity-panel{margin-top:16px}.settings-shell{display:grid;grid-template-columns:215px minmax(0,1fr);gap:20px;margin-top:24px}.options-nav{display:flex;flex-direction:column;gap:3px;align-self:start;background:#f8fafb;border:1px solid #dbe3e8;padding:8px;border-radius:10px}.options-nav button{text-align:left;border:0;background:transparent;padding:10px 12px;font-size:12px;font-weight:500}.options-nav button.selected{background:#fbe8dc;color:#914222;font-weight:650}.options-content{min-width:0}.options-content>.panel:first-child{margin-top:0}.settings-note{font-size:11px;background:#edf2f6;padding:12px;border-radius:7px}.settings-save{border-top:1px solid #e0e7ec;padding-top:17px;margin-top:10px;display:flex;gap:15px;align-items:center}.settings-save p{margin:0;font-size:12px}.test-toggle{display:flex;align-items:center;gap:10px;margin:15px 0}.test-toggle input{width:18px}.formgrid button+button{margin-left:10px}.options-content .eyebrow{display:none}
@media(min-width:1500px){.auth{grid-template-columns:38% 62%}.auth-brand{padding-left:58px;padding-right:48px}.auth-hero{margin-top:70px}.auth-brand h2{font-size:31px}.auth-card{padding:34px 38px}.auth-form-panel{padding:26px 29px}.auth-notice{margin:8px 0 30px}.auth-form .field{margin:18px 0 21px}.auth-card-footer{padding-top:22px}.main{padding:23px 27px}.grid-charts .row.subtle-line{flex-wrap:nowrap}}
@media(max-width:1250px){.stats{grid-template-columns:repeat(3,1fr)}.grid-charts{grid-template-columns:1fr 1fr}.grid-charts>.panel:last-child{grid-column:1/-1}.grid-charts>.panel:last-child .pipeline{float:left;width:48%}.grid-charts>.panel:last-child .subtle-line{margin-top:0;border:0;justify-content:center}.auth-brand{padding-left:32px;padding-right:25px}.symbol{font-size:35px}.symbol img{width:100px}.auth-brand h2{font-size:25px}.auth-hero{margin-top:40px}.auth-card{padding:28px}.auth-feature{gap:12px}.auth-feature strong{font-size:13px}.auth-feature small{font-size:11px}.auth-brand p{font-size:13px}.auth-subtitle{font-size:16px}}
@media(max-width:960px){.layout{grid-template-columns:205px minmax(0,1fr)}.brand{font-size:20px}.sf-logo{width:56px;flex-basis:56px}.brand small{font-size:10px}.top-meta .env{display:none}.main{padding:23px 18px}.settings-shell{grid-template-columns:1fr}.options-nav{flex-direction:row;overflow:auto;max-width:100%}.options-nav button{white-space:nowrap}.auth{grid-template-columns:36% 64%;padding:20px 20px 20px 0}.auth-brand{padding-left:22px;padding-right:19px}.support-brand{font-size:9px;gap:6px}.support-brand>span:last-child,.support-brand>span:nth-last-child(2){display:none}.symbol{font-size:30px;gap:2px}.symbol img{width:80px}.auth-brand h2{font-size:23px}.auth-features{gap:17px}.auth-feature-icon{width:38px;height:38px;flex-basis:38px}.auth-card{padding:25px 22px}.auth-form-panel{padding:20px}.auth-tabs button{font-size:12px}.auth-form-panel h2{font-size:22px}}
@media(max-width:700px){h1{font-size:26px}.auth{display:flex;flex-direction:column;padding:0;background:#1a2b27}.auth-brand{padding:20px 24px 24px}.auth-brand:before{background:none}.auth-hero{margin-top:18px}.symbol{font-size:34px;gap:10px}.symbol img{width:76px;height:72px}.auth-brand h2{font-size:20px;margin:12px 0 0}.auth-brand p,.auth-features{display:none}.auth-card{margin:0 12px 15px;padding:24px 20px}.auth-card h1{font-size:27px}.auth-subtitle{font-size:14px}.auth-notice{padding:13px;gap:10px;margin:8px 0 20px}.auth-notice strong{font-size:13px}.auth-notice p{font-size:11px}.info-icon{width:30px;height:30px;flex-basis:30px;font-size:18px}.auth-form-panel{padding:19px 16px}.auth-form-panel h2{font-size:20px}.auth-form-panel>p{font-size:12px}.auth-card-footer{gap:10px;font-size:10px}.auth-card-footer .pk-logo{width:100px}.layout{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.topbar{grid-column:1;grid-row:1;padding:12px 16px}.topbar .pk-logo{width:105px}.top-brand{gap:12px}.top-meta{display:none}.sidebar{grid-column:1;grid-row:2;padding:10px 12px;gap:5px}.sidebar:before,.sidebar-footer,.sidebar>button:last-child{display:none}.brand{padding:0;font-size:21px}.sf-logo{height:48px;width:48px;flex-basis:48px}.brand small{display:none}.nav{display:flex;overflow:auto;padding-bottom:6px}.nav button{white-space:nowrap;padding:8px 10px;gap:7px;min-height:37px;font-size:12px}.nav svg{width:18px;height:18px}.nav button:last-child{margin:0;border-top:0;padding-top:8px;border-radius:7px}.main{grid-column:1;grid-row:3;border-radius:12px 12px 0 0;padding:20px 14px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat{padding:13px}.stat strong{font-size:24px}.grid-charts{display:block}.grid-charts .panel{margin-top:13px}.grid-charts>.panel:last-child .pipeline{float:none;width:100%}.grid-charts>.panel:last-child .subtle-line{margin-top:15px;border-top:1px solid #e1e7eb}.formgrid{grid-template-columns:1fr}.settings-shell{gap:14px;margin-top:16px}.options-nav{padding:5px}.panel{padding:16px}.auth-tabs button{font-size:12px}.settings-save{align-items:start;flex-direction:column}.account-email{display:none}}

.line-chart{margin-top:12px}.line-chart svg{display:block;width:100%;height:190px}.line-chart-labels{display:flex;justify-content:space-between;color:#627786;font-size:10px}.metric-link{cursor:pointer}.metric-link:hover{border-color:#bda08d}.metric-link:focus-visible{outline:3px solid #ff9d6b}.search-box{width:300px;background:#ffffff13;border:1px solid #ffffff25;color:white;box-shadow:none;font-size:12px}.search-box::placeholder{color:#c9d5d1}.search-results{margin-top:18px}.main .grid-charts>.panel{padding-bottom:16px}.grid-charts .donut{width:130px;height:130px}.donut-hole{width:90px;height:90px}@media(max-width:1100px){.dash-lower{grid-template-columns:1fr}.search-box{width:230px}}@media(max-width:700px){.search-box{display:none}.dash-lower{display:block}.sidebar{min-width:0}.tablewrap{max-width:100%}}

@media(max-width:700px){.sidebar>button:last-child{display:block;position:absolute;right:14px;top:16px;padding:6px 10px;font-size:10px}.sidebar{position:relative}}

/* One continuous login backdrop and restrained dashboard iconography. */
.auth{background:#192c29}.auth-brand:before{background-image:linear-gradient(to bottom,#192c29 4%,#192c29 55%,#192c2900 82%),url('/assets/architecture.png')}.stat .glyph{background:transparent;color:#526d66;padding:3px 0;margin-right:12px;border-radius:0}.stat .glyph svg{width:25px;height:25px;stroke-width:1.5}.field-help{color:#627580;font-size:12px;line-height:1.55;margin-top:3px;max-width:70ch}

.quote-summary{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:20px 0}.quote-summary-card{background:#f9fbfc;border:1px solid #d7e1e5;text-align:left;padding:15px;border-radius:10px;box-shadow:0 3px 8px #20352b08}.quote-summary-card span{font-size:12px;color:#5b6e79;display:block}.quote-summary-card strong{display:block;font-size:27px;color:#233a40;margin-top:6px}.quote-summary-card.selected{background:#eef4f1;border-color:#77998c;box-shadow:inset 0 3px #547568}.quote-filters{display:grid;grid-template-columns:1fr 230px auto;gap:12px;margin-bottom:15px}@media(max-width:1200px){.quote-summary{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){.quote-summary{grid-template-columns:repeat(2,1fr)}.quote-filters{grid-template-columns:1fr}.quote-summary-card{padding:12px}}

.status-pill.status-danger{background:#fde5e6;color:#a42f3c}.status-pill.status-review{background:#fff0d6;color:#825818}.status-pill.status-success{background:#ddf2e8;color:#226449}.status-pill.status-neutral{background:#eaf0f3;color:#45616f}.item-check{display:grid;gap:5px;max-width:260px;white-space:normal}.item-check .status-pill{justify-self:start}.item-check small{font-size:11px;color:#657581;line-height:1.4}

.user-chip{display:inline-flex;align-items:center;gap:9px;vertical-align:middle}.user-avatar{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:750;letter-spacing:.3px}.user-avatar svg{height:16px;width:16px}.role-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.role-card{background:#eef3f1;border:1px solid #e0e8e3;padding:16px;border-radius:9px}.role-card strong{font-size:13px}.role-card p{font-size:12px;line-height:1.6;margin:7px 0 0}.invitation-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top,#31473f,#142722);padding:30px 16px}.invitation-card{background:linear-gradient(130deg,#fff,#f4f7f9);padding:32px;border:1px solid #d7e3dd;border-radius:15px;width:100%;max-width:560px;box-shadow:0 20px 60px #0003}.invitation-brand{display:flex;align-items:center;gap:14px;margin-bottom:23px;font-size:25px}.invitation-brand img{object-fit:contain}.invite-identity{display:grid;gap:8px;background:#edf3f0;border-radius:9px;padding:16px;margin:22px 0}.invite-identity small{color:#657a70;margin-left:39px}.invite-consent{display:flex;gap:10px;align-items:start;font-weight:450;line-height:1.6;margin:22px 0;font-size:13px}.invite-consent input{margin-top:3px;flex:0 0 18px}.invitation-card form>.primary{width:100%;margin:20px 0;padding:13px}.invitation-card [role=status]{font-size:13px;color:#963a29}@media(max-width:900px){.role-cards{grid-template-columns:1fr}.invitation-card{padding:25px}}

.profile-button{border:0;background:transparent;color:#e4ede8;padding:0;font-size:12px}.profile-button:hover{background:#ffffff10}.user-actions{display:flex;gap:8px}.danger-button{color:#a3313b;background:#fff6f6;border-color:#e9cdd1}.fixed-setting{padding:10px 12px;border:1px solid #dce4e8;border-radius:7px;color:#556d79;background:#f0f4f6;font-size:13px}.material-name{display:inline-flex;align-items:center;gap:9px}.material-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex:0 0 12px;border:1px solid #0002}.insight-controls{display:flex;gap:10px}.insight-controls select{width:auto}.material-insight-row{display:grid;grid-template-columns:200px minmax(100px,1fr) 190px;gap:20px;align-items:center;padding:13px 0;border-bottom:1px solid #e3e9ec}.material-insight-row:last-child{border:0}.material-insight-bar{height:16px;border-radius:4px;background:#e8eef1;overflow:hidden}.material-insight-bar span{display:block;height:100%;border-radius:4px;min-width:0}.material-insight-totals{text-align:right;display:grid;gap:3px;font-size:12px}.material-insight-totals span{color:#647985;font-size:11px}.quote-source-workspace{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:20px;align-items:start}.source-pane{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto}.schedule-pane{min-width:0}.original-email{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:12px;line-height:1.7;color:#405764;padding-top:15px;border-top:1px solid #dfe6e9}@media(max-width:1100px){.quote-source-workspace{grid-template-columns:1fr}.source-pane{position:static;max-height:420px}}@media(max-width:700px){.material-insight-row{grid-template-columns:1fr auto;gap:10px}.material-insight-bar{grid-row:2;grid-column:1/-1}.material-insight-totals{font-size:11px}.insight-controls{width:100%;flex-wrap:wrap}.insight-controls select{width:100%}.profile-button .user-chip>span:last-child{display:none}}

.customer-address{white-space:pre-wrap;font:inherit;line-height:1.7;color:#516c79;margin:13px 0}.tablewrap td a{color:#3b6b61}.field-label{font-size:13px;font-weight:650}

.inline-user-editor{display:grid;gap:5px;min-width:200px}.inline-user-editor small{color:#6b7d87;font-size:11px}.inline-user-name{padding:8px 10px;max-width:300px}.user-actions{align-items:center}.role-colour-form{grid-template-columns:repeat(3,minmax(0,1fr));max-width:650px}.role-colour-form input[type=color]{width:66px;height:35px;padding:3px;box-shadow:none}.role-colour-form .field label{min-height:38px}.role-colour-form .settings-save{margin-top:4px}@media(max-width:700px){.role-colour-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.role-colour-form label{font-size:11px}.inline-user-editor{min-width:180px}}

.inline-user-role{min-width:170px;padding:8px 10px}.user-actions button{white-space:nowrap}

.product-material-tags{display:flex;flex-wrap:wrap;gap:6px 13px;max-width:330px;white-space:normal}.product-material-tags .material-name{font-size:12px}.product-material-choices{border:1px solid #dbe4e0;border-radius:9px;padding:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-material-choices[hidden]{display:none}.product-material-choices legend{font-size:13px;color:#5a7068;padding:0 7px}.material-choice{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:500}.material-choice input{width:18px;height:18px;flex:0 0 18px}.product-material-editor{scroll-margin-top:20px}@media(max-width:700px){.product-material-choices{grid-template-columns:1fr}}

.save-feedback{position:fixed;bottom:22px;right:22px;z-index:1000;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:10px;color:white;background:#253a4c;box-shadow:0 8px 25px #16253435;font-weight:650}
.save-feedback.saved{background:#17633d}.save-feedback.save-error{background:#9f2929}
.save-spinner{width:16px;height:16px;border:2px solid #ffffff65;border-top-color:white;border-radius:50%;animation:save-spin .7s linear infinite}
@keyframes save-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.save-spinner{animation:none}}

.report-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0}
.report-filters .field{flex:1 1 135px;min-width:0;margin:0}.report-filters .field[hidden]{display:none}
.report-filters input,.report-filters select{width:100%}
.report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.report-metric small,.report-metric strong{display:block}.report-metric strong{font-size:clamp(18px,3vw,32px);margin-top:6px;overflow-wrap:anywhere}
.report-bar{display:grid;grid-template-columns:minmax(115px,1fr) minmax(60px,2fr) minmax(75px,auto);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #e4ebef}
.report-bar progress{width:100%;accent-color:#377f78}.report-bar>span{text-align:right}
@media(max-width:480px){.report-summary{gap:6px}.report-metric{padding:10px}.report-bar{gap:6px;font-size:12px}}

.order-toggle{display:inline-flex;align-items:center;gap:8px;font-weight:650}.order-toggle input{width:18px;height:18px;accent-color:#377f78}

.cell-label{display:none}
.source-pane summary{font-size:16px;font-weight:700;cursor:pointer;margin-bottom:10px}
.source-pane:not([open]) summary{margin-bottom:0}
.cell-content{min-width:0}
@media(max-width:700px){
 .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:10px 14px}
 .topbar .search-box{display:block;grid-column:1/-1;grid-row:2;width:100%;font-size:16px}
 .top-meta{grid-column:2;grid-row:1}.topbar .profile-button{min-width:44px;min-height:44px}
 .sidebar{padding-top:8px;padding-bottom:8px}.sidebar .brand{padding-bottom:0}
 .nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;overflow:visible;padding-bottom:0}
 .nav button,.nav button:last-child{white-space:normal;justify-content:center;flex-direction:column;gap:4px;text-align:center;padding:7px 3px;min-height:53px;font-size:11px;line-height:1.2}
 .sidebar>button:last-child{min-height:44px;top:8px}
 .main{padding:17px 12px}.panel{padding:14px}.formgrid input:not([type=checkbox]),.formgrid select,.formgrid textarea,.report-filters select,.report-filters input{font-size:16px}
 .main button,.main select{min-height:44px}
 .mobile-records table,.mobile-records tbody{display:block;width:100%}
 .mobile-records thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .mobile-records tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;padding:10px;margin:0 0 10px;border:1px solid var(--line);border-radius:9px;background:#fff}
 .mobile-records td{display:block;padding:3px 0;border:0;white-space:normal;overflow-wrap:anywhere}
 .mobile-records td:first-child,.mobile-records td:has(.item-check),.mobile-records td:has(.inline-user-editor){grid-column:1/-1}
 .mobile-records td:has(button),.mobile-records td:has(select){grid-column:1/-1}
 .mobile-records .cell-label{display:block;color:var(--muted);font-size:11px;margin-bottom:2px}
 .mobile-records td:first-child .cell-content{font-weight:700}
 .source-pane{max-height:none}.source-pane .original-email{max-height:55vh;overflow:auto}
 .save-feedback{right:12px;bottom:12px;max-width:calc(100% - 24px)}
}

.mobile-settings-picker{display:none}
@media(max-width:700px){
 .mobile-settings-picker{display:block;width:100%;font-size:16px}
 .settings-shell>.options-nav{display:none}
 .settings-shell{grid-template-columns:minmax(0,1fr)}
 .mobile-records select{width:100%;font-size:16px}
}

.issue-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.issue-links a{display:inline-flex;align-items:center;min-height:44px;color:#315f54}.component-overrides{border:1px solid var(--line);border-radius:8px;padding:12px}.component-overrides summary{cursor:pointer;font-weight:650}

.help-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;align-items:start}
.help-title{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:#2a6963}.help-title h2{margin:0}
.help-ask{display:grid;gap:8px}.help-ask .primary{justify-self:start}
.help-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.help-suggestions button{font-size:12px}.help-answer:not(:empty){background:#eaf3f2;border:1px solid #d4e6e2;border-radius:9px;padding:14px;margin-top:14px}
.help-answer p,.faq-item p{margin:8px 0 12px}.faq-item{padding:12px 0;border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer;font-weight:650;line-height:1.4}.faq-list{margin-top:10px}
.password-row{display:flex;align-items:stretch;gap:7px}.password-row input{min-width:0}.password-reveal{min-width:64px}
@media(max-width:900px){.help-grid{grid-template-columns:1fr;gap:0}}
@media(max-width:700px){.help-ask input,.help-grid input{font-size:16px}}

.auth-notice .info-icon,.auth-feature-icon{color:#65dbd4}.auth-tabs button.selected{box-shadow:inset 0 -3px #31877f}
.dashboard-metric{display:flex;align-items:flex-start;gap:10px;text-align:left;font-weight:500}
.stat.dashboard-metric .glyph,.enquiry-tile-icon{display:grid;place-items:center;background:#e2f2ef;color:#296b64;border-radius:9px;padding:8px;margin:0;float:none;flex:none}
.metric-copy{display:grid;min-width:0}.metric-label{font-size:12px;font-weight:700;color:#203a48}.metric-copy strong{overflow-wrap:anywhere;font-size:clamp(17px,1.8vw,27px)}.metric-copy small{color:#637381;font-size:11px;margin-top:5px}
.dashboard-metric:hover,.enquiry-tile:hover{border-color:#77a69e;background:#f2faf8}
.grid-charts .bar{background:linear-gradient(0deg,#167471,#5abeb6)}
.grid-charts .donut{background:conic-gradient(#145f70 0 var(--a),#69b9b9 var(--a) var(--b),#008f91 var(--b) var(--c),#b8cbd4 var(--c) 100%)}
.enquiry-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.enquiry-tile{display:flex;align-items:center;gap:12px;text-align:left;padding:13px;min-width:0}.enquiry-tile[aria-pressed=true]{border-color:#478f84;background:#edf7f5}
.enquiry-tile strong,.enquiry-tile small{display:block}.enquiry-tile strong{font-size:24px;color:#193943;line-height:1.2}.enquiry-tile small{color:#536875}
@media(max-width:700px){.enquiry-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.enquiry-tile{padding:9px;gap:7px}.enquiry-tile-icon{padding:5px}.enquiry-tile-icon svg{width:17px;height:17px}.stat.dashboard-metric{padding:10px;gap:7px}.stat.dashboard-metric .glyph{padding:5px}.stat.dashboard-metric .glyph svg{width:18px;height:18px}.metric-copy strong{font-size:20px}}

@media(max-width:700px){.nav{grid-template-columns:repeat(3,minmax(0,1fr))}}

.auth-notice .info-icon{background:#d4eeeb;color:#216d67}
.auth-tabs button.selected{color:#20635e;border-bottom-color:#31877f}
.auth-form .primary{background:linear-gradient(110deg,#087d79,#075d61);border-color:#07575b}
.auth-form .primary:hover{background:#07575b}

.dashboard-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:end;justify-content:space-between;gap:22px;min-height:176px;padding:28px 30px;color:#f4f7fb;border:1px solid #233548;border-radius:16px;background:linear-gradient(100deg,#122332 5%,#172f43 54%,#263a4e75 100%),url('/assets/architecture.png') right 57%/cover;box-shadow:0 10px 28px #172f4524}
.dashboard-hero h1{font-size:clamp(28px,3.4vw,46px);letter-spacing:-.045em;margin:6px 0}
.dashboard-hero p{color:#cfdae5;margin:7px 0 0;font-size:14px}
.hero-kicker{letter-spacing:.14em;text-transform:uppercase;color:#f2b57d;font-size:10px;font-weight:700}
.hero-actions{display:flex;flex-wrap:wrap;gap:9px}.hero-actions button{background:#ffffff13;color:white;border-color:#ffffff55;white-space:nowrap}.hero-actions button:last-child{background:#f4f7fb;color:#182c41;border-color:#f4f7fb}
.hero-actions button:hover{background:#fff;color:#182c41}
.demo-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #e8d3aa;background:#fff6e5;color:#674820;padding:11px 14px;border-radius:10px;margin:14px 0}
.demo-banner p{margin:2px 0;color:#725739;font-size:12px}.demo-banner button{flex:none}
.dashboard-metric{--metric-bg:#edf2fa;--metric-fg:#30578a;border-top:2px solid var(--metric-fg)}
.dashboard-metric.metric-enquiries{--metric-bg:#e8effb;--metric-fg:#305e9c}
.dashboard-metric.metric-clock{--metric-bg:#fff1dd;--metric-fg:#9b591f}
.dashboard-metric.metric-quotes{--metric-bg:#f0eafa;--metric-fg:#754d9e}
.dashboard-metric.metric-send{--metric-bg:#e7f3ec;--metric-fg:#337759}
.dashboard-metric.metric-target{--metric-bg:#fcebe6;--metric-fg:#9d4f43}
.dashboard-metric.metric-reports{--metric-bg:#e6eef4;--metric-fg:#2f647c}
.stat.dashboard-metric .glyph{background:var(--metric-bg);color:var(--metric-fg)}
.dashboard-metric:hover{background:var(--metric-bg);border-color:var(--metric-fg)}
.grid-charts .bar{background:linear-gradient(0deg,#2d5f94,#72a9db)}
.grid-charts .donut{background:conic-gradient(#145f70 0 var(--a),#d99748 var(--a) var(--b),#388971 var(--b) var(--c),#9883b7 var(--c) 100%)}
.report-heading{margin-bottom:8px}.report-filters .field{font-weight:450;color:#526574}
.report-filters input,.report-filters select{font-weight:400;color:#24394b;background:#fff;box-shadow:none}
.report-filters .field>label{font-weight:450;color:#526574}
.report-filters [hidden]{display:none}.report-status{min-height:1.5em;font-size:12px;margin:-6px 0 0;color:#506578}
.report-bar progress{accent-color:var(--report-accent,#466e9a)}
@media(max-width:700px){
 .dashboard-hero{align-items:start;flex-direction:column;gap:13px;padding:18px;min-height:0;background-position:65% 55%}
 .hero-actions button{min-height:44px}.demo-banner{align-items:start}.demo-banner p{line-height:1.45}
 .dashboard-metric.metric-reports strong{font-size:clamp(15px,5vw,22px)}
}

.status-pill[data-state=draft]{background:#eee8f8;color:#624285}
.status-pill[data-state=sent],.status-pill[data-state=delivered]{background:#e1eefb;color:#28577d}
.status-pill[data-state=ordered]{background:#dff2e6;color:#276648}
.status-pill[data-state=ready_for_approval],.status-pill[data-state=awaiting_approval]{background:#f5ebf7;color:#774486}
.status-pill[data-state=not_sent]{background:#edf0f5;color:#536377}

.report-period .field{flex:0 1 225px}
.report-criteria{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.report-criteria .field{min-width:0}
@media(max-width:1080px){.report-criteria{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.report-period .field{flex:1 1 140px}.report-period button{width:100%}.report-criteria{gap:8px}}

.dashboard-metric.metric-reports strong{font-size:clamp(16px,1.45vw,22px);white-space:nowrap}
.grid-charts .bar-group{position:relative;gap:0}
.grid-charts .bar-group>span{position:absolute;bottom:-17px;white-space:nowrap;line-height:1;font-variant-numeric:tabular-nums}

.remember-material{display:flex;align-items:flex-start;gap:7px;font-size:11px;font-weight:500;white-space:normal;max-width:220px}.remember-material input{flex:0 0 18px;margin:0}

.followup-dashboard{border-left:4px solid #ca873b}.followup-dashboard h2{margin-bottom:4px}.followup-dashboard .row p{margin:0}
.settings-nav-heading{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted);padding:10px 9px 3px}
.status-pill[data-state=accepted]{background:#dff2e6;color:#276648}.status-pill[data-state=lost]{background:#f8e6e6;color:#8e3636}.status-pill[data-state=follow_up_due]{background:#fff0d9;color:#80551c}

.settings-nav-group{display:grid;gap:2px;padding:4px 0 10px}
.settings-nav-group+.settings-nav-group{border-top:1px solid var(--line);padding-top:10px}
.settings-nav-group:last-child{padding-bottom:4px}
.settings-nav-group .settings-nav-heading{padding:4px 9px 5px;color:#415663;font-size:11px;letter-spacing:.055em}
.settings-nav-group button{width:100%}

.company-matches{display:flex;flex-wrap:wrap;gap:6px}.company-matches button{text-align:left}.company-matches p{margin:0}

.sundry-catalogue{min-width:0;border:1px solid var(--line);border-radius:9px;padding:14px}.sundry-catalogue legend{font-weight:700;padding:0 5px}.sundry-catalogue-row{padding:9px 0;border-bottom:1px solid var(--line);margin-bottom:10px}.sundry-catalogue-row button{justify-self:start}

.component-grid{margin-top:18px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#f5f8fb;min-width:0}
.component-grid-columns,.component-grid-row{display:grid;grid-template-columns:.8fr 1.7fr 1.05fr .5fr .65fr .65fr .65fr .65fr .8fr;gap:5px}
.component-grid-columns{font-size:11px;color:#526574;font-weight:650;padding:0 3px 5px}
.component-grid-row{margin-bottom:6px}
.component-grid-row>div{min-width:0}.component-grid-row input,.component-grid-row select{width:100%;min-width:0;padding:7px 5px;font-size:12px}
.component-grid h3{margin:0 0 4px}.component-grid .issue-links{margin-top:10px}.component-grid .issue-links p{margin:0}
.component-mobile-label{display:none}
@media(max-width:1100px){.component-grid-columns{display:none}.component-grid-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;border:1px solid var(--line);border-radius:7px}.component-mobile-label{display:block;color:#526574;font-size:11px;margin-bottom:3px}}
@media(max-width:700px){.component-grid-row input,.component-grid-row select{font-size:16px;min-height:44px}}

.component-grid-columns,.component-grid-row{grid-template-columns:.75fr 1.75fr 1.05fr .55fr .55fr .55fr .42fr .75fr .65fr minmax(88px,.6fr) minmax(62px,.45fr) 212px}
.component-row-tools{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-height:34px}
.component-row-tools button[data-action-icon]{width:28px;height:30px;min-width:28px;min-height:30px}
.component-row-tools details{position:relative;flex:0 0 auto}.component-row-tools>button{flex-shrink:0}.component-row-tools summary{white-space:nowrap}
.component-row-tools summary{cursor:pointer;list-style:none}
.component-row-tools summary::-webkit-details-marker{display:none}
.component-row-tools .status-pill{padding-inline:6px;font-size:10px}
.component-row-popover{position:absolute;right:0;top:calc(100% + 6px);z-index:5;width:min(240px,70vw);padding:12px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 18px #192c2929}
.component-grid-details[hidden]{display:none}
.quote-commercial-details{border-top:1px solid var(--line);padding-top:12px}
.quote-commercial-details h3{margin:0 0 8px}
.quote-overview-actions{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
button.primary.outcome-won{background:#e1f3e8;border-color:#afd7c0;color:#18593a}
button.primary.outcome-lost{background:#fae7e7;border-color:#ebbbbb;color:#842929}
button.primary.outcome-won:hover:not(:disabled){background:#ccebd9}
button.primary.outcome-lost:hover:not(:disabled){background:#f5d5d5}
@media(max-width:1100px){.component-row-tools{grid-column:1/-1}}
.component-grid-columns .schedule-internal,.schedule-internal .component-mobile-label{color:#805527;background:#f6eddf;border-radius:4px;padding-inline:4px}
.schedule-rate{display:flex;align-items:center;gap:3px}
.schedule-rate-unit{color:#805527;font-size:10px;white-space:nowrap}
.component-grid output{display:block;padding:7px 4px;font-size:12px;font-weight:650;text-align:right;white-space:nowrap}
.component-grid-columns .schedule-total-heading{text-align:right;padding-right:4px}
.component-grid:has(.schedule-total-heading) .component-grid-columns{padding-inline:0}
.component-grid input[type=number]{appearance:textfield}
.component-grid input::-webkit-inner-spin-button,.component-grid input::-webkit-outer-spin-button{appearance:none;margin:0}
.remove-schedule-row{padding:4px 6px;color:#9d4234;line-height:1.4}
.trash-symbol{font-size:14px}
.sundry-grid .component-grid-columns,.sundry-grid .component-grid-row{grid-template-columns:1.05fr 1.6fr .8fr .7fr 34px}
.quotation-page-title>button{margin-bottom:14px}
.quotation-detail-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px 20px;margin:0 0 16px}
.quotation-detail-list dt{font-size:12px;color:var(--muted);font-weight:650}
.quotation-detail-list dd{margin:2px 0 0;white-space:pre-line;overflow-wrap:anywhere}
.quote-issue-toolbar:empty{display:none}
button.primary.ready-primary{background:#23734d;border-color:#1c6041;color:#fff}
button.primary.ready-primary:hover{background:#175637;color:#fff}
.project-quote-actions{margin-bottom:14px}
.issue-preview{width:min(760px,calc(100vw - 24px));max-height:92vh;padding:20px;border:1px solid var(--line);border-radius:12px;color:var(--dark)}
.issue-preview::backdrop{background:#102320a0}
.issue-preview iframe{width:100%;height:min(48vh,430px);margin:10px 0;border:1px solid var(--line);border-radius:7px}
.issue-preview>.issue-links{margin-top:12px}
.issue-send-warning{padding:12px 14px;display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}
button[data-action-icon]{display:inline-grid;place-items:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;vertical-align:middle;flex:none}
button[data-action-icon] svg{width:17px;height:17px}
button[data-action-icon].primary:hover{background:#a94424;color:#fff}
.table-actions{text-align:right;width:1%}
.table-actions .issue-links,.table-actions .user-actions{display:inline-flex;flex-wrap:nowrap;justify-content:flex-end;gap:6px;width:max-content;max-width:none}
.field-with-action{display:flex;align-items:center;gap:7px}
.field-with-action select{flex:1;min-width:0}
.searchable-select{position:relative;flex:1;min-width:0}
.searchable-select>input{padding-right:36px;text-overflow:ellipsis}
.lookup-toggle{position:absolute;right:2px;top:2px;bottom:2px;min-height:0!important;width:31px;padding:0;border:0;background:transparent}
.lookup-options{position:absolute;z-index:6;inset:calc(100% + 4px) 0 auto;max-height:230px;overflow:auto;padding:4px;background:#fbfdfd;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px #122b3c22}
.lookup-options [role=option]{padding:8px 10px;border-radius:5px;cursor:pointer;overflow-wrap:anywhere}
.lookup-options [role=option]:hover,.lookup-options [role=option].active{background:#e9f1ed}
.lookup-options [aria-selected=true]{font-weight:650}
.lookup-options p{margin:6px 10px}
.rich-text-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:7px;border:1px solid var(--line);border-radius:8px 8px 0 0;background:#eef3f1}
.rich-text-toolbar button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:6px;border-color:transparent;background:transparent}
.rich-text-toolbar button:hover{background:#dfe9e5;border-color:#c3d4cb}
.rich-text-toolbar button svg{width:18px;height:18px;flex:none}
@media(pointer:coarse){.rich-text-toolbar button{width:40px;height:40px;min-height:40px}}
.rich-text-body{min-height:116px;max-height:510px;overflow:auto;padding:13px 15px;border:1px solid var(--line);border-radius:0 0 8px 8px;background:#fff;white-space:pre-wrap;overflow-wrap:anywhere}
.rich-text-large .rich-text-body{min-height:275px}
.rich-text-body:focus{outline:2px solid #506e62;outline-offset:1px}
.rich-text-body p{margin:0 0 .65em;color:inherit}
.rich-text-body h2,.rich-text-body h3{margin:.8em 0 .4em}
.project-popup .panel{margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.project-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.project-detail-actions>button{margin:0;min-height:40px}
.project-contact{display:grid;gap:5px;margin-top:8px;min-width:0;line-height:1.5}
.project-contact-name{color:var(--ink);font-size:14px}
.project-contact-branch{color:var(--muted);font-size:12px}
.project-contact-email{color:#315f70;text-decoration:none;overflow-wrap:anywhere}
.project-contact-email:hover{text-decoration:underline}
.project-contact-phone{font-variant-numeric:tabular-nums}
.project-contact-office{display:grid;gap:3px;margin-top:6px}
.project-contact-label{font-size:11px;color:var(--muted);font-weight:600}
.project-contact-office address{margin:0;font-style:normal;white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:700px){button[data-action-icon],.main button[data-action-icon]{width:44px;height:44px;min-width:44px;min-height:44px}.mobile-records td.table-actions{grid-column:1/-1;width:auto}}
.layout .topbar{background:linear-gradient(105deg,#142823,#203932);position:relative;z-index:2}
.workspace-account{position:relative}
.workspace-account summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;color:#eef5f1;font-size:12px}
.workspace-account summary::-webkit-details-marker{display:none}
.workspace-account-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:4;display:grid;gap:5px;min-width:185px;max-width:calc(100vw - 28px);padding:9px;background:#f8fbfa;border:1px solid #d6e3de;border-radius:8px;box-shadow:0 8px 24px #10271d32}
.workspace-account-menu small{padding:4px 7px;color:#50675d;overflow-wrap:anywhere}
.workspace-account-menu button{text-align:left}
@media(min-width:701px){
 .layout .sidebar{position:sticky;top:0;align-self:start;min-height:calc(100vh - 58px)}
 .layout .sidebar:before{background:linear-gradient(to bottom,#192c29 0%,#192c29 47%,#192c29e8 59%,#192c2970 72%,#192c2900 88%),url('/assets/architecture.png') center bottom/auto 500px no-repeat}
 .layout .sidebar-footer{padding-top:34px}
}
@media(max-width:700px){.layout .top-meta{display:flex}.workspace-account summary{min-height:44px}.workspace-account summary .user-chip{max-width:120px}}
@media(max-width:1100px){.sundry-grid .component-grid-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.issue-preview{padding:13px}}
.quotation-totals{max-width:25rem;margin:0 0 0 auto;font-variant-numeric:tabular-nums}
.quotation-totals>div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 0}
.quotation-totals dt{color:var(--muted)}
.quotation-totals dd{margin:0;font-size:1.1rem;font-weight:650;white-space:nowrap}
.quotation-totals>div:last-child{border-top:1px solid var(--line);margin-top:.35rem;padding-top:.7rem}
.quotation-totals>div:last-child dt{color:inherit;font-weight:650}
.quotation-totals>div:last-child dd{font-size:1.45rem;font-weight:750}
.component-grid-details{grid-column:1/-1;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;padding:1px 2px 4px}
.component-grid-details>span:empty{display:none}.component-grid-details summary{cursor:pointer;list-style:none}
.component-grid-details details p{margin:5px 0}
@media(max-width:1100px){.component-grid-row{grid-template-columns:repeat(3,minmax(0,1fr))}}

.sundry-catalogue .tablewrap input,.sundry-catalogue .tablewrap select{min-width:110px}.options-content .tablewrap input[type=number]{min-width:82px}.options-content .tablewrap input[type=color]{min-width:48px}

.field[hidden]{display:none}
.formgrid[hidden]{display:none}
.formgrid>.formgrid:empty{display:none}
.report-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:700px){.report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{
 body:has(.report-print){background:white;color:#111}
 .layout:has(.report-print){display:block;background:white}
 .layout:has(.report-print) .topbar,.layout:has(.report-print) .sidebar,.report-print button,.report-print .report-filters,.save-feedback{display:none!important}
 .report-print{background:white;padding:0}
 .report-print .panel{box-shadow:none;background:white;break-inside:avoid}
 .report-print .tablewrap{overflow:visible}
 .report-print td,.report-print th{white-space:normal}
 .report-print .report-heading{display:block}
}
.directory-search{margin-bottom:12px}
.register-filters{display:grid;gap:12px;margin:12px 0 16px;align-items:center}
.project-filters{grid-template-columns:minmax(220px,1fr) minmax(190px,260px)}
.enquiry-filters{grid-template-columns:minmax(240px,1fr) minmax(170px,220px) minmax(160px,220px)}
.register-filters input,.register-filters select{min-width:0;width:100%}
.project-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.project-meta p{margin:5px 0;overflow-wrap:anywhere}
.empty-state{padding:28px 16px;text-align:center;color:var(--muted)}
.empty-state h3{color:#243b46;margin:0 0 6px}
.empty-state p{max-width:580px;margin:0 auto 14px}
.quote-summary{grid-template-columns:repeat(6,minmax(0,1fr))}
.quote-summary-card{--queue-colour:#52736a;border-top:3px solid var(--queue-colour)}
.quote-summary-card strong{color:var(--queue-colour)}
.quote-summary-card.selected{box-shadow:0 0 0 1px var(--queue-colour);border-color:var(--queue-colour)}
.quote-summary-card[data-queue=draft],.quote-summary-card[data-queue=test]{--queue-colour:#4c6f9a}
.quote-summary-card[data-queue=review],.quote-summary-card[data-queue=chase]{--queue-colour:#986b25}
.quote-summary-card[data-queue=approval],.quote-summary-card[data-queue=accepted]{--queue-colour:#2d8056}
.quote-summary-card[data-queue=lost],.quote-summary-card[data-queue=attention]{--queue-colour:#a44f55}
.quote-summary-card[data-queue=revised]{--queue-colour:#80639b}
.revision-badge{display:inline-block;vertical-align:middle;padding:2px 8px;border:1px solid #d7c6e9;border-radius:6px;background:#f0e9f7;color:#6b458c;font-size:12px;font-weight:700;line-height:1.5;white-space:nowrap}
.quotation-reference{white-space:nowrap}
.quotation-page-title h1 .revision-badge{font-size:16px;padding:3px 10px;vertical-align:middle}
.quote-detail-groups{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:14px}
.quote-detail-groups>section{min-width:0}
.quote-detail-groups>section+section{border-left:1px solid var(--line);padding-left:24px}
.quote-detail-groups h3{margin:0 0 10px;font-size:13px;color:#394f5b}
.quote-detail-groups .quotation-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}
.quote-commercial-list{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}
.hero-actions select{min-width:160px;max-width:220px}
.quotation-needs-follow-up{border-left:4px solid #bd873e}
.follow-up-alert{padding:10px 14px;border:1px solid #ead5b3;border-radius:7px;background:#fff6e5;color:#79511f;margin:12px 0 16px}
.follow-up-alert p{margin:3px 0 0;color:inherit}
.issue-preview .issue-preview-actions{position:sticky;bottom:0;z-index:1;background:#fafcfd;border-top:1px solid var(--line);padding:12px 0;margin-top:12px}
.issue-preview iframe{height:min(38vh,340px);min-height:190px}
.dashboard-period-note{margin:0 0 12px;color:var(--muted)}
@media(max-width:700px){
 .quote-detail-groups,.quote-commercial-list{grid-template-columns:1fr}
 .quote-detail-groups>section+section{border-left:0;border-top:1px solid var(--line);padding:14px 0 0}
 .quote-detail-groups .quotation-detail-list{grid-template-columns:1fr}
}
.status-pill[data-state=test_issued],.status-pill[data-state=test_email_sent]{background:#e4edf8;color:#3a5d87}
.quote-summary{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.quote-summary-card{display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px 8px;align-items:center;text-align:left;padding:12px;min-height:84px}
.quote-summary-card .summary-icon{grid-row:1/3;color:var(--queue-colour);display:flex}
.summary-icon svg{width:22px;height:22px}
.quote-summary-card .summary-label{font-size:11px;line-height:1.3;min-height:0}
.quote-summary-card strong{font-size:23px;line-height:1.1;margin:0}
.quote-summary-card[data-queue=unquoted]{--queue-colour:#4c6f9a}
.quote-summary-card[data-queue=archived]{--queue-colour:#777887}
.project-filters{grid-template-columns:minmax(200px,2fr) minmax(150px,1fr) minmax(150px,1fr)}
h1>.status-pill{font-size:13px;vertical-align:middle}
.project-register td{white-space:normal;overflow-wrap:anywhere}
.project-register td:first-child{max-width:200px}
.project-register td:nth-child(5){max-width:165px}
.project-register .user-chip{white-space:normal}
.intake-notices{position:fixed;top:75px;right:20px;z-index:1000;width:360px;max-width:calc(100vw - 24px);display:grid;gap:10px}
.intake-notice{padding:14px 16px;background:#fff;border:1px solid #cbdde8;border-left:4px solid #497391;border-radius:10px;box-shadow:0 8px 30px #152b3326;color:#213d4b}
.intake-notice .row{gap:10px}.intake-notice .row>button{padding:0;border:0;box-shadow:none;min-width:30px;min-height:30px;font-size:22px;background:transparent}
.intake-notice strong{font-size:14px}.intake-notice p{display:flex;align-items:center;gap:9px;margin:8px 0;font-size:12px;color:#526875;overflow-wrap:anywhere}
.intake-notice .save-spinner{flex:0 0 16px;border-color:#9bb4c9;border-top-color:#335e7f}
.intake-notice.ready{border-left-color:#3a8960;background:#f5fcf7}.intake-notice.failed{border-left-color:#b45c43;background:#fff8f4}
.role-cards,.role-colour-form{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.role-cards,.role-colour-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.intake-notices{top:12px;right:12px}}
@media(max-width:1200px){.quote-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){
 .register-filters,.project-meta{grid-template-columns:1fr}
 .quote-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.requesting-company{margin-top:24px;padding:20px;line-height:1.6;border:1px solid #dce4e8}.requesting-company>strong{display:block;font-size:14px}.requesting-company>p{margin:10px 0 16px}.requesting-company button{margin-top:4px}


/* ==========================================================================
   StoneFlow design system — UX polish layer (November 2026)
   Consolidates tokens and the shared component treatment. Placed last so it
   supersedes the earlier incremental rules without changing markup or flows.
   ========================================================================== */
:root{
 /* Brand */
 --sf-shell:#172925;--sf-shell-2:#1e3430;--sf-shell-line:rgba(255,255,255,.1);
 --sf-accent:#b84d22;--sf-accent-hover:#9c3f1a;--sf-accent-soft:#fbeee7;--sf-accent-line:#f0cdb9;--sf-accent-bright:#ff9461;
 --sf-teal:#0b6d69;
 /* Neutrals */
 --sf-text:#1b2a31;--sf-text-2:#475a65;--sf-text-3:#5d6d76;
 --sf-bg:#f2f5f6;--sf-surface:#fff;--sf-surface-2:#f7f9fa;--sf-surface-3:#eef2f4;
 --sf-border:#dfe5e9;--sf-border-strong:#c8d2d8;
 /* Shape & depth */
 --sf-r-sm:6px;--sf-r:8px;--sf-r-lg:12px;--sf-r-xl:16px;
 --sf-shadow-1:0 1px 2px rgba(18,36,44,.05);
 --sf-shadow-2:0 1px 2px rgba(18,36,44,.04),0 4px 14px rgba(18,36,44,.05);
 --sf-shadow-3:0 12px 32px rgba(12,28,26,.18);
 --sf-ring:0 0 0 3px rgba(184,77,34,.22);
 /* Spacing & type */
 --sf-space-1:4px;--sf-space-2:8px;--sf-space-3:12px;--sf-space-4:16px;--sf-space-5:24px;--sf-space-6:32px;
 --sf-fs-xs:11px;--sf-fs-sm:12.5px;--sf-fs-base:14px;--sf-fs-lg:16px;--sf-fs-h2:17px;--sf-fs-h1:28px;
 --sf-control-h:40px;
 /* Legacy aliases used by earlier rules */
 --accent:var(--sf-accent);--accent-dark:var(--sf-accent-hover);--muted:var(--sf-text-2);--line:var(--sf-border);--card:var(--sf-surface);--dark:var(--sf-text);
 color:var(--sf-text);background:var(--sf-bg)
}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background:var(--sf-bg)}
::selection{background:#f6d3c0;color:#3a1608}
p{color:var(--sf-text-2)}
.muted{color:var(--sf-text-3)}
h2{color:var(--sf-text)}

/* Focus — visible on light and dark surfaces (WCAG 2.2 focus appearance). */
:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}
.topbar :focus-visible,.sidebar :focus-visible,.auth-brand :focus-visible,.dashboard-hero :focus-visible{outline-color:#ffb48c}

/* Buttons */
button{min-height:38px;padding:8px 14px;border:1px solid var(--sf-border-strong);border-radius:var(--sf-r);background:var(--sf-surface);color:var(--sf-text);font-weight:600;line-height:1.3;box-shadow:var(--sf-shadow-1);transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}
button:where(:hover:not(:disabled)){background:var(--sf-surface-2);border-color:#aebbc3}
button:where(:active:not(:disabled)){background:var(--sf-surface-3)}
button:disabled{opacity:.5;box-shadow:none}
button.primary{background:var(--sf-accent);border-color:var(--sf-accent);color:#fff;box-shadow:0 1px 2px rgba(110,38,10,.18)}
button.primary:hover:where(:not(:disabled)){background:var(--sf-accent-hover);border-color:var(--sf-accent-hover);color:#fff}
button.primary:where(:active:not(:disabled)){background:#86361a}
button svg{width:18px;height:18px}

/* Form controls */
label{color:var(--sf-text)}
input,textarea,select{border:1px solid var(--sf-border-strong);border-radius:var(--sf-r);background-color:var(--sf-surface);color:var(--sf-text);box-shadow:none;transition:border-color .15s,box-shadow .15s}
input:where(:not([type=checkbox],[type=radio],[type=color],[type=range],[type=hidden])),select{min-height:var(--sf-control-h)}
input::placeholder,textarea::placeholder{color:#8a99a2}
:where(input,textarea,select):where(:hover:not(:disabled):not(:focus)){border-color:#a9b6be}
input:focus,textarea:focus,select:focus{border-color:var(--sf-accent);box-shadow:var(--sf-ring)}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}
input:disabled,textarea:disabled,select:disabled,input[readonly]{background-color:var(--sf-surface-3);color:var(--sf-text-2)}
input[type=checkbox],input[type=radio]{accent-color:var(--sf-accent)}
input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:none}
input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}
select:not([multiple]):not([size]){-webkit-appearance:none;appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23566a75' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:12px}
.field{gap:6px}
.field>label,.formgrid label{font-size:13px;font-weight:600}
.field-help,.auth-helper{color:var(--sf-text-3)}

/* Surfaces */
.panel,.stat{background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:var(--sf-r-lg);box-shadow:var(--sf-shadow-1)}
.panel{padding:20px}
.panel>.row{margin-bottom:16px}
.panel h2,.chart-header h2{letter-spacing:-.015em;font-weight:650}
.warning,.error,.success{border-radius:var(--sf-r);font-size:12.5px}
.warning{background:#fff7ec;border:1px solid #f0dcbd;color:#6e4a1f}
.error{background:#fdf0ed;border:1px solid #f1cdc4;color:#8f3220}
.success{background:#ebf5ef;border:1px solid #c9e3d3;color:#215a3c}
.settings-note{background:var(--sf-surface-2);border:1px solid var(--sf-border);color:var(--sf-text-2);font-size:12.5px;border-radius:var(--sf-r)}
.demo-banner{border-radius:var(--sf-r-lg)}

/* Tables */
.tablewrap{-webkit-overflow-scrolling:touch}
table{font-variant-numeric:tabular-nums}
th{background:var(--sf-surface-2);color:var(--sf-text-2);font-size:11px;font-weight:650;letter-spacing:.035em;text-transform:uppercase;border-bottom:1px solid var(--sf-border);padding:10px 9px;font-size:10.5px}
thead th:first-child{border-top-left-radius:var(--sf-r)}thead th:last-child{border-top-right-radius:var(--sf-r)}
td{color:var(--sf-text);font-size:12.5px;padding:11px 9px;border-bottom:1px solid #e9eef1}
tbody tr{transition:background-color .12s}
tbody tr:hover>td{background:#f8fafb}
.tablewrap>p,.empty-state{color:var(--sf-text-3)}
.tablewrap>p{margin:12px 0;padding:22px 16px;text-align:center;border:1px dashed var(--sf-border-strong);border-radius:var(--sf-r);background:var(--sf-surface-2);font-size:13px}
.empty-state{border:1px dashed var(--sf-border-strong);border-radius:var(--sf-r-lg);background:var(--sf-surface-2);padding:32px 20px}
.empty-state h3{color:var(--sf-text);font-size:15px}

/* Status indicators */
.status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.35;border:1px solid color-mix(in srgb,currentColor 16%,transparent)}
.status-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75;flex:none}
.revision-badge{border-radius:var(--sf-r-sm)}

/* Loading feedback */
[aria-busy=true]{opacity:.6;transition:opacity .2s;cursor:progress}
@media(prefers-reduced-motion:no-preference){[aria-busy=true]{animation:sf-pulse 1.4s ease-in-out infinite}}
@keyframes sf-pulse{50%{opacity:.4}}

/* Toast */
.save-feedback{border-radius:var(--sf-r);box-shadow:var(--sf-shadow-3);font-size:13px}

/* Dialogs */
.issue-preview{border-color:var(--sf-border);border-radius:var(--sf-r-xl);box-shadow:var(--sf-shadow-3)}
.issue-preview::backdrop{background:rgba(12,26,24,.58);backdrop-filter:blur(2px)}

/* ---- App shell ---------------------------------------------------------- */
.layout{background:var(--sf-shell)}
.layout .topbar{background:var(--sf-shell);border-bottom:1px solid var(--sf-shell-line);padding:10px 24px}
.top-divider{background:rgba(255,255,255,.18)}
.top-app{font-size:13px;font-weight:600;letter-spacing:.01em;color:#eef4f2}
.env{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#cfdcd8;font-weight:500}
.search-box{min-height:38px;border-radius:var(--sf-r);background-color:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:#fff;padding-left:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a9bcb6' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center;background-size:15px}
.search-box:hover:not(:focus){border-color:rgba(255,255,255,.26)}
.search-box:focus{background-color:rgba(255,255,255,.11);border-color:rgba(255,160,115,.7);box-shadow:0 0 0 3px rgba(255,148,97,.18)}
.search-box::placeholder{color:#a9bcb6}
.workspace-account summary{padding:4px 8px 4px 4px;border-radius:999px;transition:background-color .15s}
.workspace-account summary:hover{background:rgba(255,255,255,.07)}
.workspace-account-menu{background:var(--sf-surface);border-color:var(--sf-border);border-radius:var(--sf-r-lg);box-shadow:var(--sf-shadow-3);padding:8px}
.workspace-account-menu button{border-color:transparent;box-shadow:none;background:transparent;font-weight:500}
.workspace-account-menu button:hover:not(:disabled){background:var(--sf-surface-3);border-color:transparent}

.brand{gap:10px;padding:2px 8px 6px;font-size:21px;font-weight:700;letter-spacing:-.02em;color:#f4f8f6}
.sf-logo{width:52px;height:52px;flex:0 0 52px}
.brand small{font-size:11px;line-height:1.45;color:#a9bcb6;margin-top:3px;font-weight:400}
.nav{gap:2px}
.nav button{gap:12px;min-height:40px;padding:9px 12px;border:1px solid transparent;border-radius:var(--sf-r);background:transparent;box-shadow:none;color:#c8d6d2;font-size:13.5px;font-weight:500;position:relative}
.nav button svg{width:19px;height:19px}
.nav-icon{color:#93aaa3;transition:color .15s}
.nav button:hover:not(:disabled){background:rgba(255,255,255,.06);border-color:transparent;color:#fff}
.nav button:hover .nav-icon{color:#dbe6e2}
.nav button.active{background:rgba(255,138,82,.13);border-color:rgba(255,160,115,.2);box-shadow:inset 3px 0 0 var(--sf-accent-bright);color:#fff;font-weight:600}
.nav button.active .nav-icon{color:var(--sf-accent-bright)}
.nav button:last-child{margin-top:17px;padding-top:9px;border-top:1px solid transparent;border-radius:var(--sf-r)}
.nav button:last-child::before{content:'';position:absolute;left:6px;right:6px;top:-10px;height:1px;background:var(--sf-shell-line)}
.nav button:last-child.active{border-top-color:rgba(255,160,115,.2)}
.sidebar-footer{gap:2px}
.footer-eyebrow{color:#f2c2a6;letter-spacing:.12em}
.main{background:var(--sf-bg);padding:26px 26px 44px}
.main h1{font-size:var(--sf-fs-h1);letter-spacing:-.025em;font-weight:700;color:var(--sf-text);line-height:1.2}
.main>div:first-child>p,.main>div>p:first-of-type{max-width:72ch}
.eyebrow{color:var(--sf-accent);font-size:10.5px;letter-spacing:.12em;font-weight:650}

@media(min-width:701px){
 .layout .topbar{position:sticky;top:0;z-index:20}
 .layout .sidebar{position:sticky;top:58px;align-self:start;height:calc(100vh - 58px);min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
 .layout .sidebar-footer{padding-top:120px}
}
@media(min-width:701px) and (max-height:760px){.layout .sidebar-footer{padding-top:40px}.layout .sidebar:before{background-size:auto 380px}}

/* ---- Dashboard ---------------------------------------------------------- */
.dashboard-hero{min-height:148px;padding:26px 28px;border:1px solid rgba(255,255,255,.06);border-radius:var(--sf-r-xl);background:linear-gradient(100deg,#14241f 8%,#1a2f2a 52%,rgba(26,47,42,.55) 100%),url('/assets/architecture.png') right 57%/cover;box-shadow:var(--sf-shadow-2)}
.dashboard-hero h1{color:#fff;font-size:clamp(26px,2.7vw,36px);letter-spacing:-.03em}
.dashboard-hero p{color:#c3d2cd}
.hero-kicker{color:var(--sf-accent-bright)}
.hero-actions{align-items:center}
.hero-actions select{min-height:40px;background-color:#fff;color:var(--sf-text);border-color:transparent}
.hero-actions button{min-height:40px}
.hero-actions button:last-child{background:#fff;color:var(--sf-text);border-color:#fff}
.hero-actions button:last-child:hover:not(:disabled){background:#f1f4f5;color:var(--sf-text)}
.stats{gap:14px;margin:18px 0 12px}
.stat.dashboard-metric{border:1px solid var(--sf-border);background:var(--sf-surface);transition:border-color .15s,box-shadow .15s,transform .15s}
.stat.dashboard-metric:hover{background:var(--sf-surface);border-color:color-mix(in srgb,var(--metric-fg) 45%,var(--sf-border));box-shadow:var(--sf-shadow-2)}
.stat.dashboard-metric .glyph{border-radius:var(--sf-r)}
.metric-copy strong,.stat strong{letter-spacing:-.025em;color:var(--sf-text);font-variant-numeric:tabular-nums}
.dashboard-period-note{font-size:12.5px;color:var(--sf-text-3)}
.chart-header small{border-color:var(--sf-border);color:var(--sf-text-3);border-radius:999px;padding:3px 9px;font-size:10.5px}
.pipeline .stage{background:var(--sf-surface-2);border-color:var(--sf-border);border-radius:var(--sf-r)}
.stage small{color:var(--sf-text-3)}
.donut-hole{background:var(--sf-surface)}
.grid-charts{gap:16px}
.dash-lower{gap:16px}

/* ---- Registers: queue cards, filters ------------------------------------ */
.quote-summary-card{background:var(--sf-surface);border:1px solid var(--sf-border);border-top:3px solid color-mix(in srgb,var(--queue-colour) 70%,#fff);border-radius:var(--sf-r-lg);box-shadow:var(--sf-shadow-1);color:var(--sf-text)}
.quote-summary-card:hover:not(:disabled){background:var(--sf-surface);border-color:color-mix(in srgb,var(--queue-colour) 40%,var(--sf-border));border-top-color:var(--queue-colour);box-shadow:var(--sf-shadow-2)}
.quote-summary-card.selected{background:color-mix(in srgb,var(--queue-colour) 6%,#fff);border-color:var(--queue-colour);box-shadow:0 0 0 1px var(--queue-colour)}
.quote-summary-card .summary-label,.quote-summary-card span{color:var(--sf-text-2);font-weight:550}
.quote-summary-card strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.register-filters,.quote-filters{gap:10px}

/* ---- Settings ----------------------------------------------------------- */
.options-nav{background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:var(--sf-r-lg);box-shadow:var(--sf-shadow-1);padding:8px;gap:1px}
.options-nav button{min-height:36px;border:0;box-shadow:none;background:transparent;color:var(--sf-text-2);font-weight:500;border-radius:var(--sf-r-sm)}
.options-nav button:hover:not(:disabled){background:var(--sf-surface-3);color:var(--sf-text)}
.options-nav button.selected{background:var(--sf-accent-soft);color:var(--sf-accent-hover);font-weight:600;box-shadow:inset 3px 0 0 var(--sf-accent)}
.settings-save{border-top-color:var(--sf-border)}

/* ---- Authentication ----------------------------------------------------- */
.auth-card{background:var(--sf-surface);border-color:rgba(255,255,255,.6);box-shadow:0 20px 50px rgba(5,18,16,.35)}
.auth-card h1{letter-spacing:-.03em;color:var(--sf-text)}
.auth-subtitle{color:var(--sf-text-2)}
.auth-notice{background:var(--sf-surface-2);border:1px solid var(--sf-border)}
.auth-tabs button{box-shadow:none;min-height:48px;font-weight:600}
.auth-tabs button:hover:not(:disabled):not(.selected){background:#e1e8ec}
.auth-form-panel{background:var(--sf-surface);box-shadow:none}
.auth-form .primary{min-height:46px;font-size:16px;border-radius:var(--sf-r);background:var(--sf-teal);border-color:var(--sf-teal)}
.auth-form .primary:hover:not(:disabled){background:#07575b;border-color:#07575b}
.auth-card-footer{border-top-color:var(--sf-border);color:var(--sf-text-3)}
/* The supplied wide Pure Knight logo is the dark-background variant: give it its intended backing. */
.auth-card-footer .pk-logo{box-sizing:content-box;padding:7px 11px;border-radius:var(--sf-r);background:var(--sf-shell)}
.auth-feature-icon{border-radius:var(--sf-r-lg)}
.invitation-card{border-radius:var(--sf-r-xl)}

/* ---- Responsive --------------------------------------------------------- */
@media(max-width:960px){.main{padding:24px 20px 40px}}
@media(max-width:700px){
 .main{padding:18px 14px 32px}
 .main h1{font-size:24px}
 .panel{padding:16px}
 .layout .sidebar{padding:8px 0 10px;gap:6px}
 .sidebar .brand{padding:0 14px;font-size:18px}
 .sf-logo{width:34px;height:34px;flex-basis:34px}
 /* Horizontal navigation strip keeps content above the fold on phones. */
 .nav{display:flex;grid-template-columns:none;gap:6px;overflow-x:auto;overflow-y:hidden;padding:2px 14px 4px;scroll-snap-type:x proximity;scroll-padding-inline:14px;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 88%,transparent);mask-image:linear-gradient(to right,#000 88%,transparent)}
 .nav::-webkit-scrollbar{display:none}
 .nav button,.nav button:last-child{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:7px;min-height:42px;padding:8px 13px;margin:0;font-size:13px;line-height:1.2;white-space:nowrap;scroll-snap-align:start;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
 .nav button:last-child::before{display:none}
 .nav button.active{box-shadow:inset 0 -2px 0 var(--sf-accent-bright)}
 .nav button svg{width:17px;height:17px}
 .layout .topbar{padding:10px 14px}
 .dashboard-hero{padding:20px 18px}
 .stats{gap:10px}
 .mobile-records tr{border-color:var(--sf-border);border-radius:var(--sf-r-lg);box-shadow:var(--sf-shadow-1)}
 .mobile-records tbody tr:hover>td{background:transparent}
}
@media(max-width:420px){.top-divider,.top-app{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(max-width:700px){.mobile-records .status-pill{white-space:normal;max-width:100%}.mobile-records .item-check{max-width:100%}}
@media(min-width:701px) and (max-width:1100px){.enquiry-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.enquiry-filters>:first-child{grid-column:1/-1}}

/* ---- Dashboard composition (v2) ---------------------------------------- */
.main .dashboard-hero{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:22px;padding:26px 28px 24px;min-height:0;background:linear-gradient(100deg,#13231f 0%,#172a26 45%,rgba(23,42,38,.82) 70%,rgba(23,42,38,.55) 100%),url('/assets/architecture.png') right 52%/cover}
.hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.hero-title{min-width:0}
.hero-title p{max-width:60ch}
.hero-kicker{letter-spacing:.12em}
.main .hero-actions{flex-wrap:nowrap;gap:10px}
.main .hero-actions select{min-width:168px;width:auto}
.hero-focus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.focus-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:76px;padding:14px 18px 14px 14px;text-align:left;color:#eef4f2;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:var(--sf-r-lg);box-shadow:none;backdrop-filter:blur(6px)}
.focus-item:hover:not(:disabled){background:rgba(255,255,255,.1);border-color:rgba(255,160,115,.45);color:#fff}
.focus-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);color:#b9cdc6}
.focus-icon svg{width:20px;height:20px}
.focus-copy{display:grid;gap:2px;min-width:0}
.focus-label{font-size:14px;font-weight:650;color:#fff}
.focus-copy small{font-size:12px;font-weight:400;color:#a9bcb6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.focus-item strong{font-size:32px;font-weight:700;letter-spacing:-.03em;line-height:1;color:#dfe9e5;font-variant-numeric:tabular-nums}
.focus-item.has-work .focus-icon{background:rgba(255,148,97,.16);color:var(--sf-accent-bright)}
.focus-item.has-work strong{color:#fff}

.main .stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:18px 0 10px}
.main .stat.dashboard-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:start;gap:4px 10px;min-height:118px;padding:16px 16px 14px;overflow:hidden}
.main .stat.dashboard-metric .glyph{grid-column:2;grid-row:1;width:34px;height:34px;padding:0;border-radius:var(--sf-r)}
.main .stat.dashboard-metric .glyph svg{width:18px;height:18px;stroke-width:1.8}
.main .stat.dashboard-metric .metric-copy{grid-column:1;grid-row:1;gap:0}
.main .metric-label{font-size:12.5px;font-weight:600;color:var(--sf-text-2)}
.main .metric-copy strong{font-size:clamp(22px,2.1vw,32px);font-weight:700;line-height:1.15;padding-top:10px;white-space:nowrap}
.main .metric-copy small{font-size:11.5px;color:var(--sf-text-3);margin-top:4px}
.dashboard-metric .sparkline{grid-column:1/-1;grid-row:2;width:100%;height:30px;margin-top:6px}
.spark-line{fill:none;stroke:var(--metric-fg);stroke-width:1.6;vector-effect:non-scaling-stroke}
.spark-area{fill:var(--metric-fg);opacity:.1}

.dash-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-top:6px}
.dash-grid>.panel{margin:0;min-width:0}
.dash-trend{grid-column:span 8}.dash-pipeline{grid-column:span 4}
.dash-grid>.followup-dashboard,.dash-assigned{grid-column:span 6}
.dash-recent{grid-column:span 7}.dash-values{grid-column:span 5}
.dash-activity{grid-column:1/-1}
.dash-mix>.panel{margin:16px 0 0}
.dash-footnote{margin-top:16px}
.dash-grid .chart-header{align-items:flex-start;margin-bottom:10px}
.dash-grid .chart-header h2{font-size:16px}
.chart-summary{margin:3px 0 0;font-size:12.5px;color:var(--sf-text-3)}
.dash-grid .row p{margin:3px 0 0}

/* Enquiry trend */
.dash-trend .line-chart{margin-top:4px}
.dash-trend .line-chart svg{height:auto;aspect-ratio:640/220}
.line-chart .grid-line{stroke:#e8edf0;stroke-width:1}
.line-chart .axis-line{stroke:#cfd8dd;stroke-width:1}
.line-chart .axis-label{fill:var(--sf-text-3);font-size:10px;font-family:inherit}
.line-chart .trend-line{stroke:#1f7f78;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.line-chart .trend-dot{fill:#1f7f78;stroke:#fff;stroke-width:2}
.line-chart .trend-halo{fill:#1f7f78;opacity:.14}
.dash-trend .line-chart-labels{padding:2px 1.9% 0 5.3%;color:var(--sf-text-3);font-size:11px}

/* Pipeline */
.pipe-total{display:flex;align-items:baseline;gap:8px;margin:2px 0 14px}
.pipe-total strong{font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.pipe-total span{font-size:12.5px;color:var(--sf-text-3)}
.pipe-bar{display:flex;gap:3px;height:10px;border-radius:999px;overflow:hidden;background:var(--sf-surface-3);margin-bottom:12px}
.pipe-bar span{min-width:6px;flex-basis:0}
.pipe-list{display:grid}
.pipe-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto 44px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #edf1f3;font-size:13px}
.pipe-row i{width:9px;height:9px;border-radius:3px}
.pipe-row b{font-variant-numeric:tabular-nums;font-weight:650}
.pipe-row small{text-align:right;color:var(--sf-text-3);font-variant-numeric:tabular-nums}
.pipe-foot{display:flex;justify-content:space-between;padding-top:10px;font-size:12.5px;color:var(--sf-text-3)}
.pipe-foot b{color:var(--sf-text);font-variant-numeric:tabular-nums}

/* Follow-up & assigned */
.dash-grid>.followup-dashboard{border-left:1px solid var(--sf-border)}
.dash-grid>.followup-dashboard.has-work{border-left:3px solid #c98a3b}
.dash-clear{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;border-radius:var(--sf-r);background:var(--sf-surface-2);border:1px solid var(--sf-border);color:var(--sf-text-2);font-size:13px}
.dash-clear-icon{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:#e3f1ea;color:#2a7050}
.dash-clear-icon svg{width:17px;height:17px}
.dash-assigned{scroll-margin-top:76px}

/* Weekly values */
.dash-values .chart-plot{height:200px;gap:10px;border-bottom:1px solid #cfd8dd;background:repeating-linear-gradient(to top,transparent 0,transparent 43px,#edf1f3 44px);padding:10px 4px 24px}
.dash-values .bar{width:62%;max-width:46px;background:#2f6f7e;border-radius:5px 5px 0 0;transition:background-color .15s}
.dash-values .bar-group:hover .bar{background:#1f5663}
.dash-values .bar-group>span{position:absolute;bottom:-19px;white-space:nowrap;font-size:10.5px;color:var(--sf-text-3)}
.dash-values .bar-group{position:relative;gap:0}

@media(max-width:1250px){
 .main .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .dash-trend{grid-column:span 7}.dash-pipeline{grid-column:span 5}
 .dash-recent,.dash-values{grid-column:span 6}
}
@media(max-width:1100px){.focus-copy small{display:none}.focus-item{min-height:64px}}
@media(max-width:960px){
 .dash-grid>.panel{grid-column:1/-1}
 .hero-focus{grid-template-columns:repeat(3,minmax(0,1fr))}
 .focus-item{grid-template-columns:minmax(0,1fr) auto;padding:12px 14px}
 .focus-icon{display:none}
}
@media(max-width:700px){
 .main .dashboard-hero{padding:20px 16px 16px;gap:16px}
 .hero-top{flex-direction:column;align-items:stretch}
 .main .hero-actions{flex-wrap:wrap}
 .main .hero-actions select{flex:1 1 160px}
 .hero-focus{grid-template-columns:1fr;gap:8px}
 .focus-item{grid-template-columns:auto minmax(0,1fr) auto;min-height:56px}
 .focus-icon{display:grid;width:34px;height:34px}
 .focus-item strong{font-size:26px}
 .main .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .main .stat.dashboard-metric{min-height:0;padding:13px}
 .main .metric-copy strong{font-size:24px;padding-top:6px}
 .dash-grid{display:flex;flex-direction:column;gap:12px}
}

/* ==========================================================================
   App-wide lift (v3): bundled typeface, page headers, grouped navigation,
   register cards and toolbars in the dashboard's visual language.
   ========================================================================== */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{font-family:'Inter','Segoe UI',system-ui,-apple-system,Arial,sans-serif;font-feature-settings:'cv05','cv08','ss03';font-optical-sizing:auto}
button,input,select,textarea{font-feature-settings:inherit}
h1,h2,h3{text-wrap:balance}
.main h2{font-size:16px;font-weight:650;letter-spacing:-.012em}

/* Page header */
.page-head{display:grid;gap:2px;margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--sf-border)}
.page-head .eyebrow{margin:0 0 6px}
.page-head h1{margin:0;font-size:30px;letter-spacing:-.03em}
.page-head h1 .status-pill{vertical-align:middle;margin-left:6px;font-size:12px;letter-spacing:0}
.page-head p{margin:6px 0 0;font-size:14px;color:var(--sf-text-2);max-width:72ch}
.report-heading{align-items:flex-end;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--sf-border)}
.report-heading .page-head{margin:0;padding:0;border:0}
.dashboard-hero+.page-head,.dashboard-hero .page-head{border:0}

/* Sidebar groups */
.nav-group{padding:16px 12px 6px;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#7f978f}
.nav>.nav-group:first-child{padding-top:2px}
.nav-divider{height:1px;margin:14px 6px 10px;background:var(--sf-shell-line)}
.nav button:last-child{margin-top:0;padding-top:9px}
.nav button:last-child::before{display:none}

/* Register summary cards (quotations, projects) */
.main .quote-summary{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;margin:0 0 18px}
.main .quote-summary-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:start;gap:10px;min-height:96px;padding:14px 14px 13px;border:1px solid var(--sf-border);border-radius:var(--sf-r-lg);background:var(--sf-surface);box-shadow:var(--sf-shadow-1);text-align:left}
.main .quote-summary-card .summary-icon{grid-column:2;grid-row:1;display:grid;place-items:center;width:30px;height:30px;border-radius:var(--sf-r);background:color-mix(in srgb,var(--queue-colour) 12%,#fff);color:var(--queue-colour)}
.main .quote-summary-card .summary-icon svg{width:16px;height:16px;stroke-width:1.9}
.main .quote-summary-card .summary-label{grid-column:1;grid-row:1;font-size:12.5px;font-weight:600;line-height:1.3;color:var(--sf-text-2);align-self:center}
.main .quote-summary-card strong{grid-column:1/-1;grid-row:2;margin:0;font-size:26px;font-weight:700;line-height:1;color:var(--sf-text);letter-spacing:-.025em}
.main .quote-summary-card:hover:not(:disabled){border-color:color-mix(in srgb,var(--queue-colour) 45%,var(--sf-border));box-shadow:var(--sf-shadow-2);background:var(--sf-surface)}
.main .quote-summary-card.selected{background:color-mix(in srgb,var(--queue-colour) 7%,#fff);border-color:var(--queue-colour);box-shadow:0 0 0 1px var(--queue-colour)}
.main .quote-summary-card.selected strong{color:color-mix(in srgb,var(--queue-colour) 80%,#000)}
.main .quote-summary-card[data-queue=all],.main .quote-summary-card[data-queue=archived]{--queue-colour:#4f6d66}

/* Enquiry tiles */
.main .enquiry-overview{gap:12px;margin:0 0 18px}
.main .enquiry-tile{--tile-colour:#4f6d66;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;min-height:96px;padding:14px;border:1px solid var(--sf-border);border-radius:var(--sf-r-lg);background:var(--sf-surface);box-shadow:var(--sf-shadow-1)}
.main .enquiry-tile:nth-child(2){--tile-colour:#986b25}.main .enquiry-tile:nth-child(3){--tile-colour:#a44f55}.main .enquiry-tile:nth-child(4){--tile-colour:#2d8056}
.main .enquiry-tile-icon{grid-column:2;grid-row:1;width:30px;height:30px;padding:0;border-radius:var(--sf-r);background:color-mix(in srgb,var(--tile-colour) 12%,#fff);color:var(--tile-colour)}
.main .enquiry-tile-icon svg{width:16px;height:16px}
.main .enquiry-tile>span:last-child{grid-column:1;grid-row:1;display:flex;flex-direction:column-reverse;gap:12px}
.main .enquiry-tile small{font-size:12.5px;font-weight:600;color:var(--sf-text-2)}
.main .enquiry-tile strong{font-size:26px;font-weight:700;line-height:1;color:var(--sf-text);letter-spacing:-.025em}
.main .enquiry-tile:hover:not(:disabled){background:var(--sf-surface);border-color:color-mix(in srgb,var(--tile-colour) 45%,var(--sf-border));box-shadow:var(--sf-shadow-2)}
.main .enquiry-tile[aria-pressed=true]{background:color-mix(in srgb,var(--tile-colour) 7%,#fff);border-color:var(--tile-colour);box-shadow:0 0 0 1px var(--tile-colour)}

/* Register toolbars and filter bars */
.main .panel>.row:first-child h2{font-size:17px}
.main .issue-links{gap:8px}
.main .quote-filters,.main .register-filters{padding:10px;margin:14px 0 12px;background:var(--sf-surface-2);border:1px solid var(--sf-border);border-radius:var(--sf-r-lg)}
.main .quote-filters input,.main .quote-filters select,.main .register-filters input,.main .register-filters select{background-color:var(--sf-surface)}
.main .quote-filters+.muted,.main .quote-filters+p{font-size:12px;color:var(--sf-text-3);margin:0 0 10px}

/* Table cells */
.main td:first-child{font-weight:550}
.main td strong{font-weight:650}
@media(min-width:701px){
 .main td button[data-action-icon]{width:34px;height:34px;min-width:34px;min-height:34px;border-color:var(--sf-border);box-shadow:none;color:var(--sf-text-2);background:var(--sf-surface)}
 .main td button[data-action-icon]:hover:not(:disabled){color:var(--sf-accent);border-color:var(--sf-accent-line);background:var(--sf-accent-soft)}
}

@media(max-width:700px){
 .nav-group,.nav-divider{display:none}
 .page-head{margin-bottom:16px;padding-bottom:14px}
 .page-head h1{font-size:25px}
 .main .quote-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .main .quote-summary-card,.main .enquiry-tile{min-height:82px;padding:12px}
 .main .quote-summary-card strong,.main .enquiry-tile strong{font-size:22px}
 .main .quote-filters,.main .register-filters{padding:8px}
}

/* Quote workspace: narrower source column, clears the sticky top bar */
@media(min-width:1101px){
 .main .quote-source-workspace{grid-template-columns:minmax(260px,330px) minmax(0,1fr)}
 .main .source-pane{top:76px;max-height:calc(100vh - 92px)}
}
@media(min-width:1101px) and (max-width:1600px){
 .main .quote-source-workspace{grid-template-columns:1fr}
 .main .source-pane{position:static;max-height:420px}
}
.main .panel>.row>h2:first-child{flex:1 1 auto}
.quotation-totals>div:last-child{margin-top:.6rem;padding:.85rem 1rem;border:1px solid var(--sf-border);border-radius:var(--sf-r);background:var(--sf-surface-2)}
/* Queue card grids sized to their count so rows fill evenly */
@media(min-width:701px){
 .main .quote-summary:has(>:nth-child(12):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
 .main .quote-summary:has(>:nth-child(8):last-child){grid-template-columns:repeat(8,minmax(0,1fr))}
}
@media(min-width:701px) and (max-width:1250px){.main .quote-summary:has(>:nth-child(8):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}.main .quote-summary:has(>:nth-child(12):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){
 .main .quote-summary{display:flex;gap:8px;overflow-x:auto;margin:0 -14px 16px;padding:2px 14px 6px;scroll-snap-type:x proximity;scroll-padding-inline:14px;scrollbar-width:none}
 .main .quote-summary::-webkit-scrollbar{display:none}
 .main .quote-summary-card{flex:0 0 136px;scroll-snap-align:start;min-height:84px}
}

/* Preserve enquiry review: schedule left, original email right. */
@media(min-width:1601px){.main .quote-source-workspace{grid-template-columns:minmax(0,1fr) minmax(280px,330px)}}

/* Company administration: consistent account cards and grouped editing. */
.platform-company-list>.row{margin-bottom:12px}
.platform-company-list>.settings-note{max-width:780px;margin-bottom:20px}
.platform-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px;margin-bottom:20px;align-items:stretch}
.platform-account-card{display:flex;flex-direction:column;min-width:0;padding:22px;border:1px solid var(--sf-border);border-radius:12px;background:var(--sf-surface);box-shadow:var(--sf-shadow-1)}
.platform-account-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}
.platform-account-title h3{font-size:18px;line-height:1.35;margin:0;overflow-wrap:anywhere}
.platform-account-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 22px}
.platform-account-details dt,.platform-account-usage dt{font-size:12px;color:var(--sf-muted,var(--muted));margin-bottom:4px}
.platform-account-details dd{margin:0;font-size:14px;font-weight:550;overflow-wrap:anywhere}
.platform-account-usage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:auto 0 0;padding:16px 0;border-top:1px solid var(--sf-border)}
.platform-account-usage dd{font-size:21px;line-height:1.3;font-weight:650;margin:0}
.platform-account-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;min-height:54px;padding-top:12px;border-top:1px solid var(--sf-border)}
.platform-account-actions button{font-size:12px}
.platform-account-editor{scroll-margin-top:22px}
.platform-field-group{min-width:0;margin:0 0 12px;padding:18px;border:1px solid var(--sf-border);border-radius:10px}
.platform-field-group legend{padding:0 8px;font-size:14px;font-weight:650}
.platform-field-group .field{margin:0}
.platform-field-group p{margin:0;align-self:center}
.platform-feature{display:flex;align-items:center;gap:10px;min-height:38px;border-radius:7px;padding:8px 10px;background:var(--sf-surface-2);cursor:pointer}
.platform-feature input{flex:0 0 18px}
.project-email-sources{min-width:0}
.source-image-preview{display:grid;gap:8px;margin:14px 0;padding:12px;border:1px solid var(--sf-border);border-radius:8px;background:white}
.source-image-preview img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain}
.source-image-preview small{color:var(--muted)}
@media(min-width:1101px){.main .project-source-workspace{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}.project-email-sources{position:sticky;top:20px}.project-email-sources .source-pane{position:static}}
@media(max-width:700px){.platform-account-card{padding:18px}.platform-field-group{padding:14px}.platform-account-actions{justify-content:flex-start}.platform-account-grid{gap:14px}}
.table-sort{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem 0;border:0;border-radius:3px;background:transparent;box-shadow:none;color:inherit;font:inherit;font-weight:inherit;text-align:inherit;white-space:nowrap;cursor:pointer}
.table-sort:hover{color:var(--accent,#007f86);background:transparent;box-shadow:none}
.table-sort:focus-visible{outline:2px solid var(--accent,#007f86);outline-offset:3px}
th[aria-sort=ascending],th[aria-sort=descending]{color:var(--accent,#007f86)}
.ai-correction-dialog{width:min(1120px,96vw);max-height:90vh;overflow:auto}
.ai-correction-dialog textarea{width:100%}
.ai-correction-check{display:flex;align-items:flex-start;gap:.65rem;margin:1rem 0;line-height:1.5}
.ai-correction-check input{width:18px;height:18px;flex:0 0 18px;margin-top:3px}
.ai-window-defaults{grid-template-columns:repeat(3,minmax(0,1fr));padding:1rem;background:#f3f7fa;border:1px solid #d9e3ea;border-radius:10px}
.ai-window-defaults[hidden],.ai-correction-check[hidden]{display:none}
.ai-correction-dialog td small{display:block;max-width:30rem;margin-top:.35rem;color:#536b78}
@media(max-width:650px){.ai-window-defaults{grid-template-columns:1fr 1fr}}

/* ==========================================================================
   Pure Knight brand layer (November 2026)
   StoneFlow is its own SaaS product: one interface typeface (Inter), dense
   controls, white cards on a quiet neutral ground, teal for data. Pure Knight
   carries through the ink shell, the orange primary action and focus ring,
   and sentence-case labels with a short orange rule.
   ========================================================================== */
:root{
 /* Pure Knight grounds and ink */
 --pk-paper:#f4f4f2;--pk-stone:#ececea;--pk-card:#ffffff;--pk-ink:#15191a;--pk-ink-2:#353b3b;--pk-muted:#5d6362;
 --pk-night:#15191a;--pk-night-2:#1e2425;--pk-night-ink:#f4f2ed;--pk-night-muted:#a7aeab;--pk-night-line:rgba(244,242,237,.14);
 --pk-orange:#ff7c44;--pk-orange-hover:#ff925f;--pk-orange-text:#a8400f;
 --pk-display:'Inter','Segoe UI',system-ui,-apple-system,Arial,sans-serif;
 --pk-text:'Inter','Segoe UI',system-ui,-apple-system,Arial,sans-serif;
 /* StoneFlow identity: the teal of the stone-and-flow mark, used for data */
 --sf-flow:#1f7f78;
 /* Remap the StoneFlow tokens onto the brand */
 --sf-shell:var(--pk-night);--sf-shell-2:var(--pk-night-2);--sf-shell-line:var(--pk-night-line);
 --sf-accent:var(--pk-orange-text);--sf-accent-hover:#8a3409;--sf-accent-soft:#fbe9df;--sf-accent-line:#f1c6ad;--sf-accent-bright:var(--pk-orange);
 --sf-teal:var(--sf-flow);
 --sf-text:var(--pk-ink);--sf-text-2:var(--pk-ink-2);--sf-text-3:var(--pk-muted);
 --sf-bg:var(--pk-paper);--sf-surface:var(--pk-card);--sf-surface-2:#f7f7f5;--sf-surface-3:var(--pk-stone);
 --sf-border:#e3e3df;--sf-border-strong:#cfcfc9;
 --sf-r-sm:6px;--sf-r:8px;--sf-r-lg:12px;--sf-r-xl:14px;
 --sf-shadow-1:0 1px 2px rgba(21,25,26,.04);--sf-shadow-2:0 1px 0 rgba(21,25,26,.04),0 6px 18px rgba(21,25,26,.06);--sf-shadow-3:0 18px 44px rgba(21,25,26,.22);
 --sf-ring:0 0 0 3px rgba(255,124,68,.28);
 --sf-control-h:40px;
 font-family:var(--pk-text);font-feature-settings:'cv05','cv08','ss03';color:var(--pk-ink);background:var(--pk-paper)
}
body{font-family:var(--pk-text);font-size:14px;background:var(--pk-paper);color:var(--pk-ink)}
strong,b{font-weight:600}
::selection{background:#ffd9c6;color:var(--pk-ink)}

/* Display type: page titles, panel titles and headline figures */
.main h1,.auth-card h1,.auth-brand h2,.invitation-card h1,.dashboard-hero h1{font-family:var(--pk-display);font-weight:650;letter-spacing:-.025em;line-height:1.15}
.main h2,.auth-form-panel h2,.issue-preview h2{font-family:var(--pk-display);font-weight:600;font-size:16px;letter-spacing:-.012em;line-height:1.3}
.main h3{font-family:var(--pk-text);font-weight:600}
.page-head h1{font-size:28px}
.metric-copy strong,.main .metric-copy strong,.focus-item strong,.pipe-total strong,.main .quote-summary-card strong,.main .enquiry-tile strong,.stat strong,.quotation-totals>div:last-child dd{font-family:var(--pk-display);font-weight:650;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.main .metric-copy strong{font-size:clamp(24px,2vw,30px)}
.main .quote-summary-card strong,.main .enquiry-tile strong{font-size:26px}

/* Labels: sentence case, 13px, a short orange rule (Pure Knight) */
.eyebrow,.hero-kicker,.nav-group,.footer-eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 13px/1.4 var(--pk-text);letter-spacing:.01em;text-transform:none}
.eyebrow::before,.hero-kicker::before{content:'';width:18px;height:2px;background:var(--pk-orange);flex:none}
.eyebrow{color:var(--pk-muted)}
.hero-kicker{color:var(--pk-night-muted)}
.nav-group{display:block;color:#7d8582;font-size:12px}
th{font:600 12px/1.3 var(--pk-text);letter-spacing:.01em;text-transform:none;color:var(--pk-muted);background:var(--sf-surface-2)}

/* Focus: one orange ring, everywhere */
:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--pk-orange);outline-offset:3px}
input:focus,textarea:focus,select:focus{border-color:var(--pk-orange-text);box-shadow:var(--sf-ring)}

/* ---- One button system ---------------------------------------------------- */
button{min-height:var(--sf-control-h);padding:9px 16px;border:1px solid var(--sf-border-strong);border-radius:var(--sf-r);background:var(--pk-card);color:var(--pk-ink);font:600 14px/1.4 var(--pk-text);box-shadow:0 1px 2px rgba(21,25,26,.05)}
button:where(:hover:not(:disabled)){background:#f7f7f5;border-color:#a9a9a2;color:var(--pk-ink)}
button:where(:active:not(:disabled)){transform:translateY(1px)}
button:disabled{opacity:.45}
button.primary{background:var(--pk-orange);border-color:#f26c32;color:var(--pk-ink);box-shadow:0 1px 2px rgba(120,45,10,.18)}
button.primary:hover:where(:not(:disabled)){background:var(--pk-orange-hover);border-color:var(--pk-orange-hover);color:var(--pk-ink)}
button.primary:where(:active:not(:disabled)){background:var(--pk-orange-hover)}
button.primary:disabled{opacity:1;background:#f6d3c1;border-color:#f6d3c1;color:#7a5a4b}
button.primary.ready-primary{background:var(--pk-orange);border-color:var(--pk-orange);color:var(--pk-ink)}
button.primary.ready-primary:hover{background:var(--pk-orange-hover);border-color:var(--pk-orange-hover);color:var(--pk-ink)}
button svg{width:18px;height:18px}
/* Icon-only buttons: square, quiet, consistent */
button[data-action-icon]{width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border-color:var(--sf-border);background:var(--pk-card);color:var(--pk-ink-2)}
button[data-action-icon]:hover:not(:disabled){border-color:#a9a9a2;color:var(--pk-ink);background:#f7f7f5}
button[data-action-icon].primary{background:var(--pk-orange);border-color:var(--pk-orange);color:var(--pk-ink)}
@media(min-width:701px){.main td button[data-action-icon]{width:32px;height:32px;min-width:32px;min-height:32px;background:var(--pk-card);border-color:var(--sf-border)}.main td button[data-action-icon]:hover:not(:disabled){color:var(--pk-orange-text);border-color:var(--pk-orange-text);background:var(--pk-card)}}
/* Button groups: one gap, aligned on a line, wrap cleanly */
.issue-links,.hero-actions,.project-detail-actions,.settings-save,.user-actions,.platform-account-actions,.insight-controls,.form-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.formgrid button+button{margin-left:0}
.panel>.row,.row{gap:12px 16px}
.panel>.row>*+.issue-links{margin-left:auto}
.formgrid>button,.form>button,form>button.primary{justify-self:start;align-self:start}
form>button.primary,form>.primary{margin-top:6px}
.settings-save{padding-top:18px;margin-top:14px}
.settings-save p{margin:0}

/* ---- Form controls -------------------------------------------------------- */
input,textarea,select{background-color:#fff;border-color:var(--sf-border-strong);border-radius:var(--sf-r);color:var(--pk-ink);font:400 14px/1.4 var(--pk-text)}
label,.field>label,.formgrid label{font:600 13px/1.35 var(--pk-text);color:var(--pk-ink)}
.field{gap:7px}
.field-help,.auth-helper{color:var(--pk-muted);font-size:13px}
/* Password field + Show: one joined control */
.field:has(>div>input[type=password]) >div,.password-row{gap:8px}

/* ---- Surfaces ------------------------------------------------------------- */
.panel,.stat{background:var(--pk-card);border:1px solid var(--sf-border);box-shadow:var(--sf-shadow-1)}
.panel{padding:20px 22px}
.main .stat.dashboard-metric:hover,.main .quote-summary-card:hover:not(:disabled),.main .enquiry-tile:hover:not(:disabled){box-shadow:var(--sf-shadow-2);border-color:#b9b9b2}
.main .quote-summary-card.selected,.main .enquiry-tile[aria-pressed=true]{background:var(--pk-card);border-color:var(--pk-ink);box-shadow:inset 0 -3px 0 var(--pk-orange)}
.main .quote-summary-card.selected strong{color:var(--pk-ink)}
.stat.dashboard-metric .glyph,.main .stat.dashboard-metric .glyph{background:var(--sf-surface-2);color:var(--pk-ink-2)}
.settings-note,.dash-clear{background:var(--sf-surface-2);border-color:var(--sf-border)}
.warning{background:#fbf1e4;border-color:#ecd6b4;color:#6a4a1d}
.tablewrap>p,.empty-state{background:var(--sf-surface-2);border-color:var(--sf-border-strong)}
tbody tr:hover>td{background:#fafaf8}
td{border-bottom-color:#ececE8}

/* ---- Shell ---------------------------------------------------------------- */
.layout,.layout .topbar{background:var(--pk-night)}
.layout .topbar{border-bottom:1px solid var(--pk-night-line)}
.top-app{font:500 14px/1 var(--pk-text);color:var(--pk-night-ink)}
.env{font:500 12px/1 var(--pk-text);color:var(--pk-night-muted);border-color:var(--pk-night-line);background:transparent;padding:8px 12px;border-radius:var(--sf-r)}
.search-box{background-color:rgba(244,242,237,.06);border-color:var(--pk-night-line);font:400 14px/1.2 var(--pk-text);color:var(--pk-night-ink)}
.search-box::placeholder{color:var(--pk-night-muted)}
.search-box:focus{border-color:var(--pk-orange);box-shadow:0 0 0 3px rgba(255,124,68,.2);background-color:rgba(244,242,237,.09)}
.layout .sidebar{border-right:1px solid var(--pk-night-line)}
.layout .sidebar:before{background:linear-gradient(to bottom,#15191a 0%,#15191a 48%,rgba(21,25,26,.9) 60%,rgba(21,25,26,.45) 74%,rgba(21,25,26,0) 90%),url('/assets/architecture.png') center bottom/auto 500px no-repeat}
.brand{font-family:var(--pk-text);font-weight:600;letter-spacing:-.02em;color:var(--pk-night-ink)}
.brand small{color:var(--pk-night-muted)}
.nav button{color:var(--pk-night-muted);font:500 14px/1.2 var(--pk-text);border-radius:var(--sf-r)}
.nav-icon{color:#848c89}
.nav button:hover:not(:disabled){background:rgba(244,242,237,.05);color:var(--pk-night-ink)}
.nav button:hover .nav-icon{color:var(--pk-night-ink)}
.nav button.active{background:rgba(244,242,237,.07);border-color:transparent;box-shadow:inset 2px 0 0 var(--pk-orange);color:var(--pk-night-ink);font-weight:500}
.nav button.active .nav-icon{color:var(--pk-orange)}
.footer-eyebrow{color:var(--pk-night-muted)}
.workspace-account-menu{background:var(--pk-card)}
.main{background:var(--pk-paper);padding:26px 28px 44px}
.page-head{border-bottom-color:var(--sf-border);padding-bottom:18px;margin-bottom:22px}
.page-head p{color:var(--pk-muted);font-size:14px}

/* ---- Dashboard ------------------------------------------------------------ */
.main .dashboard-hero{border:1px solid var(--pk-night-line);border-radius:var(--sf-r-xl);background:linear-gradient(100deg,#15191a 0%,#15191a 42%,rgba(21,25,26,.86) 66%,rgba(21,25,26,.5) 100%),url('/assets/architecture.png') right 52%/cover;box-shadow:none}
.dashboard-hero h1{font-size:clamp(26px,2.4vw,34px);color:var(--pk-night-ink)}
.dashboard-hero p{color:#c9cecb;font-size:14px}
.main .hero-actions select{background-color:rgba(244,242,237,.08);color:var(--pk-night-ink);border-color:rgba(244,242,237,.28);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f4f2ed' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
.main .hero-actions select option{color:var(--pk-ink);background:#fff}
.hero-actions button,.hero-actions button:last-child{background:var(--pk-orange);border-color:var(--pk-orange);color:var(--pk-ink)}
.hero-actions button:hover:not(:disabled),.hero-actions button:last-child:hover:not(:disabled){background:var(--pk-orange-hover);border-color:var(--pk-orange-hover);color:var(--pk-ink)}
.focus-item{background:rgba(244,242,237,.04);border-color:var(--pk-night-line);border-radius:var(--sf-r-lg);backdrop-filter:none}
.focus-item:hover:not(:disabled){background:rgba(244,242,237,.08);border-color:rgba(255,124,68,.6)}
.focus-label{font:600 14px/1.3 var(--pk-text);color:var(--pk-night-ink)}
.focus-copy small{color:var(--pk-night-muted)}
.focus-icon{background:rgba(244,242,237,.07);color:var(--pk-night-muted)}
.focus-item strong{font-size:30px;color:#cdd2cf}
.focus-item.has-work strong{color:var(--pk-night-ink)}
.focus-item.has-work .focus-icon{background:rgba(255,124,68,.16);color:var(--pk-orange)}
.main .metric-label{font:500 13px/1.35 var(--pk-text);color:var(--pk-ink-2)}
.chart-header small{font:500 12px/1 var(--pk-text);border-color:var(--sf-border);color:var(--pk-muted);padding:6px 10px}
.chart-summary,.dashboard-period-note{color:var(--pk-muted)}
.line-chart .trend-line,.line-chart .trend-dot{stroke:var(--sf-flow)}
.line-chart .trend-dot{fill:var(--sf-flow);stroke:#fff}
.line-chart .trend-halo{fill:var(--sf-flow)}
.line-chart .grid-line{stroke:#ececE8}.line-chart .axis-line{stroke:#cfcfc9}
.dashboard-metric.metric-enquiries{--metric-fg:var(--sf-flow)}
.dash-values .bar{background:var(--sf-flow)}
.dash-values .bar-group:hover .bar{background:#16615b}
.dash-values .chart-plot{background:repeating-linear-gradient(to top,transparent 0,transparent 43px,#ececE8 44px);border-bottom-color:#cfcfc9}
.pipe-bar{background:var(--sf-surface-3)}
.pipe-row{border-bottom-color:#ececE8}
.dash-grid>.followup-dashboard.has-work{border-left:3px solid var(--pk-orange)}
.dash-clear-icon{background:#e3efe9;color:#24624c}

/* ---- Registers ------------------------------------------------------------ */
.main .quote-summary-card .summary-icon,.main .enquiry-tile-icon{background:color-mix(in srgb,var(--queue-colour,var(--tile-colour)) 10%,#fff)}
.main .quote-summary-card .summary-label,.main .enquiry-tile small{font:500 13px/1.3 var(--pk-text);color:var(--pk-ink-2)}
.main .quote-filters,.main .register-filters{background:var(--sf-surface-2);border-color:var(--sf-border)}
.options-nav{background:var(--pk-card);border-color:var(--sf-border)}
.options-nav button{min-height:36px;padding:8px 12px;font:500 13px/1.2 var(--pk-text);color:var(--pk-ink-2);border:0;box-shadow:none}
.options-nav button.selected{background:var(--sf-surface-3);color:var(--pk-ink);font-weight:600;box-shadow:inset 2px 0 0 var(--pk-orange)}
.options-nav button:hover:not(:disabled){background:var(--sf-surface-2);color:var(--pk-ink)}
.status-pill{font:500 12px/1.35 var(--pk-text)}
.revision-badge{font-family:var(--pk-text);font-weight:500}

/* ---- Authentication ------------------------------------------------------- */
.auth,.invitation-page{background:var(--pk-night)}
.auth-brand:before{background-image:linear-gradient(to bottom,#15191a 4%,#15191a 52%,rgba(21,25,26,0) 84%),url('/assets/architecture.png')}
.symbol{font-family:var(--pk-text);font-weight:600;letter-spacing:-.03em}
.auth-brand h2{color:var(--pk-night-ink);font-size:clamp(22px,2vw,28px)}
.auth-brand p,.auth-feature small{color:#c9cecb}
.auth-feature strong{font:500 15px/1.35 var(--pk-text)}
.auth-feature-icon{background:rgba(244,242,237,.05);border-color:var(--pk-night-line);color:var(--pk-orange)}
.support-brand{font:500 13px/1 var(--pk-text);color:var(--pk-night-ink)}
.auth-card,.invitation-card{background:var(--pk-card);border:1px solid rgba(244,242,237,.4);border-radius:var(--sf-r-xl);box-shadow:none}
.auth-card h1{font-size:clamp(28px,2.6vw,36px);margin-bottom:6px}
.auth-subtitle{font-size:15px;color:var(--pk-muted)}
.auth-notice{background:var(--pk-card);border:1px solid var(--sf-border);border-left:3px solid var(--pk-orange);border-radius:var(--sf-r)}
.auth-notice .info-icon{background:#fbe9df;color:var(--pk-orange-text)}
.auth-form-panel{background:var(--pk-card);border:1px solid var(--sf-border);border-radius:var(--sf-r-lg);box-shadow:none;padding:26px}
.auth-form .primary,.auth-form button.primary{width:100%;min-height:44px;font-size:15px;background:var(--pk-orange);border-color:var(--pk-orange);color:var(--pk-ink);border-radius:var(--sf-r)}
.auth-form .primary:hover:not(:disabled){background:var(--pk-orange-hover);border-color:var(--pk-orange-hover);color:var(--pk-ink)}
.auth-tabs button.selected{color:var(--pk-ink);border-bottom-color:var(--pk-orange)}
.invite-identity{background:var(--pk-card);border:1px solid var(--sf-border)}

@media(max-width:960px){.main{padding:26px 22px 40px}}
@media(max-width:700px){
 .main{padding:20px 14px 32px}
 .page-head h1{font-size:24px}
 .panel{padding:18px}
 .nav button,.nav button:last-child{border-color:var(--pk-night-line);background:rgba(244,242,237,.03)}
 .nav button.active{box-shadow:inset 0 -2px 0 var(--pk-orange)}
 .main .quote-summary-card strong,.main .enquiry-tile strong{font-size:22px}
 .focus-item strong{font-size:26px}
 button{min-height:44px}
}

/* Brand pass: remaining cool fills, panel-title scale, quote editor */
.component-grid{background:var(--sf-surface-2);border-color:var(--sf-border);border-radius:var(--sf-r-lg)}
.main .panel>.row:first-child h2,.main .panel>h2,.main .panel>.row h2{font-size:16px}
.main .panel>.row:first-child h2{margin:0}
.component-grid-columns{font:500 12px/1.3 var(--pk-text);color:var(--pk-muted)}
.source-pane summary{font:600 16px/1.3 var(--pk-text)}
.quotation-totals>div:last-child{background:var(--sf-surface-2);border-color:var(--sf-border)}
.quotation-totals>div:last-child dd{font-size:24px}
.ai-window-defaults{background:var(--sf-surface-2);border-color:var(--sf-border)}
.ai-correction-dialog td small{color:var(--pk-muted)}
.table-sort:hover,th[aria-sort=ascending],th[aria-sort=descending]{color:var(--pk-ink)}
.table-sort:focus-visible{outline-color:var(--pk-orange)}
.auth-card{align-self:start}
.auth-card-footer{margin-top:28px}

/* Current schedule validation and row controls. */
.component-grid input.field-needs-attention,.component-grid select.field-needs-attention{border-color:#cc4c59;background:#fff1f2;box-shadow:inset 0 0 0 1px #cc4c5920;color:#8d2633}
.component-grid input.field-needs-attention:focus,.component-grid select.field-needs-attention:focus{outline:2px solid #cc4c5940;outline-offset:1px;border-color:#b33243}

.component-row-tools>button[hidden]{display:none!important}

/* Keep approved green issue actions distinct from ordinary orange actions. */
.main button.primary.ready-primary{background:#20744f;border-color:#20744f;color:#fff}
.main button.primary.ready-primary:hover:not(:disabled){background:#185c3e;border-color:#185c3e;color:#fff}
.component-grid button.primary:disabled{background:#e6e8e7;border-color:#d7dcda;color:#707b75;box-shadow:none;opacity:1}
.auth-form .auth-error{display:grid;gap:6px;padding:14px 16px;margin:0 0 16px;border:1px solid #e0a8b0;border-left:4px solid #b93446;border-radius:8px;background:#fff0f2;color:#8d2533;font-size:14px;line-height:1.5;text-align:left}
.auth-form .auth-error[hidden]{display:none}
.auth-form .auth-error strong{font-size:15px;font-weight:650;color:#8d2533}
.auth-form .auth-error p{margin:0;color:#8d2533}
.auth-form .auth-error:focus{outline:2px solid #b9344640;outline-offset:2px}

.schedule-review-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--sf-border,#d8ddd9);border-radius:var(--sf-r,8px);background:var(--sf-surface,#fff);font-size:12px;color:var(--sf-text-2,#53645c)}
.schedule-review-summary[hidden],.schedule-review-summary button[hidden]{display:none}
.schedule-review-summary .issue-links{margin:0;gap:6px}
.schedule-review-summary button{min-height:32px;padding:5px 10px;font-size:12px;white-space:nowrap}
.main .quote-issue-toolbar button.primary:disabled{background:#e6e8e7;border-color:#d7dcda;color:#707b75;box-shadow:none;opacity:1}
@media(max-width:700px){.schedule-review-summary{align-items:flex-start;flex-direction:column;gap:8px}.schedule-review-summary .issue-links{flex-wrap:wrap}}

.incoming-email-panel{display:grid;gap:18px}
.incoming-email-panel>p,.incoming-email-panel>h3,.incoming-heading h2,.incoming-address h3,.incoming-address p{margin:0}
.incoming-heading{gap:12px}
.incoming-email-panel>.incoming-heading{margin:0}
.incoming-address{display:grid;gap:6px}
.incoming-address strong{overflow-wrap:anywhere}
.incoming-email-panel>.incoming-feedback:empty{display:none}
.incoming-email-panel>button{justify-self:start}

.ai-correction-dialog form{display:grid;gap:14px}
.ai-correction-dialog form>p,.ai-correction-dialog form>.ai-correction-check{margin:0}
.ai-correction-dialog [hidden],.ai-correction-dialog[data-mode=retest] .ai-window-help{display:none!important}
.ai-mode-help{margin:0}

.ai-correction-preview{display:grid;gap:14px}
.ai-correction-preview>.row,.ai-correction-preview>p,.ai-correction-preview>.tablewrap,.ai-correction-preview>.ai-correction-check{margin:0}

/* Technical guidance stays separate from blocking data-entry errors. */
.field-technical-warning{border-color:#c08a36!important;background:#fff9ed!important;box-shadow:inset 3px 0 #c08a36}
.technical-warning{color:#80521b;font-size:12px;line-height:1.5}
.technical-needs-review{color:#80521b!important;background:#fff3da!important;border-color:#e4c58d!important}
.technical-dialog{max-width:820px}.technical-dialog textarea{width:100%;resize:vertical}.technical-dialog .technical-assessment p{margin:0 0 8px}.technical-split-preview{border-top:1px solid var(--border,#dce2df);padding-top:20px}.technical-split-preview .tablewrap{margin-block:14px}.technical-split-preview .test-toggle{margin-block:14px}.technical-split-preview button{margin-top:12px}

.technical-dialog textarea{min-height:76px}.technical-dialog .formgrid{gap:4px 20px}.technical-dialog .technical-split-preview p{margin-bottom:10px}.technical-dialog .technical-split-preview table th,.technical-dialog .technical-split-preview table td{padding-block:6px}

.technical-dialog p{margin-bottom:12px}.technical-dialog .field{margin:6px 0 8px}.technical-dialog .technical-split-preview{padding-top:14px}

.ai-correction-dialog .ai-analysis-status{margin:20px 0 18px;line-height:1.6}.ai-correction-dialog button:has(.save-spinner){display:inline-flex;align-items:center;gap:9px}.ai-correction-dialog[aria-busy=true] .ai-analysis-status{border-left:3px solid var(--accent);padding-left:15px}

.import-review-notes{margin:0 0 18px;padding:16px 18px;border:1px solid #e5dac5;border-radius:9px;background:#fffcf5}.import-review-notes[hidden]{display:none}.import-review-notes h3{margin-bottom:6px}.import-review-notes h4{font-size:12px;margin:12px 0 5px}.import-review-notes ul{margin:0;padding-left:18px;color:var(--muted);font-size:12px;line-height:1.7}.import-note-blocking{color:#9f3825}

.ai-correction-dialog[aria-busy=true]{opacity:1;animation:none}

.company-logo-upload{border-top:1px solid var(--line);margin-top:22px;padding-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.company-logo-upload>h3,.company-logo-upload>p{grid-column:1/-1;margin:0}.company-logo-form{min-width:0;padding:16px;border:1px solid var(--line);border-radius:9px}.company-logo-form h4{margin:0 0 12px}.company-logo-form img{display:block;max-width:180px;max-height:70px;background:#263841;border-radius:6px;padding:8px;margin-bottom:12px}.company-logo-form input[type=file]{width:100%;font-size:12px}.company-logo-form .issue-links{margin-top:12px}.company-logo-form p:empty{display:none}@media(max-width:700px){.company-logo-upload{grid-template-columns:1fr}}

/* Original enquiry can be hidden without rebuilding or losing schedule edits. */
.source-visibility-toolbar{display:flex;justify-content:flex-end;margin:0 0 12px;gap:8px}
.main .quote-source-workspace.source-is-hidden{grid-template-columns:minmax(0,1fr)}
.quote-source-workspace>[hidden]{display:none!important}

.enquiry-reader{box-sizing:border-box;width:96vw;max-width:1800px;height:94dvh;max-height:94dvh;padding:0;border:1px solid var(--sf-border);border-radius:12px;background:var(--sf-surface,#fff);color:var(--text,#172b3d);overflow:hidden}
.enquiry-reader[open]{display:flex;flex-direction:column}
.enquiry-reader::backdrop{background:#132b3dc0}
.enquiry-reader-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-bottom:1px solid var(--sf-border);flex-shrink:0}
.enquiry-reader-header h2{margin:0;font-size:19px}
.enquiry-reader-body{padding:20px 24px;overflow:auto;min-height:0;overflow-wrap:anywhere}
.enquiry-reader .source-pane{position:static;max-height:none;overflow:visible}
.enquiry-reader .source-image-preview img{max-height:none}
.enquiry-reader .original-email{font-size:14px;line-height:1.7}
@media(max-width:700px){.source-visibility-toolbar{flex-wrap:wrap}.source-visibility-toolbar button{font-size:12px}.enquiry-reader-header,.enquiry-reader-body{padding:14px}}

/* Shared tenant branding, with explicit light/dark logo proof backgrounds. */
.company-logo-upload{display:block}.company-logo-form.logo-normal img{background:#fff;border:1px solid var(--sf-border);padding:16px;max-width:220px;max-height:110px;object-fit:contain}.company-logo-form.logo-light img{background:#172b3d;padding:16px;max-width:220px;max-height:110px;object-fit:contain}.optional-logo{margin-top:18px;padding:16px;border:1px solid var(--sf-border);border-radius:8px}.optional-logo>summary{cursor:pointer;font-weight:600}.optional-logo .company-logo-form{margin-top:14px}.brand-design-gallery{padding:18px 0;border-top:1px solid var(--sf-border);border-bottom:1px solid var(--sf-border)}.brand-preset-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}.brand-preset{display:flex;flex-direction:column;gap:8px;text-align:left;white-space:normal;padding:12px;border:1px solid var(--sf-border);border-radius:9px;background:#fff;color:var(--text)}.brand-preset[aria-pressed=true]{border-color:var(--brand-preview-colour);box-shadow:0 0 0 1px var(--brand-preview-colour)}.brand-preset small{font-weight:400;font-size:12px;line-height:1.5;color:var(--muted)}.brand-style-sample{height:76px;width:100%;background:#f8fafb;border:1px solid #dce3e8;position:relative;display:block;overflow:hidden}.brand-sample-logo{position:absolute;top:12px;left:8px;font-size:7px}.brand-sample-title{position:absolute;top:12px;right:8px;font-size:6px;font-weight:700}.brand-sample-lines{position:absolute;top:45px;left:8px;right:8px;height:15px;border-top:1px solid #cdd5dc;border-bottom:1px solid #cdd5dc}.branded .brand-sample-logo,.branded .brand-sample-title{color:white}.brand-style-sample.branded:before{content:'';position:absolute;inset:0 0 38px;background:var(--brand-preview-colour)}.brand-style-sample.light{border-top:3px solid var(--brand-preview-colour)}.brand-style-sample.minimal{border:0;border-bottom:1px solid var(--brand-preview-colour)}.brand-style-sample.split:before{content:'';position:absolute;top:0;right:0;width:55%;height:37px;background:var(--brand-preview-colour)}.split .brand-sample-title{color:#fff}.brand-style-sample.framed{border:2px solid var(--brand-preview-colour)}.brand-preview-actions{flex-wrap:wrap;margin-top:16px}.brand-preview-dialog{width:96vw;max-width:1500px;height:94dvh;max-height:94dvh;box-sizing:border-box;padding:20px;border:1px solid var(--sf-border);border-radius:12px;background:#fff;overflow:hidden}.brand-preview-dialog[open]{display:flex;flex-direction:column;gap:12px}.brand-preview-dialog::backdrop{background:#132b3dbb}.brand-preview-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.brand-preview-heading h2,.brand-preview-dialog p{margin:0}.brand-preview-tabs{display:flex;gap:8px;flex-wrap:wrap}.brand-preview-tabs [aria-pressed=true]{background:#e6eeeb;border-color:#526d66}.brand-preview-dialog iframe{flex:1;width:100%;min-height:0;border:1px solid var(--sf-border);background:#edf1f4}@media(max-width:1100px){.brand-preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.brand-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-preview-dialog{padding:12px}.brand-preview-heading h2{font-size:18px}.brand-preview-tabs button{font-size:12px;padding:8px}}

.issue-preview button.primary.ready-primary{background:#20744f;border-color:#20744f;color:#fff}
.issue-preview button.primary.ready-primary:hover:not(:disabled){background:#185c3e;border-color:#185c3e;color:#fff}

/* Source actions belong to the enquiry panel; the collapsed tab stays on its edge. */
.enquiry-sidebar{border:1px solid var(--sf-border);border-radius:10px;background:var(--sf-surface,#fff);overflow:hidden;position:sticky;top:76px;max-height:calc(100vh - 92px);display:flex;flex-direction:column;min-width:0}
.enquiry-sidebar[hidden],.enquiry-source-tab[hidden]{display:none!important}
.enquiry-sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--sf-border);flex-shrink:0}
.enquiry-sidebar-heading strong{font-size:13px}.enquiry-sidebar-actions{display:flex;gap:5px}
.enquiry-sidebar-actions button,.enquiry-source-tab>button:last-child{padding:7px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:transparent;box-shadow:none}
.enquiry-sidebar svg,.enquiry-source-tab svg{width:17px;height:17px;flex-shrink:0}
.main .enquiry-sidebar>.source-pane{position:static;max-height:none;border:0;box-shadow:none;border-radius:0;padding:0 14px 14px;margin:0;min-height:0;overflow:auto}
.enquiry-sidebar .project-email-sources{padding:0 12px 12px;min-height:0;overflow:auto}
.enquiry-source-tab{grid-column:1/-1;justify-self:end;display:flex;align-items:center;gap:4px;margin-right:14px;padding:4px 6px;border:1px solid var(--sf-border);border-bottom:0;border-radius:8px 8px 0 0;background:var(--sf-surface,#fff)}
.enquiry-source-tab>button:first-child{display:inline-flex;align-items:center;gap:8px;padding:6px 8px;border:0;background:transparent;box-shadow:none;font-size:12px}
.main .quote-source-workspace.source-is-hidden{row-gap:0}
@media(max-width:1600px){.enquiry-sidebar{position:static;max-height:440px}}

@media(min-width:1600px){.hero-focus{grid-template-columns:repeat(4,minmax(0,1fr))}.stats:has(>.dashboard-metric:nth-child(7):last-child){grid-template-columns:repeat(7,minmax(0,1fr))}}

/* Project history and next actions use the established workspace surfaces. */
.project-workspace-heading,.project-entry-heading,.project-composer-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.project-workspace-heading h2,.project-entry-heading h3,.project-composer-heading h2{margin:0}.project-workspace-heading p{margin:6px 0 0}.project-workspace-quick{flex-wrap:wrap;justify-content:flex-end}.project-workspace-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.project-workspace-summary>div{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--sf-border);border-radius:8px;background:var(--sf-surface-2)}.project-workspace-summary small,.project-plan-strip small{color:var(--muted);font-size:12px}.project-workspace-summary strong{font-size:20px}.project-workspace-tabs{display:flex;gap:6px;border-bottom:1px solid var(--sf-border);margin-bottom:18px;overflow-x:auto}.project-workspace-tabs button{border:0;border-radius:0;box-shadow:none;padding:12px;background:transparent;white-space:nowrap;border-bottom:2px solid transparent}.project-workspace-tabs button[aria-selected=true]{border-bottom-color:var(--pk-orange);font-weight:700;color:var(--sf-ink)}.project-workspace-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.project-workspace-filters input[type=search]{flex:1;min-width:180px}.project-workspace-filters select{width:auto}.project-removed-toggle{display:flex;align-items:center;gap:7px;font-size:12px}.project-removed-toggle input{width:auto}.project-plan-strip{display:grid;grid-template-columns:110px 150px minmax(0,1fr) auto;gap:16px;padding:14px 0;border-bottom:1px solid var(--sf-border);align-items:start}.project-plan-strip>div{display:grid;gap:5px;min-width:0}.project-plan-strip strong{text-transform:capitalize}.project-brief,.project-entry-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.project-timeline-entry{padding:18px 0;border-bottom:1px solid var(--sf-border)}.project-timeline-entry.removed{opacity:.65}.project-timeline-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:9px}.project-activity-kind{padding:4px 7px;border-radius:5px;background:#edf2f6;color:#3c6077}.project-activity-kind.kind-call{background:#edf4e9;color:#416538}.project-activity-kind.kind-note{background:#fff4df;color:#8a611f}.project-activity-kind.kind-email,.project-activity-kind.kind-incoming_email{background:#edf1fa;color:#47638c}.project-entry-heading h3{font-size:15px;line-height:1.5}.project-entry-actions{flex-wrap:nowrap;gap:5px}.project-entry-actions svg{width:16px;height:16px}.project-timeline-entry details{margin-top:12px}.project-timeline-entry summary{cursor:pointer;font-size:12px;color:var(--muted)}.project-entry-body{padding-top:12px;font-size:13px}.project-workspace-empty{padding:28px 16px;text-align:center;border:1px dashed var(--sf-border);border-radius:8px;color:var(--muted);font-size:13px}.project-pagination{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-top:16px}.project-pagination small{margin-right:auto;color:var(--muted)}.project-composer{width:min(760px,94vw);max-height:92dvh;overflow:auto;border:1px solid var(--sf-border);border-radius:12px;padding:24px;background:var(--sf-surface,#fff)}.project-composer::backdrop{background:#132b3dbb}.project-composer-heading{margin-bottom:20px;align-items:center}.project-composer .formgrid{gap:16px}.project-composer .wide{grid-column:1/-1}.project-composer input[type=checkbox]{width:auto}.project-follow-up-fields[hidden]{display:none}.project-workspace-list small{display:block;margin-top:5px}
@media(max-width:900px){.project-workspace-heading{flex-direction:column}.project-workspace-quick{justify-content:flex-start}.project-plan-strip{grid-template-columns:1fr 1fr}.project-plan-strip>div:nth-child(3){grid-column:1/-1}.project-workspace-summary strong{font-size:16px}}
@media(max-width:600px){.project-workspace-summary{gap:6px}.project-workspace-summary>div{padding:10px}.project-workspace-summary strong{font-size:13px}.project-workspace-summary small{font-size:10px}.project-composer{padding:16px}.project-composer .formgrid{grid-template-columns:1fr}.project-workspace-filters input[type=search]{width:100%}.project-workspace-filters select{flex:1}.project-workspace-tabs button{font-size:12px;padding:10px 7px}.project-timeline-meta{gap:7px}.project-entry-heading{align-items:flex-start}.project-entry-heading h3{font-size:14px}.project-pagination{flex-wrap:wrap}}

.account-security-screen{max-width:980px;margin:32px auto;padding:0 20px}.security-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.security-page-header h1{margin:8px 0}.security-card{margin-bottom:20px}.security-card .security-card{border:0;box-shadow:none;margin:16px 0;padding:0}.security-card .formgrid{margin-top:18px;gap:16px}.security-card input{width:100%}.security-feedback:empty{display:none}.security-feedback{color:#a3313b}.authenticator-qr{width:240px;height:240px;max-width:100%;background:white;grid-column:1/-1}.security-setup-key{display:grid;gap:8px;overflow-wrap:anywhere}.security-setup-key code{letter-spacing:1.5px;font-size:15px}.security-recovery{max-width:640px;margin:auto}.security-recovery pre{padding:20px;border:1px solid var(--sf-border);background:#f4f7f6;line-height:1.9;letter-spacing:1px}.security-history-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--sf-border);font-size:13px}.security-history-row time{color:var(--muted)}.security-factor-dialog{max-width:520px;width:94vw;padding:26px;border:1px solid var(--sf-border);border-radius:12px;background:white}.security-factor-dialog::backdrop{background:#132b3dbb}.security-factor-dialog .field{margin:20px 0}.security-factor-dialog input{width:100%}@media(max-width:600px){.account-security-screen{margin:16px auto;padding:0 14px}.security-page-header{flex-direction:column}.security-card .formgrid{grid-template-columns:1fr}.security-history-row{flex-direction:column;gap:5px}}

/* Platform usage and costs */
.cost-monitoring { margin-top:24px; }
.cost-heading,.cost-filters { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap; }
.cost-heading { margin-bottom:20px; }.cost-heading h2,.cost-heading h3 {margin:0;}.cost-heading p {margin:6px 0 0;}
.cost-filters select {width:auto;min-width:140px;}
.cost-stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0;}
.cost-stat {display:flex;flex-direction:column;gap:8px;padding:18px;background:#f4f7f8;border:1px solid #dce4e6;border-radius:12px;}
.cost-stat strong {font-size:27px;font-variant-numeric:tabular-nums;color:#183346;}.cost-stat small {color:#61727a;line-height:1.4;}
.cost-chart {max-height:320px;overflow:auto;margin:16px 0 24px;}.cost-chart-row {display:grid;grid-template-columns:100px minmax(40px,1fr) 170px;align-items:center;gap:14px;margin:12px 0;font-size:12px;}
.cost-track {height:12px;border-radius:8px;background:#eef2f3;overflow:hidden;}.cost-bar {display:block;height:100%;background:#367d8c;border-radius:8px;min-width:0;}
.cost-dialog {width:min(850px,94vw);max-height:90vh;border:1px solid #dce4e6;border-radius:16px;padding:28px;overflow:auto;}.cost-dialog::backdrop {background:#152b3a88;}.cost-dialog form>label {display:block;margin:14px 0;}.cost-dialog label input,.cost-dialog label select {display:block;width:100%;margin-top:6px;}.cost-rate-row {display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:10px;align-items:end;margin:16px 0;}.cost-dialog .form-actions {margin-top:22px;}
@media(max-width:1050px){.cost-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.cost-rate-row{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.cost-stats{grid-template-columns:1fr;}.cost-chart-row{grid-template-columns:85px 1fr;}.cost-chart-row>span:last-child{grid-column:2;}.cost-filters{width:100%;}.cost-filters select{width:100%;}}

.cost-monitoring .form-actions {display:flex;flex-wrap:wrap;gap:10px;margin:22px 0;}
.cost-monitoring>div>h3{margin-top:24px;}

.outcome-insight-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,1.5fr) minmax(220px,1fr);gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid #e2e7e8;}.outcome-insight-row strong,.outcome-insight-row small{display:block;}.outcome-track{display:flex;height:14px;background:#eef1f1;border-radius:8px;overflow:hidden;}.outcome-bar.won{background:#5f9b7f;}.outcome-bar.lost{background:#c67a79;}.outcome-insight-values{display:flex;flex-direction:column;gap:5px;font-variant-numeric:tabular-nums;}.outcome-insight-values .won{color:#256342;}.outcome-insight-values .lost{color:#9d403f;}@media(max-width:760px){.outcome-insight-row{grid-template-columns:1fr;gap:10px;}}

/* ==========================================================================
   2027 polish pass: pagination, notifications, dialogs, toasts, form
   controls and dense editors. Presentation only.
   ========================================================================== */
/* Pager: count on the left, a joined pair of quiet buttons on the right */
.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--sf-border)}
.pager-count{margin:0;font-size:13px;color:var(--pk-muted);font-variant-numeric:tabular-nums}
.pager-buttons{display:inline-flex;border:1px solid var(--sf-border-strong);border-radius:var(--sf-r);overflow:hidden;box-shadow:0 1px 2px rgba(21,25,26,.05);background:#fff}
.pager-buttons button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 12px;border:0;border-radius:0;box-shadow:none;background:#fff;font-size:13px;font-weight:600;color:var(--pk-ink)}
.pager-buttons button+button{border-left:1px solid var(--sf-border)}
.pager-buttons button svg{width:15px;height:15px;stroke-width:2}
.pager-buttons button:hover:not(:disabled){background:#f7f7f5}
.pager-buttons button:disabled{opacity:1;color:#a3a39d;background:#fafaf8}
.pager-buttons button:focus-visible{outline-offset:-2px}

/* Incoming email notifications */
.intake-notices{top:72px;right:20px;width:380px;gap:10px}
.intake-notice{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;align-items:start;padding:14px 14px 14px 14px;background:#fff;border:1px solid var(--sf-border);border-left:1px solid var(--sf-border);border-radius:12px;box-shadow:0 16px 40px rgba(21,25,26,.16),0 2px 6px rgba(21,25,26,.06);color:var(--pk-ink);overflow:hidden}
.intake-notice>:not(.intake-notice-icon){grid-column:2}
.intake-notice-icon{grid-row:1/span 3;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eef4f6;color:#2f5f74}
.intake-notice-icon svg{width:18px;height:18px}
.intake-notice.ready,.intake-notice.failed{background:#fff;border-left-color:var(--sf-border)}
.intake-notice.ready .intake-notice-icon{background:#e6f2eb;color:#24704a}
.intake-notice.failed .intake-notice-icon{background:#fdece6;color:#b1432a}
.intake-notice .row{flex-wrap:nowrap;align-items:flex-start;gap:8px}
.intake-notice strong{font-size:14px;font-weight:600;line-height:1.35;padding-top:1px}
.intake-notice .row>button{flex:none;width:28px;height:28px;min-width:28px;min-height:28px;margin:-4px -4px 0 auto;padding:0;border-radius:7px;font-size:18px;line-height:1;color:var(--pk-muted)}
.intake-notice .row>button:hover:not(:disabled){background:var(--sf-surface-3);color:var(--pk-ink)}
.intake-notice p{margin:4px 0 0;font-size:13px;color:var(--pk-muted);line-height:1.45}
.intake-notice>button:not(.row button){justify-self:start;margin-top:12px;min-height:34px;padding:6px 14px;font-size:13px}
.intake-notice.ready>button:not(.row button){background:var(--pk-orange);border-color:#f26c32;color:var(--pk-ink)}
.intake-notice.processing::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:40%;background:linear-gradient(90deg,transparent,var(--sf-flow),transparent);animation:sf-indeterminate 1.4s ease-in-out infinite}
@keyframes sf-indeterminate{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}
@media(prefers-reduced-motion:no-preference){.intake-notice{animation:sf-notice-in .28s cubic-bezier(.2,.8,.2,1)}}
@keyframes sf-notice-in{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.intake-notice.processing::after{animation:none;width:100%;opacity:.5}}
@media(max-width:700px){.intake-notices{top:auto;bottom:12px;right:12px;left:12px;width:auto}}

/* Save toast: compact dark pill, clear of page content */
.save-feedback{bottom:20px;right:20px;gap:8px;padding:10px 14px 10px 12px;border-radius:999px;background:var(--pk-ink);color:#fff;font:600 13px/1.2 var(--pk-text);box-shadow:0 12px 30px rgba(21,25,26,.25)}
.save-feedback.saved{background:var(--pk-ink)}
.save-feedback.saved::first-letter{color:#7fd3a1}
.save-feedback.save-error{background:#9c2f22}
@media(max-width:700px){.save-feedback{left:50%;right:auto;transform:translateX(-50%);bottom:16px}}

/* Dialogs */
.issue-preview{padding:0 24px;border:1px solid var(--sf-border);border-radius:16px;box-shadow:0 30px 80px rgba(12,20,22,.35)}
.issue-preview>.row:first-child{margin:0 -24px 16px;padding:16px 24px 14px;border-bottom:1px solid var(--sf-border)}
.issue-preview>.row:first-child h2{margin:0}
.issue-preview>.row:first-child button{min-height:34px;padding:6px 12px;font-size:13px}
.issue-preview iframe{border:1px solid var(--sf-border);border-radius:10px;background:#fff}
.issue-preview .issue-preview-actions{margin:16px -24px 0;padding:14px 24px;background:#fafaf8;border-top:1px solid var(--sf-border)}
.issue-preview>:last-child:not(.issue-preview-actions){margin-bottom:20px}
.issue-preview::backdrop{background:rgba(15,20,22,.55);backdrop-filter:blur(3px)}
@media(max-width:700px){.issue-preview{padding:0 16px}.issue-preview>.row:first-child,.issue-preview .issue-preview-actions{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}}

/* Form controls */
input[type=color]{width:56px;min-width:56px;height:40px;padding:4px;border-radius:var(--sf-r);cursor:pointer;background:#fff}
input[type=color]::-webkit-color-swatch-wrapper{padding:0}
input[type=color]::-webkit-color-swatch{border:0;border-radius:5px}
input[type=color]::-moz-color-swatch{border:0;border-radius:5px}
input[type=file]{min-height:44px;padding:5px;font-size:13px;color:var(--pk-muted);background:#fff;cursor:pointer}
input[type=file]::file-selector-button{margin-right:12px;padding:7px 14px;border:1px solid var(--sf-border-strong);border-radius:6px;background:#fff;color:var(--pk-ink);font:600 13px/1.2 var(--pk-text);cursor:pointer}
input[type=file]::file-selector-button:hover{background:#f7f7f5}
input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--pk-orange)}
a{text-decoration-thickness:1px;text-underline-offset:3px}
.main a:not([class]){color:var(--pk-ink-2)}
.main a:not([class]):hover{color:var(--pk-orange-text)}
details>summary{cursor:pointer}
.settings-nav-heading{font-size:12px;letter-spacing:.01em;text-transform:none;font-weight:600;color:var(--pk-muted);padding:12px 12px 4px}
.role-card{background:var(--sf-surface-2);border-color:var(--sf-border);border-radius:var(--sf-r-lg)}

/* Dense editors: compact inputs so schedule values stay readable */
.component-grid-row input,.component-grid-row select,.sundry-grid input,.sundry-grid select{min-height:34px;padding:6px 7px;font-size:13px}
.component-grid-row select:not([multiple]):not([size]),.sundry-grid select:not([multiple]):not([size]){padding-right:22px;background-position:right 7px center;background-size:10px}
@media(max-width:700px){.component-grid-row input,.component-grid-row select,.sundry-grid input,.sundry-grid select{min-height:44px;font-size:16px}}
/* Help centre: chevron disclosures and suggestion chips */
.faq-list details{border-bottom:1px solid var(--sf-border)}
.faq-list details>summary{display:flex;align-items:center;gap:10px;padding:12px 2px;list-style:none;font-weight:600;font-size:14px;color:var(--pk-ink)}
.faq-list details>summary::-webkit-details-marker{display:none}
.faq-list details>summary::before{content:'';flex:none;width:7px;height:7px;margin:0 4px 0 2px;border-right:1.6px solid var(--pk-muted);border-bottom:1.6px solid var(--pk-muted);transform:rotate(-45deg);transition:transform .15s}
.faq-list details[open]>summary::before{transform:rotate(45deg)}
.faq-list details>summary:hover{color:var(--pk-orange-text)}
.faq-list details>:not(summary){margin-left:24px;color:var(--pk-ink-2)}
.help-assistant button:not(.primary){min-height:32px;padding:6px 12px;border-radius:999px;border-color:var(--sf-border);background:var(--sf-surface-2);box-shadow:none;font-size:13px;font-weight:500}
.help-assistant button:not(.primary):hover:not(:disabled){background:#fff;border-color:#b9b9b2}
/* Phones: keep group labels out of the nav strip; toolbars as an even grid */
@media(max-width:700px){
 .nav .nav-group,.nav .nav-divider{display:none}
 .main .panel>.row{gap:8px}
 .main .panel>.row>h2:first-child{flex:1 1 100%}
 .main .panel>.row>.issue-links,.main .panel>.row>div>.issue-links{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-left:0}
 .main .panel>.row .issue-links>button{flex:1 1 calc(50% - 4px);min-height:44px;padding:8px 10px;font-size:13px;white-space:normal}
 .main .panel>.row>button{flex:1 1 0;min-height:44px;font-size:13px}
 .main .panel>.row .issue-links>button.primary,.main .panel>.row>.issue-links+button.primary{flex-basis:100%}
 .pager{justify-content:center}.pager-count{width:100%;text-align:center}
}
@media(max-width:480px){.report-criteria{grid-template-columns:1fr}}
.component-checked{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#18734f;flex:none}.component-checked svg{width:18px;height:18px;stroke-width:2.5}.component-row-tools>details:has(.component-checked)>summary{padding:2px;min-width:24px;list-style:none}.component-row-tools>details:has(.component-checked)>summary::-webkit-details-marker{display:none}
.import-review-notes .import-issue-pills{display:flex;flex-wrap:wrap;gap:6px}.import-issue-pill{position:relative;max-width:100%;font-size:12px}.import-issue-pill>summary{display:block;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:1px solid #e5dac5;border-radius:20px;padding:5px 10px;background:#fff8e9;color:#76531c}.import-issue-pill.import-note-blocking>summary{background:#fff0ed;border-color:#ecc0b6;color:#9f3825}.import-issue-pill[open]{flex-basis:100%}.import-issue-pill[open]>summary{max-width:none;white-space:normal}.import-issue-pill>p{margin:5px 10px;font-size:12px;line-height:1.5}.import-review-notes{padding:12px 14px}.import-review-notes h4{margin-top:8px}
.project-log-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.project-log-action svg{width:16px;height:16px;flex:none}.project-workspace .project-workspace-summary{margin:12px 0;gap:10px}.project-workspace .project-workspace-summary>div{padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.project-workspace .project-workspace-summary strong{font-size:16px}.project-workspace .project-plan-strip{padding:10px 0}.project-workspace .project-workspace-filters{margin:12px 0}.project-workspace .project-workspace-empty{padding:18px 12px}.project-entry-preview{font-size:13px;color:var(--pk-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:7px 0}.project-timeline-meta .user-chip{font-size:12px}.project-composer .formgrid>.issue-links:last-child{justify-content:flex-end}.project-workspace-quick{gap:7px}
@media(max-width:600px){.project-workspace .project-workspace-summary>div{align-items:flex-start;flex-direction:column;gap:4px}.project-workspace-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.project-workspace-quick .project-log-action{padding:9px 10px}.import-issue-pill>summary{max-width:100%}}

.project-workspace .project-workspace-list .panel,.project-workspace>.project-workspace-content .panel{box-shadow:none}
.project-source-dialog{width:min(1250px,96vw)}.project-email-sources>.project-log-action{margin-bottom:12px}
.labelled-action{display:inline-flex;align-items:center;justify-content:center;gap:7px}.labelled-action>svg{width:16px;height:16px;flex:none}.project-workspace:has([data-tab="quotations"][aria-selected="true"]) .project-workspace-summary{display:none}.project-workspace .project-workspace-tabs{overflow-x:auto;white-space:nowrap;flex-wrap:nowrap}.project-workspace .project-workspace-tabs button{flex:none}.project-workspace .project-workspace-tabs+*+div>.panel{border:0;box-shadow:none;padding:0;margin:0}.project-more-actions{position:relative}.project-more-actions>summary{cursor:pointer;list-style:none;border:1px solid var(--sf-border);border-radius:7px;padding:10px 14px;font-size:13px;background:#fff}.project-more-actions>summary::after{content:' ⋯';font-size:16px}.project-more-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:12;display:grid;gap:6px;min-width:195px;padding:8px;background:#fff;border:1px solid var(--sf-border);border-radius:8px;box-shadow:0 8px 20px #172b3d18}.project-email-sources .source-pane{position:static;max-height:none}.project-email-sources>button{margin-bottom:12px}.main .quote-source-workspace.source-is-hidden{grid-template-columns:minmax(0,1fr) 38px;column-gap:8px}.source-is-hidden>.schedule-pane{grid-column:1;grid-row:1}.source-is-hidden>.enquiry-source-tab{grid-column:2;grid-row:1;position:sticky;top:12px;justify-self:stretch;flex-direction:column;margin:0;border:1px solid var(--sf-border);border-radius:8px;padding:4px 2px}.source-is-hidden>.enquiry-source-tab>button:first-child{writing-mode:vertical-rl;padding:8px 5px}.source-is-hidden>.enquiry-source-tab>button:first-child svg{transform:rotate(90deg)}

.project-information .formgrid{gap:14px 24px}.project-information .formgrid p{margin:6px 0 0}.project-information .project-meta{gap:14px;margin-top:18px;padding-top:14px}.project-information .project-detail-actions{padding-top:14px}.permission-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.permission-settings-grid h3{margin:8px 0 0}.project-workspace-content>div>.panel{border:0;box-shadow:none;padding:0;margin:0}.project-workspace-content .project-email-sources .source-pane{padding:16px}.project-workspace .project-workspace-summary strong{overflow-wrap:anywhere}
@media(max-width:600px){.project-information .project-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.project-information .project-meta>div:last-child{grid-column:1/-1}.project-information .formgrid{gap:12px}.permission-settings-grid{grid-template-columns:1fr}.project-workspace .project-workspace-summary{grid-template-columns:1fr 1fr}.project-workspace .project-workspace-summary>div:last-child{grid-column:1/-1;flex-direction:row;align-items:center}.project-workspace .project-workspace-summary strong{font-size:14px}}

.main .quote-filters{grid-template-columns:minmax(180px,1fr) minmax(160px,200px) minmax(145px,185px) auto;align-items:center}.quote-filters>button{white-space:nowrap}.hero-focus .focus-copy small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4}.formgrid>.wide:has(>button[type=submit]):last-child{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.project-more-actions>summary:focus-visible,.import-issue-pill>summary:focus-visible{outline:3px solid #ff9d6b;outline-offset:3px}
@media(max-width:1100px){.main .quote-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.main .quote-filters>input{grid-column:1/-1}}@media(max-width:600px){.main .quote-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.main .quote-filters>button{grid-column:1/-1;justify-self:end}}

@media(min-width:601px) and (max-width:1450px){.project-workspace-heading{display:block}.project-workspace-quick{justify-content:flex-start;margin-top:12px}}

/* Workspace roles, account and settings editors */
.team-management>.row{align-items:flex-start}.team-management>.row h2{margin-bottom:5px}.team-management>.row p{margin:0}.team-tabs{display:flex;gap:6px;border-bottom:1px solid var(--sf-border);margin:18px 0 16px}.team-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;box-shadow:none;padding:10px 14px}.team-tabs [aria-selected=true]{border-bottom-color:var(--pk-orange);color:var(--pk-ink)}.team-notice:empty{display:none}.role-identity{display:flex;align-items:center;gap:10px}.role-identity small{display:block;max-width:300px;white-space:normal;color:var(--pk-muted);margin-top:3px}.role-swatch{width:14px;height:14px;flex:none;border-radius:50%;background:var(--role-colour);border:1px solid #0001}.role-editor,.team-inline-editor,.team-invite-form{margin:16px 0 20px;padding:20px;border:1px solid var(--sf-border);border-radius:10px;background:var(--sf-surface-2)}.role-editor>.row{margin-bottom:12px}.role-editor h3{margin:0}.role-basics{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:18px}.role-editor .field,.team-inline-editor .field,.team-invite-form .field{margin:0 0 14px}.role-basics input[type=color]{width:70px;height:40px}.role-scopes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border:0;padding:0;margin:10px 0 16px;min-width:0}.role-scopes legend{margin-bottom:12px;font-weight:650;font-size:13px}.role-permission-group{border-top:1px solid var(--sf-border);padding:0}.role-permission-group>summary{padding:12px 0;cursor:pointer;font-weight:650;font-size:13px}.role-permission-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px;padding-bottom:14px}.permission-choice{display:flex;align-items:flex-start;gap:9px;padding:7px 0;font-weight:400;font-size:13px;line-height:1.45}.permission-choice input[type=checkbox]{width:16px;height:16px;margin:2px 0 0;flex:none}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--sf-border)}.catalogue-toolbar{margin:0 0 14px}.project-popup{width:min(740px,calc(100vw - 32px));max-height:90dvh;padding:0}.project-popup>.panel{padding:24px;margin:0;border:0;box-shadow:none}.project-popup h2{margin-bottom:20px}.project-popup .formgrid{gap:12px 18px}.project-popup .field{margin:0}.project-popup .formgrid>.wide:last-child{padding-top:14px;margin-top:4px;justify-content:flex-end}.project-popup textarea{min-height:90px}.quotation-layout-group{margin:12px 0;border:0;border-top:1px solid var(--sf-border);padding:18px 0 0;min-width:0}.quotation-layout-group legend{font-size:14px;font-weight:650;padding:0 12px 0 0}.quotation-layout-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.quotation-layout-fields .field{margin:0}.quotation-layout-fields .field:has(textarea){grid-column:1/-1}.quotation-layout-form .layout-check{display:flex;flex-direction:row;align-items:center;gap:10px;padding:9px 0;min-height:36px}.layout-check label{font-weight:400}.layout-check input{flex:none;width:16px;height:16px;margin:0}.layout-preview-actions{margin:14px 0}.retention-preview{margin-top:18px;padding:18px}.retention-preview h3{margin:0 0 7px}.retention-preview p{margin-bottom:14px}.retention-preview>p[role=status]:empty{display:none}.retention-preview>p[role=status]:not(:empty){margin-top:12px}.workspace-account-menu{z-index:80;min-width:225px;width:max-content;max-width:calc(100vw - 24px);padding:8px}.workspace-account-menu button{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;padding:10px 12px;min-height:38px;border-radius:6px}.workspace-account-menu small{display:block;padding:8px 12px 10px;border-bottom:1px solid var(--sf-border);margin-bottom:3px}.workspace-account-menu button svg{width:16px;height:16px}.account-security-content{max-width:1100px}.account-security-content>.security-card{margin-top:0;margin-bottom:16px}.account-security-content>.security-card .security-card{margin:14px 0 0;background:var(--sf-surface-2);box-shadow:none}.account-security-content>.security-card>.formgrid{gap:10px 18px}.account-security-content .security-history-row{padding:10px 0}.development-cleanup-row{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--sf-border);padding:16px 0}.development-cleanup-row p{font-size:12px;margin:5px 0 0;max-width:650px}.development-cleanup-row>button{flex:none}.confirmation-phrase{margin-top:18px}.development-confirm .permission-choice{padding:8px 0}.quotation-more-actions{margin-left:auto}
@media(max-width:800px){.role-scopes{grid-template-columns:1fr}.role-permission-choices{grid-template-columns:1fr}.development-cleanup-row{display:block}.development-cleanup-row>button{margin-top:12px}.quotation-layout-fields{grid-template-columns:1fr}}@media(max-width:600px){.role-editor,.team-inline-editor,.team-invite-form{padding:14px}.role-basics{grid-template-columns:minmax(0,1fr) 76px;gap:12px}.project-popup>.panel{padding:18px}.project-popup .formgrid{grid-template-columns:1fr}.project-popup .field{grid-column:1/-1}.workspace-account-menu{right:0}.team-management>.row>.issue-links{width:100%}.team-management>.row>.issue-links>button{flex:1}}
.quotation-layout-form .layout-check{display:grid;grid-template-columns:16px minmax(0,1fr);align-content:start;align-items:center}.quotation-layout-form .layout-check>small,.quotation-layout-form .layout-check>.muted{grid-column:2;line-height:1.5}.team-user-identity>small{display:block;margin:5px 0 0 34px;color:var(--pk-muted)}
.role-row-actions,.catalogue-row-actions{flex-wrap:nowrap;gap:6px}.role-row-actions .icon-button,.catalogue-row-actions .icon-button{width:32px;min-width:32px;height:34px;min-height:34px;padding:6px}.role-row-actions .icon-button svg,.catalogue-row-actions .icon-button svg{width:16px;height:16px}
.reorder-cell{display:flex;align-items:center;gap:8px;min-width:0}.reorder-cell>input{min-width:0;flex:1}.main .reorder-grip,.reorder-grip{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;min-width:24px;height:32px;min-height:32px;padding:3px;border:0;border-radius:4px;box-shadow:none;background:transparent;color:#929b99;cursor:grab;touch-action:none;user-select:none}.main .reorder-grip:hover:not(:disabled){background:var(--sf-surface-3);color:var(--pk-ink)}.reorder-grip svg{width:16px;height:24px;fill:currentColor}.main .reorder-grip.grabbing{cursor:grabbing;color:var(--pk-orange)}.row-reorder-source{opacity:.55}.row-drop-before>td{box-shadow:inset 0 2px var(--pk-orange)}.row-drop-after>td{box-shadow:inset 0 -2px var(--pk-orange)}
.template-filters{margin-bottom:18px}.template-schedule-scroll{overflow-x:auto;max-width:100%}.template-overview .quote-commercial-list{grid-template-columns:repeat(4,minmax(0,1fr))}.template-overview .form-actions{margin-top:18px}.template-overview>p[role=status]:empty{display:none}@media(min-width:1101px){.template-component-grid{min-width:1120px}.template-component-grid .component-grid-columns,.template-component-grid .component-grid-row{grid-template-columns:minmax(90px,.8fr) minmax(220px,2fr) minmax(135px,1.2fr) repeat(3,minmax(65px,.6fr)) minmax(55px,.5fr) minmax(85px,.75fr) minmax(75px,.65fr) minmax(88px,.7fr) minmax(65px,.55fr) 34px}}@media(max-width:800px){.template-overview .quote-commercial-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.template-overview .quote-commercial-list{grid-template-columns:1fr}}
.project-popup{border:1px solid var(--sf-border);border-radius:12px;box-shadow:0 24px 80px #101b2533}.project-popup::backdrop{background:#14232b78;backdrop-filter:blur(2px)}
.auth-recovery{display:flex;justify-content:flex-end;margin-top:18px}.auth-recovery>a{display:inline-flex;align-items:center;min-height:28px;padding:2px 0;font-size:13px;line-height:1.5;color:var(--pk-orange-text,#9b4224);text-decoration:underline;text-underline-offset:3px}.auth-recovery>a:hover{color:var(--pk-ink)}.auth-recovery>a:focus-visible{outline:2px solid var(--pk-orange);outline-offset:4px;border-radius:2px}

.catalogue-import-dialog{width:min(1180px,94vw);max-height:90dvh;box-sizing:border-box;overflow:hidden;padding:24px;border:1px solid var(--border,#d5dedd);border-radius:14px}.catalogue-import-dialog[open]{display:flex;flex-direction:column;gap:12px}.catalogue-import-dialog::backdrop{background:rgba(15,31,39,.48)}.catalogue-import-dialog h2,.catalogue-import-dialog>p{margin:0}.catalogue-import-body{overflow:auto;min-height:0}.catalogue-import-dialog .formgrid{margin:20px 0}.catalogue-import-dialog .table-scroll{overflow:auto;max-height:40vh}.catalogue-import-dialog table{min-width:800px}.catalogue-import-toolbar{margin:18px 0;gap:10px;flex-wrap:wrap}.catalogue-import-footer{padding-top:14px;border-top:1px solid var(--sf-border,#d5dedd);flex-shrink:0}.catalogue-import-footer:empty{display:none}.catalogue-import-dialog .row{align-items:center;justify-content:space-between;flex-shrink:0}.catalogue-import-dialog .error{color:#a83124}@media(max-width:600px){.catalogue-import-dialog{padding:16px;width:96vw}.catalogue-import-dialog .formgrid{grid-template-columns:1fr}.catalogue-import-dialog .row h2{font-size:18px}}

/* Schedule row menu: insert, duplicate and move without leaving the grid */
.schedule-row-menu{position:relative;flex:0 0 auto}
.schedule-row-menu>summary{display:inline-grid;place-items:center;width:28px;height:30px;border:1px solid transparent;border-radius:6px;color:var(--pk-muted,#5d6362);cursor:pointer;list-style:none}
.schedule-row-menu>summary::-webkit-details-marker{display:none}
.schedule-row-menu>summary:hover,.schedule-row-menu[open]>summary{border-color:var(--sf-border,#dfe5e9);background:#fff;color:var(--pk-ink,#15191a)}
.schedule-row-menu>summary:focus-visible{outline:2px solid var(--pk-orange,#ff7c44);outline-offset:2px}
.schedule-row-menu>summary svg{width:16px;height:16px}
.schedule-row-menu-panel{position:absolute;right:0;top:calc(100% + 4px);z-index:30;display:grid;min-width:170px;padding:5px;background:#fff;border:1px solid var(--sf-border,#dfe5e9);border-radius:10px;box-shadow:0 12px 28px rgba(21,25,26,.16)}
.schedule-row-menu-panel button{justify-content:flex-start;min-height:32px;padding:6px 10px;border:0;box-shadow:none;background:transparent;font-size:13px;font-weight:500;text-align:left}
.schedule-row-menu-panel button:hover:not(:disabled){background:var(--sf-surface-2,#f7f7f5)}
@media(max-width:700px){.schedule-row-menu>summary{width:44px;height:44px}.schedule-row-menu-panel button{min-height:44px}}

/* Internal cost and margin beside the totals: clearly separate from customer figures */
.internal-margin{max-width:25rem;margin:14px 0 0 auto;padding:12px 14px;border:1px dashed #c9c4b9;border-radius:10px;background:#faf9f6}
.internal-margin-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px}
.internal-margin-head strong{font-size:13px}.internal-margin-head small{font-size:12px;color:var(--pk-muted,#5d6362)}
.quotation-totals.quotation-margin>div:last-of-type{border:0;margin:0;padding:.5rem 0;background:none}
.quotation-totals.quotation-margin dd{font-size:1rem}
.quotation-totals.quotation-margin dd.margin-negative{color:#a33a26}
.internal-margin p{margin:6px 0 0;font-size:12px}

.settings-branding-note{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin:18px 0}.settings-branding-note>span{flex:1 1 300px}.settings-branding-note>button{flex:none}
.register-toolbar{display:flex!important;flex-wrap:wrap;align-items:center;gap:10px!important;margin:16px 0 18px;padding:12px;background:var(--sf-surface-2);border:1px solid var(--sf-border);border-radius:10px}.register-toolbar>input[type=search]{flex:1 1 240px;width:auto;min-width:160px;margin:0}.register-toolbar>select{flex:0 1 190px;min-width:130px}.register-page-size{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;white-space:nowrap}.register-page-size>select{width:80px;min-width:70px}.register-export-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.register-export-controls>select{width:155px}.register-export-controls>button{white-space:nowrap}.register-pagination{margin-top:16px;padding-top:14px;border-top:1px solid var(--sf-border)}@media(max-width:600px){.register-export-controls{margin-left:0;width:100%}.register-export-controls>select{flex:1;min-width:0}.register-toolbar>select{flex:1 1 140px}.register-toolbar>input[type=search]{flex-basis:100%}}
.catalogue-source-sample{margin:22px 0 8px;padding-top:18px;border-top:1px solid var(--sf-border)}.catalogue-source-sample .table-scroll{max-height:260px}.catalogue-source-sample h3{margin:0 0 8px}.catalogue-import-body td select{min-width:185px;max-width:260px}.catalogue-import-body td small{display:block;margin-top:6px;color:var(--pk-muted)}
.project-information>.archived-project-notice{margin-top:20px}.project-information>.project-detail-actions{margin-bottom:18px}
.project-more-actions:not([open])>.project-more-menu{display:none}.project-more-menu{z-index:80;min-width:240px;max-width:calc(100vw - 48px);gap:2px;padding:6px;border-radius:10px;box-shadow:0 12px 32px #15232624}.project-more-menu>button{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:38px;margin:0;padding:10px 12px;border:0;border-radius:6px;box-shadow:none;background:transparent;color:var(--pk-ink);font-size:13px;font-weight:500;line-height:1.4;text-align:left;white-space:normal}.project-more-menu>button:hover:not(:disabled){background:var(--sf-surface-2);box-shadow:none;transform:none}.project-more-menu>button[aria-label^="Delete"]{color:#a13c30}.project-more-menu>button[aria-label^="Delete"]:hover:not(:disabled){background:#fff0ed}.project-more-actions>summary::-webkit-details-marker{display:none}
.quotation-financials{display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px;margin:0 0 18px;min-width:0}.quotation-financials>.quotation-sundries-panel{flex:2 1 520px;min-width:0;margin:0}.quotation-financials>.quotation-totals-panel{flex:1 1 320px;min-width:0;margin:0}.quotation-financials .quotation-totals,.quotation-financials .internal-margin{max-width:none}.quotation-totals-panel>h2{margin-bottom:16px}@media(max-width:600px){.project-more-menu>button{min-height:44px}.quotation-financials{gap:16px}}
/* Customer loop: separate from estimating schedule grids. */
.quotation-expiry-alert{padding:16px 18px;margin-bottom:20px;border:1px solid #e4c4a3;border-left:4px solid #b5763a;background:#fff8ef;border-radius:8px}.quotation-expiry-alert p{margin:6px 0 0;line-height:1.6}.customer-accepted-note{padding:12px 16px;border:1px solid #b6d8c5;background:#edf7f0;color:#226344;border-radius:8px;margin:16px 0}.customer-loop-dialog{box-sizing:border-box;width:min(620px,94vw);max-height:90dvh;overflow:auto;padding:24px;border:1px solid #d5dfdc;border-radius:12px;background:#fff}.customer-loop-dialog::backdrop{background:#142a3d88}.customer-loop-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.customer-loop-dialog h2{margin:0;font-size:21px}.customer-loop-dialog .field{display:flex;flex-direction:column;gap:8px;margin:18px 0}.customer-loop-dialog select,.customer-loop-dialog input[type=number],.customer-loop-dialog textarea{width:100%}.customer-loop-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.email-file-options{display:grid;gap:8px;max-height:40vh;overflow:auto;margin:18px 0}.email-file-choice{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid #dce3e8;border-radius:8px}.email-file-choice input{margin-top:4px;flex-shrink:0}.email-file-choice span{min-width:0;overflow-wrap:anywhere}.email-file-choice small,.delivery-cell small,.customer-response-entry small{display:block;margin-top:5px;color:var(--muted,#63746d)}.email-extra-files{padding:14px 16px;border:1px solid #dce3e8;border-radius:8px;background:#f7f9f8}.email-extra-files p{margin:8px 0 0;overflow-wrap:anywhere}.delivery-confirmed{color:#267249}.delivery-problem{color:#a13c30}.customer-response-entry{padding:14px 0;border-bottom:1px solid #dce3e8}.customer-response-entry:last-child{border-bottom:0}.customer-response-entry p{white-space:pre-wrap;overflow-wrap:anywhere}.lost-reason-note{text-transform:capitalize}@media(max-width:600px){.customer-loop-dialog{padding:18px}.customer-loop-dialog-heading{align-items:flex-start}.customer-loop-dialog h2{font-size:19px}.customer-loop-actions{flex-wrap:wrap}.customer-loop-actions button{width:100%}}

.project-detail-actions > .project-more-actions { margin-left: auto; }

/* Personal work controls use the existing register and settings surfaces. */
.register-saved-views{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-basis:100%;padding-top:10px;border-top:1px solid var(--sf-border)}
.register-saved-views select{flex:1 1 180px;max-width:300px}.register-saved-views button{min-height:36px}
.project-bulk-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 0;margin-bottom:8px}.project-bulk-controls>span{color:var(--sf-text-3);margin:0 8px}
.task-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.task-summary-card{display:flex;justify-content:space-between;align-items:center;padding:18px;background:var(--sf-surface,#fff);border:1px solid var(--sf-border);border-radius:12px;text-align:left}.task-summary-card strong{font-size:26px}
.readiness-row{display:flex;align-items:center;gap:18px;border-top:1px solid var(--sf-border);padding:20px 0}.readiness-row>div{flex:1;min-width:0}.readiness-row h3{margin:0 0 6px}.readiness-row p{margin:0}.readiness-ready,.readiness-pending{font-size:24px;flex:0 0 28px}.readiness-ready{color:#247852}.readiness-pending{color:#996d27}.readiness-row>button{flex-shrink:0}
.dash-mix{grid-column:1/-1}.dash-grid>[hidden],.stats>[hidden],.hero-focus>[hidden]{display:none!important}.bulk-project-dialog ul{max-height:240px;overflow:auto;padding-left:24px}.bulk-project-dialog .issue-links{margin-top:20px}
@media(max-width:600px){.readiness-row{flex-wrap:wrap;gap:12px}.readiness-row>button{margin-left:40px}.task-summary{gap:8px}.task-summary-card{padding:12px;display:block}.task-summary-card strong{display:block}.register-saved-views{align-items:stretch}.register-saved-views select{max-width:none}}


.task-worklist td small{display:block;margin-top:6px;max-width:360px;color:var(--sf-text-3);line-height:1.5}

@media(min-width:1001px){.dash-grid.personal-layout>.panel{grid-column:span 6}.dash-grid.personal-layout>.dash-activity{grid-column:1/-1}}

@media(max-width:600px){.readiness-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px}.readiness-row>button{grid-column:2;justify-self:start;margin-left:0;max-width:100%;white-space:normal}.readiness-row>div{width:100%}}

/* Inline personal dashboard editing; controls sit outside actionable cards. */
.dashboard-edit-item{position:relative;min-width:0;box-sizing:border-box}.dashboard-item-controls{display:none}.dashboard-edit-item>.panel{margin:0;height:100%;box-sizing:border-box}.stats>.dashboard-edit-item>.stat{width:100%;height:100%;box-sizing:border-box}.hero-focus>.dashboard-edit-item>.focus-item{width:100%;height:100%;box-sizing:border-box}.dashboard-edit-item>.dash-mix>.panel{margin:0}
.dash-grid>.dashboard-edit-item[data-dashboard-key="2-0"]{grid-column:span 8}.dash-grid>.dashboard-edit-item[data-dashboard-key="2-1"]{grid-column:span 4}.dash-grid>.dashboard-edit-item[data-dashboard-key="2-2"],.dash-grid>.dashboard-edit-item[data-dashboard-key="2-3"]{grid-column:span 6}.dash-grid>.dashboard-edit-item[data-dashboard-key="2-4"]{grid-column:span 7}.dash-grid>.dashboard-edit-item[data-dashboard-key="2-5"]{grid-column:span 5}.dash-grid>.dashboard-edit-item[data-dashboard-key="2-6"],.dash-grid>.dashboard-edit-item[data-dashboard-key="2-7"]{grid-column:1/-1}
.dashboard-editing .dashboard-edit-item{padding-top:36px;border:1px dashed #85958f;border-radius:12px;background:#f3f6f4}.dashboard-editing .dashboard-item-controls{display:flex;position:absolute;top:1px;left:6px;right:6px;height:32px;align-items:center;gap:6px;color:#40534c}.dashboard-item-controls>span{font-size:11px;line-height:1.2;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-item-controls button{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;height:28px;min-height:28px;padding:4px;border:0;box-shadow:none;background:transparent;color:inherit}.dashboard-item-controls button:hover{background:#dce8e2}.dashboard-item-controls svg{width:18px;height:18px}.dashboard-drag-grip{cursor:grab;touch-action:none}.dashboard-drag-grip svg{fill:currentColor}.dashboard-drag-source{opacity:.55}.dashboard-editing .dashboard-drop-target{outline:3px solid var(--pk-orange);outline-offset:3px}
.dashboard-edit-bar{position:sticky;top:64px;z-index:30;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;margin:16px 0;background:#fff;border:1px solid var(--sf-border);border-radius:12px;box-shadow:0 4px 14px #14232b12}.dashboard-edit-bar>strong{margin-right:auto}.dashboard-edit-feedback{flex-basis:100%;font-size:12px;color:var(--sf-text-3)}.dashboard-hidden-controls{position:relative}.dashboard-hidden-controls>summary{cursor:pointer;padding:10px 12px;border:1px solid var(--sf-border);border-radius:7px;font-size:13px}.dashboard-hidden-list{position:absolute;right:0;top:100%;padding:12px;margin-top:6px;min-width:250px;max-width:80vw;max-height:300px;overflow:auto;background:white;border:1px solid var(--sf-border);border-radius:10px;box-shadow:0 8px 24px #14232b20;z-index:40}.dashboard-hidden-list button{display:block;text-align:left;margin:4px 0;width:100%;white-space:normal}.dashboard-edit-bar[hidden],.dashboard-edit-item[hidden]{display:none!important}
@media(max-width:1250px){.dash-grid>.dashboard-edit-item[data-dashboard-key="2-0"]{grid-column:span 7}.dash-grid>.dashboard-edit-item[data-dashboard-key="2-1"]{grid-column:span 5}.dash-grid>.dashboard-edit-item[data-dashboard-key="2-4"],.dash-grid>.dashboard-edit-item[data-dashboard-key="2-5"]{grid-column:span 6}}
@media(min-width:961px){.dash-grid.personal-layout>.dashboard-edit-item{grid-column:span 6}.dash-grid.personal-layout>.dashboard-edit-item[data-dashboard-key="2-6"],.dash-grid.personal-layout>.dashboard-edit-item[data-dashboard-key="2-7"]{grid-column:1/-1}}
@media(max-width:960px){.dash-grid>.dashboard-edit-item{grid-column:1/-1!important}}
@media(max-width:700px){.dashboard-edit-bar{top:8px;gap:8px;padding:12px}.dashboard-edit-bar>strong{flex-basis:100%}.dashboard-item-controls button{height:32px;width:32px;min-width:32px}.dashboard-hidden-list{right:auto;left:0}.dashboard-edit-bar>button{min-height:40px}}

.bulk-project-dialog::backdrop{background:rgba(15,31,39,.48)}

.dashboard-editing .hero-focus>.dashboard-edit-item{background:rgba(255,255,255,.04)}.dashboard-editing .dashboard-item-controls{background:#f3f6f4;border-radius:8px 8px 0 0}.dashboard-editing .hero-focus .dashboard-item-controls{left:0;right:0;top:0;padding:0 6px}.dashboard-editing .focus-item{opacity:1}
@media(min-width:1600px){.stats:has(>.dashboard-edit-item:nth-child(7):last-child){grid-template-columns:repeat(7,minmax(0,1fr))}}

.error:empty,[role=alert]:empty,.project-composer .error[hidden]{display:none!important}.priority-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap}.priority-pill::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.65}.priority-low{color:#61706e;background:#edf1f0;border-color:#dce4e1}.priority-normal{color:#376389;background:#eaf2fb;border-color:#d6e4f2}.priority-high{color:#8a5a16;background:#fff3dd;border-color:#f0dcb2}.priority-urgent{color:#a33835;background:#fcebea;border-color:#f1ceca}

.project-composer[open]{display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.project-composer-heading{flex-shrink:0;padding-bottom:16px;margin-bottom:4px;border-bottom:1px solid var(--sf-border)}.project-composer-heading p{margin:7px 0 0;max-width:570px;font-size:13px;line-height:1.5}.project-composer>form{min-height:0;overflow:auto;padding:16px 2px 0;align-content:start}.project-composer .formgrid>.issue-links:last-child{position:sticky;bottom:0;background:#fff;padding:14px 0;margin-top:4px;border-top:1px solid var(--sf-border);z-index:2}.project-composer .field{margin:0}.project-composer textarea{min-height:110px}.project-composer .error:not([hidden]){margin:0}.project-follow-up-fields{padding:14px;background:#f5f7f6;border:1px solid var(--sf-border);border-radius:9px}.field-validation-message{display:block;margin-top:6px;color:#a12f28;font-size:12px;line-height:1.45}.field-validation-message[hidden]{display:none}.field input[data-form-invalid],.field textarea[data-form-invalid],.field select[data-form-invalid]{border-color:#c8574e;background:#fffafa}.project-popup .panel{margin:0;border:0;box-shadow:none}.form-actions{gap:10px;padding-top:8px}
.main td button[data-action-icon].action-delete,button.action-delete.action-delete,.main button.action-delete,.main button.action-delete.primary,dialog button.action-delete{color:#a33835;border-color:#efc9c6;background:#fcebea}.main td button[data-action-icon].action-delete:hover:not(:disabled),button.action-delete.action-delete:hover:not(:disabled),.main button.action-delete:hover:not(:disabled),dialog button.action-delete:hover:not(:disabled){background:#f7d9d6;border-color:#d9958e;color:#8b2523}.main td button[data-action-icon].action-save,button.action-save.action-save,.main button.action-save,.main button.action-save.primary,dialog button.action-save,.dashboard-edit-bar>button.primary{color:#fff;background:#27794f;border-color:#27794f}.main td button[data-action-icon].action-save:hover:not(:disabled),button.action-save.action-save:hover:not(:disabled),.main button.action-save:hover:not(:disabled),dialog button.action-save:hover:not(:disabled){background:#1e633e;border-color:#1e633e}.main button.action-delete:disabled,.main button.action-save:disabled,dialog button.action-delete:disabled,dialog button.action-save:disabled{opacity:.5}

.error[hidden]{display:none!important}
/* Hidden actions remain hidden when shared button/menu styles set display. */
[hidden]{display:none!important}
.quotation-export-tools:not(:empty){margin:12px 0;gap:12px}
.quotation-export-tools:has(>details[hidden]){display:none}

button.action-save.action-save:disabled,.main td button[data-action-icon].action-save:disabled,dialog button.action-save:disabled{background:#e6e8e7;border-color:#d4dad7;color:#7b8581;opacity:1;box-shadow:none}

/* Floating item, live slot and movement feedback shared by all reorder grips. */
.is-reordering,.is-reordering *{cursor:grabbing!important;user-select:none!important}.drag-preview{position:fixed;left:0;top:0;z-index:10000;pointer-events:none;background:#fff;color:#20332c;border:2px solid #39866a;border-radius:12px;box-shadow:0 18px 48px #142e3b40,0 3px 9px #142e3b24;overflow:hidden;will-change:transform;box-sizing:border-box}.drag-preview-heading{display:block;padding:10px 12px;background:#e8f3ed;font-size:13px;line-height:1.4;border-bottom:1px solid #cbded3}.drag-preview-body{max-height:160px;overflow:hidden;background:#fff}.drag-preview-body>.dashboard-edit-item{padding:0!important;border:0!important;opacity:1!important}.drag-preview .dashboard-item-controls{display:none!important}.drag-preview .panel,.drag-preview .stat{margin:0;border:0;border-radius:0;box-shadow:none}.drag-preview .focus-item{background:#233c32;border:0;border-radius:0}.drag-preview .focus-label,.drag-preview .focus-item strong{color:#fff}.drag-preview table{table-layout:fixed;border-collapse:collapse}.drag-preview td{padding:10px 12px;overflow:hidden;text-overflow:ellipsis}.drag-preview-hint{display:block;padding:7px 12px;background:#fff;font-size:11px;color:#64736e;border-top:1px solid #e1e8e4}.drag-placeholder{outline:2px dashed #39866a!important;outline-offset:-2px;background:#eaf5ee!important;opacity:1!important}.dashboard-edit-item.drag-placeholder>*{opacity:.2}.row-reorder-source.drag-placeholder>td{background:#eaf5ee!important;box-shadow:inset 0 2px #39866a,inset 0 -2px #39866a}.row-reorder-source.drag-placeholder>td>*{opacity:.25}.row-reorder-source.drag-placeholder>td{color:#87a695}.dashboard-drag-grip.grabbing,.main .reorder-grip.grabbing{background:#d4e9dc;color:#236447}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* One compact disclosure-menu treatment, including hidden dashboard items. */
.dashboard-hidden-list,.project-more-menu,.schedule-row-menu-panel,.workspace-account-menu,.workspace-navigation-menu{padding:6px;border:1px solid #dce3df;border-radius:10px;background:#fff;box-shadow:0 10px 30px #182e2726}.dashboard-hidden-list{min-width:250px;width:280px;max-width:calc(100vw - 32px)}.action-menu-label{padding:9px 10px 5px;font-size:10px;line-height:1.4;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#7a8580}.action-menu-label:not(:first-child){margin-top:4px;border-top:1px solid #edf0ee}
:is(.dashboard-hidden-list,.project-more-menu,.schedule-row-menu-panel,.workspace-account-menu,.workspace-navigation-menu)>button,.main :is(.dashboard-hidden-list,.project-more-menu,.schedule-row-menu-panel,.workspace-account-menu,.workspace-navigation-menu)>button{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-height:36px;width:100%;margin:0;padding:8px 10px;border:0;border-radius:6px;background:transparent;box-shadow:none;color:#283b33;font-size:13px;font-weight:500;line-height:1.4;text-align:left;white-space:normal;transform:none}
:is(.dashboard-hidden-list,.project-more-menu,.schedule-row-menu-panel,.workspace-account-menu,.workspace-navigation-menu)>button>svg{width:16px;height:16px;flex:0 0 16px;color:#6a7f74}:is(.dashboard-hidden-list,.project-more-menu,.schedule-row-menu-panel,.workspace-account-menu,.workspace-navigation-menu)>button:hover:not(:disabled){background:#eef4f0;box-shadow:none}.main :is(.project-more-menu,.schedule-row-menu-panel,.workspace-account-menu)>button.action-delete{color:#a33835;background:transparent}.main :is(.project-more-menu,.schedule-row-menu-panel,.workspace-account-menu)>button.action-delete>svg{color:inherit}.main :is(.project-more-menu,.schedule-row-menu-panel,.workspace-account-menu)>button.action-delete:hover{background:#fcebea}.main :is(.project-more-menu,.schedule-row-menu-panel)>button.action-save{color:#27794f;background:transparent}.main :is(.project-more-menu,.schedule-row-menu-panel)>button.action-save:hover{background:#e8f3ed}.dashboard-hidden-list>span{display:block;padding:10px}.dashboard-edit-bar>button:disabled{background:#e6e8e7;border-color:#d4dad7;color:#7b8581;opacity:1}
@media(max-width:700px){:is(.dashboard-hidden-list,.project-more-menu,.schedule-row-menu-panel,.workspace-account-menu,.workspace-navigation-menu)>button,.main :is(.dashboard-hidden-list,.project-more-menu,.schedule-row-menu-panel,.workspace-account-menu,.workspace-navigation-menu)>button{min-height:44px}}

.workspace-navigation{position:relative;flex-shrink:0}.workspace-navigation>summary{display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;width:36px;height:36px;border:1px solid #ffffff24;border-radius:7px;color:#e7efeb;background:#ffffff08}.workspace-navigation>summary::-webkit-details-marker{display:none}.workspace-navigation>summary>svg{width:20px;height:20px}.workspace-navigation>summary:hover{background:#ffffff18}.workspace-navigation-menu{position:absolute;top:calc(100% + 10px);left:0;z-index:100;width:260px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 92px);overflow:auto;color:var(--pk-ink)}.workspace-navigation-menu>button.active{background:#edf4ef;color:#236447}.sidebar-mode-controls{display:flex;gap:5px;padding:5px 8px 9px;border-bottom:1px solid #edf0ee}.sidebar-mode-controls>button{flex:1;min-height:32px;padding:6px;font-size:11px;white-space:nowrap;font-weight:500;background:#f5f7f5;border:1px solid transparent;box-shadow:none}.sidebar-mode-controls>button[aria-pressed=true]{background:#e1eee5;border-color:#bad4c4;color:#245f3c}.layout.sidebar-icons{grid-template-columns:72px minmax(0,1fr)}.sidebar-icons .sidebar{padding-left:8px;padding-right:8px}.sidebar-icons .sidebar .brand{justify-content:center;padding:0}.sidebar-icons .brand>div,.sidebar-icons .sidebar .nav-group,.sidebar-icons .sidebar .nav-divider,.sidebar-icons .sidebar-footer,.sidebar-icons .nav .nav-label{display:none}.sidebar-icons .sf-logo{width:44px;height:44px;flex-basis:44px}.sidebar-icons .nav button{justify-content:center;padding:12px 8px;min-width:44px}.layout.sidebar-hidden{grid-template-columns:minmax(0,1fr)}.sidebar-hidden .sidebar{display:none}.sidebar-hidden .main{grid-column:1}.workspace-navigation>summary:focus-visible{outline:3px solid #ff9d6b;outline-offset:3px}
@media(max-width:700px){.workspace-navigation>summary{width:34px;height:36px}.topbar .top-brand{gap:10px}.sidebar-icons .sidebar .brand{display:none}.sidebar-icons .nav{display:flex}.sidebar-icons .nav button{min-width:44px;padding:10px}.sidebar-hidden .main{border-radius:12px 12px 0 0}.workspace-navigation-menu{position:fixed;left:12px;top:58px;max-height:calc(100dvh - 82px)}.sidebar-mode-controls>button{min-height:40px}.sidebar-icons .sidebar{padding-top:8px}}

.main .task-summary{grid-template-columns:repeat(3,minmax(0,180px));justify-content:start;margin:18px 0;gap:12px}@media(max-width:600px){.main .task-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}

/* Pre-demo: status pills beside a panel heading sit on one line instead of stacking */
.row>.item-check{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;max-width:none}
/* Pre-demo: give price columns enough room for four-figure rates on 1280-1366px laptops */
@media(min-width:1101px){.component-grid:not(.sundry-grid):not(.template-component-grid) .component-grid-columns,.component-grid:not(.sundry-grid):not(.template-component-grid) .component-grid-row{grid-template-columns:.7fr 1.35fr .95fr .62fr .62fr .62fr .42fr .85fr .65fr minmax(100px,.62fr) minmax(58px,.42fr) 200px}.component-grid:not(.sundry-grid):not(.template-component-grid) .component-grid-row input[type=number]{padding-left:5px;padding-right:4px}}
