:root{--ink:#183431;--ink-soft:#51635f;--muted:#8a9692;--line:#e8ece9;--surface:#fff;--canvas:#f7f8f6;--green:#174a45;--green-deep:#123d3a;--green-soft:#e9f2ef;--sand:#f7f1e5;--amber:#d59a3c;--shadow:0 10px 35px #1f3b340b}*{box-sizing:border-box}html{background:var(--canvas);min-height:100%}body{min-height:100vh;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-family:Tahoma,Segoe UI,Arial,sans-serif;font-size:14px}button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:5;background:#fcfdfb;border-inline-end:1px solid #e9edea;flex-direction:column;width:256px;padding:28px 17px 18px;display:flex;position:fixed;inset-block:0;inset-inline-start:0}.brand-row{align-items:center;gap:12px;padding:0 10px 34px;display:flex}.brand-mark{color:#f7d693;background:var(--green-deep);border-radius:13px;place-items:center;width:39px;height:39px;font-size:21px;font-weight:700;display:grid;box-shadow:0 5px 12px #123d3a21}.brand-name{letter-spacing:-.2px;font-size:14px;font-weight:700}.brand-caption{color:#8d9994;margin-top:3px;font-size:11px}.nav-label{color:#a1aaa6;letter-spacing:.04em;margin:0 12px 9px;font-size:10px;font-weight:600}.main-nav{gap:4px;display:grid}.nav-item{color:#677772;border-radius:9px;align-items:center;gap:12px;min-height:42px;padding:0 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex;position:relative}.nav-item:hover{color:var(--green);background:#f2f6f3}.nav-item.active{color:var(--green-deep);background:#eaf2ef;font-weight:700}.nav-item.active:before{content:"";background:#c8933e;border-radius:3px;width:3px;position:absolute;inset-block:9px;inset-inline-start:0}.nav-icon{color:#899793;place-items:center;width:19px;font-family:sans-serif;font-size:17px;line-height:1;display:inline-grid}.nav-item.active .nav-icon{color:var(--green)}.nav-count{color:#75847f;background:#f1f4f2;border-radius:6px;place-items:center;min-width:21px;height:19px;margin-inline-start:auto;font-size:10px;display:grid}.sidebar-bottom{gap:15px;margin-top:auto;display:grid}.workspace-card{background:#fff;border:1px solid #e9eeeb;border-radius:11px;align-items:center;gap:9px;padding:11px 9px;display:flex}.workspace-avatar{color:#547064;background:#eaf0eb;border-radius:9px;flex:none;place-items:center;width:31px;height:31px;font-size:10px;font-weight:700;display:grid}.workspace-copy{gap:3px;min-width:0;display:grid}.workspace-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;overflow:hidden}.workspace-copy span{color:#98a29e;font-size:9px}.workspace-menu{color:#a0aaa5;letter-spacing:1px;margin-inline-start:auto;font-size:17px}.main-panel{width:calc(100% - 256px);min-height:100vh;margin-inline-start:256px}.topbar{background:#fffc;border-bottom:1px solid #e9eeeb;justify-content:space-between;align-items:center;height:68px;padding:0 45px;display:flex}.breadcrumb{color:#9aa49f;align-items:center;gap:11px;font-size:11px;display:flex}.breadcrumb strong{color:#54645e;font-weight:600}.crumb-separator{color:#c1c9c4}.top-actions{align-items:center;gap:18px;display:flex}.language-button{color:#60716b;align-items:center;gap:7px;font-size:11px;font-weight:500;display:flex}.language-button:hover{color:var(--green)}.language-button span{color:#889791;font-size:14px}.icon-button{color:#687973;background:0 0;border:0;border-radius:9px;place-items:center;width:31px;height:31px;font-family:sans-serif;font-size:16px;display:grid;position:relative}.notification-button i{background:#d3983f;border:1px solid #fff;border-radius:50%;width:5px;height:5px;position:absolute;inset-block-start:5px;inset-inline-end:6px}.user-avatar{color:#fff;background:linear-gradient(145deg,#bca477,#826844);border:2px solid #fff;border-radius:50%;place-items:center;width:31px;height:31px;font-size:11px;font-weight:700;display:grid;box-shadow:0 0 0 1px #e9e6de}.content-wrap{max-width:1420px;margin:0 auto;padding:39px 45px 24px}.page-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:25px;display:flex}.date-eyebrow{color:#84928c;align-items:center;gap:8px;font-size:10px;font-weight:500;display:flex}.live-dot{background:#66a890;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #e7f3ee}.date-divider{color:#c5cec8}h1{color:#1c3732;letter-spacing:-.6px;margin:11px 0 5px;font-size:clamp(22px,2.3vw,29px);font-weight:600}h1 span{color:#63746d;font-weight:400}.page-heading p{color:#89958f;margin:0;font-size:12px}.primary-button{color:#fff;white-space:nowrap;background:#174a45;border:1px solid #174a45;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:0 15px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 3px 8px #174a451c}.primary-button:hover{background:#0f3d38;transform:translateY(-1px)}.plus{font-family:sans-serif;font-size:17px;font-weight:400;line-height:1}.foundation-banner{color:#778176;background:#fcfbf5;border:1px solid #e9eadf;border-radius:8px;align-items:center;gap:9px;min-height:39px;margin-bottom:17px;padding:0 13px;font-size:10px;display:flex}.banner-icon{color:#c99743;font-size:14px}.banner-badge{color:#98723b;letter-spacing:.07em;background:#f4eddd;border-radius:5px;margin-inline-start:auto;padding:3px 7px;font-family:Arial,sans-serif;font-size:8px;font-weight:700}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px;display:grid}.stat-card{background:var(--surface);min-height:126px;box-shadow:var(--shadow);border:1px solid #e9eeeb;border-radius:11px;padding:16px 16px 13px}.stat-card-link{color:inherit;text-decoration:none;transition:all .15s;display:block}.stat-card-link:hover{border-color:#d7e5dc;transform:translateY(-1px);box-shadow:0 8px 20px #1834310b}.stat-topline{color:#798680;justify-content:space-between;align-items:center;gap:8px;font-size:10px;font-weight:500;display:flex}.stat-icon{border-radius:8px;place-items:center;width:27px;height:27px;font-family:sans-serif;font-size:14px;display:grid}.tone-0{color:#4d8875;background:#edf5f1}.tone-1{color:#bc8b43;background:#faf3e8}.tone-2{color:#657ea2;background:#eef2f8}.tone-3{color:#ad7867;background:#f8efeb}.stat-value{color:#29443e;letter-spacing:-.8px;margin-top:10px;font-family:Arial,sans-serif;font-size:25px;font-weight:600}.stat-footnote{color:#a0aaa5;margin-top:3px;font-size:9px}.work-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:15px;display:grid}.surface-card{background:var(--surface);min-height:355px;box-shadow:var(--shadow);border:1px solid #e9eeeb;border-radius:11px}.section-heading{border-bottom:1px solid #eff2ef;justify-content:space-between;align-items:start;gap:14px;padding:18px 19px 15px;display:flex}.section-heading h2{color:#314a43;margin:0;font-size:12px;font-weight:700}.section-heading p{color:#9aa49f;margin:4px 0 0;font-size:9px}.period-button{color:#718079;background:#fff;border:1px solid #e8ece9;border-radius:6px;align-items:center;gap:12px;padding:6px 9px;font-size:9px;display:flex}.period-button span{color:#a6b0aa}.empty-state{text-align:center;flex-direction:column;align-items:center;padding:29px 22px 22px;display:flex}.empty-illustration{width:116px;height:103px;margin-bottom:8px;position:relative}.illustration-ring{border:1px solid #e4eee8;border-radius:50%;position:absolute;inset:10px 13px}.ring-two{border-style:dashed;border-color:#e9eee8;inset:19px 22px}.illustration-paper{background:#fff;border:1px solid #dee8e2;border-radius:7px;flex-direction:column;gap:7px;width:42px;height:54px;padding:12px 9px;display:flex;position:absolute;inset-block-start:20px;inset-inline-start:39px;transform:rotate(-5deg);box-shadow:0 5px 12px #4268590c}.illustration-paper span{background:#e8efea;border-radius:2px;height:3px}.illustration-paper span:first-child{background:#c9dfd2;width:19px}.illustration-paper span:last-child{width:16px}.illustration-check{color:#fff;background:#67a188;border:3px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;font-family:sans-serif;font-size:12px;display:grid;position:absolute;inset-block-start:52px;inset-inline-start:66px;box-shadow:0 2px 5px #42755e2b}.empty-state h3{color:#486057;margin:3px 0 6px;font-size:12px;font-weight:600}.empty-state p{color:#99a39e;max-width:300px;margin:0;font-size:10px;line-height:1.9}.text-button{color:#2f7665;align-items:center;gap:8px;margin-top:15px;font-size:10px;font-weight:600;display:inline-flex}.text-button span,.small-link span{font-family:sans-serif;font-size:14px}.visits-card{flex-direction:column;display:flex}.small-link{color:#38806d;white-space:nowrap;align-items:center;gap:7px;margin-top:3px;font-size:9px;font-weight:600;display:inline-flex}.visits-empty{color:#a2aca7;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:210px;display:flex}.visits-empty p{margin:12px 0 0;font-size:10px}.calendar-art{background:#fcfdfb;border:1px solid #e3ece6;border-radius:8px;width:47px;height:43px;padding:10px 7px 5px;position:relative;box-shadow:0 5px 15px #3157470d}.calendar-cap{background:#8bb6a1;border-radius:2px;height:2px;position:absolute;inset-block-start:7px;inset-inline:8px}.calendar-grid{grid-template-columns:repeat(3,1fr);gap:4px;margin-top:10px;display:grid}.calendar-grid i{background:#e5ece7;border-radius:2px;width:5px;height:5px}.calendar-grid i:nth-child(2),.calendar-grid i:nth-child(5){background:#d8eadf}.visit-legend{color:#8b9791;border-top:1px solid #eff2ef;gap:16px;padding:12px 18px;font-size:8px;display:flex}.visit-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{border-radius:50%;width:6px;height:6px}.legend-dot.teal{background:#63a68d}.legend-dot.amber{background:#d4a14b}.app-footer{color:#aab3ae;justify-content:center;align-items:center;gap:9px;margin-top:22px;font-size:9px;display:flex}.dashboard-order-list,.dashboard-upcoming-list{display:grid}.dashboard-order-row,.dashboard-upcoming-row{border-bottom:1px solid #f0f3f0;align-items:center;gap:10px;padding:12px 16px;text-decoration:none;display:grid}.dashboard-order-row{grid-template-columns:56px minmax(0,1fr) auto}.dashboard-order-row:last-child,.dashboard-upcoming-row:last-child{border-bottom:0}.dashboard-order-row:hover,.dashboard-upcoming-row:hover{background:#fbfcfb}.dashboard-order-number{color:#698176;font-family:Arial,sans-serif;font-size:8px}.dashboard-order-main,.dashboard-upcoming-main{gap:4px;min-width:0;display:grid}.dashboard-order-main strong,.dashboard-upcoming-main strong{color:#3b554b;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.dashboard-order-main small,.dashboard-upcoming-main small{color:#94a098;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.dashboard-order-row .status-badge{font-size:7px}.dashboard-empty{color:#98a39d;text-align:center;align-content:center;justify-items:center;gap:8px;min-height:250px;padding:22px;font-size:10px;display:grid}.dashboard-empty-small{min-height:180px}.dashboard-empty .text-button{margin-top:4px}.dashboard-upcoming-row{grid-template-columns:28px minmax(0,1fr) auto;padding:12px 14px}.upcoming-kind{color:#4d8875;background:#edf5f1;border-radius:8px;place-items:center;width:27px;height:27px;font-size:13px;display:grid}.upcoming-kind.visit{color:#a47e3e;background:#faf3e8}.dashboard-upcoming-date{color:#89968f;text-align:end;white-space:nowrap;font-size:8px}.placeholder-page{min-height:70vh}.placeholder-card{text-align:center;background:#fff;border:1px solid #e9eeeb;border-radius:11px;place-items:center;min-height:270px;margin-top:18px;padding:30px;display:grid}.placeholder-card h2{margin:10px 0 4px;font-size:15px}.placeholder-card p{color:#8b9791;max-width:380px;font-size:11px;line-height:1.8}.placeholder-symbol{color:#397767;background:#edf5f1;border-radius:13px;place-items:center;width:45px;height:45px;font-size:20px;display:grid}.crm-page{padding-bottom:42px}.crm-forms-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:15px;margin-top:18px;display:grid}.crm-form-card{box-shadow:var(--shadow);background:#fff;border:1px solid #e8eeea;border-radius:10px;gap:12px;padding:18px;display:grid}.crm-form-heading{align-items:center;gap:11px;padding-bottom:7px;display:flex}.crm-form-heading h2{color:var(--ink);margin:0;font-size:13px}.crm-form-heading p{color:#9aa49e;margin:4px 0 0;font-size:9px}.crm-form-icon{color:#397767;background:#edf5f1;border-radius:9px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:17px;display:grid}.crm-form-card label{color:#65766e;gap:6px;min-width:0;font-size:9px;font-weight:600;display:grid}.crm-form-card input,.crm-form-card textarea,.crm-form-card select{width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border:1px solid #e2e9e4;border-radius:6px;outline:0;padding:9px 10px;font-size:10px;font-weight:400}.crm-form-card input,.crm-form-card select{height:36px}.crm-form-card textarea{resize:vertical;line-height:1.6}.crm-form-card input:focus,.crm-form-card textarea:focus,.crm-form-card select:focus{border-color:#6ca28c;box-shadow:0 0 0 3px #6ca28c1c}.crm-two-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.crm-submit{cursor:pointer;border:0;justify-content:center;min-height:36px;margin-top:2px;font-size:10px}.crm-submit:disabled{opacity:.45;cursor:not-allowed}.crm-flash{color:#2e6957;background:#f0f8f3;border:1px solid #d3e7db;border-radius:7px;margin-top:15px;padding:11px 14px;font-size:10px}.crm-flash.error{color:#a33e38;background:#fff7f5;border-color:#f0d4d0}.crm-list-section{margin-top:22px}.crm-list-section>.section-heading{margin-bottom:12px}.crm-list-section .section-heading h2{margin:0;font-size:14px}.crm-list-section .section-heading p{color:#89968f;margin:5px 0 0;font-size:9px}.crm-empty{color:#929e97;background:#fff;border:1px dashed #dfe8e2;border-radius:9px;place-items:center;min-height:100px;font-size:10px;display:grid}.customer-list{gap:11px;display:grid}.customer-card{background:#fff;border:1px solid #e8eeea;border-radius:9px;padding:15px 16px}.customer-card-heading{align-items:center;gap:10px;display:flex}.customer-avatar{color:#337565;background:#eaf3ee;border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.customer-card-heading h3{color:#2d4740;margin:0;font-size:11px}.customer-card-heading p{color:#919d96;margin:5px 0 0;font-size:9px}.customer-count{color:#718079;white-space:nowrap;background:#f3f6f3;border-radius:20px;margin-inline-start:auto;padding:5px 8px;font-size:8px}.customer-empty-line{color:#a0aaa4;margin:13px 0 1px;padding-inline-start:44px;font-size:9px}.site-list{gap:8px;margin-top:13px;display:grid}.site-row{background:#f8faf8;border-radius:7px;grid-template-columns:23px minmax(120px,1fr) minmax(100px,1fr) auto;align-items:start;gap:9px;padding:10px;display:grid}.site-marker{color:#5e927d;text-align:center;font-size:15px}.site-main{gap:4px;min-width:0;display:grid}.site-main strong{overflow-wrap:anywhere;color:#435b51;font-size:9px}.site-main small,.asset-chips small{color:#97a29b;font-size:8px;line-height:1.6}.asset-chips{flex-wrap:wrap;justify-content:start;gap:5px;display:flex}.asset-chip{color:#64766e;background:#fff;border:1px solid #e6ece7;border-radius:5px;padding:4px 6px;font-size:8px}.record-editor,.asset-editor{position:relative}.record-editor>summary{color:#5f746a;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e3ebe5;border-radius:5px;padding:6px 9px;font-size:9px;list-style:none}.record-editor>summary::-webkit-details-marker{display:none}.asset-editor>summary::-webkit-details-marker{display:none}.asset-editor>summary{cursor:pointer;list-style:none;display:block}.record-editor-panel{z-index:20;background:#fff;border:1px solid #e0e8e2;border-radius:8px;width:min(300px,80vw);max-height:min(70vh,520px);padding:13px;position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0;overflow:auto;box-shadow:0 12px 35px #1834311c}.crm-inline-form{gap:9px;display:grid}.crm-inline-form label{color:#6b7d74;gap:4px;font-size:9px;display:grid}.crm-inline-form input,.crm-inline-form textarea{width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border:1px solid #e2e9e4;border-radius:5px;outline:0;padding:8px;font-size:10px}.crm-inline-form input{height:32px}.crm-inline-form textarea{resize:vertical}.crm-inline-form input:focus,.crm-inline-form textarea:focus{border-color:#6ca28c;box-shadow:0 0 0 3px #6ca28c1c}.crm-inline-form .crm-submit{min-height:33px}.archive-form{border-top:1px solid #eef2ef;margin-top:9px;padding-top:8px}.archive-button{color:#a3524b;cursor:pointer;background:#fff8f7;border:1px solid #efd9d6;border-radius:5px;padding:6px 9px;font-size:9px}.contract-form{max-width:920px;margin-top:18px}.contract-form>label{color:#65766e;gap:6px;font-size:9px;font-weight:600;display:grid}.contract-form input,.contract-form textarea,.contract-form select{width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border:1px solid #e2e9e4;border-radius:6px;outline:0;padding:9px 10px;font-size:10px;font-weight:400}.contract-form input,.contract-form select{height:36px}.contract-form textarea{resize:vertical;line-height:1.6}.contract-form input:focus,.contract-form textarea:focus,.contract-form select:focus{border-color:#6ca28c;box-shadow:0 0 0 3px #6ca28c1c}.contract-list{gap:12px;display:grid}.contract-card{background:#fff;border:1px solid #e8eeea;border-radius:9px;padding:16px}.contract-card-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.contract-number{color:#8a9890;font-size:8px}.contract-card-head h3{color:#2d4740;margin:5px 0 0;font-size:12px}.contract-card-head p{color:#798780;margin:5px 0 0;font-size:9px}.contract-status,.visit-status{color:#397765;background:#edf5f1;border-radius:14px;flex:none;align-items:center;padding:5px 8px;font-size:8px;display:inline-flex}.contract-paused,.contract-ended{color:#7d8580;background:#f2f4f2}.contract-status-controls{justify-items:end;gap:7px;display:grid}.contract-toggle-button{color:#5d7569;cursor:pointer;background:#fff;border:1px solid #e0e8e2;border-radius:5px;padding:5px 8px;font-size:8px}.contract-toggle-button:hover{color:#2f7665;background:#f6faf7;border-color:#bdd4c6}.contract-term{color:#819087;margin-top:12px;font-size:9px}.contract-scope{color:#718078;white-space:pre-wrap;margin:9px 0 0;font-size:9px;line-height:1.7}.contract-visits{gap:7px;margin-top:12px;display:grid}.contract-visit{background:#f8faf8;border-radius:6px;grid-template-columns:minmax(130px,1fr) auto minmax(140px,auto);align-items:center;gap:10px;padding:9px 10px;display:grid}.visit-date{gap:3px;display:grid}.visit-date strong{color:#435b51;font-size:9px}.visit-date span{color:#919d96;font-size:8px}.visit-overdue{color:#a44840;background:#fff0ee}.visit-completed{color:#718079;background:#f0f3f1}.contract-visit .small-link{justify-self:end;margin:0}.contract-visit-action{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.visit-filler{min-height:1px}.schedule-range{color:#65766e;background:#fff;border:1px solid #e8eeea;border-radius:7px;flex-wrap:wrap;align-items:center;gap:9px;margin-top:18px;padding:11px 13px;font-size:9px;display:flex}.schedule-range>span:first-child{color:#4b8a75;font-size:14px}.schedule-range-date{color:#89968f;margin-inline-start:auto}.schedule-list{gap:8px;display:grid}.schedule-card{background:#fff;border:1px solid #e8eeea;border-radius:8px;grid-template-columns:minmax(135px,auto) minmax(150px,1fr) auto;align-items:center;gap:13px;padding:12px 14px;display:grid}.schedule-date{color:#4b6b5e;gap:4px;display:grid}.schedule-date strong{font-size:9px}.schedule-date span{color:#8b9791;font-size:8px}.schedule-date-overdue,.schedule-date-overdue span{color:#a44840}.schedule-date-unscheduled,.schedule-date-unscheduled span{color:#88958e}.schedule-main{min-width:0}.schedule-main h3{color:#2d4740;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;overflow:hidden}.schedule-main h3 a{color:inherit;text-decoration:none}.schedule-main h3 a:hover{color:#2f7665;text-decoration:underline}.schedule-main p{color:#798780;margin:4px 0;font-size:8px}.schedule-main small{color:#929e97;font-size:8px}.schedule-overdue-badge{color:#a44840;background:#fff0ee}.schedule-create-button{cursor:pointer;font:inherit;background:0 0;border:0;margin:0;padding:5px 0}.report-month-bar{background:#fff;border:1px solid #e8eeea;border-radius:8px;justify-content:space-between;align-items:center;width:min(100%,360px);margin-top:19px;padding:9px;display:flex}.report-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.report-export-link{color:#315f50;background:#fff;border:1px solid #dce8e2;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.report-export-link:hover{background:#f3f8f5}.report-month-bar>div{justify-items:center;gap:3px;display:grid}.report-month-bar small{color:#8b9791;font-size:8px}.report-month-bar strong{color:#35594d;font-size:11px}.month-nav{color:#527467;background:#f1f6f3;border-radius:6px;place-items:center;width:30px;height:30px;font-size:17px;display:grid}.month-nav.disabled{color:#c2cbc6;background:#f8f9f8}.report-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:15px;display:grid}.report-stat-card{background:#fff;border:1px solid #e8eeea;border-radius:8px;align-content:start;gap:7px;min-height:104px;padding:13px;display:grid}.report-stat-card>span{color:#75857d;font-size:9px}.report-stat-card>strong{color:#254c42;font-size:22px;font-weight:600}.report-stat-card>small{color:#929e97;font-size:8px}.report-progress{background:#eef2ef;border-radius:5px;height:5px;overflow:hidden}.report-progress i{border-radius:inherit;background:#62a184;height:100%;display:block}.report-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;margin-top:13px;display:grid}.report-panel{background:#fff;border:1px solid #e8eeea;border-radius:9px;padding:15px}.report-panel>.section-heading{margin-bottom:12px}.report-panel .section-heading h2{margin:0;font-size:13px}.report-panel .section-heading p{color:#89968f;margin:5px 0 0;font-size:8px}.report-visit-summary{grid-template-columns:1fr 1fr auto;align-items:center;gap:9px;margin-bottom:10px;display:grid}.report-visit-summary>div{gap:4px;display:grid}.report-visit-summary span{color:#849189;font-size:8px}.report-visit-summary strong{color:#35594d;font-size:17px}.report-visit-summary>b{color:#4b8a75;font-size:14px}.report-outcomes{border-top:1px solid #eef2ef;gap:8px;margin-top:16px;padding-top:12px;display:grid}.report-outcomes h3{color:#53675e;margin:0 0 1px;font-size:9px}.report-outcomes>div{color:#7c8a82;justify-content:space-between;font-size:8px;display:flex}.report-outcomes strong{color:#365b4e}.technician-report-list{gap:13px;display:grid}.technician-report-row{gap:6px;display:grid}.technician-report-name{grid-template-columns:20px 1fr auto;align-items:center;gap:7px;display:grid}.technician-report-name>span{color:#648073;background:#edf4f0;border-radius:6px;place-items:center;width:18px;height:18px;font-size:8px;display:grid}.technician-report-name>strong{color:#52675e;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.technician-report-name>b{color:#35594d;font-size:10px}.report-list{gap:8px;display:grid}.report-row{background:#fff;border:1px solid #e8eeea;border-radius:8px;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 13px;display:grid}.report-row-date{color:#819087;font-size:8px}.report-row-main{min-width:0}.report-row-main h3{color:#35564b;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:9px;overflow:hidden}.report-row-main p{color:#829087;margin:4px 0;font-size:8px}.report-row-main small{color:#9aa49f;text-overflow:ellipsis;white-space:nowrap;font-size:8px;display:block;overflow:hidden}.report-outcome-badge{color:#407761;white-space:nowrap;background:#edf5f1;border-radius:14px;padding:5px 8px;font-size:8px}.settings-page{max-width:1120px}.settings-form{width:min(100%,720px);margin-top:18px}.settings-form>label{color:#65766e;gap:6px;font-size:9px;font-weight:600;display:grid}.settings-form input,.settings-form select{width:100%;height:38px;color:var(--ink);font:inherit;background:#fff;border:1px solid #e2e9e4;border-radius:6px;outline:0;padding:9px 10px;font-size:10px;font-weight:400}.settings-form input:focus,.settings-form select:focus{border-color:#6ca28c;box-shadow:0 0 0 3px #6ca28c1c}.settings-fixed-card{background:#fff;border:1px solid #e8eeea;border-radius:10px;width:min(100%,720px);margin-top:14px;padding:18px}.settings-fixed-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.settings-fixed-grid>div{background:#f8faf8;border-radius:7px;gap:6px;padding:10px;display:grid}.settings-fixed-grid small{color:#8b9791;font-size:8px}.settings-fixed-grid strong{color:#36594d;font-size:10px}.settings-owner-note{color:#929e97;width:min(100%,720px);margin:11px 0 0;font-size:8px}.site-record-editor{justify-self:start}.order-form{max-width:920px;margin-top:18px}.order-form>label{color:#65766e;gap:6px;font-size:9px;font-weight:600;display:grid}.order-form input,.order-form textarea,.order-form select{width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border:1px solid #e2e9e4;border-radius:6px;outline:0;padding:9px 10px;font-size:10px;font-weight:400}.order-form input,.order-form select{height:36px}.order-form textarea{resize:vertical;line-height:1.6}.order-form input:focus,.order-form textarea:focus,.order-form select:focus{border-color:#6ca28c;box-shadow:0 0 0 3px #6ca28c1c}.order-list{gap:9px;display:grid}.order-filter-form{background:#fff;border:1px solid #e8eeea;border-radius:9px;grid-template-columns:minmax(220px,1fr) minmax(150px,220px) auto auto;align-items:end;gap:10px;margin:13px 0;padding:13px;display:grid}.order-filter-form label{color:#65766e;gap:6px;min-width:0;font-size:9px;font-weight:600;display:grid}.order-filter-form input,.order-filter-form select{width:100%;min-width:0;height:36px;color:var(--ink);font:inherit;background:#fff;border:1px solid #e2e9e4;border-radius:6px;outline:0;padding:8px 10px;font-size:10px;font-weight:400}.order-filter-form input:focus,.order-filter-form select:focus{border-color:#6ca28c;box-shadow:0 0 0 3px #6ca28c1c}.order-filter-form button{color:#31594c;min-height:36px;font:inherit;white-space:nowrap;background:#edf5f1;border:1px solid #dce8e1;border-radius:6px;padding:0 14px;font-size:9px;font-weight:600}.order-filter-form .small-link{align-self:center;margin:0}.order-card{background:#fff;border:1px solid #e8eeea;border-radius:9px;grid-template-columns:95px minmax(180px,1fr) minmax(130px,auto);align-items:center;gap:15px;padding:14px 16px;display:grid}.order-number{color:#7f8c86;white-space:nowrap;font-family:Arial,sans-serif;font-size:9px}.order-number strong{color:#3b5c50}.order-main{min-width:0}.order-main h3{color:#2d4740;margin:0;font-size:11px}.order-main p{color:#798780;margin:5px 0;font-size:9px}.order-main small{color:#98a39d;text-overflow:ellipsis;white-space:nowrap;font-size:9px;display:block;overflow:hidden}.order-meta{color:#89958f;text-align:end;justify-items:end;gap:6px;font-size:8px;display:grid}.priority-badge,.status-badge{color:#61746a;white-space:nowrap;background:#f1f5f2;border-radius:12px;padding:4px 7px;font-size:8px}.priority-high{color:#98703b;background:#faf3e8}.priority-urgent{color:#a44840;background:#fff0ee}.status-badge{color:#3f7965;background:#edf5f1}.order-main h3 a{color:inherit;text-decoration:none}.order-main h3 a:hover{color:#2f7665;text-decoration:underline}.detail-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:18px 0;display:grid}.detail-summary>div{background:#fff;border:1px solid #e8eeea;border-radius:8px;align-content:start;gap:6px;min-width:0;padding:13px;display:grid}.detail-summary small{color:#8b9791;font-size:8px}.detail-summary strong{overflow-wrap:anywhere;color:#3c574d;font-size:10px}.detail-summary span:not(.status-badge){color:#96a19b;font-size:8px;line-height:1.5}.detail-summary .status-badge{justify-self:start}.order-detail-grid{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);margin-top:0}.cancel-order-form{align-content:start}.cancel-order-form label{color:#65766e;gap:6px;font-size:9px;font-weight:600;display:grid}.cancel-order-form textarea{width:100%;min-height:88px;color:var(--ink);font:inherit;resize:vertical;background:#fff;border:1px solid #e2e9e4;border-radius:6px;outline:0;padding:9px 10px;font-size:10px}.cancel-order-form textarea:focus{border-color:#6ca28c;box-shadow:0 0 0 3px #6ca28c1c}.timeline-list{background:#fff;border:1px solid #e8eeea;border-radius:9px;gap:0;padding:7px 18px;display:grid}.timeline-item{grid-template-columns:14px 1fr;gap:10px;padding:12px 0;display:grid;position:relative}.timeline-item:not(:last-child):before{content:"";background:#e4ece7;width:1px;position:absolute;inset-block:22px -12px;inset-inline-start:5px}.timeline-dot{z-index:1;background:#66a890;border:2px solid #fff;border-radius:50%;width:11px;height:11px;margin-top:2px;box-shadow:0 0 0 1px #b9d8c8}.timeline-item strong{color:#405b50;font-size:10px}.timeline-item p{color:#7a8981;margin:5px 0;font-size:9px}.timeline-item small{color:#99a39d;margin-top:5px;font-size:8px;display:block}.team-add-form{max-width:760px;margin-top:18px}.invite-link-card{color:#35584b;background:#f5fbf7;border:1px solid #cfe4d9;border-radius:9px;gap:9px;margin-top:12px;padding:14px;display:grid}.invite-link-card>div{gap:8px;display:flex}.invite-link-card input{color:#52665c;min-width:0;height:38px;font:inherit;direction:ltr;background:#fff;border:1px solid #dce9e1;border-radius:6px;flex:1;padding:0 10px;font-size:12px}.form-hint{color:#87948d;margin:10px 0 0;font-size:12px}.team-list{gap:9px;display:grid}.team-card{background:#fff;border:1px solid #e8eeea;border-radius:9px;grid-template-columns:minmax(180px,1fr) minmax(110px,auto) minmax(210px,auto);align-items:center;gap:15px;padding:13px 15px;display:grid}.team-card-inactive{opacity:.72;background:#f9faf9}.team-identity{align-items:center;gap:10px;min-width:0;display:flex}.team-identity h3{color:#2d4740;margin:0;font-size:10px}.team-identity p{overflow-wrap:anywhere;color:#8c9992;margin:5px 0 0;font-size:9px}.team-role{justify-items:start;gap:5px;display:grid}.team-role strong{color:#526a5f;font-size:9px}.team-role small{color:#9aa49e;font-size:8px}.inactive-badge{color:#8a736f;background:#f3eeee}.team-protected{color:#87948d;font-size:9px}.team-controls{justify-content:end;align-items:center;gap:8px;display:flex}.team-role-form{align-items:center;gap:7px;display:flex}.team-role-form select{color:#52665c;max-width:120px;height:31px;font:inherit;background:#fff;border:1px solid #e2e9e4;border-radius:5px;padding:0 7px;font-size:8px}.team-role-form .text-button{white-space:nowrap;margin:0}.team-role-form button:disabled{opacity:.5;cursor:not-allowed}.team-controls>form>.archive-button{white-space:nowrap}.technician-shell{background:#f5f8f5;min-height:100vh}.technician-topbar{z-index:5;background:#fff;border-bottom:1px solid #e6ede8;justify-content:space-between;align-items:center;min-height:62px;padding:0 max(18px,50vw - 510px);display:flex;position:sticky;inset-block-start:0}.technician-topbar .brand-row{padding:0}.technician-topbar .brand-name{font-size:12px}.technician-topbar .top-actions{gap:10px}.technician-company{color:#839088;font-size:9px}.technician-content{width:min(100% - 32px,820px);margin:0 auto;padding:28px 0 60px}.technician-heading{margin-bottom:20px}.technician-heading h1{margin:9px 0 5px}.technician-heading p{color:#89958f;margin:0;font-size:11px}.technician-empty{text-align:center;background:#fff;border:1px dashed #dce7df;border-radius:12px;justify-items:center;gap:8px;min-height:230px;padding:34px 20px;display:grid}.technician-empty h2{color:#405b50;margin:3px 0;font-size:14px}.technician-empty p{color:#8c9992;max-width:380px;margin:0;font-size:10px;line-height:1.8}.technician-order-list{gap:13px;display:grid}.technician-order-card{box-shadow:var(--shadow);background:#fff;border:1px solid #e4ece6;border-radius:11px;gap:14px;padding:17px;display:grid}.technician-order-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.technician-order-number{color:#829087;font-family:Arial,sans-serif;font-size:9px}.technician-state{color:#7c683e;background:#faf3e8;border-radius:20px;padding:5px 8px;font-size:8px}.technician-state-running{color:#34735f;background:#edf5f1}.technician-state-unable{color:#a44840;background:#fff0ee}.technician-order-card>h2{color:#28453d;margin:-5px 0 0;font-size:16px}.technician-detail-grid{background:#f8faf8;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:13px;display:grid}.technician-detail-grid>div{gap:4px;min-width:0;display:grid}.technician-detail-grid small{color:#8b9791;font-size:8px}.technician-detail-grid strong{overflow-wrap:anywhere;color:#3c574d;font-size:10px}.technician-detail-grid span{color:#96a19b;font-size:8px;line-height:1.5}.technician-notes{gap:6px;display:grid}.technician-notes strong{color:#566c61;font-size:9px}.technician-notes p{color:#76857d;white-space:pre-wrap;margin:0 0 3px;font-size:10px;line-height:1.8}.technician-contact{color:#7f8d85;justify-content:space-between;align-items:center;gap:8px;font-size:9px;display:flex}.technician-contact a{color:#2f7665;font-weight:600;text-decoration:none}.technician-actions{border-top:1px solid #edf1ee;gap:11px;padding-top:12px;display:grid}.technician-actions>form:first-child .primary-button{width:100%}.technician-unable-form{gap:8px;display:grid}.technician-unable-form label{color:#7c8982;gap:5px;font-size:8px;display:grid}.technician-unable-form input{width:100%;height:36px;color:var(--ink);font:inherit;background:#fff;border:1px solid #e2e9e4;border-radius:6px;outline:0;padding:0 10px;font-size:10px}.technician-unable-form input:focus{border-color:#6ca28c;box-shadow:0 0 0 3px #6ca28c1c}.technician-unable-form .archive-button{justify-self:start;min-height:34px}.technician-report-form{border-top:1px solid #edf1ee;gap:12px;margin-top:4px;padding-top:15px;display:grid}.report-form-heading h2{color:#28453d;margin:0;font-size:14px}.report-form-heading p,.report-hint{color:#8c9992;margin:4px 0 0;font-size:9px;line-height:1.7}.report-draft-status{color:#39715d;background:#edf5f1;border-radius:6px;margin:0;padding:8px 10px;font-size:9px;line-height:1.6}.technician-report-form label,.signature-control{color:#64766d;gap:6px;font-size:9px;font-weight:600;display:grid}.technician-report-form input:not([type=file]),.technician-report-form textarea,.technician-report-form select{width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border:1px solid #e2e9e4;border-radius:6px;outline:0;padding:9px 10px;font-size:10px;font-weight:400}.technician-report-form input:not([type=file]),.technician-report-form select{height:38px}.technician-report-form textarea{resize:vertical;line-height:1.7}.technician-report-form input:focus,.technician-report-form textarea:focus,.technician-report-form select:focus{border-color:#6ca28c;box-shadow:0 0 0 3px #6ca28c1c}.technician-report-form input[type=file]{color:#74847b;width:100%;font:inherit;background:#fafcfb;border:1px dashed #d5e2d9;border-radius:6px;padding:9px;font-size:9px}.report-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.signature-canvas{touch-action:none;background:#fcfdfc;border:1px dashed #cfddd3;border-radius:7px;width:100%;height:118px}.signature-clear{color:#5c7468;cursor:pointer;font:inherit;background:#fff;border:1px solid #e3ebe5;border-radius:5px;justify-self:start;padding:5px 9px;font-size:8px}.no-signature-label{margin-top:3px}.report-submit{cursor:pointer;border:0;justify-content:center;width:100%;min-height:40px;font-size:10px}.work-report-card{margin-top:18px}.work-report-fields{gap:10px;display:grid}.work-report-fields>div{background:#f8faf8;border-radius:7px;padding:10px 12px}.work-report-fields small{color:#8b9791;font-size:8px}.work-report-fields p{color:#435b51;white-space:pre-wrap;margin:5px 0 0;font-size:10px;line-height:1.7}.report-attachments h3,.report-signature h3{color:#53695e;margin:0 0 8px;font-size:10px}.report-gallery{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px;display:grid}.report-gallery figure{background:#fff;border:1px solid #e5ece7;border-radius:7px;margin:0;overflow:hidden}.report-gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.report-gallery figcaption{color:#78867e;padding:6px 8px;font-size:8px}.report-signature img{object-fit:contain;background:#fff;border:1px solid #e5ece7;border-radius:6px;width:min(100%,360px);height:110px;display:block}.auth-page{background:radial-gradient(ellipse at 50% 0%, #e7f1eb 0, transparent 45%), var(--canvas);place-items:center;min-height:100vh;padding:28px 16px;display:grid}.auth-card{background:var(--surface);border:1px solid #e8eeea;border-radius:16px;width:min(100%,440px);padding:34px;box-shadow:0 18px 55px #1f3b3414}.auth-brand{gap:12px;padding:0;display:flex}.auth-brand>span:last-child{gap:4px;display:grid}.auth-brand small{color:var(--muted);font-size:10px}.auth-heading{margin:36px 0 22px}.auth-heading h1{letter-spacing:-.5px;margin:9px 0 8px;font-size:25px}.auth-heading p,.auth-footnote{color:var(--muted);margin:0;font-size:12px;line-height:1.8}.auth-form{gap:16px;display:grid}.auth-form label{color:#50635c;gap:7px;font-size:11px;font-weight:600;display:grid}.auth-form input{width:100%;height:43px;color:var(--ink);font:inherit;background:#fff;border:1px solid #dfe7e2;border-radius:7px;outline:none;padding:0 12px}.auth-form input:focus{border-color:#6ca28c;box-shadow:0 0 0 3px #6ca28c1c}.auth-submit{cursor:pointer;border:0;justify-content:center;width:100%;min-height:44px;margin-top:4px}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-error{color:#a33e38;margin:0;font-size:11px;line-height:1.7}.auth-notice{color:#39715d;background:#edf5f1;border-radius:7px;margin:0;padding:9px 11px;font-size:10px;line-height:1.7}.auth-inline-link,.auth-inline-button{color:#2f7665;text-align:center;cursor:pointer;background:0 0;border:0;margin:11px 0 0;font-size:10px;font-weight:600;text-decoration:underline;display:block}.auth-inline-button:disabled{opacity:.55;cursor:wait}.auth-switch{color:#7e8c85;text-align:center;margin:20px 0 0;font-size:11px}.auth-switch a,.auth-language{color:#2f7665;font-weight:700}.auth-language{text-align:center;margin-top:21px;font-size:11px;display:block}.auth-footnote{text-align:center;margin-top:20px}.sign-out-button{color:#64766e;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e5ebe7;border-radius:6px;padding:7px 10px;font-size:9px}.sign-out-button:disabled{opacity:.55;cursor:wait}.offline-banner{z-index:20;color:#73582f;text-align:center;background:#fbf4e8;border-bottom:1px solid #ead8b7;justify-content:center;align-items:center;gap:9px;min-height:38px;padding:7px 14px;font-size:10px;line-height:1.6;display:flex;position:sticky;inset-block-start:0}.offline-indicator{background:#c88731;border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 3px #c887311e}@media (min-width:1500px){.content-wrap{padding-inline:56px}}@media (max-width:1120px){.sidebar{width:220px}.main-panel{width:calc(100% - 220px);margin-inline-start:220px}.content-wrap,.topbar{padding-inline:28px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-forms-grid{grid-template-columns:1fr}}@media (max-width:760px){.sidebar{width:63px;min-width:63px;padding:17px 8px 12px;position:static}.brand-row{justify-content:center;padding:0 0 25px}.brand-mark{width:37px;height:37px}.brand-row>div:last-child,.nav-label,.nav-item>span:not(.nav-icon),.workspace-card,.sidebar-bottom>.nav-item>span:not(.nav-icon){display:none}.main-nav{gap:7px}.nav-item{justify-content:center;min-height:41px;padding:0}.nav-item.active:before{inset-block:10px}.nav-icon{font-size:18px}.sidebar-bottom{justify-items:center}.main-panel{width:calc(100% - 63px);margin-inline-start:0}.topbar{height:58px;padding-inline:16px}.top-actions{gap:11px}.breadcrumb{gap:7px;font-size:9px}.content-wrap{padding:28px 16px 20px}.page-heading{flex-direction:column;align-items:start;gap:15px}.page-heading .primary-button{align-self:stretch}.stats-grid{gap:9px}.stat-card{min-height:111px;padding:12px}.stat-topline{font-size:9px}.stat-footnote{font-size:8px}.work-grid{grid-template-columns:1fr}.surface-card{min-height:310px}.visits-empty{min-height:170px}.app-footer{flex-wrap:wrap}.site-row{grid-template-columns:22px 1fr}.asset-chips,.site-record-editor{grid-column:2}.order-card{grid-template-columns:1fr auto;gap:10px}.order-filter-form{grid-template-columns:1fr 1fr}.order-filter-form .order-search-field{grid-column:1/-1}.order-number{grid-column:1}.order-main{grid-area:2/1/auto/-1}.order-meta{grid-area:1/2}.order-form .crm-two-fields,.contract-form .crm-two-fields{grid-template-columns:1fr}.contract-visit{grid-template-columns:1fr auto;gap:7px}.contract-visit .visit-status{grid-area:1/2}.contract-visit>.small-link,.contract-visit form,.visit-filler{grid-column:1/-1;justify-self:start!important}.schedule-card{grid-template-columns:1fr auto;gap:9px}.schedule-date{grid-area:1/1/auto/-1;grid-template-columns:auto 1fr;align-items:baseline}.schedule-main{grid-area:2/1/auto/-1}.schedule-card>.status-badge,.schedule-card>form{grid-area:3/1/auto/-1;justify-self:start}.schedule-range-date{margin-inline-start:0}.report-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-columns{grid-template-columns:1fr}.report-row{grid-template-columns:1fr auto;gap:8px}.report-row-date,.report-row-main{grid-column:1/-1}.report-outcome-badge{grid-column:1/-1;justify-self:start}.settings-fixed-grid{grid-template-columns:1fr}.detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.order-detail-grid{grid-template-columns:1fr}.team-card{grid-template-columns:1fr auto;gap:10px}.team-identity{grid-column:1/-1}.team-role{grid-column:1}.team-controls{flex-wrap:wrap;grid-column:1/-1;justify-content:start}.team-protected{grid-area:2/2}.technician-topbar{min-height:56px;padding:0 12px}.technician-topbar .brand-name,.technician-company{display:none}.technician-topbar .top-actions{gap:7px}.technician-content{width:min(100% - 24px,820px);padding-top:22px}.technician-order-card{padding:13px}.report-photo-grid{grid-template-columns:1fr}}@media (max-width:420px){.sidebar{width:53px;min-width:53px;padding-inline:5px}.main-panel{width:calc(100% - 53px)}.brand-mark{width:34px;height:34px}.language-button{font-size:9px}.user-avatar{width:28px;height:28px}h1{font-size:21px}.stat-icon{width:22px;height:22px}}@media (max-width:480px){.auth-card{padding:25px 20px}}
