
:root{--navy:#081728;--navy2:#10243a;--deep:#15283e;--ink:#14273e;--text:#25354a;--muted:#718093;--line:#dde5ec;--light:#f3f6f9;--white:#fff;--orange:#ec823e;--teal:#117b75;--good:#147757;--red:#b44242;--radius:15px}
*{box-sizing:border-box}body{margin:0;background:#f4f7fa;color:var(--text);font-family:'DM Sans',system-ui,Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{background:#fff;border:1px solid #d7e1e8;border-radius:10px;min-height:43px;padding:10px 12px;color:var(--ink);width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:#ef995e;box-shadow:0 0 0 3px #ec823e24}textarea{min-height:85px;resize:vertical}input[type=checkbox]{width:18px;height:18px;min-height:auto;accent-color:var(--orange);box-shadow:none}input[type=file]{height:auto}input[type=date],input[type=month]{max-width:100%}
.app-frame{display:flex;min-height:100vh}.sidebar{background:var(--navy);color:#deecf7;width:240px;flex:none;display:flex;flex-direction:column;padding:29px 17px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 40px}.brand-name,.mobile-brand>b{font-family:Manrope,sans-serif;font-weight:800;color:#fff;letter-spacing:1px;font-size:18px}.brand-name span,.mobile-brand span{color:var(--orange)}.brand small{display:block;color:#7c97ad;letter-spacing:2.1px;font-size:8px;margin-top:2px}.mark{background:var(--orange);height:34px;width:34px;border-radius:10px;position:relative;transform:rotate(-8deg);flex:none;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:7px}.mark span{height:4px;border-radius:2px;background:#092038;width:100%}.mark span:nth-child(2){width:75%}.mark span:nth-child(3){width:50%}.mark.sm{width:27px;height:27px;padding:6px;gap:2px;border-radius:8px}.mark.sm span{height:3px}.side-section{color:#70869b;font-size:10px;letter-spacing:2px;font-weight:800;padding:0 15px 12px}.side-nav{display:flex;flex-direction:column;gap:5px}.nav-link{padding:14px 15px;display:flex;gap:13px;align-items:center;color:#aabbd0;background:transparent;border:0;text-align:left;border-radius:10px;font-weight:600}.nav-link:hover,.nav-link.active{color:#fff;background:#21384b}.nav-link.active:before{position:absolute;content:'';width:3px;height:25px;background:var(--orange);left:17px;border-radius:3px}.nav-icon{font-size:20px;width:24px;text-align:center;line-height:1}.sidebar-foot{margin-top:auto;padding:18px 11px;border-top:1px solid #24394b;color:#9db0c0;font-size:11px;line-height:1.9}.sidebar-foot span{color:#758c9e}.online-dot{display:inline-block;background:#4db795;width:7px;height:7px;border-radius:50%;margin-right:5px}
.workspace{min-width:0;flex:1}.topbar{height:75px;background:#fff;border-bottom:1px solid #e5ebf0;display:flex;align-items:center;justify-content:space-between;padding:0 34px}.mobile-brand{display:none;align-items:center;gap:9px}.header-breadcrumb{font-size:11px;font-weight:800;color:#91a0af;letter-spacing:1.8px}.header-breadcrumb span{padding:0 12px;color:#c7d0d9}.header-breadcrumb strong{color:#35465b}.top-actions{display:flex;align-items:center;gap:20px}.local-label{font-size:10px;font-weight:800;color:#628078;letter-spacing:1px}.quiet-btn,.btn{border:1px solid #dce5ec;border-radius:10px;background:#fff;color:#385068;min-height:41px;padding:10px 15px;font-weight:700}.quiet-btn:hover,.btn:hover{background:#f5f8fa}.btn.primary{background:var(--orange);color:#fff;border-color:var(--orange)}.btn.primary:hover{background:#d66f2c}.btn.dark{background:var(--navy2);color:#fff;border-color:var(--navy2)}.btn.small{min-height:34px;padding:7px 10px;font-size:12px}.btn.ghost-danger{color:var(--red);border-color:#f0d2d2}.btn.block{width:100%}.btn:disabled{opacity:.48;cursor:not-allowed}.main-content{max-width:1370px;margin:0 auto;padding:38px 36px 90px}.page-top{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:26px}.eyebrow{font-size:10px;color:var(--orange);font-weight:800;letter-spacing:2px;margin-bottom:8px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;color:var(--ink)}h1{font-size:28px;margin-bottom:7px;letter-spacing:-.8px;line-height:1.25}h2{font-size:17px;margin-bottom:0;letter-spacing:-.4px}h3{font-size:14px;margin-bottom:5px}.subtitle{color:var(--muted);font-size:13px;line-height:1.65;margin:0}.page-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.card{background:var(--white);border:1px solid #e3eaf0;border-radius:var(--radius);box-shadow:0 3px 10px rgba(17,42,64,.025);padding:22px;min-width:0}.card+.card{margin-top:16px}.stack{display:flex;flex-direction:column;gap:16px}.stack>.card+.card{margin-top:0}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:17px}.stat-card{padding:20px;border:1px solid #e3eaf0;border-radius:15px;background:#fff;min-width:0}.stat-label{font-size:11px;color:#748398;font-weight:700}.stat-value{font:800 24px Manrope,system-ui,sans-serif;color:var(--ink);letter-spacing:-1px;margin-top:10px;white-space:nowrap}.stat-note{color:#92a1b0;font-size:11px;margin-top:5px}.stat-card.featured{background:var(--navy2);border-color:var(--navy2)}.featured .stat-label{color:#99b4c5}.featured .stat-value{color:#fff}.featured .stat-note{color:#9cb4c6}.grid-2{display:grid;grid-template-columns:1.35fr 1fr;gap:17px}.grid-even{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.hint{font-size:11px;color:#8a9aaa}.big-number{font:800 30px Manrope,sans-serif;color:var(--ink);letter-spacing:-1.2px}.progress{width:100%;height:9px;background:#eaf0f3;overflow:hidden;border-radius:100px}.progress>span{display:block;height:100%;border-radius:100px;background:var(--orange);width:0}.progress.green>span{background:var(--teal)}.progress-row{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;align-items:center}.progress-name{font-size:12px;font-weight:800}.progress-meta{font-size:11px;color:var(--muted)}.progress-item{padding:11px 0;border-bottom:1px solid #edf0f3}.progress-item:last-child{border:0}.chip{display:inline-flex;align-items:center;background:#f1f6f6;color:#327a73;padding:5px 9px;border-radius:7px;font-size:10px;font-weight:800}.chip.orange{background:#fff3eb;color:#be632a}.chip.grey{background:#f2f5f7;color:#607388}.alert{padding:12px 14px;background:#fff4ea;color:#885122;font-size:12px;border:1px solid #ffdfc4;border-radius:10px;line-height:1.55}.alert.info{background:#ecf6fa;border-color:#d5eaf1;color:#3a6676}.alert.success{background:#eaf9f2;color:#216a4b;border-color:#d0eede}.section-spacer{margin-top:17px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label,.field-label{font-weight:800;font-size:11px;color:#54667a}.field small,.field-hint{font-size:11px;color:#8b9aab;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-section{margin:18px 0}.form-section:first-child{margin-top:0}.form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.selected-project{display:flex;justify-content:space-between;align-items:center;gap:20px}.selected-project select{max-width:380px}.selected-project strong{display:block;font-size:15px;font-family:Manrope,sans-serif;color:var(--ink)}.divider{height:1px;background:#ecf0f3;margin:17px 0}.line-check{border:1px solid #dde5eb;border-radius:11px;display:flex;align-items:center;gap:12px;padding:13px;margin:8px 0;cursor:pointer;transition:border .2s}.line-check:has(input:checked){border-color:#eaa170;background:#fff8f3}.line-check>div{flex:1;min-width:0}.line-check b{display:block;font-size:12px}.line-check small{display:block;font-size:11px;color:#748398;margin-top:4px}.check-boxes{max-height:315px;overflow:auto}.divider-dash{border-top:1px dashed #dbe3e8;margin:18px 0}.preview-total{background:var(--navy2);color:#fff;padding:18px;border-radius:12px}.preview-total small{color:#b5c8d6}.preview-total b{font:800 28px Manrope,sans-serif;display:block;margin-top:4px}.preview-line{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid #ebf0f3;font-size:12px}.preview-line:last-child{border:0}.preview-line small{display:block;color:var(--muted);margin-top:3px}.preview-line span:last-child{text-align:right;font-weight:800;white-space:nowrap}.metric-inline{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.metric-inline>div{flex:1;min-width:105px}.metric-inline small{color:#8c9baa;display:block;font-size:10px;margin-bottom:5px}.metric-inline b{font-size:15px;color:var(--ink)}.table-wrap{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;font-size:12px;min-width:530px}th{text-align:left;color:#8796a6;letter-spacing:.5px;font-size:10px;font-weight:800;text-transform:uppercase;border-bottom:1px solid #e7edf1;padding:13px 9px;white-space:nowrap}td{border-bottom:1px solid #eff2f5;padding:13px 9px;vertical-align:middle}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tfoot td{background:#f4f7f9;font-weight:800;color:var(--ink)}td .name{font-weight:800;color:var(--ink)}td .small-grey{font-size:10px;color:#8c9aa8}.pill-month{font-size:12px;padding:7px 11px;background:#f5f7f9;border:1px solid #e6ebef;border-radius:10px;color:#607184}.toolbar{display:flex;gap:11px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar .field{min-width:180px}.empty{text-align:center;padding:35px 14px;color:#8292a2}.empty-icon{font-size:28px;color:#d8e0e8;margin-bottom:9px}.empty strong{display:block;color:#526477;margin-bottom:6px}.cost-blank{color:#a1afba;font-size:11px}.mini-inline{display:flex;gap:8px;align-items:center}.mini-inline>*{flex:1}.import-field{background:#f6f9fb;border:1px dashed #b7cbd9;border-radius:12px;padding:20px;text-align:center}.import-field .field{margin-top:12px}.import-field p{font-size:12px;color:#7d91a1}.import-text{font-family:ui-monospace,Consolas,monospace;font-size:11px;min-height:140px}.buttons-right{display:flex;gap:7px;justify-content:flex-end}.small-link{border:0;background:none;color:#ba632d;font-size:11px;font-weight:800;padding:5px;cursor:pointer}.small-link.danger{color:var(--red)}.batch-tag{font-size:10px;color:#708699;padding:3px 6px;border:1px solid #e5eaf0;border-radius:5px}.item-edit{padding:13px 0;border-bottom:1px solid #edf1f4}.item-edit:last-child{border:0}.item-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:13px}.item-head strong{color:var(--ink)}.danger-zone{border-color:#e8d2d2;background:#fffafa}.nowrap{white-space:nowrap}.mobile-only{display:none}
#toast{z-index:101;position:fixed;bottom:24px;right:24px;background:#16334a;color:#fff;border-radius:11px;padding:13px 19px;max-width:350px;box-shadow:0 6px 28px #0004;display:none;font-size:12px;line-height:1.5}.bottom-nav{display:none}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}.main-content{padding:28px 25px 85px}}@media(max-width:730px){.sidebar{display:none}.topbar{height:63px;padding:0 17px}.mobile-brand{display:flex}.mobile-brand>b{font-size:15px}.header-breadcrumb,.local-label,.quiet-btn span{display:none}.quiet-btn{min-height:36px;padding:7px 10px}.main-content{padding:23px 14px 118px}h1{font-size:24px}.page-top{flex-direction:column;margin-bottom:17px;gap:12px}.page-actions,.page-actions .btn{width:100%}.stat-grid{gap:9px;margin-bottom:12px}.stat-card{padding:14px 13px;border-radius:12px}.stat-label{font-size:10px}.stat-value{font-size:19px;letter-spacing:-.8px}.stat-note{font-size:10px}.card{padding:17px 14px;border-radius:13px}.grid-even{grid-template-columns:1fr}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:90;background:#fff;border-top:1px solid #dfe7ec;padding:5px 6px calc(7px + env(safe-area-inset-bottom));justify-content:space-around;box-shadow:0 -5px 20px #0e2c4710}.bottom-nav button{flex:1;max-width:95px;padding:7px 3px;border:0;background:transparent;color:#8090a2;font-size:10px;font-weight:800;display:flex;align-items:center;flex-direction:column;gap:2px}.bottom-nav button span{font-size:21px;line-height:1.4}.bottom-nav button.active{color:#d37135}.mobile-only{display:block}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-project{flex-direction:column;align-items:stretch}.selected-project select{max-width:100%}.btn{min-height:45px}.form-actions .btn{flex:1}.toolbar .field{min-width:135px}#toast{bottom:88px;left:16px;right:16px;max-width:unset}}@media(max-width:380px){.stat-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:17px}.form-grid.three{grid-template-columns:1fr 1fr}.btn{font-size:12px}}
@media print{body{background:white}.sidebar,.topbar,.bottom-nav,.no-print,button{display:none!important}.workspace{width:100%}.main-content{padding:0;max-width:none}.card{box-shadow:none;border:1px solid #ddd}.stat-card{box-shadow:none}h1{font-size:22px}.page-top{margin-bottom:20px}.table-wrap{overflow:visible}table{min-width:0}.grid-2{grid-template-columns:1fr 1fr}td,th{padding:7px}.alert{display:none}}
/* On small screens the JOB text needs dark contrast against the light header. */
@media(max-width:730px){.mobile-brand>b{color:var(--navy)}}

/* v0.2 photographic takeoff evidence */
.takeoff-card{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #e6edf3}.takeoff-card:last-child{border-bottom:0}.takeoff-info{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.takeoff-info b{font-size:14px}.takeoff-info small{color:#687a8c;font-size:12px;overflow-wrap:anywhere}.takeoff-info .form-actions{flex-wrap:wrap;gap:6px;margin-top:6px}.evidence-thumb{flex:0 0 112px;height:82px;background:#edf2f6;color:#677d93;font-weight:700;font-size:12px;border:1px solid #dce6ef;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.evidence-thumb img{width:100%;height:100%;object-fit:cover}.proof-pill{display:flex;gap:12px;align-items:center;padding:11px;border-radius:10px;background:#f0f6fa;border:1px solid #dbe9ee}.proof-pill>div:nth-child(2){flex:1;min-width:0}.proof-pill b{display:block;font-size:13px}.proof-pill small{display:block;font-size:11px;color:#587083;overflow-wrap:anywhere}.proof-icon{font-size:22px;color:#df771e}.evidence-modal{position:fixed;inset:0;background:rgba(9,19,32,.82);z-index:9000;padding:18px;display:flex;justify-content:center;align-items:center}.evidence-dialog{background:white;border-radius:14px;padding:14px;display:flex;flex-direction:column;max-width:min(1100px,100%);width:100%;max-height:95vh;gap:10px;box-shadow:0 20px 80px #0007}.evidence-modal-top{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.evidence-modal-top strong{font-size:14px;overflow-wrap:anywhere}.evidence-modal-top>div{display:flex;gap:5px;flex-wrap:wrap}.evidence-stage{overflow:auto;background:#f3f5f7;border-radius:10px;min-height:180px;display:flex;align-items:center;justify-content:center;max-height:75vh}.evidence-stage img{display:block;max-width:100%;max-height:74vh;object-fit:contain}.evidence-stage iframe{border:0;width:100%;height:min(72vh,750px);min-height:360px}.markup-stage canvas{display:block;max-width:100%;max-height:65vh;object-fit:contain;touch-action:none;cursor:crosshair}.markup-actions{justify-content:space-between;gap:8px}.small-link{cursor:pointer}@media(max-width:650px){.evidence-modal{padding:7px}.evidence-dialog{padding:11px;max-height:99vh}.takeoff-card{align-items:flex-start}.evidence-thumb{flex-basis:92px;height:78px}.bottom-nav button{font-size:9px}.evidence-modal-top .btn{font-size:10px}}
.monthly-proof{display:flex;align-items:center;gap:8px;margin-top:7px;max-width:240px}.evidence-thumb.mini{flex:0 0 72px;height:50px;font-size:9px}.monthly-proof .small-link{text-align:left;line-height:1.4;white-space:normal}
/* JobSlice official identity — built from the approved sliced-J wordmark. */
:root {
 --navy:#062646; --navy2:#0B2B49; --deep:#0C2034; --ink:#102C45; --text:#304356;
 --muted:#73859A; --line:#E1E9EF; --light:#F6F8FA; --white:#fff;
 --orange:#FF670A; --teal:#18785F; --good:#18785F; --red:#BB3F37; --radius:17px;
}
*{scrollbar-color:#b6c7d2 transparent}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;background:#F4F7F9;font-size:14px;letter-spacing:-.08px}
h1,h2,h3,.big-number,.stat-value{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}
.app-frame{min-height:100vh}
.sidebar{width:257px;padding:29px 19px 16px;background:linear-gradient(162deg,#071D31 0%,#062646 62%,#082D4F 100%);border-right:1px solid #19405F}
.brand{padding:10px 7px 34px;display:block;margin-bottom:13px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand .logo{display:block;width:202px;max-width:100%;height:auto;object-fit:contain;object-position:left}
.brand-caption{font-size:9px;letter-spacing:2.5px;font-weight:800;color:#9AB0C6;margin-top:12px}
.side-section{color:#7493AA;letter-spacing:2.4px;padding:14px 15px 13px}
.side-nav{gap:7px}
.nav-link{width:100%;position:relative;border:1px solid transparent;border-radius:11px;color:#AFC2D4;padding:13px 13px;min-height:47px;letter-spacing:.04px;font-weight:650;gap:12px;transition:background .15s,border .15s,color .15s}
.nav-link .nav-icon{font-family:inherit;font-size:21px;color:#9DB2C6;width:22px}
.nav-link:hover{color:#fff;background:#193C57}
.nav-link.active{background:#173E5E;border-color:#335E7B;color:#fff;box-shadow:0 1px 0 #ffffff10 inset}
.nav-link.active:before{left:-19px;top:11px;height:26px;background:var(--orange);width:4px;border-radius:0 3px 3px 0}
.nav-link.active .nav-icon{color:#FF853E}
.nav-new{margin-left:auto;letter-spacing:1px;font-size:9px;padding:4px 6px;border-radius:4px;background:#EC681E33;color:#FFAA76}
.sidebar-feature{background:#FFFFFF0B;border:1px solid #7EA7C224;border-radius:15px;padding:17px 15px;margin-top:36px}
.sidebar-feature-icon{display:inline-flex;width:35px;height:35px;align-items:center;justify-content:center;border:1px solid #FF88468A;border-radius:10px;background:#FF6E1B19;color:#FF9B59;font-size:25px;margin-bottom:12px}
.sidebar-feature strong{display:block;color:white;line-height:1.3;font-size:14px}
.sidebar-feature p{color:#A8BED0;font-size:11px;line-height:1.6;margin:8px 0 0}
.sidebar-foot{margin-top:auto;padding:17px 9px 3px;border-color:#34536B;color:#BCCED9;font-size:10px;letter-spacing:.5px}
.sidebar-foot strong{float:right;color:#FF9759;font-size:10px}.sidebar-foot span:last-child{color:#93ACC0;letter-spacing:0}
.secure-dot{display:inline-block;height:8px;width:8px;border-radius:50%;background:#45C8A4;margin-right:8px;box-shadow:0 0 0 3px #45C8A41B}
.topbar{height:78px;padding:0 39px;border-color:#e4ebf1;position:relative;background:rgba(255,255,255,.97)}
.header-breadcrumb{font-size:10px;color:#96A9BB;letter-spacing:2px}
.header-breadcrumb strong{color:#173B56}
.local-label{font-size:10px;color:#4F7088;letter-spacing:1.1px}
.quiet-btn,.btn{border:1px solid #D6E1E9;color:#153A56;background:#fff;border-radius:10px;font-weight:750;min-height:43px;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.btn:hover,.quiet-btn:hover{background:#EFF5F8;border-color:#BCD1DD;box-shadow:0 3px 10px #112C4F0B}
.btn:active,.quiet-btn:active{transform:translateY(1px)}
.btn.primary{background:var(--orange);color:#fff;border-color:var(--orange);box-shadow:0 6px 16px #FF670A2B}
.btn.primary:hover{background:#E85705;border-color:#E85705}
.btn.dark{background:var(--navy);border-color:var(--navy)}
.main-content{max-width:1450px;padding:32px 36px 95px}
.intro-hero{background:radial-gradient(circle at 84% 28%,#194D71 0%,transparent 37%),linear-gradient(115deg,#062646,#0A314F);color:#fff;border-radius:19px;position:relative;min-height:225px;padding:29px 38px;overflow:hidden;isolation:isolate;box-shadow:0 15px 35px #0626461C;margin:0 0 27px}
.intro-overline{font-size:10px;letter-spacing:2.8px;font-weight:800;color:#FF9A62}
.intro-title{font-size:31px;font-weight:850;letter-spacing:-1.5px;margin-top:14px;line-height:1.2}
.intro-title em{font-style:normal;color:#FF853C}
.intro-hero p{color:#C1D5E4;max-width:550px;font-size:13px;line-height:1.5;margin:10px 0 22px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;z-index:2;position:relative}
.btn.hero-primary{background:var(--orange);border-color:var(--orange);color:white}
.btn.hero-secondary{background:#FFFFFF16;color:#fff;border-color:#FFFFFF3A}
.btn.hero-secondary:hover{background:#FFFFFF28}
.hero-watermark{font-size:255px;line-height:1;position:absolute;right:55px;top:-5px;font-weight:950;font-style:italic;color:#FFFFFF0E;z-index:-1;transform:rotate(-12deg);pointer-events:none}
.hero-watermark span{font-size:90px;color:#FF670A2B;position:absolute;top:120px;left:-30px}
.page-top{margin-bottom:21px}
.eyebrow{color:#D35308;letter-spacing:2.35px;font-size:10px}
h1{font-weight:830;font-size:28px;letter-spacing:-1.2px;color:#0C2C46}
h2{font-weight:800;font-size:17px;color:#17354D}
.subtitle{color:#728599;max-width:830px;line-height:1.55}
.card,.stat-card{background:#fff;border:1px solid #DFE8EE;border-radius:16px;box-shadow:0 4px 20px #0C33470A}
.card{padding:22px}
.card-heading{border-bottom:1px solid #EEF2F6;padding-bottom:14px;margin-bottom:16px}
.card-heading h2{letter-spacing:-.5px}
.stat-grid{gap:12px}
.stat-card{min-height:135px;padding:19px 20px;position:relative;overflow:hidden}
.stat-card:before{content:'';position:absolute;top:0;left:21px;right:21px;height:2px;background:#EDF3F7}
.stat-card.featured{background:#062646;border-color:#062646;box-shadow:0 12px 24px #06264620}
.stat-card.featured:before{background:var(--orange)}
.stat-label{font-size:10px;letter-spacing:.65px;color:#71899C;text-transform:uppercase}
.stat-value{font-size:26px;letter-spacing:-1px;color:#082C47}
.stat-note{font-size:11px;color:#94A3B2}
.stat-card.featured .stat-note,.stat-card.featured .stat-label{color:#A3C0D4}
.stat-card.featured .stat-value{color:#fff}
.grid-2{grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:16px}
.card .card+.card{margin-top:12px}
.chip{border-radius:7px;letter-spacing:.25px}
.chip.orange{background:#FFF0E6;color:#AA4A07}
.chip.grey{background:#EFF3F7;color:#597186}
.progress{background:#EBF1F5;height:9px}
.progress>span{background:linear-gradient(90deg,#FF913E,var(--orange))}
.progress-item{padding:15px 0}
.progress-name{font-size:12px;color:#25455F}
.preview-line{padding:12px 0;border-color:#E9EFF4}
input,select,textarea{background:#FBFCFD;border-color:#D9E4EB;color:#193851;border-radius:10px;min-height:44px}
input:focus,select:focus,textarea:focus{border-color:#FC9157;box-shadow:0 0 0 4px #FF670A16}
.field label,.field-label{font-size:11px;color:#2D5069;font-weight:780}
.selected-project{gap:15px}
.selected-project strong{color:#0B2E48}
.selected-project select{max-width:375px}
.line-check{border-radius:11px;border-color:#DCE7ED;background:#fff}
.line-check:has(input:checked){background:#FFF7F1;border-color:#FFAE78;box-shadow:0 0 0 1px #FFAE7812}
.preview-total{background:linear-gradient(112deg,#062646,#174669);padding:23px;border-radius:13px}
.preview-total b{font-size:32px;color:white}
.preview-total small{color:#CBDFEE}
.table-wrap{border-radius:10px}
.table-wrap table th{background:#F6F9FB;border-color:#E4EAF0;font-size:9px;color:#668299}
.table-wrap table td{color:#25445E}
.table-wrap table td b{color:#092E49}
.small-link{color:#C25408}
.alert.info{background:#F1F7FA;border-color:#D3E6F0;color:#3F667E}
.alert:not(.info):not(.success){background:#FFF5EB;border-color:#FFDEC5;color:#915B31}
.takeoff-card{padding:17px 0}
.evidence-thumb{background:#F0F5F8;border-radius:12px}
.proof-pill{border-color:#D6E5ED;border-radius:12px;background:#F4F9FC}
.handoff-head{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:16px;overflow:hidden;position:relative}
.handoff-head h2{max-width:650px}
.handoff-head p{max-width:650px}
.handoff-emblem{border-radius:16px;background:#0A2A45;color:#fff;font-weight:900;font-size:28px;white-space:nowrap;padding:31px 24px;letter-spacing:-2px;box-shadow:0 5px 20px #102F4315}
.handoff-emblem span{color:#FF670A;margin:0 10px}
.handoff-list{display:flex;flex-direction:column;gap:12px;color:#416178;font-weight:650;font-size:12px;margin:8px 0}
.handoff-list span:first-letter{color:#128565}
.mobile-brand img{height:30px;width:auto;max-width:173px;object-fit:contain}
#toast{background:#062646!important;font-size:12px;max-width:420px;padding:14px 18px;border:1px solid #2B5671;box-shadow:0 12px 36px #0B294255}
@media(max-width:1100px){.main-content{padding:26px 25px 85px}.sidebar{width:235px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}}
@media(max-width:730px){
 .sidebar{display:none}.topbar{height:70px;padding:0 17px;background:#fff;box-shadow:0 1px 0 #E1E8EE}
 .mobile-brand{display:flex}.header-breadcrumb,.local-label,.quiet-btn span{display:none}
 .main-content{padding:17px 14px calc(115px + env(safe-area-inset-bottom))}
 .intro-hero{padding:23px 21px;min-height:auto;border-radius:16px;margin-bottom:23px}
 .intro-title{font-size:27px;max-width:320px}.intro-hero p{font-size:12px;max-width:315px}
 .hero-watermark{right:10px;font-size:190px;top:12px}
 .hero-actions{gap:8px}.hero-actions .btn{flex:1;min-width:130px;padding:9px;font-size:12px}
 .page-top{flex-direction:column;gap:10px;margin-bottom:18px}.page-top h1{font-size:25px}
 .stat-grid{gap:9px}.stat-card{min-height:118px;padding:13px}.stat-card:before{left:13px;right:13px}
 .stat-label{font-size:9px;line-height:1.4}.stat-value{font-size:19px;margin-top:9px;letter-spacing:-.7px}.stat-note{font-size:10px;line-height:1.4}
 .card{padding:17px 15px;border-radius:13px}.card-heading{padding-bottom:13px}
 .grid-even{grid-template-columns:1fr}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bottom-nav{display:flex;justify-content:space-around;background:#fff;border-top:1px solid #DDE7EE;padding:6px 5px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -8px 25px #09243B0B}
 .bottom-nav button{flex:1;max-width:80px;min-height:50px;font-size:10px;color:#8292A2;font-weight:700;padding:4px 1px;gap:4px}
 .bottom-nav button span{font-size:23px;line-height:1}.bottom-nav button.active{color:#D95606}
 .page-actions{width:100%}.page-actions .btn{flex:1}.selected-project{align-items:stretch;flex-direction:column}
 .selected-project select{max-width:100%}.stat-grid+.grid-2{gap:12px}
 .handoff-head{display:block}.handoff-emblem{display:none}
 .takeoff-card{align-items:flex-start}.evidence-thumb{flex-basis:94px;height:85px}
 .takeoff-info .form-actions .btn{flex:1 1 100%;white-space:normal}
 #toast{bottom:90px;left:14px;right:14px;max-width:none}
}
@media(max-width:390px){.stat-value{font-size:17px}.intro-title{font-size:25px}}
@media print {.sidebar,.topbar,.bottom-nav,.intro-hero,.no-print{display:none!important}.main-content{padding:0;max-width:none}.handoff-emblem{display:none}.card,.stat-card{box-shadow:none}}

/* JobSlice private company cloud, v1.1 */
[hidden]{display:none!important}
.cloud-locked .app-frame,.cloud-locked .bottom-nav{display:none!important}
.cloud-gate{position:fixed;z-index:9900;inset:0;overflow:auto;background:linear-gradient(135deg,#e9f1f8,#fff);display:grid;place-items:center;padding:24px}
.gate-card{background:white;padding:36px;max-width:525px;width:100%;border:1px solid #dae3eb;border-radius:20px;box-shadow:0 18px 60px #09253b26;color:#16324a}
.gate-logo{display:block;width:min(245px,80%);height:auto;object-fit:contain;margin-bottom:24px}
.gate-card h1{font-size:25px;line-height:1.25;margin:0 0 12px;color:#062646}
.gate-card h3{font-size:14px;margin:20px 0 8px;color:#17344a}
.gate-card p{font-size:14px;line-height:1.65}
.gate-card label{display:block;margin-bottom:8px;font-weight:700;font-size:13px}
.gate-card form input{display:block;width:100%;margin-bottom:12px;padding:12px;border:1px solid #c6d5e0;border-radius:8px}
.gate-card .btn{margin-top:6px}
.gate-muted{color:#667987;font-size:12px!important}
.gate-choice{display:flex;width:100%;justify-content:space-between;align-items:center;padding:13px 15px;background:#f5f9fc;border:1px solid #ccdce7;border-radius:10px;cursor:pointer;color:#183a51;font-weight:700;margin:8px 0}
.gate-choice:hover{border-color:#ff670a}.gate-choice small{color:#667987}
.gate-error{color:#ae1b25!important}
.cloud-role{font-size:9px;letter-spacing:.07em;color:#426178;border:1px solid #ccd8e0;padding:5px 7px;border-radius:20px}
#cloudState[data-status="ok"]{color:#167352}#cloudState[data-status="warn"]{color:#a85a15}#cloudState[data-status="error"]{color:#b92e32;font-weight:800}
.team-panel{max-width:700px!important;padding:24px;max-height:calc(100vh - 60px);overflow:auto}
.team-members{max-height:280px;overflow:auto;margin:12px 0;border:1px solid #dce6ed;border-radius:10px;padding:14px}
.team-person{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 3px;border-bottom:1px solid #eef2f4}
.team-person small{display:block;color:#698091}
.team-invite{display:grid;gap:8px}.team-invite input,.team-invite select{padding:12px;border-radius:8px;border:1px solid #cbd8e1}
.team-invite small{line-height:1.5;color:#647c8d}
.cloud-viewer #view form input,.cloud-viewer #view form textarea,.cloud-viewer #view form select{pointer-events:none;opacity:.7}
.cloud-viewer #view form button[type="submit"],.cloud-viewer #view #newProject,.cloud-viewer #view #deleteProject,.cloud-viewer #view #addItem{display:none!important}
@media(max-width:850px){.cloud-role{display:none}.top-actions .quiet-btn span{display:none}.team-panel{width:calc(100vw - 30px)}.gate-card{padding:24px}}

/* Safer, editable OneCrew image import */
.import-review-table input.import-cell,.import-review-table select.import-cell{font:inherit;background:#fff;border:1px solid #cbd8e4;border-radius:7px;padding:9px;color:#102e4d;max-width:210px;width:100%;box-sizing:border-box}
.import-review-table th,.import-review-table td{vertical-align:top;padding:10px 8px}
.import-approval{display:flex;align-items:flex-start;gap:9px;margin-top:15px;font-weight:650;background:#fff8f0;border:1px solid #f6cb94;border-radius:8px;padding:13px}
.import-approval input{margin-top:4px;width:19px;height:19px;flex-shrink:0}
