:root{--black:#111;--gold:#0b63b6;--blue:#0b63b6;--blue-dark:#102a49;--blue-light:#eaf4ff;--blue-line:#9fc7ee;--bg:#f5f5f3;--line:#dedbd2;--muted:#6c6a63}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:#171717}a{color:inherit;text-decoration:none}.topbar{height:68px;background:#050505;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand img{width:220px;height:50px;object-fit:contain;object-position:left center}.brand span{display:none}.topbar nav{display:flex;gap:18px;align-items:center}.topbar nav form{margin:0}.linkbtn{background:none;border:0;color:white;cursor:pointer;font:inherit}.wrap{max-width:1180px;margin:0 auto;padding:28px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.pagehead h1{margin:0 0 5px;font-size:30px}.pagehead p{margin:0;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c9c5ba;background:white;color:#111;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.btn.primary{background:#111;color:white;border-color:#111}.btn.primary:hover{box-shadow:inset 0 -3px 0 var(--gold)}.wide{width:100%}.actions{display:flex;gap:8px;flex-wrap:wrap}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 2px 10px rgba(0,0,0,.035)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat{background:#111;color:white;border-radius:10px;padding:18px;border-bottom:3px solid var(--gold)}.stat b{display:block;font-size:28px}.stat span{color:#d7d7d7}.sectionhead{display:flex;justify-content:space-between}.rowlink{display:flex;flex-direction:column;padding:12px 0;border-bottom:1px solid #eee}.rowlink span,.rowlink small,.muted{color:var(--muted);font-size:13px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #eceae4;vertical-align:top}th{font-size:12px;text-transform:uppercase;color:#6e6c64}.pill{font-size:11px;font-weight:800;background:#eee8d8;border:1px solid #9fc7ee;border-radius:999px;padding:5px 8px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:13px}input,select,textarea{width:100%;border:1px solid #cbc8be;border-radius:7px;padding:10px;font:inherit;background:white}textarea{min-height:92px}.check{flex-direction:row;align-items:center}.check input{width:auto}.search{display:flex;gap:8px;margin-bottom:15px}.stack{display:grid;gap:12px}.details{display:grid;grid-template-columns:130px 1fr;gap:8px;margin:0 0 20px}.details dt{font-weight:700}.details dd{margin:0}.inline{display:flex;gap:8px}.inline select{max-width:240px}.totals>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee}.totals .grand{font-size:22px;padding-top:16px;color:#111}.bigmoney{font-size:30px;font-weight:800;margin:10px 0;color:#0b63b6}.photogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.photogrid img{width:100%;height:120px;object-fit:cover;border-radius:7px}.photogrid small{display:block}.taskform{display:grid;gap:8px;margin-bottom:15px}.task{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #eee}.task small{display:block;color:var(--muted)}.task p{margin:5px 0}.task.done{opacity:.55}.loginbody{min-height:100vh;display:grid;place-items:center;background:#111}.login{width:min(420px,92vw)}.loginlogo{display:block;width:min(320px,82vw);height:auto;object-fit:contain;margin:0 auto 12px}.login h1{text-align:center}.alert.bad{background:#ffe2df;padding:10px;border-radius:7px;margin-bottom:10px}.tablewrap{overflow:auto}hr{border:0;border-top:1px solid #eee;margin:18px 0}@media(max-width:760px){.topbar{padding:0 14px}.brand span{font-size:14px}.topbar nav{gap:10px;font-size:13px}.wrap{padding:16px}.grid2,.formgrid,.stats{grid-template-columns:1fr}.pagehead{align-items:flex-start;flex-direction:column}.full{grid-column:auto}.photogrid{grid-template-columns:repeat(2,1fr)}}

/* Estimate action buttons */
.btn.primary.estimate-gold{background:var(--gold);color:#111;border-color:var(--gold);box-shadow:0 2px 6px rgba(0,0,0,.12)}
.btn.primary.estimate-gold:hover{background:#2f82cc;border-color:#2f82cc;box-shadow:0 2px 8px rgba(0,0,0,.16)}

/* Job profile notes + production details */
.job-brief{margin-top:18px;padding-top:16px;border-top:1px solid #eee}
.job-brief textarea{min-height:115px;resize:vertical}
.additional-info-card{margin-bottom:20px}
.additional-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.additional-info-grid .full{grid-column:1/-1}
.checkline{display:flex;align-items:center;gap:9px;font-weight:700;font-size:13px}
.checkline input{width:auto}
@media(max-width:760px){.additional-info-grid{grid-template-columns:1fr}.additional-info-grid .full{grid-column:auto}}


/* v0.3 workflow + job profile redesign */
.quick-job-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:900px}.quick-job-form .actions{grid-column:1/-1;margin-top:4px}.field-help{font-weight:400;color:var(--muted);font-size:12px}.job-pagehead .job-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.job-title-row h1{display:inline-block}.job-notes-btn{border-color:var(--gold);background:#eef6ff}.job-notes-btn:hover{background:#dfeeff}.subsection-title{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#0b63b6;border-bottom:1px solid #eee;padding:8px 0 6px;margin-top:2px}.permit-fields{grid-template-columns:1fr 1fr;gap:14px 18px;align-items:end}.permit-toggle{min-height:42px}.estimate-card .estimate-gold,.btn.primary.estimate-gold{background:var(--gold);color:#111;border-color:var(--gold)}.estimate-card .estimate-gold:hover,.btn.primary.estimate-gold:hover{background:#2f82cc;border-color:#2f82cc;box-shadow:none}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.modal-backdrop.open{display:flex}.modal-card{width:min(720px,96vw);max-height:86vh;overflow:auto;background:white;border-radius:14px;padding:22px;box-shadow:0 18px 60px rgba(0,0,0,.28)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #eee;padding-bottom:12px;margin-bottom:14px}.modal-head h2{margin:0 0 4px}.modal-close{border:0;background:transparent;font-size:32px;line-height:1;cursor:pointer;color:#555}.note-entry{display:grid;gap:10px;margin-bottom:18px}.note-entry textarea{min-height:90px}.note-list{display:grid;gap:10px}.note-item{border:1px solid #e4e1d9;background:#faf9f6;border-radius:10px;padding:12px}.note-item p{margin:8px 0 0;white-space:pre-wrap}.note-meta{display:flex;justify-content:space-between;gap:12px;color:#555;font-size:12px}.note-meta strong{color:#111}.additional-info-grid select:disabled{background:#f1f1ef;color:#777}
@media(max-width:760px){.quick-job-form{grid-template-columns:1fr}.quick-job-form .actions{grid-column:auto}.permit-fields{grid-template-columns:1fr}.job-pagehead .job-title-row{align-items:flex-start}.note-meta{flex-direction:column;gap:3px}}

/* v0.4 collapsible job information sections */
.job-accordion{border:1px solid var(--line);border-radius:10px;background:#fff;margin-top:12px;overflow:hidden}
.job-accordion summary{list-style:none;cursor:pointer;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#faf9f6;font-weight:800;color:#171717}
.job-accordion summary::-webkit-details-marker{display:none}
.job-accordion summary:after{content:"+";flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-size:18px;line-height:1}
.job-accordion[open] summary:after{content:"–";background:var(--gold);color:#111}
.job-accordion summary span{font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:#0b63b6}
.job-accordion summary small{margin-left:auto;color:var(--muted);font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58%}
.job-accordion[open] summary{border-bottom:1px solid #eee;background:#fffdf8}
.accordion-body{padding:16px}
.additional-info-save{display:flex;justify-content:flex-end;margin-top:14px}
@media(max-width:760px){.job-accordion summary{align-items:flex-start}.job-accordion summary small{display:none}.accordion-body{padding:14px}.additional-info-save .btn{width:100%}}


/* Job files */
.job-files-btn{border-color:var(--gold);background:#eef6ff}.job-files-btn:hover{background:#dfeeff}.job-file-upload{display:grid;gap:10px;padding-bottom:18px;border-bottom:1px solid #eee;margin-bottom:14px}.job-file-list{display:grid;gap:10px}.job-file-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e4e1d9;border-radius:10px;padding:10px;background:#faf9f6}.job-file-icon{width:54px;height:54px;border-radius:8px;background:#eee8d8;display:grid;place-items:center;overflow:hidden;font-size:11px;font-weight:800;color:#174f83}.job-file-icon img{width:100%;height:100%;object-fit:cover}.job-file-info{min-width:0}.job-file-name{font-weight:800;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-file-info small{display:block;color:var(--muted);margin-top:3px}.job-file-info p{margin:6px 0 0;white-space:pre-wrap}.job-file-actions{display:flex;gap:7px;align-items:center}.job-file-actions form{margin:0}.btn.danger{border-color:#d9a3a3;color:#9f1f1f;background:#fff}.btn.danger:hover{background:#fff0f0}.job-files-modal{width:min(820px,96vw)}
@media(max-width:760px){.job-file-item{grid-template-columns:46px minmax(0,1fr)}.job-file-icon{width:46px;height:46px}.job-file-actions{grid-column:1/-1}.job-file-actions .btn{flex:1}.job-pagehead .job-title-row{gap:8px}}

/* v0.6 editable estimate */
.estimate-edit-table input{min-width:82px;padding:8px}.estimate-edit-table td:nth-child(2),.estimate-edit-table td:nth-child(3){width:120px}.estimate-summary-edit{display:grid;gap:10px}.estimate-summary-edit>label{margin:0}.estimate-summary-edit>div:not(.sectionhead){display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #eee}.estimate-summary-edit .grand{font-size:22px;color:#111;border-top:2px solid var(--gold);margin-top:4px}.estimate-margin-field{background:#eef6ff;border:1px solid #b8d6f2;border-radius:9px;padding:10px}.estimate-margin-field small{font-weight:400;color:var(--muted)}.estimate-saved-note{text-align:center;margin:0}.estimate-email-card{max-width:580px;margin-left:auto;margin-right:0}.estimate-email-card form{display:grid;gap:12px}@media(max-width:760px){.estimate-edit-table input{min-width:68px}.estimate-email-card{max-width:none}}


/* v0.7 estimate summary polish */
.estimate-sectionhead{align-items:center;gap:12px}.estimate-sectionhead h2{margin:0}.estimate-badge{display:inline-flex;align-items:center;white-space:nowrap;font-size:11px;font-weight:800;letter-spacing:.02em;background:#eef6ff;color:#174f83;border:1px solid #9fc7ee;border-radius:999px;padding:6px 10px;line-height:1}.estimate-summary-edit .profit-row{font-size:16px;background:#f3f8fd;margin:2px -4px 0;padding:11px 4px!important;border-top:1px solid #c9ddf1;border-bottom:1px solid #c9ddf1!important}.estimate-summary-edit .profit-row b{color:#0b63b6;font-size:18px}@media(max-width:760px){.estimate-sectionhead{align-items:flex-start;flex-direction:column}.estimate-badge{font-size:10px}}

/* SimplTracker employee roles */
.role-badge{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid rgba(199,167,91,.65);border-radius:999px;color:#0b63b6;font-size:12px;font-weight:700;white-space:nowrap}
.employee-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #e8e3d8}.employee-row>div{display:flex;flex-direction:column;gap:3px}.employee-row span{color:#706b62;font-size:13px}.employee-row select{min-width:155px}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.role-grid>div{padding:14px;border:1px solid #e6dfd1;border-radius:12px;background:#faf9f6;display:flex;flex-direction:column;gap:5px}.role-grid strong{color:#8b6b19}.role-grid span{font-size:13px;color:#605c54;line-height:1.35}
@media(max-width:800px){.employee-row{align-items:flex-start;flex-direction:column}.employee-row .inline{width:100%}.employee-row select{flex:1}.role-grid{grid-template-columns:1fr}.role-badge{display:none}}
.brief-readonly{white-space:pre-wrap;padding:12px 14px;border:1px solid #e3ddd2;border-radius:10px;background:#faf9f6;color:#37342f;min-height:58px}.role-fieldset{border:0;padding:0;margin:0;min-width:0}.role-fieldset:disabled input,.role-fieldset:disabled select,.role-fieldset:disabled textarea{opacity:.8;background:#f7f5f0;color:#3d3932;cursor:default}.role-fieldset:disabled .btn{display:none}
\n\n/* v1.0 office financial pipeline */\n.financial-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.financial-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.035);border-top:4px solid var(--gold)}.financial-stat span{display:block;text-transform:uppercase;letter-spacing:.04em;font-weight:800;font-size:12px;color:#6e6a60}.financial-stat b{display:block;font-size:27px;margin:7px 0 5px;color:#171717}.financial-stat small{color:var(--muted);font-size:12px}.financial-stat.invoiced{border-top-color:#c9822a}.financial-stat.paid{border-top-color:#5f8c64}.financial-stat.draft{border-top-color:#8d8a81}.financial-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;border:1px solid #9fc7ee;background:#eef6ff;color:#174f83}.financial-paid{background:#edf7ee;border-color:#a9c9ad;color:#37623c}.financial-invoiced{background:#fff4e7;border-color:#e8bd84;color:#8c4e0b}.financial-lost{background:#fff0f0;border-color:#dfa8a8;color:#9f1f1f}.financial-draft{background:#f3f2ef;border-color:#cfccc3;color:#59564f}.status-editor{margin:10px 0}.status-editor>label{gap:7px}.status-editor .inline{align-items:center}.financial-status-editor{padding-top:12px;border-top:1px solid #eee}.financial-status-editor select{min-width:230px}\n@media(max-width:900px){.financial-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.financial-stats{grid-template-columns:1fr}.financial-stat b{font-size:25px}.status-editor .inline{flex-direction:column;align-items:stretch}.status-editor .inline select{max-width:none}.status-editor .inline .btn{width:100%}}\n

/* v1.1 compact financial pipeline accordion */
.financial-accordion{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:20px;box-shadow:0 2px 10px rgba(0,0,0,.035);overflow:hidden}
.financial-accordion>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:16px 18px;user-select:none}
.financial-accordion>summary::-webkit-details-marker{display:none}
.financial-accordion>summary:hover{background:#faf9f6}
.financial-summary-main{display:flex;align-items:center;gap:12px;min-width:0}
.financial-summary-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#111;color:#fff;font-size:20px;font-weight:800;border-bottom:3px solid var(--gold)}
.financial-summary-main strong{display:block;font-size:16px}
.financial-summary-main small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.financial-summary-total{text-align:right;min-width:145px}
.financial-summary-total small{display:block;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:10px;font-weight:800;margin-bottom:2px}
.financial-summary-total b{font-size:20px}
.financial-chevron{font-size:22px;line-height:1;transition:transform .18s ease;color:#6e6a60}
.financial-accordion[open] .financial-chevron{transform:rotate(180deg)}
.financial-accordion-body{border-top:1px solid #eceae4;padding:16px 18px 18px;background:#fbfaf7}
.financial-accordion .financial-stats{margin-bottom:0}
.financial-accordion .financial-stat{box-shadow:none;padding:15px 16px;border-radius:10px}
.financial-accordion .financial-stat b{font-size:24px}
@media(max-width:760px){.financial-accordion>summary{grid-template-columns:minmax(0,1fr) auto;gap:10px}.financial-summary-total{grid-column:1/2;text-align:left;padding-left:50px;min-width:0}.financial-chevron{grid-column:2;grid-row:1/3}.financial-summary-main small{white-space:normal}.financial-accordion-body{padding:12px}}

/* v1.3 company-wide open service tasks */
.service-tasks-accordion{margin-top:-6px}
.service-task-icon{background:#111;color:#fff;font-size:18px}
.service-tasks-body{padding-top:14px}
.service-task-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.service-task-toolbar>div{display:flex;flex-direction:column;gap:3px}
.service-task-toolbar small{color:var(--muted);font-size:12px}
.open-task-list{display:grid;gap:8px}
.open-task-row{display:grid;grid-template-columns:76px minmax(0,1fr) 190px;align-items:center;gap:14px;padding:12px 14px;background:#fff;border:1px solid #e5e1d8;border-radius:10px;transition:background .15s ease,border-color .15s ease}
.open-task-row:hover{background:#fffdf8;border-color:#9fc7ee}
.open-task-priority{font-size:10px;font-weight:900;letter-spacing:.04em;text-align:center;border-radius:999px;padding:6px 8px;background:#eee;color:#555}
.open-task-priority.urgent{background:#fee9e7;color:#9e251d;border:1px solid #efb5b0}
.open-task-priority.high{background:#fff1df;color:#8a520d;border:1px solid #ecc78f}
.open-task-priority.normal{background:#f2efe6;color:#675a37;border:1px solid #ddd1aa}
.open-task-priority.low{background:#eef2ee;color:#4d6450;border:1px solid #c9d5ca}
.open-task-main{min-width:0;display:flex;flex-direction:column;gap:3px}
.open-task-main>strong{font-size:14px}
.open-task-main>span,.open-task-main>small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.open-task-meta{text-align:right;display:flex;flex-direction:column;gap:3px}
.open-task-meta strong{font-size:13px}
.open-task-meta span{font-size:11px;color:var(--muted)}
.empty-task-state{padding:22px;text-align:center;border:1px dashed #d9d4c9;border-radius:10px;color:var(--muted);background:#fff}
@media(max-width:760px){.service-task-toolbar{align-items:stretch;flex-direction:column}.service-task-toolbar .btn{width:100%}.open-task-row{grid-template-columns:72px minmax(0,1fr)}.open-task-meta{grid-column:2;text-align:left}.open-task-main>span,.open-task-main>small{white-space:normal}}

/* Jobs list role toggle */
.pagehead-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.empty-state{padding:28px 12px;text-align:center;color:#666}
@media(max-width:700px){.pagehead-actions{width:100%;justify-content:flex-start}}


/* v1.7 priority pills on My Open Tasks */
.my-task-row{gap:5px}
.my-task-titleline{display:flex;align-items:center;justify-content:space-between;gap:10px}
.my-task-titleline>strong{min-width:0}
.my-task-titleline .open-task-priority{flex:0 0 auto;padding:4px 8px;font-size:9px}
@media(max-width:560px){.my-task-titleline{align-items:flex-start}.my-task-titleline .open-task-priority{margin-top:1px}}

.delete-job-form{margin:0;display:inline-flex}.job-pagehead .actions{align-items:center;flex-wrap:wrap}

/* v1.9 service task detail workflow */
.task-detail-page{display:grid;gap:20px}.task-detail-head{align-items:flex-start}.backlink{display:inline-block;margin-bottom:7px;color:#725b1f;font-size:13px;font-weight:700}.task-head-badges{display:flex;gap:8px;align-items:center}.task-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900;letter-spacing:.04em;border:1px solid #d8d3c9}.task-status-pill.open{background:#eef6ff;color:#725b1f;border-color:#9fc7ee}.task-status-pill.complete{background:#edf7ee;color:#37623c;border-color:#a9c9ad}.task-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.task-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.task-meta-grid>div{display:flex;flex-direction:column;gap:4px;padding:11px 12px;background:#faf9f6;border:1px solid #ece7dc;border-radius:9px}.task-meta-grid small{color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.03em}.task-original-notes{margin-top:14px;padding-top:12px;border-top:1px solid #ece7dc}.task-original-notes small{font-weight:800;color:var(--muted)}.task-original-notes p{white-space:pre-wrap;margin-bottom:0}.task-completion-card{display:grid;align-content:start;gap:10px}.completion-requirement{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;border:1px solid #e2ddd3;background:#faf9f6}.completion-requirement>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-weight:900}.completion-requirement.met{border-color:#b9d3bc;background:#f3faf4}.completion-requirement.met>span{background:#dceede;color:#37623c}.completion-requirement.unmet{border-color:#e0cda0;background:#f3f8fd}.completion-requirement.unmet>span{background:#f7e8bd;color:#725b1f}.completion-requirement div{display:flex;flex-direction:column}.completion-requirement small{color:var(--muted)}.task-complete-btn{width:100%;margin-top:4px}.task-complete-btn:disabled{opacity:.45;cursor:not-allowed}.completion-help{display:block;text-align:center;color:var(--muted);line-height:1.35}.task-completed-banner{padding:11px;border-radius:8px;background:#edf7ee;border:1px solid #a9c9ad;color:#37623c;font-weight:700;text-align:center}.task-checklist-card .sectionhead p,.task-photo-grid p{margin:3px 0 0}.task-checklist-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.checklist-option{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #e4dfd5;border-radius:10px;background:#faf9f6;cursor:pointer}.checklist-option.required{border-color:#9fc7ee;background:#f3f8fd}.checklist-option input{width:19px;height:19px;flex:0 0 auto}.checklist-option span{display:flex;flex-direction:column;gap:2px}.checklist-option small{font-size:10px;color:#0b63b6;font-weight:800;text-transform:uppercase}.task-checklist-form>.btn{grid-column:1/-1;justify-self:start}.photo-count-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#f2efe6;border:1px solid #ddd1aa;font-size:11px;font-weight:800;color:#675a37}.task-photo-form,.task-note-form{display:grid;gap:10px;margin-bottom:16px}.task-photo-form label{display:grid;gap:5px;font-weight:700;font-size:12px}.task-note-form textarea{min-height:100px}.task-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.task-photo-grid figure{margin:0;border:1px solid #e3ded3;border-radius:10px;overflow:hidden;background:#faf9f6}.task-photo-grid img{display:block;width:100%;height:180px;object-fit:cover}.task-photo-grid figcaption{display:flex;flex-direction:column;gap:3px;padding:9px 10px}.task-photo-grid figcaption strong{font-size:13px}.task-photo-grid figcaption small{font-size:10px;color:var(--muted)}.task-note-list{display:grid;gap:9px}.task-note-list article{border:1px solid #e4dfd5;border-radius:10px;padding:11px 12px;background:#faf9f6}.task-note-list article>div{display:flex;justify-content:space-between;gap:10px}.task-note-list article small{color:var(--muted);font-size:10px}.task-note-list article p{white-space:pre-wrap;margin:8px 0 0}.task-link{text-decoration:none;color:inherit}.task-link:hover{border-color:#9fc7ee;background:#fffdf8}.task-titleline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-titleline .open-task-priority{padding:4px 8px;font-size:9px}.alert{padding:11px 13px;border-radius:9px;font-weight:700}.alert.error{background:#fff0f0;border:1px solid #dfa8a8;color:#8d2020}.alert.success{background:#edf7ee;border:1px solid #a9c9ad;color:#37623c}
@media(max-width:800px){.task-detail-grid{grid-template-columns:1fr}.task-checklist-form{grid-template-columns:1fr}.task-meta-grid{grid-template-columns:1fr 1fr}.task-photo-grid{grid-template-columns:1fr}.task-detail-head{gap:10px}.task-head-badges{width:100%;justify-content:flex-start}}
@media(max-width:500px){.task-meta-grid{grid-template-columns:1fr}.task-photo-grid img{height:220px}}

.task-kind-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900;letter-spacing:.05em;border:1px solid #d8d3c9;background:#f4f2ec;color:#5f5a4c}
.task-kind-pill.service{background:#f5efe0;color:#745d20;border-color:#9fc7ee}
.task-kind-pill.delivery{background:#edf3f7;color:#315b73;border-color:#bfd0da}
.taskform #taskType{font-weight:800}

/* v1.10.1 photo count badge polish */
.task-photo-grid + *{}
.task-detail-page .sectionhead{align-items:flex-start;gap:12px}
.photo-count-pill{
  flex:0 0 auto;
  align-self:flex-start;
  width:auto;
  height:auto;
  min-width:0;
  white-space:nowrap;
  line-height:1;
  padding:6px 10px;
  border-radius:999px;
  background:#f4f2ec;
  border:1px solid #d8d3c9;
  color:#5f5a4c;
  font-size:10px;
  font-weight:900;
  letter-spacing:.02em;
}
@media(max-width:560px){
  .task-detail-page .sectionhead{align-items:flex-start}
  .photo-count-pill{margin-top:2px}
}

/* v1.10.2 task multi-photo + mobile camera picker */
.photo-upload-help{display:block;margin-top:-3px;color:var(--muted);font-size:11px;line-height:1.4}
.task-photo-description-list{display:grid;gap:8px}
.task-photo-description-item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid #e4dfd5;border-radius:10px;background:#faf9f6;font-weight:700;font-size:12px}
.task-photo-preview-thumb{width:88px;height:72px;object-fit:cover;border-radius:8px;border:1px solid #d9d3c8;background:#fff}
.task-photo-description-fields{display:grid;gap:6px;min-width:0}
.task-photo-description-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5f5a4c}
@media(max-width:500px){.task-photo-description-item{grid-template-columns:72px minmax(0,1fr)}.task-photo-preview-thumb{width:72px;height:72px}}

/* v1.11 organized job photo folders */
.job-photo-library .sectionhead{align-items:flex-start;margin-bottom:12px}.job-photo-library .sectionhead h2{margin-bottom:4px}.job-photo-library .sectionhead p{margin:0;color:var(--muted);font-size:13px}.job-photo-folders{display:grid;gap:9px}.job-photo-folder{border:1px solid #e1ddd4;border-radius:10px;background:#fbfaf7;overflow:hidden}.job-photo-folder summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;cursor:pointer;font-weight:800}.job-photo-folder summary::-webkit-details-marker{display:none}.job-photo-folder[open] summary{border-bottom:1px solid #e7e2d8;background:#fffdf8}.job-photo-folder-title{display:flex;align-items:center;gap:9px}.folder-icon{display:grid;place-items:center;width:28px;height:24px;border-radius:6px;background:#111;color:var(--gold);font-size:13px}.folder-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 8px;border-radius:999px;background:#f2efe6;border:1px solid #ddd1aa;color:#675a37;font-size:11px;font-weight:900}.job-photo-folder-body{padding:14px}.job-photo-upload-form{display:grid;gap:9px;padding:12px;border:1px solid #e8e3da;border-radius:9px;background:white;margin-bottom:12px}.job-photo-upload-form label{display:grid;gap:5px}.job-photo-upload-form .btn{justify-self:start}.job-photo-empty{padding:16px;text-align:center;border:1px dashed #dcd5c8;border-radius:9px;color:var(--muted);font-size:13px}.job-folder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.job-folder-file-card{position:relative;border:1px solid #e4dfd5;border-radius:9px;background:white;min-width:0;overflow:hidden}.job-folder-file{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;padding:8px 70px 8px 8px;border:0;border-radius:9px;background:white;min-width:0}.job-folder-file-card:hover{border-color:#d2b76d;background:#fffdf8}.job-folder-file:hover{background:#fffdf8}.job-folder-file img,.job-folder-pdf-preview{width:72px;height:58px;border-radius:7px;border:1px solid #ddd7cb;object-fit:cover;background:#f7f4ed}.job-folder-pdf-preview{position:relative;overflow:hidden;background:white}.job-folder-pdf-preview iframe{display:block;width:100%;height:100%;border:0;pointer-events:none;background:white}.pdf-preview-tag{position:absolute;left:4px;bottom:4px;padding:2px 5px;border-radius:999px;background:rgba(17,17,17,.88);color:#fff;font-size:8px;font-weight:900;line-height:1.2;letter-spacing:.03em}.job-folder-file:hover .job-folder-pdf-preview{border-color:#d2b76d}.job-folder-file>div:last-child{display:grid;gap:4px;min-width:0}.job-folder-file strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-folder-file small{color:var(--muted);font-size:10px}@media(max-width:900px){.job-folder-grid{grid-template-columns:1fr}}@media(max-width:500px){.job-photo-folder summary{padding:12px}.job-photo-folder-title{font-size:13px}.job-folder-file{grid-template-columns:62px minmax(0,1fr)}.job-folder-file img,.job-folder-pdf-preview{width:62px;height:54px}}


/* Crew workflow / notifications */
.dashboard-notifications{margin-bottom:18px}.notification-count{display:inline-block;padding:5px 10px;border:1px solid #d8c89c;border-radius:999px;background:#f7f2e7;font-weight:800;font-size:.8rem}.notification-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid #eee;text-decoration:none;color:inherit}.notification-row div{display:flex;flex-direction:column;gap:4px}.notification-row span,.notification-row small{color:#666}.needs-invoiced-accordion{border-left:none}.needs-invoiced-accordion .financial-summary-icon{color:#c62828}.crew-job-card,.crew-complete-card{max-width:900px;margin:0 auto 18px}.crew-details{font-size:1.05rem}.crew-job-actions{margin-top:24px}.crew-complete-button{width:100%;min-height:58px;font-size:1.1rem}.crew-complete-success{padding:18px;border:1px solid #9fc8a7;background:#f2faf4;border-radius:12px}.crew-complete-success strong{font-size:1.2rem}.crew-complete-success p{margin-bottom:0}


/* v1.12.2 clickable dashboard job stats */
.stat-link{display:block;transition:transform .15s ease,box-shadow .15s ease}.stat-link:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.12)}.stat-link:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* v1.12.3 dashboard global job search */
.dashboard-global-search{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:-2px 0 20px;display:flex;align-items:center;gap:20px;justify-content:space-between;box-shadow:0 2px 10px rgba(0,0,0,.025)}
.dashboard-search-copy{display:flex;flex-direction:column;gap:3px;min-width:250px}.dashboard-search-copy strong{font-size:17px}.dashboard-search-copy small{color:var(--muted);line-height:1.35}
.dashboard-search-controls{display:flex;gap:8px;flex:1;max-width:700px}.dashboard-search-controls input{min-width:0;font-size:15px;padding:12px 13px}
@media(max-width:760px){.dashboard-global-search{align-items:stretch;flex-direction:column;gap:10px}.dashboard-search-controls{max-width:none}.dashboard-search-controls .btn{flex:0 0 auto}}

/* Employee store/location assignment */
.employee-store{font-weight:700;color:#8b6b19!important}.employee-settings-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.employee-settings-form select{min-width:150px}
@media(max-width:800px){.employee-settings-form{width:100%}.employee-settings-form select{flex:1 1 100%;width:100%}.employee-settings-form .btn{width:100%}}

/* v1.12.6 KPI dashboard/reporting */
.pagehead-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.kpi-dashboard-btn{background:#fff;border:1px solid #d6d0c4;font:inherit;font-weight:700;padding:10px 14px}.kpi-dashboard-btn:hover{border-color:#0b63b6;transform:translateY(-1px)}
.kpi-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:4px 0 22px}.kpi-stat-card{display:flex;min-height:132px;flex-direction:column;justify-content:center;text-decoration:none}.kpi-stat-card b{font-size:28px}.kpi-stat-card small{color:#d9d9d9;margin-top:6px;font-size:13px}.kpi-report-section{margin-bottom:18px}.kpi-report-section .sectionhead{align-items:flex-start;gap:14px}.kpi-report-section .sectionhead p{margin:4px 0 0;color:#6b6258}.kpi-big-number{font-size:38px;font-weight:900;margin:18px 0 2px}.muted{color:#6b6258}.table-wrap{overflow-x:auto}.kpi-table{width:100%;border-collapse:collapse;margin-top:12px}.kpi-table th{text-align:left;background:#111;color:#fff;padding:11px 12px;font-size:13px}.kpi-table td{padding:12px;border-bottom:1px solid #e6e0d7}.kpi-table th:last-child,.kpi-table td:last-child{text-align:right}.kpi-table th:nth-last-child(2),.kpi-table td:nth-last-child(2){text-align:center}
@media(max-width:800px){.kpi-card-grid{grid-template-columns:1fr}.pagehead-actions{width:100%}.pagehead-actions .btn{flex:1;text-align:center}.kpi-big-number{font-size:30px}}

/* KPI dropdown/detail reporting */
.kpi-filter-form{margin:18px 0 16px;max-width:680px}.kpi-filter-form label{display:block;font-weight:800;margin-bottom:7px}.kpi-filter-row{display:flex;gap:10px;align-items:center}.kpi-filter-row select{flex:1;min-width:0;padding:12px 14px;border:1px solid #d6d0c4;border-radius:9px;background:#fff;font:inherit}.kpi-selection-summary{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:14px 16px;margin:8px 0 14px;border:1px solid #e4ded1;border-radius:10px;background:#faf9f6}.kpi-selection-summary strong{font-size:18px}.kpi-selection-summary b{font-size:22px;margin-left:auto}.kpi-selection-summary small,.kpi-selection-summary span{color:#655f55}.kpi-prompt{padding:18px 0}.kpi-table a{color:inherit;text-decoration:underline;text-decoration-color:#0b63b6;text-underline-offset:3px}@media(max-width:700px){.kpi-filter-row{align-items:stretch;flex-direction:column}.kpi-selection-summary b{margin-left:0;width:100%}}

/* Builder profiles + cleaner KPI reporting hub */
.builder-page-grid{align-items:start}.builder-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.builder-form .full{grid-column:1/-1}.builder-directory-search{margin:8px 0 14px}.builder-directory{display:grid;gap:10px;max-height:720px;overflow:auto}.builder-directory-item{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid #e5e1d8;border-radius:10px;padding:13px;background:#faf9f6}.builder-directory-item.inactive{opacity:.6}.builder-directory-item strong{display:block;font-size:16px}.builder-directory-item small{display:block;color:var(--muted);margin-top:4px}.builder-autofill-card{border:1px solid #9fc7ee;background:#f3f8fd;border-radius:10px;padding:14px}.builder-autofill-card>div{display:flex;gap:10px;align-items:center;margin-bottom:10px}.builder-autofill-card dl{display:grid;grid-template-columns:120px 1fr;gap:6px;margin:0}.builder-autofill-card dt{font-weight:800}.builder-autofill-card dd{margin:0}.builder-autofill-card>small{display:block;color:var(--muted);margin-top:10px}
.kpi-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}.kpi-overview-card{min-height:120px}.kpi-overview-card small{display:block;color:#d9d9d9;margin-top:6px}.kpi-overview-card small a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}.kpi-ytd-summary{margin-bottom:18px}.kpi-ytd-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.kpi-ytd-numbers>div{border:1px solid #e5e1d8;border-radius:10px;padding:14px;background:#faf9f6}.kpi-ytd-numbers small{display:block;color:var(--muted);font-weight:700}.kpi-ytd-numbers strong{display:block;font-size:24px;margin-top:5px}.kpi-report-hub{display:grid;gap:12px}.kpi-report-accordion{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden}.kpi-report-accordion summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;background:#fff}.kpi-report-accordion summary::-webkit-details-marker{display:none}.kpi-report-accordion summary div{display:flex;flex-direction:column;gap:3px}.kpi-report-accordion summary strong{font-size:18px}.kpi-report-accordion summary small{color:var(--muted)}.kpi-report-accordion summary>span{font-weight:800}.kpi-report-accordion summary>span:after{content:'  ▾';color:#0b63b6}.kpi-report-accordion[open] summary{border-bottom:1px solid #eee;background:#fffdf8}.kpi-report-accordion[open] summary>span:after{content:'  ▴'}.kpi-report-body{padding:18px}.kpi-report-body .sectionhead{align-items:flex-start}.kpi-selection-summary>div{display:flex;flex-direction:column;gap:3px}
@media(max-width:800px){.builder-page-grid,.builder-form,.kpi-overview-grid,.kpi-ytd-numbers{grid-template-columns:1fr}.builder-form .full{grid-column:auto}.builder-directory-item{align-items:flex-start;flex-direction:column}.builder-directory-item .actions{width:100%}.builder-directory-item .actions .btn{flex:1}.builder-autofill-card dl{grid-template-columns:1fr}.kpi-report-accordion summary{align-items:flex-start}.kpi-report-accordion summary>span{font-size:13px;white-space:nowrap}}


/* v1.12.9 cleaner Setup hub */
.setup-nav-link{font-weight:800}.setup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.setup-card{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;gap:6px 14px;align-items:start;min-height:180px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 2px 10px rgba(0,0,0,.025);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.setup-card:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 7px 18px rgba(0,0,0,.08)}.setup-card-icon{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:#111;color:#fff;border-bottom:3px solid var(--gold);font-size:20px;font-weight:900}.setup-card h2{margin:2px 0 5px;font-size:21px}.setup-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}.setup-card>span{grid-column:2;font-weight:900;margin-top:12px;color:#0b63b6}@media(max-width:850px){.setup-grid{grid-template-columns:1fr}.setup-card{min-height:0}}

/* v1.12.11 profit margin slider */
.margin-slider-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.margin-slider-head strong{font-size:18px;color:#0b63b6;background:#fff;border:1px solid #9fc7ee;border-radius:999px;padding:4px 10px;min-width:58px;text-align:center}.margin-slider{width:100%;padding:0!important;accent-color:var(--gold);cursor:pointer}.margin-slider-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:2px}.margin-warning{display:block!important;color:#9f1d1d!important;font-weight:700!important;margin-top:6px}.estimate-gold:disabled{opacity:.5;cursor:not-allowed}

.manual-sale-form{display:grid;gap:10px;margin-top:12px}.manual-sale-form label{display:grid;gap:6px}.manual-sale-form input{width:100%}
.sub-pay-panel{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.sub-pay-panel .sectionhead{align-items:flex-start;gap:14px}.sub-pay-panel h3{margin:0 0 4px}.sub-pay-panel .sectionhead>strong{white-space:nowrap;color:#0b63b6}.sub-pay-form{display:grid;grid-template-columns:minmax(160px,.75fr) minmax(210px,1fr) auto;gap:10px;align-items:end;margin-top:14px}.sub-pay-form label{margin:0}.optional-label{font-weight:400;color:var(--muted)}.sub-pay-warning{margin-top:12px}.sub-pay-warning ul{margin:8px 0 0;padding-left:20px}@media(max-width:760px){.sub-pay-panel .sectionhead,.sub-pay-form{grid-template-columns:1fr;display:grid}.sub-pay-panel .sectionhead>strong{white-space:normal}.sub-pay-form .btn{width:100%}}

.builder-directory-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.builder-delete-form{margin:0;display:inline-flex}


/* v1.12.16 project type + jobs table polish */
.production-pill{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1;min-width:max-content}

.job-photo-delete-form{position:absolute;right:8px;top:50%;transform:translateY(-50%);margin:0;z-index:3}.job-photo-delete-btn{padding:7px 9px;font-size:11px;min-height:auto}.job-folder-file-card:has(.job-photo-delete-form) .job-folder-file{padding-right:72px}@media(max-width:500px){.job-folder-file-card:has(.job-photo-delete-form) .job-folder-file{padding-right:64px}.job-photo-delete-btn{padding:6px 7px;font-size:10px}}

/* v1.12.16.3 employee management */
.employee-manage-card{border:1px solid #ded8cc;border-radius:14px;padding:14px;margin:0 0 14px;background:#fffdf9}
.employee-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.employee-edit-grid label{margin:0}
.employee-actions{display:flex;align-items:end}
.employee-delete-form{margin-top:10px;padding-top:10px;border-top:1px solid #e8e2d7;display:flex;justify-content:flex-end}
.btn.danger{background:#8f1d1d;color:#fff;border-color:#8f1d1d}
@media(max-width:720px){.employee-edit-grid{grid-template-columns:1fr}}

/* Job Cost summary */
.job-cost-summary{display:grid;gap:10px;margin:8px 0 18px}.job-cost-summary>div{display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:end;padding:12px 0;border-bottom:1px solid #e9e5dc}.job-cost-summary span{font-size:12px;font-weight:800;letter-spacing:.05em;color:#5f5a4f}.job-cost-summary strong{font-size:24px}.job-cost-summary small{grid-column:1/-1;color:var(--muted)}.job-cost-summary .deduction-total{color:#9e1d1d}.job-cost-summary .profit-line{background:#f3f8fd;border:1px solid #b8d6f2;border-radius:10px;padding:14px}.job-cost-summary .profit-line strong{color:#0b63b6}.job-cost-list{margin:16px 0}.job-cost-list h3,.job-cost-add h3{margin:0 0 10px}.job-cost-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eee}.job-cost-row small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.job-cost-row>span{font-weight:800}.job-cost-add{margin-top:18px;padding-top:16px;border-top:1px solid #e9e5dc}.job-cost-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}.job-cost-actions{margin-top:18px}.job-cost-email{margin-top:16px;border-top:1px solid #e9e5dc;padding-top:12px}.job-cost-email summary{font-weight:800;cursor:pointer}.job-cost-email form{margin-top:12px}.compact-job-cost-form{margin-bottom:14px}@media(max-width:700px){.job-cost-add-grid{grid-template-columns:1fr}.job-cost-row{grid-template-columns:1fr auto}.job-cost-row form{grid-column:1/-1}.job-cost-summary strong{font-size:21px}}


.job-cost-summary .credit-total{color:#1f7a3f}
.job-credit-list h3,.job-credit-add h3{color:#1f7a3f}
.job-cost-row.credit-row>span{color:#1f7a3f}
.credit-button{background:#1f7a3f!important;border-color:#1f7a3f!important;color:#fff!important}
.profit-line small{font-weight:700}


/* Collapsible Job Cost deductions / credits */
.job-cost-accordion{border-top:1px solid #e9e5dc;border-bottom:1px solid #e9e5dc;margin-top:12px;padding:0}
.job-cost-accordion+ .job-cost-accordion{border-top:0;margin-top:0}
.job-cost-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;cursor:pointer;font-weight:800;list-style:none}
.job-cost-accordion summary::-webkit-details-marker{display:none}
.job-cost-accordion summary::after{content:'▾';font-size:14px;color:#6b6458;transition:transform .15s ease}
.job-cost-accordion[open] summary::after{transform:rotate(180deg)}
.job-cost-accordion-total{margin-left:auto;font-size:13px;font-weight:800;white-space:nowrap}
.deduction-accordion-total{color:#9e1d1d}
.credit-accordion summary>span:first-child,.credit-accordion-total{color:#1f7a3f}

/* SimplTracker owner-only company administration */
.platform-login-body{background:#070707}.platform-login{max-width:480px}.platform-login h1{margin:4px 0 8px}.platform-login>p{color:var(--muted);line-height:1.5;margin:0 0 18px}.platform-kicker{display:block;color:#0b63b6;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.platform-back-link{display:block;margin-top:16px;color:#0b63b6;font-weight:800;text-align:center}.platform-body{margin:0;background:#f4f3ef;color:#171717;min-height:100vh}.platform-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 28px;background:#fff;border-bottom:2px solid #0b63b6;color:#10243e}.platform-brand{display:flex;align-items:center;gap:14px;color:#10243e;text-decoration:none;font-weight:900}.platform-brand img{width:210px;height:42px;object-fit:contain;object-position:left}.platform-brand span{padding-left:14px;border-left:1px solid #cbd8e6}.platform-topbar>div{display:flex;align-items:center;gap:14px;font-size:13px}.platform-topbar form{margin:0}.platform-wrap{max-width:1500px;margin:0 auto;padding:28px}.platform-pagehead{align-items:center}.platform-summary{display:grid;min-width:145px;padding:15px 18px;border:1px solid #dad6cb;border-radius:12px;background:#fff;text-align:center}.platform-summary strong{font-size:30px;color:#0b63b6}.platform-summary span{font-size:12px;font-weight:800;color:var(--muted)}.platform-grid{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(500px,1.2fr);gap:20px;align-items:start}.platform-create-card,.platform-directory-card{padding:22px}.platform-company-form{display:grid;gap:14px}.platform-company-form label{margin:0}.platform-company-form label small{display:block;margin:3px 0 6px;color:var(--muted);font-weight:500}.platform-company-form fieldset{display:grid;gap:12px;margin:4px 0;padding:16px;border:1px solid #ddd7ca;border-radius:10px}.platform-company-form legend{padding:0 7px;font-weight:900}.platform-form-note{padding:13px;border:1px solid #b8d6f2;border-radius:9px;background:#f3f8fd;color:#30465a;font-size:13px;line-height:1.45}.platform-company-list{display:grid;gap:12px}.platform-company{padding:16px;border:1px solid #ddd8cd;border-radius:12px;background:#fff}.platform-company.inactive{background:#f2f1ee;color:#6c6962}.platform-company-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.platform-company-main h3{display:inline;margin:0 8px 0 0;font-size:18px}.platform-company-main code{color:#5e5a51;font-size:12px}.platform-pill,.platform-status{display:inline-flex;align-items:center;margin:3px 5px 0 0;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase}.platform-pill{background:#e6eef7;color:#1b4e7d}.platform-status.active{background:#dcf3e5;color:#176739}.platform-status.inactive{background:#eee2e2;color:#8f1d1d}.platform-company dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.platform-company dl div{padding:9px;border-radius:8px;background:#f8f7f3;text-align:center}.platform-company dt{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase}.platform-company dd{margin:3px 0 0;font-size:20px;font-weight:900}.platform-company-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #ece8df}.platform-company-footer form{margin:0}.platform-company-footer .btn{padding:8px 11px;font-size:12px}.platform-protected{font-size:12px;font-weight:900;color:#6d5b25}.platform-directory-card .alert ul{margin-bottom:0}
@media(max-width:900px){.platform-grid{grid-template-columns:1fr}.platform-topbar{padding:10px 16px}.platform-topbar>div>span,.platform-brand span{display:none}.platform-wrap{padding:20px 14px}.platform-pagehead{align-items:flex-start}.platform-summary{width:100%}.platform-company-main{display:grid}.platform-company-footer{align-items:flex-start}.platform-brand img{width:190px}}

/* Company-managed locations */
.location-page-grid{align-items:start}.location-directory{display:grid;gap:12px}.location-manage-card{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(130px,.7fr) auto;gap:12px;align-items:end;padding:15px;border:1px solid #ded8cc;border-radius:12px;background:#fffdf9}.location-manage-card.inactive{background:#f2f1ee;opacity:.78}.location-manage-card label{margin:0}.location-active{align-self:center}.location-card-actions{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;border-top:1px solid #e9e4da}.location-card-actions .pill{background:#eef4fa;color:#164775}.location-manage-card.inactive .pill{background:#eee2e2;color:#8f1d1d}@media(max-width:700px){.location-manage-card{grid-template-columns:1fr}.location-card-actions{grid-column:auto}.location-card-actions .btn{min-width:100px}}
.job-cost-accordion-body{padding:0 0 14px}
.job-cost-accordion .job-cost-list{margin:0 0 12px}
.job-cost-accordion .job-cost-add{margin-top:10px}
.job-cost-empty{margin:4px 0 12px}
@media(max-width:700px){.job-cost-accordion summary{align-items:flex-start;flex-wrap:wrap}.job-cost-accordion-total{margin-left:0;width:100%}}


/* SimplTracker brand refresh */
.topbar{background:#050505;border-bottom:2px solid var(--blue)}
.brand{min-width:0;display:flex;align-items:center}
.brand img{width:230px;height:48px;object-fit:contain;object-position:left center;display:block}
.brand span{display:none}
.role-badge{border-color:rgba(11,99,182,.7)!important;color:#78b9f0!important}

/* Standard controls use SimplTracker blue. Danger and credit actions retain semantic colors. */
.btn:not(.danger):not(.credit-button){background:var(--blue);border-color:var(--blue);color:#fff}
.btn:not(.danger):not(.credit-button):hover{background:#095498;border-color:#095498;color:#fff;box-shadow:none}
.btn.primary,.btn.primary.estimate-gold,.estimate-card .estimate-gold,.kpi-dashboard-btn{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important}
.btn.primary:hover,.btn.primary.estimate-gold:hover,.estimate-card .estimate-gold:hover,.kpi-dashboard-btn:hover{background:#095498!important;border-color:#095498!important;color:#fff!important;box-shadow:none!important}
.job-notes-btn,.job-files-btn{background:var(--blue-light)!important;color:var(--blue-dark)!important;border-color:var(--blue-line)!important}
.job-notes-btn:hover,.job-files-btn:hover{background:#dcecff!important;color:var(--blue-dark)!important}
.linkbtn{color:#fff}

/* Convert legacy gold accents to the new blue brand system. */
.stat{border-bottom-color:var(--blue)}
.pill,.estimate-badge{background:var(--blue-light);border-color:var(--blue-line);color:var(--blue-dark)}
.subsection-title,.job-accordion summary span,.kpi-report-accordion summary>span:after,.kpi-report-accordion[open] summary>span:after{color:var(--blue)}
.job-accordion[open] summary:after{background:var(--blue);color:#fff}
.job-accordion[open] summary,.kpi-report-accordion[open] summary{background:#f7fbff}
.estimate-margin-field{background:#f3f8fd;border-color:#b8d6f2}
.estimate-summary-edit .grand{border-top-color:var(--blue)}
.estimate-summary-edit .profit-row{background:#f3f8fd;border-color:#c9ddf1!important}
.estimate-summary-edit .profit-row b,.bigmoney{color:var(--blue-dark)}
.margin-slider-head strong{color:var(--blue-dark);border-color:var(--blue-line)}
.margin-slider{accent-color:var(--blue)}
.setup-card:hover{border-color:var(--blue)}
.setup-card-icon{border-bottom-color:var(--blue)}
.setup-card>span{color:var(--blue)}
.kpi-table a{ text-decoration-color:var(--blue)}
.kpi-overview-card small a{ text-decoration-color:var(--blue)}
.job-cost-summary .profit-line{background:#f3f8fd;border-color:#b8d6f2}
.job-cost-summary .profit-line strong{color:var(--blue-dark)}

/* Login branding */
.loginbody{background:#050505}
.loginlogo{width:min(330px,80vw);height:auto;max-height:105px;object-fit:contain;margin:0 auto 12px}
.login .loginlogo{filter:none}
.login h1{display:none}

@media(max-width:760px){
  .brand img{width:165px;height:42px}
  .topbar{height:64px}
}

/* SimplTracker v1.0.2 — Dashboard action button consistency */
.pagehead-actions .btn{
  min-height:46px;
  min-width:112px;
  padding:0 18px;
  font-size:16px;
  font-weight:700;
  line-height:1;
}
.kpi-dashboard-btn{
  font:inherit;
  font-size:16px;
  font-weight:700;
}

/* Gross Profit YTD percentage */
.kpi-profit-card-main{display:flex;align-items:center;justify-content:space-between;gap:18px;height:100%}.kpi-profit-card-main>div:first-child{min-width:0}.kpi-profit-percent{text-align:right;flex:0 0 auto}.kpi-profit-percent strong{display:block;font-size:32px;line-height:1;color:#fff}.kpi-profit-percent small{display:block;margin-top:5px!important;color:#d9d9d9!important;font-weight:700}.kpi-profit-card b{font-size:28px}
@media(max-width:520px){.kpi-profit-card-main{align-items:flex-start}.kpi-profit-percent strong{font-size:27px}}


/* SimplTracker v1.0.5 — drag-and-drop production board */
.production-board-section{margin:18px 0 20px;padding:18px;overflow:hidden}.production-board-heading{align-items:flex-start;margin-bottom:14px}.production-board-heading h2{margin:0 0 3px}.production-board-heading p{margin:0;color:var(--muted);font-size:13px}.production-board-help{font-size:12px;font-weight:800;color:var(--blue-dark);background:var(--blue-light);border:1px solid var(--blue-line);border-radius:999px;padding:6px 10px}.production-board{display:grid;grid-template-columns:repeat(6,minmax(220px,1fr));gap:12px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:thin}.production-column{min-width:220px;background:#f7f8fa;border:1px solid #dfe3e8;border-radius:11px;overflow:hidden}.production-column-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;background:#edf4fb;border-bottom:1px solid #d6e2ef}.production-column-head strong{font-size:13px}.production-count{display:inline-flex;min-width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;background:#fff;border:1px solid var(--blue-line);color:var(--blue-dark);font-size:12px;font-weight:800}.production-dropzone{min-height:142px;padding:8px;transition:background .15s ease,outline-color .15s ease;outline:2px dashed transparent;outline-offset:-4px}.production-dropzone.drag-over{background:#e8f3ff;outline-color:var(--blue)}.production-card{background:#fff;border:1px solid #d9dde2;border-radius:9px;padding:10px;margin-bottom:8px;cursor:grab;box-shadow:0 1px 4px rgba(0,0,0,.035);transition:opacity .12s ease,transform .12s ease,border-color .12s ease}.production-card:hover{border-color:var(--blue-line);transform:translateY(-1px)}.production-card.dragging{opacity:.45;cursor:grabbing}.production-card a{color:#111;text-decoration:none}.production-card a:hover{color:var(--blue)}.production-card-customer{font-size:13px;font-weight:700;margin-top:4px;line-height:1.25}.production-card small{display:block;color:var(--muted);font-size:11px;margin-top:3px;line-height:1.3}.production-card-meta{display:flex;flex-direction:column;gap:2px;border-top:1px solid #eee;margin-top:8px;padding-top:7px;color:#5f6770;font-size:10px}.production-empty{display:flex;align-items:center;justify-content:center;min-height:118px;text-align:center;color:#8b929a;font-size:12px;border:1px dashed #cbd1d8;border-radius:8px}.production-board-message{min-height:18px;margin-top:4px;color:var(--blue-dark);font-size:12px;font-weight:700}.production-card:focus-visible{outline:3px solid var(--blue-line);outline-offset:2px}
@media(max-width:760px){.production-board-section{padding:14px}.production-board{grid-template-columns:repeat(6,210px)}.production-column{min-width:210px}.production-board-help{display:none}}

/* v1.0.6 compact production board + needs attention */
.needs-attention-accordion{border-left:0}
.needs-attention-icon{background:#fff1f0!important;border-color:#f2b8b5!important;color:#c62828!important;font-weight:900}
.attention-body{padding-top:10px}
.attention-group+.attention-group{margin-top:14px}
.attention-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px 8px}
.attention-group-head span{display:inline-flex;min-width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;background:#f3f5f7;color:#4b5563;font-size:12px;font-weight:800}
.attention-list{border:1px solid #e4e7eb;border-radius:10px;overflow:hidden;background:#fff}
.attention-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border-top:1px solid #eceff2;text-decoration:none;color:inherit}
.attention-row:first-child{border-top:0}
.attention-row:hover{background:#f8fbff}
.attention-row>div:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}
.attention-row strong{font-size:13px;line-height:1.25}
.attention-row small{font-size:11px;color:var(--muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attention-reasons{display:flex;gap:5px;flex-wrap:wrap;max-width:210px}
.attention-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900;letter-spacing:.03em;border:1px solid #d9dee4;background:#f7f8fa;color:#4b5563}
.attention-badge.danger{background:#fff0ef;border-color:#efb4af;color:#b42318}
.attention-badge.warning{background:#fff7e6;border-color:#f0d39b;color:#8a5a00}
.attention-badge.neutral{background:#f4f6f8;border-color:#d7dde4;color:#49515a}

.production-board-section{padding:14px 14px 10px}
.production-board-heading{margin-bottom:10px}
.production-board{grid-template-columns:repeat(6,190px);gap:9px;padding-bottom:8px}
.production-column{min-width:190px;border-radius:9px}
.production-column-head{padding:8px 9px}
.production-column-head strong{font-size:12px}
.production-count{min-width:21px;height:21px;font-size:11px}
.production-dropzone{height:300px;min-height:300px;overflow-y:auto;padding:6px;scrollbar-width:thin}
.production-card{padding:8px;margin-bottom:6px;border-radius:7px}
.production-card-top strong{font-size:12px}
.production-card-customer{font-size:11px;margin-top:2px}
.production-card small{font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.production-card-meta{margin-top:5px;padding-top:5px;font-size:9px;gap:1px}
.production-empty{min-height:70px;font-size:11px}
.production-board-message{margin-top:2px}
@media(max-width:760px){.production-board{grid-template-columns:repeat(6,180px)}.production-column{min-width:180px}.production-dropzone{height:270px;min-height:270px}.attention-row{grid-template-columns:1fr}.attention-reasons{max-width:none}.attention-row small{white-space:normal}}


/* Appointment tasks + dashboard calendar */
.task-kind-pill.appointment{background:#e8f3ff;border-color:#b9d5f2;color:#0b63b6}
.appointment-calendar-section{margin:18px 0 20px;padding:14px 14px 12px;overflow:hidden}
.appointment-calendar-heading{margin-bottom:10px;align-items:center}
.appointment-calendar-heading h2{margin:0 0 3px}
.appointment-calendar-heading p{margin:0;color:var(--muted);font-size:13px}
.calendar-controls{display:flex;align-items:center;gap:8px;min-width:220px;justify-content:flex-end}
.calendar-controls strong{min-width:136px;text-align:center;font-size:13px}
.calendar-nav{width:32px;height:32px;border-radius:9px;border:1px solid #d6dde6;background:#fff;color:var(--blue-dark);font-size:22px;line-height:1;cursor:pointer;font-weight:700}
.calendar-nav:hover{background:var(--blue-light);border-color:var(--blue-line)}
.appointment-calendar-wrap{border:1px solid #dfe3e8;border-radius:11px;overflow-x:auto;overflow-y:visible;max-height:none;background:#fff}
.appointment-calendar-weekdays,.appointment-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px}
.appointment-calendar-weekdays{position:sticky;top:0;z-index:3;background:#edf4fb;border-bottom:1px solid #d6e2ef}
.appointment-calendar-weekdays span{padding:8px 9px;text-align:center;font-size:11px;font-weight:800;color:#51606d;text-transform:uppercase;letter-spacing:.04em}
.appointment-calendar-day{min-height:92px;padding:6px;border-right:1px solid #edf0f3;border-bottom:1px solid #edf0f3;background:#fff;overflow:hidden}
.appointment-calendar-day:nth-child(7n){border-right:none}
.appointment-calendar-day.outside-month{background:#f8f9fb;color:#a4abb3}
.appointment-calendar-day.today{box-shadow:inset 0 0 0 2px var(--blue)}
.calendar-day-number{font-size:11px;font-weight:800;margin-bottom:4px;color:#4b5560}
.appointment-calendar-day.today .calendar-day-number{color:var(--blue-dark)}
.calendar-appointment{display:block;text-decoration:none;background:#e8f3ff;border-left:3px solid var(--blue);border-radius:6px;padding:4px 5px;margin:3px 0;color:#16324c;line-height:1.15}
.calendar-appointment:hover{background:#dcecff}
.calendar-appointment.trade-calendar-event{border-left-color:var(--trade-color);background:color-mix(in srgb,var(--trade-color) 14%,white)}
.calendar-appointment.trade-calendar-event:hover{background:color-mix(in srgb,var(--trade-color) 24%,white)}
.calendar-appointment strong.calendar-event-title{display:flex;align-items:center;gap:4px}
.calendar-event-title>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.calendar-status-icon{width:14px;height:14px;flex-shrink:0;vertical-align:middle}
.trade-calendar-event .calendar-status-icon{color:var(--trade-color)}
.calendar-appointment.complete{opacity:.55;text-decoration:none}
.calendar-appointment strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-appointment small{display:block;font-size:9px;color:#617181;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.calendar-more{font-size:9px;font-weight:800;color:var(--blue-dark);padding-left:5px}
.calendar-legend{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;font-size:11px;color:var(--muted)}
.calendar-legend [data-calendar-icon]{display:inline-flex;align-items:center;gap:4px}
.calendar-legend span:first-child{display:flex;align-items:center;gap:6px}.calendar-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--blue)}
@media(max-width:760px){.appointment-calendar-section{padding:14px}.appointment-calendar-heading{align-items:flex-start;gap:10px}.calendar-controls{min-width:0}.calendar-controls strong{min-width:116px;font-size:12px}.appointment-calendar-wrap{max-height:none}}

/* v1.0.8 — task / delivery / appointment deletion */
.task-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;border:1px solid rgba(220,38,38,.25)}
.task-danger-zone h2{margin:0 0 4px;font-size:1rem}
.task-danger-zone p{margin:0;color:var(--muted,#6b7280);font-size:.9rem}
.btn.danger{background:#b91c1c!important;border-color:#b91c1c!important;color:#fff!important}
.btn.danger:hover{background:#991b1b!important;border-color:#991b1b!important}
@media(max-width:700px){.task-danger-zone{align-items:stretch;flex-direction:column}.task-danger-zone .btn{width:100%}}

/* SimplTracker v1.0.9 — compact dashboard action tiles */
.dashboard-action-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:0 0 20px;
  align-items:start;
}
.dashboard-action-grid .financial-accordion{
  margin:0;
  background:#111;
  border:1px solid #222a34;
  border-bottom:3px solid var(--blue);
  border-radius:10px;
  box-shadow:none;
  overflow:hidden;
  color:#fff;
}
.dashboard-action-grid .financial-accordion>summary{
  min-height:126px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px;
  padding:17px 16px;
  background:#111;
}
.dashboard-action-grid .financial-accordion>summary:hover{background:#15191f}
.dashboard-action-grid .financial-summary-main{align-items:center;gap:12px}
.dashboard-action-grid .financial-summary-icon{
  flex:0 0 auto;
  width:46px;
  height:46px;
  border-radius:10px;
  background:#171d24;
  color:var(--blue);
  border:1px solid #263445;
  border-bottom:3px solid var(--blue);
  font-size:24px;
}
.dashboard-action-grid .financial-summary-main strong{
  color:#fff;
  font-size:16px;
  line-height:1.15;
}
.dashboard-action-grid .financial-summary-main small{
  color:#b7c0ca;
  font-size:11px;
  line-height:1.35;
  margin-top:5px;
}
.dashboard-action-grid .financial-summary-total{
  min-width:0;
  align-self:start;
  padding-top:1px;
}
.dashboard-action-grid .financial-summary-total b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  color:#d7eaff;
  background:#14253a;
  border:1px solid #315b87;
  border-radius:999px;
  padding:5px 9px;
  font-size:11px;
  line-height:1;
}
.dashboard-action-grid .pipeline-accordion .financial-summary-total,
.dashboard-action-grid .service-tasks-accordion .financial-summary-total{display:none}
.dashboard-action-grid .financial-chevron{
  color:var(--blue);
  font-size:28px;
  font-weight:700;
  transform:none;
  align-self:center;
}
.dashboard-action-grid .financial-accordion[open]{grid-column:1/-1}
.dashboard-action-grid .financial-accordion[open] .financial-chevron{transform:rotate(90deg)}
.dashboard-action-grid .financial-accordion[open]>summary{
  min-height:auto;
  border-bottom:1px solid #29313b;
}
.dashboard-action-grid .financial-accordion-body{
  background:#fff;
  color:#171717;
  border-top:0;
}
.dashboard-action-grid .needs-attention-icon{
  background:#241b1b!important;
  border-color:#743c3c!important;
  border-bottom-color:#c62828!important;
  color:#ff6b63!important;
}
.dashboard-action-grid .needs-invoiced-accordion .financial-summary-icon{
  color:#ff6b63;
  border-bottom-color:#c62828;
}
.dashboard-action-grid + .stats{margin-top:0}

@media(max-width:1000px){
  .dashboard-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .dashboard-action-grid{grid-template-columns:1fr;gap:10px}
  .dashboard-action-grid .financial-accordion>summary{min-height:104px;padding:14px}
  .dashboard-action-grid .financial-summary-icon{width:42px;height:42px;font-size:21px}
  .dashboard-action-grid .financial-summary-main strong{font-size:15px}
  .dashboard-action-grid .financial-summary-main small{font-size:10px}
}

/* Company-owned project types */
.project-type-page-grid{align-items:start}
.project-type-directory{display:grid;gap:12px}
.project-type-manage-card{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(190px,1fr) auto;align-items:end;gap:12px;padding:14px;border:1px solid #dfe3e8;border-radius:10px;background:#fff}
.project-type-manage-card.inactive{background:#f7f8fa;opacity:.82}
.project-type-active{min-height:44px;align-items:center;white-space:nowrap}
.project-type-card-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}
@media(max-width:760px){.project-type-manage-card{grid-template-columns:1fr}.project-type-card-actions{grid-column:1}.project-type-card-actions .btn{min-width:96px}}

/* Double-entry accounting foundation */
.accounting-subnav{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 20px;padding:7px;background:#e9edf2;border:1px solid #d7dde4;border-radius:11px}.accounting-subnav a{padding:9px 12px;border-radius:8px;font-size:13px;font-weight:800;color:#42505e}.accounting-subnav a:hover,.accounting-subnav a[aria-current="page"]{background:#fff;color:var(--blue-dark);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.accounting-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.accounting-stat{background:#111;color:#fff;border-radius:11px;padding:18px;border-bottom:3px solid var(--blue)}.accounting-stat span{display:block;color:#c7d0d9;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.accounting-stat strong{display:block;font-size:28px;margin-top:8px}.accounting-stat.negative{border-bottom-color:#b91c1c}.accounting-stat.negative strong{color:#ff8d86}
.accounting-warning{display:flex;gap:8px 18px;align-items:center;margin-top:18px;padding:13px 15px;border:1px solid #e5c071;background:#fff8e6;border-radius:10px;color:#694b0a}.accounting-warning span{font-size:13px}.money-cell{text-align:right!important;white-space:nowrap}.cell-detail{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.accounting-transaction-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:900px}.accounting-entry-preview{padding:12px 14px;border:1px solid #b9d5f2;background:#eef6ff;border-radius:9px;color:#174f83;font-size:13px;font-weight:700}.accounting-account-grid{grid-template-columns:minmax(280px,.72fr) minmax(0,1.6fr);align-items:start}.account-directory{display:grid;gap:9px;max-height:760px;overflow:auto}.account-manage-row{display:grid;grid-template-columns:90px minmax(180px,1fr) auto auto;gap:10px;align-items:end;padding:11px;border:1px solid #e2e5e8;border-radius:9px;background:#fff}.account-manage-row.inactive{opacity:.62;background:#f5f6f7}.account-code strong,.account-code small{display:block}.account-code small{margin-top:4px;color:var(--muted);font-size:10px}.accounting-filter{display:flex;align-items:end;gap:12px;margin-bottom:18px}.accounting-filter label{flex:1}.accounting-filter .btn{min-width:100px}.accounting-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.accounting-report-grid h2{margin:0 0 4px}.full-report{grid-column:1/-1}.report-lines{display:grid;gap:2px;margin-top:16px}.report-lines h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:14px 0 5px}.report-lines>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #eee}.report-lines .subtotal{font-weight:800;border-top:1px solid #bbb}.report-lines .report-total{font-size:18px;font-weight:900;border-top:2px solid #111;margin-top:10px}
.balance-check{margin-top:12px;padding:10px!important;border-radius:8px;font-weight:900}.balance-check.balanced{background:#edf7ee;color:#37623c;border:1px solid #a9c9ad!important}.balance-check.unbalanced{background:#fff0f0;color:#9f1f1f;border:1px solid #dfa8a8!important}.trial-total td{font-weight:900;border-top:2px solid #111;background:#f7f8fa}
@media(max-width:800px){.accounting-stat-grid,.accounting-report-grid,.accounting-account-grid,.accounting-transaction-form{grid-template-columns:1fr}.accounting-transaction-form .full,.full-report{grid-column:1}.accounting-filter,.accounting-warning{align-items:stretch;flex-direction:column}.account-manage-row{grid-template-columns:75px minmax(0,1fr)}.account-manage-row .btn{grid-column:1/-1}.accounting-subnav{overflow-x:auto;flex-wrap:nowrap}.accounting-subnav a{white-space:nowrap}}

/* Platform company administrator credentials */
.platform-admin-list{margin:14px 0;padding:13px;border:1px solid #dce1e6;border-radius:10px;background:#f8fafc}.platform-admin-list h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#4c5965}.platform-admin-account{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1fr);gap:16px;align-items:end;padding:14px 0;border-top:1px solid #e2e6ea}.platform-admin-account:first-of-type{border-top:0}.platform-admin-account.inactive{opacity:.72}.platform-admin-identity-edit{display:grid;grid-template-columns:1fr 1fr auto;gap:7px 10px;align-items:end}.platform-admin-identity-edit label{margin:0}.platform-admin-identity-edit small{grid-column:1/3;color:var(--muted);font-size:11px}.platform-admin-identity-edit .btn{grid-column:3;grid-row:1/3;white-space:nowrap}.platform-password-reset{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:7px 10px;align-items:end}.platform-password-reset label{margin:0}.platform-show-password{grid-column:1;font-size:11px!important;font-weight:600!important;color:var(--muted)}.platform-password-reset .btn{grid-column:2;grid-row:1/3}.platform-password-note{margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.4}
@media(max-width:1100px){.platform-admin-account{grid-template-columns:1fr}.platform-admin-identity-edit{grid-template-columns:1fr 1fr auto}}@media(max-width:700px){.platform-admin-identity-edit,.platform-password-reset{grid-template-columns:1fr}.platform-admin-identity-edit small,.platform-admin-identity-edit .btn,.platform-password-reset .btn,.platform-show-password{grid-column:1;grid-row:auto}}

/* Native PDF roof takeoff workspace */
.native-takeoff-card{border-top:4px solid var(--blue);margin-bottom:20px}.takeoff-plan-upload{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end;padding:14px;border:1px dashed #aab8c6;border-radius:10px;background:#f7fbff}.takeoff-plan-upload label{margin:0}.takeoff-plan-upload input[type=file]{background:#fff}.takeoff-plan-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:9px;margin-top:12px}.takeoff-plan-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #d7dfe7;border-radius:9px;background:#fff;padding-right:11px}.takeoff-plan-item:hover{border-color:var(--blue);background:#f2f8ff}.takeoff-plan-list a{display:flex;flex-direction:column;gap:4px;padding:11px 12px;color:#17202a;min-width:0}.takeoff-plan-list a strong{overflow-wrap:anywhere}.takeoff-plan-list span{color:var(--muted);font-size:11px}.takeoff-plan-item form{margin:0}
.takeoff-workspace-head{align-items:flex-start}.takeoff-workspace-shell{display:grid;grid-template-columns:250px minmax(0,1fr) 290px;gap:14px;align-items:start}.takeoff-toolbox,.takeoff-results-panel{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;margin:0;padding:15px}.takeoff-toolbox>label{margin-top:0}.takeoff-page-controls{display:grid;grid-template-columns:44px 1fr 44px;gap:6px;align-items:center;margin:11px 0}.takeoff-page-controls strong{text-align:center;font-size:12px}.takeoff-page-controls .btn{min-width:0;padding:9px}.takeoff-tool-section{padding-top:13px;margin-top:13px;border-top:1px solid #e1e5e9}.takeoff-tool-section h2,.takeoff-results-panel h2{margin:0 0 9px;font-size:14px}.takeoff-type-buttons{display:grid;gap:6px}.takeoff-type-buttons button{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:7px;align-items:center;width:100%;padding:8px 9px;border:1px solid #d9dfe5;border-radius:7px;background:#fff;color:#20262c;text-align:left;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.takeoff-type-buttons button>span{width:11px;height:11px;border-radius:50%;background:var(--measurement-color)}.takeoff-type-buttons button small{color:var(--muted);font-size:9px}.takeoff-type-buttons button:hover,.takeoff-type-buttons button.active{border-color:var(--measurement-color);box-shadow:inset 4px 0 0 var(--measurement-color);background:#f7fafc}.takeoff-draw-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.takeoff-draw-actions .btn{min-width:0;padding:8px 6px}.takeoff-draw-actions .primary{grid-column:1/-1}.takeoff-draw-actions button:disabled{opacity:.45;cursor:not-allowed}
.takeoff-plan-panel{min-width:0;border:1px solid #cbd3db;border-radius:11px;background:#e7ebef;overflow:hidden}.takeoff-plan-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;background:#111;color:#fff;font-size:12px}.takeoff-plan-toolbar strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.takeoff-plan-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.takeoff-plan-toolbar-actions button{border:1px solid #526273;border-radius:6px;padding:6px 9px;background:#1d2a37;color:#fff;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}.takeoff-plan-toolbar-actions button:hover{border-color:#74b9ff;background:#24384d}.takeoff-plan-toolbar span{color:#cbd5df;white-space:nowrap}.takeoff-plan-toolbar span.unsaved{color:#ffd167}.takeoff-canvas-scroll{min-height:680px;max-height:calc(100vh - 150px);overflow:hidden;padding:14px}.takeoff-canvas-stage{position:relative;margin:0 auto;background:#fff;box-shadow:0 3px 18px rgba(0,0,0,.22)}.takeoff-canvas-stage canvas{display:block;position:absolute;inset:0}.takeoff-canvas-stage #planOverlayCanvas{z-index:2;touch-action:none;cursor:grab}.takeoff-canvas-stage #planOverlayCanvas.drawing-active{cursor:crosshair}.takeoff-canvas-stage #planOverlayCanvas.is-panning{cursor:grabbing!important}.takeoff-canvas-stage #planPdfCanvas{z-index:1}
.plan-takeoff-totals{display:grid;margin:11px 0 18px}.plan-takeoff-totals>div{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #e4e7ea;font-size:11px}.plan-takeoff-totals span{display:flex;align-items:center;gap:7px}.plan-takeoff-totals i,.plan-measurement-list i{display:inline-block;flex:0 0 auto;width:10px;height:10px;border-radius:50%}.plan-takeoff-totals strong{text-align:right}.plan-measurement-list{display:grid;gap:6px}.plan-measurement-list>div{display:grid;grid-template-columns:1fr 28px;gap:6px;align-items:center;padding:8px;border:1px solid #e0e4e8;border-radius:8px}.plan-measurement-list>div>span{display:grid;grid-template-columns:10px 1fr;gap:2px 7px;align-items:center}.plan-measurement-list small{grid-column:2;color:var(--muted)}.plan-measurement-list button{width:28px;height:28px;border:0;border-radius:6px;background:#fff0f0;color:#a51f1f;font-size:19px;cursor:pointer}
@media(max-width:1150px){.takeoff-workspace-shell{grid-template-columns:230px minmax(0,1fr)}.takeoff-results-panel{position:static;grid-column:1/-1;max-height:none}.plan-takeoff-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}.plan-measurement-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.takeoff-plan-upload,.takeoff-workspace-shell{grid-template-columns:1fr}.takeoff-plan-item{grid-template-columns:1fr;padding:0 11px 11px}.takeoff-plan-item form .btn{width:100%}.takeoff-toolbox,.takeoff-results-panel{position:static;max-height:none}.takeoff-canvas-scroll{min-height:520px;max-height:68vh;padding:10px}.plan-takeoff-totals,.plan-measurement-list{grid-template-columns:1fr}.takeoff-plan-toolbar{align-items:flex-start;flex-direction:column}.takeoff-workspace-head .actions{width:100%}.takeoff-workspace-head .actions .btn{flex:1}}

/* Expanded drawing surface, pitch entry and browser full-screen mode */
.takeoff-workspace-page .wrap{max-width:none;padding:14px 18px 20px}.takeoff-workspace-page .backlink{display:inline-block;margin-bottom:8px}.takeoff-pitch-control{margin-top:12px;padding:10px;border:1px solid #dfbd5d;border-radius:8px;background:#fff9e8}.takeoff-pitch-control[hidden]{display:none}.takeoff-pitch-control input{background:#fff}
.takeoff-edit-actions{display:grid;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid #e1e5e9}.takeoff-edit-actions button[aria-pressed="true"]{background:#172b3e;color:#fff;border-color:#172b3e}.takeoff-canvas-stage #planOverlayCanvas.editing-active{cursor:pointer}.takeoff-canvas-stage #planOverlayCanvas.dragging-vertex{cursor:move!important}
.takeoff-fullscreen{overflow:hidden}.takeoff-fullscreen .topbar,.takeoff-fullscreen .backlink,.takeoff-fullscreen .accounting-warning{display:none}.takeoff-fullscreen .wrap{height:100vh;padding:8px;overflow:hidden;display:flex;flex-direction:column}.takeoff-fullscreen .takeoff-workspace-head{flex:0 0 auto;margin-bottom:8px}.takeoff-fullscreen .takeoff-workspace-head h1{font-size:22px}.takeoff-fullscreen .takeoff-workspace-shell{flex:1;min-height:0}.takeoff-fullscreen .takeoff-toolbox,.takeoff-fullscreen .takeoff-results-panel{position:static;height:100%;max-height:none}.takeoff-fullscreen .takeoff-plan-panel{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}.takeoff-fullscreen .takeoff-canvas-scroll{min-height:0;max-height:none;height:100%}
.takeoff-focus-mode .takeoff-workspace-shell{grid-template-columns:minmax(0,1fr)}.takeoff-focus-mode .takeoff-toolbox,.takeoff-focus-mode .takeoff-results-panel{display:none}.takeoff-focus-mode .takeoff-plan-panel{grid-column:1/-1}.takeoff-focus-mode .takeoff-canvas-scroll{min-height:calc(100vh - 150px)}
@media(max-width:760px){.takeoff-plan-toolbar{align-items:flex-start;flex-direction:column}.takeoff-plan-toolbar-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.takeoff-plan-toolbar-actions span{width:100%}}
.demo-read-only-banner{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;padding:.8rem 1rem;border:1px solid #93c5fd;border-radius:10px;background:#eff6ff;color:#1e3a5f}.demo-read-only-banner strong{white-space:nowrap}.demo-read-only [data-demo-read-only="true"]{position:relative}.demo-read-only [data-demo-read-only="true"] :disabled{opacity:.72;cursor:not-allowed}.demo-read-only .role-badge{background:#dbeafe;color:#1e40af}

/* Job note editing */
.note-display[hidden],.note-edit-form[hidden]{display:none!important}
.note-actions{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.note-actions form{margin:0}
.note-actions .btn{padding:7px 12px;font-size:12px}
.note-edit-form{display:grid;gap:9px;margin-top:10px}
.note-edit-form textarea{min-height:92px;resize:vertical}
.note-edit-form .note-actions{margin-top:0}

/* Drag-and-drop job photo organization */
.job-photo-drag-help{margin:8px 0 12px;color:var(--muted);font-size:12px}
.job-folder-file-card[draggable="true"]{cursor:grab}
.job-folder-file-card[draggable="true"]:active{cursor:grabbing}
.job-folder-file-card.is-dragging{opacity:.45;transform:scale(.98)}
.job-folder-file-card.is-moving{opacity:.55;pointer-events:none}
.job-photo-folder.is-drop-target{border-color:var(--blue);box-shadow:0 0 0 2px rgba(11,99,182,.15)}
.job-photo-folder.is-drop-target>summary{background:#eef6ff}
.job-photo-folder.is-drop-target .job-photo-folder-body{background:#f8fbff}

/* v1.12.17 estimator pricing usability */
.pricing-pagehead{margin-bottom:18px}.pricing-add-system{margin-bottom:20px}.pricing-main-card{padding:0;overflow:hidden}.pricing-block{padding:24px;border-bottom:1px solid #e7e3da}.pricing-block:last-of-type{border-bottom:0}.pricing-section-heading{margin-bottom:18px}.pricing-section-heading h2{margin:2px 0 5px;font-size:22px}.pricing-section-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.pricing-section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.pricing-kicker{display:block;margin-bottom:3px;color:#0b63b6;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.pricing-system-form{margin-bottom:14px}.pricing-systems-table{border:1px solid #e5e1d8;border-radius:10px}.pricing-systems-table table{min-width:780px}.pricing-systems-table th{background:#f7f9fb;padding:11px 12px}.pricing-systems-table td{padding:10px 12px;vertical-align:middle}.pricing-systems-table input{min-width:140px;background:#fff}.pricing-recipe-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}.pricing-recipe-status.ready{background:#e7f5ec;color:#176739}.pricing-recipe-status.setup{background:#fff3df;color:#8a5700}.pricing-general-block{background:#fbfcfe}.pricing-general-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pricing-general-item{display:block;margin:0;padding:15px;border:1px solid #dde4eb;border-radius:11px;background:#fff}.pricing-field-title{display:block;margin-bottom:9px;font-size:13px;font-weight:900;color:#102a49}.pricing-input-wrap{display:flex;align-items:center;gap:9px}.pricing-input-wrap input{min-width:0;font-size:19px;font-weight:800;padding:10px 11px}.pricing-input-wrap b{flex:0 0 auto;color:#5c6670;font-size:12px}.pricing-general-item small{display:block;margin-top:8px;color:var(--muted);font-size:11px;font-weight:500;line-height:1.35}.pricing-accessories-block{background:#fff}.pricing-accessory-groups{display:grid;gap:16px}.pricing-accessory-group{padding:16px;border:1px solid #e5e1d8;border-radius:12px;background:#faf9f6}.pricing-accessory-group h3{margin:0 0 12px;font-size:15px;color:#102a49}.pricing-accessory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pricing-accessory-item{display:block;margin:0;padding:11px;border:1px solid #e4e7eb;border-radius:9px;background:#fff}.pricing-accessory-item>span{display:block;margin-bottom:7px;font-size:12px;font-weight:800}.pricing-price-input{display:flex;align-items:center;border:1px solid #cbc8be;border-radius:7px;background:#fff;overflow:hidden}.pricing-price-input>span{padding:0 0 0 10px;color:#6c6a63;font-weight:800}.pricing-price-input input{border:0;border-radius:0;padding-left:6px;font-weight:800}.pricing-price-input:focus-within{outline:2px solid #9fc7ee;outline-offset:1px}.pricing-save-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 24px;background:#f3f8fd;border-top:1px solid #cfe0f0}.pricing-save-bar>div{display:flex;flex-direction:column;gap:3px}.pricing-save-bar strong{font-size:14px}.pricing-save-bar small{color:var(--muted)}
@media(max-width:1050px){.pricing-general-grid,.pricing-accessory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.pricing-section-heading-row,.pricing-save-bar{align-items:stretch;flex-direction:column}.pricing-section-heading-row .btn,.pricing-save-bar .btn{width:100%}.pricing-general-grid,.pricing-accessory-grid{grid-template-columns:1fr}.pricing-block{padding:18px}.pricing-save-bar{padding:16px 18px}}
.pricing-add-material{margin-bottom:20px}.pricing-material-add-row{display:grid;grid-template-columns:minmax(240px,2fr) minmax(180px,1fr) auto;gap:12px;align-items:end}.pricing-material-add-row .btn{height:46px;white-space:nowrap}.pricing-custom-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.pricing-custom-heading h3{margin-bottom:3px}.pricing-custom-heading p{margin:0;color:var(--muted);font-size:12px}.pricing-custom-material{display:grid;gap:10px}.pricing-custom-material label{margin:0}.pricing-custom-material label>span{display:block;margin-bottom:6px;font-size:11px;font-weight:800;color:#4f6072}.pricing-remove-material{display:flex!important;align-items:center;gap:7px;color:#a42b2b!important;font-size:11px!important;font-weight:800}.pricing-remove-material input{width:auto!important;margin:0}.material-picker-dialog{width:min(560px,calc(100vw - 32px));padding:0;border:0;border-radius:14px;box-shadow:0 24px 70px rgba(15,32,52,.28)}.material-picker-dialog::backdrop{background:rgba(14,28,43,.52)}.material-picker-card{padding:22px}.material-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.material-picker-head h2{margin:0 0 4px}.material-picker-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.material-picker-close{border:0;background:transparent;font-size:28px;line-height:1;color:#5e6771;cursor:pointer}.material-picker-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.material-picker-dialog select{font-weight:700}
@media(max-width:700px){.pricing-material-add-row{grid-template-columns:1fr}.pricing-material-add-row .btn{width:100%}.material-picker-actions{flex-direction:column-reverse}.material-picker-actions .btn{width:100%}}

/* Multi-entry job cost forms */
.job-cost-add-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.job-cost-add-head h3{margin:0}
.multi-cost-rows{display:grid;gap:10px;margin-bottom:12px}
.multi-cost-row{grid-template-columns:minmax(180px,1fr) minmax(150px,1fr) auto;align-items:end;margin-bottom:0;padding:10px;border:1px solid #e5e0d5;border-radius:10px;background:#fbfaf7}
.multi-cost-row label{margin:0}
.multi-cost-row .remove-cost-row{min-height:46px;align-self:end}
@media(max-width:700px){.job-cost-add-head{align-items:flex-start;flex-direction:column}.multi-cost-row{grid-template-columns:1fr}.multi-cost-row .remove-cost-row{width:100%}}

/* Trade Scopes: separate production, pricing and billing inside one job */
.trade-scopes-section{margin-bottom:20px;border-top:4px solid var(--blue)}
.trade-scopes-head{align-items:flex-start;gap:18px}.trade-scopes-head h2{margin:2px 0 5px}.trade-scope-total{min-width:210px;padding:12px 14px;border:1px solid #cfe0f0;border-radius:10px;background:#f3f8fd;text-align:right}.trade-scope-total span,.trade-scope-total small{display:block;color:var(--muted);font-size:11px;font-weight:700}.trade-scope-total strong{display:block;margin:3px 0;font-size:24px;color:#0b4d8e}.trade-scope-empty{padding:14px 16px;border:1px dashed #b8c8d8;border-radius:10px;background:#f8fbfe}.trade-scope-empty p{margin:5px 0 0}.trade-scope-list{display:grid;gap:14px;margin-top:14px}.trade-scope-card{position:relative;padding:16px;border:1px solid #d9e1e8;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(16,42,73,.05)}.trade-scope-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;margin-bottom:13px;border-bottom:1px solid #edf0f3}.trade-scope-card-head h3{margin:5px 0 2px;font-size:18px}.trade-scope-card-head small{color:var(--muted)}.trade-scope-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#e7f2fd;color:#0b63b6;font-size:9px;font-weight:900;letter-spacing:.07em}.trade-scope-price{font-size:22px;white-space:nowrap}.trade-scope-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.trade-scope-grid label{margin:0}.trade-scope-grid input,.trade-scope-grid select,.trade-scope-grid textarea{background:#fff}.trade-scope-notes{grid-column:1/-1}.trade-scope-notes textarea{min-height:72px}.trade-scope-edit-form>.btn{margin-top:12px}.trade-scope-delete-form{position:absolute;right:16px;bottom:16px;margin:0}.trade-scope-add{margin-top:15px;border:1px solid #cfe0f0;border-radius:10px;background:#f8fbfe;overflow:hidden}.trade-scope-add>summary{cursor:pointer;padding:13px 15px;font-weight:900;color:#0b4d8e}.trade-scope-add-form{padding:0 15px 15px}.trade-scope-add-form>.btn{margin-top:12px}.trade-scope-managed-note{display:grid;gap:3px;margin:12px 0;padding:11px 12px;border:1px solid #b9d5f2;border-radius:9px;background:#eef6ff;color:#174f83}.trade-scope-managed-note span{font-size:11px}.production-card-scope{display:flex;flex-direction:column;gap:2px;margin:5px 0 4px}.production-card-scope strong{font-size:13px;color:#0b4d8e}.production-card-scope small{font-size:10px;color:var(--muted)}.production-card-price{margin-top:6px;font-weight:900;color:#0b4d8e}
@media(max-width:1050px){.trade-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.trade-scopes-head{flex-direction:column}.trade-scope-total{width:100%;text-align:left}.trade-scope-grid{grid-template-columns:1fr}.trade-scope-notes{grid-column:1}.trade-scope-card{padding-bottom:68px}.trade-scope-delete-form{left:16px;right:16px;bottom:14px}.trade-scope-delete-form .btn{width:100%}}
.trade-scope-readonly{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.trade-scope-readonly>div{padding:10px;border:1px solid #e5e9ed;border-radius:8px;background:#fafbfc}.trade-scope-readonly dt{font-size:10px;font-weight:900;text-transform:uppercase;color:var(--muted)}.trade-scope-readonly dd{margin:4px 0 0;font-weight:800}@media(max-width:700px){.trade-scope-readonly{grid-template-columns:1fr 1fr}}
.crew-trade-scopes{display:grid;gap:12px}.crew-trade-scope{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid #d9e1e8;border-radius:10px;background:#fff}.crew-trade-scope h3{margin:5px 0 3px}.crew-trade-scope p{margin:0 0 4px;color:var(--muted)}.crew-complete-done{color:#16723a}@media(max-width:700px){.crew-trade-scope{align-items:stretch;flex-direction:column}.crew-trade-scope .btn{width:100%}}
.job-cost-pdf-btn{background:#5b21b6;border-color:#5b21b6;color:#fff}.job-cost-pdf-btn:hover{background:#4c1d95;border-color:#4c1d95}

/* Compact Trade Scopes: collapsed by default so multi-trade jobs do not dominate the page. */
.trade-scope-collapsible{padding:0;overflow:hidden}
.trade-scope-collapsible>summary{list-style:none}
.trade-scope-collapsible>summary::-webkit-details-marker{display:none}
.trade-scope-summary{display:grid;grid-template-columns:minmax(220px,1fr) auto auto 24px;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;user-select:none}
.trade-scope-summary:hover{background:#f8fbfe}
.trade-scope-summary-main{display:flex;align-items:center;gap:10px;min-width:0}
.trade-scope-summary-main>div{min-width:0}.trade-scope-summary h3{margin:0 0 2px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trade-scope-summary small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trade-scope-summary-status{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.trade-scope-status-pill,.trade-scope-billing-pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.trade-scope-status-pill{background:#eaf3fd;color:#155b9b}.trade-scope-billing-pill{background:#f4f5f7;color:#4c6074}
.trade-scope-summary .trade-scope-price{font-size:17px}
.trade-scope-chevron{font-size:21px;line-height:1;color:#4f6b87;text-align:center;transition:transform .16s ease}.trade-scope-collapsible[open] .trade-scope-chevron{transform:rotate(180deg)}
.trade-scope-body{position:relative;padding:16px;padding-top:15px;border-top:1px solid #e5edf4;background:#fbfdff}.trade-scope-collapsible[open]>.trade-scope-summary{background:#f6faff}
.trade-scope-body .trade-scope-delete-form{right:16px;bottom:16px}
@media(max-width:800px){.trade-scope-summary{grid-template-columns:1fr auto 22px}.trade-scope-summary-status{grid-column:1/2;justify-content:flex-start}.trade-scope-summary .trade-scope-price{grid-column:2;grid-row:1/3}.trade-scope-chevron{grid-column:3;grid-row:1/3}.trade-scope-summary-main{grid-column:1}}
@media(max-width:520px){.trade-scope-summary{grid-template-columns:1fr 22px}.trade-scope-summary .trade-scope-price{grid-column:1;grid-row:auto;text-align:left}.trade-scope-summary-status{grid-column:1}.trade-scope-chevron{grid-column:2;grid-row:1/4}.trade-scope-summary-main{align-items:flex-start;flex-direction:column;gap:5px}}

/* Material invoice details on job-cost deductions */
.material-invoice-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;padding:10px 0 2px}.material-invoice-fields[hidden]{display:none!important}.invoice-meta{font-weight:700;color:#365b7d!important}@media(max-width:850px){.material-invoice-fields{grid-template-columns:1fr}}

/* Company board threaded replies */
.board-reply-context{display:flex;gap:10px;margin:0 0 12px;padding:10px 12px;border-left:3px solid #2b78c5;background:#f3f8fd;border-radius:8px;color:#51677e;font-size:.88rem}.board-reply-context div{display:flex;flex-direction:column;gap:3px}.board-reply-context strong{color:#183b61}.board-reply-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.board-reply-actions form{margin:0}.board-replying-to{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 12px;border:1px solid #b8d2ee;background:#f1f7fd;border-radius:10px}.board-replying-to .btn{padding:7px 10px}.board-reply:has(.board-reply-context){margin-left:34px;border-left:3px solid #9cc7ef}@media(max-width:700px){.board-reply:has(.board-reply-context){margin-left:10px}}

/* Dashboard weekly weather forecast */
.dashboard-weather-card{margin-bottom:20px;border-top:4px solid #4f8fcf;background:linear-gradient(180deg,#f7fbff 0%,#fff 78%)}
.weather-head{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(300px,1.4fr) auto;gap:18px;align-items:center;margin-bottom:14px}.weather-head h2{margin:2px 0 2px}.weather-head p{margin:0;color:var(--muted);font-size:12px}.weather-now{display:flex;align-items:center;gap:12px}.weather-now-icon{font-size:38px;line-height:1}.weather-now strong{display:block;font-size:28px;color:#0b4d8e}.weather-now small{display:block;margin-top:2px;color:var(--muted)}.weather-radar-btn{justify-self:end}.weather-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.weather-day{display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 7px;border:1px solid #dbe6f1;border-radius:10px;background:#fff;text-align:center;min-width:0}.weather-day.today{border-color:#7fb3e6;background:#eef7ff}.weather-day>strong{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.weather-icon{font-size:25px}.weather-condition{min-height:28px;font-size:10px;color:#55697d;line-height:1.25}.weather-day>b{font-size:16px;color:#153b61}.weather-day>b small{font-size:12px;color:#75879a;font-weight:700}.weather-rain{font-size:10px;color:#326b9d}.weather-unavailable{padding:14px;border:1px dashed #b8c8d8;border-radius:9px;background:#fff;color:var(--muted)}
@media(max-width:1000px){.weather-head{grid-template-columns:1fr auto}.weather-now{grid-column:1}.weather-radar-btn{grid-column:2;grid-row:1/3}.weather-week{overflow-x:auto;grid-template-columns:repeat(7,minmax(120px,1fr));padding-bottom:4px}}
@media(max-width:620px){.weather-head{grid-template-columns:1fr}.weather-now,.weather-radar-btn{grid-column:1;grid-row:auto}.weather-radar-btn{justify-self:stretch}.weather-week{grid-template-columns:repeat(7,112px)}}
.weather-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap}.weather-actions form{margin:0}.weather-actions .btn{white-space:nowrap}
@media(max-width:1000px){.weather-head{grid-template-columns:1fr auto}.weather-actions{grid-column:2;grid-row:1/3;align-self:center}.weather-radar-btn{grid-column:auto;grid-row:auto}}
@media(max-width:620px){.weather-actions{grid-column:1;grid-row:auto;justify-content:stretch}.weather-actions .btn,.weather-actions form{flex:1}.weather-actions form .btn{width:100%}}

/* Company Board emoji reactions */
.board-reactions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:14px}.board-reaction-form{margin:0}.board-reaction{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:38px;height:34px;padding:4px 9px;border:1px solid #d7e1ec;border-radius:999px;background:#fff;color:#24415f;cursor:pointer;font:inherit;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}.board-reaction:hover{background:#f4f8fc;border-color:#a9c8e7;transform:translateY(-1px)}.board-reaction.active{background:#eaf4ff;border-color:#5b9bd5;box-shadow:0 0 0 2px rgba(64,135,204,.10)}.reaction-emoji{font-size:18px;line-height:1}.reaction-count{font-size:12px;font-weight:700;color:#46617d}.board-reply-actions{margin-top:12px}

/* Company Board reactions docked on the bottom card edge */
.board-action-footer{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;flex-wrap:wrap;position:relative;margin-top:14px;min-height:38px}.board-action-footer .board-post-actions,.board-action-footer .board-reply-actions{margin-top:0}.board-action-footer .edge-reactions{margin:0 auto -17px 0;align-self:flex-end;position:relative;z-index:2;padding-left:8px}.board-action-footer .edge-reactions .board-reaction{width:38px;min-width:38px;padding:4px 6px;background:#fff;box-shadow:0 2px 7px rgba(19,53,87,.08)}.board-action-footer .edge-reactions .reaction-count{position:absolute;top:-8px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#1f6fb9;color:#fff;font-size:10px;line-height:17px;text-align:center}.board-action-footer .edge-reactions .board-reaction{position:relative}.board-original,.board-reply{overflow:visible}.board-reply{margin-bottom:18px}
@media(max-width:700px){.board-action-footer{gap:8px}.board-action-footer .edge-reactions{order:2;width:100%;margin:4px 0 -17px;padding-left:0;justify-content:flex-start}.board-action-footer .board-post-actions,.board-action-footer .board-reply-actions{order:1;width:100%;justify-content:flex-end}}

.invoice-pdf-btn{background:#0f766e;border-color:#0f766e;color:#fff}.invoice-pdf-btn:hover{background:#115e59;border-color:#115e59}

/* Apply payment */
.job-cost-titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.apply-payment{position:relative}.apply-payment>summary{list-style:none;cursor:pointer}.apply-payment>summary::-webkit-details-marker{display:none}.apply-payment-form{position:absolute;right:0;top:48px;z-index:20;width:min(390px,88vw);background:#fff;border:1px solid #cbd8e6;border-radius:12px;padding:16px;box-shadow:0 14px 34px rgba(16,36,62,.16);display:grid;grid-template-columns:1fr 1fr;gap:12px}.apply-payment-form label{display:grid;gap:5px;font-weight:700;font-size:13px}.apply-payment-form button,.apply-payment-form small{grid-column:1/-1}.apply-payment-form small{color:var(--muted)}.job-payment-summary{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:-2px 0 16px;padding:10px 12px;background:#f4f8fc;border:1px solid #d7e2ee;border-radius:10px;font-size:13px}.job-payment-summary>span strong{margin-left:5px}.job-payment-summary details{margin-left:auto}.job-payment-list{min-width:320px;padding-top:8px}.job-payment-list>div{display:flex;justify-content:space-between;gap:18px;padding:7px 0;border-top:1px solid #dfe7ef}.apply-payment-btn{background:#0f766e;border-color:#0f766e}.apply-payment-btn:hover{background:#115e59;border-color:#115e59}@media(max-width:620px){.job-cost-titlebar{align-items:stretch}.apply-payment-form{position:fixed;left:5vw;right:5vw;top:18vh;width:90vw;grid-template-columns:1fr}.job-payment-summary details{margin-left:0;width:100%}.job-payment-list{min-width:0}}
.accounting-row-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.accounting-row-actions form{margin:0}.btn.small{padding:7px 10px;font-size:12px}.btn.danger{border-color:#efb1ad;color:#b42318;background:#fff}.btn.danger:hover{background:#fff2f1}
.roofscope-address-grid,.roofscope-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.roofscope-address-grid>div,.roofscope-extra-grid>div{padding:12px 14px;border:1px solid #d8e1eb;border-radius:10px;background:#f7faff}.roofscope-address-grid span,.roofscope-extra-grid span{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.roofscope-address-grid strong,.roofscope-extra-grid strong{font-size:14px}.roofscope-review-summary .alert{margin-top:12px}@media(max-width:700px){.roofscope-address-grid,.roofscope-extra-grid{grid-template-columns:1fr}}

/* Grouped Setup dashboard */
.setup-grid-primary{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1120px}
.setup-card-primary{min-height:210px;padding:26px}
.setup-card-primary .setup-card-icon{width:54px;height:54px;font-size:22px}
.setup-card-primary h2{font-size:24px}
.setup-card-primary p{font-size:15px;max-width:520px}
.setup-grid-section{max-width:1120px}
@media(max-width:850px){.setup-grid-primary{grid-template-columns:1fr}.setup-card-primary{min-height:0}}

/* Invoice dating and A/R aging reminders */
.invoice-status-row{flex-wrap:wrap}.invoice-date-inline{display:flex;align-items:center;gap:8px;font-weight:700}.invoice-date-inline input{min-width:160px}.trade-scope-aging{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;border:1px solid #d8d8d8;background:#f7f7f7}.trade-scope-aging.ar-30{background:#fff6df;border-color:#ead39c;color:#7b5707}.trade-scope-aging.ar-60{background:#fff0dc;border-color:#e9bd81;color:#92520a}.trade-scope-aging.ar-90{background:#fde9e9;border-color:#e5aaaa;color:#a22626}.ar-aging-accordion .ar-aging-icon{background:#fff3df;color:#875010}.ar-aging-accordion[open]{border-left:4px solid #c9822a}.ar-aging-list .ar-aging-row{align-items:center}.ar-aging-row.ar-90{border-left:4px solid #b83232}.ar-aging-row.ar-60{border-left:4px solid #c9822a}.ar-aging-row.ar-30{border-left:4px solid #d0a335}.ar-aging-badge{width:58px;min-width:58px;height:52px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f6f6f6;border:1px solid #ddd}.ar-aging-badge strong{font-size:17px;line-height:1}.ar-aging-badge span{font-size:9px;font-weight:900;letter-spacing:.08em;margin-top:4px}.ar-aging-row.ar-90 .ar-aging-badge{background:#fde9e9;border-color:#e5aaaa;color:#a22626}.ar-aging-row.ar-60 .ar-aging-badge{background:#fff0dc;border-color:#e9bd81;color:#92520a}.ar-aging-row.ar-30 .ar-aging-badge{background:#fff6df;border-color:#ead39c;color:#7b5707}@media(max-width:700px){.invoice-status-row{flex-direction:column;align-items:stretch}.invoice-date-inline{align-items:flex-start;flex-direction:column}.ar-aging-badge{width:48px;min-width:48px}}

/* Company Trade Types + Production Board color coding */
.trade-type-page-grid{align-items:start}.trade-type-directory{display:grid;gap:12px}.trade-type-manage-card{position:relative;display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(180px,1fr) auto;gap:12px;align-items:end;padding:16px 16px 16px 22px;border:1px solid #d9e1e9;border-radius:12px;background:#fff;overflow:hidden}.trade-type-manage-card.inactive{opacity:.72}.trade-type-card-marker{position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--trade-color)}.trade-color-field{display:flex;align-items:center;gap:10px}.trade-color-field input[type="color"]{width:54px;height:40px;padding:3px;border:1px solid #cbd5df;border-radius:8px;background:#fff;cursor:pointer}.trade-color-preview{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border-left:6px solid var(--trade-color);border-radius:8px;background:color-mix(in srgb,var(--trade-color) 11%,white);font-size:12px;font-weight:800;color:#17324f}.trade-type-card-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}.trade-type-active{align-self:center}.production-card.trade-type-highlight{border-left:8px solid var(--trade-color);background:linear-gradient(90deg,color-mix(in srgb,var(--trade-color) 13%,white) 0%,#fff 38%);box-shadow:0 3px 12px rgba(16,36,62,.08),inset 0 3px 0 color-mix(in srgb,var(--trade-color) 55%,white)}.production-card.trade-type-highlight .trade-scope-badge{border-color:color-mix(in srgb,var(--trade-color) 55%,#c8d2dc);background:color-mix(in srgb,var(--trade-color) 14%,white);color:#18324c}.production-card.trade-type-highlight .production-card-scope>strong{color:#102a45}@media(max-width:800px){.trade-type-manage-card{grid-template-columns:1fr}.trade-type-card-actions{grid-column:1}.trade-color-field{flex-wrap:wrap}}

/* Production Board trade-type filters */
.production-board-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-2px 0 12px;padding:10px 12px;background:#f7f9fc;border:1px solid #dce5ef;border-radius:10px}
.production-filter-label{font-size:12px;font-weight:800;color:var(--muted);margin-right:2px}
.production-filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 10px;border:1px solid #cfd9e5;border-radius:999px;background:#fff;color:#29425f;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.production-filter-chip:hover{border-color:var(--blue-line);background:#f8fbff}
.production-filter-chip.active{border-color:var(--blue);background:var(--blue-light);color:var(--blue-dark);box-shadow:0 0 0 1px rgba(44,123,229,.08)}
.production-filter-dot{width:10px;height:10px;border-radius:50%;background:var(--trade-filter-color);box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.production-card[hidden]{display:none!important}
@media(max-width:760px){.production-board-filters{flex-wrap:nowrap;overflow-x:auto;padding:9px 10px;scrollbar-width:thin}.production-filter-chip{flex:0 0 auto}.production-filter-label{flex:0 0 auto}}


/* Trade Scope billing: invoice and payment controls live with each scope on multi-trade jobs. */
.trade-scope-financial-panel{margin-top:18px;padding:14px 16px;border:1px solid #d7e2ee;border-radius:12px;background:#f7fafc}
.trade-scope-financial-summary{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:13px;color:#53667c}
.trade-scope-financial-summary strong{margin-left:4px;color:#10243e}
.trade-scope-financial-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.trade-scope-payments{margin-top:10px}
.trade-scope-payments>summary{cursor:pointer;font-weight:700;color:#0b63b6}
.trade-scope-apply-payment{position:relative}
.trade-scope-apply-payment .apply-payment-form{right:0}
@media(max-width:620px){.trade-scope-financial-actions{align-items:stretch}.trade-scope-financial-actions>.btn,.trade-scope-financial-actions>details{width:100%}.trade-scope-financial-actions>details>summary{width:100%;text-align:center}}

/* A/R Aging spans the full dashboard width even when collapsed */
.dashboard-action-grid .ar-aging-accordion{grid-column:1/-1}

/* Main CRM logo — match the cleaner Platform Admin header sizing. */
.topbar .brand img{width:210px;height:42px;object-fit:contain;object-position:left center;display:block}
@media(max-width:900px){.topbar .brand img{width:190px;height:42px}}
.takeoff-add-measurement{display:block;box-sizing:border-box;width:100%;margin-top:8px;padding:9px 10px;border:1px dashed #aeb8c3;border-radius:7px;background:#f8fafc;color:#0b4f8a;font:inherit;font-size:12px;font-weight:800;cursor:pointer;list-style:none}.takeoff-add-measurement::-webkit-details-marker{display:none}.takeoff-custom-measurement[open]>.takeoff-add-measurement{border-style:solid;border-color:#0b67b2;background:#eef6fd}.takeoff-custom-measurement-fields{padding:10px 0 0}.takeoff-add-measurement:hover{border-color:#0b67b2;background:#eef6fd}.takeoff-add-measurement:disabled{opacity:.45;cursor:not-allowed}.takeoff-custom-measurement{margin-top:8px}.takeoff-custom-measurement[open]{padding:0 10px 10px;border:1px solid #d9e1e8;border-radius:8px;background:#f8fafc}.takeoff-custom-measurement[data-disabled="true"]>.takeoff-add-measurement{opacity:.45;cursor:not-allowed}.takeoff-custom-measurement label{display:block;margin:0 0 8px;font-size:11px;font-weight:800;color:#23374d}.takeoff-custom-measurement input[type="text"],.takeoff-custom-measurement select{margin-top:4px}.takeoff-custom-pitch{display:flex!important;align-items:center;gap:7px}.takeoff-custom-pitch input{width:auto;margin:0}.takeoff-custom-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}.takeoff-custom-actions .btn{min-width:0;padding:8px 6px}.takeoff-type-buttons button.custom-measurement-type{background:#fbfcfe}.takeoff-type-buttons button.custom-measurement-type small:after{content:' · CUSTOM';font-size:8px;letter-spacing:.03em}

.custom-measurement-mapping-list{display:grid;gap:12px;margin:16px 0}.custom-measurement-mapping-row{display:grid;grid-template-columns:minmax(180px,2fr) 90px 130px 130px 130px auto;gap:10px;align-items:end;padding:12px;border:1px solid #dce3ea;border-radius:10px;background:#f9fbfd}.custom-measurement-mapping-row label{margin:0}.custom-measurement-remove{display:flex!important;align-items:center;gap:6px;padding-bottom:11px}.custom-measurement-remove input{width:auto;margin:0}.custom-measurement-add-row{margin:18px 0;padding:16px;border:1px dashed #9eb1c3;border-radius:10px;background:#f7fafc}.custom-measurement-add-row h3{margin-top:0}@media(max-width:1000px){.custom-measurement-mapping-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.custom-measurement-mapping-row{grid-template-columns:1fr}}

/* Customer-facing roof report builder */
.estimate-report-card{margin-top:24px;border-top:4px solid #ef8f22}
.estimate-report-head{gap:18px;align-items:flex-start}
.estimate-report-head .actions,.estimate-report-head>a{flex:0 0 auto}
.estimate-report-upload{display:flex;gap:16px;align-items:flex-end;padding:16px;border:1px dashed #b8cbe0;border-radius:12px;background:#f8fbff;margin:18px 0}
.estimate-report-upload label{flex:1;margin:0}
.estimate-report-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.estimate-report-photo-card{position:relative;border:1px solid #d7e1ec;border-radius:14px;padding:12px;background:#fff;box-shadow:0 5px 18px rgba(11,42,74,.05)}
.estimate-report-photo-card img{display:block;width:100%;height:245px;object-fit:cover;border-radius:10px;background:#eef3f8}
.estimate-report-photo-number{position:absolute;top:22px;left:22px;z-index:1;background:rgba(11,42,74,.9);color:#fff;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}
.estimate-report-description{margin-top:12px}
.estimate-report-description textarea{min-height:82px;resize:vertical}
.estimate-report-photo-actions{display:flex;justify-content:flex-end;margin-top:8px}
.estimate-report-photo-card .danger-link{margin-top:8px;border-color:#efcaca;color:#a83030;background:#fff;width:100%}
.estimate-report-empty{display:flex;flex-direction:column;gap:4px;padding:22px;border:1px dashed #c9d5e2;border-radius:12px;color:#5b6f86;background:#fafcff}
.estimate-report-empty strong{color:#0b2a4a}
.estimate-report-price-preview{display:grid;grid-template-columns:1fr auto;gap:3px 18px;align-items:end;margin-top:20px;padding:18px 20px;border-radius:12px;background:#fff8ed;border:1px solid #f2c37b}
.estimate-report-price-preview span{font-weight:800;color:#0b2a4a}
.estimate-report-price-preview strong{font-size:24px;color:#0f63b6}
.estimate-report-price-preview small{grid-column:1/-1;color:#6c7785}
@media (max-width:800px){.estimate-report-photo-grid{grid-template-columns:1fr}.estimate-report-upload{align-items:stretch;flex-direction:column}.estimate-report-photo-card img{height:220px}.estimate-report-head{align-items:stretch;flex-direction:column}.estimate-report-head>a{width:100%;text-align:center}}

/* Faster mobile estimate-report photo uploads */
.estimate-report-upload-progress{flex-basis:100%;display:grid;gap:7px;margin-top:2px}.estimate-report-upload-progress[hidden]{display:none}.estimate-report-upload-progress-track{height:8px;border-radius:999px;background:#dfe8f1;overflow:hidden}.estimate-report-upload-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:#ef8f22;transition:width .16s ease}.estimate-report-upload-progress small{color:#536b83;font-size:11px;font-weight:700}.estimate-report-upload[aria-busy="true"] input{pointer-events:none;opacity:.7}@media(max-width:800px){.estimate-report-upload-progress{width:100%}}

/* Estimate shingle selector */
.estimate-system-selector{border-left:4px solid #0f63b6}
.estimate-system-grid{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:18px;align-items:end}
.estimate-system-rates{display:flex;gap:10px;align-items:stretch}
.estimate-system-rates span{min-width:132px;padding:11px 14px;border:1px solid #d7e1ec;border-radius:10px;background:#f7fafe;display:flex;flex-direction:column;gap:2px}
.estimate-system-rates strong{color:#0b2a4a;font-size:1.05rem}
.estimate-system-rates small{color:#5b6f86;font-size:.78rem}
@media(max-width:760px){.estimate-system-grid{grid-template-columns:1fr}.estimate-system-rates{display:grid;grid-template-columns:1fr 1fr}.estimate-system-rates span{min-width:0}}

/* Estimate roof-system picker */
.estimate-roof-picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr) auto;gap:18px;align-items:end}
.estimate-roof-type-wrap{min-width:0}
.estimate-picker-label{display:block;font-weight:700;color:#0b2a4a;margin-bottom:8px}
.estimate-roof-type-options{display:flex;gap:8px;flex-wrap:wrap}
.estimate-roof-type-btn{appearance:none;border:1px solid #c9d8e8;background:#fff;color:#0b2a4a;border-radius:10px;padding:10px 15px;font:inherit;font-weight:700;cursor:pointer;transition:.15s ease}
.estimate-roof-type-btn:hover{border-color:#0f63b6;background:#f5f9fe}
.estimate-roof-type-btn.active{background:#0f63b6;border-color:#0f63b6;color:#fff;box-shadow:0 2px 7px rgba(15,99,182,.18)}
.estimate-roof-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
.estimate-roof-details label{margin:0}
@media(max-width:980px){.estimate-roof-picker{grid-template-columns:1fr}.estimate-roof-details{grid-template-columns:1fr 1fr}.estimate-system-rates{justify-content:flex-start}}
@media(max-width:620px){.estimate-roof-details{grid-template-columns:1fr}.estimate-roof-type-options{display:grid;grid-template-columns:1fr 1fr}.estimate-roof-type-btn{width:100%}}

/* Simplified roof-product pricing/setup */
.pricing-product-name{display:grid;gap:5px}.pricing-product-name small{color:var(--muted);font-size:11px;font-weight:700}.pricing-setup-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pricing-setup-cell .btn{min-width:92px;justify-content:center}.roof-setup-head{margin-bottom:18px}.roof-product-setup-card{margin-bottom:18px}.roof-product-identity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:10px}.roof-product-identity-grid label{margin:0}.roof-product-identity-grid .optional{color:var(--muted);font-size:11px;font-weight:600}.roof-advanced-setup{padding:0;overflow:hidden}.roof-advanced-setup>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;cursor:pointer;list-style:none;background:#f8fafc}.roof-advanced-setup>summary::-webkit-details-marker{display:none}.roof-advanced-setup>summary span:first-child{display:grid;gap:3px}.roof-advanced-setup>summary strong{font-size:16px;color:#102a49}.roof-advanced-setup>summary small{color:var(--muted);font-size:12px;font-weight:500}.roof-advanced-setup[open]>summary{border-bottom:1px solid #e4e8ee}.roof-advanced-body{padding:20px}.roof-advanced-body>p:first-child{margin-top:0;color:var(--muted);font-size:13px;line-height:1.5}.roof-system-totals{margin-top:18px;padding:18px;border:1px solid #dde4eb;border-radius:12px;background:#fbfcfe}.roof-system-totals h3{margin:0 0 12px;color:#102a49}
@media(max-width:900px){.roof-product-identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.roof-product-identity-grid{grid-template-columns:1fr}.roof-advanced-setup>summary{align-items:flex-start;flex-direction:column}.pricing-setup-cell{min-width:130px}}

/* RoofScope import progress */
.roofscope-upload-progress{flex-basis:100%;width:100%;display:grid;gap:7px;margin-top:4px}
.roofscope-upload-progress[hidden]{display:none}
.roofscope-upload-progress-track{height:8px;border-radius:999px;background:#dfe8f1;overflow:hidden;position:relative}
.roofscope-upload-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:#ef8f22;transition:width .18s ease}
.roofscope-upload-progress-track.is-processing span{position:absolute;width:34%!important;left:-34%;animation:roofscope-processing 1.15s ease-in-out infinite;transition:none}
.roofscope-upload-progress small{color:#536b83;font-size:12px;font-weight:700}
.roofscope-upload-form[aria-busy="true"] input{pointer-events:none;opacity:.72}
@keyframes roofscope-processing{0%{left:-34%}55%{left:52%}100%{left:100%}}
@media(max-width:800px){.roofscope-upload-progress{width:100%}}

/* Compact RoofScope verification card on estimate */
.roofscope-estimate-check{margin-bottom:18px;border-left:4px solid #ef8f22}
.roofscope-estimate-check .sectionhead{align-items:flex-start}
.roofscope-estimate-check .actions{display:flex;gap:8px;flex-wrap:wrap}
.roofscope-estimate-check .alert{margin-top:10px}
.roofscope-measurement-summary{margin-top:12px;border-top:1px solid #e1e8f0;padding-top:10px}
.roofscope-measurement-summary summary{cursor:pointer;font-weight:800;color:#173b60}
.roofscope-measurement-summary .roofscope-extra-grid{margin-top:10px}
@media(max-width:700px){.roofscope-estimate-check .sectionhead{display:grid;gap:10px}.roofscope-estimate-check .actions{width:100%}.roofscope-estimate-check .actions .btn{flex:1;text-align:center}}
.weather-cache-notice{margin:0 0 12px;padding:10px 12px;border:1px solid #f0c36a;border-radius:10px;background:#fff8e8;color:#7a4b00;font-size:.88rem;font-weight:600}.weather-cache-notice+ .weather-week{margin-top:0}

/* Location-aware operations dashboard */
.dashboard-pagehead-actions{align-items:center;flex-wrap:wrap}
.dashboard-location-switcher{margin:0}
.dashboard-location-switcher label{display:flex;align-items:center;gap:8px;margin:0;padding:6px 8px 6px 12px;border:1px solid #d9e0e8;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.dashboard-location-switcher label>span,.dashboard-location-pill>span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b7280}
.dashboard-location-switcher select{min-width:155px;border:0;background:transparent;padding:6px 28px 6px 4px;font-weight:800;color:#14233b;outline:0;cursor:pointer}
.dashboard-location-pill{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #d9e0e8;border-radius:10px;background:#fff;color:#14233b}
.dashboard-location-pill strong{font-size:14px}
@media(max-width:760px){.dashboard-pagehead-actions{width:100%}.dashboard-location-switcher{width:100%}.dashboard-location-switcher label{justify-content:space-between}.dashboard-location-switcher select{flex:1;min-width:0}.dashboard-location-pill{width:100%;justify-content:space-between}}

/* SimplTracker 2026 navigation refresh */
:root{--sidebar:#082746;--sidebar-deep:#061d35;--sidebar-active:#0f63b6;--shell-bg:#f4f8fc}
body{background:var(--shell-bg)}
.app-topbar{position:sticky;top:0;z-index:80;height:68px;padding:0 28px 0 24px;background:#fff;border-bottom:1px solid #dce6f0;box-shadow:0 2px 10px rgba(15,35,60,.04)}
.app-topbar .brand{width:220px;justify-content:flex-start}.app-topbar .brand img{max-width:190px;max-height:42px}.app-topbar-title{font-size:24px;color:#0b2a4a;margin-right:auto}.app-topbar .account-nav{gap:12px}.topbar-action{display:inline-flex;align-items:center;gap:7px;padding:9px 10px;border:0;background:transparent;color:#17324f;font-weight:750;text-decoration:none;cursor:pointer;border-radius:9px}.topbar-action:hover{background:#eef5fc;color:#0f63b6}.app-topbar .role-badge{display:none}
.app-sidebar{position:fixed;left:0;top:68px;bottom:0;width:248px;background:linear-gradient(180deg,var(--sidebar),var(--sidebar-deep));z-index:70;display:flex;flex-direction:column;color:#fff;box-shadow:4px 0 18px rgba(10,28,48,.08)}
.sidebar-nav{padding:20px 10px;display:flex;flex-direction:column;gap:5px;overflow-y:auto}.sidebar-nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:10px;color:#eaf5ff;text-decoration:none;font-weight:750;font-size:15px;transition:.15s ease}.sidebar-nav a:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-nav a[aria-current="page"]{background:linear-gradient(135deg,#1473d2,#0f63b6);box-shadow:0 6px 16px rgba(0,0,0,.18);color:#fff}.sidebar-icon{display:grid;place-items:center;width:25px;height:25px;font-size:18px;font-weight:900;color:#dff1ff}.sidebar-company-brand{margin-top:auto;padding:22px 18px 24px;text-align:center;border-top:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.08)}.sidebar-company-brand img{display:block;max-width:150px;max-height:70px;object-fit:contain;margin:0 auto 10px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.sidebar-company-brand strong{display:block;color:#fff;font-size:14px}.sidebar-company-brand small{display:block;color:#a9bfd5;margin-top:4px}
body>.wrap{margin-left:248px;max-width:none;width:auto;padding:24px 26px 44px}.dashboard-page>.wrap{background:transparent}
.dashboard-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 16px}.dashboard-welcome h1{margin:0 0 2px;font-size:32px;color:#0b2a4a}.dashboard-welcome p{margin:0;color:#516b85}.dashboard-date{color:#46617d;font-weight:700;font-size:13px;padding-top:7px;white-space:nowrap}.dashboard-pagehead-actions{display:flex;align-items:center;gap:10px}.dashboard-location-switcher label{border-color:#cfdeed;box-shadow:none;border-radius:11px}.dashboard-location-switcher label>span{display:none}.dashboard-location-switcher select{min-width:180px}
.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.dashboard-kpi-card{background:#fff;border:1px solid #dae5ef;border-radius:13px;padding:17px;box-shadow:0 5px 16px rgba(14,43,72,.045);display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;text-decoration:none}.dashboard-kpi-icon{width:48px;height:48px;border-radius:11px;display:grid;place-items:center;font-size:23px;font-weight:900;background:#e9f4ff;color:#0f63b6}.dashboard-kpi-card.money .dashboard-kpi-icon{background:#e8f8ee;color:#07974d}.dashboard-kpi-card.attention .dashboard-kpi-icon{background:#fff3d9;color:#d27a00}.dashboard-kpi-card.production .dashboard-kpi-icon{background:#eeeafd;color:#6247c5}.dashboard-kpi-copy small{display:block;color:#5c7085;font-weight:700;margin-bottom:4px}.dashboard-kpi-copy b{display:block;font-size:24px;color:#0b2a4a;line-height:1.05}.dashboard-kpi-copy span{font-size:11px;color:#6d8297}
.dashboard-global-search{border-radius:13px;box-shadow:0 5px 16px rgba(14,43,72,.035)}.dashboard-weather-card,.card,.financial-accordion{border-radius:13px}.dashboard-weather-card{border-top:1px solid #dbe6f1;background:#fff;box-shadow:0 5px 16px rgba(14,43,72,.035)}.next-actions-card{box-shadow:0 5px 16px rgba(14,43,72,.035)}
@media(max-width:1100px){.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-sidebar{width:210px}body>.wrap{margin-left:210px}.app-topbar .brand{width:182px}}
@media(max-width:800px){.app-topbar{padding:0 12px;height:62px}.app-topbar-title{display:none}.app-topbar .brand{width:auto}.app-topbar .brand img{max-width:145px}.topbar-action span:last-child{display:none}.app-sidebar{position:sticky;top:62px;left:auto;bottom:auto;width:100%;height:auto;display:block;overflow:hidden}.sidebar-nav{padding:8px 10px;flex-direction:row;overflow-x:auto;gap:6px}.sidebar-nav a{flex:0 0 auto;padding:9px 11px}.sidebar-company-brand{display:none}body>.wrap{margin-left:0;padding:16px}.dashboard-kpi-grid{grid-template-columns:1fr 1fr}.dashboard-welcome{flex-direction:column}.dashboard-date{padding-top:0}}
@media(max-width:540px){.dashboard-kpi-grid{grid-template-columns:1fr}.dashboard-pagehead-actions{width:100%}.dashboard-location-switcher,.dashboard-location-switcher label{width:100%}.dashboard-welcome h1{font-size:27px}}

/* Dedicated blueprint takeoff experience */
.plans-takeoffs-manager{padding:0;overflow:hidden;border-top:4px solid var(--blue)}
.plans-manager-head{padding:20px 22px 17px;margin:0;border-bottom:1px solid #dfe7ef;align-items:center;background:#fff}
.plan-manager-upload{margin:0}.plan-upload-button{position:relative;overflow:hidden;cursor:pointer;margin:0}.plan-upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.plans-manager-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:14px 22px;background:#f7f9fc;border-bottom:1px solid #dfe7ef}.plans-manager-toolbar label{margin:0;min-width:min(420px,60%)}.plans-manager-toolbar select{background:#fff}.plans-manager-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;color:#60758b;font-size:12px}.plans-manager-meta strong{color:#17324f;font-size:13px}
.plan-page-browser{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;padding:20px 22px 24px;background:#edf1f5;min-height:260px}.plan-page-card{display:block;min-width:0;border:1px solid #d7e0e8;border-radius:11px;background:#fff;color:#0d2846;text-decoration:none;overflow:hidden;box-shadow:0 4px 12px rgba(15,35,55,.06);transition:.15s ease}.plan-page-card:hover{transform:translateY(-2px);border-color:#6aa9e5;box-shadow:0 8px 20px rgba(15,35,55,.12)}.plan-page-preview{position:relative;height:205px;display:grid;place-items:center;padding:10px;background:#dce2e8;overflow:hidden}.plan-page-preview canvas{display:block;max-width:100%;max-height:100%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.14)}.plan-page-open{position:absolute;right:10px;bottom:10px;padding:7px 10px;border-radius:7px;background:#0f63b6;color:#fff;font-size:11px;font-weight:900;opacity:0;transform:translateY(4px);transition:.15s ease}.plan-page-card:hover .plan-page-open{opacity:1;transform:none}.plan-page-caption{display:flex;flex-direction:column;gap:4px;padding:12px 13px}.plan-page-caption strong{font-size:14px}.plan-page-caption span{font-size:11px;color:#6a7b8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-browser-loading,.plan-manager-empty{grid-column:1/-1;padding:42px 24px;text-align:center;color:#60758b}.plan-manager-empty{display:flex;flex-direction:column;gap:6px}.plan-manager-empty strong{color:#163452;font-size:16px}.plan-manager-files{margin:0;border-top:1px solid #dfe7ef;background:#fff}.plan-manager-files>summary{padding:13px 22px;color:#49627b;font-size:12px;font-weight:800;cursor:pointer}.plan-manager-files .takeoff-plan-list{padding:0 22px 18px;margin:0}

.takeoff-workspace-page{overflow:hidden;background:#dbe3eb}
.takeoff-workspace-page .app-sidebar{display:none!important}
.takeoff-workspace-page .app-topbar{height:58px;padding-left:18px;background:#0d1d2d;border-bottom-color:#20374c;box-shadow:none}.takeoff-workspace-page .app-topbar .brand{width:220px}.takeoff-workspace-page .app-topbar .brand{background:#fff;border-radius:9px;padding:4px 9px;width:auto}.takeoff-workspace-page .app-topbar .brand img{filter:none}.takeoff-workspace-page .app-topbar-title{color:#fff;font-size:17px}.takeoff-workspace-page .topbar-action{color:#dce9f5}.takeoff-workspace-page .topbar-action:hover{background:rgba(255,255,255,.08);color:#fff}.takeoff-workspace-page .task-notification-menu summary{color:#fff}
body.takeoff-workspace-page>.wrap{margin-left:0!important;padding:0!important;height:calc(100vh - 58px);max-width:none!important;overflow:hidden;background:#dbe3eb;display:flex;flex-direction:column}
.takeoff-command-bar{flex:0 0 auto;min-height:62px;display:grid;grid-template-columns:minmax(230px,.8fr) minmax(420px,1.25fr) auto;align-items:center;gap:14px;padding:8px 14px;background:#fff;border-bottom:1px solid #cbd6e1;box-shadow:0 2px 7px rgba(12,33,55,.06);z-index:5}.takeoff-command-left,.takeoff-command-center,.takeoff-command-actions{display:flex;align-items:center;gap:9px;min-width:0}.takeoff-command-center{justify-content:center}.takeoff-command-actions{justify-content:flex-end}.takeoff-back-button{flex:0 0 auto;padding:8px 10px;border-radius:7px;background:#eef5fb;color:#0c579d;text-decoration:none;font-weight:850;font-size:12px}.takeoff-back-button:hover{background:#deedfb}.takeoff-job-label{display:flex;flex-direction:column;min-width:0}.takeoff-job-label strong{font-size:13px;color:#102b49}.takeoff-job-label span{font-size:10px;color:#6c7d8e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.takeoff-compact-field{display:flex;align-items:center;gap:6px;margin:0;color:#526b82;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.takeoff-compact-field select{height:36px;min-width:170px;max-width:260px;padding:6px 30px 6px 9px;background:#fff;font-size:12px;font-weight:750;text-transform:none;letter-spacing:0}.takeoff-zoom-field select{min-width:90px}.takeoff-page-controls-inline{margin:0;display:flex;align-items:center;gap:5px}.takeoff-page-controls-inline button,.takeoff-icon-button{height:36px;border:1px solid #cbd7e2;border-radius:7px;background:#fff;color:#17324f;font:inherit;font-size:11px;font-weight:850;cursor:pointer}.takeoff-page-controls-inline button{width:34px}.takeoff-page-controls-inline strong{min-width:78px;text-align:center;font-size:11px;color:#263d55}.takeoff-icon-button{padding:0 10px}.takeoff-icon-button:hover,.takeoff-icon-button[aria-pressed="true"]{background:#e9f4ff;border-color:#84b9e9;color:#075da9}.takeoff-save-button{height:36px;padding:0 13px;white-space:nowrap}
.takeoff-workspace-shell-pro{flex:1;min-height:0;display:grid;grid-template-columns:236px minmax(0,1fr) 275px;gap:0;align-items:stretch;background:#dbe3eb;overflow:hidden}.takeoff-toolbox-pro,.takeoff-results-panel-pro{position:static!important;max-height:none!important;height:100%;overflow:auto;margin:0!important;border:0;border-radius:0!important;box-shadow:none;background:#fff;padding:0 12px 14px!important}.takeoff-toolbox-pro{border-right:1px solid #cbd6e1}.takeoff-results-panel-pro{border-left:1px solid #cbd6e1}.takeoff-panel-heading{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 -12px 10px;padding:12px 12px 10px;background:#fff;border-bottom:1px solid #e1e8ef}.takeoff-panel-heading h2{margin:1px 0 0;font-size:17px}.takeoff-panel-heading .eyebrow{font-size:9px}.takeoff-panel-close{width:28px;height:28px;border:0;border-radius:6px;background:#edf3f8;color:#4a647d;font-size:18px;cursor:pointer}.takeoff-panel-close:hover{background:#dfeaf4}.takeoff-scale-drawer{margin:8px 0 10px;border:1px solid #d9e2ea;border-radius:8px;background:#f8fafc}.takeoff-scale-drawer summary{display:flex;flex-direction:column;gap:2px;padding:9px 10px;cursor:pointer}.takeoff-scale-drawer summary span{font-size:11px;font-weight:900;color:#17324f}.takeoff-scale-drawer summary strong{font-size:10px;color:#697d90;font-weight:650}.takeoff-scale-fields{padding:0 10px 10px}.takeoff-scale-fields label{margin-top:4px}.takeoff-scale-fields input{padding:8px}.takeoff-scale-fields .btn{padding:8px}.takeoff-measurement-section{margin-top:0;padding-top:8px;border-top:0}.takeoff-section-label{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.takeoff-section-label strong{font-size:12px}.takeoff-section-label small{font-size:10px;color:#6a7e91}.takeoff-toolbox-pro .takeoff-type-buttons{gap:4px}.takeoff-toolbox-pro .takeoff-type-buttons button{grid-template-columns:11px minmax(0,1fr) auto;padding:7px 8px;font-size:11px;border-radius:6px}.takeoff-toolbox-pro .takeoff-type-buttons button b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.takeoff-toolbox-pro .takeoff-draw-actions{margin-top:9px}.takeoff-toolbox-pro .takeoff-draw-actions .btn,.takeoff-toolbox-pro .takeoff-edit-actions .btn{font-size:11px;padding:7px}.takeoff-tool-help{margin:10px 0 0;padding:9px;border-radius:7px;background:#eef5fb;color:#47627b;font-size:10px;line-height:1.45}
.takeoff-plan-panel-pro{height:100%;min-height:0;display:grid;grid-template-rows:36px minmax(0,1fr);border:0!important;border-radius:0!important;background:#cfd7df}.takeoff-plan-toolbar-pro{min-height:36px;padding:0 12px;background:#182839;border-bottom:1px solid #293d51}.takeoff-plan-toolbar-pro strong{font-size:11px}.takeoff-plan-toolbar-pro span{font-size:10px}.takeoff-plan-panel-pro .takeoff-canvas-scroll{min-height:0!important;max-height:none!important;height:100%;overflow:auto;padding:18px;background:#cfd7df}.takeoff-plan-panel-pro .takeoff-canvas-stage{box-shadow:0 4px 20px rgba(0,0,0,.22)}
.takeoff-results-panel-pro h3{margin:12px 0 8px;font-size:12px}.takeoff-results-divider{height:1px;background:#dfe7ef;margin:12px 0}.takeoff-results-panel-pro .plan-takeoff-totals>div{padding:8px 0}.takeoff-results-panel-pro .plan-takeoff-totals span,.takeoff-results-panel-pro .plan-takeoff-totals strong{font-size:10px}.takeoff-results-panel-pro .plan-measurement-list>div{padding:7px 0}
.takeoff-results-collapsed .takeoff-workspace-shell-pro{grid-template-columns:236px minmax(0,1fr)}.takeoff-results-collapsed .takeoff-results-panel-pro{display:none}.takeoff-tools-collapsed .takeoff-workspace-shell-pro{grid-template-columns:minmax(0,1fr) 275px}.takeoff-tools-collapsed .takeoff-toolbox-pro{display:none}.takeoff-tools-collapsed.takeoff-results-collapsed .takeoff-workspace-shell-pro,.takeoff-focus-mode .takeoff-workspace-shell-pro{grid-template-columns:minmax(0,1fr)}.takeoff-focus-mode .takeoff-toolbox-pro,.takeoff-focus-mode .takeoff-results-panel-pro{display:none!important}.takeoff-focus-mode .takeoff-plan-panel-pro{grid-column:1/-1}.takeoff-workspace-footer{flex:0 0 30px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 14px;background:#f8fafc;border-top:1px solid #cad5df;color:#677b8e;font-size:10px}.takeoff-workspace-footer a{color:#0f63b6;font-weight:800;text-decoration:none}
.takeoff-fullscreen .takeoff-command-bar{min-height:54px}.takeoff-fullscreen .takeoff-workspace-footer{display:none}.takeoff-fullscreen .wrap{height:100vh!important;padding:0!important}.takeoff-fullscreen .takeoff-canvas-scroll{height:100%!important}.takeoff-fullscreen .takeoff-workspace-shell-pro{flex:1}
@media(max-width:1250px){.takeoff-command-bar{grid-template-columns:minmax(200px,.7fr) minmax(330px,1fr) auto}.takeoff-job-label{display:none}.takeoff-compact-field select{max-width:185px}.takeoff-results-collapsed .takeoff-workspace-shell-pro{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:900px){body.takeoff-workspace-page>.wrap{height:auto;min-height:calc(100vh - 58px);overflow:visible}.takeoff-workspace-page{overflow:auto}.takeoff-command-bar{position:sticky;top:58px;grid-template-columns:1fr;align-items:stretch}.takeoff-command-left,.takeoff-command-center,.takeoff-command-actions{justify-content:space-between;flex-wrap:wrap}.takeoff-workspace-shell-pro,.takeoff-results-collapsed .takeoff-workspace-shell-pro,.takeoff-tools-collapsed .takeoff-workspace-shell-pro{display:block;overflow:visible}.takeoff-toolbox-pro,.takeoff-results-panel-pro{height:auto;max-height:none}.takeoff-plan-panel-pro{height:72vh;min-height:520px}.takeoff-results-collapsed .takeoff-results-panel-pro,.takeoff-tools-collapsed .takeoff-toolbox-pro{display:none}.takeoff-workspace-footer{position:relative}.plan-page-browser{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}

/* Invoicing setup */
.invoice-settings-card{max-width:900px}.invoice-settings-card label small{font-weight:500}.invoice-preview-hint{display:grid;gap:4px;padding:14px 16px;border:1px solid #c9d9ea;border-radius:10px;background:#f4f8fc;color:#29405d}.invoice-preview-hint strong{color:#10243e}
.platform-topbar .linkbtn{color:#10243e}.platform-topbar .linkbtn:hover{color:#0b63b6}

/* 2026-10 SimplTracker logo refresh — centered over primary navigation. */
.app-topbar{padding-left:0}
.app-topbar .brand{
  flex:0 0 248px;
  width:248px;
  height:68px;
  padding:0 18px;
  justify-content:center;
  align-items:center;
}
.app-topbar .brand img{
  width:100%;
  max-width:205px;
  height:auto;
  max-height:54px;
  object-fit:contain;
  object-position:center center;
  display:block;
  filter:none!important;
  mix-blend-mode:normal!important;
}

/* The new logo contains white lettering, so keep dark shells behind it. */
.app-topbar{background:#101b2a}
.app-topbar-title{color:#f3f8fd}
.app-topbar .topbar-action{color:#dce9f5}
.app-topbar .topbar-action:hover{background:rgba(255,255,255,.08);color:#fff}

/* Keep the dedicated takeoff header clean with the same transparent brand treatment. */
.takeoff-workspace-page .app-topbar .brand{
  flex:0 0 220px;
  width:220px;
  height:58px;
  padding:0 10px;
  justify-content:center;
  background:transparent;
  border-radius:0;
}
.takeoff-workspace-page .app-topbar .brand img{max-width:190px;max-height:48px}

/* Platform Admin also uses the new white/blue mark, so use a dark header for contrast. */
.platform-topbar{background:#101b2a;color:#fff;border-bottom-color:#0b63b6}
.platform-brand{color:#fff}
.platform-brand img{width:220px;height:50px;object-position:center}
.platform-brand span{color:#e6eef7;border-left-color:rgba(255,255,255,.25)}
.platform-topbar>div{color:#e6eef7}
.platform-topbar .linkbtn{color:#e6eef7}
.platform-topbar .linkbtn:hover{color:#fff}

@media(max-width:1100px){
  .app-topbar .brand{flex-basis:210px;width:210px;padding:0 12px}
  .app-topbar .brand img{max-width:180px}
}
@media(max-width:800px){
  .app-topbar{padding-left:12px}
  .app-topbar .brand{flex:0 0 auto;width:auto;height:62px;padding:0;justify-content:flex-start}
  .app-topbar .brand img{width:155px;max-width:155px;max-height:44px}
}

/* 2026-10 header alignment fix — keep SimplTracker logo centered over sidebar navigation. */
@media(min-width:801px){
  .app-topbar{
    display:grid;
    grid-template-columns:248px minmax(0,1fr) auto;
    align-items:center;
    justify-content:initial;
    column-gap:0;
    padding:0 28px 0 0;
  }
  .app-topbar .brand{
    grid-column:1;
    width:248px;
    max-width:248px;
    height:68px;
    padding:0 28px;
    margin:0;
    justify-self:stretch;
    justify-content:center;
  }
  .app-topbar .brand img{
    width:100%;
    max-width:190px;
    margin:0 auto;
  }
  .app-topbar-title{
    grid-column:2;
    margin:0;
    padding-left:36px;
    min-width:0;
  }
  .app-topbar .account-nav{
    grid-column:3;
    justify-self:end;
  }
}
@media(min-width:801px) and (max-width:1100px){
  .app-topbar{grid-template-columns:210px minmax(0,1fr) auto}
  .app-topbar .brand{width:210px;max-width:210px;padding:0 20px}
  .app-topbar .brand img{max-width:170px}
  .app-topbar-title{padding-left:28px}
}

/* Address autocomplete */
.address-autocomplete-wrap{position:relative;display:block;width:100%}.address-autocomplete-wrap>input{width:100%}.address-suggestion-menu{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #c8d8e8;border-radius:12px;box-shadow:0 14px 36px rgba(8,32,58,.18);overflow:hidden;max-height:320px;overflow-y:auto}.address-suggestion{display:flex;width:100%;flex-direction:column;gap:2px;text-align:left;padding:12px 14px;border:0;border-bottom:1px solid #edf2f7;background:#fff;color:#0b2d50;cursor:pointer;font:inherit}.address-suggestion:last-of-type{border-bottom:0}.address-suggestion:hover,.address-suggestion.active{background:#eef6ff}.address-suggestion strong{font-size:14px}.address-suggestion span{font-size:12px;color:#62758a;font-weight:500}.address-attribution{padding:7px 12px;text-align:right;font-size:10px;font-weight:700;color:#6b7280;background:#fafcff;border-top:1px solid #edf2f7}.address-autocomplete-wrap+small.field-help{display:block;margin-top:7px}

/* 2026-10-02 definitive desktop header/sidebar alignment.
   Keep the SimplTracker mark in the exact same visual lane as the left navigation. */
@media(min-width:801px){
  body:not(.takeoff-workspace-page) .app-topbar{
    position:sticky;
    display:flex;
    align-items:center;
    height:68px;
    padding:0 28px 0 248px;
  }
  body:not(.takeoff-workspace-page) .app-topbar .brand{
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:248px;
    max-width:248px;
    height:68px;
    margin:0;
    padding:0 24px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  body:not(.takeoff-workspace-page) .app-topbar .brand img{
    display:block;
    width:auto;
    max-width:190px;
    max-height:50px;
    margin:0 auto;
    object-fit:contain;
    object-position:center;
  }
  body:not(.takeoff-workspace-page) .app-topbar-title{
    margin:0 auto 0 0;
    padding-left:28px;
  }
  body:not(.takeoff-workspace-page) .app-topbar .account-nav{
    margin-left:auto;
  }
}
@media(min-width:801px) and (max-width:1100px){
  body:not(.takeoff-workspace-page) .app-topbar{padding-left:210px}
  body:not(.takeoff-workspace-page) .app-topbar .brand{
    width:210px;
    max-width:210px;
    padding:0 18px;
  }
  body:not(.takeoff-workspace-page) .app-topbar .brand img{max-width:170px}
}

/* 2026-10-02 mobile navigation fix.
   On phones, use an off-canvas drawer instead of a sticky horizontal nav that follows the page. */
.mobile-nav-toggle{display:none}
.mobile-nav-backdrop{display:none}
@media(max-width:800px){
  .app-topbar{position:sticky;top:0;z-index:120;height:62px;padding:0 12px;gap:10px}
  .mobile-nav-toggle{display:inline-flex;flex:0 0 42px;width:42px;height:42px;border:0;border-radius:10px;background:rgba(255,255,255,.08);align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;padding:0}
  .mobile-nav-toggle span{display:block;width:20px;height:2px;border-radius:2px;background:#fff;transition:transform .2s ease,opacity .2s ease}
  .mobile-nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .mobile-nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .app-topbar .brand{flex:0 1 auto;width:auto;height:62px;padding:0;justify-content:flex-start}
  .app-topbar .brand img{width:150px;max-width:150px;max-height:43px}
  .app-topbar .account-nav{margin-left:auto;gap:4px}
  .app-topbar-title{display:none}

  .app-sidebar{position:fixed;z-index:130;top:62px;left:0;bottom:0;width:min(82vw,310px);height:auto;display:flex;overflow:hidden;transform:translateX(-105%);transition:transform .22s ease;box-shadow:12px 0 32px rgba(4,20,36,.25)}
  body.mobile-nav-open .app-sidebar{transform:translateX(0)}
  .sidebar-nav{padding:14px 10px;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;gap:5px}
  .sidebar-nav a{width:100%;flex:0 0 auto;padding:12px 14px}
  .sidebar-company-brand{display:block;margin-top:auto;padding:16px 14px 20px}
  .sidebar-company-brand img{max-width:125px;max-height:56px}
  .mobile-nav-backdrop{position:fixed;z-index:125;inset:62px 0 0;background:rgba(2,15,28,.48);backdrop-filter:blur(1px)}
  body.mobile-nav-open .mobile-nav-backdrop{display:block}
  body.mobile-nav-open{overflow:hidden}
  body>.wrap{margin-left:0;padding:16px}
  .dashboard-kpi-grid{grid-template-columns:1fr 1fr}
  .dashboard-welcome{flex-direction:column}
  .dashboard-date{padding-top:0}
}
@media(max-width:560px){
  .dashboard-kpi-grid{grid-template-columns:1fr}
  .app-topbar .brand img{width:142px;max-width:142px}
}

/* Multi-scope estimating */
.estimate-scope-manager{overflow:hidden}
.estimate-scope-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:14px}
.estimate-scope-tab{display:grid;gap:3px;padding:14px;border:1px solid var(--border,#dfe3e8);border-radius:12px;text-decoration:none;color:inherit;background:var(--surface,#fff)}
.estimate-scope-tab:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(15,23,42,.08)}
.estimate-scope-tab.active{outline:2px solid #0b63b6;border-color:transparent}
.estimate-scope-tab span{font-weight:800}.estimate-scope-tab small{color:var(--muted,#64748b)}.estimate-scope-tab strong{font-size:1.05rem;margin-top:4px}
.estimate-add-scope{margin-top:14px}.estimate-add-scope>summary{display:inline-flex;cursor:pointer;list-style:none}.estimate-add-scope>summary::-webkit-details-marker{display:none}
.estimate-add-scope-form{display:grid;grid-template-columns:minmax(180px,2fr) minmax(160px,1fr) auto;gap:12px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid var(--border,#dfe3e8)}
.estimate-scope-details{margin-bottom:14px}.estimate-scope-details .sectionhead{align-items:flex-start}
@media(max-width:760px){.estimate-add-scope-form{grid-template-columns:1fr}.estimate-scope-tabs{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.estimate-scope-tabs{grid-template-columns:1fr}}

/* Trade-scope Apply Payment should expand inside the scope card instead of being clipped by the collapsible container. */
.trade-scope-apply-payment{display:block;width:100%;margin-top:10px}
.trade-scope-apply-payment>.apply-payment-form{position:static;right:auto;top:auto;width:100%;max-width:none;margin-top:10px;box-shadow:none;background:#fff;grid-template-columns:repeat(2,minmax(0,1fr))}
.trade-scope-apply-payment>.apply-payment-form label{min-width:0}
.trade-scope-apply-payment>.apply-payment-form input{width:100%;min-width:0}
@media(max-width:700px){.trade-scope-apply-payment>.apply-payment-form{grid-template-columns:1fr}}

/* Company Board photo uploads + pasted images */
.board-photo-picker{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center;margin:14px 0;padding:14px;border:1px dashed #a9bfd5;border-radius:12px;background:#f8fbfe;transition:border-color .15s,background .15s}.board-photo-picker.is-dragging{border-color:var(--blue);background:#edf6ff}.board-photo-picker strong{display:block;color:#173a5e}.board-photo-picker p{margin:3px 0 0;color:var(--muted);font-size:12px}.board-photo-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}.board-photo-preview{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:9px}.board-photo-preview:empty{display:none}.board-photo-preview-item{min-width:0;border:1px solid #dce5ee;border-radius:9px;overflow:hidden;background:#fff}.board-photo-preview-item img{display:block;width:100%;height:92px;object-fit:cover}.board-photo-preview-item span{display:block;padding:6px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#51677e}.board-photo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:16px 0 4px}.board-photo-gallery.single{grid-template-columns:minmax(0,520px)}.board-photo-gallery a{display:block;border-radius:11px;overflow:hidden;border:1px solid #dce5ee;background:#f4f7fa}.board-photo-gallery img{display:block;width:100%;height:220px;object-fit:cover}.board-photo-gallery.single img{height:auto;max-height:520px;object-fit:contain}.board-feed-photo{position:relative;display:block;width:min(420px,100%);margin:10px 0 4px;border-radius:10px;overflow:hidden;border:1px solid #dce5ee;background:#f5f7fa}.board-feed-photo img{display:block;width:100%;height:180px;object-fit:cover}.board-feed-photo span{position:absolute;right:8px;bottom:8px;padding:5px 8px;border-radius:999px;background:rgba(10,35,58,.82);color:#fff;font-size:11px;font-weight:800}@media(max-width:620px){.board-photo-picker{grid-template-columns:1fr}.board-photo-picker .btn{width:100%}.board-photo-preview{grid-column:1}.board-photo-gallery{grid-template-columns:1fr}.board-photo-gallery img{height:auto;max-height:420px}.board-feed-photo img{height:160px}}

/* Estimating onboarding / master pricing */
.estimator-setup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.estimator-setup-step{display:flex;gap:16px;text-decoration:none;color:inherit;align-items:flex-start;transition:.15s ease}.estimator-setup-step:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(15,46,77,.08)}.estimator-setup-step h2{margin:2px 0 8px}.estimator-setup-step p{margin:0 0 14px}.setup-step-number{width:34px;height:34px;border-radius:999px;background:#e9f3ff;color:#0b5cab;display:grid;place-items:center;font-weight:800;flex:0 0 auto}.material-template-list{display:grid;gap:10px}.material-template-row{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid #e5edf5}.material-template-row:first-child{border-top:0}.material-template-row small{display:block;color:#63758b;margin-top:4px}.material-template-row form{margin:0}.template-status{font-size:12px;font-weight:800;padding:7px 10px;border-radius:999px;background:#f4f6f8;color:#627085}.template-status.ready{background:#e8f7ee;color:#19723a}.estimating-advanced-admin summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center}.estimating-advanced-admin summary span{color:#63758b;font-size:13px}.master-item-add{display:grid;grid-template-columns:2fr 1fr 1.3fr 1fr 1fr auto;gap:12px;align-items:end}.formula-builder-grid{display:grid;grid-template-columns:2fr 2fr 1fr 1fr 1fr 1fr 1fr auto;gap:12px;align-items:end}.formula-builder-grid.compact{grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr}.formula-card-list{display:grid;gap:14px}.formula-card{border:1px solid #d9e3ee;border-radius:14px;padding:16px;background:#fff}.formula-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.formula-name-input{font-size:16px;font-weight:800}.formula-readable{margin-top:12px;padding:10px 12px;background:#f5f9fd;border-radius:10px;color:#4c6177;font-size:13px}.template-base-grid{display:grid;grid-template-columns:1fr 2fr 1fr 2fr;gap:14px;align-items:end}.template-base-price{border:1px solid #d9e3ee;border-radius:12px;padding:13px}.template-base-price span,.template-base-price strong{display:block}.template-base-price span{font-size:12px;color:#63758b;margin-bottom:5px}.template-item-row{display:grid;grid-template-columns:1.2fr 1fr auto;gap:10px;margin-bottom:10px}.template-activate{display:flex;justify-content:space-between;gap:16px;align-items:center}.check.large{display:flex;align-items:flex-start;gap:10px}.check.large span,.check.large small{display:block}.check.large small{color:#63758b;margin-top:4px;font-weight:400}.setup-table input,.setup-table select{min-width:120px}
@media(max-width:1000px){.estimator-setup-grid{grid-template-columns:1fr}.master-item-add,.formula-builder-grid,.formula-builder-grid.compact,.template-base-grid{grid-template-columns:1fr 1fr}.material-template-row{grid-template-columns:1fr auto}.material-template-row>a.btn{grid-column:1/-1}.material-template-row>form{grid-column:1/-1}.material-template-row>form .btn{width:100%}.template-item-row{grid-template-columns:1fr 1fr auto}}
@media(max-width:650px){.master-item-add,.formula-builder-grid,.formula-builder-grid.compact,.template-base-grid,.template-item-row{grid-template-columns:1fr}.template-activate{align-items:stretch;flex-direction:column}}

/* Advanced estimating formula builder */
.formula-top-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:12px;align-items:end;margin-bottom:16px}.formula-expression-box{border:1px solid #d9e3ee;border-radius:14px;background:#f8fbfe;padding:14px;margin:0 0 16px}.formula-expression-box.compact-expression{margin-bottom:14px}.formula-expression-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.formula-expression-head>div{display:flex;flex-direction:column;gap:3px}.formula-expression-head small{color:#63758b}.formula-terms{display:grid;gap:8px}.formula-term-row{display:grid;grid-template-columns:110px minmax(240px,1fr) 24px 130px auto;gap:8px;align-items:center}.formula-term-row select,.formula-term-row input{min-width:0}.formula-term-operator{font-size:18px;font-weight:900;text-align:center}.formula-term-operator-label{font-weight:800;color:#4c6177}.formula-final-settings{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}.formula-composer-form>.btn.primary{margin-top:2px}
@media(max-width:900px){.formula-top-grid{grid-template-columns:1fr 1fr}.formula-term-row{grid-template-columns:95px minmax(0,1fr) 20px 110px}.formula-term-row .formula-remove-term{grid-column:1/-1}.formula-final-settings{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.formula-top-grid,.formula-final-settings{grid-template-columns:1fr}.formula-expression-head{align-items:stretch;flex-direction:column}.formula-term-row{grid-template-columns:1fr}.formula-term-row>span:not(.formula-term-operator-label){display:none}}

/* Guided company onboarding */
.onboarding-hero{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:30px;border:1px solid #cbd9e8;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f1f7fd 100%);margin-bottom:20px}.onboarding-hero h1{margin:6px 0 8px;font-size:clamp(28px,3vw,42px)}.onboarding-hero p{max-width:760px;margin:0;color:#526b86}.onboarding-progress-card{min-width:245px;padding:20px;border-radius:16px;background:#fff;border:1px solid #d3dfeb;box-shadow:0 8px 24px rgba(22,61,99,.06)}.onboarding-progress-card strong{display:block;font-size:34px;color:#0f63b6}.onboarding-progress-card span{display:block;color:#5d7187;margin:3px 0 12px}.onboarding-progress-track{height:9px;background:#e6edf5;border-radius:99px;overflow:hidden}.onboarding-progress-track span{height:100%;display:block;background:#0f63b6;border-radius:99px}.onboarding-callout{padding:16px 20px;border-radius:14px;background:#f5f9fd;border:1px solid #d5e1ec;margin-bottom:22px}.onboarding-callout p{margin:4px 0 0;color:#567087}.onboarding-section{margin:26px 0}.onboarding-section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:12px}.onboarding-section-head h2{margin:2px 0 0}.onboarding-section-head>span{color:#667b90;font-weight:700}.onboarding-step-list{display:grid;gap:10px}.onboarding-step{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:center;padding:17px 18px;border:1px solid #d2deea;border-radius:15px;background:#fff}.onboarding-step.is-done{border-color:#b7ddc6;background:#f8fffa}.onboarding-step-number{height:38px;width:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#e9f2fb;color:#0f63b6}.onboarding-step.is-done .onboarding-step-number{background:#e3f6e9;color:#168244}.onboarding-step-copy h3{margin:0}.onboarding-step-copy p{margin:5px 0;color:#5a7188}.onboarding-step-copy small{color:#9a6500;font-weight:600}.onboarding-step-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.onboarding-status{font-size:12px;font-weight:800;border-radius:999px;padding:5px 9px}.onboarding-status.done{background:#e3f6e9;color:#16733d}.onboarding-status.attention{background:#fff3d4;color:#805900}.onboarding-status.pending{background:#eef2f6;color:#627386}.onboarding-actions-card{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px;border-radius:16px;border:1px solid #cbd9e8;background:#fff;margin:28px 0}.onboarding-actions-card h2{margin:0 0 5px}.onboarding-actions-card p{margin:0;color:#5e7185}.onboarding-mini-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 15px;background:#eef6ff;border:1px solid #c9def3;border-radius:12px;margin-bottom:14px}.onboarding-mini-banner p{margin:0;color:#395c7d}.onboarding-mini-banner a{white-space:nowrap;font-weight:800}.setup-guide-card{border-color:#9dc7ef!important;background:#f5faff!important}
@media(max-width:800px){.onboarding-hero,.onboarding-actions-card{align-items:stretch;flex-direction:column}.onboarding-progress-card{min-width:0}.onboarding-step{grid-template-columns:40px 1fr}.onboarding-step form{grid-column:2}.onboarding-step form .btn{width:100%}.onboarding-section-head{align-items:flex-start;flex-direction:column;gap:5px}}

/* Platform admin control center */
.platform-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 20px}.platform-metric{padding:18px}.platform-metric span{display:block;color:#60758e;font-size:.82rem;font-weight:700;margin-bottom:6px}.platform-metric strong{font-size:1.55rem;color:#092b50}.platform-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.platform-progress{height:10px;background:#e8eef5;border-radius:999px;overflow:hidden;margin:10px 0 18px}.platform-progress span{display:block;height:100%;background:#1769b5;border-radius:inherit}.platform-checklist{display:grid;gap:8px}.platform-check-row{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid #dbe5ef;border-radius:10px;background:#fbfdff}.platform-check-row>span{font-weight:900;color:#8ca0b5}.platform-check-row.done>span{color:#15803d}.platform-check-row div{display:flex;justify-content:space-between;align-items:center;gap:12px;flex:1}.platform-check-row small{color:#708399}.platform-feature-form{display:grid;gap:10px}.platform-toggle{display:flex!important;gap:12px;align-items:flex-start;padding:12px;border:1px solid #dbe5ef;border-radius:10px;background:#fbfdff}.platform-toggle input{margin-top:4px}.platform-toggle span{display:grid;gap:2px}.platform-toggle small{color:#667a91}.platform-detail-list{display:grid;gap:0;margin:0}.platform-detail-list>div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid #e5edf5}.platform-detail-list dt{font-weight:800;color:#60758e}.platform-detail-list dd{margin:0;min-width:0;overflow-wrap:anywhere}.platform-admin-summary-list{display:grid;gap:10px}.platform-admin-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #dbe5ef;border-radius:10px}.platform-admin-summary div{display:grid;gap:3px}.platform-admin-summary span{color:#60758e}@media(max-width:1100px){.platform-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-detail-grid{grid-template-columns:1fr}}@media(max-width:640px){.platform-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-check-row div{display:grid}.platform-detail-list>div{grid-template-columns:1fr;gap:3px}}

/* Production Board close-job drop target */
.production-board-heading-actions{display:flex;align-items:flex-start;gap:10px}.production-close-drop{display:grid;gap:1px;min-width:150px;padding:8px 12px;border:1px dashed #b7791f;border-radius:10px;background:#fffaf0;color:#7c4a03;cursor:default;transition:.15s ease}.production-close-drop strong{font-size:12px}.production-close-drop small{font-size:9px;color:#946200;font-weight:700}.production-close-drop.drag-over{border-style:solid;border-color:#d97706;background:#ffedd5;box-shadow:0 0 0 3px rgba(217,119,6,.13);transform:translateY(-1px)}.production-close-drop:focus-visible{outline:3px solid #f6c56d;outline-offset:2px}@media(max-width:760px){.production-board-heading-actions{width:100%;justify-content:flex-end}.production-close-drop{min-width:130px}.production-close-drop small{display:none}}

/* Platform admin navigation refresh */
.platform-shell-body{background:#f4f7fb}
.platform-sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#101b2a;color:#fff;display:flex;flex-direction:column;z-index:90;box-shadow:8px 0 28px rgba(9,30,55,.08)}
.platform-sidebar-brand{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:22px 20px 18px;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;text-decoration:none}
.platform-sidebar-brand img{width:185px;max-height:47px;object-fit:contain;object-position:left center}
.platform-sidebar-brand span{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#9db5ce}
.platform-sidebar-nav{display:grid;gap:5px;padding:18px 12px}
.platform-sidebar-nav a{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:8px;padding:11px 12px;border-radius:9px;color:#c9d8e7;text-decoration:none;font-weight:800;font-size:14px}
.platform-sidebar-nav a:hover,.platform-sidebar-nav a.active{background:#17314d;color:#fff}
.platform-sidebar-nav a span:first-child{font-size:16px;text-align:center;color:#77b7ef}
.platform-sidebar-footer{margin-top:auto;padding:16px 18px;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:5px;overflow-wrap:anywhere}
.platform-sidebar-footer small{color:#8ea7bf}.platform-sidebar-footer strong{font-size:12px}.platform-sidebar-footer form{margin:6px 0 0}.platform-sidebar-logout{border:0;background:transparent;color:#b9d2e9;padding:0;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.platform-sidebar-logout:hover{color:#fff}
.platform-main-shell{margin-left:245px;min-height:100vh}.platform-wrap-shell{max-width:1600px;padding:30px 34px 48px}.platform-mobile-header{display:none}
.platform-dashboard-head,.platform-company-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.platform-dashboard-head h1,.platform-company-hero h1{font-size:clamp(30px,3.1vw,44px);margin:4px 0 6px}.platform-dashboard-head p,.platform-company-hero p{margin:0;color:#60758e}.platform-company-hero-status{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.platform-company-hero-status>strong{display:flex;align-items:baseline;gap:3px;font-size:24px;color:#092b50}.platform-company-hero-status>strong small{font-size:12px;color:#60758e}
.platform-dashboard-metrics .platform-metric small{display:block;color:#91a0af;font-size:11px;margin-top:7px}.platform-section-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:16px}.platform-section-toolbar h2{margin:0 0 4px}.platform-section-toolbar p{margin:0;color:#60758e}.platform-company-tools{display:flex;gap:8px;min-width:min(520px,50%)}.platform-company-tools input{flex:1;min-width:190px}.platform-company-tools select{width:155px}
.platform-directory-clean{padding:22px;margin-bottom:18px}.platform-company-table{display:grid;gap:8px}.platform-company-row{display:grid;grid-template-columns:minmax(240px,2fr) minmax(105px,.75fr) 90px 80px 80px auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid #dae4ee;border-radius:12px;background:#fff}.platform-company-row:hover{border-color:#b9d2e9;box-shadow:0 5px 18px rgba(22,61,99,.06)}.platform-company-identity{display:flex;align-items:center;gap:11px;min-width:0}.platform-company-avatar{width:38px;height:38px;border-radius:10px;background:#e7f1fb;color:#0f63b6;display:grid;place-items:center;font-size:12px;font-weight:900;flex:0 0 auto}.platform-company-identity h3{margin:0;font-size:15px}.platform-company-identity code{font-size:11px;color:#75889d}.platform-company-row-stat{display:grid;gap:4px}.platform-company-row-stat>span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#8a99a8}.platform-company-row-stat>strong{font-size:13px}.platform-company-row-stat .platform-status{width:max-content;margin:0}.platform-company-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.platform-company-row-actions .btn{font-size:12px;padding:8px 11px}.platform-company-row[hidden]{display:none!important}.platform-empty-filter{padding:28px;text-align:center;color:#74869a;border:1px dashed #ccd8e4;border-radius:12px;background:#f9fbfd}
.platform-create-collapsible{padding:0;overflow:hidden}.platform-create-collapsible>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px}.platform-create-collapsible>summary::-webkit-details-marker{display:none}.platform-create-collapsible>summary div{display:grid;gap:3px}.platform-create-collapsible>summary strong{font-size:16px}.platform-create-collapsible>summary span{color:#60758e;font-size:12px}.platform-summary-chevron{font-size:22px!important}.platform-create-collapsible[open] .platform-summary-chevron{transform:rotate(180deg)}.platform-create-form-clean{border-top:1px solid #e1e9f1;padding:22px}.platform-create-form-clean fieldset{margin:0;padding:16px;border:1px solid #dae4ee;border-radius:10px}.platform-create-form-clean legend{font-weight:900;padding:0 6px}
.platform-company-tabs{display:flex;gap:5px;overflow-x:auto;padding:6px;margin:0 0 18px;background:#e8eef5;border-radius:12px;position:sticky;top:8px;z-index:20}.platform-company-tabs button{border:0;background:transparent;padding:9px 15px;border-radius:8px;font-weight:800;color:#5d7187;white-space:nowrap;cursor:pointer}.platform-company-tabs button.active{background:#fff;color:#0d5fa8;box-shadow:0 2px 9px rgba(22,61,99,.09)}.platform-tab-panel{display:none}.platform-tab-panel.active{display:block}.platform-tab-card-narrow{max-width:900px}.platform-health-list{display:grid;gap:0}.platform-health-list>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #e5edf5}.platform-health-list>div:last-child{border-bottom:0}.platform-health-list span{color:#60758e;font-weight:700}.platform-checkout-link{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:16px}.platform-checkout-link label{margin:0}.platform-price-change{margin-top:18px;padding-top:18px;border-top:1px solid #e3eaf1}.platform-price-change h3{margin:0 0 4px}.platform-inline-form{display:flex;align-items:end;gap:12px}.platform-inline-form label{margin:0;flex:1}.platform-admin-editor-list{display:grid;gap:12px}.platform-admin-editor{border:1px solid #dbe5ef;border-radius:12px;padding:14px;background:#fbfdff}.platform-admin-editor-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.platform-admin-editor-head div{display:grid;gap:3px}.platform-admin-editor-head div span{color:#60758e;font-size:12px}.platform-password-details{margin-top:10px;border-top:1px solid #e4eaf0;padding-top:10px}.platform-password-details summary{cursor:pointer;font-weight:800;color:#6b7f94}.platform-password-details form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:10px}.platform-password-details label{margin:0}
.platform-support-toolbar{display:flex;gap:8px;margin:0 0 14px}.platform-support-toolbar input{flex:1}.platform-support-toolbar select{width:170px}.platform-support-ticket[hidden]{display:none!important}
@media(max-width:1200px){.platform-company-row{grid-template-columns:minmax(220px,2fr) 110px 80px 80px auto}.platform-company-row-stat:nth-of-type(4){display:none}.platform-company-tools{min-width:0}.platform-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.platform-sidebar{transform:translateX(-100%);transition:.2s ease}.platform-menu-open .platform-sidebar{transform:translateX(0)}.platform-main-shell{margin-left:0}.platform-mobile-header{height:62px;padding:8px 14px;background:#101b2a;display:flex;align-items:center;justify-content:space-between}.platform-mobile-header img{width:170px;max-height:44px;object-fit:contain}.platform-mobile-header button{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;border-radius:8px;padding:8px 11px;font-size:18px}.platform-wrap-shell{padding:20px 14px 36px}.platform-company-row{grid-template-columns:1fr auto}.platform-company-row-stat{display:none!important}.platform-company-row-actions{grid-column:2;grid-row:1}.platform-section-toolbar{align-items:stretch;flex-direction:column}.platform-company-tools{width:100%;min-width:0}.platform-dashboard-head,.platform-company-hero{align-items:flex-start;flex-direction:column}.platform-company-hero-status{justify-content:flex-start}.platform-company-tabs{position:static}.platform-detail-grid{grid-template-columns:1fr}}
@media(max-width:600px){.platform-company-tools,.platform-support-toolbar{display:grid}.platform-company-tools select,.platform-support-toolbar select{width:100%}.platform-dashboard-metrics{grid-template-columns:1fr 1fr}.platform-company-row{grid-template-columns:1fr}.platform-company-row-actions{grid-column:1;grid-row:auto;justify-content:flex-start}.platform-checkout-link,.platform-password-details form,.platform-inline-form{display:grid;grid-template-columns:1fr}.platform-company-tabs button{padding:9px 11px}}

/* Platform support queue polish */
.platform-support-page-actions{display:flex;gap:8px;align-items:center}.platform-support-toolbar-expanded{display:grid;grid-template-columns:minmax(260px,1fr) 170px 190px 160px}.platform-support-summary{display:flex;align-items:baseline;gap:6px;margin:0 0 12px;color:#64748b}.platform-support-summary strong{font-size:20px;color:#102f4f}.platform-support-labels{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.platform-ticket-type,.platform-ticket-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.platform-ticket-type{background:#eef4fa;color:#3a5c7b}.platform-ticket-type.type-bug{background:#fff0f0;color:#a33a3a}.platform-ticket-type.type-feature{background:#f3edff;color:#6840a7}.platform-ticket-type.type-billing{background:#fff7dd;color:#7a5b00}.platform-ticket-status.status-open{background:#e9f5ff;color:#145f9e}.platform-ticket-status.status-in_progress{background:#fff6d8;color:#715500}.platform-ticket-status.status-resolved{background:#eaf7ef;color:#236342}.platform-support-titleblock{min-width:0}.platform-support-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.platform-support-actions form{display:flex;gap:8px;align-items:center}.platform-close-ticket{border-color:#d7a4a4!important;color:#9b3030!important;background:#fff!important}.platform-close-ticket:hover{background:#fff4f4!important}.platform-support-ticket{transition:border-color .15s ease,box-shadow .15s ease}.platform-support-ticket:hover{border-color:#bfd2e4;box-shadow:0 6px 18px rgba(22,61,99,.06)}
@media(max-width:900px){.platform-support-toolbar-expanded{grid-template-columns:1fr 1fr}.platform-support-page-actions{flex-wrap:wrap}}
@media(max-width:600px){.platform-support-toolbar-expanded{grid-template-columns:1fr}.platform-support-page-actions{width:100%}.platform-support-page-actions .btn{flex:1}.platform-support-actions,.platform-support-actions form{width:100%;display:grid;grid-template-columns:1fr}.platform-support-actions select,.platform-support-actions .btn{width:100%}}


/* Platform Support Mode */
.support-mode-banner{position:sticky;top:0;z-index:10000;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;background:#8a2d16;color:#fff;border-bottom:3px solid #ffb17a;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.support-mode-banner>div{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.support-mode-banner strong{letter-spacing:.12em}.support-mode-banner small{opacity:.9}.support-mode-banner form{margin:0}.support-mode-banner .btn{background:#fff;color:#6f210f;border-color:#fff}.platform-support-mode-quick{margin:0}.platform-admin-support-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.platform-admin-support-actions form{margin:0}.platform-support-actions{flex-wrap:wrap}
@media(max-width:760px){.support-mode-banner{align-items:flex-start;flex-direction:column}.support-mode-banner>div{align-items:flex-start;flex-direction:column;gap:.2rem}}

/* 2026-10-07 sidebar polish — keep navigation scrollable without showing a scrollbar. */
.sidebar-nav{
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior:contain;
}
.sidebar-nav::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}

/* Platform-managed product updates */
.platform-update-compose{padding:22px;margin-bottom:24px}.platform-update-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.platform-update-form label{margin:0}.platform-update-form .full{grid-column:1/-1}.platform-update-form textarea{width:100%;resize:vertical}.platform-checkbox-row{display:flex!important;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #dbe5ef;border-radius:10px;background:#f9fbfd}.platform-checkbox-row input{width:auto;margin-top:3px}.platform-checkbox-row span{display:grid;gap:3px}.platform-checkbox-row small{color:#64748b}.platform-update-list{display:grid;gap:14px}.platform-update-card{padding:20px}.platform-update-card.important{border-color:#e8b960;background:#fffbf3}.platform-update-head{display:flex;justify-content:space-between;gap:20px}.platform-update-head h3{margin:8px 0 6px;font-size:20px}.platform-update-head p{margin:0;color:#516579;line-height:1.55;max-width:900px}.platform-update-meta{display:grid;gap:4px;text-align:right;min-width:150px}.platform-update-meta small{color:#718398}.platform-update-badges{display:flex;gap:8px;align-items:center}.platform-update-important,.release-important-badge{display:inline-flex;align-items:center;border-radius:999px;background:#fff0c8;color:#805d00;padding:5px 9px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.platform-update-actions{display:flex;gap:8px;margin-top:16px}.platform-update-actions form{margin:0}.release-important{border-color:#e6bf68!important;background:#fffdf8}.release-date{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.product-update-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:13px 16px;border:1px solid #e5ba62;border-left:5px solid #d28b00;border-radius:10px;background:#fff8e7;color:#604300}.product-update-banner>div{display:grid;gap:2px}.product-update-banner strong{font-size:14px}.product-update-banner span{font-size:12px;line-height:1.4}.product-update-banner a{white-space:nowrap;color:#815900;font-size:12px;font-weight:900;text-decoration:none}.product-update-banner a:hover{text-decoration:underline}
@media(max-width:700px){.platform-update-form{grid-template-columns:1fr}.platform-update-form .full{grid-column:auto}.platform-update-head,.product-update-banner{flex-direction:column;align-items:flex-start}.platform-update-meta{text-align:left}.product-update-banner a{white-space:normal}}

/* Platform demo workspace + revenue reporting */
.platform-launch-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 20px}.platform-launch-tool{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;text-decoration:none;color:inherit;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.platform-launch-tool:hover{transform:translateY(-1px);border-color:#b9d2e8;box-shadow:0 8px 22px rgba(22,61,99,.08)}.platform-launch-tool-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#eaf4ff;color:#0b63b6;font-size:19px;font-weight:900}.platform-launch-tool div{display:grid;gap:3px}.platform-launch-tool strong{font-size:15px;color:#173a5e}.platform-launch-tool small{color:#64748b;line-height:1.4}.platform-launch-tool>span:last-child{font-size:12px;font-weight:900;color:#0b63b6}.platform-demo-badge{display:inline-flex;vertical-align:middle;margin-left:5px;padding:3px 7px;border-radius:999px;background:#eaf4ff;color:#0b63b6;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.platform-demo-empty{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:26px}.platform-demo-empty h2,.platform-demo-control h2,.platform-demo-reset h2{margin:0 0 6px}.platform-demo-empty p,.platform-demo-control p,.platform-demo-reset p{margin:0;color:#60758e;line-height:1.55}.platform-demo-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:#eaf4ff;color:#0b63b6;font-size:22px}.platform-demo-metrics{margin-bottom:18px}.platform-demo-control,.platform-demo-reset{padding:22px;margin-bottom:18px}.platform-demo-control-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.platform-demo-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.platform-demo-actions form{margin:0}.platform-demo-reset{border-color:#e6c3c3;background:#fffafa}.platform-demo-reset form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end;margin-top:16px;max-width:720px}.platform-demo-reset label{margin:0}.platform-demo-reset .btn{height:42px}
.platform-report-toggle{align-self:flex-end}.platform-report-toggle label{display:flex;align-items:center;gap:8px;margin:0;padding:9px 12px;background:#fff;border:1px solid #dbe5ef;border-radius:9px;font-size:12px;font-weight:800;color:#526b83}.platform-report-toggle input{width:auto}.platform-revenue-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.platform-metric.revenue-primary{border-color:#acd0ef;background:#f4faff}.platform-metric.revenue-primary strong{color:#0b63b6}.platform-metric.revenue-warning{border-color:#e7c36f;background:#fffbef}.platform-revenue-table-card{padding:20px}.platform-report-table-wrap{overflow-x:auto}.platform-report-table{width:100%;border-collapse:collapse;min-width:980px}.platform-report-table th{text-align:left;padding:10px 12px;border-bottom:1px solid #dbe5ef;color:#60758e;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.platform-report-table td{padding:13px 12px;border-bottom:1px solid #edf2f7;font-size:13px;color:#263f58;vertical-align:middle}.platform-report-table tbody tr:hover{background:#f8fbfe}.platform-report-company{display:grid;gap:2px}.platform-report-company strong{color:#173a5e}.platform-report-company span,.platform-report-sub{display:block;color:#7a8b9d;font-size:11px;font-weight:600}.platform-report-table tr[hidden]{display:none}.platform-report-table .btn{padding:7px 10px;font-size:11px}
@media(max-width:1100px){.platform-revenue-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.platform-launch-tools{grid-template-columns:1fr}.platform-demo-empty{grid-template-columns:1fr}.platform-demo-control-head{flex-direction:column}.platform-demo-reset form{grid-template-columns:1fr}.platform-report-toggle{align-self:flex-start}.platform-revenue-metrics{grid-template-columns:1fr 1fr}}@media(max-width:520px){.platform-revenue-metrics{grid-template-columns:1fr}}

/* Maintain consistent spacing between last folder and document attachments. */
.job-photo-library #jobDocuments{margin-top:9px;width:100%}
.job-photo-library .crew-folder-hint{display:block;color:#667c93;font-size:11px;font-weight:500;margin-top:3px}
.job-photo-library .job-photo-folder-title{flex-wrap:wrap}
/* Phased estimating setup: wrap long system names and keep controls usable on phones. */
.material-template-row[hidden]{display:none}
.material-template-row>*{min-width:0;overflow-wrap:anywhere}
.template-item-row{align-items:end}
.template-item-row label{min-width:0}
.estimate-workflow{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
#template-preview{margin-top:24px;outline:none}
@media(max-width:650px){.material-template-row{grid-template-columns:1fr}.material-template-row .template-status{justify-self:start}.estimate-workflow{align-items:flex-start;flex-direction:column}}

/* Completed production and scheduled roof-load markers */
.calendar-appointment .calendar-work-check{margin-left:auto;flex-shrink:0;color:#15803d;font-weight:900;font-size:19px;line-height:1;text-shadow:0 0 1px #fff}
.calendar-appointment .calendar-event-title>span:first-of-type{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Cancelled scopes remain visible on job for audit, never on active board. */
.trade-scope-card.trade-scope-cancelled{border:2px solid #c62828!important;background:#fff1f0!important;}
.trade-scope-cancelled .trade-scope-status-pill,.trade-scope-cancelled .trade-scope-billing-pill{background:#c62828!important;color:#fff!important;}

/* Sticky, company-scoped job/estimate identifier on every existing-job screen. */
.app-topbar-job-context{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  max-width:min(35vw,360px);min-width:0;box-sizing:border-box;
  padding:7px 16px;border-radius:999px;border:1px solid #365474;
  background:#1b314b;color:#f7fbff;text-decoration:none;white-space:nowrap;
  font-size:14px;letter-spacing:.01em;line-height:1.3;z-index:1;
}
.app-topbar-job-context:hover,.app-topbar-job-context:focus-visible{
  background:#25486e;border-color:#80b7e6;color:#fff;
}
.app-topbar-job-context:focus-visible{outline:2px solid #9bc9f4;outline-offset:3px}
.app-topbar-job-context-label{font-size:12px;font-weight:650;color:#b8cfeb;flex-shrink:0}
.app-topbar-job-context strong{display:block;overflow:hidden;text-overflow:ellipsis;min-width:0;font-weight:800}
@media(min-width:801px) and (max-width:1130px){
  .app-topbar-job-context{left:58%;max-width:26vw;padding:7px 10px}
  .app-topbar-job-context-label{display:none}
}
@media(max-width:800px){
  .app-topbar-job-context{position:static;left:auto;top:auto;transform:none;
    flex:0 1 auto;max-width:clamp(75px,30vw,200px);margin-left:auto;
    font-size:12px;padding:6px 10px;gap:4px}
  .app-topbar-job-context-label{display:none}
  .app-topbar .account-nav{margin-left:0}
}
@media(max-width:390px){
  .app-topbar-job-context{max-width:88px;padding:6px 8px}
  .app-topbar .brand img{width:126px;max-width:126px}
}

/* Trade Scope production scheduling — date and crew requirements match the Production Board. */
.trade-scope-load-date[hidden],.trade-scope-scheduling-tip[hidden],.job-status-schedule-fields label[hidden]{display:none!important}
.trade-scope-load-date{background:#edf6ff;border:1px solid #b8d8f4;border-radius:9px;padding:10px!important}
.trade-scope-load-date input{margin-top:6px}
.trade-scope-scheduling-tip{margin:12px 0 2px;padding:10px 13px;background:#eef6ff;border:1px solid #b9d8f4;border-radius:9px;color:#194e81;font-weight:700;font-size:12px}
.job-status-schedule-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}
.job-status-schedule-fields label{margin:0}
.required-mark{color:#bc2525}
/* Global Help Center Training Tools */
.training-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,335px),1fr));gap:16px;margin:18px 0 28px}
.training-tool-card{display:grid;grid-template-columns:48px 1fr;align-items:start;gap:15px;padding:21px;min-width:0}
.training-tool-card>.btn{grid-column:2;justify-self:start}.training-tool-icon{display:grid;place-items:center;background:#e8f2fc;color:#1161a5;border:1px solid #c9dff4;border-radius:12px;width:46px;height:54px;font-size:12px;font-weight:900;letter-spacing:.04em}
.training-tool-content{min-width:0}.training-tool-content h2{margin:2px 0 6px;font-size:18px;color:#112f50}.training-tool-content p{color:#597189;line-height:1.5;margin:0 0 9px;overflow-wrap:anywhere}.training-tool-content small,.training-admin-item small{color:#72869c}
.training-empty{padding:27px;margin:18px 0}.training-empty p{color:#60758e}
.training-admin-compose{padding:24px;margin-bottom:24px}.training-admin-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.training-admin-form label{margin:0}.training-admin-form .full{grid-column:1/-1}.training-admin-form input[type=file]{padding:12px;background:#f8fbff;border:1px dashed #b9cede;border-radius:10px;max-width:100%;width:100%}.training-publish-choice{display:flex!important;align-items:center;gap:9px;font-weight:700}.training-publish-choice input{width:auto!important}
.training-admin-list{display:grid;gap:12px}.training-admin-list .platform-section-toolbar{margin-bottom:0}.training-admin-item{padding:17px 19px;display:flex;align-items:center;gap:14px}.training-admin-item-copy{flex:1;min-width:0}.training-admin-item-copy strong{font-size:17px;color:#102d4b}.training-admin-item-copy p{margin:4px 0 7px;color:#60758e;overflow-wrap:anywhere}.training-admin-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.training-admin-actions form{margin:0}.training-admin-actions .btn{white-space:nowrap}
@media(max-width:800px){.training-admin-form{grid-template-columns:1fr}.training-admin-item{align-items:flex-start;flex-wrap:wrap}.training-admin-actions{width:100%}}
/* Training Tools: grouped PDFs and customer cover previews */
.training-tools-grid{grid-template-columns:1fr;max-width:1200px}
.training-tool-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,330px);align-items:stretch;gap:24px;padding:24px}
.training-tool-main{display:flex;gap:16px;min-width:0;align-items:flex-start}
.training-tool-main .training-tool-content{flex:1;min-width:0}
.training-tool-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.training-tool-files .btn{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.training-cover-slot{border:1px solid #d8e3f0;border-radius:12px;background:#eef4fa;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.training-cover-canvas{display:flex;align-items:center;justify-content:center;position:relative;min-height:145px;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#eef5ff,#dfe9f5)}
.training-cover-canvas canvas{display:block;max-width:100%;max-height:100%;width:auto;height:100%;object-fit:contain;box-shadow:0 1px 12px #14345224}
.training-cover-canvas.training-cover-ready{background:#e9eef5}
.training-cover-fallback{font-size:14px;font-weight:800;color:#35658c}
.training-cover-label{font-size:11px;line-height:1.3;color:#647c94;padding:9px 12px;overflow-wrap:anywhere}
.training-admin-item-multi{display:block}
.training-admin-header{display:flex;align-items:center;gap:14px;margin-bottom:15px}
.training-admin-collection{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;padding:15px 0;border-top:1px solid #e0e8f1}
.training-admin-collection h3{font-size:14px;margin:0 0 10px}
.training-admin-file-list{min-width:0}
.training-admin-file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px;border-bottom:1px solid #edf0f4}
.training-admin-file>div:first-child{display:flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere;font-size:13px}
.training-admin-pdf-mark{padding:4px 6px;font-size:10px;font-weight:900;background:#e8f3ff;color:#1660a1;border-radius:4px}
.training-cover-selected{font-size:10px;font-weight:900;color:#1a6d4e;background:#daf2e8;border-radius:6px;padding:4px 6px}
.training-admin-file-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}
.training-admin-file-actions form{margin:0}
.training-admin-file-actions .btn{padding:6px 9px;font-size:11px}
.training-cover-form{display:grid;gap:9px;margin-top:12px}
.training-cover-form label{margin:0;font-size:12px}
.training-cover-form .btn{justify-self:start}
.training-append-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;background:#f3f8fc;border:1px dashed #d2dfe8;border-radius:10px;padding:12px;margin:12px 0}
.training-append-form label{flex:1 1 250px;margin:0;font-size:12px}
.training-append-form input[type=file]{width:100%;margin-top:6px;font-size:12px}
.training-admin-item-multi>.training-admin-actions{border-top:1px solid #e5ecf2;padding-top:13px}
@media(max-width:900px){.training-admin-collection{grid-template-columns:1fr}.training-admin-cover-manager{max-width:400px}}
@media(max-width:730px){.training-tool-card{grid-template-columns:1fr;gap:14px}.training-cover-slot{max-width:420px}.training-admin-file{align-items:flex-start;flex-wrap:wrap}.training-admin-file-actions{margin-left:0}}

/* Platformer-selectable destination for product-update banners */
.platform-update-destination-group{display:grid;gap:7px;padding:14px;border:1px solid #dbe5ef;border-radius:11px;background:#f8fbff}
.platform-update-destination-group>label{font-weight:800;color:#173a5e}
.platform-update-destination-group small{color:#65788c;line-height:1.5}
.platform-update-custom-link{display:grid;gap:5px}
.platform-update-destination-existing{display:flex;align-items:end;flex-wrap:wrap;gap:10px;border-top:1px solid #e9edf2;padding-top:13px;margin-top:16px}
.platform-update-destination-existing label{display:grid;gap:4px;min-width:210px;flex:1;font-size:12px;font-weight:750;color:#425b75}
.platform-update-destination-existing button{height:43px}
.platform-update-destination-existing [hidden],.platform-update-destination-group [hidden]{display:none!important}

/* Company-level announcements appear only inside the matching organization's app. */
.company-announcement-banner{background:#eff7ff;color:#144b7e;border-color:#bed9f4;border-left-color:#1769b2}
.company-announcement-banner a{color:#115a9b}
.company-announcements-list{display:grid;gap:14px}
.company-announcement-card{border:1px solid #d9e4f0;border-radius:12px;background:#fff;padding:18px;scroll-margin-top:95px}
.company-announcement-card h2{margin:0 0 6px;font-size:19px}
.company-announcement-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;color:#274562}
.company-announcement-form{display:grid;gap:12px;margin-top:12px}
.company-announcement-form input[type=text],.company-announcement-form textarea{width:100%}
.company-announcement-form textarea{min-height:96px;resize:vertical}
.company-announcement-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.company-announcement-actions form{margin:0}
.company-announcement-status{font-size:12px;font-weight:800;color:#1769b2}
.company-announcement-status.draft{color:#66798c}

/* Open PDFs uploaded on the original job/estimate directly for blueprint takeoff. */
.takeoff-attached-pdfs{margin:14px 0 17px;padding:14px;border:1px solid #c8ddf3;background:#f6faff;border-radius:12px}
.takeoff-attached-pdfs h3{margin:0 0 5px;color:#173b67;font-size:16px}
.takeoff-attached-pdfs .muted{margin:0 0 10px}
.takeoff-attachment-list{display:grid;gap:8px;max-height:310px;overflow-y:auto}
.takeoff-attachment-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;background:#fff;border:1px solid #d5e3f0;border-radius:8px}
.takeoff-attachment-item>div{min-width:0;display:grid;gap:3px}
.takeoff-attachment-item strong{overflow-wrap:anywhere;font-size:13px}
.takeoff-attachment-item small{color:#586a80;font-size:11px}
.takeoff-attachment-item form{margin:0;flex:0 0 auto}
.job-document-takeoff-action{padding:0 9px 10px;margin:0}
.job-document-takeoff-action button{width:100%}
@media(max-width:640px){.takeoff-attachment-item{flex-direction:column;align-items:stretch}.takeoff-attachment-item form .btn{width:100%}}

/* Provide a visible, actionable error on the blueprint canvas instead of a blank gray area. */
.takeoff-plan-load-error{max-width:640px;margin:clamp(16px,5vh,64px) auto;padding:24px;background:#fff;color:#142b46;border:1px solid #b7d0ea;border-left:5px solid #d97706;border-radius:12px;box-shadow:0 8px 28px rgba(15,35,58,.1);line-height:1.5}
.takeoff-plan-load-error strong{display:block;font-size:1.12rem;margin-bottom:8px}
.takeoff-plan-load-error p{overflow-wrap:anywhere;margin:0 0 18px}

/* Company takeoff library and fixed STACK-style drawing viewport */
.takeoff-setup-promo{display:flex;align-items:center;justify-content:space-between;gap:20px}
.takeoff-setup-promo p{max-width:700px}
.takeoff-settings-list{display:grid;gap:9px}
.takeoff-settings-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:12px;border:1px solid #e1e8ef;border-radius:10px;background:#f9fbfc}
.takeoff-settings-fields{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(135px,.7fr) minmax(115px,.55fr) auto;align-items:end;gap:12px}
.takeoff-settings-fields label{font-size:11px;font-weight:800;color:#465d72}
.takeoff-settings-fields input,.takeoff-settings-fields select{width:100%;margin-top:5px}
.takeoff-settings-actions{display:flex;align-items:end;min-height:40px}
.takeoff-library-picker{border:1px solid #d3dfe9;border-radius:8px;background:#f8fafc;margin:8px 0 14px}
.takeoff-library-picker summary{display:flex;justify-content:space-between;gap:6px;align-items:center;padding:11px;cursor:pointer;font-size:12px;color:#17324f;list-style:none}
.takeoff-library-picker summary::after{content:'▾';color:#6e8498}.takeoff-library-picker[open] summary::after{content:'▴'}
.takeoff-library-picker summary span{font-size:10px;font-weight:700;color:#697d90}
.takeoff-library-form{padding:0 10px 12px}.takeoff-library-form p{font-size:11px}
.takeoff-library-choices{max-height:230px;overflow:auto;display:grid;gap:2px;margin:8px 0}
.takeoff-library-choice{display:flex;align-items:center;gap:9px;padding:7px 5px;border-radius:6px;font-size:11px;cursor:pointer}
.takeoff-library-choice:hover{background:#eaf2f9}
.takeoff-library-choice input{flex:0 0 auto;margin:0}
.takeoff-library-choice span{display:flex;justify-content:space-between;align-items:center;gap:5px;flex:1;min-width:0}
.takeoff-library-choice strong{font-size:11px;white-space:normal}
.takeoff-library-choice small{font-size:9px;color:#6c8295;white-space:nowrap}
.takeoff-library-manage{display:block;font-weight:800;text-align:center;font-size:10px;padding:9px 0;text-decoration:none}
.takeoff-empty-selection{padding:10px;background:#fff5df;border-radius:8px}
.takeoff-plan-panel-pro .takeoff-canvas-scroll{overflow:hidden!important;overscroll-behavior:contain;touch-action:pan-x pan-y;min-width:0}
@media(max-width:850px){.takeoff-settings-fields{grid-template-columns:1fr 1fr}.takeoff-settings-item{grid-template-columns:1fr}.takeoff-setup-promo{flex-direction:column;align-items:flex-start}}

/* Dismissible header announcements: independently closable without changing publication status. */
.product-update-banner[hidden]{display:none!important}
.product-update-banner .product-update-banner-copy{min-width:0;flex:1;overflow-wrap:anywhere}
/* Target the direct child so this flex row overrides .product-update-banner>div (grid). */
.product-update-banner > .product-update-banner-actions{display:flex;flex-direction:row;align-items:center;gap:14px;flex:0 0 auto;margin-left:auto}
.product-update-banner-actions a{white-space:nowrap}
.banner-dismiss-button{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:inherit;font:inherit;font-size:24px;line-height:1;cursor:pointer}
.banner-dismiss-button:hover{background:rgba(0,0,0,.07);border-color:currentColor}
.banner-dismiss-button:focus-visible{outline:3px solid #185abd;outline-offset:2px}
@media(max-width:700px){.product-update-banner-actions{width:100%;align-self:stretch;justify-content:space-between;margin-left:0}.product-update-banner-actions a{white-space:normal}}

/* Compact blueprint editing controls: fixed above the PDF and independent of left panel scrolling. */
.takeoff-plan-panel-pro{grid-template-rows:44px 36px minmax(0,1fr)}
.takeoff-drawing-toolbar{min-width:0;min-height:44px;display:flex;align-items:center;gap:8px;padding:5px 10px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;background:#f8fbfe;border-bottom:1px solid #c8d7e5}
.takeoff-toolbar-group{display:flex;flex:0 0 auto;align-items:center;gap:5px}
.takeoff-tool-command{font:inherit;font-size:11px;font-weight:800;color:#233b54;border:1px solid #c5d3e0;background:#fff;border-radius:6px;padding:7px 10px;min-height:31px;white-space:nowrap;cursor:pointer}
.takeoff-tool-command:hover:not(:disabled){background:#e8f3fc;border-color:#80b4e4}
.takeoff-tool-command[aria-pressed="true"]{background:#125d9c;color:#fff;border-color:#125d9c}
.takeoff-tool-command:disabled{opacity:.45;cursor:not-allowed}
.takeoff-tool-danger:not(:disabled){border-color:#efb5b5;color:#9a2929}
.takeoff-toolbar-divider{width:1px;height:24px;flex:0 0 1px;background:#c9d6e2;margin:0 2px}
.takeoff-selection-count{color:#566e83;font-size:11px;font-weight:750;margin-left:2px}
.takeoff-toolbar-tip{margin-left:auto;color:#75889b;font-size:10px;cursor:help}
.takeoff-canvas-stage #planOverlayCanvas.editing-active{cursor:pointer}
.takeoff-canvas-stage #planOverlayCanvas.drawing-active{cursor:crosshair}
@media(max-width:900px){.takeoff-plan-panel-pro{grid-template-rows:44px 36px minmax(0,1fr)}.takeoff-drawing-toolbar{padding:5px 7px;gap:5px}.takeoff-toolbar-tip{display:none}}

.takeoff-fullscreen .takeoff-plan-panel-pro{grid-template-rows:44px 36px minmax(0,1fr)}

/* Cutouts are shown as hollow rings; allow easy restoration from measurement sidebar. */
.takeoff-restore-cutout{display:inline-block;margin:3px 4px 0 0;border:1px solid #b5d1e3;border-radius:5px;background:#f3f9fd;color:#1e5a7e;padding:3px 5px;font-size:10px;cursor:pointer}
.takeoff-restore-cutout:hover{background:#deeff9}

/* 2026-11: user-friendly geometry mode and complete keyboard help. The help
   popup uses the top layer so it cannot be clipped by scrolling toolbars. */
/* `label` defaults to flex-direction:column globally. Override it explicitly
   so the shape picker stays inside the single-height toolbar row. */
.takeoff-drawing-toolbar .takeoff-shape-control{display:inline-flex;flex-direction:row;flex:0 0 auto;align-self:center;align-items:center;justify-content:flex-start;gap:6px;margin:0;padding:0;min-height:31px;height:31px;line-height:1;white-space:nowrap;color:#2b4762;font-size:11px;font-weight:800}
.takeoff-drawing-toolbar .takeoff-shape-control>span{display:inline-block;flex:0 0 auto;line-height:1.2}
.takeoff-drawing-toolbar .takeoff-shape-control select{display:block;box-sizing:border-box;flex:0 0 auto;width:123px;max-width:123px;height:31px;min-height:31px;margin:0;border:1px solid #c5d3e0;background:#fff;border-radius:6px;padding:5px 7px;color:#233b54;font-size:11px;font-weight:750;line-height:1.2;cursor:pointer}
.takeoff-shape-control select:disabled{opacity:.6;cursor:not-allowed}
.takeoff-shortcuts-toggle{margin-right:3px!important;flex:0 0 auto;white-space:nowrap}
.takeoff-shortcuts-panel{position:fixed;inset:auto;z-index:10000;margin:0;min-width:300px;max-width:min(360px,calc(100vw - 16px));max-height:min(80vh,670px);overflow:auto;padding:12px 14px;border:1px solid #bccfdf;border-radius:10px;background:#fff;color:#19324c;box-shadow:0 12px 32px rgba(12,31,49,.24)}
.takeoff-shortcuts-panel:not(:popover-open)[hidden]{display:none}
.takeoff-shortcuts-panel:popover-open{display:block}
.takeoff-shortcuts-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.takeoff-shortcuts-heading strong{font-size:13px}
.takeoff-shortcuts-heading button{border:0;background:transparent;cursor:pointer;font-size:21px;color:#425a72;line-height:1}
.takeoff-shortcuts-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;font-size:11px}
.takeoff-shortcuts-grid kbd{font:700 11px system-ui,Arial,sans-serif;border:1px solid #ccd7e3;border-bottom-width:2px;border-radius:4px;padding:3px 6px;background:#f3f7fa;color:#263b50;white-space:nowrap;text-align:center}
.takeoff-shortcuts-panel p{font-size:10px;line-height:1.55;margin:12px 0 0;color:#52677a}

/* Unbounded blueprint navigation: move the PDF and annotation canvas as one
   absolute-positioned sheet. The viewport never creates scroll limits. */
.takeoff-plan-panel-pro .takeoff-canvas-scroll{position:relative;overflow:hidden!important;padding:0!important;touch-action:none;cursor:grab}
.takeoff-plan-panel-pro .takeoff-canvas-stage{position:absolute;left:0;top:0;margin:0!important;will-change:transform;transform-origin:top left}
.takeoff-plan-panel-pro .takeoff-canvas-scroll.is-grab-panning{cursor:grabbing}
.takeoff-canvas-stage #planOverlayCanvas.space-pan{cursor:grab!important}
.takeoff-canvas-stage #planOverlayCanvas.space-pan.is-panning{cursor:grabbing!important}


/* Takeoff setup controls moved into the fixed drawing toolbar. Floating
   dialogs use native popover (top layer) so toolbar overflow never clips them. */
.takeoff-drawing-toolbar .takeoff-setup-buttons{gap:5px}
.takeoff-drawing-toolbar .takeoff-setup-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.takeoff-scale-indicator,.takeoff-library-count{font-size:10px;line-height:1.2;padding:2px 5px;border-radius:4px;background:#fff3da;color:#8a580c;font-weight:800}
.takeoff-scale-indicator.is-calibrated{background:#d9f7e6;color:#166534}
.takeoff-library-count{background:#e7f1ff;color:#13568a}
.takeoff-toolbar-popover{position:fixed;inset:auto;z-index:10010;box-sizing:border-box;margin:0;padding:0;border:1px solid #c7d5e2;border-radius:10px;background:#fff;color:#1c354e;box-shadow:0 16px 36px rgba(10,30,52,.25);max-width:calc(100vw - 16px);max-height:min(75vh,590px);overflow:auto}
.takeoff-toolbar-popover:not(:popover-open)[hidden]{display:none}
.takeoff-toolbar-popover:popover-open{display:block}
.takeoff-scale-popover{width:315px}
.takeoff-library-popover{width:365px}
.takeoff-setup-heading{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid #e0e8f0;background:#fff}
.takeoff-setup-heading strong{font-size:13px;color:#17324f}
.takeoff-setup-close{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:5px;background:#edf3f8;color:#49647d;font-size:19px;cursor:pointer}
.takeoff-setup-close:hover{background:#dcebf7}
.takeoff-scale-panel-content{margin:10px 12px 12px}
.takeoff-scale-panel-content #scaleStatus{margin:0 0 8px;font-size:11px;font-weight:750;color:#526b82;line-height:1.4}
.takeoff-scale-panel-content .takeoff-scale-fields{padding:0}
.takeoff-scale-panel-content .takeoff-scale-fields label{font-size:11px;font-weight:800;color:#304a62}
.takeoff-scale-panel-content .takeoff-scale-fields input{width:100%;margin:5px 0 9px;box-sizing:border-box}
.takeoff-scale-panel-content .takeoff-scale-fields button{width:100%}
.takeoff-scale-panel-content .field-help{display:block;margin-top:8px;line-height:1.5}
.takeoff-library-popover .takeoff-library-picker{margin:0;border:0;border-radius:0;background:#fff}
.takeoff-library-popover .takeoff-library-form{padding:10px 13px 13px}
.takeoff-library-popover .takeoff-library-form>p{margin:0 0 9px;color:#526b82;line-height:1.45}
.takeoff-library-popover .takeoff-library-choices{max-height:min(42vh,330px)}
.takeoff-library-popover .takeoff-library-choice{margin:0;flex-direction:row}
.takeoff-library-popover .takeoff-library-choice input{width:auto}
.takeoff-library-popover .takeoff-library-form>.btn{width:100%}
@media(max-width:600px){.takeoff-toolbar-popover{max-height:70vh}.takeoff-drawing-toolbar .takeoff-setup-trigger{padding:6px 8px}}


/* Per-sheet architectural/civil scale presets; custom two-point calibration
   stays available without obscuring the blueprint or measurement sidebar. */
.takeoff-scale-popover{width:340px}
.takeoff-scale-tabs{display:flex;gap:5px;margin:8px 0}
.takeoff-scale-tab{flex:1;border:1px solid #c9d8e5;border-radius:6px;padding:8px 7px;background:#f2f6fa;color:#415a71;font-size:11px;font-weight:750;cursor:pointer}
.takeoff-scale-tab.is-active{background:#e5f0fc;border-color:#86b5e5;color:#125b96}
.takeoff-scale-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:198px;overflow-y:auto;padding:2px;margin:5px 0 9px}
.takeoff-scale-preset{display:flex;justify-content:center;align-items:center;min-height:33px;border:1px solid #d5e0ea;border-radius:6px;padding:6px 4px;background:#fff;color:#284359;font-size:12px;font-weight:700;cursor:pointer}
.takeoff-scale-preset:hover{border-color:#76a9d7;background:#f0f8ff}
.takeoff-scale-preset.is-active{border-color:#14854d;background:#e7f7ec;color:#166534}
.takeoff-scale-preset:disabled{cursor:not-allowed;opacity:.65}
.takeoff-scale-warning,.takeoff-scale-sheet-notice{font-size:10px;line-height:1.5;color:#6a7785;margin:8px 0}
.takeoff-scale-warning{padding:8px;border-radius:6px;background:#fff7e7;color:#795409}
.takeoff-scale-custom-calibration{margin-top:7px;border:1px solid #d7e2ec;border-radius:7px;overflow:hidden}
.takeoff-scale-custom-calibration>summary{list-style-position:inside;padding:10px 9px;background:#f4f8fc;color:#1f4c77;font-size:11px;font-weight:800;cursor:pointer}
.takeoff-scale-custom-calibration .takeoff-scale-fields{padding:9px}
.takeoff-scale-feedback{min-height:17px;color:#146d42;font-size:11px;font-weight:700;line-height:1.45;margin:8px 0 0}
.takeoff-scale-indicator{white-space:nowrap}


/* Takeoff bottom measurement dock (2026-11-02): use the entire plan width. */
body.takeoff-bottom-layout .takeoff-workspace-shell-pro,
body.takeoff-bottom-layout.takeoff-results-collapsed .takeoff-workspace-shell-pro,
body.takeoff-bottom-layout.takeoff-tools-collapsed .takeoff-workspace-shell-pro,
body.takeoff-bottom-layout.takeoff-focus-mode .takeoff-workspace-shell-pro{display:grid!important;grid-template-columns:minmax(0,1fr)!important;min-height:0;flex:1;overflow:hidden}
body.takeoff-bottom-layout .takeoff-workspace-shell-pro>.takeoff-plan-panel-pro{grid-column:1;min-height:0;min-width:0;height:100%}
body.takeoff-bottom-layout .takeoff-canvas-scroll{min-height:0;max-height:none}
body.takeoff-bottom-layout .takeoff-workspace-footer{flex-basis:24px}
.takeoff-bottom-dock{position:relative;z-index:9;flex:0 0 auto;min-width:0;background:#fff;border-top:1px solid #bfcfdf;box-shadow:0 -3px 12px rgba(13,34,58,.09);color:#142f4c}
.takeoff-bottom-tool-row{display:flex;align-items:stretch;gap:10px;min-width:0;padding:7px 12px 5px}
.takeoff-bottom-caption{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:85px;border-right:1px solid #dfe7ef;padding-right:12px}
.takeoff-bottom-caption strong{font-size:11px;font-weight:900;color:#173f67}
.takeoff-bottom-caption small{font-size:10px;color:#637a92}
.takeoff-bottom-dock .takeoff-type-buttons{min-width:0;flex:1;display:flex!important;align-items:stretch;gap:6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding:0 0 3px}
.takeoff-bottom-dock .takeoff-type-buttons button,
.takeoff-bottom-dock .takeoff-type-buttons button.custom-measurement-type{position:relative;flex:1 0 114px;max-width:175px;min-width:108px;min-height:57px;display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:8px 9px 7px 13px!important;border:1px solid #cfdce8;border-radius:8px;background:#fff;color:#17314f;box-shadow:none;text-align:left;line-height:1.1;cursor:pointer}
.takeoff-bottom-dock .takeoff-type-buttons button:hover{background:#f3f9ff;border-color:var(--measurement-color)}
.takeoff-bottom-dock .takeoff-type-buttons button.active{background:#e9f4ff;border:2px solid #0f63b6;box-shadow:0 0 0 1px rgba(15,99,182,.12)!important;padding-left:12px!important}
.takeoff-bottom-dock .takeoff-type-buttons button .takeoff-bottom-tool-dot{position:absolute;left:0;top:0;bottom:0;display:block!important;width:5px;height:auto;border-radius:7px 0 0 7px;background:var(--measurement-color)}
.takeoff-bottom-dock .takeoff-type-buttons button b{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.2}
.takeoff-bottom-dock .takeoff-type-buttons button .takeoff-live-total{display:block;margin:0!important;white-space:nowrap;font-size:13px;color:#0c5ca2;font-weight:900;line-height:1.2}
.takeoff-bottom-dock .takeoff-type-buttons button.custom-measurement-type small:after{content:none}
.takeoff-bottom-dock .takeoff-type-buttons button:disabled{opacity:.65;cursor:not-allowed}
.takeoff-bottom-options{flex:0 0 auto;display:flex;align-items:stretch;gap:6px}
.takeoff-bottom-details-toggle,.takeoff-bottom-dock .takeoff-custom-measurement>summary{display:flex;align-items:center;justify-content:center;height:57px;min-width:65px;padding:8px;border:1px solid #cfdce8;border-radius:7px;background:#f8fbfe;color:#0d568f;font-size:11px;font-weight:850;cursor:pointer}
.takeoff-bottom-dock .takeoff-custom-measurement{position:relative;margin:0;padding:0!important;border:0!important;background:none!important}
.takeoff-bottom-dock .takeoff-custom-measurement>summary{margin:0;font-size:11px;max-width:80px;text-align:center;line-height:1.3}
.takeoff-bottom-dock .takeoff-custom-measurement-fields{position:absolute;bottom:calc(100% + 8px);right:0;width:min(310px,90vw);max-height:60vh;overflow:auto;padding:14px!important;border:1px solid #bed0e1;border-radius:10px;background:white;box-shadow:0 -8px 25px rgba(12,36,63,.16);z-index:15}
.takeoff-bottom-dock .takeoff-custom-measurement[open]{background:none!important;box-shadow:none}
.takeoff-bottom-action-row{display:flex;align-items:center;gap:10px;min-height:32px;padding:4px 12px 7px;border-top:1px solid #e9eef4}
.takeoff-bottom-action-row .takeoff-pitch-control{display:flex;flex-direction:row!important;align-items:center;gap:9px;flex:0 0 auto;margin:0;padding:4px 10px;border:1px solid #d7aa39;background:#fff4d5;font-size:11px;font-weight:800;color:#744e02;white-space:nowrap}
.takeoff-bottom-action-row .takeoff-pitch-control[hidden]{display:none!important}
.takeoff-bottom-action-row .takeoff-pitch-control input{margin:0;width:126px;min-width:126px;max-width:none;height:33px;padding:5px 10px;border:2px solid #c7962e;border-radius:6px;background:#fff;color:#1c344d;font-size:14px;font-weight:800;letter-spacing:.15px}
.takeoff-bottom-action-row .takeoff-pitch-control input:focus-visible{outline:2px solid #246ab3;outline-offset:1px}
.takeoff-bottom-action-row .takeoff-pitch-control input[aria-invalid="true"]{border-color:#bf3434;background:#fff5f4}
.takeoff-bottom-action-row .takeoff-pitch-control small{display:none}
.takeoff-bottom-action-row .takeoff-draw-actions{display:flex;flex:0 0 auto;align-items:center;gap:5px;margin:0}
.takeoff-bottom-action-row .takeoff-draw-actions .btn{width:auto;min-width:0;padding:6px 10px;font-size:10px;white-space:nowrap;grid-column:auto}
.takeoff-bottom-action-row .takeoff-tool-help{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0;background:transparent;font-size:10px;color:#6b7c8e}
.takeoff-bottom-details[hidden]{display:none!important}
.takeoff-bottom-details{position:absolute;z-index:12;right:12px;bottom:calc(100% + 8px);width:min(420px,calc(100vw - 24px));max-height:min(540px,65vh);overflow:auto;border:1px solid #c8d9e8;border-radius:10px;background:#fff;box-shadow:0 -8px 28px rgba(9,35,61,.22)}
.takeoff-bottom-details-content{display:block!important;padding:0 13px 13px;background:#fff}
.takeoff-bottom-details-content .takeoff-panel-heading{margin:0 -13px 10px}
.takeoff-bottom-details-content h3{font-size:12px;margin:10px 0}
.takeoff-bottom-details-content .plan-takeoff-totals{display:block}
.takeoff-bottom-details-content .plan-takeoff-totals>div{padding:6px 0;border-bottom:1px solid #ebeff4}
.takeoff-bottom-details-content .plan-measurement-list{display:block}
@media(max-width:900px){body.takeoff-bottom-layout>.wrap{height:calc(100dvh - 58px);min-height:0;overflow:hidden}body.takeoff-bottom-layout .takeoff-command-bar{position:relative;top:auto}body.takeoff-bottom-layout .takeoff-workspace-shell-pro{display:grid!important;flex:1;overflow:hidden}body.takeoff-bottom-layout .takeoff-plan-panel-pro{height:100%;min-height:0}.takeoff-bottom-caption{min-width:70px}.takeoff-bottom-tool-row{gap:5px;padding:5px}.takeoff-bottom-action-row{gap:5px;padding:4px 6px}.takeoff-bottom-action-row .takeoff-tool-help{display:none}}
@media(max-width:560px){.takeoff-bottom-dock .takeoff-type-buttons button{flex:0 0 115px}.takeoff-bottom-caption small{display:none}.takeoff-bottom-options{gap:3px}.takeoff-bottom-details-toggle,.takeoff-bottom-dock .takeoff-custom-measurement>summary{min-width:45px;padding:5px}.takeoff-bottom-action-row .takeoff-draw-actions .btn{padding:5px 7px}}
@media(max-width:560px){.takeoff-bottom-action-row{flex-wrap:wrap}}

/* Takeoff blueprint navigation: fixed single-row controls, independent of plan title / zoom state. */
body.takeoff-bottom-layout .takeoff-command-bar{
  min-height:56px;
  grid-template-columns:minmax(160px,1fr) 616px minmax(356px,1fr);
  column-gap:12px;
  padding:7px 12px;
}
body.takeoff-bottom-layout .takeoff-command-center{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  width:616px;
  max-width:100%;
  min-width:0;
  height:42px;
  padding:4px 7px;
  border:1px solid #d9e3ec;
  border-radius:9px;
  background:#f6f9fc;
  box-sizing:border-box;
}
body.takeoff-bottom-layout .takeoff-command-center .takeoff-compact-field{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:6px;
  margin:0;
  padding:0;
  min-width:0;
  line-height:1.1;
}
body.takeoff-bottom-layout .takeoff-command-center .takeoff-control-label{
  flex:0 0 auto;
  font-size:10px;
  font-weight:900;
  letter-spacing:.03em;
  color:#4e6680;
  text-transform:uppercase;
  white-space:nowrap;
}
body.takeoff-bottom-layout .takeoff-command-center .takeoff-file-field{flex:1 1 0;}
body.takeoff-bottom-layout .takeoff-command-center .takeoff-zoom-field{flex:0 0 136px;}
body.takeoff-bottom-layout .takeoff-command-center .takeoff-compact-field select{
  display:block;
  flex:1 1 auto;
  width:100%;
  min-width:0;
  max-width:none;
  height:32px;
  min-height:32px;
  margin:0;
  padding:4px 23px 4px 8px;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow:hidden;
  border-radius:6px;
  box-sizing:border-box;
}
body.takeoff-bottom-layout .takeoff-command-center #planZoom{
  padding-left:6px;
  padding-right:16px;
  text-overflow:clip;
}
body.takeoff-bottom-layout .takeoff-command-center .takeoff-navigation-divider{
  flex:0 0 1px;
  height:22px;
  background:#d5e1ea;
  margin:0 1px;
}
body.takeoff-bottom-layout .takeoff-command-center .takeoff-page-controls-inline{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  flex:0 0 143px;
  width:143px;
  min-width:143px;
  gap:4px;
  margin:0;
  padding:0;
}
body.takeoff-bottom-layout .takeoff-command-center .takeoff-page-controls-inline button{
  flex:0 0 28px;
  width:28px;
  height:32px;
  padding:0;
  border-radius:6px;
}
body.takeoff-bottom-layout .takeoff-command-center .takeoff-page-controls-inline strong{
  flex:1 1 auto;
  min-width:0;
  margin:0;
  font-size:11px;
  text-align:center;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
body.takeoff-bottom-layout .takeoff-command-center .takeoff-page-controls-inline strong{
  display:grid;
  grid-template-columns:auto 3ch auto 3ch;
  align-items:center;
  justify-content:center;
  column-gap:2px;
  font-size:10px;
}
body.takeoff-bottom-layout .takeoff-command-center #currentPlanPage,
body.takeoff-bottom-layout .takeoff-command-center #planPageCount{
  text-align:center;
  font-variant-numeric:tabular-nums;
}
body.takeoff-bottom-layout .takeoff-command-center #fitTakeoffPlan{
  flex:0 0 64px;
  width:64px;
  height:32px;
  margin:0;
  padding:0 5px;
  border-radius:6px;
  font-size:10px;
  white-space:nowrap;
}
body.takeoff-bottom-layout .takeoff-command-actions{flex-wrap:nowrap;white-space:nowrap;}
@media(max-width:1320px){
  body.takeoff-bottom-layout .takeoff-command-bar{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"job actions" "navigation navigation";
    row-gap:6px;
  }
  body.takeoff-bottom-layout .takeoff-command-left{grid-area:job;}
  body.takeoff-bottom-layout .takeoff-command-center{grid-area:navigation;justify-self:center;}
  body.takeoff-bottom-layout .takeoff-command-actions{grid-area:actions;justify-self:end;}
}
@media(max-width:680px){
  body.takeoff-bottom-layout .takeoff-command-bar{gap:5px;padding:6px 8px;}
  body.takeoff-bottom-layout .takeoff-command-actions{
    max-width:calc(100vw - 138px);
    overflow-x:auto;
    scrollbar-width:thin;
    gap:5px;
  }
  body.takeoff-bottom-layout .takeoff-command-center{
    overflow-x:auto;
    justify-self:stretch;
    scrollbar-width:thin;
    padding-right:6px;
  }
  body.takeoff-bottom-layout .takeoff-command-center .takeoff-file-field{flex:0 0 220px;}
}

/* Branded takeoff summary: an unobtrusive print action beside the Details close. */
.takeoff-panel-heading-actions{display:flex;align-items:center;gap:7px;margin-left:auto;flex:0 0 auto}
.takeoff-print-summary{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border:1px solid #b6cddd;border-radius:6px;background:#f6faff;color:#105e9a!important;font-size:11px;font-weight:800;text-decoration:none!important;white-space:nowrap}
.takeoff-print-summary:hover,.takeoff-print-summary:focus-visible{background:#e8f3fe;border-color:#6aa5d4;outline-offset:2px}

/* Local takeoff crash/outage recovery: only shown when a browser draft exists. */
.takeoff-recovery-backdrop:not([hidden]){position:fixed;inset:0;background:rgba(12,27,44,.48);z-index:1490}
.takeoff-recovery-notice:not([hidden]){position:fixed;top:clamp(90px,16vh,180px);right:clamp(12px,4vw,72px);z-index:1500;width:min(480px,calc(100vw - 24px));padding:18px 20px;border:1px solid #d8bd79;border-left:5px solid #c7a75b;border-radius:12px;background:white;color:#162b41;box-shadow:0 12px 45px rgba(8,22,40,.28)}
.takeoff-recovery-notice strong{font-size:16px}.takeoff-recovery-notice p{font-size:13px;line-height:1.5;margin:9px 0 14px}
.takeoff-recovery-actions{display:flex;flex-wrap:wrap;gap:8px}.takeoff-recovery-actions .btn{font-size:12px;padding:9px 11px}

/* Trade Scope crew assignments: show full names on separate lines, never inside a clipped input. */
.additional-info-grid .trade-scope-crews-field{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.trade-scope-crews-label{font-size:13px;font-weight:800;color:#18395c}
.trade-scope-crew-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;width:100%;max-width:640px}
.trade-scope-crew-list li{position:relative;min-width:0;padding:9px 12px 9px 29px;border:1px solid #d6e2f0;border-radius:9px;background:#f5f8fc;font-size:14px;font-weight:700;line-height:1.35;color:#173a5e;overflow-wrap:anywhere}
.trade-scope-crew-list li::before{content:'';position:absolute;left:12px;top:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:#0b63b6}
.trade-scope-crew-empty{margin:0;color:#64748b;font-size:13px}
.trade-scope-crews-field .field-help{display:block;max-width:640px;line-height:1.45}


/* Job / Permit Information: keep checkboxes inline and prevent the permit section
   from collapsing to a quarter-width nested grid after the crew list. */
.additional-info-grid > label.checkline {
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-height:48px;
}
.additional-info-grid .permit-fields {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:14px 18px;
  min-width:0;
}
.additional-info-grid .permit-toggle {
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  margin-top:23px;
  min-height:48px;
  padding:10px 14px;
  border:1px solid #d6e2f0;
  border-radius:9px;
  background:#f5f8fc;
  color:#173a5e;
  cursor:pointer;
}
.additional-info-grid .permit-toggle:hover { background:#ecf4fc; }
.additional-info-grid .permit-toggle:focus-within {
  outline:2px solid #0b63b6;
  outline-offset:2px;
}
.additional-info-grid .permit-toggle input[type=checkbox] {
  flex:0 0 18px;
  width:18px;
  height:18px;
  min-height:0;
  margin:0;
  padding:0;
}
.additional-info-grid .permit-toggle span { display:inline; }
.additional-info-grid #permitNumberWrap { min-width:0; }
@media (max-width:760px) {
  .additional-info-grid .permit-fields { grid-template-columns:minmax(0,1fr); }
  .additional-info-grid .permit-toggle { margin-top:0; }
}

/* Job workspace: production documents moved out of the Financials card. */
.job-production-documents{margin-top:22px;padding-top:20px;border-top:1px solid #dbe6f0}
.job-production-documents>.sectionhead h3{margin:0 0 4px;color:#103c69}
.job-production-documents>.sectionhead p{margin:0}
.job-production-documents .job-cost-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.job-production-documents .job-cost-email{margin-top:18px}
.job-production-documents .sub-pay-panel{margin-top:18px}
@media(max-width:620px){.job-production-documents .job-cost-actions .btn{width:100%;text-align:center}}

/* Task cancellation: right-aligned action; auditable closed state */
.task-status-pill.cancelled{background:#fff1eb;color:#974325;border-color:#e9b79b}
.task-cancel-row{display:flex;justify-content:flex-end;margin-top:6px}
.task-cancel-trigger{background:#fff!important;color:#ac2828!important;border:1px solid #d8a2a2!important;font-size:12px}
.task-cancel-trigger:hover{background:#fff1f1!important;border-color:#bd5b5b!important}
.task-cancel-dialog{width:min(520px,calc(100vw - 32px));max-height:90vh;overflow-y:auto;border:1px solid #e5d7d7;border-radius:14px;padding:0;box-shadow:0 25px 75px #17283d52}
.task-cancel-dialog::backdrop{background:#14253b96}
.task-cancel-dialog-content{padding:24px;display:grid;gap:10px}
.task-cancel-dialog-content h2{margin:0;font-size:22px}
.task-cancel-dialog-content p{margin:0 0 8px;color:#576577;line-height:1.5}
.task-cancel-dialog-content form{display:grid;gap:9px}
.task-cancel-dialog-content label{font-weight:700;font-size:13px}
.task-cancel-dialog-content textarea{width:100%;box-sizing:border-box;min-height:115px;padding:12px;border:1px solid #bdc9d7;border-radius:9px;font:inherit;resize:vertical}
.task-cancel-dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:7px}
.task-cancelled-banner{padding:12px;border:1px solid #e7b29e;border-radius:9px;background:#fff3ec;color:#943d21;font-weight:700;text-align:center}
.task-cancelled-record{padding:14px;border-left:4px solid #b9442c;border-radius:8px;background:#fff4ef;margin-top:16px;display:grid;gap:6px}
.task-cancelled-record strong{color:#8f321e}
.task-cancelled-record p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.task-cancelled-record small{color:#776050}
@media(max-width:600px){.task-cancel-dialog-actions .btn{width:100%}}

.task.task-is-cancelled{border-color:#e6bbaa;background:#fffcfa}
.task-cancel-note{color:#8d3927;font-size:12px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}

/* Material template list: keep the added Delete action on one row at desktop widths. */
@media (min-width:1101px){.material-template-row.has-delete{grid-template-columns:minmax(260px,1fr) auto auto auto auto}}
@media (max-width:1100px){.material-template-row.has-delete{grid-template-columns:1fr auto}.material-template-row.has-delete>a.btn,.material-template-row.has-delete>form{grid-column:1/-1}.material-template-row.has-delete>form .btn{width:100%}}

/* Compact formula management: 160+ rules must not open 160 edit forms. */
.formula-library-manager .formula-count{font-size:15px;color:#63758b}
.formula-manager-controls{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:14px 0}
.formula-search-label{flex:2 1 300px;min-width:230px}
.formula-manager-controls .check{align-self:center}
.formula-bulk-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:12px 0 18px}
.formula-library-entry[hidden]{display:none!important}
.formula-compact-row{display:flex;align-items:flex-start;gap:14px}
.formula-pick-label{padding:6px}
.formula-pick-label input{width:18px;height:18px}
.formula-compact-details{flex:1;min-width:0}
.formula-rule-line{margin:6px 0;font-size:13px;color:#596d82;overflow-wrap:anywhere}
.formula-flags{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.formula-usage-tag,.formula-available-tag,.formula-duplicate-tag{font-size:11px;border-radius:8px;padding:4px 8px;font-weight:700;background:#f1f4f8;color:#50627b}
.formula-duplicate-tag{background:#fff4cd;color:#704a00}
.formula-available-tag{background:#ecf8f1;color:#236f49}
.formula-edit-details{margin-top:8px;border-top:1px solid #e6edf4;padding-top:12px}
.formula-edit-details summary{cursor:pointer;font-weight:700;color:#17589c;list-style-position:inside}
.formula-edit-details>form{display:grid;gap:14px;margin-top:12px}
.formula-edit-warning{background:#fff7e3;padding:10px;border-radius:8px}
@media(max-width:600px){.formula-compact-row{gap:7px}.formula-manager-controls .btn{flex:1}}

/* Jobsite GPS drop-off pin: independent from the main Additional Info form. */
.st-job-location{display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,1.05fr);gap:18px;padding:16px;margin:14px 0;background:#f6f9fd;border:1px solid #cad9eb;border-radius:12px}
.st-job-location h3{margin:0 0 6px;color:#153759;font-size:16px}
.st-location-caption{color:#536a83;font-size:13px;line-height:1.45;margin:0 0 14px}
.st-location-address{font-weight:600;margin:4px 0 14px;line-height:1.5}
.st-location-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.st-location-fields label{font-size:12px;font-weight:700;color:#294461;min-width:0}
.st-location-fields input{display:block;box-sizing:border-box;min-width:0;width:100%;margin-top:5px;padding:9px;border-radius:8px;border:1px solid #b9cadd;font-size:13px}
.st-location-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
.st-location-actions .btn{font-size:12px;padding:8px 10px}
.st-location-status{font-size:12px;color:#3c5976;margin:10px 0 0;min-height:18px}
.st-location-map-wrap{min-width:0}.st-location-map{height:218px;width:100%;border-radius:9px;border:1px solid #bed0e3;background:#e8eff7;z-index:0}
.st-location-map-wrap small{display:block;color:#64768a;margin-top:5px;font-size:11px;line-height:1.4}
@media(max-width:850px){.st-job-location{grid-template-columns:1fr}.st-location-map{height:240px}}
@media(max-width:410px){.st-location-fields{grid-template-columns:1fr}}
