.workspace-sync-page{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(circle at 12% 18%,rgb(224 163 59 / 13%),transparent 28%),linear-gradient(145deg,#edf2ee,#f8faf8 55%,#e7eee9)}.workspace-sync-card{width:min(780px,100%);padding:clamp(26px,5vw,48px);border:1px solid #d8e1da;border-radius:22px;background:#fffffff0;box-shadow:0 28px 70px #12281b21}.workspace-sync-heading{display:flex;align-items:flex-start;gap:18px}.workspace-sync-heading h1,.workspace-sync-status h1,.workspace-conflict-card h1{margin:7px 0 10px;color:#17291f;font-size:clamp(27px,4vw,39px);line-height:1.08}.workspace-sync-heading p,.workspace-sync-status p,.workspace-conflict-card>p{margin:0;color:#637168;line-height:1.65}.workspace-sync-kicker{color:#94702e;font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.workspace-sync-icon{width:52px;height:52px;display:grid;place-items:center;flex:none;border-radius:15px;color:#17291f;background:#e5b45d;box-shadow:0 10px 26px #ac741733}.workspace-sync-icon svg{width:25px}.workspace-sync-icon.warning{color:#713b1b;background:#f1bd74}.workspace-sync-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:30px 0 18px}.workspace-sync-summary>div{display:flex;align-items:center;gap:11px;min-width:0;padding:15px;border:1px solid #dfe7e1;border-radius:13px;background:#f8faf8}.workspace-sync-summary svg{width:20px;flex:none;color:#557360}.workspace-sync-summary strong,.workspace-sync-summary small{display:block}.workspace-sync-summary strong{color:#1e3527;font-size:20px}.workspace-sync-summary small{margin-top:2px;color:#76827a;font-size:10px}.workspace-sync-callout,.workspace-sync-warning,.workspace-sync-file-note,.workspace-sync-error{margin-top:15px;padding:14px 16px;border-radius:12px}.workspace-sync-callout{display:grid;gap:3px;color:#2d523d;background:#edf6ef}.workspace-sync-callout strong{font-size:13px}.workspace-sync-callout span{color:#637a69;font-size:11px}.workspace-sync-warning{display:flex;gap:11px;color:#754117;background:#fff3df}.workspace-sync-warning svg{width:20px;flex:none}.workspace-sync-warning span{font-size:12px;line-height:1.5}.workspace-sync-file-note{color:#68736d;background:#f2f4f2;font-size:11px;line-height:1.55}.workspace-sync-error{color:#8c2f27;background:#fff0ee;font-size:12px;font-weight:700}.workspace-sync-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.workspace-sync-actions button{min-height:43px}.workspace-sync-status{align-content:center;text-align:center}.workspace-sync-status .workspace-sync-icon{margin:0 auto 19px}.workspace-sync-status p{max-width:560px;margin:0 auto 20px}.workspace-sync-status button{justify-self:center}.workspace-conflict-card{text-align:center}.workspace-conflict-card .workspace-sync-icon{margin:0 auto 16px}.workspace-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:25px;text-align:left}.workspace-choice-grid button{display:grid;grid-template-columns:auto 1fr;column-gap:11px;padding:18px;border:1px solid #d9e2dc;border-radius:14px;color:#223a2b;background:#f8faf8}.workspace-choice-grid button:hover{border-color:#7ca087;background:#f1f7f2}.workspace-choice-grid svg{grid-row:1 / 3;width:21px;color:#54715e}.workspace-choice-grid strong{font-size:13px}.workspace-choice-grid span{margin-top:4px;color:#748078;font-size:10px;line-height:1.45}@media(max-width:650px){.workspace-sync-heading{display:grid}.workspace-sync-summary,.workspace-choice-grid{grid-template-columns:1fr}.workspace-sync-actions{display:grid}.workspace-sync-actions button{width:100%}}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:272px;padding:20px 15px 18px;overflow-y:auto;background:linear-gradient(180deg,#17291f,#102018);color:#fff;box-shadow:10px 0 34px #0f1e161f}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:2px 5px 18px}.sidebar-logo{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none;color:#17291f;background:#e0a33b}.sidebar-logo svg{width:23px}.sidebar-brand h2{margin:0;color:#fff;font-size:18px;letter-spacing:.08em;line-height:1}.sidebar-brand span{display:block;margin-top:4px;color:#a9baae;font-size:10px;letter-spacing:.12em}.sidebar-close{display:none;margin-left:auto;border:0;background:transparent;color:#fff}.sidebar-collapse{display:grid;width:32px;height:32px;flex:none;place-items:center;margin-left:auto;border:1px solid rgb(255 255 255 / 10%);border-radius:8px;background:#ffffff0d;color:#b9c8bf}.sidebar-collapse:hover{color:#fff;background:#ffffff1a}.workspace-switcher{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px;padding:11px 12px;border:1px solid rgb(255 255 255 / 10%);border-radius:11px;background:#ffffff0d}.workspace-switcher strong,.workspace-switcher span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-switcher strong{max-width:185px;color:#f5f8f6;font-size:13px}.workspace-switcher span{margin-top:3px;color:#9eb0a4;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.sidebar-nav{display:grid;gap:16px}.nav-section{display:grid;gap:3px}.nav-label{padding:0 10px 5px;color:#718579;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.sidebar-link{display:flex;align-items:center;gap:11px;min-height:38px;padding:8px 10px;border-radius:9px;color:#b9c8bf;text-decoration:none;font-size:13px;font-weight:650;transition:.14s ease}.sidebar-link:hover{color:#fff;background:#ffffff0f}.sidebar-link.active{color:#fff;background:#315c45;box-shadow:inset 3px 0 #e0a33b,0 8px 18px #00000021}.sidebar-footer{margin-top:20px;padding:12px;border-top:1px solid rgb(255 255 255 / 10%)}.sidebar-footer span,.sidebar-footer strong,.sidebar-footer small{display:block}.sidebar-footer span{color:#708379;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.sidebar-footer strong{margin-top:3px;font-size:11px}.sidebar-footer small{margin-top:3px;color:#82958a;font-size:9px;line-height:1.4}.sidebar-logout{width:100%;min-height:34px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:11px;border:1px solid rgb(255 255 255 / 11%);border-radius:8px;color:#c4d0c8;background:#ffffff0d;font-size:10px;font-weight:750}.sidebar-logout:hover{color:#fff;background:#ffffff17}.sidebar-footer .sync-error-text{color:#f2bd72}.sidebar-sync-retry{width:100%;min-height:32px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:9px;border:1px solid rgb(224 163 59 / 32%);border-radius:8px;color:#f2c576;background:#e0a33b14;font-size:10px;font-weight:750}.sidebar-sync-retry:hover{color:#ffe0a6;background:#e0a33b24}.mobile-menu-button,.sidebar-overlay{display:none}@media(min-width:901px){.sidebar{transition:width .18s ease,padding .18s ease}.sidebar.sidebar-collapsed{width:78px;padding-inline:10px;overflow-x:hidden}.sidebar.sidebar-collapsed .sidebar-brand{justify-content:center;padding-inline:0}.sidebar.sidebar-collapsed .sidebar-brand-copy,.sidebar.sidebar-collapsed .workspace-switcher>div,.sidebar.sidebar-collapsed .workspace-switcher>svg,.sidebar.sidebar-collapsed .nav-label,.sidebar.sidebar-collapsed .sidebar-link span,.sidebar.sidebar-collapsed .sidebar-footer span,.sidebar.sidebar-collapsed .sidebar-footer strong,.sidebar.sidebar-collapsed .sidebar-footer small,.sidebar.sidebar-collapsed .sidebar-sync-retry span,.sidebar.sidebar-collapsed .sidebar-logout span{display:none}.sidebar.sidebar-collapsed .sidebar-logo{width:38px;height:38px}.sidebar.sidebar-collapsed .sidebar-collapse{position:absolute;top:66px;left:23px;margin:0}.sidebar.sidebar-collapsed .workspace-switcher{min-height:42px;justify-content:center;margin-top:36px;padding:8px}.sidebar.sidebar-collapsed .sidebar-nav{gap:10px}.sidebar.sidebar-collapsed .nav-section{gap:5px}.sidebar.sidebar-collapsed .sidebar-link{justify-content:center;min-height:42px;padding:8px}.sidebar.sidebar-collapsed .sidebar-link svg{width:20px;height:20px}.sidebar.sidebar-collapsed .sidebar-footer{padding-inline:2px}.sidebar.sidebar-collapsed .sidebar-logout,.sidebar.sidebar-collapsed .sidebar-sync-retry{padding:0;font-size:0}}@media(max-width:900px){.mobile-menu-button{position:fixed;top:10px;left:10px;z-index:32;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:9px;background:#17291f;color:#fff;box-shadow:0 6px 20px #0000002e}.sidebar{transform:translate(-105%);transition:transform .2s ease}.sidebar.sidebar-open{transform:translate(0)}.sidebar-close{display:grid;place-items:center}.sidebar-collapse{display:none}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;width:100%;height:100%;border:0;background:#050e098c}}.app-layout{min-height:100vh}.page-content{min-width:0;min-height:100vh;margin-left:272px;padding:34px 38px 70px}.page-content-sidebar-collapsed{margin-left:78px}.page-container{max-width:1580px;margin:0 auto}.page-content-fullscreen{height:100dvh;padding:0;overflow:hidden}.page-container-fullscreen{width:100%;max-width:none;height:100%;margin:0}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px}.page-header h1{margin-bottom:7px;font-size:clamp(28px,3vw,40px)}.page-header p{max-width:760px;margin-bottom:0;color:#68736d}@media(max-width:900px){.page-content{margin-left:0;padding:70px 18px 50px}.page-content-fullscreen{padding:0}}@media(max-width:700px){.page-content{padding-inline:13px}.page-header{flex-direction:column}.page-actions{width:100%}.page-actions>*{flex:1}}.dashboard-kpis{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:15px;margin-bottom:24px}.dashboard-kpi{padding:22px;border:1px solid #dfe1dc;border-radius:14px;background:#fff;box-shadow:0 8px 24px #0f172a0d}.featured-kpi{color:#fff;border-color:transparent;background:linear-gradient(135deg,#1d4ed8,#315c45 55%,#3b82f6);box-shadow:0 16px 34px #315c453d}.dashboard-kpi span,.dashboard-kpi small{display:block}.dashboard-kpi span{margin-bottom:10px;color:#6e7771;font-size:13px}.dashboard-kpi strong{display:block;margin-bottom:8px;font-size:27px;letter-spacing:-.03em}.dashboard-kpi small{color:#8390a4}.featured-kpi span,.featured-kpi small{color:#dbeafe}.dashboard-two-column{display:grid;grid-template-columns:1.55fr .8fr;gap:20px}.recent-estimate-list{display:flex;flex-direction:column}.recent-estimate-row{display:flex;justify-content:space-between;gap:20px;padding:14px 4px;border-bottom:1px solid #e5eaf2;color:inherit;text-decoration:none}.recent-estimate-row:last-child{border-bottom:0}.recent-estimate-row:hover{color:#1d4ed8}.recent-estimate-row div{display:flex;flex-direction:column;gap:4px}.recent-estimate-row span{color:#6e7771;font-size:13px}.recent-estimate-value{align-items:flex-end}.workflow-list{display:flex;flex-direction:column;gap:9px}.workflow-row{display:flex;justify-content:space-between;padding:11px 12px;border-radius:8px;background:#f5f8fc}.library-health-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.library-health-card{display:flex;flex-direction:column;gap:7px;padding:18px;border:1px solid #dfe1dc;border-radius:12px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 7px 20px #0f172a0a}.library-health-card:hover{border-color:#93b4f5;transform:translateY(-1px)}.library-health-card span,.library-health-card small{color:#6e7771}.library-health-card strong{font-size:25px}@media(max-width:1150px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.library-health-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.dashboard-two-column{grid-template-columns:1fr}.library-health-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.dashboard-kpis,.library-health-grid{grid-template-columns:1fr}}.action-menu-trigger{display:grid;width:36px;height:36px;place-items:center;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#1f2933;font-size:22px;line-height:1}.action-menu-trigger:hover{background:#f1f5f9}.action-menu-popup{display:flex;min-width:175px;flex-direction:column;padding:6px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 14px 36px #0f172a38}.action-menu-overlay{position:fixed;z-index:10000;max-height:min(360px,calc(100vh - 30px));overflow-y:auto}.action-menu-popup a,.action-menu-popup button{width:100%;padding:9px 10px;border:0;border-radius:5px;background:transparent;color:#1f2933;text-align:left;text-decoration:none;font-weight:600}.action-menu-popup a:hover,.action-menu-popup button:hover{background:#f1f5f9}.action-menu-popup .danger-menu-item{color:#b91c1c}.action-menu-popup button:disabled{opacity:.45;cursor:default}.toast-container{position:fixed;right:22px;bottom:22px;z-index:9999;display:flex;width:min(380px,calc(100vw - 44px));flex-direction:column;gap:10px}.toast{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1f2933;box-shadow:0 12px 32px #0f172a2e;text-align:left;animation:toast-in .18s ease-out}.toast-success{border-left:5px solid #15803d}.toast-info{border-left:5px solid #315c45}.toast-error{border-left:5px solid #b91c1c}.toast strong{font-size:18px}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.estimate-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.status-completed{background:#dcfce7;color:#166534}.icon-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#1f2933}.icon-button:hover{background:#dbeafe;color:#1d4ed8}.estimates-table{min-width:1180px}.clickable-estimate-row{cursor:pointer}.clickable-estimate-row:hover td{background:#eff6ff}.estimate-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.status-draft{background:#fef3c7;color:#92400e}.status-saved{background:#dbeafe;color:#1d4ed8}.status-sent{background:#e0e7ff;color:#4338ca}.status-awarded{background:#dcfce7;color:#166534}.status-in-progress{background:#cffafe;color:#0e7490}.status-completed{background:#d1fae5;color:#047857}.status-lost{background:#fee2e2;color:#b91c1c}.icon-button{display:grid;width:35px;height:35px;place-items:center;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#415348}.icon-button:hover{border-color:#93b4f5;background:#dbeafe;color:#1d4ed8}.edit-icon-button{font-size:18px;font-weight:800}.estimate-detail-table{min-width:2400px}.material-table{min-width:1900px}.compact-grid{grid-template-columns:repeat(4,1fr)}.estimate-bottom-grid{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start}.estimate-summary div{display:flex;justify-content:space-between;padding:9px 0}.estimate-summary .total-row{margin-top:10px;padding-top:16px;border-top:2px solid #1f2933;font-size:20px}.control-card{margin-bottom:0}.detail-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.detail-cards div{display:flex;flex-direction:column;gap:6px;padding:18px;background:#fff;border:1px solid #d1d5db;border-radius:7px}.detail-cards span{color:#6e7771}.detail-cards strong{font-size:22px}@media(max-width:1000px){.estimate-bottom-grid{grid-template-columns:1fr}.compact-grid,.detail-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.compact-grid,.detail-cards{grid-template-columns:1fr}}.calculated-field,input:disabled.calculated-field{background:#e5e7eb;color:#475569;cursor:not-allowed;font-weight:700}.takeoff-import-control{display:flex;gap:8px;align-items:center}.takeoff-import-control select{min-width:220px;padding:10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.takeoff-import-control select+select{min-width:165px}.takeoff-import-control button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:800px){.takeoff-import-control{width:100%;align-items:stretch;flex-direction:column}.takeoff-import-control select{min-width:0}}.proposal-page{max-width:900px;margin:20px auto;padding:40px;background:#fff;color:#111}.proposal-actions{text-align:right;margin-bottom:20px}.proposal-page header{display:flex;align-items:center;gap:20px;border-bottom:3px solid #222;padding-bottom:20px;margin-bottom:24px}.logo-box{width:100px;height:70px;border:1px dashed #999;display:grid;place-items:center;color:#777}.logo-box img{width:100%;height:100%;object-fit:contain}.proposal-company-contact{display:block;max-width:520px;margin-top:5px;color:#5f6a63;font-size:11px}.proposal-info{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ddd;border:1px solid #ddd;margin-bottom:28px}.proposal-info div{display:flex;justify-content:space-between;padding:12px;background:#fff}.proposal-page table{width:100%;border-collapse:collapse;margin-bottom:30px}.proposal-page th,.proposal-page td{padding:10px;border:1px solid #bbb;text-align:left}.proposal-page th{background:#eee}.signature-grid{display:grid;grid-template-columns:2fr 1fr;gap:25px;margin-top:55px}.signature-line{height:35px;border-bottom:1px solid #111}@media print{.sidebar,.no-print{display:none!important}.page-content{padding:0!important}.proposal-page{margin:0;max-width:none;padding:20px}.app-layout{display:block!important}}.proposal-materials-section{margin-top:-10px;margin-bottom:30px}.proposal-materials-section h3{margin-bottom:10px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px}.form-grid label,.standalone-field{display:flex;flex-direction:column;gap:7px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea,.standalone-field input{padding:9px;border:1px solid #cbd5e1;border-radius:5px}.equipment-form{grid-template-columns:repeat(4,minmax(140px,1fr))}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.choice-card{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc}.choice-card span{display:flex;flex-direction:column}.choice-card small{color:#6e7771}.inline-total{margin:18px 0;padding:15px;background:#f8fafc;border-radius:6px;text-align:right;font-size:18px}.full-span{grid-column:1/-1}@media(max-width:1000px){.form-grid,.equipment-form,.choice-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.form-grid,.equipment-form,.choice-grid{grid-template-columns:1fr}}.conditional-options{display:flex;flex-direction:column;gap:14px;margin-top:22px;padding:18px;border:1px solid #d1d5db;border-radius:7px;background:#f8fafc}.conditional-panel{padding:14px;border-left:4px solid #315c45;background:#fff}.production-faster{background:#dcfce7!important}.production-slower{background:#fee2e2!important}.production-on-target{background:#fef9c3!important}.production-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.recommendation-flag{display:flex;min-width:210px;flex-direction:column;align-items:flex-start;gap:7px}.recommendation-flag small,.status-text{color:#6e7771}.library-editor{border-top:4px solid #315c45}.empty-library{padding:24px;text-align:center}.empty-library p{margin-bottom:0;color:#6e7771}.clickable-library-row{cursor:pointer}.clickable-library-row:hover td{background:#eff6ff}.takeoff-table{min-width:1800px}.standalone-field{max-width:500px;margin-bottom:20px}.output-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.output-grid div{display:flex;justify-content:space-between;padding:12px;background:#f8fafc;border-radius:6px}.output-grid span{text-transform:capitalize}@media(max-width:700px){.output-grid{grid-template-columns:1fr}}.takeoff-editor-header{display:flex;align-items:end;justify-content:space-between;gap:20px}.takeoff-editor-header .standalone-field{flex:1;margin-bottom:0}@media(max-width:700px){.takeoff-editor-header{align-items:stretch;flex-direction:column}}.completed-job-adder{display:flex;align-items:end;gap:16px}.completed-job-adder label{display:flex;min-width:320px;flex-direction:column;gap:7px;font-weight:700}.completed-job-adder select,.completed-job-controls input,.job-notes-field textarea{padding:9px;border:1px solid #cbd5e1;border-radius:7px}.completed-job-editor{border-top:4px solid #315c45}.completed-job-heading{display:flex;justify-content:space-between;gap:20px}.completed-job-heading span{color:#6e7771;font-size:13px}.completed-job-heading h2{margin:5px 0}.completed-job-controls{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.completed-job-controls label,.job-notes-field{display:flex;flex-direction:column;gap:6px;font-weight:700}.production-entry-note{margin:18px 0 0;padding:13px 15px;border-left:4px solid #315c45;border-radius:0 8px 8px 0;background:#eff6ff;color:#415348}.job-production-table{min-width:1600px;margin-top:18px}.job-notes-field{margin-top:18px}.job-library-table{min-width:1180px}.job-library-table tbody tr{cursor:pointer}.job-library-table tbody tr:hover td{background:#eff6ff}.selected-job-row td{background:#dbeafe!important}.job-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.job-completed{background:#dcfce7;color:#166534}.job-not-completed{background:#f1f5f9;color:#475569}.auto-recommendation-note{display:inline-block;padding:9px 13px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:13px;font-weight:800}.production-badge{display:inline-block;margin-left:5px;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.performance-positive-1{--performance-bg: #effaf3;--performance-fg: #245f3b}.performance-positive-2{--performance-bg: #d9f1e1;--performance-fg: #1f5a36}.performance-positive-3{--performance-bg: #b7dfc4;--performance-fg: #184c2d}.performance-positive-4{--performance-bg: #7fbd93;--performance-fg: #123d24}.performance-positive-5{--performance-bg: #39784e;--performance-fg: #fff}.performance-negative-1{--performance-bg: #fff1f2;--performance-fg: #8b2931}.performance-negative-2{--performance-bg: #fedadd;--performance-fg: #84232b}.performance-negative-3{--performance-bg: #f7b6bb;--performance-fg: #731d25}.performance-negative-4{--performance-bg: #e77b82;--performance-fg: #5f151c}.performance-negative-5{--performance-bg: #a83a41;--performance-fg: #fff}tr[class*=performance-positive-] td,tr[class*=performance-negative-] td,.production-badge[class*=performance-positive-],.production-badge[class*=performance-negative-]{background:var(--performance-bg)!important;color:var(--performance-fg)!important}tr[class*=performance-positive-] td strong,tr[class*=performance-negative-] td strong{color:inherit}.production-on-target td,.production-badge.production-on-target{background:#fffbce!important;color:#715b0c!important}.recommendation-section,.adjustment-history-section{padding:0;overflow:hidden}.recommendation-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px}.recommendation-heading h2{margin-bottom:5px}.recommendation-heading p{max-width:760px;margin:0;color:#6e7771;font-size:13px}.recommendation-heading>span{padding:7px 10px;border-radius:999px;background:#edf0ed;color:#526158;font-size:12px;font-weight:800;white-space:nowrap}.recommendation-table,.adjustment-history-table{min-width:1080px}.recommendation-actions{display:flex;gap:7px;white-space:nowrap}.recommendation-deny-button{min-height:32px;padding:7px 11px;border:0;border-radius:8px;background:#9f3037;color:#fff;font-size:13px;font-weight:800}.recommendation-empty{padding:26px!important;background:#fafbf9!important;color:#6e7771!important;text-align:center!important}.adjustment-accepted td{background:#eff9f2}.adjustment-accepted td:first-child{box-shadow:inset 4px 0 #2f7d4b}.adjustment-denied td{background:#fff3f3}.adjustment-denied td:first-child{box-shadow:inset 4px 0 #b8444b}.adjustment-decision{display:inline-block;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase}.adjustment-decision.accepted{background:#ccebd5;color:#1c6337}.adjustment-decision.denied{background:#f5cdd0;color:#8c252d}.status-text{display:block;margin-top:4px;color:#6e7771;font-size:11px}@media(max-width:800px){.completed-job-adder,.completed-job-heading,.recommendation-heading{align-items:stretch;flex-direction:column}.completed-job-adder label{min-width:0}.recommendation-heading>span{align-self:flex-start}}.customer-grid{display:grid;grid-template-columns:repeat(2,minmax(270px,1fr));gap:16px}.customer-card{padding:20px;border:1px solid #dfe1dc;border-radius:12px;background:#f9fbfe;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.customer-card:hover,.customer-card:focus-visible{border-color:#8fa99a;box-shadow:0 12px 30px #315c451f;outline:none;transform:translateY(-2px)}.customer-card>div:first-child span{color:#6e7771;font-size:12px;text-transform:uppercase}.customer-card h3{margin:5px 0 18px}.customer-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.customer-metrics div{padding:11px;border-radius:8px;background:#fff}.customer-metrics span,.customer-metrics strong{display:block}.customer-metrics span{margin-bottom:5px;color:#6e7771;font-size:11px}.customer-project-list{display:flex;flex-direction:column;gap:5px}.customer-project-list a{display:flex;justify-content:space-between;gap:14px;padding:9px 10px;border-radius:7px;color:inherit;text-decoration:none}.customer-project-list a:hover{background:#eaf2ff}.customer-project-list strong{color:#6e7771;font-size:12px}.customer-open-button{width:100%;margin-top:14px;padding:10px 0 0;border:0;border-top:1px solid #dfe1dc;background:transparent;color:#315c45;text-align:left;font-weight:800}.customer-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:24px;background:#0d1811ad;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.customer-dialog{width:min(920px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:16px;background:#fffefa;box-shadow:0 30px 90px #0000004d}.customer-dialog-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;border-bottom:1px solid #dfe1dc;background:#fffefa}.customer-dialog-header span{color:#6e7771;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.customer-dialog-header h2{margin:5px 0 0}.customer-dialog-close{display:grid;width:38px;height:38px;place-items:center;border:1px solid #dfe1dc;border-radius:9px;background:#f7f8f5;color:#415348}.customer-contact-grid,.customer-dialog-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:24px 26px 0}.customer-contact-grid>div,.customer-dialog-metrics>div{min-width:0;padding:14px;border:1px solid #e3e7e2;border-radius:10px;background:#f8faf7}.customer-contact-grid span,.customer-dialog-metrics span{display:block;margin-bottom:6px;color:#6e7771;font-size:11px}.customer-contact-grid strong,.customer-dialog-metrics strong{display:block;overflow-wrap:anywhere}.customer-contact-grid a{display:inline-flex;align-items:center;gap:6px;color:#315c45;font-weight:800;overflow-wrap:anywhere;text-decoration:none}.customer-dialog-metrics>div{background:#eaf1ec}.customer-addresses,.customer-history{margin:24px 26px 0}.customer-addresses h3,.customer-history h3{margin-bottom:12px}.customer-addresses>div{display:flex;align-items:center;gap:8px;padding:9px 0;border-top:1px solid #edf0ec;color:#415348}.customer-addresses p{color:#6e7771}.customer-history-heading{display:flex;align-items:center;justify-content:space-between}.customer-history-heading>span{color:#6e7771;font-size:12px}.customer-history>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 14px;border-top:1px solid #e6e9e5;color:inherit;text-decoration:none}.customer-history>a:hover{background:#edf4ef}.customer-history>a>div:last-child{text-align:right}.customer-history strong,.customer-history span{display:block}.customer-history span{margin-top:4px;color:#6e7771;font-size:12px}.customer-dialog-note{margin:24px 26px 26px;padding:12px 14px;border-left:4px solid #315c45;background:#edf4ef;color:#526158;font-size:12px}@media(max-width:900px){.customer-grid{grid-template-columns:1fr}.customer-contact-grid,.customer-dialog-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.customer-metrics{grid-template-columns:1fr}.customer-dialog-backdrop{align-items:end;padding:0}.customer-dialog{max-height:94vh;border-radius:16px 16px 0 0}.customer-contact-grid,.customer-dialog-metrics{grid-template-columns:1fr;padding-inline:18px}.customer-addresses,.customer-history,.customer-dialog-note{margin-inline:18px}.customer-history>a{align-items:flex-start;flex-direction:column}.customer-history>a>div:last-child{text-align:left}}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.report-kpis article{padding:20px;border:1px solid #dfe1dc;border-radius:12px;background:#fff}.report-kpis span,.report-kpis strong{display:block}.report-kpis span{margin-bottom:8px;color:#6e7771;font-size:13px}.report-kpis strong{font-size:24px}.report-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.status-chart{display:flex;flex-direction:column;gap:12px}.status-chart-row{display:grid;grid-template-columns:90px 1fr 35px 105px;align-items:center;gap:10px}.status-chart-row span{font-size:13px}.status-chart-row small{color:#6e7771;text-align:right}.status-bar-track{height:10px;overflow:hidden;border-radius:999px;background:#e7edf5}.status-bar-fill{min-width:4px;height:100%;border-radius:inherit;background:linear-gradient(90deg,#315c45,#60a5fa)}.alert-list{display:flex;flex-direction:column;gap:10px}.report-alert{display:flex;justify-content:space-between;gap:18px;padding:13px;border-radius:9px}.report-alert div{display:flex;flex-direction:column;gap:4px}.report-alert span{color:#6e7771;font-size:12px}.report-alert-positive{background:#ecfdf3}.report-alert-negative{background:#fff1f2}.report-alert-neutral{background:#fffbeb}@media(max-width:1000px){.report-kpis{grid-template-columns:repeat(2,1fr)}.report-layout{grid-template-columns:1fr}}@media(max-width:560px){.report-kpis{grid-template-columns:1fr}.status-chart-row{grid-template-columns:80px 1fr 30px}.status-chart-row small{display:none}}.hidden-file-input{display:none}body:has(.plan-takeoff-page) .page-container{max-width:none}body:has(.plan-takeoff-page) .page-content{padding-right:22px;padding-left:22px}.plan-project-grid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:16px}.plan-project-card{position:relative;display:flex;min-height:210px;flex-direction:column;gap:14px;padding:20px;border:1px solid #dfe1dc;border-radius:13px;background:#f9fbfe;cursor:pointer}.plan-project-card:hover{border-color:#93b4f5;box-shadow:0 10px 24px #315c451a}.plan-project-card .action-menu-trigger{position:absolute;top:14px;right:14px}.plan-file-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:12px;background:#dbeafe;color:#1d4ed8;font-size:13px;font-weight:900}.plan-project-card h3{margin-bottom:5px}.plan-project-card p{margin-bottom:0;color:#6e7771;font-size:13px}.plan-card-stats{display:flex;flex-direction:column;gap:5px;margin-top:auto;color:#6e7771;font-size:12px}.empty-plan-state{display:grid;min-height:280px;place-items:center;align-content:center;gap:10px;text-align:center}.plan-project-header{display:flex;align-items:end;justify-content:space-between;gap:20px}.plan-project-header label{display:flex;width:min(540px,100%);flex-direction:column;gap:7px;font-weight:700}.plan-project-header input{padding:10px;border:1px solid #cbd5e1;border-radius:8px}.plan-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.plan-tools{position:static;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:0;padding:13px 14px}.plan-tools>h2{margin:0;font-size:16px;white-space:nowrap}.tool-button-grid{display:flex;flex:1 1 690px;gap:7px;flex-wrap:wrap}.tool-button{flex:1 1 105px;padding:10px 11px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;text-align:center;font-weight:700;white-space:nowrap}.tool-button:hover,.tool-button.active{border-color:#315c45;background:#eff6ff;color:#1d4ed8}.tool-options{display:flex;order:2;width:100%;align-items:end;flex-direction:row;flex-wrap:wrap;gap:10px;margin-top:2px;padding-top:11px;border-top:1px solid #e2e8f0}.tool-options label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:13px;min-width:190px}.tool-options input{padding:9px;border:1px solid #cbd5e1;border-radius:7px}.scale-status{min-width:155px;margin-top:0;padding:9px 11px;border-radius:8px;background:#f1f5f9}.scale-status span,.scale-status strong{display:block}.scale-status span{margin-bottom:4px;color:#6e7771;font-size:12px}.plan-help{order:3;flex:1 1 100%;margin-top:0;color:#6e7771;font-size:11px;line-height:1.5}.plan-viewer{min-height:650px;padding:10px}.plan-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:9px 10px;border:1px solid #dce3de;border-radius:10px;background:#f5f7f5}.zoom-controls{display:flex;align-items:center;overflow:hidden;border:1px solid #c8d1cb;border-radius:8px;background:#fff}.zoom-controls button{min-width:38px;min-height:36px;padding:6px 10px;border:0;border-right:1px solid #dce3de;background:#fff;color:#2f493a;font-weight:800}.zoom-controls button:hover{background:#eaf1ec}.zoom-controls button:last-child{border-right:0}.zoom-controls .zoom-percent{min-width:68px;color:#1d4ed8}.zoom-controls .fit-plan-button{min-width:76px}.viewer-status{display:flex;align-items:center;gap:12px;color:#68746c;font-size:11px}.viewer-status strong{padding:5px 8px;border-radius:999px;background:#e5eee8;color:#315c45}.plan-canvas-shell{position:relative;width:100%;aspect-ratio:1100 / 750;overflow:hidden;border:1px solid #cbd5e1;border-radius:10px;background:#dfe5ec;touch-action:none;-webkit-user-select:none;user-select:none}.plan-canvas-shell.pan-mode,.measurement-overlay.tool-pan{cursor:grab}.plan-canvas-shell.is-panning,.plan-canvas-shell.is-panning .measurement-overlay{cursor:grabbing}.plan-stage{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0;will-change:transform}.plan-background,.measurement-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.plan-background{object-fit:contain;background:#fff}.plan-rendering-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;background:#f1f5f2b8;color:#315c45;font-size:13px;font-weight:850;pointer-events:none}.measurement-overlay{z-index:3;cursor:crosshair}.measurement-overlay.tool-select{cursor:default}.measurement-hit-target{fill:none;stroke:transparent;stroke-width:20;pointer-events:stroke;vector-effect:non-scaling-stroke}.saved-measurement-line,.draft-line{fill:none;stroke:#dc2626;stroke-width:4;vector-effect:non-scaling-stroke}.saved-measurement-area{fill:#315c4538;stroke:#315c45;stroke-width:3;vector-effect:non-scaling-stroke}.measurement-group .saved-measurement-line,.measurement-group .saved-measurement-area,.measurement-group .saved-measurement-count{cursor:pointer}.measurement-group.is-selected .saved-measurement-line{stroke:#1677ff;stroke-width:6;filter:drop-shadow(0 0 4px rgb(22 119 255 / 65%))}.measurement-group.is-selected .saved-measurement-area{fill:#1677ff3d;stroke:#1677ff;stroke-width:5;filter:drop-shadow(0 0 4px rgb(22 119 255 / 50%))}.measurement-group.is-selected .saved-measurement-count{fill:#1677ff;filter:drop-shadow(0 0 4px rgb(22 119 255 / 65%))}.measurement-edit-handle{fill:#1677ff;stroke:#fff;cursor:move;vector-effect:non-scaling-stroke}.saved-measurement-count{fill:#f59e0b;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.draft-point{fill:#dc2626;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.draft-line{stroke-dasharray:8 5}.draft-preview-line{fill:none;stroke:#f97316;stroke-width:3;stroke-dasharray:7 5;pointer-events:none;vector-effect:non-scaling-stroke}.snap-target{fill:#f9731626;stroke:#f97316;pointer-events:none;vector-effect:non-scaling-stroke}.snap-target.close-target{fill:#16a34a2e;stroke:#16a34a}.canvas-corner-status{position:absolute;right:10px;bottom:10px;z-index:6;padding:6px 9px;border-radius:7px;background:#18261dd1;color:#fff;font-size:10px;font-weight:800;pointer-events:none}.area-draft-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:260px}.magnet-toggle{display:flex;width:auto;min-width:205px;align-items:center;gap:10px;margin-top:0;padding:8px 10px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#4d5c53;text-align:left}.magnet-toggle.active{border-color:#f59e0b;background:#fff8e8;color:#795411;box-shadow:0 0 0 3px #f59e0b1a}.magnet-toggle>span:first-child{font-size:21px}.magnet-toggle>span:last-child,.magnet-toggle small{display:block}.magnet-toggle>span:last-child{font-weight:800}.magnet-toggle small{margin-top:2px;font-size:10px;font-weight:600}.selected-measurement-notice{display:block;margin-bottom:8px;padding:9px;border-radius:7px;background:#eaf3ff;color:#175db4;font-size:11px;line-height:1.45}.plan-results-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.plan-summary{position:sticky;top:20px}.plan-summary>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #e2e8f0}.plan-summary>div:last-child{border-bottom:0}.measurement-row-actions{display:flex;gap:6px;white-space:nowrap}.measurement-row-actions .small-button{min-width:68px}.measurement-list-row{cursor:pointer}.measurement-list-row:hover td{background:#f2f7ff}.measurement-list-row.selected td{background:#e7f1ff;border-bottom-color:#b7d3f8}.measurement-list-row.selected td:first-child{box-shadow:inset 4px 0 #1677ff}.elevation-surface-section{margin-top:18px}.elevation-grid-controls{display:grid;grid-template-columns:190px 190px 1fr;gap:12px;align-items:end;margin:18px 0;padding:14px;border:1px solid #dce4de;border-radius:10px;background:#f5f8f5}.elevation-grid-controls label{display:grid;gap:6px;color:#59655e;font-size:10px;font-weight:750;text-transform:uppercase}.elevation-grid-controls input{width:100%;padding:9px;border:1px solid #cfd7d1;border-radius:7px;background:#fff}.elevation-grid-controls>div{padding:9px 12px;border-radius:8px;background:#e7eee9}.elevation-grid-controls span,.elevation-grid-controls strong{display:block}.elevation-grid-controls span{color:#647067;font-size:9px;text-transform:uppercase}.elevation-grid-controls strong{margin-top:3px;color:#315c45;font-size:15px}.elevation-table{min-width:1420px}.elevation-table input{min-width:105px}.elevation-table th:nth-child(1),.elevation-table td:nth-child(1){min-width:140px}.elevation-table th:nth-child(10),.elevation-table td:nth-child(10){min-width:180px}.elevation-cut-row td{background:#feece88c}.elevation-fill-row td{background:#e7f1f9a6}.elevation-empty{display:grid;place-items:center;padding:32px;text-align:center;color:#69746d}.elevation-empty strong,.elevation-empty span{display:block}.elevation-empty span{margin-top:5px;font-size:11px}.elevation-total-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.elevation-total-strip>div{padding:13px;border:1px solid #dfe4df;border-radius:9px;background:#f7f8f6}.elevation-total-strip span,.elevation-total-strip strong{display:block}.elevation-total-strip span{color:#6d7770;font-size:9px;font-weight:750;text-transform:uppercase}.elevation-total-strip strong{margin-top:5px;font-size:18px}.elevation-total-strip .cut-total{border-color:#efc3bc;background:#fff2ef}.elevation-total-strip .fill-total{border-color:#bdd5e6;background:#edf6fb}.elevation-method-note{margin:13px 0 0;color:#717b74;font-size:10px;line-height:1.55}@media(max-width:1100px){.plan-project-grid{grid-template-columns:repeat(2,1fr)}.plan-workspace{grid-template-columns:1fr}.plan-tools,.plan-summary{position:static}.tool-button-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.plan-project-grid,.plan-results-layout{grid-template-columns:1fr}.plan-project-header{align-items:stretch;flex-direction:column}.tool-button-grid{grid-template-columns:1fr}.plan-viewer-toolbar,.viewer-status{align-items:stretch;flex-direction:column}.zoom-controls{width:100%}.zoom-controls button{flex:1}.elevation-grid-controls,.elevation-total-strip{grid-template-columns:1fr 1fr}}.legacy-takeoff-layout{display:none}.takeoff-editor-shell{position:fixed;top:0;right:0;bottom:0;left:272px;z-index:40;display:grid;grid-template-rows:48px 50px minmax(0,1fr);overflow:hidden;background:#f3f4f6;color:#17221c}.editor-storage-status{color:#68736d}.takeoff-editor-titlebar{display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid #dfe3e8;background:#fff}.editor-icon-button,.editor-text-button,.editor-tool-button,.editor-view-controls button,.editor-page-control button{border:0;background:transparent;color:#53615a}.editor-icon-button{display:grid;width:32px;height:32px;place-items:center;border-radius:7px}.editor-icon-button:hover,.editor-text-button:hover,.editor-view-controls button:hover,.editor-page-control button:hover{background:#eef2f5;color:#1d4ed8}.takeoff-editor-project-name{min-width:0;flex:1;padding:6px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:#111827;font-size:14px;font-weight:750}.takeoff-editor-project-name:hover,.takeoff-editor-project-name:focus{border-color:#cbd5e1;background:#f8fafc}.takeoff-editor-title-actions,.editor-view-controls,.editor-page-control{display:flex;align-items:center;gap:4px}.editor-text-button{display:inline-flex;min-height:32px;align-items:center;gap:6px;padding:6px 9px;border-radius:7px;font-size:11px;font-weight:750}.takeoff-editor-toolbar{display:flex;min-width:0;align-items:center;gap:10px;overflow-x:auto;padding:5px 12px;border-bottom:1px solid #dfe3e8;background:#fff;scrollbar-width:thin}.editor-scale-readout{display:flex;min-width:168px;align-items:center;gap:6px;color:#078647;font-size:10px;font-weight:750;white-space:nowrap}.editor-tool-buttons{display:flex;align-items:center;gap:3px;padding:0 9px;border-right:1px solid #e1e5e9;border-left:1px solid #e1e5e9}.editor-tool-button{display:inline-flex;min-width:54px;min-height:38px;align-items:center;justify-content:center;gap:4px;padding:5px 7px;border-radius:8px;font-size:9px;font-weight:750}.editor-tool-button:hover,.editor-tool-button.active{background:#eaf3ff;color:#1677ff}.editor-tool-button.magnet.active{background:#e7fbfa;color:#089b96}.editor-tool-button:disabled,.editor-view-controls button:disabled,.editor-page-control button:disabled{opacity:.35}.editor-context-controls{display:flex;align-items:center;gap:6px;white-space:nowrap}.editor-context-controls input{width:150px;padding:7px 8px;border:1px solid #cfd6dd;border-radius:6px;font-size:10px}.editor-context-controls input.short-input{width:80px}.editor-context-controls button,.pages-panel-heading button,.cutfill-side-heading button,.selected-takeoff-actions button,.editor-plan-empty button{display:inline-flex;min-height:30px;align-items:center;justify-content:center;gap:5px;padding:6px 9px;border:0;border-radius:6px;background:#315c45;color:#fff;font-size:10px;font-weight:750}.editor-view-controls{margin-left:auto;white-space:nowrap}.editor-view-controls>button,.editor-page-control button{display:grid;width:30px;height:30px;place-items:center;border-radius:6px}.editor-zoom-value,.editor-page-control span{min-width:48px;text-align:center;color:#27342c;font-size:10px;font-weight:750}.editor-page-control{margin-right:6px;padding-right:8px;border-right:1px solid #dfe3e8}.takeoff-editor-body{display:grid;min-height:0;grid-template-columns:320px minmax(0,1fr)}.takeoff-editor-sidebar{display:flex;min-width:0;min-height:0;flex-direction:column;border-right:1px solid #dfe3e8;background:#fff}.editor-sidebar-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid #dfe3e8}.editor-sidebar-tabs button{min-height:39px;padding:8px 4px;border:0;border-bottom:2px solid transparent;background:#fff;color:#637068;font-size:10px;font-weight:750}.editor-sidebar-tabs button.active{border-bottom-color:#1677ff;color:#1769d1}.editor-sidebar-tabs button span{display:inline-grid;min-width:16px;height:16px;margin-left:3px;place-items:center;border-radius:999px;background:#eef2f5;font-size:8px}.editor-sidebar-content{min-height:0;flex:1;overflow-y:auto}.takeoff-tree-panel{display:flex;flex-direction:column}.takeoff-tree-heading{display:grid;grid-template-columns:12px minmax(0,1fr) auto 18px;align-items:center;gap:8px;padding:13px 14px 10px;border-bottom:1px solid #edf0f2}.takeoff-color-dot{width:10px;height:10px;border-radius:50%;background:#d4143f}.takeoff-tree-heading strong,.takeoff-tree-heading small,.takeoff-tree-item strong,.takeoff-tree-item small,.pages-panel-heading strong,.plan-page-item strong,.plan-page-item small,.cutfill-side-heading strong,.cutfill-side-heading small{display:block}.takeoff-tree-heading strong{font-size:12px}.takeoff-tree-heading small,.takeoff-tree-item small,.plan-page-item small,.cutfill-side-heading small{margin-top:2px;color:#7a8580;font-size:9px}.takeoff-tree-list{min-height:90px;flex:1;overflow-y:auto;padding:4px 0}.takeoff-tree-item{position:relative;display:grid;width:100%;grid-template-columns:16px 18px minmax(0,1fr);align-items:center;gap:5px;padding:9px 12px 9px 24px;border:0;border-left:3px solid transparent;background:#fff;color:#56625b;text-align:left}.takeoff-tree-item:hover,.takeoff-tree-item.selected{border-left-color:#d4143f;background:#fff5f6;color:#aa1234}.takeoff-tree-item strong{overflow:hidden;color:#3a463f;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.takeoff-tree-branch{width:12px;height:12px;border-bottom:1px solid #efb8c5;border-left:1px solid #efb8c5}.editor-panel-empty{padding:24px 18px;color:#839089;font-size:10px;line-height:1.5;text-align:center}.selected-takeoff-editor{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-top:1px solid #e4e8eb;background:#f8fafb}.selected-takeoff-title,.selected-takeoff-actions{grid-column:1 / -1}.selected-takeoff-title{display:flex;justify-content:space-between;font-size:10px}.selected-takeoff-title span{color:#1677ff;font-size:9px}.selected-takeoff-editor label,.cutfill-grid-settings label,.cutfill-row-inputs label{display:grid;gap:4px;color:#68736d;font-size:8px;font-weight:750;text-transform:uppercase}.selected-takeoff-editor input,.cutfill-grid-settings input,.cutfill-row-inputs input,.cutfill-row-title input{width:100%;min-width:0;padding:7px;border:1px solid #cfd6dd;border-radius:5px;background:#fff;font-size:10px;text-transform:none}.selected-takeoff-actions{display:flex;gap:6px}.selected-takeoff-actions button{flex:1}.selected-takeoff-actions button.delete{background:#b4233a}.takeoff-page-totals{display:grid;grid-template-columns:1fr 1fr;gap:1px;border-top:1px solid #dfe3e8;background:#dfe3e8}.takeoff-page-totals>div{padding:8px 10px;background:#f7f9fa}.takeoff-page-totals span,.takeoff-page-totals strong{display:block}.takeoff-page-totals span{color:#7b8780;font-size:8px;text-transform:uppercase}.takeoff-page-totals strong{margin-top:2px;font-size:11px}.pages-panel,.cutfill-side-panel{padding:12px}.pages-panel-heading,.cutfill-side-heading,.cutfill-row-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.plan-page-item{display:grid;width:100%;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:6px;padding:10px;border:1px solid #dfe4e8;border-radius:7px;background:#fff;color:#4c5a52;text-align:left}.plan-page-item.active{border-color:#83b7f5;background:#eef6ff;color:#1769d1}.plan-page-item strong{font-size:10px}.current-page-badge{padding:3px 6px;border-radius:999px;background:#dbeafe;font-size:8px;font-weight:800}.cutfill-grid-settings,.cutfill-row-inputs,.cutfill-side-totals{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.cutfill-grid-settings{margin-bottom:10px;padding:9px;border-radius:7px;background:#f2f5f3}.cutfill-side-list{display:grid;gap:8px}.cutfill-side-row{padding:9px;border:1px solid #dfe4e1;border-radius:7px;background:#fbfcfb}.cutfill-row-title input{font-weight:750}.cutfill-row-title button{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:5px;background:#fce9e8;color:#b4233a}.cutfill-row-inputs{grid-template-columns:repeat(3,1fr)}.cutfill-row-result{display:flex;justify-content:space-between;margin-top:8px;padding-top:7px;border-top:1px solid #e2e7e4;font-size:9px}.cutfill-side-totals{position:sticky;bottom:-12px;grid-template-columns:repeat(3,1fr);margin:12px -12px -12px;padding:10px 12px;border-top:1px solid #d8dfda;background:#fff}.cutfill-side-totals span,.cutfill-side-totals strong{display:block}.cutfill-side-totals span{color:#78847d;font-size:8px}.cutfill-side-totals strong{margin-top:2px;font-size:11px}.takeoff-editor-canvas{position:relative;display:flex;min-width:0;min-height:0;align-items:center;justify-content:center;overflow:hidden;padding:22px 24px 34px;background:#f1f2f4}.editor-plan-canvas-shell{width:100%;max-height:calc(100vh - 160px);flex:none;margin:0;border:1px solid #d8dde2;border-radius:0;background:#fff;box-shadow:0 5px 18px #131e181f}.editor-plan-empty{display:grid;place-items:center;gap:8px;color:#738079;text-align:center}.editor-canvas-hint{position:absolute;bottom:8px;left:50%;z-index:10;transform:translate(-50%);padding:6px 12px;border-radius:999px;background:#212b26e0;color:#fff;font-size:9px;font-weight:650;white-space:nowrap;pointer-events:none}.takeoff-editor-shell .saved-measurement-area{fill:#d7143f2e;stroke:#d4143f}.takeoff-editor-shell .saved-measurement-area.editor-area-measurement{fill:url(#takeoff-area-hatch)}.takeoff-hatch-line{fill:none;stroke:#d4143f7a;stroke-width:1.2}.takeoff-editor-shell .saved-measurement-line{stroke:#d4143f}.takeoff-editor-shell .measurement-group.is-selected .saved-measurement-area{fill:#1677ff3d;stroke:#1677ff}.measurement-quantity-label{pointer-events:none}.measurement-quantity-label rect{fill:#ffffffeb;stroke:#d4143f;stroke-width:1;vector-effect:non-scaling-stroke}.measurement-group.is-selected .measurement-quantity-label rect{stroke:#1677ff}.measurement-quantity-label text{fill:#8f1230;font-weight:800;text-anchor:middle}.measurement-group.is-selected .measurement-quantity-label text{fill:#165fad}.saved-measurement-perimeter{fill:none;stroke:#b85f32;stroke-width:3;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer}.measurement-group.is-selected .saved-measurement-perimeter{stroke:#315c45;filter:drop-shadow(0 0 4px rgb(49 92 69 / 45%))}.saved-count-marker{cursor:pointer}.saved-count-marker text{fill:#fff;font-weight:850;text-anchor:middle;pointer-events:none}.editor-selection-actions{display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid #dcc6bd;border-radius:9px;background:#fff5f0;color:#7d3f23;font-size:11px;white-space:nowrap}.editor-selection-actions button{display:inline-flex;min-height:31px;align-items:center;gap:5px;padding:0 9px;border:0;border-radius:7px;background:#a13f2a;color:#fff;font-weight:750}.editor-page-control select{min-width:118px;height:30px;border:0;background:#fff;color:#435249;font-size:11px;font-weight:700}.selected-count-readout{display:flex;align-items:center;justify-content:space-between;padding:8px 9px;border:1px solid #d8dfd9;border-radius:8px;background:#fff}.selected-count-readout span{color:#68756d;font-size:11px}.selected-count-readout strong{color:#315c45;font-size:18px}.editor-plan-canvas-shell:after{position:absolute;z-index:4;right:10px;bottom:10px;padding:4px 7px;border-radius:6px;background:#ffffffd6;color:#5f6d64;content:"Scroll over any spot to zoom";font-size:9px;font-weight:700;pointer-events:none}@media(max-width:1050px){.takeoff-editor-body{grid-template-columns:270px minmax(0,1fr)}.editor-scale-readout{display:none}.editor-tool-button{min-width:43px}.editor-tool-button span,.editor-text-button span{display:none}}@media(max-width:720px){.takeoff-editor-body{grid-template-columns:220px minmax(0,1fr)}.takeoff-editor-title-actions .editor-text-button{font-size:0}.takeoff-editor-title-actions .editor-text-button svg{width:17px;height:17px}}@media(max-width:900px){.takeoff-editor-shell{left:0}}.takeoff-editor-shell{grid-template-rows:56px 58px minmax(0,1fr);background:#eceee8;color:#24342b;font-family:Aptos,Segoe UI Variable,Segoe UI,sans-serif}.takeoff-editor-titlebar{gap:12px;padding:0 18px;border-color:#d7dcd4;background:#fbfcf8;box-shadow:0 4px 15px #233a2c0d}.takeoff-editor-project-name{color:#24372c;font-size:16px;font-weight:720;letter-spacing:-.015em}.takeoff-editor-project-name:hover,.takeoff-editor-project-name:focus{border-color:#bcc8be;background:#f1f4ef}.editor-icon-button,.editor-text-button,.editor-tool-button,.editor-view-controls button,.editor-page-control button{color:#59675e}.editor-icon-button:hover,.editor-text-button:hover,.editor-view-controls button:hover,.editor-page-control button:hover{background:#e6ece7;color:#315c45}.takeoff-editor-toolbar{gap:12px;padding:7px 15px;border-color:#d8ddd5;background:#f7f8f4}.editor-scale-readout{min-width:auto;padding:7px 10px;border:1px solid #c8d8cc;border-radius:10px;background:#eaf1eb;color:#315c45}.editor-tool-buttons{gap:5px;border-color:#d9ded7}.editor-tool-button{min-height:42px;border:1px solid transparent;border-radius:10px}.editor-tool-button:hover{border-color:#d1dad2;background:#edf1ec;color:#315c45}.editor-tool-button.active{border-color:#b8cabb;background:#dfe9e1;color:#315c45}.editor-tool-button.magnet.active{border-color:#b7d1ce;background:#e2efed;color:#2b7872}.editor-context-controls input{border-color:#cbd4cc;border-radius:9px;background:#fff}.editor-context-controls button,.pages-panel-heading button,.cutfill-side-heading button,.selected-takeoff-actions button,.editor-plan-empty button{border-radius:9px;background:#315c45}.takeoff-editor-body{grid-template-columns:304px minmax(0,1fr)}.takeoff-editor-sidebar{border-color:#d8ddd6;background:#fafbf8}.editor-sidebar-tabs{gap:4px;padding:7px;border-color:#dfe3dc;background:#f2f4ef}.editor-sidebar-tabs button{min-height:34px;border:1px solid transparent;border-radius:9px;background:transparent;color:#68756d}.editor-sidebar-tabs button.active{border-color:#c3d0c5;background:#fff;box-shadow:0 3px 10px #243a2c12;color:#315c45}.takeoff-color-dot{border-radius:3px;background:#b85f32}.takeoff-tree-list{padding:6px 7px}.takeoff-tree-item{grid-template-columns:19px minmax(0,1fr);gap:7px;margin:3px 0;padding:10px;border:1px solid transparent;border-left-width:1px;border-radius:9px;background:transparent}.takeoff-tree-branch{display:none}.takeoff-tree-item:hover,.takeoff-tree-item.selected{border-color:#c8d4ca;background:#e8efe9;color:#315c45}.selected-takeoff-editor{margin:5px 8px 8px;border:1px solid #d8dfd9;border-radius:10px;background:#f2f5f1}.selected-takeoff-title span{color:#315c45}.takeoff-page-totals{gap:6px;padding:8px;border-color:#dde2dc;background:#f2f4ef}.takeoff-page-totals>div{border:1px solid #e0e4df;border-radius:8px;background:#fff}.plan-page-item.active{border-color:#afc4b4;background:#e7efe9;color:#315c45}.current-page-badge{background:#d8e6db;color:#315c45}.takeoff-editor-canvas{padding:20px 22px 38px;background:linear-gradient(rgb(70 90 77 / 4%) 1px,transparent 1px),linear-gradient(90deg,rgb(70 90 77 / 4%) 1px,transparent 1px),#ecefe9;background-size:24px 24px}.editor-plan-canvas-shell{border-color:#cfd6cf;border-radius:8px;box-shadow:0 12px 30px #1f312621}.editor-canvas-hint{border:1px solid rgb(255 255 255 / 12%);border-radius:8px;background:#273c30eb;font-weight:600}.takeoff-editor-shell .saved-measurement-area{fill:#b85f3226;stroke:#b85f32}.takeoff-hatch-line{stroke:#b85f327a}.takeoff-editor-shell .saved-measurement-line,.saved-measurement-line,.draft-line{stroke:#b85f32}.saved-measurement-count{fill:#c58a2d}.measurement-group.is-selected .saved-measurement-line,.takeoff-editor-shell .measurement-group.is-selected .saved-measurement-area{stroke:#315c45;filter:drop-shadow(0 0 4px rgb(49 92 69 / 45%))}.takeoff-editor-shell .measurement-group.is-selected .saved-measurement-area{fill:#315c4538}.measurement-group.is-selected .saved-measurement-count,.measurement-edit-handle{fill:#315c45;filter:drop-shadow(0 0 4px rgb(49 92 69 / 45%))}.measurement-quantity-label rect{stroke:#b85f32}.measurement-group.is-selected .measurement-quantity-label rect{stroke:#315c45}.measurement-quantity-label text{fill:#7d3f23}.measurement-group.is-selected .measurement-quantity-label text{fill:#315c45}@media(max-width:1050px){.takeoff-editor-body{grid-template-columns:268px minmax(0,1fr)}}.terrain-module{--shell: #0b141c;--shell-raised: #111d27;--shell-soft: #162532;--shell-line: #2a3b48;--canvas: #eaf0ef;--canvas-line: #a8baba;--ink: #eef5f6;--muted: #92a5b2;--dark-ink: #17242a;--orange: #ff6a00;--orange-soft: #ff9d3d;--teal: #10b7bd;--cyan: #20c8d2;--blue: #2d6fe8;--green: #72d24b;--cut: #ff6a00;--fill: #10b7bd;--header-height: 62px;--status-height: 42px;--left-width: 252px;--right-width: 314px;color-scheme:dark}.terrain-module,.terrain-module *{box-sizing:border-box}.terrain-module{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden;background:var(--shell)}.terrain-module{color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"tnum" 1,"ss01" 1;-webkit-font-smoothing:antialiased}.terrain-module button,.terrain-module input,.terrain-module select{font:inherit}.terrain-module button{color:inherit}.terrain-module button:focus-visible,.terrain-module input:focus-visible,.terrain-module select:focus-visible{outline:2px solid var(--orange-soft);outline-offset:2px}.terrain-module.terrain-app{position:relative;display:grid;grid-template-rows:var(--header-height) minmax(0,1fr) var(--status-height);width:100vw;height:100dvh;min-height:620px;overflow:hidden;background:var(--shell)}.terrain-module .app-header{z-index:20;display:grid;grid-template-columns:var(--left-width) minmax(230px,1fr) auto minmax(275px,1fr);align-items:center;height:var(--header-height);border-bottom:1px solid var(--shell-line);background:linear-gradient(180deg,#0f1b24,#09131b);box-shadow:0 7px 24px #0000002e}.terrain-module .brand{display:flex;align-items:center;gap:10px;height:100%;padding:0 16px;border-right:1px solid var(--shell-line)}.terrain-module .app-header .brand-mark{display:grid;width:38px;height:34px;place-items:center;color:var(--orange)}.terrain-module .app-header .brand-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.terrain-module .brand-copy{display:flex;flex-direction:column;line-height:1;text-transform:uppercase}.terrain-module .brand-copy strong{color:#f4f7f7;font-size:14px;font-weight:800;letter-spacing:.06em}.terrain-module .brand-copy span{margin-top:4px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.24em}.terrain-module .project-crumb{display:flex;min-width:0;align-items:center;gap:8px;padding:0 18px;white-space:nowrap}.terrain-module .project-crumb>span{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.terrain-module .project-crumb strong{overflow:hidden;color:#f4f7f7;font-size:13px;font-weight:650;text-overflow:ellipsis}.terrain-module .project-crumb svg{flex:0 0 auto;color:#597080}.terrain-module .view-tabs{display:flex;height:36px;overflow:hidden;border:1px solid #314553;border-radius:5px;background:#0b151d}.terrain-module .view-tabs button{position:relative;min-width:86px;padding:0 14px;border:0;border-right:1px solid #263844;background:transparent;color:#9aabb5;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .14s ease,color .14s ease}.terrain-module .view-tabs button:last-child{border-right:0}.terrain-module .view-tabs button:hover{background:#132430;color:#fff}.terrain-module .view-tabs button.active{background:#172834;color:#fff}.terrain-module .view-tabs button.active:after{position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--orange);content:""}.terrain-module .header-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px;padding:0 14px}.terrain-module .icon-button,.terrain-module .avatar{display:grid;width:34px;height:34px;place-items:center;border:1px solid transparent;border-radius:4px;background:transparent;color:#9fb0ba;cursor:pointer}.terrain-module .icon-button:hover{border-color:#314553;background:#14242f;color:#fff}.terrain-module .build-button{position:relative;display:flex;height:38px;align-items:center;gap:8px;margin-left:6px;padding:0 16px;overflow:hidden;border:1px solid #ff7d21;border-radius:4px;background:linear-gradient(180deg,#ff7512,#f25d00);box-shadow:0 5px 15px #ff6a002e;color:#fff;cursor:pointer;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.terrain-module .build-button:hover{filter:brightness(1.08)}.terrain-module .build-button.is-loading:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 36%),transparent);content:"";animation:sweep .82s linear infinite}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.terrain-module .avatar{position:relative;margin-left:5px;border-color:#405361;border-radius:50%;background:#152631;color:#fff;font-size:10px;font-weight:700}.terrain-module .avatar span{position:absolute;right:-1px;bottom:1px;width:8px;height:8px;border:2px solid var(--shell);border-radius:50%;background:#4dd865}.terrain-module .workspace{position:relative;display:grid;min-height:0;grid-template-columns:var(--left-width) minmax(480px,1fr) var(--right-width)}.terrain-module .left-panel,.terrain-module .right-panel{z-index:12;display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--shell-raised)}.terrain-module .left-panel{border-right:1px solid var(--shell-line)}.terrain-module .right-panel{border-left:1px solid var(--shell-line)}.terrain-module .panel-scroll{min-height:0;flex:1;overflow-x:hidden;overflow-y:auto;scrollbar-color:#3d515e transparent;scrollbar-width:thin}.terrain-module .panel-section,.terrain-module .analysis-card,.terrain-module .property-card{border-bottom:1px solid var(--shell-line)}.terrain-module .panel-section{padding:14px 12px}.terrain-module .section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.terrain-module .section-heading>span{color:#d8e2e6;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.terrain-module .section-heading small{display:inline-flex;min-width:20px;height:18px;align-items:center;justify-content:center;padding:0 6px;border:1px solid #344955;border-radius:9px;color:#8fa2ad;font-size:9px;font-weight:700}.terrain-module .layer-row{display:grid;width:100%;min-height:52px;grid-template-columns:24px 11px minmax(0,1fr) 12px;align-items:center;gap:8px;margin-bottom:5px;padding:6px 8px;border:1px solid #2b3e4b;border-radius:4px;background:#101c25;color:#dfe7e9;cursor:pointer;text-align:left;transition:border-color .12s ease,background .12s ease}.terrain-module .layer-row:hover{border-color:#45606f;background:#14232e}.terrain-module .layer-row.active{border-color:#d25d13;background:linear-gradient(90deg,#ff6a0021,#14232e 52%);box-shadow:inset 2px 0 var(--orange)}.terrain-module .layer-row.reference{grid-template-columns:24px 16px minmax(0,1fr) 12px;margin-top:8px}.terrain-module .plan-slots-heading{display:flex;align-items:center;justify-content:space-between;margin:13px 2px 4px;color:#7f95a0;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.terrain-module .plan-slots-heading small{color:#657b87;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:8px}.terrain-module .plan-reference-row{margin-top:5px!important}.terrain-module .plan-reference-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terrain-module .plan-reference-row>b{display:grid;place-items:center}.terrain-module .layer-row>span:nth-of-type(2){display:flex;min-width:0;flex-direction:column;gap:2px}.terrain-module .layer-row strong{overflow:hidden;font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.terrain-module .layer-row small{color:#748b98;font-size:9px}.terrain-module .layer-row>b{color:#718692;font-size:15px}.terrain-module .visibility{display:grid;width:24px;height:28px;place-items:center;color:#a9bac3}.terrain-module .layer-swatch{display:block;width:10px;height:10px;border-radius:2px;box-shadow:0 0 0 1px #ffffff24}.terrain-module .layer-swatch.existing{background:var(--teal)}.terrain-module .layer-swatch.proposed{background:var(--blue)}.terrain-module .tools-section{padding-bottom:12px}.terrain-module .tool-grid{display:grid;gap:4px}.terrain-module .tool-grid button{display:grid;min-height:37px;grid-template-columns:24px minmax(0,1fr) 20px;align-items:center;gap:8px;padding:0 8px;border:1px solid transparent;border-radius:3px;background:transparent;color:#c6d1d6;cursor:pointer;text-align:left}.terrain-module .tool-grid button:hover{border-color:#314652;background:#182a35;color:#fff}.terrain-module .tool-grid button.active{border-color:#ff7820;background:linear-gradient(90deg,#ff6a0033,#ff6a0012);color:#fff;box-shadow:inset 2px 0 var(--orange)}.terrain-module .tool-grid span{font-size:11px;font-weight:560}.terrain-module .tool-grid kbd{color:#667f8c;font-family:inherit;font-size:9px;font-weight:700;text-align:right}.terrain-module .tool-grid button.active kbd{color:#ffb47e}.terrain-module .compact-settings{display:grid;gap:10px;background:#0e1921}.terrain-module .compact-settings label,.terrain-module .import-target label{display:grid;gap:5px}.terrain-module .compact-settings label>span,.terrain-module .import-target label>span{color:#8fa4af;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.terrain-module .compact-settings label>div,.terrain-module .elevation-field>div{display:flex;overflow:hidden;border:1px solid #354b58;border-radius:3px;background:#0a141b}.terrain-module .compact-settings input,.terrain-module .elevation-field input{min-width:0;height:34px;flex:1;padding:0 9px;border:0;background:transparent;color:#fff;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.terrain-module .compact-settings em,.terrain-module .elevation-field em{display:grid;width:36px;place-items:center;border-left:1px solid #354b58;color:#80949f;font-size:9px;font-style:normal;font-weight:700}.terrain-module .compact-settings select,.terrain-module .import-target select{width:100%;height:34px;padding:0 8px;border:1px solid #354b58;border-radius:3px;background:#0a141b;color:#e7edef;font-size:11px}.terrain-module .finish-command{height:34px;border:1px solid var(--orange);border-radius:3px;background:#ff6a0021;color:#ffc197;cursor:pointer;font-size:10px;font-weight:700;text-transform:capitalize}.terrain-module .data-summary dl,.terrain-module .property-list,.terrain-module .report-body-grid dl{margin:0}.terrain-module .data-summary dl>div,.terrain-module .property-list>div{display:flex;height:30px;align-items:center;justify-content:space-between;border-bottom:1px solid #253743}.terrain-module .data-summary dl>div:last-child,.terrain-module .property-list>div:last-child{border-bottom:0}.terrain-module .data-summary dt,.terrain-module .property-list dt{color:#91a3ae;font-size:10px}.terrain-module .data-summary dd,.terrain-module .property-list dd{margin:0;color:#f1f5f6;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:650}.terrain-module .left-panel-actions{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:6px;padding:9px 12px;border-top:1px solid var(--shell-line);background:#0d1820}.terrain-module .import-button,.terrain-module .export-button{display:flex;height:36px;align-items:center;justify-content:center;gap:8px;border:1px solid #617784;border-radius:3px;background:transparent;color:#e6edef;cursor:pointer;font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.terrain-module .import-button:hover,.terrain-module .export-button:hover{border-color:#8ea3ae;background:#172832}.terrain-module .canvas-shell{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--canvas);color:var(--dark-ink);isolation:isolate}.terrain-module .terrain-canvas{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none}.terrain-module .terrain-canvas.tool-pan{cursor:grab}.terrain-module .terrain-canvas.tool-contour,.terrain-module .terrain-canvas.tool-breakline,.terrain-module .terrain-canvas.tool-spot,.terrain-module .terrain-canvas.tool-boundary,.terrain-module .terrain-canvas.tool-detect{cursor:crosshair}.terrain-module .terrain-canvas.tool-delete{cursor:not-allowed}.terrain-module .uploaded-plan-reference{pointer-events:none}.terrain-module .empty-plan-state{position:absolute;z-index:6;top:50%;left:50%;display:flex;width:min(330px,calc(100% - 48px));align-items:center;flex-direction:column;padding:22px 24px;border:1px solid rgb(71 96 103 / 34%);border-radius:7px;background:#f1f7f6eb;box-shadow:0 18px 42px #1e373c24;color:#263e44;text-align:center;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.terrain-module .empty-plan-state>span{display:grid;width:46px;height:46px;place-items:center;margin-bottom:11px;border:1px solid #cf641d;border-radius:50%;background:#ff6a0017;color:#e65f08}.terrain-module .empty-plan-state strong{font-size:14px}.terrain-module .empty-plan-state small{max-width:265px;margin-top:7px;color:#687e83;font-size:9px;line-height:1.5}.terrain-module .empty-plan-state button{height:32px;margin-top:14px;padding:0 15px;border:1px solid #e45f08;border-radius:3px;background:#f46a0b;color:#fff;cursor:pointer;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.terrain-module .canvas-shell.is-tracing .tin-faces,.terrain-module .canvas-shell.is-tracing .generated-contours,.terrain-module .canvas-shell.is-tracing .surface-boundary,.terrain-module .canvas-shell.is-tracing .survey-points,.terrain-module .canvas-shell.is-tracing .drawn-line{opacity:.14;pointer-events:none}.terrain-module .canvas-shell.is-tracing .uploaded-plan-reference{opacity:.94}.terrain-module .canvas-shell.is-tracing .canvas-legend,.terrain-module .canvas-shell.is-tracing .plan-mode-switch,.terrain-module .canvas-shell.is-tracing .triangle-chip{opacity:0;pointer-events:none}.terrain-module .tin-faces polygon{cursor:pointer;transition:fill 90ms ease,stroke 90ms ease}.terrain-module .tin-faces polygon:hover{fill:#ff9a4242!important;stroke:#ff7b1f!important}.terrain-module .generated-contours line{stroke-width:1.25;opacity:.88}.terrain-module .generated-contours.existing line{stroke:#038d94}.terrain-module .generated-contours.proposed line{stroke:#285ed0}.terrain-module .generated-contours text{paint-order:stroke;stroke:#eaf0ef;stroke-width:3px;fill:#056a71;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px;font-weight:800;pointer-events:none}.terrain-module .generated-contours.proposed text{fill:#244ea8}.terrain-module .surface-boundary polygon{fill:none;stroke:#ff6a00;stroke-width:2.2;vector-effect:non-scaling-stroke}.terrain-module .surface-boundary circle{fill:#fff;stroke:#ff6a00;stroke-width:1.7;vector-effect:non-scaling-stroke}.terrain-module .drawn-line{stroke-width:2.4}.terrain-module .drawn-line.contour{stroke:#ff6a00}.terrain-module .drawn-line.breakline{stroke:#d55b0d;stroke-dasharray:9 4}.terrain-module .draft-line polyline,.terrain-module .draft-line>line{stroke:#ff6a00;stroke-width:2.2;stroke-dasharray:7 4}.terrain-module .draft-line>line{opacity:.55}.terrain-module .draft-line circle{fill:#fff;stroke:#ff6a00;stroke-width:2}.terrain-module .survey-points{cursor:move}.terrain-module .survey-points circle{fill:#f5fbfb;stroke:#21383f;stroke-width:1.4}.terrain-module .survey-points path{stroke:#1b343a;stroke-width:.9}.terrain-module .survey-points text{paint-order:stroke;stroke:#edf3f2;stroke-width:3px;fill:#20373c;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px;font-weight:700;pointer-events:none}.terrain-module .survey-points .selected circle{fill:#ff6a00;stroke:#fff;stroke-width:2.4;filter:drop-shadow(0 0 4px rgb(255 106 0 / 74%))}.terrain-module .survey-points .selected path{stroke:#fff;stroke-width:1.2}.terrain-module .detected-contour-preview polyline{stroke:#13aeb6;stroke-width:3.1;cursor:pointer;filter:drop-shadow(0 0 2px rgb(255 255 255 / 92%));pointer-events:stroke}.terrain-module .detected-contour-preview g:hover polyline,.terrain-module .detected-contour-preview g.selected polyline{stroke:#ff7512;stroke-width:4.5}.terrain-module .detected-contour-preview g.reference polyline{stroke:#ffb125;stroke-width:4.2}.terrain-module .detected-contour-preview g.disabled polyline{stroke:#75888c;stroke-dasharray:7 5;opacity:.42}.terrain-module .detected-contour-preview text{paint-order:stroke;stroke:#f7fbfa;stroke-width:4px;fill:#0a6268;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px;font-weight:800;pointer-events:none}.terrain-module .trace-sample-marker circle{fill:#ff6f0021;stroke:#ff6a00;stroke-width:2.4}.terrain-module .trace-sample-marker path{stroke:#ff6a00;stroke-width:1.4}.terrain-module .canvas-legend,.terrain-module .plan-mode-switch,.terrain-module .zoom-tools,.terrain-module .north-arrow,.terrain-module .scale-bar,.terrain-module .triangle-chip,.terrain-module .volume-banner{position:absolute;z-index:6}.terrain-module .canvas-legend{top:14px;left:14px;display:flex;gap:12px;padding:8px 10px;border:1px solid rgb(40 62 69 / 30%);border-radius:4px;background:#f9fcfce8;box-shadow:0 5px 14px #122d351a}.terrain-module .canvas-legend span{display:flex;align-items:center;gap:5px;color:#31444a;font-size:9px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.terrain-module .canvas-legend i{display:block;width:12px;height:8px;border-radius:1px}.terrain-module .canvas-legend .cut{background:var(--cut)}.terrain-module .canvas-legend .balanced{background:#a8b5b9}.terrain-module .canvas-legend .fill{background:var(--fill)}.terrain-module .plan-mode-switch{top:14px;left:50%;display:flex;overflow:hidden;border:1px solid rgb(40 62 69 / 35%);border-radius:4px;background:#f9fcfcf0;box-shadow:0 5px 14px #122d351a;transform:translate(-50%)}.terrain-module .plan-mode-switch button{height:31px;padding:0 15px;border:0;border-right:1px solid #d0dada;background:transparent;color:#5c6d73;cursor:pointer;font-size:9px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.terrain-module .plan-mode-switch button:last-child{border-right:0}.terrain-module .plan-mode-switch button.active{background:#17313a;color:#fff}.terrain-module .zoom-tools{top:50%;right:14px;display:grid;overflow:hidden;border:1px solid rgb(40 62 69 / 36%);border-radius:4px;background:#f9fcfcf0;box-shadow:0 6px 18px #122d351f;transform:translateY(-50%)}.terrain-module .zoom-tools button{display:grid;width:37px;height:37px;place-items:center;border:0;border-bottom:1px solid #d2dcdc;background:transparent;color:#263c43;cursor:pointer}.terrain-module .zoom-tools button:last-child{border-bottom:0}.terrain-module .zoom-tools button:hover,.terrain-module .zoom-tools button.active{background:#e0e9e8;color:#ff6a00}.terrain-module .north-arrow{right:19px;bottom:22px;display:flex;width:38px;height:72px;align-items:center;flex-direction:column;color:#1a3037}.terrain-module .north-arrow b{font-family:Georgia,serif;font-size:18px}.terrain-module .north-arrow span{width:2px;height:37px;background:#1a3037}.terrain-module .north-arrow i{position:absolute;top:20px;width:0;height:0;border-right:7px solid transparent;border-bottom:18px solid #1a3037;border-left:7px solid transparent}.terrain-module .scale-bar{bottom:20px;left:18px;display:grid;grid-template-columns:25px 35px 35px 35px 48px;align-items:end;color:#20353c;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:8px}.terrain-module .scale-bar span{height:9px;border-top:2px solid #20353c;border-right:1px solid #20353c;background:#20353c}.terrain-module .scale-bar span:nth-of-type(2){background:#fff}.terrain-module .scale-bar span:nth-of-type(3){background:#20353c}.terrain-module .scale-bar b{align-self:start;font-size:8px}.terrain-module .scale-bar strong{align-self:start;padding-left:7px;font-size:8px;white-space:nowrap}.terrain-module .triangle-chip{right:62px;bottom:22px;padding:6px 9px;border:1px solid rgb(38 61 67 / 24%);border-radius:3px;background:#f8fbfbe0;color:#43575d;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px;font-weight:700}.terrain-module .volume-banner{top:14px;right:14px;display:flex;align-items:flex-end;flex-direction:column;gap:2px;padding:8px 11px;border:1px solid rgb(40 62 69 / 30%);border-radius:4px;background:#f9fcfceb;box-shadow:0 5px 14px #122d351a}.terrain-module .volume-banner span{color:#d15b0c;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.terrain-module .volume-banner b{color:#273b41;font-size:10px}.terrain-module .trace-canvas-banner{position:absolute;z-index:9;top:18px;left:50%;display:grid;width:min(520px,calc(100% - 150px));min-height:58px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid #d9600f;border-radius:5px;background:#0c181ff0;box-shadow:0 12px 34px #040f1457;color:#eaf2f3;transform:translate(-50%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.terrain-module .trace-canvas-banner>span{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--orange);border-radius:50%;background:#ff6a0026;color:#ff9b55;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:800}.terrain-module .trace-canvas-banner>div{display:grid;gap:3px}.terrain-module .trace-canvas-banner strong{font-size:11px;font-weight:750}.terrain-module .trace-canvas-banner small{color:#93a8b1;font-size:8px;line-height:1.35}.terrain-module .trace-canvas-banner>button{height:28px;padding:0 10px;border:1px solid #465e69;border-radius:3px;background:transparent;color:#aabac1;cursor:pointer;font-size:8px;font-weight:700;text-transform:uppercase}.terrain-module .trace-canvas-banner.review{border-color:#1aabb2}.terrain-module .trace-canvas-banner.review>span{border-color:#16b8be;background:#10b7bd26;color:#6ae2e5}.terrain-module .trace-processing{position:absolute;z-index:10;top:50%;left:50%;display:flex;width:min(330px,calc(100% - 40px));align-items:center;flex-direction:column;gap:9px;padding:24px;border:1px solid #3f5964;border-radius:6px;background:#0a161df2;box-shadow:0 20px 60px #00000061;color:#edf4f5;text-align:center;transform:translate(-50%,-50%)}.terrain-module .trace-processing>span,.terrain-module .trace-panel-processing>span{width:30px;height:30px;border:3px solid #29454f;border-top-color:var(--orange);border-radius:50%;animation:rotate .76s linear infinite}.terrain-module .trace-processing strong{font-size:12px}.terrain-module .trace-processing small{color:#8fa3ac;font-size:8px;line-height:1.45}.terrain-module .right-panel .panel-scroll{padding:0}.terrain-module .trace-card{min-height:100%;padding:14px 12px 18px;background:linear-gradient(180deg,#13232d,#0e1921)}.terrain-module .trace-steps{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:5px;margin:2px 0 16px}.terrain-module .trace-steps>span{display:flex;align-items:center;gap:4px;color:#607985;font-size:7px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.terrain-module .trace-steps b{display:grid;width:18px;height:18px;place-items:center;border:1px solid #415762;border-radius:50%;color:#7f939d;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:7px}.terrain-module .trace-steps>i{height:1px;background:#314650}.terrain-module .trace-steps>span.done,.terrain-module .trace-steps>span.active{color:#c3d0d5}.terrain-module .trace-steps>span.done b{border-color:#18afb5;background:#10b7bd24;color:#50d8dc}.terrain-module .trace-steps>span.active b{border-color:var(--orange);background:#ff6a0024;color:#ff9b55}.terrain-module .trace-instruction,.terrain-module .trace-panel-processing{display:flex;min-height:150px;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:19px;border:1px dashed #405963;border-radius:5px;background:#0b161d;text-align:center}.terrain-module .trace-instruction>span{display:grid;width:50px;height:50px;place-items:center;border:1px solid #d66012;border-radius:50%;background:#ff6a001f;color:#ff8d3f}.terrain-module .trace-instruction>div,.terrain-module .trace-panel-processing{display:flex;align-items:center;flex-direction:column}.terrain-module .trace-instruction strong,.terrain-module .trace-panel-processing strong{color:#edf3f4;font-size:12px}.terrain-module .trace-instruction p,.terrain-module .trace-panel-processing p{max-width:235px;margin:6px 0 0;color:#8298a3;font-size:8px;line-height:1.55}.terrain-module .trace-sample-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border:1px solid #344b56;border-radius:4px;background:#0a151c}.terrain-module .trace-sample-summary>div{display:flex;min-width:0;align-items:center;gap:8px}.terrain-module .trace-sample-summary i{width:25px;height:25px;flex:0 0 auto;border:2px solid #c7d1d4;border-radius:3px;box-shadow:0 0 0 1px #1a2b34}.terrain-module .trace-sample-summary span{display:grid;min-width:0;gap:2px}.terrain-module .trace-sample-summary small{color:#6f8793;font-size:7px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.terrain-module .trace-sample-summary strong{color:#e8eef0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px}.terrain-module .trace-sample-summary button,.terrain-module .rescan-button{height:28px;padding:0 9px;border:1px solid #405862;border-radius:3px;background:transparent;color:#9bafb8;cursor:pointer;font-size:8px;font-weight:700;text-transform:uppercase}.terrain-module .trace-control-group{display:grid;gap:9px;margin-top:10px;padding:10px;border:1px solid #2d424d;border-radius:4px;background:#0812186b}.terrain-module .trace-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.terrain-module .trace-presets button{min-height:27px;padding:0 5px;border:1px solid #354c57;border-radius:3px;background:#0c1920;color:#8fa4ad;cursor:pointer;font-size:7px;font-weight:750}.terrain-module .trace-presets button:hover{border-color:#d76113;color:#f4f7f8}.terrain-module .trace-slider{display:grid;gap:5px}.terrain-module .trace-slider>span{display:flex;justify-content:space-between;color:#99abb4;font-size:8px}.terrain-module .trace-slider b{color:#e5edef;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:8px}.terrain-module .trace-slider input{width:100%;height:3px;accent-color:var(--orange)}.terrain-module .trace-slider>small{color:#607985;font-size:7px;line-height:1.4}.terrain-module .trace-option-check{display:flex;align-items:flex-start;gap:7px;padding:7px;border:1px solid #2d434d;border-radius:3px;background:#0a161d}.terrain-module .trace-option-check input{margin-top:2px;accent-color:var(--orange)}.terrain-module .trace-option-check>span{display:grid;gap:2px}.terrain-module .trace-option-check strong{color:#b8c7cc;font-size:8px}.terrain-module .trace-option-check small{color:#647c87;font-size:7px;line-height:1.35}.terrain-module .rescan-button{display:flex;align-items:center;justify-content:center;gap:6px}.terrain-module .rescan-button:hover{border-color:var(--orange);color:#f5f8f9}.terrain-module .rescan-button.has-changes{border-color:#ef6810;background:#ff6a001f;color:#ffc69e}.terrain-module .trace-result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:7px}.terrain-module .trace-result-stats span{display:grid;min-height:38px;place-items:center;gap:1px;padding:4px 2px;border:1px solid #2b424c;border-radius:3px;background:#0a161d;color:#69818d;font-size:6px;text-align:center;text-transform:uppercase}.terrain-module .trace-result-stats b{color:#d7e2e5;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px}.terrain-module .no-detected-paths{display:grid;gap:4px;margin-top:8px;padding:10px;border:1px solid #694827;border-radius:4px;background:#834b1a1a}.terrain-module .no-detected-paths strong{color:#efb17e;font-size:8px}.terrain-module .no-detected-paths span{color:#8e796a;font-size:7px;line-height:1.45}.terrain-module .trace-group-title{display:flex;align-items:center;justify-content:space-between}.terrain-module .trace-group-title span,.terrain-module .detected-list-heading>span{color:#d2dce0;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.terrain-module .trace-group-title small,.terrain-module .detected-list-heading small{color:#687f8b;font-size:7px}.terrain-module .trace-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px}.terrain-module .trace-field-pair label,.terrain-module .trace-direction{display:grid;gap:4px}.terrain-module .trace-field-pair label>span,.terrain-module .trace-direction>span{color:#718995;font-size:7px;font-weight:700;text-transform:uppercase}.terrain-module .trace-field-pair label>div,.terrain-module .selected-detected-editor>label{display:flex;overflow:hidden;border:1px solid #344b57;border-radius:3px;background:#09141a}.terrain-module .trace-field-pair input,.terrain-module .selected-detected-editor input{width:100%;min-width:0;height:31px;padding:0 7px;border:0;background:transparent;color:#eef3f4;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px}.terrain-module .trace-field-pair em,.terrain-module .selected-detected-editor em{display:grid;width:29px;flex:0 0 auto;place-items:center;border-left:1px solid #344b57;color:#708793;font-size:7px;font-style:normal;font-weight:700}.terrain-module .trace-direction select{width:100%;height:31px;padding:0 7px;border:1px solid #344b57;border-radius:3px;background:#09141a;color:#dbe5e8;font-size:8px}.terrain-module .detected-list-heading{display:grid;gap:3px;margin:13px 0 7px}.terrain-module .detected-list-heading>div{display:flex;gap:5px;margin-top:3px}.terrain-module .detected-list-heading button{padding:0;border:0;background:transparent;color:#dc762f;cursor:pointer;font-size:7px;font-weight:750;text-transform:uppercase}.terrain-module .detected-list-heading button+button:before{margin-right:5px;color:#3e5560;content:"·"}.terrain-module .detected-list{display:grid;max-height:220px;gap:3px;overflow-y:auto;padding-right:2px;scrollbar-color:#415863 transparent;scrollbar-width:thin}.terrain-module .detected-list>button{display:grid;min-height:39px;grid-template-columns:18px 22px minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 6px;border:1px solid #2c424d;border-radius:3px;background:#0b171e;color:#dce5e8;cursor:pointer;text-align:left}.terrain-module .detected-list>button:hover,.terrain-module .detected-list>button.selected{border-color:#d66317;background:#ff6a0014}.terrain-module .detected-list>button.reference{box-shadow:inset 2px 0 #ffab2e}.terrain-module .trace-check{display:grid;width:15px;height:15px;place-items:center;border:1px solid #516772;border-radius:3px;color:#fff}.terrain-module .trace-check.checked{border-color:#13afb6;background:#119ca3}.terrain-module .detected-list>button>i{width:19px;height:3px;border-radius:2px;background:#12adb4;box-shadow:0 4px #12adb4}.terrain-module .detected-list>button>span:nth-of-type(2){display:grid;min-width:0;gap:2px}.terrain-module .detected-list strong{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px}.terrain-module .detected-list small{color:#708894;font-size:7px}.terrain-module .detected-list em{padding:2px 4px;border:1px solid #b87523;border-radius:2px;color:#ffb548;font-size:6px;font-style:normal;font-weight:800}.terrain-module .selected-detected-editor{display:grid;gap:6px;margin-top:8px;padding:9px;border:1px solid #465e69;border-radius:4px;background:#13232c}.terrain-module .selected-detected-editor>div{display:flex;align-items:center;justify-content:space-between}.terrain-module .selected-detected-editor>div>span{color:#9db0b8;font-size:8px}.terrain-module .selected-detected-editor>div>button{border:0;background:transparent;color:#ff9b55;cursor:pointer;font-size:7px;font-weight:750;text-transform:uppercase}.terrain-module .trace-replace{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:9px;border:1px solid #2f4650;border-radius:4px;background:#0b171e}.terrain-module .trace-replace input{margin-top:2px;accent-color:var(--orange)}.terrain-module .trace-replace>span{display:grid;gap:2px}.terrain-module .trace-replace strong{color:#cbd7db;font-size:8px}.terrain-module .trace-replace small{color:#708894;font-size:7px;line-height:1.35}.terrain-module .trace-review-actions{display:grid;grid-template-columns:72px minmax(0,1fr);gap:6px;margin-top:10px}.terrain-module .trace-review-actions button{height:34px;border:1px solid #405863;border-radius:3px;background:transparent;color:#9baeb6;cursor:pointer;font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.terrain-module .trace-review-actions button.primary{border-color:#f16a0e;background:linear-gradient(180deg,#ff7512,#e85a00);color:#fff}.terrain-module .trace-review-actions button:disabled{border-color:#354a54;background:#263943;color:#667d87;cursor:not-allowed}.terrain-module .analysis-card,.terrain-module .property-card{padding:14px 12px}.terrain-module .analysis-card{background:linear-gradient(180deg,#13212b,#101c25)}.terrain-module .surface-compare{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:3px}.terrain-module .surface-compare button{display:grid;height:34px;grid-template-columns:10px minmax(0,1fr) 10px;align-items:center;gap:6px;padding:0 7px;border:1px solid #354a57;border-radius:3px;background:#0c171e;color:#dce5e8;cursor:pointer;text-align:left}.terrain-module .surface-compare button span{overflow:hidden;font-size:9px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.terrain-module .surface-compare button b{color:#6d828e;font-size:10px}.terrain-module .surface-compare em{color:#78909c;font-size:8px;font-style:normal;font-weight:700;text-align:center;text-transform:uppercase}.terrain-module .histogram{position:relative;height:90px;margin-top:13px;border-bottom:1px solid #435763}.terrain-module .histogram-bars{position:absolute;top:8px;right:6px;bottom:20px;left:6px;display:flex;align-items:flex-end;gap:1px}.terrain-module .histogram-bars span{min-height:4px;flex:1;border-radius:1px 1px 0 0}.terrain-module .histogram-bars .cut-bar{background:linear-gradient(180deg,#ff9b43,#ff6500)}.terrain-module .histogram-bars .fill-bar{background:linear-gradient(180deg,#46d2d5,#0ca9b0)}.terrain-module .histogram-zero{position:absolute;top:4px;bottom:18px;left:50%;width:1px;background:#eef4f5}.terrain-module .histogram-axis{position:absolute;right:2px;bottom:3px;left:2px;display:flex;justify-content:space-between;color:#7f949f;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:7px}.terrain-module .volume-totals{display:grid;grid-template-columns:1fr 1fr;margin-top:13px}.terrain-module .volume-totals>div{display:grid;gap:3px;padding:2px 4px 10px;border-right:1px solid #314550;text-align:center}.terrain-module .volume-totals>div:last-child{border-right:0}.terrain-module .volume-totals span{color:var(--cut);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.terrain-module .volume-totals>div:last-child span{color:var(--fill)}.terrain-module .volume-totals strong,.terrain-module .net-total strong{color:#f4f8f9;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:21px;line-height:1}.terrain-module .volume-totals small,.terrain-module .net-total small{color:#91a5ae;font-size:9px}.terrain-module .net-total{display:flex;align-items:center;justify-content:space-between;padding:10px 7px;border-top:1px solid #30434f}.terrain-module .net-total span{color:#9eb0b9;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.terrain-module .net-total strong{font-size:18px}.terrain-module .inspect-volumes{display:flex;width:100%;height:33px;align-items:center;justify-content:center;gap:6px;border:1px solid #39515e;border-radius:3px;background:#162732;color:#b9c8ce;cursor:pointer;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.terrain-module .inspect-volumes:hover{border-color:var(--teal);color:#fff}.terrain-module .property-card{background:#101c25}.terrain-module .property-card .section-heading button{display:grid;width:24px;height:22px;place-items:center;border:0;background:transparent;color:#778e9a;cursor:pointer}.terrain-module .coordinate-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:8px}.terrain-module .coordinate-grid label,.terrain-module .elevation-field{display:grid;gap:4px}.terrain-module .coordinate-grid label>span,.terrain-module .elevation-field>span{color:#788f9a;font-size:8px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.terrain-module .coordinate-grid input{width:100%;height:31px;padding:0 7px;border:1px solid #314651;border-radius:3px;background:#0b151d;color:#a9bac2;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:8px}.terrain-module .property-actions{display:grid;grid-template-columns:72px 1fr;gap:6px;margin-top:10px}.terrain-module .property-actions button{height:31px;border:1px solid #3a505c;border-radius:3px;background:transparent;color:#9caeb7;cursor:pointer;font-size:9px;font-weight:700;text-transform:uppercase}.terrain-module .property-actions button.primary{border-color:#e56613;background:#ff6a0021;color:#ffb27b}.terrain-module .cut-text{color:#ff8735!important}.terrain-module .fill-text{color:#2dc9cc!important}.terrain-module .display-card,.terrain-module .behavior-card{display:grid;gap:0}.terrain-module .setting-row,.terrain-module .opacity-row{display:flex;min-height:33px;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #263a45}.terrain-module .setting-row>span,.terrain-module .opacity-row>span{display:flex;align-items:center;gap:7px;color:#a6b5bd;font-size:9px}.terrain-module .toggle{position:relative;width:29px;height:16px;flex:0 0 auto;padding:0;border:1px solid #465c67;border-radius:9px;background:#263943;cursor:pointer}.terrain-module .toggle span{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#8497a0;transition:transform .14s ease,background .14s ease}.terrain-module .toggle.is-on{border-color:#139ea5;background:#10b7bd3d}.terrain-module .toggle.is-on span{background:#23cbd0;transform:translate(13px)}.terrain-module .opacity-row input{width:92px;height:3px;accent-color:var(--orange)}.terrain-module .recalculate-button{display:flex;height:43px;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;margin:9px 12px;border:1px solid var(--teal);border-radius:3px;background:#10b7bd14;color:#3ed0d4;cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.terrain-module .recalculate-button:hover{background:#10b7bd29;color:#baf8f9}.terrain-module .status-bar{z-index:25;display:grid;grid-template-columns:minmax(200px,1.15fr) .75fr 1.5fr .55fr .75fr;height:var(--status-height);border-top:1px solid var(--shell-line);background:#09131a;box-shadow:0 -5px 18px #00000029}.terrain-module .status-bar>div{display:flex;align-items:center;justify-content:center;gap:18px;border-right:1px solid #2b3d48;color:#9fb0b8;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px}.terrain-module .status-bar>div:last-child{border-right:0}.terrain-module .status-ready{justify-content:flex-start!important;padding-left:18px}.terrain-module .status-ready>span{display:grid;width:23px;height:23px;place-items:center;border:1px solid #64dd5b;border-radius:50%;color:#73e56b}.terrain-module .status-ready>span.pulse{border-color:var(--orange);color:var(--orange);animation:rotate .9s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.terrain-module .status-ready strong{color:#79df62;font-family:inherit;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.terrain-module .coordinates span{white-space:nowrap}.terrain-module .snap-status b{color:#6edd61;text-transform:uppercase}.terrain-module .terrain-3d-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#d8e3e2}.terrain-module .terrain-3d{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.terrain-module .terrain-3d:active{cursor:grabbing}.terrain-module .orientation-cube{position:absolute;top:18px;right:18px;display:grid;width:62px;height:62px;place-items:center;border:1px solid rgb(30 57 64 / 36%);border-radius:5px;background:#fcfefed4;box-shadow:0 6px 18px #142d331f;color:#243b42;transform:rotate(7deg)}.terrain-module .orientation-cube span{position:absolute;top:7px;color:#72868c;font-size:7px;font-weight:800}.terrain-module .orientation-cube b{font-family:Georgia,serif;font-size:22px}.terrain-module .terrain-hint{position:absolute;top:18px;left:18px;padding:8px 10px;border:1px solid rgb(30 57 64 / 24%);border-radius:4px;background:#fcfefed1;color:#40575d;font-size:9px;font-weight:650}.terrain-module .exaggeration-control{position:absolute;right:18px;bottom:18px;display:grid;width:240px;grid-template-columns:1fr 92px 38px;align-items:center;gap:10px;padding:9px 11px;border:1px solid rgb(30 57 64 / 28%);border-radius:4px;background:#fcfefee5;box-shadow:0 6px 18px #142d331f;color:#30474e;font-size:8px;font-weight:700}.terrain-module .exaggeration-control input{width:100%;accent-color:var(--orange)}.terrain-module .exaggeration-control b{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px}.terrain-module .report-view{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;overflow:auto;align-items:center;flex-direction:column;gap:13px;padding:24px;background:#cfdad9}.terrain-module .report-page{width:min(720px,100%);min-height:540px;padding:34px 38px 28px;border:1px solid #b4c1c0;background:#fff;box-shadow:0 16px 44px #142d332e;color:#1b2d33}.terrain-module .report-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding-bottom:22px;border-bottom:2px solid #172d34}.terrain-module .report-title-row small{color:#df5c06;font-size:8px;font-weight:800;letter-spacing:.14em}.terrain-module .report-title-row h1{margin:7px 0 3px;font-size:27px;line-height:1.1;letter-spacing:-.025em}.terrain-module .report-title-row p{margin:0;color:#718287;font-size:10px}.terrain-module .report-title-row .brand-mark{width:50px;height:42px;color:#ec640a}.terrain-module .report-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin:20px 0;border:1px solid #d2dcdb}.terrain-module .report-metrics article{display:grid;gap:6px;padding:15px 18px;border-right:1px solid #d2dcdb}.terrain-module .report-metrics article:last-child{border-right:0}.terrain-module .report-metrics span{color:#687b81;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.terrain-module .report-metrics strong{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:24px}.terrain-module .report-metrics article:first-child strong{color:#db5b08}.terrain-module .report-metrics article:nth-child(2) strong{color:#079ca3}.terrain-module .report-metrics small{color:#7b8d92;font-size:9px}.terrain-module .report-body-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.terrain-module .report-body-grid section{padding:14px;border:1px solid #d7dfde}.terrain-module .report-body-grid h2{margin:0 0 10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.terrain-module .report-body-grid dl>div{display:flex;min-height:27px;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e8e7}.terrain-module .report-body-grid dl>div:last-child{border-bottom:0}.terrain-module .report-body-grid dt{color:#718287;font-size:9px}.terrain-module .report-body-grid dd{margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px;font-weight:700}.terrain-module .report-note{display:flex;align-items:flex-start;gap:10px;margin-top:20px;padding:12px 14px;border-left:3px solid #1bb66a;background:#eff9f3;color:#49605a;font-size:9px;line-height:1.6}.terrain-module .report-note svg{flex:0 0 auto;color:#17a55f}.terrain-module .report-note strong{color:#203e32}.terrain-module .report-footer{display:flex;justify-content:space-between;margin-top:27px;padding-top:10px;border-top:1px solid #d9e1e0;color:#819095;font-size:8px}.terrain-module .report-actions{display:flex;width:min(720px,100%);justify-content:flex-end;gap:8px}.terrain-module .report-actions button{height:36px;padding:0 18px;border:1px solid #6c8186;border-radius:3px;background:#f4f8f7;color:#31464b;cursor:pointer;font-size:9px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.terrain-module .report-actions button.primary{border-color:#e76006;background:#f3690d;color:#fff}.terrain-module .modal-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#02080cb8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.terrain-module .import-modal{width:min(510px,100%);padding:22px;border:1px solid #3d515d;border-radius:6px;background:#111e27;box-shadow:0 30px 90px #0000007a}.terrain-module .modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.terrain-module .modal-heading small{color:var(--orange);font-size:8px;font-weight:800;letter-spacing:.14em}.terrain-module .modal-heading h2{margin:5px 0 0;color:#f1f6f7;font-size:19px;letter-spacing:-.02em}.terrain-module .modal-heading>button{display:grid;width:32px;height:32px;place-items:center;border:1px solid #344a56;border-radius:3px;background:transparent;color:#92a5af;cursor:pointer}.terrain-module .import-target{margin-bottom:12px}.terrain-module .surface-slot-note{overflow:hidden;color:#6f8793;font-size:8px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.terrain-module .drop-zone{display:flex;width:100%;min-height:215px;align-items:center;justify-content:center;flex-direction:column;padding:24px;border:1px dashed #536c79;border-radius:5px;background:#0c171f;color:#e0e8eb;cursor:pointer;text-align:center;transition:border-color .12s ease,background .12s ease}.terrain-module .drop-zone:hover{border-color:var(--orange);background:#12212b}.terrain-module .drop-zone>span{display:grid;width:48px;height:48px;place-items:center;margin-bottom:12px;border:1px solid #405763;border-radius:50%;color:var(--orange)}.terrain-module .drop-zone strong{font-size:13px}.terrain-module .drop-zone p{margin:7px 0 10px;color:#8fa3ad;font-size:10px}.terrain-module .drop-zone small{max-width:360px;color:#647c88;font-size:8px;line-height:1.5}.terrain-module .import-help{display:flex;align-items:flex-start;gap:8px;margin-top:12px;color:#8297a2;font-size:8px;line-height:1.5}.terrain-module .import-help svg{flex:0 0 auto;color:#4fa9b0}.terrain-module .toast{position:fixed;z-index:120;bottom:58px;left:50%;display:flex;min-height:40px;align-items:center;gap:9px;padding:7px 15px 7px 8px;border:1px solid #3b5260;border-radius:5px;background:#0e1b24;box-shadow:0 12px 38px #00000059;color:#dfe8eb;font-size:10px;font-weight:650;transform:translate(-50%);animation:toast-in .18s ease-out}.terrain-module .toast span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#5bda5b1f;color:#6cdb67}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.terrain-module .visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.terrain-module .project-crumb{height:100%;border:0;background:transparent;cursor:pointer;text-align:left}.terrain-module .project-crumb:hover{background:#13222c}.terrain-module .project-crumb i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px #ff6a001f}.terrain-module .save-project-button{display:flex;height:34px;align-items:center;gap:7px;padding:0 11px;border:1px solid #3f5865;border-radius:4px;background:#14242e;color:#d9e4e7;cursor:pointer;font-size:9px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.terrain-module .save-project-button:hover{border-color:#718b97;background:#192d38}.terrain-module .save-project-button:disabled{cursor:wait;opacity:.65}.terrain-module .terrain-canvas.tool-scale{cursor:crosshair}.terrain-module .editable-line .drawn-line{cursor:pointer;transition:stroke-width .12s ease,filter .12s ease}.terrain-module .editable-line .drawn-line:hover,.terrain-module .editable-line.selected .drawn-line{stroke:#ff7b18;stroke-width:3.7;filter:drop-shadow(0 0 3px rgb(255 106 0 / 55%))}.terrain-module .line-vertex{fill:#fff;stroke:#ff6a00;stroke-width:2;cursor:move}.terrain-module .line-vertex.selected{fill:#ff6a00;stroke:#fff;stroke-width:2.4}.terrain-module .scale-calibration-line line{stroke:#f05f00;stroke-width:2.5;stroke-dasharray:8 4}.terrain-module .scale-calibration-line circle{fill:#fff;stroke:#f05f00;stroke-width:2.5}.terrain-module .scale-calibration-line text{fill:#923d05;paint-order:stroke;stroke:#f3f7f6;stroke-width:4px;font-size:12px;font-weight:800}.terrain-module .calibration-card,.terrain-module .selected-line-card,.terrain-module .plan-setup-card{padding:14px 12px}.terrain-module .calibration-progress{display:grid;gap:5px;margin-bottom:12px}.terrain-module .calibration-progress span{padding:6px 8px;border-left:2px solid #324853;background:#0d1820;color:#718894;font-size:9px}.terrain-module .calibration-progress span.active{border-color:var(--orange);color:#f4c19f}.terrain-module .calibration-progress span.done{border-color:var(--teal);color:#91dadd}.terrain-module .measured-plan-distance{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:8px;border:1px solid #2b404b;border-radius:3px;background:#0b161d}.terrain-module .measured-plan-distance span{color:#7f95a0;font-size:8px;text-transform:uppercase}.terrain-module .measured-plan-distance strong{color:#fff;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px}.terrain-module .card-instruction{margin:0;color:#8da1ab;font-size:9px;line-height:1.6}.terrain-module .line-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:10px}.terrain-module .line-edit-actions button{display:flex;min-height:31px;align-items:center;justify-content:center;gap:5px;border:1px solid #3a505c;border-radius:3px;background:#0c171e;color:#adbec5;cursor:pointer;font-size:8px;font-weight:700;text-transform:uppercase}.terrain-module .line-edit-actions button:hover{border-color:#697f8a;color:#fff}.terrain-module .line-edit-actions button.danger{border-color:#704138;color:#ff9e88}.terrain-module .property-help{display:block;margin-top:9px;color:#6f8792;font-size:8px;line-height:1.5}.terrain-module .plan-source-status{display:flex;gap:9px;margin-bottom:12px;padding:9px;border:1px solid #2c424d;border-radius:4px;background:#0d1820}.terrain-module .plan-source-status>span{display:grid;width:27px;height:27px;flex:0 0 auto;place-items:center;border-radius:50%}.terrain-module .plan-source-status>span.vector{background:#10b7bd26;color:#57d6d9}.terrain-module .plan-source-status>span.raster{background:#ff6a0024;color:#ff9f5e}.terrain-module .plan-source-status>div{display:grid;gap:3px}.terrain-module .plan-source-status strong{color:#e6eef0;font-size:9px}.terrain-module .plan-source-status small{color:#718995;font-size:8px;line-height:1.45}.terrain-module .alignment-slider{display:grid;gap:5px;margin:10px 0}.terrain-module .alignment-slider>span{display:flex;justify-content:space-between;color:#8ba0aa;font-size:8px;font-weight:700;text-transform:uppercase}.terrain-module .alignment-slider b{color:#dce7ea;font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:600}.terrain-module .alignment-slider input{width:100%;accent-color:var(--orange)}.terrain-module .alignment-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:9px 0}.terrain-module .alignment-pair label{display:grid;gap:4px}.terrain-module .alignment-pair span{color:#778e99;font-size:8px;font-weight:700;text-transform:uppercase}.terrain-module .alignment-pair input{width:100%;height:30px;padding:0 7px;border:1px solid #314752;border-radius:3px;background:#0a151c;color:#edf4f5;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px}.terrain-module .plan-setup-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:6px;margin-top:9px}.terrain-module .plan-setup-actions button{display:flex;min-height:31px;align-items:center;justify-content:center;gap:5px;border:1px solid #3a505c;border-radius:3px;background:#0d1820;color:#9fb1b9;cursor:pointer;font-size:8px;font-weight:700}.terrain-module .plan-setup-actions button:last-child{border-color:#cf5d13;color:#ffb27c}.terrain-module .plan-setup-actions button.calibrated{border-color:#2b7d70;color:#74d8c9}.terrain-module .section-heading small.ready{border-color:#28756b;color:#67d2c1}.terrain-module .section-heading small.needs-work{border-color:#91502b;color:#ff9d61}.terrain-module .model-warning{display:flex;width:100%;align-items:flex-start;gap:8px;margin:9px 0;padding:8px;border:1px solid #6e452e;border-radius:4px;background:#ff6a0014;color:#ffad79;cursor:pointer;text-align:left}.terrain-module .model-warning>svg{flex:0 0 auto}.terrain-module .model-warning span{display:grid;gap:3px}.terrain-module .model-warning strong{color:#ffd0af;font-size:8px;text-transform:uppercase}.terrain-module .model-warning small{color:#b58f79;font-size:7px;line-height:1.45}.terrain-module .report-note.warning{border-color:#e0a377;background:#fff4eb}.terrain-module .report-note.warning svg{color:#dc6410}.terrain-module .report-note.warning strong{color:#803a0d}.terrain-module .project-modal{width:min(690px,100%);max-height:min(760px,calc(100dvh - 40px));overflow:auto;padding:22px;border:1px solid #3d515d;border-radius:6px;background:#111e27;box-shadow:0 30px 90px #00000085}.terrain-module .project-name-editor{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.terrain-module .project-name-editor label{display:grid;gap:5px}.terrain-module .project-name-editor label>span{color:#8398a2;font-size:8px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.terrain-module .project-name-editor input{width:100%;height:38px;padding:0 10px;border:1px solid #3a505c;border-radius:4px;background:#0b161d;color:#f1f6f7;font-size:12px;font-weight:650}.terrain-module .project-name-editor button{display:flex;height:38px;align-items:center;gap:7px;padding:0 14px;border:1px solid #ef721b;border-radius:4px;background:#ed6407;color:#fff;cursor:pointer;font-size:9px;font-weight:800;text-transform:uppercase}.terrain-module .project-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0 19px}.terrain-module .project-quick-actions button{display:flex;min-height:36px;align-items:center;justify-content:center;gap:6px;border:1px solid #354b57;border-radius:4px;background:#0d1921;color:#aebec5;cursor:pointer;font-size:8px;font-weight:700;text-transform:uppercase}.terrain-module .project-quick-actions button:hover{border-color:#657e8a;color:#fff}.terrain-module .saved-projects-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:#dce6e9;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.terrain-module .saved-projects-heading small{display:grid;min-width:20px;height:18px;place-items:center;border:1px solid #3a505c;border-radius:10px;color:#8197a2}.terrain-module .saved-project-list{display:grid;max-height:330px;gap:5px;overflow-y:auto}.terrain-module .saved-project-list>div{position:relative;display:grid;grid-template-columns:1fr 34px;border:1px solid #2f4450;border-radius:4px;background:#0d1820}.terrain-module .saved-project-list>div.active{border-color:#d35e13;background:linear-gradient(90deg,#ff6a001a,#0d1820)}.terrain-module .saved-project-list>div>button:first-child{display:flex;min-width:0;min-height:52px;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border:0;background:transparent;color:#dae5e8;cursor:pointer;text-align:left}.terrain-module .saved-project-list button>span{display:grid;min-width:0;gap:4px}.terrain-module .saved-project-list strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.terrain-module .saved-project-list small{color:#708792;font-size:8px}.terrain-module .saved-project-list em{color:#ff9d5c;font-size:7px;font-style:normal;font-weight:800;letter-spacing:.08em}.terrain-module .saved-project-list .delete-project{display:grid;place-items:center;border:0;border-left:1px solid #2e424d;background:transparent;color:#738a95;cursor:pointer}.terrain-module .saved-project-list .delete-project:hover{background:#d948341a;color:#ff927f}.terrain-module .no-saved-projects{display:flex!important;min-height:126px;align-items:center;justify-content:center;grid-template-columns:none!important;flex-direction:column;gap:6px;padding:20px;color:#607884;text-align:center}.terrain-module .no-saved-projects strong{color:#9db0b9}.terrain-module .no-saved-projects span{max-width:300px;font-size:8px;line-height:1.5}.terrain-module .project-storage-note{display:flex;align-items:flex-start;gap:8px;margin-top:13px;padding:9px;border:1px solid #2e4551;border-radius:4px;background:#0b171e;color:#79909b;font-size:8px;line-height:1.55}.terrain-module .project-storage-note svg{flex:0 0 auto;color:#42b8bd}.terrain-module .last-saved{margin-top:8px;color:#637c88;font-size:8px;text-align:right}@media(max-width:1280px){.terrain-module{--left-width: 224px;--right-width: 286px}.terrain-module .app-header{grid-template-columns:var(--left-width) minmax(180px,1fr) auto minmax(240px,1fr)}.terrain-module .view-tabs button{min-width:74px;padding:0 10px;font-size:10px}.terrain-module .project-crumb>span,.terrain-module .header-actions .icon-button{display:none}.terrain-module .surface-compare{grid-template-columns:1fr}.terrain-module .surface-compare em{display:none}.terrain-module .volume-totals strong{font-size:18px}}@media(max-width:1040px){.terrain-module{--left-width: 208px;--right-width: 0px}.terrain-module .workspace{grid-template-columns:var(--left-width) minmax(0,1fr)}.terrain-module .right-panel{display:none}.terrain-module .app-header{grid-template-columns:var(--left-width) minmax(140px,1fr) auto auto}.terrain-module .view-tabs button:nth-child(3),.terrain-module .view-tabs button:nth-child(4){display:none}.terrain-module .project-crumb strong{max-width:170px}.terrain-module .status-bar{grid-template-columns:1.2fr .7fr 1.2fr .6fr}.terrain-module .snap-status{display:none!important}}@media(max-width:760px){.terrain-module{--header-height: 54px;--status-height: 36px;--left-width: 0px}.terrain-module.terrain-app{min-height:520px}.terrain-module .app-header{grid-template-columns:52px minmax(0,1fr) auto}.terrain-module .brand{justify-content:center;padding:0;border-right:1px solid var(--shell-line)}.terrain-module .brand-copy,.terrain-module .project-crumb>span,.terrain-module .project-crumb svg{display:none}.terrain-module .project-crumb{padding:0 10px}.terrain-module .project-crumb strong{max-width:none;font-size:11px}.terrain-module .view-tabs{height:32px}.terrain-module .view-tabs button{min-width:52px;padding:0 8px;font-size:8px}.terrain-module .header-actions{padding:0 7px}.terrain-module .build-button{width:35px;height:34px;justify-content:center;padding:0}.terrain-module .build-button span,.terrain-module .avatar,.terrain-module .save-project-button{display:none}.terrain-module .workspace{grid-template-columns:1fr}.terrain-module .left-panel,.terrain-module .plan-mode-switch{display:none}.terrain-module .canvas-legend{top:8px;left:8px;gap:8px}.terrain-module .zoom-tools{right:8px}.terrain-module .north-arrow{right:12px;bottom:10px}.terrain-module .triangle-chip{right:54px;bottom:12px}.terrain-module .scale-bar{bottom:11px;left:10px}.terrain-module .status-bar{grid-template-columns:1.5fr .8fr}.terrain-module .status-bar>div:nth-child(3),.terrain-module .status-bar>div:nth-child(4),.terrain-module .status-bar>div:nth-child(5){display:none}.terrain-module .status-ready{padding-left:10px}.terrain-module .status-ready strong{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terrain-module .report-view{padding:12px;align-items:flex-start}.terrain-module .report-page{min-width:620px}.terrain-module .project-modal{padding:16px}.terrain-module .project-name-editor{grid-template-columns:1fr}.terrain-module .project-name-editor button{justify-content:center}.terrain-module .project-quick-actions{grid-template-columns:1fr}}.terrain-module .terrain-view-switch{display:flex;z-index:20}.terrain-module .save-quantities-button{display:inline-flex;height:34px;align-items:center;gap:7px;padding:0 11px;border:1px solid #b7c8ba;border-radius:8px;background:#e6efe8;color:#315c45;font-size:10px;font-weight:800}.terrain-module .save-quantities-button:hover{border-color:#8eaa95;background:#dce9df}.terrain-module .terrain-plan-foundation{filter:saturate(.7) contrast(.92) drop-shadow(0 8px 8px rgb(19 44 34 / 25%));pointer-events:none}.terrain-module .terrain-3d polygon{transition:fill .12s ease,stroke .12s ease}.terrain-module .terrain-3d-zoom{position:absolute;top:96px;right:18px;display:grid;overflow:hidden;grid-template-columns:34px 54px 34px 42px;align-items:center;border:1px solid rgb(30 57 64 / 32%);border-radius:8px;background:#fcfefee8;box-shadow:0 6px 18px #142d331f;color:#294239}.terrain-module .terrain-3d-zoom button,.terrain-module .terrain-3d-zoom strong{display:grid;min-height:34px;place-items:center;margin:0;border:0;border-right:1px solid #d2dcda;background:transparent;color:inherit;font-size:11px}.terrain-module .terrain-3d-zoom button:last-child{border-right:0}.terrain-module .terrain-3d-zoom button:hover{background:#e4eee8;color:#315c45}.terrain-module .terrain-elevation-key{position:absolute;bottom:20px;left:18px;display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid rgb(30 57 64 / 24%);border-radius:7px;background:#fcfefee0;color:#40575d;font-size:10px;font-weight:700}.terrain-module .terrain-elevation-key i{width:105px;height:9px;border-radius:999px;background:linear-gradient(90deg,#2a844b,#63bc2f,#dfd049)}.terrain-module .editable-line:not(.selected) .drawn-line{opacity:.38}.terrain-module .terrain-canvas.tool-contour .editable-line,.terrain-module .terrain-canvas.tool-breakline .editable-line,.terrain-module .terrain-canvas.tool-boundary .editable-line,.terrain-module .terrain-canvas.tool-contour .tin-faces,.terrain-module .terrain-canvas.tool-breakline .tin-faces,.terrain-module .terrain-canvas.tool-boundary .tin-faces{pointer-events:none}.terrain-module .terrain-canvas.tool-contour .editable-line,.terrain-module .terrain-canvas.tool-breakline .editable-line,.terrain-module .terrain-canvas.tool-boundary .editable-line{opacity:.24}.terrain-module .analysis-waiting,.terrain-module .volume-empty-state{display:grid;gap:5px;padding:12px;border:1px dashed #c0cec3;border-radius:9px;background:#f3f6f2;color:#66736b}.terrain-module .analysis-waiting strong,.terrain-module .volume-empty-state strong{color:#34483b;font-size:11px}.terrain-module .analysis-waiting span,.terrain-module .volume-empty-state span{font-size:10px;line-height:1.45}.terrain-module .volume-empty-state{position:absolute;z-index:10;top:50%;left:50%;width:min(360px,calc(100% - 40px));padding:20px;background:#fafcf9f0;box-shadow:0 12px 34px #1f312626;text-align:center;transform:translate(-50%,-50%)}.terrain-module .terrain-toolbar-tools button,.terrain-module .terrain-sidebar-tabs button,.terrain-module .view-tabs button,.terrain-module .layer-row strong,.terrain-module .section-heading>span,.terrain-module .status-ready strong,.terrain-module .plan-mode-switch button{font-size:10px}.terrain-module .layer-row small,.terrain-module .empty-plan-state small,.terrain-module .property-help,.terrain-module .card-instruction,.terrain-module .setting-row,.terrain-module .opacity-row,.terrain-module .data-summary dt,.terrain-module .data-summary dd{font-size:9px}@media(max-width:760px){.terrain-module .save-quantities-button{font-size:0;width:34px;padding:0;justify-content:center}.terrain-module .terrain-3d-zoom{right:8px}}@media(prefers-reduced-motion:reduce){.terrain-module *,.terrain-module *:before,.terrain-module *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.terrain-module{overflow:visible;background:#fff}.terrain-module .app-header,.terrain-module .left-panel,.terrain-module .right-panel,.terrain-module .status-bar,.terrain-module .report-actions{display:none!important}.terrain-module.terrain-app,.terrain-module .workspace,.terrain-module .canvas-shell,.terrain-module .report-view{display:block;width:auto;height:auto;min-height:0;overflow:visible;background:#fff}.terrain-module .report-page{width:100%;min-height:0;border:0;box-shadow:none}}.terrain-module.terrain-app{width:100%;min-width:0;min-height:620px}.terrain-module .send-takeoff-button{width:100%;min-height:34px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:8px;border:1px solid #29969b;border-radius:4px;background:linear-gradient(180deg,#149da3,#0b7e84);color:#fff;cursor:pointer;font-size:9px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.terrain-module .send-takeoff-button:hover{border-color:#4dd5d9;background:linear-gradient(180deg,#17adb4,#0b8b91)}.terrain-module .send-takeoff-button:disabled{cursor:not-allowed;filter:grayscale(.45);opacity:.5}.terrain-module{--shell: #f3f2ed;--shell-raised: #ffffff;--shell-soft: #eef1ec;--shell-line: #dfe1dc;--canvas: #edf2ef;--canvas-line: #a8b8af;--ink: #1c2821;--muted: #68736d;--dark-ink: #17241d;--orange: #315c45;--orange-soft: #668371;--teal: #2d7c74;--cyan: #438d88;--blue: #4d7194;--green: #3d8a59;--cut: #d97706;--fill: #2f7f86;color-scheme:light}.terrain-module.terrain-app{background:#f3f2ed;color:#1c2821}.terrain-module .app-header{border-color:#dfe1dc;background:#fffffff7;box-shadow:0 5px 18px #1f372a12}.terrain-module .terrain-module-title{border:0;border-right:1px solid #dfe1dc;background:#f8faf7;cursor:pointer;text-align:left}.terrain-module .terrain-module-title:hover{background:#eef3ee}.terrain-module .brand-mark{width:31px;height:31px;border-radius:9px;background:#315c45;color:#fff}.terrain-module .brand-mark svg{width:18px;height:18px}.terrain-module .brand-copy{text-transform:none}.terrain-module .brand-copy strong{color:#243b2f;font-size:12px;letter-spacing:-.01em}.terrain-module .brand-copy span{color:#708078;font-size:8px;letter-spacing:.08em;text-transform:uppercase}.terrain-module .project-crumb:hover{background:#f3f6f2}.terrain-module .project-crumb>span,.terrain-module .project-crumb svg{color:#758179}.terrain-module .project-crumb strong{color:#27372e}.terrain-module .view-tabs{border-color:#d1d8d2;border-radius:8px;background:#f1f3ef}.terrain-module .view-tabs button{border-color:#d9dfda;color:#66736b}.terrain-module .view-tabs button:hover{background:#e9eeea;color:#294635}.terrain-module .view-tabs button.active{background:#fff;color:#315c45;box-shadow:0 2px 8px #26433314}.terrain-module .view-tabs button.active:after{background:#315c45}.terrain-module .icon-button,.terrain-module .avatar{border-color:transparent;color:#59685f}.terrain-module .icon-button:hover{border-color:#d6ddd7;background:#edf1ed;color:#315c45}.terrain-module .avatar{border-color:#cbd8ce;background:#e5eee7;color:#315c45}.terrain-module .avatar span{border-color:#fff;background:#3d8a59}.terrain-module .save-project-button,.terrain-module .build-button,.terrain-module .send-takeoff-button{border-color:#315c45;border-radius:8px;background:#315c45;color:#fff;box-shadow:0 5px 14px #315c4529}.terrain-module .save-project-button:hover,.terrain-module .build-button:hover,.terrain-module .send-takeoff-button:hover{border-color:#274b38;background:#274b38;color:#fff}.terrain-module .left-panel,.terrain-module .right-panel{border-color:#dfe1dc;background:#fffffff5;color:#27372e}.terrain-module .panel-section,.terrain-module .analysis-card,.terrain-module .property-card{border-color:#e3e7e2;background:#fff}.terrain-module .section-heading>span,.terrain-module .plan-slots-heading,.terrain-module .saved-projects-heading,.terrain-module .trace-group-title span,.terrain-module .detected-list-heading>span{color:#4b5b52}.terrain-module .section-heading small,.terrain-module .plan-slots-heading small,.terrain-module .saved-projects-heading small{border-color:#d5ddd6;color:#748078}.terrain-module .layer-row{border-color:#e1e6e1;border-radius:8px;background:#f8faf7;color:#26382e}.terrain-module .layer-row:hover{border-color:#bac9bd;background:#f0f4ef}.terrain-module .layer-row.active{border-color:#a9c0af;background:#eaf1eb;box-shadow:inset 3px 0 #315c45}.terrain-module .layer-row strong,.terrain-module .layer-row>b,.terrain-module .plan-reference-row>b{color:#26382e}.terrain-module .layer-row small,.terrain-module .plan-reference-row small,.terrain-module .surface-slot-note{color:#76827a}.terrain-module .visibility,.terrain-module .tool-grid button{color:#65736a}.terrain-module .tool-grid button:hover{background:#edf2ed;color:#315c45}.terrain-module .tool-grid button.active{background:#e8f0e9;color:#315c45;box-shadow:inset 3px 0 #315c45}.terrain-module .tool-grid kbd{border-color:#d8dfd9;background:#f4f6f3;color:#7b867f}.terrain-module .compact-settings,.terrain-module .left-panel-actions,.terrain-module .calibration-progress span,.terrain-module .measured-plan-distance,.terrain-module .plan-source-status,.terrain-module .selected-detected-editor,.terrain-module .trace-instruction,.terrain-module .trace-panel-processing,.terrain-module .trace-control-group,.terrain-module .trace-option-check,.terrain-module .trace-replace,.terrain-module .trace-result-stats span{border-color:#dfe5df;background:#f7f9f6;color:#34483b}.terrain-module .compact-settings label>div,.terrain-module .elevation-field>div,.terrain-module .trace-field-pair label>div,.terrain-module .selected-detected-editor>label{border-color:#ccd6ce;background:#fff}.terrain-module .compact-settings input,.terrain-module .elevation-field input,.terrain-module .compact-settings select,.terrain-module .import-target select,.terrain-module .trace-field-pair input,.terrain-module .selected-detected-editor input,.terrain-module .trace-direction select,.terrain-module .coordinate-grid input,.terrain-module .alignment-pair input{border-color:#ccd6ce;background:#fff;color:#26382e}.terrain-module .compact-settings label>span,.terrain-module .import-target label>span,.terrain-module .coordinate-grid label>span,.terrain-module .elevation-field>span,.terrain-module .alignment-pair span,.terrain-module .trace-field-pair label>span,.terrain-module .trace-direction>span{color:#6b786f}.terrain-module .data-summary dl>div,.terrain-module .property-list>div,.terrain-module .setting-row,.terrain-module .opacity-row,.terrain-module .net-total,.terrain-module .volume-totals>div{border-color:#e1e6e1}.terrain-module .data-summary dt,.terrain-module .property-list dt,.terrain-module .setting-row>span,.terrain-module .opacity-row>span,.terrain-module .net-total span{color:#66736b}.terrain-module .data-summary dd,.terrain-module .property-list dd,.terrain-module .volume-totals strong,.terrain-module .net-total strong,.terrain-module .measured-plan-distance strong,.terrain-module .plan-source-status strong,.terrain-module .alignment-slider b{color:#24372c}.terrain-module .left-panel-actions{border-color:#dfe5df;background:#fafbf9}.terrain-module .import-button,.terrain-module .export-button,.terrain-module .line-edit-actions button,.terrain-module .plan-setup-actions button,.terrain-module .property-actions button,.terrain-module .inspect-volumes,.terrain-module .rescan-button,.terrain-module .trace-review-actions button{border-color:#cbd6cd;border-radius:7px;background:#fff;color:#526159}.terrain-module .import-button:hover,.terrain-module .export-button:hover,.terrain-module .line-edit-actions button:hover,.terrain-module .plan-setup-actions button:hover,.terrain-module .inspect-volumes:hover,.terrain-module .rescan-button:hover{border-color:#93aa99;background:#edf3ee;color:#315c45}.terrain-module .finish-command,.terrain-module .property-actions button.primary,.terrain-module .trace-review-actions button.primary,.terrain-module .project-name-editor button,.terrain-module .report-actions button.primary{border-color:#315c45;background:#315c45;color:#fff}.terrain-module .analysis-card{background:#fbfcfa}.terrain-module .surface-compare button,.terrain-module .detected-list>button{border-color:#d8dfd9;background:#fff;color:#2d3e34}.terrain-module .surface-compare button b,.terrain-module .surface-compare em,.terrain-module .histogram-axis,.terrain-module .volume-totals small,.terrain-module .net-total small,.terrain-module .property-help,.terrain-module .card-instruction,.terrain-module .plan-source-status small,.terrain-module .alignment-slider>span,.terrain-module .trace-slider>span,.terrain-module .trace-slider>small,.terrain-module .detected-list small,.terrain-module .trace-replace small{color:#718078}.terrain-module .histogram{border-color:#d8dfda;background:transparent}.terrain-module .histogram-zero{background-color:#7f8e85}.terrain-module .property-card{background:#fff}.terrain-module .toggle{border-color:#bdc9c0;background:#dce3dd}.terrain-module .toggle span{background:#7c8c82}.terrain-module .toggle.is-on{border-color:#315c45;background:#bdd0c2}.terrain-module .toggle.is-on span{background:#315c45}.terrain-module .recalculate-button{border-color:#2f7f86;border-radius:8px;background:#e8f3f3;color:#256c72}.terrain-module .recalculate-button:hover{background:#dceced;color:#205e63}.terrain-module .status-bar{border-color:#d9dfda;background:#f8faf7;box-shadow:0 -4px 15px #233a2c0f}.terrain-module .status-bar>div{border-color:#dfe4df;color:#607068}.terrain-module .status-ready>span{border-color:#3d8a59;color:#3d8a59}.terrain-module .status-ready strong,.terrain-module .snap-status b{color:#34784d}.terrain-module .plan-mode-switch button.active{background:#315c45;color:#fff}.terrain-module .zoom-tools button:hover,.terrain-module .zoom-tools button.active{background:#e7eee9;color:#315c45}.terrain-module .trace-steps>i{background:#d6ded8}.terrain-module .trace-steps>span.done,.terrain-module .trace-steps>span.active,.terrain-module .trace-instruction strong,.terrain-module .trace-panel-processing strong,.terrain-module .trace-sample-summary strong,.terrain-module .trace-result-stats b,.terrain-module .trace-group-title span,.terrain-module .detected-list-heading>span,.terrain-module .trace-replace strong{color:#2d4034}.terrain-module .trace-instruction p,.terrain-module .trace-panel-processing p,.terrain-module .trace-sample-summary small,.terrain-module .trace-option-check small,.terrain-module .trace-group-title small,.terrain-module .detected-list-heading small{color:#718078}.terrain-module .trace-presets button{border-color:#d2dbd4;background:#fff;color:#65736a}.terrain-module .trace-presets button:hover{border-color:#315c45;color:#315c45}.terrain-module .modal-backdrop{background:#19271f73}.terrain-module .import-modal,.terrain-module .project-modal{border-color:#d8ded9;border-radius:14px;background:#fff;box-shadow:0 28px 85px #16271d3d}.terrain-module .modal-heading h2{color:#22342a}.terrain-module .modal-heading small{color:#315c45}.terrain-module .modal-heading>button{border-color:#d5ddd7;border-radius:8px;color:#68766d}.terrain-module .drop-zone{border-color:#afbeb2;border-radius:10px;background:#f8faf7;color:#26382e}.terrain-module .drop-zone:hover{border-color:#315c45;background:#eef4ef}.terrain-module .drop-zone>span{border-color:#aec2b2;background:#e7f0e9;color:#315c45}.terrain-module .drop-zone p,.terrain-module .drop-zone small,.terrain-module .import-help{color:#6c7a71}.terrain-module .toast{border-color:#cfd9d1;border-radius:10px;background:#fff;box-shadow:0 14px 38px #172b1e2e;color:#2b3d32}.terrain-module .project-name-editor label>span,.terrain-module .last-saved{color:#718078}.terrain-module .project-name-editor input{border-color:#cbd6cd;border-radius:8px;background:#fff;color:#24372c}.terrain-module .project-quick-actions{grid-template-columns:repeat(4,1fr)}.terrain-module .project-quick-actions button{border-color:#d3dbd5;border-radius:8px;background:#f8faf7;color:#55645b}.terrain-module .project-quick-actions button:hover{border-color:#9eb1a2;background:#edf3ee;color:#315c45}.terrain-module .saved-project-list>div{border-color:#dce2dd;border-radius:8px;background:#fbfcfa}.terrain-module .saved-project-list>div.active{border-color:#91ab98;background:#eaf2eb}.terrain-module .saved-project-list>div>button:first-child,.terrain-module .saved-projects-heading,.terrain-module .no-saved-projects strong{color:#2b3d32}.terrain-module .saved-project-list small,.terrain-module .no-saved-projects,.terrain-module .last-saved{color:#718078}.terrain-module .saved-project-list em{color:#315c45}.terrain-module .saved-project-list .delete-project{border-color:#e1e6e2;color:#879189}.terrain-module .project-storage-note{border-color:#cfddd2;border-radius:8px;background:#eff5f0;color:#5c6e62}.terrain-module .project-storage-note svg,.terrain-module .import-help svg{color:#315c45}@media(max-width:760px){.terrain-module .project-quick-actions{grid-template-columns:1fr}}.terrain-module{--header-height: 56px;--status-height: 38px;--left-width: 304px;--right-width: 304px;font-family:Aptos,Segoe UI Variable,Segoe UI,sans-serif}.terrain-module .app-header{grid-template-columns:var(--left-width) minmax(180px,1fr) auto minmax(260px,auto);border-color:#d7dcd4;background:#fbfcf8;box-shadow:0 4px 15px #233a2c0d}.terrain-module .terrain-mode-toggle{justify-self:center;margin:0 12px}.terrain-module .terrain-mode-toggle button{color:#68756d}.terrain-module .terrain-mode-toggle button.active{color:#fff}.terrain-module .project-crumb{border-left:1px solid #e1e5de}.terrain-module .project-crumb strong{font-size:14px;letter-spacing:-.01em}.terrain-module .view-tabs{height:38px;border-radius:10px;background:#edf0ec}.terrain-module .view-tabs button{min-width:78px;border-radius:8px;font-size:9px;letter-spacing:.025em}.terrain-module .view-tabs button.active{background:#315c45;color:#fff}.terrain-module .view-tabs button.active:after{display:none}.terrain-module .workspace{background:#ecefe9}.terrain-module .left-panel,.terrain-module .right-panel{background:#fafbf8}.terrain-module .panel-section,.terrain-module .analysis-card,.terrain-module .property-card{border-color:#dde2db}.terrain-module .layer-row,.terrain-module .surface-compare button,.terrain-module .detected-list>button{border-radius:9px}.terrain-module .tool-grid button{min-height:42px;border:1px solid transparent;border-radius:9px}.terrain-module .tool-grid button.active{border-color:#b8cabb;background:#dfe9e1;box-shadow:none;color:#315c45}.terrain-module .compact-settings,.terrain-module .trace-control-group,.terrain-module .selected-detected-editor,.terrain-module .calibration-card,.terrain-module .selected-line-card,.terrain-module .plan-setup-card{border-radius:10px}.terrain-module .canvas-shell{margin:14px;border:1px solid #cfd6cf;border-radius:10px;box-shadow:0 12px 30px #1f31261f}.terrain-module .status-bar{background:#f7f8f4}@media(max-width:1280px){.terrain-module{--left-width: 250px;--right-width: 276px}}@media(max-width:1040px){.terrain-module{--left-width: 230px;--right-width: 0px}}@media(max-width:760px){.terrain-module{--left-width: 0px}.terrain-module .app-header{grid-template-columns:auto minmax(0,1fr) auto}.terrain-module .terrain-mode-toggle{margin-left:6px}.terrain-module .view-tabs{display:none}}.terrain-module.terrain-app{grid-template-rows:56px 58px minmax(0,1fr) 38px;width:100%;height:100dvh;min-width:0;background:#eceee8}.terrain-module .app-header{min-width:0;height:56px;border-bottom:1px solid #d7dcd4}.terrain-module .terrain-mode-toggle{margin:0}.terrain-module .terrain-back-button{color:#59675e}.terrain-module .project-crumb.takeoff-workspace-project{display:flex;min-width:0;height:38px;align-items:center;gap:8px;padding:0 8px;overflow:hidden;border:1px solid transparent;border-radius:7px;background:transparent;color:#24372c;cursor:pointer;text-align:left}.terrain-module .project-crumb.takeoff-workspace-project:hover{border-color:#bcc8be;background:#f1f4ef}.terrain-module .project-crumb.takeoff-workspace-project strong{min-width:0;overflow:hidden;color:#24372c;font-size:16px;font-weight:720;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.terrain-module .project-crumb.takeoff-workspace-project>span{flex:0 0 auto;color:#748078;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.terrain-module .project-crumb.takeoff-workspace-project>svg{flex:0 0 auto;color:#819087}.terrain-module .project-crumb.takeoff-workspace-project>i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#c58a2d}.terrain-module .header-actions.takeoff-workspace-actions{gap:6px;padding:0}.terrain-module .save-project-button,.terrain-module .build-button{min-height:32px;height:32px;gap:6px;margin:0;padding:0 10px;border-radius:7px;box-shadow:none;font-size:10px;font-weight:750;letter-spacing:0;text-transform:none}.terrain-module .save-project-button{border:0;background:transparent;color:#59675e}.terrain-module .save-project-button:hover{background:#e6ece7;color:#315c45}.terrain-module .build-button{border-color:#315c45;background:#315c45;color:#fff}.terrain-module .build-button:hover{background:#284e3a;filter:none}.terrain-module .terrain-editor-toolbar{z-index:18;display:flex;min-width:0;height:58px;align-items:center;gap:9px;padding:7px 15px;overflow:hidden;border-bottom:1px solid #d8ddd5;background:#f7f8f4}.terrain-module .terrain-surface-readout{display:flex;min-width:146px;height:42px;align-items:center;gap:8px;padding:6px 10px;border:1px solid #c8d8cc;border-radius:10px;background:#eaf1eb}.terrain-module .terrain-surface-readout>span,.terrain-module .terrain-surface-readout strong,.terrain-module .terrain-surface-readout small{display:block}.terrain-module .terrain-surface-readout strong{color:#315c45;font-size:10px;white-space:nowrap}.terrain-module .terrain-surface-readout small{margin-top:2px;color:#708078;font-size:8px;white-space:nowrap}.terrain-module .terrain-toolbar-tools{display:flex;min-width:0;flex:1;align-items:center;gap:4px;overflow-x:auto;padding:0 8px;border-right:1px solid #d9ded7;border-left:1px solid #d9ded7;scrollbar-width:none}.terrain-module .terrain-toolbar-tools::-webkit-scrollbar{display:none}.terrain-module .terrain-toolbar-tools button{display:inline-flex;min-width:53px;min-height:42px;flex:0 0 auto;align-items:center;justify-content:center;gap:4px;padding:5px 7px;border:1px solid transparent;border-radius:10px;background:transparent;color:#59675e;cursor:pointer;font-size:9px;font-weight:750}.terrain-module .terrain-toolbar-tools button:hover{border-color:#d1dad2;background:#edf1ec;color:#315c45}.terrain-module .terrain-toolbar-tools button.active{border-color:#b8cabb;background:#dfe9e1;color:#315c45}.terrain-module .terrain-toolbar-tools button span{max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terrain-module .terrain-toolbar-history{display:flex;flex:0 0 auto;align-items:center;gap:2px}.terrain-module .terrain-toolbar-history button{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:7px;background:transparent;color:#59675e;cursor:pointer}.terrain-module .terrain-toolbar-history button:hover{background:#e6ece7;color:#315c45}.terrain-module .terrain-editor-toolbar .view-tabs{height:38px;flex:0 0 auto}.terrain-module .terrain-editor-toolbar .view-tabs button{min-width:68px;padding:0 9px}.terrain-module .workspace{display:grid;min-width:0;min-height:0;grid-template-columns:304px minmax(0,1fr)!important;grid-template-rows:49px minmax(0,1fr);grid-template-areas:"tabs canvas" "sidebar canvas";background:#ecefe9}.terrain-module .terrain-sidebar-tabs{z-index:13;display:flex;grid-area:tabs;gap:4px;padding:7px;border-right:1px solid #d8ddd6;border-bottom:1px solid #dfe3dc;background:#f2f4ef}.terrain-module .terrain-sidebar-tabs button{min-width:0;min-height:34px;flex:1;border:1px solid transparent;border-radius:9px;background:transparent;color:#68756d;cursor:pointer;font-size:10px;font-weight:750}.terrain-module .terrain-sidebar-tabs button span{margin-left:4px;color:#8a948e;font-size:8px}.terrain-module .terrain-sidebar-tabs button.active{border-color:#c3d0c5;background:#fff;box-shadow:0 3px 10px #243a2c12;color:#315c45}.terrain-module .left-panel,.terrain-module .right-panel{display:flex;grid-area:sidebar;border-right:1px solid #d8ddd6;border-left:0;background:#fafbf8}.terrain-module .terrain-sidebar-layers .right-panel,.terrain-module .terrain-sidebar-inspect .left-panel{display:none!important}.terrain-module .terrain-sidebar-layers .left-panel,.terrain-module .terrain-sidebar-inspect .right-panel{display:flex!important}.terrain-module .canvas-shell{min-width:0;min-height:0;grid-area:canvas;margin:18px 20px;border:1px solid #cfd6cf;border-radius:8px;box-shadow:0 12px 30px #1f312621}.terrain-module .status-bar{height:38px}@media(max-width:1280px){.terrain-module .terrain-toolbar-tools button{min-width:42px}.terrain-module .terrain-toolbar-tools button span{display:none}.terrain-module .terrain-editor-toolbar .view-tabs button{min-width:60px;padding-inline:7px}}@media(max-width:1040px){.terrain-module .workspace{grid-template-columns:268px minmax(0,1fr)!important}.terrain-module .terrain-surface-readout{display:none}.terrain-module .project-crumb.takeoff-workspace-project>span{display:none}}@media(max-width:760px){.terrain-module.terrain-app{grid-template-rows:56px 54px minmax(0,1fr) 36px}.terrain-module .save-project-button{display:none}.terrain-module .build-button{width:34px;padding:0}.terrain-module .build-button span{display:none}.terrain-module .terrain-editor-toolbar{height:54px;padding-inline:8px}.terrain-module .terrain-editor-toolbar .view-tabs,.terrain-module .terrain-toolbar-history{display:none}.terrain-module .workspace{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr);grid-template-areas:"canvas"}.terrain-module .terrain-sidebar-tabs,.terrain-module .left-panel,.terrain-module .right-panel{display:none!important}.terrain-module .canvas-shell{margin:8px}}.launch-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:15px 18px;border:1px solid #e6c986;border-radius:12px;background:#fff7e5;color:#6c4d13}.launch-banner strong,.launch-banner span{display:block}.launch-banner span{margin-top:3px;font-size:12px}.launch-banner a{display:inline-flex;align-items:center;gap:6px;color:#6c4d13;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}.command-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.command-kpis article{position:relative;min-width:0;padding:19px;border:1px solid #dfe1dc;border-radius:14px;background:#fffffff0;box-shadow:0 8px 28px #0f172a0d}.command-icon{position:absolute;top:17px;right:17px;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#e7eee9;color:#315c45}.command-icon svg{width:18px}.command-kpis span,.command-kpis strong,.command-kpis small{display:block}.command-kpis span{padding-right:40px;color:#6e7771;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.command-kpis strong{margin:9px 0 4px;font-size:27px;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-kpis small{color:#8b938e;font-size:10px}.command-grid{display:grid;grid-template-columns:1.55fr .85fr;gap:18px}.command-grid>.card{margin:0}.workflow-cards{display:grid;gap:8px}.workflow-cards>a{display:grid;grid-template-columns:38px 1fr 22px;align-items:center;gap:12px;padding:12px;border:1px solid #e5e8e3;border-radius:10px;color:inherit;text-decoration:none;transition:.14s ease}.workflow-cards>a:hover{border-color:#aebdb4;background:#f6f8f5;transform:translate(2px)}.workflow-cards>a>svg:first-child{width:36px;height:36px;padding:8px;border-radius:9px;background:#e7eee9;color:#315c45}.workflow-cards strong,.workflow-cards small{display:block}.workflow-cards strong{font-size:12px}.workflow-cards small{margin-top:3px;color:#6e7771;font-size:10px;line-height:1.4}.workflow-cards>a>svg:last-child{width:16px;color:#929b95}.health-list{display:grid}.health-list a{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #e9ece7;color:#4a564f;font-size:12px;text-decoration:none}.health-list a:last-child{border-bottom:0}.health-list strong{width:30px;height:25px;display:grid;place-items:center;border-radius:7px;background:#edf1ed;color:#315c45;font-size:11px}@media(max-width:1100px){.command-kpis{grid-template-columns:1fr 1fr}.command-grid{grid-template-columns:1fr}}@media(max-width:600px){.launch-banner{align-items:flex-start;flex-direction:column}.command-kpis{gap:8px}.command-kpis article{padding:14px}.command-icon{display:none}.command-kpis span{padding:0}.command-kpis strong{font-size:22px}.workflow-cards>a{grid-template-columns:35px 1fr}.workflow-cards>a>svg:last-child{display:none}}.admin-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.admin-card-grid .card{margin:0}.admin-icon{width:43px;height:43px;display:grid;place-items:center;margin-bottom:15px;border-radius:11px;background:#e7eee9;color:#315c45}.admin-icon svg{width:21px}.admin-page .card h2{margin-bottom:7px;font-size:19px}.admin-page .card p{color:#6e7771;font-size:12px;line-height:1.55}.admin-message{margin:18px 0;padding:12px 14px;border:1px solid #b9d3c2;border-radius:9px;background:#eaf4ed;color:#28513b;font-size:12px}.admin-list{display:grid;gap:9px;padding-left:20px;color:#56615a;font-size:12px;line-height:1.5}.admin-two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-two-column>.card{margin:0 0 18px}.single-column{grid-template-columns:1fr!important}.setup-pill{padding:5px 9px;border-radius:999px;background:#fff2db;color:#885912;font-size:10px;font-weight:800;text-transform:uppercase}.setup-pill.complete{background:#e3f1e7;color:#2f6646}.plan-card{padding:15px;border:1px solid #dfe5df;border-radius:10px;background:#f6f8f5}.plan-card span,.plan-card strong,.plan-card small{display:block}.plan-card span{color:#7b857e;font-size:10px;text-transform:uppercase}.plan-card strong{margin:5px 0;font-size:24px}.plan-card small{color:#6e7771;font-size:10px}.company-identity-grid{display:grid;grid-template-columns:160px 1fr;gap:20px}.logo-uploader{display:grid;gap:8px;align-content:start}.logo-uploader>div{width:150px;height:100px;display:grid;place-items:center;overflow:hidden;border:1px dashed #aeb8b1;border-radius:10px;background:#f7f8f5;color:#788179;font-size:11px}.logo-uploader img{width:100%;height:100%;object-fit:contain}.logo-uploader .text-link{border:0;background:transparent;font-size:11px}.member-entry{display:grid;grid-template-columns:1fr 1.2fr .8fr auto;gap:8px;margin-bottom:15px}.member-entry input,.member-entry select{min-width:0;padding:9px 10px;border:1px solid #d5dad5;border-radius:8px}.member-list{display:grid}.member-list>div{display:grid;grid-template-columns:1fr 130px 80px 34px;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #e7eae6;font-size:11px}.member-list strong,.member-list small{display:block}.member-list small{margin-top:3px;color:#778179}.role-pill{width:fit-content;padding:4px 7px;border-radius:999px;background:#edf1ed;color:#405147;font-size:9px;font-weight:800}.icon-danger{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:8px;background:#faeae7;color:#a34039}.span-all{grid-column:1 / -1}.cell-note{display:block;margin-top:3px;color:#7d8780;font-size:10px}.billing-admin-message{margin:10px 0 0}.billing-admin-button{width:100%;justify-content:center;margin-top:9px}.billing-admin-refresh{width:100%;margin-top:10px;text-align:center}.fatal-error{max-width:680px;margin:15vh auto;padding:30px;border:1px solid #edc5c1;border-radius:14px;background:#fff;box-shadow:0 15px 55px #0000001a}.fatal-error pre{overflow:auto;padding:12px;background:#f7f2f1}.fatal-error button{padding:10px 15px;border:0;border-radius:8px;background:#315c45;color:#fff}@media(max-width:1000px){.admin-card-grid,.admin-two-column{grid-template-columns:1fr}.member-entry{grid-template-columns:1fr 1fr}.company-identity-grid{grid-template-columns:1fr}}@media(max-width:600px){.member-entry{grid-template-columns:1fr}.member-list>div{grid-template-columns:1fr auto}.member-list>div>span:nth-child(3){display:none}}.customer-invitations-card{overflow:hidden}.customer-invitation-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(340px,1.22fr);gap:18px;margin-top:18px}.customer-invitation-form,.customer-invitation-output{min-width:0;padding:18px;border:1px solid #dde3de;border-radius:13px;background:#f8faf8}.customer-invitation-form h3,.customer-invitation-output h3,.customer-invitation-list-heading h3{margin:8px 0 4px;font-size:16px}.customer-invitation-form>p,.customer-invitation-output p,.customer-invitation-list-heading p{margin:0;color:#778179;font-size:12px}.customer-invitation-form label{display:grid;gap:6px;margin-top:13px;color:#3d4941;font-size:11px;font-weight:800}.customer-invitation-form input{width:100%;height:43px;padding:0 11px;border:1px solid #cbd4cd;border-radius:8px;background:#fff}.customer-invitation-form .primary-button{width:100%;justify-content:center;margin-top:14px}.customer-invitation-output-heading,.customer-invitation-list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.customer-invitation-output-heading .secondary-button{flex:none}.customer-invitation-output textarea{width:100%;min-height:108px;margin-top:16px;padding:12px;resize:vertical;border:1px solid #bcc9c0;border-radius:9px;color:#26342b;background:#fff;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.customer-invitation-empty{min-height:108px;display:grid;place-content:center;justify-items:center;gap:8px;margin-top:16px;border:1px dashed #c9d1cb;border-radius:9px;color:#89928c;text-align:center;font-size:12px}.customer-invitation-message{margin-top:10px;border-color:#b8d8c1;color:#245f35;background:#edf8f0}.customer-invitation-error{margin-top:10px;border-color:#efb9b4;color:#8a302b;background:#fff1f0}.customer-invitation-list-heading{align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid #e2e6e3}.customer-invitation-list-heading .text-link{display:inline-flex;align-items:center;gap:5px}.customer-invitation-list{display:grid;gap:7px;margin-top:11px}.customer-invitation-list>div{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(135px,.75fr) minmax(135px,.75fr) 90px 34px;align-items:center;gap:12px;padding:11px 12px;border:1px solid #e0e5e1;border-radius:10px;background:#fff}.customer-invitation-list span,.customer-invitation-list strong,.customer-invitation-list small{display:block;min-width:0}.customer-invitation-list strong{overflow-wrap:anywhere;font-size:12px}.customer-invitation-list small{overflow-wrap:anywhere;color:#7a847d;font-size:10px}.customer-invitation-list>div>span:not(.invitation-status){color:#48544c;font-size:11px}.invitation-status{justify-self:start;padding:4px 7px;border-radius:999px;color:#58645c;background:#e9edea;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.invitation-status.active{color:#795510;background:#fbefca}.invitation-status.accepted{color:#245f35;background:#dff2e4}.invitation-status.revoked{color:#8a302b;background:#f8dfdc}@media(max-width:980px){.customer-invitation-grid{grid-template-columns:1fr}.customer-invitation-list>div{grid-template-columns:1fr 1fr 90px 34px}.customer-invitation-list>div>span:nth-child(3){display:none}}@media(max-width:650px){.customer-invitation-list>div{grid-template-columns:1fr 78px 32px}.customer-invitation-list>div>span:nth-child(2),.customer-invitation-list>div>span:nth-child(3){display:none}}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1fr) minmax(440px,.82fr);background:#f3f2ed}.auth-story{min-height:100vh;display:flex;flex-direction:column;padding:38px clamp(32px,6vw,92px) 56px;color:#fff;background:radial-gradient(circle at 85% 15%,rgb(224 163 59 / 23%),transparent 24%),linear-gradient(145deg,#17291f,#0b1811 72%)}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand>span{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;color:#17291f;background:#e0a33b}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{letter-spacing:.1em;font-size:18px}.auth-brand small{margin-top:3px;color:#a9baae;letter-spacing:.14em;font-size:10px}.auth-story-copy{width:min(650px,100%);margin:auto 0;padding:60px 0 20px}.auth-kicker{display:inline-block;margin-bottom:18px;color:#e0a33b;font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.auth-story h1{max-width:620px;margin-bottom:20px;color:#fff;font-size:clamp(38px,5vw,64px);line-height:1.02}.auth-story-copy>p{max-width:590px;color:#bdc9c1;font-size:17px}.auth-benefits{display:grid;gap:13px;margin-top:38px}.auth-benefits>div{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid rgb(255 255 255 / 9%);border-radius:12px;background:#ffffff0a}.auth-benefits svg{flex:none;color:#e0a33b}.auth-benefits strong,.auth-benefits small{display:block}.auth-benefits strong{font-size:13px}.auth-benefits small{margin-top:3px;color:#91a198;font-size:11px}.auth-panel{display:grid;place-items:center;padding:34px clamp(22px,5vw,70px)}.auth-card{width:min(490px,100%)}.auth-tabs{display:grid;grid-template-columns:1fr 1.45fr;gap:5px;padding:5px;border-radius:11px;background:#e4e6e1}.auth-tabs.single{grid-template-columns:1fr}.auth-tabs button{min-height:42px;border:0;border-radius:8px;color:#637067;background:transparent;font-weight:800;font-size:12px}.auth-tabs button.active{color:#1c2821;background:#fff;box-shadow:0 3px 12px #0f172a17}.auth-heading{padding:35px 0 19px}.auth-heading>span{color:#8a641f;font-size:11px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.auth-heading h2{margin:7px 0 8px;font-size:29px}.auth-heading p{margin:0;color:#6e7771;font-size:14px}.auth-form{display:grid;gap:14px}.auth-form>label:not(.auth-show-password){display:grid;gap:7px;color:#3a463f;font-size:12px;font-weight:800}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text]{width:100%;height:47px;padding:0 13px;border:1px solid #cbd2cc;border-radius:9px;background:#fff}.auth-show-password{display:flex;align-items:center;gap:8px;color:#667169;font-size:12px}.auth-show-password input{width:auto}.auth-error{padding:11px 13px;border:1px solid #fecaca;border-radius:9px;color:#991b1b;background:#fff1f2;font-size:12px;font-weight:700}.auth-submit{min-height:48px;margin-top:2px}.auth-note{margin:18px 15px 0;color:#7b847e;text-align:center;font-size:11px}.auth-status{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:9px;padding:30px;background:#f3f2ed;text-align:center}.auth-status strong{font-size:22px}.auth-status span{max-width:520px;color:#6e7771}.auth-status button{margin-top:10px}.auth-status-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:8px;border-radius:16px;color:#fff;background:#315c45}.auth-spinner{width:42px;height:42px;margin-bottom:10px;border:4px solid #d8ded9;border-top-color:#315c45;border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-story{min-height:auto;padding:26px 24px 34px}.auth-story-copy{margin:35px 0 0;padding:0}.auth-story h1{font-size:38px}.auth-benefits{display:none}.auth-panel{padding:34px 22px 48px}}.billing-screen{min-height:100vh;display:grid;place-items:center;padding:32px 18px;background:radial-gradient(circle at top left,#eef4ef,#dfe8e1 55%,#d3ddd6);color:#17251d}.billing-panel{width:min(620px,100%);padding:34px;border:1px solid #cad6cd;border-radius:18px;background:#fff;box-shadow:0 22px 70px #1a362524}.billing-brand{display:flex;align-items:center;gap:8px;margin-bottom:28px;font-weight:900;letter-spacing:-.02em}.billing-brand svg{width:22px;color:#315c45}.billing-kicker{color:#47715a;font-size:10px;font-weight:900;letter-spacing:.12em}.billing-panel h1{margin:7px 0 9px;font-size:clamp(30px,5vw,43px);line-height:1;letter-spacing:-.035em}.billing-intro{max-width:540px;margin:0 0 22px;color:#66746b;font-size:13px;line-height:1.6}.billing-notice{margin:14px 0;padding:11px 13px;border-radius:9px;font-size:12px;line-height:1.45}.billing-notice.success{border:1px solid #b8d5c0;background:#ecf7ef;color:#28533a}.billing-notice.error{border:1px solid #e3bbb6;background:#fff0ee;color:#8e3832}.billing-offer{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px;margin:21px 0;padding:20px;border:1px solid #dce5de;border-radius:13px;background:#f6f9f6}.billing-offer span,.billing-offer strong,.billing-offer em{display:block}.billing-offer span{color:#5f6d64;font-size:11px;font-weight:800;text-transform:uppercase}.billing-offer strong{margin:6px 0 2px;font-size:34px}.billing-offer strong small{color:#69766d;font-size:12px}.billing-offer em{color:#6d7971;font-size:10px;font-style:normal}.billing-offer ul{display:grid;align-content:center;gap:9px;margin:0;padding:0;list-style:none;color:#425047;font-size:11px}.billing-offer li{display:flex;align-items:center;gap:7px}.billing-offer li svg{width:15px;color:#32704c}.billing-primary,.billing-secondary,.billing-refresh,.billing-signout{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.billing-primary{border:0;background:#315c45;color:#fff}.billing-primary:hover{background:#264c38}.billing-primary svg{width:17px}.billing-secondary{margin-top:9px;border:1px solid #bbc9bf;background:#fff;color:#315c45}.billing-refresh{margin-top:9px;border:0;background:transparent;color:#4f6758}.billing-refresh svg{width:14px}.billing-signout{min-height:32px;border:0;background:transparent;color:#7a847d;font-weight:600}.billing-primary:disabled,.billing-secondary:disabled,.billing-refresh:disabled{cursor:wait;opacity:.65}.billing-footnote{display:block;margin-top:12px;color:#7c8780;text-align:center;font-size:9px}@media(max-width:600px){.billing-panel{padding:25px 20px}.billing-offer{grid-template-columns:1fr}.billing-panel h1{font-size:32px}}.invite-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1fr) minmax(440px,.82fr);background:#f3f2ed}.invite-story{min-height:100vh;display:flex;flex-direction:column;padding:38px clamp(32px,6vw,92px) 56px;color:#fff;background:radial-gradient(circle at 85% 15%,rgb(224 163 59 / 23%),transparent 24%),linear-gradient(145deg,#17291f,#0b1811 72%)}.invite-story-copy{width:min(650px,100%);margin:auto 0;padding:60px 0 20px}.invite-story h1{max-width:620px;margin-bottom:20px;color:#fff;font-size:clamp(38px,5vw,64px);line-height:1.02}.invite-story-copy>p{max-width:590px;color:#bdc9c1;font-size:17px}.invite-benefits{display:grid;gap:13px;margin-top:38px}.invite-benefits>div{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid rgb(255 255 255 / 9%);border-radius:12px;background:#ffffff0a}.invite-benefits svg{flex:none;color:#e0a33b}.invite-benefits strong,.invite-benefits small{display:block}.invite-benefits strong{font-size:13px}.invite-benefits small{margin-top:3px;color:#91a198;font-size:11px}.invite-panel{display:grid;place-items:center;padding:34px clamp(22px,5vw,70px)}.invite-card{width:min(520px,100%)}.invite-heading{padding-bottom:20px}.invite-heading>span{color:#8a641f;font-size:11px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.invite-heading h2{margin:7px 0 8px;font-size:29px}.invite-heading p{margin:0;color:#6e7771;font-size:14px}.invite-summary{display:grid;gap:8px;margin-bottom:22px;padding:14px;border:1px solid #d8ddd8;border-radius:12px;background:#fff}.invite-summary>div{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:8px;min-width:0}.invite-summary svg{width:18px;color:#315c45}.invite-summary span,.invite-summary small,.invite-summary strong{display:block;min-width:0}.invite-summary small{color:#7a847d;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.invite-summary strong{overflow-wrap:anywhere;color:#26342b;font-size:13px}.invite-note{margin:16px 10px 0;color:#7b847e;text-align:center;font-size:11px}.invite-status{display:grid;justify-items:center;gap:10px;text-align:center}.invite-status>svg{width:56px;height:56px;padding:14px;border-radius:16px;color:#315c45;background:#dce8df}.invite-status strong{font-size:22px}.invite-status p{margin:0;color:#6e7771}.invite-status a{margin-top:5px;color:#315c45;font-weight:800}.invite-invalid>svg{color:#8a302b;background:#f5ddda}@media(max-width:900px){.invite-page{grid-template-columns:1fr}.invite-story{min-height:auto;padding:26px 24px 34px}.invite-story-copy{margin:35px 0 0;padding:0}.invite-story h1{font-size:38px}.invite-benefits{display:none}.invite-panel{padding:34px 22px 48px}}.universal-loading{position:fixed;z-index:10000;top:0;right:0;left:0;display:flex;min-height:4px;align-items:flex-start;justify-content:center;opacity:0;pointer-events:none;transform:translateY(-100%);transition:opacity .14s ease,transform .14s ease}.universal-loading.is-active{opacity:1;transform:translateY(0)}.universal-loading-track{position:absolute;inset:0 0 auto;height:4px;overflow:hidden;background:#315c452e}.universal-loading-track i{position:absolute;top:0;bottom:0;left:-38%;width:38%;background:linear-gradient(90deg,#315c45,#e0a33b,#315c45);box-shadow:0 0 12px #e0a33b99;animation:groundwork-loading-sweep 1.05s ease-in-out infinite}.universal-loading strong{margin-top:9px;padding:5px 10px;border:1px solid rgb(255 255 255 / 22%);border-radius:999px;background:#17291ff0;box-shadow:0 5px 18px #0f1e1633;color:#fff;font-size:11px;font-weight:750}@keyframes groundwork-loading-sweep{0%{left:-38%}70%,to{left:100%}}@media(prefers-reduced-motion:reduce){.universal-loading-track i{animation-duration:2.4s}}*{box-sizing:border-box}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1c2821;background:#f3f2ed;font-synthesis:none}body{margin:0;min-width:320px;min-height:100vh;font-size:16px;background:radial-gradient(circle at top right,#e7eee9 0,transparent 28%),#f3f2ed}button,input,select,textarea{font:inherit}button,a{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em}h2,h3{letter-spacing:-.02em}p{line-height:1.55}.card{margin-bottom:24px;padding:24px;border:1px solid #dfe1dc;border-radius:14px;background:#fffffff0;box-shadow:0 8px 28px #0f172a0d}.primary-button,.secondary-button,.success-button,.warning-button,.danger-button,.small-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:10px 17px;border:0;border-radius:9px;text-decoration:none;font-weight:750;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.primary-button:hover,.secondary-button:hover,.success-button:hover,.warning-button:hover,.danger-button:hover{transform:translateY(-1px)}.primary-button,.small-button{background:#315c45;color:#fff;box-shadow:0 7px 18px #315c4533}.secondary-button{background:#415348;color:#fff}.success-button{background:#16834a;color:#fff}.warning-button{background:#d97706;color:#fff}.danger-button{background:#b91c1c;color:#fff}.small-button{min-height:32px;padding:7px 11px;font-size:13px}.full-button{width:100%}.text-link{color:#315c45;text-decoration:none;font-weight:750}.table-scroll{width:100%;overflow-x:auto;border-radius:10px}.data-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.data-table th,.data-table td{padding:12px;border-bottom:1px solid #e5eaf2;text-align:left;vertical-align:middle}.data-table th{position:sticky;top:0;z-index:1;background:#f0f2ee;color:#647067;font-size:12px;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:0}.data-table input,.data-table select{width:100%;min-width:90px;padding:8px 9px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus{border-color:#315c45!important;box-shadow:0 0 0 3px #315c451f}.page-actions{display:flex;gap:9px;flex-wrap:wrap}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.section-heading p{color:#6e7771}.wide-table{min-width:1400px}textarea{min-height:105px;resize:vertical}.checkbox-field{flex-direction:row!important;align-items:center!important}.checkbox-field input{width:auto!important}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:24px}.metric-strip>div{padding:18px;border:1px solid #dfe1dc;border-radius:12px;background:#fff;box-shadow:0 7px 22px #0f172a0a}.metric-strip span{display:block;margin-bottom:8px;color:#6e7771;font-size:13px}.metric-strip strong{font-size:23px;letter-spacing:-.02em}.library-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.library-toolbar p{margin-bottom:0;color:#6e7771}.toolbar-controls{display:flex;gap:9px}.toolbar-controls input,.toolbar-controls select{min-width:190px;padding:10px 11px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.menu-divider{height:1px;margin:5px 2px;background:#e2e8f0}.takeoff-mode-toggle{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #d4dbd5;border-radius:11px;background:#edf0ec;white-space:nowrap}.takeoff-mode-toggle button{display:inline-flex;min-height:29px;align-items:center;justify-content:center;gap:5px;padding:5px 11px;border:0;border-radius:8px;background:transparent;color:#68756d;font-size:10px;font-weight:780;letter-spacing:.015em}.takeoff-mode-toggle button:hover{color:#315c45}.takeoff-mode-toggle button.active{background:#315c45;box-shadow:0 3px 9px #315c452e;color:#fff}.takeoff-workspace-titlebar{display:grid!important;grid-template-columns:32px minmax(0,1fr) auto 270px!important;align-items:center;gap:12px;height:56px;padding:0 18px!important}.takeoff-workspace-titlebar>.takeoff-mode-toggle{grid-column:3;justify-self:center;margin:0}.takeoff-workspace-back{display:grid;width:32px;height:32px;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:#59675e;cursor:pointer}.takeoff-workspace-back:hover{background:#e6ece7;color:#315c45}.takeoff-workspace-project{grid-column:2;min-width:0;width:100%}.takeoff-workspace-actions{grid-column:4;justify-self:stretch;justify-content:flex-end}@media(max-width:1180px){.takeoff-workspace-titlebar{grid-template-columns:32px minmax(0,1fr) auto 216px!important}}@media(max-width:760px){.takeoff-workspace-titlebar{grid-template-columns:32px minmax(80px,1fr) auto auto!important;gap:7px;padding:0 9px!important}}@media(max-width:900px){.metric-strip{grid-template-columns:repeat(2,1fr)}.library-toolbar{align-items:stretch;flex-direction:column}.toolbar-controls{width:100%}.toolbar-controls input,.toolbar-controls select{flex:1;min-width:0}}@media(max-width:560px){.metric-strip{grid-template-columns:1fr}.toolbar-controls{flex-direction:column}.card{padding:17px;border-radius:11px}}.field-module{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1c2821;background:#f3f2ed;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #1c2821;--muted: #6e7771;--line: #dfe1dc;--paper: #fffefa;--green: #254d39;--green-dark: #16291f;--green-soft: #e7eee9;--amber: #d3912e;--amber-soft: #fbf1dc;--red: #aa423b;--red-soft: #faeae7;--blue: #356e8a;--blue-soft: #e8f2f6;--shadow: 0 8px 30px rgba(29, 43, 34, .07)}.field-module *{box-sizing:border-box}.field-module{margin:0;min-width:320px;min-height:100vh;background:#f3f2ed}.field-module button,.field-module input,.field-module textarea,.field-module select{font:inherit}.field-module button{cursor:pointer}.field-module h1,.field-module h2,.field-module h3,.field-module p{margin-top:0}.field-module h1,.field-module h2,.field-module h3{color:var(--ink)}.field-module .app-shell{min-height:100vh}.field-module .sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:248px;padding:22px 16px;background:var(--green-dark);color:#fff;display:flex;flex-direction:column}.field-module .brand{display:flex;gap:11px;align-items:center;padding:4px 6px 24px}.field-module .brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:var(--green-dark);background:#e2a53d}.field-module .brand strong,.field-module .brand span{display:block;font-family:Barlow Condensed,sans-serif;letter-spacing:.08em}.field-module .brand strong{font-size:20px;line-height:1}.field-module .brand span{color:#aab9af;font-size:12px;margin-top:3px}.field-module .sidebar nav{display:grid;gap:4px}.field-module .sidebar nav button{border:0;color:#b8c6bc;background:transparent;border-radius:10px;padding:11px 12px;display:flex;gap:12px;align-items:center;text-align:left;transition:.15s ease}.field-module .sidebar nav button:hover{background:#ffffff0f;color:#fff}.field-module .sidebar nav button.active{color:#fff;background:#315440;box-shadow:inset 3px 0 #dda33c}.field-module .sidebar-note{margin-top:auto;border:1px solid rgba(255,255,255,.11);border-radius:12px;padding:12px;display:flex;gap:10px;color:#b7c5bb}.field-module .sidebar-note strong,.field-module .sidebar-note span{display:block}.field-module .sidebar-note strong{color:#fff;font-size:13px}.field-module .sidebar-note span{font-size:11px;margin-top:3px;line-height:1.4}.field-module .main{margin-left:248px;min-height:100vh}.field-module .content{padding:38px 42px 70px;max-width:1560px;margin:0 auto}.field-module .mobile-topbar,.field-module .mobile-close{display:none}.field-module .page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.field-module .page-header h1{font:700 38px/1 Barlow Condensed,sans-serif;letter-spacing:-.01em;margin:5px 0 8px}.field-module .page-header p{color:var(--muted);margin:0;max-width:680px;line-height:1.5}.field-module .eyebrow{color:var(--amber);font-size:11px;font-weight:800;letter-spacing:.15em}.field-module .header-actions{display:flex;align-items:center;gap:10px}.field-module .button{border:0;border-radius:10px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:13px;min-height:42px}.field-module .button.primary{background:var(--green);color:#fff;box-shadow:0 5px 16px #254d3933}.field-module .button.primary:hover{background:#1c3f2e}.field-module .button.secondary{background:#eef0eb;color:var(--ink);border:1px solid #d9ddd6}.field-module .button.small{min-height:34px;padding:7px 11px;font-size:12px}.field-module .danger-button{background:var(--red);color:#fff}.field-module .text-button{border:0;background:none;color:var(--green);font-weight:700;font-size:12px;padding:4px}.field-module .icon-button{width:35px;height:35px;border:1px solid var(--line);background:#f9faf7;border-radius:9px;display:inline-grid;place-items:center;color:#657069;padding:0;flex:none}.field-module .icon-button:hover{color:var(--green);border-color:#aebbb2}.field-module .icon-button.danger{color:var(--red)}.field-module .filter-select{min-height:42px;min-width:190px}.field-module .card{background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.field-module .card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.field-module .card-heading h2{font:700 23px/1.1 Barlow Condensed,sans-serif;margin:4px 0 0}.field-module .stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.field-module .stat-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-module .stat-card{padding:18px;display:flex;align-items:center;gap:14px}.field-module .stat-card>div:last-child{min-width:0}.field-module .stat-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--green-soft);color:var(--green)}.field-module .stat-icon svg{width:21px}.field-module .stat-card span,.field-module .stat-card small,.field-module .stat-card strong{display:block}.field-module .stat-card span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.field-module .stat-card strong{font:700 29px/1.1 Barlow Condensed,sans-serif;margin:3px 0}.field-module .stat-card small{color:#8b938e;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-module .dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field-module .dashboard-grid>.card{padding:22px}.field-module .span-2{grid-column:span 2}.field-module .project-activity-list{display:grid}.field-module .project-activity{display:flex;align-items:center;gap:14px;width:100%;border:0;border-top:1px solid #edf0eb;background:transparent;padding:14px 0;text-align:left;color:inherit}.field-module .project-activity:first-child{border-top:0;padding-top:2px}.field-module .project-initial{width:42px;height:42px;display:grid;place-items:center;background:#e8eee9;color:var(--green);border-radius:11px;font-weight:800;font-size:12px}.field-module .grow{flex:1;min-width:0}.field-module .row-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.field-module .row-title>div{display:flex;gap:6px}.field-module .row-title span,.field-module .project-activity .grow>span{color:var(--muted);font-size:12px}.field-module .project-activity small{display:block;margin-top:5px;color:#8b938e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-module .task-count{text-align:center;padding-left:14px;border-left:1px solid var(--line)}.field-module .task-count strong,.field-module .task-count span{display:block}.field-module .task-count strong{font:700 22px Barlow Condensed,sans-serif}.field-module .task-count span{color:var(--muted);font-size:10px;text-transform:uppercase}.field-module .compact-list{display:grid;gap:5px}.field-module .compact-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #edf0eb}.field-module .compact-row:first-child{border-top:0}.field-module .compact-row strong,.field-module .compact-row span{display:block}.field-module .compact-row strong{font-size:12px}.field-module .compact-row span{color:var(--muted);font-size:11px;margin-top:3px}.field-module .warning-icon{width:31px;height:31px;display:grid;place-items:center;color:var(--amber);background:var(--amber-soft);border-radius:9px}.field-module .all-clear{min-height:150px;display:grid;place-items:center;align-content:center;color:var(--green)}.field-module .all-clear span{color:var(--muted);font-size:12px;margin-top:5px}.field-module .priority-dot{width:9px;height:9px;border-radius:50%;background:#aab1ad}.field-module .priority-high{background:var(--red)}.field-module .priority-normal{background:var(--blue)}.field-module .priority-low{background:#8c9a91}.field-module .daily-snapshot{background:linear-gradient(120deg,#fffefa,#f0f5f1)}.field-module .snapshot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.field-module .snapshot-grid>div{padding:13px 15px;background:#ffffffbf;border:1px solid #e2e7e2;border-radius:10px}.field-module .snapshot-grid span,.field-module .snapshot-grid strong{display:block}.field-module .snapshot-grid span{color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:700;margin-bottom:6px}.field-module .snapshot-grid strong{font-size:12px;line-height:1.45}.field-module .pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px!important;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.field-module .pill-good{color:#276444;background:#e4f1e8}.field-module .pill-warn{color:#8a5a12;background:var(--amber-soft)}.field-module .pill-danger{color:#923c35;background:var(--red-soft)}.field-module .pill-neutral{color:#626b66;background:#edf0ed}.field-module .pill-blue{color:#2b607a;background:var(--blue-soft)}.field-module .project-grid,.field-module .equipment-grid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.field-module .project-card,.field-module .equipment-card{padding:21px}.field-module .project-card h2,.field-module .equipment-card h2{font:700 24px/1.1 Barlow Condensed,sans-serif;margin:16px 0 7px}.field-module .project-card p,.field-module .equipment-card p{color:var(--muted);font-size:12px;line-height:1.55}.field-module .location{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.field-module .detail-list{display:grid;gap:8px;margin:18px 0}.field-module .detail-list div{display:flex;justify-content:space-between;border-bottom:1px dashed #e3e5e0;padding-bottom:6px}.field-module .detail-list dt{color:var(--muted);font-size:11px}.field-module .detail-list dd{margin:0;font-size:11px;font-weight:700}.field-module .project-card-footer{display:flex;gap:20px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.field-module .project-card-footer strong{color:var(--ink)}.field-module .estimate-link-count{display:inline-flex;min-height:42px;align-items:center;gap:7px;padding:9px 12px;border-radius:9px;background:var(--blue-soft);color:var(--blue);font-size:11px;font-weight:800;white-space:nowrap}.field-module .project-scope-summary{min-height:38px}.field-module .project-progress-block{margin:17px 0;padding:13px;border:1px solid #dfe5df;border-radius:10px;background:#f5f8f5}.field-module .project-progress-block>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.field-module .project-progress-block>div:first-child strong{color:var(--green);font:700 22px Barlow Condensed,sans-serif}.field-module .project-progress-track{height:10px;margin:9px 0 10px;overflow:hidden;border-radius:99px;background:#dfe5df}.field-module .project-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#315c45,#75a284);transition:width .16s ease}.field-module .project-progress-controls{display:grid;grid-template-columns:minmax(0,1fr) 78px;align-items:center;gap:10px}.field-module .project-progress-controls>input[type=range]{min-height:20px;padding:0;border:0;background:transparent;box-shadow:none;accent-color:var(--green)}.field-module .project-progress-controls label{position:relative}.field-module .project-progress-controls label input{min-height:34px;padding:7px 25px 7px 8px;text-align:right}.field-module .project-progress-controls label span{position:absolute;top:9px;right:9px;color:var(--muted);font-size:10px}.field-module .project-estimate-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:17px}.field-module .project-estimate-metrics>div{min-width:0;padding:9px;border-radius:8px;background:#eef3ef}.field-module .project-estimate-metrics span,.field-module .project-estimate-metrics strong{display:block}.field-module .project-estimate-metrics span{color:var(--muted);font-size:9px;text-transform:uppercase}.field-module .project-estimate-metrics strong{margin-top:4px;overflow:hidden;color:var(--ink);font:700 17px Barlow Condensed,sans-serif;text-overflow:ellipsis;white-space:nowrap}.field-module .linked-project-note{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;border-left:4px solid var(--blue);border-radius:0 8px 8px 0;background:var(--blue-soft);color:#3e5966;font-size:11px;line-height:1.5}.field-module .linked-project-note svg{flex:none;margin-top:1px;color:var(--blue)}.field-module .linked-project-note strong{color:#244a5d}.field-module .field input:disabled{color:#657069;background:#ecefea;cursor:not-allowed}.field-module .project-empty-state{padding:36px;text-align:center}.field-module .project-empty-state p{margin-bottom:0;color:var(--muted)}.field-module .log-list,.field-module .safety-list{display:grid;gap:12px}.field-module .log-card{padding:18px;display:flex;align-items:center;gap:18px;cursor:pointer;transition:.15s ease}.field-module .log-card:hover,.field-module .safety-card:hover{transform:translateY(-1px);box-shadow:0 10px 32px #1d2b221a}.field-module .log-date{width:56px;height:62px;flex:none;background:var(--green);color:#fff;border-radius:11px;display:grid;place-items:center;align-content:center}.field-module .log-date strong{font:700 25px/1 Barlow Condensed,sans-serif}.field-module .log-date span{font-size:10px;text-transform:uppercase;margin-top:3px}.field-module .log-card h2,.field-module .safety-card h2{font:700 20px Barlow Condensed,sans-serif;margin:0 0 2px}.field-module .log-card p{margin:9px 0 8px;color:#4f5b54;font-size:12px;line-height:1.45}.field-module .log-meta,.field-module .safety-meta{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:11px}.field-module .log-meta span,.field-module .safety-meta span{display:inline-flex;align-items:center;gap:5px}.field-module .chevron{color:#9ba39e;flex:none}.field-module .table-wrap{overflow:auto}.field-module table{width:100%;border-collapse:collapse;min-width:970px}.field-module th{color:#7b837e;background:#f7f8f5;text-transform:uppercase;font-size:9px;letter-spacing:.08em;text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}.field-module td{padding:13px 14px;border-bottom:1px solid #eceee9;font-size:11px;color:#4e5952}.field-module tr:last-child td{border-bottom:0}.field-module tbody tr{cursor:pointer}.field-module tbody tr:hover{background:#fafbf8}.field-module td strong,.field-module td span{display:block}.field-module td strong{color:var(--ink)}.field-module td span{margin-top:3px;color:var(--muted)}.field-module .number-cell{text-align:right}.field-module .equipment-icon{width:38px;height:38px;border-radius:10px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;margin-right:auto}.field-module .equipment-icon svg{width:19px}.field-module .unit-number{display:block;color:var(--amber);font-size:10px;font-weight:800;letter-spacing:.08em;margin-top:17px}.field-module .equipment-card h2{margin-top:4px}.field-module .equipment-card p{margin-bottom:14px}.field-module .hours-display{display:flex;align-items:baseline;gap:6px;background:#f5f6f2;padding:12px;border-radius:9px;color:var(--green)}.field-module .hours-display svg{align-self:center}.field-module .hours-display strong{font:700 24px Barlow Condensed,sans-serif}.field-module .hours-display span{font-size:10px;color:var(--muted);text-transform:uppercase}.field-module .service-line{margin:17px 0 12px}.field-module .service-line>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.field-module .service-line strong{color:var(--ink)}.field-module .progress{height:7px;border-radius:99px;background:#e7e9e5;margin-top:8px;overflow:hidden}.field-module .progress span{display:block;height:100%;background:linear-gradient(90deg,#548267,#d79b34);border-radius:inherit}.field-module .service-line.service-overdue strong{color:var(--red)}.field-module .service-line.service-overdue .progress span{background:linear-gradient(90deg,#d3912e,#aa423b)}.field-module .issue-note{background:var(--amber-soft);color:#825715;border-radius:8px;padding:9px 10px;display:flex;gap:7px;font-size:11px}.field-module .equipment-footer{border-top:1px solid var(--line);padding-top:12px;margin-top:12px;color:var(--muted);font-size:10px}.field-module .latest-service{display:flex;align-items:flex-start;gap:8px;margin:4px 0 12px;padding:10px;border-radius:8px;background:#eef3ef;color:var(--green)}.field-module .latest-service svg{flex:none;margin-top:1px}.field-module .latest-service strong,.field-module .latest-service span{display:block}.field-module .latest-service strong{font-size:11px}.field-module .latest-service span{margin-top:3px;color:var(--muted);font-size:10px}.field-module .latest-service.empty{align-items:center;color:var(--muted);background:#f5f6f3;font-size:10px}.field-module .equipment-service-button{width:100%;margin-top:12px}.field-module .service-record-form{padding-bottom:24px;border-bottom:1px solid var(--line)}.field-module .service-form-heading,.field-module .service-history-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.field-module .service-form-heading h3,.field-module .service-history-heading h3{margin:0 0 4px;font:700 21px Barlow Condensed,sans-serif}.field-module .service-form-heading p,.field-module .service-history-heading p{margin:0;color:var(--muted);font-size:11px}.field-module .service-reset-check{display:flex;align-items:center;gap:9px;min-height:40px;padding:9px 11px;border:1px solid #d4d9d3;border-radius:8px;background:#f2f6f2;color:var(--green);font-size:11px;font-weight:700}.field-module .service-reset-check input{width:auto;min-height:0;accent-color:var(--green)}.field-module .service-log-actions{display:flex;justify-content:flex-end;margin-top:14px}.field-module .service-history-section{padding-top:24px}.field-module .service-history-heading>strong{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green)}.field-module .service-history-list{display:grid;gap:9px}.field-module .service-history-list article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fafbf8}.field-module .service-history-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:9px;background:var(--green-soft);color:var(--green)}.field-module .service-history-body>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.field-module .service-history-body>span{display:block;margin-top:4px;color:var(--muted);font-size:10px}.field-module .service-history-body p{margin:8px 0 0;color:#4f5b54;font-size:11px;white-space:pre-wrap}.field-module .service-history-cost{color:var(--green);font-size:12px}.field-module .service-history-empty{padding:22px;border:1px dashed #cfd6cf;border-radius:10px;color:var(--muted);text-align:center;font-size:11px}.field-module .safety-card{padding:19px;display:flex;gap:16px;cursor:pointer}.field-module .safety-badge{width:46px;height:46px;border-radius:13px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;flex:none}.field-module .safety-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0}.field-module .safety-summary>div{padding:10px;background:#f7f8f5;border-radius:8px}.field-module .safety-summary span,.field-module .safety-summary strong{display:block}.field-module .safety-summary span{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:700;margin-bottom:4px}.field-module .safety-summary strong{font-size:11px;line-height:1.4}.field-module .task-list{display:grid}.field-module .task-row{display:flex;align-items:center;gap:14px;padding:17px 19px;border-bottom:1px solid var(--line)}.field-module .task-row:last-child{border-bottom:0}.field-module .task-row p{color:var(--muted);font-size:11px;margin:5px 0}.field-module .task-row .grow>span{color:#818a84;font-size:10px}.field-module .task-check{width:30px;height:30px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;background:transparent;color:#9da59f}.field-module .task-check svg{width:21px}.field-module .task-check.complete{color:#fff;background:var(--green)}.field-module .task-complete{opacity:.6}.field-module .task-complete strong{text-decoration:line-through}.field-module .toggle-label{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.field-module .calculator-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field-module .calculator-card{padding:22px}.field-module .calc-heading{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}.field-module .calc-heading h2{font:700 23px Barlow Condensed,sans-serif;margin:0 0 2px}.field-module .calc-heading span{color:var(--muted);font-size:11px}.field-module .calc-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--green);color:#fff}.field-module .calc-icon svg{width:20px}.field-module .calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-module .calc-results{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.field-module .calc-results.triple{grid-template-columns:repeat(3,1fr)}.field-module .calc-result{background:var(--green-dark);color:#fff;border-radius:10px;padding:13px;min-width:0}.field-module .calc-result span{color:#afc0b5;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.field-module .calc-result div{display:flex;gap:5px;align-items:baseline;margin-top:3px}.field-module .calc-result strong{font:700 25px Barlow Condensed,sans-serif;overflow:hidden;text-overflow:ellipsis}.field-module .calc-result em{font-size:10px;color:#d8a64c;font-style:normal}.field-module .calc-result small{display:block;font-size:9px;color:#9eafa5;margin-top:3px;line-height:1.3}.field-module .calc-footnote{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:10px;margin-top:12px}.field-module .settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.field-module .backup-card{padding:24px}.field-module .settings-icon{width:46px;height:46px;display:grid;place-items:center;color:var(--green);background:var(--green-soft);border-radius:12px;margin-bottom:18px}.field-module .backup-card h2{font:700 23px Barlow Condensed,sans-serif;margin-bottom:8px}.field-module .backup-card p{color:var(--muted);font-size:12px;line-height:1.55;min-height:58px}.field-module .data-counts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:18px 0}.field-module .data-counts span{background:#f3f5f1;padding:7px 9px;border-radius:7px;font-size:10px;color:var(--muted)}.field-module .import-message{margin-top:14px;padding:9px;border-radius:8px;background:var(--blue-soft);color:var(--blue);font-size:11px}.field-module .danger-zone .settings-icon{color:var(--red);background:var(--red-soft)}.field-module .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:22px;background:#0c1610ad;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.field-module .modal{width:min(560px,100%);max-height:calc(100vh - 44px);overflow:hidden;background:var(--paper);border-radius:16px;box-shadow:0 24px 80px #00000047;display:flex;flex-direction:column}.field-module .modal-wide{width:min(930px,100%)}.field-module .modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.field-module .modal-header h2{font:700 25px Barlow Condensed,sans-serif;margin:0}.field-module .modal-body{padding:22px;overflow:auto}.field-module .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-module .form-grid.single{grid-template-columns:1fr}.field-module .field{display:grid;gap:6px;min-width:0}.field-module .field>span{color:#5f6a63;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.field-module .field-span{grid-column:span 2}.field-module input,.field-module select,.field-module textarea{width:100%;border:1px solid #d4d9d3;border-radius:8px;background:#fbfcf9;color:var(--ink);padding:10px 11px;outline:none;font-size:12px;min-height:40px}.field-module textarea{resize:vertical;line-height:1.5}.field-module input:focus,.field-module select:focus,.field-module textarea:focus{border-color:#6d907b;box-shadow:0 0 0 3px #36694b1a}.field-module .two-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field-module .form-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.field-module .entry-section{margin-top:23px;padding-top:19px;border-top:1px solid var(--line)}.field-module .entry-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.field-module .entry-heading h3{font:700 18px Barlow Condensed,sans-serif;margin:0}.field-module .entry-heading span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.field-module .entry-list{display:grid;gap:7px}.field-module .entry-grid{display:grid;align-items:center;gap:7px}.field-module .crew-grid,.field-module .equipment-grid{grid-template-columns:1.3fr 1.3fr .65fr .65fr 35px}.field-module .quantity-grid{grid-template-columns:2fr .7fr .6fr 35px}.field-module .signature-row{margin-top:20px}.field-module .checklist{margin-top:22px;border-top:1px solid var(--line);padding-top:17px}.field-module .checklist h3{font:700 18px Barlow Condensed,sans-serif}.field-module .checklist label{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;margin-top:7px;color:var(--muted);font-size:11px}.field-module .checklist input{display:none}.field-module .checklist label svg{color:#c4cbc6}.field-module .checklist label.checked{background:var(--green-soft);color:var(--green);border-color:#c2d4c8}.field-module .checklist label.checked svg{fill:var(--green);color:var(--green)}.field-module .empty-state{min-height:180px;display:grid;place-items:center;align-content:center;text-align:center;padding:30px}.field-module .empty-state h3{margin-bottom:5px}.field-module .empty-state p{color:var(--muted);font-size:12px}.field-module .project-tabs{display:inline-flex;gap:5px;margin:-8px 0 20px;padding:5px;border:1px solid var(--line);border-radius:11px;background:#e9ece7}.field-module .project-tabs a{padding:9px 15px;border-radius:8px;color:var(--muted);font-size:12px;font-weight:800;text-decoration:none}.field-module .project-tabs a.active{background:var(--paper);color:var(--green);box-shadow:0 2px 8px #1d2b221a}.field-module .project-card-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.field-module .project-card-clickable:hover{transform:translateY(-2px);box-shadow:0 14px 38px #1d2b221f}.field-module .project-progress-block small{display:block;color:var(--muted);font-size:10px}.field-module .project-detail-hero{display:grid;grid-template-columns:1.45fr .7fr;gap:18px;margin-bottom:18px}.field-module .project-detail-hero>.card{padding:22px}.field-module .project-detail-progress>div:first-child{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.field-module .project-detail-progress>div:first-child span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.field-module .project-detail-progress>div:first-child strong{color:var(--green);font:700 42px/1 Barlow Condensed,sans-serif}.field-module .project-detail-progress p{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.field-module .project-progress-track.large{height:15px;margin-top:16px}.field-module .project-detail-info .detail-list{margin:0}.field-module .project-detail-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.field-module .project-detail-links a{display:flex;align-items:center;gap:10px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--green);text-decoration:none;box-shadow:var(--shadow)}.field-module .project-detail-links a>svg{width:19px;flex:none}.field-module .project-detail-links span,.field-module .project-detail-links strong,.field-module .project-detail-links small{display:block;min-width:0}.field-module .project-detail-links strong{color:var(--ink);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-module .project-detail-links small{margin-top:3px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-module .project-production-card,.field-module .completed-actuals-card{padding:23px;margin-bottom:18px}.field-module .card-heading>span{color:var(--muted);font-size:10px}.field-module .production-line-list{display:grid;gap:10px}.field-module .production-line-list article{padding:14px;border:1px solid var(--line);border-radius:11px;background:#fafbf8}.field-module .production-line-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.field-module .production-line-heading strong,.field-module .production-line-heading span{display:block}.field-module .production-line-heading strong{font-size:12px}.field-module .production-line-heading span{margin-top:4px;color:var(--muted);font-size:10px}.field-module .production-line-controls{display:grid;grid-template-columns:190px minmax(120px,1fr) auto;align-items:center;gap:14px;margin-top:11px}.field-module .production-line-controls label{position:relative;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:700}.field-module .production-line-controls input{min-height:35px;padding:7px 40px 7px 8px;text-align:right}.field-module .production-line-controls label>span{position:absolute;right:8px;color:var(--muted)}.field-module .production-line-controls .project-progress-track{margin:0}.field-module .production-line-list article>small{display:block;margin-top:8px;color:#849087;font-size:9px}.field-module .completed-actuals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.field-module .completed-actuals-grid>div{padding:11px;border-radius:9px;background:var(--green-soft)}.field-module .completed-actuals-grid strong,.field-module .completed-actuals-grid span{display:block}.field-module .completed-actuals-grid strong{font-size:11px}.field-module .completed-actuals-grid span{margin-top:4px;color:var(--muted);font-size:10px}.field-module .plan-library-search{width:210px}.field-module .shared-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.field-module .shared-plan-card{padding:20px}.field-module .shared-plan-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:12px;background:var(--green-soft);color:var(--green)}.field-module .shared-plan-badges{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0 8px}.field-module .shared-plan-card h2{margin:0;font:700 24px Barlow Condensed,sans-serif}.field-module .shared-plan-card>p{min-height:18px;margin:5px 0 15px;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-module .shared-plan-meta{display:flex;justify-content:space-between;gap:9px;padding:10px 0;border-block:1px solid var(--line);color:var(--muted);font-size:9px}.field-module .shared-plan-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.field-module .shared-plan-actions .button{padding-inline:9px;font-size:11px}.field-module .plan-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.field-module .plan-preview-toolbar>span{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-module .plan-preview-toolbar>div{display:flex;gap:8px;flex:none}.field-module .plan-preview-toolbar a{text-decoration:none}.field-module .plan-preview-frame{min-height:62vh;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#dfe4df}.field-module .plan-preview-frame object{width:100%;height:68vh;border:0}.field-module .plan-preview-frame img{display:block;width:100%;height:68vh;object-fit:contain}.field-module .plan-preview-loading{min-height:62vh;display:grid;place-items:center;color:var(--muted);font-size:12px}.field-module .field-photo-section{margin-top:28px}.field-module .field-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.field-module .field-photo-card{overflow:hidden}.field-module .field-photo-image{aspect-ratio:4/3;background:#e3e7e3}.field-module .field-photo-image img{width:100%;height:100%;display:block;object-fit:cover}.field-module .field-photo-image>div{height:100%;display:grid;place-items:center;align-content:center;gap:7px;color:var(--muted);font-size:10px}.field-module .field-photo-copy{display:flex;align-items:flex-start;gap:8px;padding:11px}.field-module .field-photo-copy>div{flex:1;min-width:0}.field-module .field-photo-copy strong,.field-module .field-photo-copy span{display:block}.field-module .field-photo-copy strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-module .field-photo-copy span{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.4}.field-module .equipment-card-actions{display:grid;grid-template-columns:.72fr 1.28fr;gap:7px;margin-top:12px}.field-module .equipment-card-actions .button{padding-inline:8px;font-size:10px}.field-module .inspection-history-panel{margin-top:28px}.field-module .inspection-history-list{display:grid;gap:8px}.field-module .inspection-history-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px}.field-module .inspection-history-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--green-soft);color:var(--green)}.field-module .inspection-history-card strong,.field-module .inspection-history-card span{display:block}.field-module .inspection-history-card>div:nth-child(2)>strong{font-size:11px}.field-module .inspection-history-card span{margin-top:4px;color:var(--muted);font-size:10px}.field-module .inspection-history-card p{margin:7px 0 0;color:#72501c;font-size:10px}.field-module .inspection-empty{padding:17px;color:var(--muted);font-size:11px}.field-module .inspection-checklist{margin-top:20px}.field-module .inspection-checklist h3{font:700 19px Barlow Condensed,sans-serif}.field-module .inspection-checklist label{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:7px;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:11px}.field-module .inspection-checklist input{width:17px;min-height:17px;accent-color:var(--green)}.field-module .inspection-checklist label strong{color:var(--green);font-size:9px}.field-module .inspection-checklist label.failed{border-color:#edc0ba;background:var(--red-soft);color:#813d37}.field-module .inspection-checklist label.failed strong{color:var(--red)}.field-module .inspection-notes{margin-top:16px}.field-module .week-picker{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.field-module .week-picker input{width:145px;min-height:42px}.field-module .time-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:18px}.field-module .time-layout>.card{padding:21px}.field-module .worker-summary-list,.field-module .time-entry-list{display:grid}.field-module .worker-summary-list article,.field-module .time-entry-list button{display:flex;justify-content:space-between;align-items:center;gap:13px;padding:12px 0;border:0;border-top:1px solid var(--line);background:transparent;color:inherit;text-align:left}.field-module .worker-summary-list article:first-child,.field-module .time-entry-list button:first-child{border-top:0}.field-module .worker-summary-list article>div:last-child,.field-module .time-entry-list button>div:nth-child(2){margin-left:auto;text-align:right}.field-module .worker-summary-list strong,.field-module .worker-summary-list span,.field-module .time-entry-list strong,.field-module .time-entry-list span{display:block}.field-module .worker-summary-list strong,.field-module .time-entry-list strong{font-size:11px}.field-module .worker-summary-list span,.field-module .time-entry-list span{margin-top:4px;color:var(--muted);font-size:9px}.field-module .time-entry-list button{width:100%}.field-module .time-entry-list button:hover{color:var(--green)}.field-module .time-calculated-total{margin-top:15px;padding:12px;border-radius:9px;background:var(--green-soft);color:var(--muted);font-size:11px}.field-module .time-calculated-total strong{color:var(--green)}.field-module .pay-rate-note{color:var(--muted);font-size:11px;line-height:1.5}.field-module .pay-rate-list{display:grid;gap:8px}.field-module .pay-rate-list>div{display:grid;grid-template-columns:minmax(150px,1fr) 150px 130px;align-items:end;gap:10px;padding:11px;border:1px solid var(--line);border-radius:9px}.field-module .pay-rate-list>div>strong{align-self:center;font-size:11px}.field-module .pay-rate-list label{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.field-module .pay-rate-list input{margin-top:5px}@media(max-width:1180px){.field-module .stat-grid,.field-module .project-grid,.field-module .equipment-grid-cards,.field-module .settings-grid{grid-template-columns:1fr 1fr}.field-module .project-detail-links{grid-template-columns:repeat(3,1fr)}.field-module .shared-plan-grid{grid-template-columns:1fr 1fr}.field-module .field-photo-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:840px){.field-module .sidebar{transform:translate(-100%);transition:transform .2s ease;box-shadow:20px 0 50px #00000040}.field-module .sidebar-open{transform:translate(0)}.field-module .sidebar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:25}.field-module .mobile-close{display:block;margin-left:auto;border:0;background:transparent;color:#fff}.field-module .main{margin-left:0}.field-module .mobile-topbar{height:58px;position:sticky;top:0;z-index:20;background:var(--green-dark);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 15px}.field-module .mobile-topbar .icon-button{color:#fff;border-color:#fff3;background:#ffffff0d}.field-module .mobile-topbar>div{display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.06em;font-size:13px}.field-module .content{padding:24px 18px 70px}.field-module .page-header{align-items:flex-start;flex-direction:column}.field-module .header-actions{width:100%}.field-module .header-actions .button{margin-left:auto}.field-module .calculator-grid,.field-module .dashboard-grid{grid-template-columns:1fr}.field-module .dashboard-grid .span-2{grid-column:auto}.field-module .settings-grid,.field-module .project-detail-hero,.field-module .time-layout{grid-template-columns:1fr}.field-module .project-detail-links{grid-template-columns:1fr 1fr}.field-module .production-line-controls{grid-template-columns:160px 1fr}.field-module .production-line-controls .button{grid-column:span 2}.field-module .field-photo-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.field-module .content{padding-inline:13px}.field-module .page-header h1{font-size:33px}.field-module .page-header{margin-bottom:20px}.field-module .stat-grid,.field-module .stat-grid.three{grid-template-columns:1fr 1fr;gap:9px}.field-module .stat-card{padding:13px;gap:9px}.field-module .stat-icon{width:37px;height:37px}.field-module .stat-card strong{font-size:23px}.field-module .stat-card small{display:none}.field-module .project-grid,.field-module .equipment-grid-cards{grid-template-columns:1fr;gap:12px}.field-module .snapshot-grid{grid-template-columns:1fr}.field-module .project-activity{align-items:flex-start}.field-module .task-count{display:none}.field-module .header-actions{display:grid;grid-template-columns:1fr 1fr}.field-module .filter-select{min-width:0}.field-module .header-actions .button{width:100%}.field-module .log-card{align-items:flex-start;gap:11px;padding:13px}.field-module .log-date{width:44px;height:49px}.field-module .log-date strong{font-size:21px}.field-module .log-meta{flex-wrap:wrap;gap:7px 13px}.field-module .log-card .pill,.field-module .chevron{display:none}.field-module .safety-card{padding:14px}.field-module .safety-badge{width:37px;height:37px}.field-module .safety-summary{grid-template-columns:1fr}.field-module .safety-meta{flex-wrap:wrap;gap:7px 12px}.field-module .form-grid{grid-template-columns:1fr}.field-module .field-span{grid-column:auto}.field-module .modal-backdrop{padding:0;align-items:end}.field-module .modal{width:100%;max-height:94vh;border-radius:16px 16px 0 0}.field-module .modal-wide{width:100%}.field-module .modal-body{padding:16px}.field-module .modal-header{padding:15px 16px}.field-module .crew-grid,.field-module .equipment-grid{grid-template-columns:1fr 1fr 1fr 1fr 34px}.field-module .crew-grid input:nth-child(1),.field-module .equipment-grid select:nth-child(1){grid-column:span 3}.field-module .crew-grid input:nth-child(2),.field-module .equipment-grid input:nth-child(2){grid-column:span 2}.field-module .quantity-grid{grid-template-columns:1fr .55fr .45fr 34px}.field-module .calc-fields,.field-module .calc-results.triple{grid-template-columns:1fr 1fr}.field-module .calc-results.triple .calc-result:last-child{grid-column:span 2}.field-module .task-row{padding:14px 12px;align-items:flex-start;gap:9px}.field-module .task-row .row-title{align-items:flex-start}.field-module .task-row .row-title>div{flex-wrap:wrap;justify-content:flex-end}.field-module .project-tabs{width:100%}.field-module .project-tabs a{flex:1;text-align:center}.field-module .project-detail-links,.field-module .shared-plan-grid,.field-module .field-photo-grid,.field-module .production-line-controls{grid-template-columns:1fr}.field-module .production-line-controls .button{grid-column:auto}.field-module .completed-actuals-grid{grid-template-columns:1fr}.field-module .plan-preview-toolbar{align-items:flex-start;flex-direction:column}.field-module .plan-preview-toolbar>div{width:100%}.field-module .plan-preview-toolbar .button{flex:1}.field-module .pay-rate-list>div{grid-template-columns:1fr 1fr}.field-module .pay-rate-list>div>strong{grid-column:span 2}.field-module .equipment-card-actions{grid-template-columns:1fr}}
