:root{
  --navy:#102A36; --navy2:#173B48; --teal:#4F8886; --teal2:#79AAA5;
  --sand:#E7D9C8; --oyster:#F6F3EE; --ink:#17242B; --muted:#6D7A80;
  --line:#DEE5E6; --white:#fff; --danger:#B54B45; --warn:#B78036; --good:#3B7B61;
  --shadow:0 14px 35px rgba(16,42,54,.10); --radius:18px;
}
*{box-sizing:border-box} html,body{margin:0;background:#F4F6F5;color:var(--ink);font-family:Inter, ui-sans-serif, system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit} button{cursor:pointer}.hidden{display:none!important}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:var(--navy);color:#fff;padding:26px 20px;display:flex;flex-direction:column;z-index:10}
.brand{display:flex;gap:12px;align-items:center;padding:0 8px 26px}.brand-mark{width:44px;height:44px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;letter-spacing:1px}.brand-title{font-family:Georgia,serif;font-size:21px}.brand-subtitle{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#C9D7D8;margin-top:2px}.nav-list{display:flex;flex-direction:column;gap:7px}.nav-btn{appearance:none;border:0;background:transparent;color:#C8D6D8;border-radius:12px;padding:12px 14px;text-align:left;display:flex;gap:11px;align-items:center;font-weight:600}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.10);color:#fff}.nav-icon{width:21px;text-align:center}.sidebar-foot{margin-top:auto;padding:18px 8px 0;border-top:1px solid rgba(255,255,255,.12)}.service-area{font-size:12px;color:#BED0D1;line-height:1.5}.data-mode{font-size:11px;color:#8FB0B0;margin-top:10px}.main{margin-left:260px;min-height:100vh;padding:30px 34px 96px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;font-size:10px;font-weight:800;color:var(--teal)}h1,h2,h3{margin:0}h1{font-family:Georgia,serif;font-weight:500;font-size:34px}.top-actions{display:flex;gap:9px;align-items:center}.session-btn{white-space:nowrap}.primary-btn,.ghost-btn,.storm-btn,.small-btn{border:0;border-radius:12px;padding:11px 16px;font-weight:700}.primary-btn{background:var(--navy);color:#fff}.ghost-btn{background:#fff;border:1px solid var(--line);color:var(--ink)}.storm-banner{background:linear-gradient(110deg,#8F3F3A,#B15B4D);border-radius:18px;color:#fff;padding:18px 22px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.storm-kicker{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;opacity:.8}.storm-title{font-family:Georgia,serif;font-size:22px;margin-top:3px}.storm-btn{background:#fff;color:#7B3732}.content{display:grid;gap:18px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 8px 22px rgba(16,42,54,.05)}.metric-label{font-size:12px;color:var(--muted);font-weight:700}.metric-value{font-family:Georgia,serif;font-size:34px;margin-top:8px}.metric-note{font-size:11px;color:var(--muted);margin-top:4px}.section-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 8px 22px rgba(16,42,54,.05)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-title{font-family:Georgia,serif;font-size:21px}.link-btn{border:0;background:transparent;color:var(--teal);font-weight:800;font-size:12px}.list{display:grid;gap:9px}.row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fff}.avatar{width:38px;height:38px;border-radius:12px;background:var(--oyster);display:grid;place-items:center;color:var(--navy);font-weight:800}.row-title{font-weight:800;font-size:13px}.row-sub{font-size:11px;color:var(--muted);margin-top:3px}.pill{font-size:10px;font-weight:900;letter-spacing:.3px;border-radius:999px;padding:6px 9px;background:#EAF2F0;color:var(--good);white-space:nowrap}.pill.watch{background:#FFF4DF;color:var(--warn)}.pill.action{background:#FBE8E5;color:#A44E45}.pill.urgent{background:#A9423A;color:#fff}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:720px}.table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:10px;border-bottom:1px solid var(--line)}.table td{padding:12px 10px;border-bottom:1px solid #EDF1F1;font-size:12px}.table tr:hover td{background:#FAFBFA}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:#fff;padding:8px 11px;border-radius:999px;font-size:11px;font-weight:700}.chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}.search{width:min(360px,100%);border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 13px;outline:0}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.property-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;box-shadow:0 8px 22px rgba(16,42,54,.05)}.property-top{display:flex;justify-content:space-between;gap:10px}.property-name{font-family:Georgia,serif;font-size:20px}.property-address{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.45}.property-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.meta-cell{background:#F7F8F7;border-radius:12px;padding:10px}.meta-k{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:800}.meta-v{font-size:12px;font-weight:800;margin-top:3px}.storm-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.storm-area{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px}.progress{height:8px;background:#EDF0EF;border-radius:99px;overflow:hidden;margin:12px 0}.progress>span{display:block;height:100%;background:var(--teal);border-radius:99px}.storm-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.storm-count{background:#F7F8F7;border-radius:10px;padding:9px}.storm-count strong{display:block;font-size:18px}.storm-count span{font-size:9px;color:var(--muted)}.modal{border:0;background:transparent;padding:0;width:min(600px,94vw)}.modal::backdrop{background:rgba(8,26,33,.55);backdrop-filter:blur(3px)}.modal-card{background:#fff;border-radius:20px;padding:20px;box-shadow:var(--shadow);max-height:90vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.icon-btn{border:0;background:#EEF2F1;width:34px;height:34px;border-radius:50%;font-size:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:800;color:var(--muted)}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:11px;padding:11px;outline:0;background:#fff}.field textarea{min-height:95px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.mobile-nav{display:none}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.property-grid{grid-template-columns:repeat(2,1fr)}.section-grid{grid-template-columns:1fr}.storm-board{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{display:none}.main{margin-left:0;padding:22px 16px 92px}.topbar{align-items:flex-start;gap:10px}.top-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end}.top-actions .ghost-btn{display:none}.top-actions .session-btn{display:inline-flex!important;padding:9px 10px;font-size:10px;line-height:1.1}.top-actions .session-btn.hidden{display:none!important}h1{font-size:29px}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:14px}.metric-value{font-size:29px}.property-grid{grid-template-columns:1fr}.mobile-nav{position:fixed;inset:auto 0 0 0;height:72px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:20;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav .nav-btn{padding:8px 2px;border-radius:0;justify-content:center;flex-direction:column;gap:3px;font-size:9px;color:#6D7A80}.mobile-nav .nav-btn.active{background:#F4F7F6;color:var(--navy)}.mobile-nav .nav-icon{font-size:18px}.storm-banner{align-items:flex-start;gap:12px;flex-direction:column}.storm-btn{width:100%}.form-grid{grid-template-columns:1fr}.field.full{grid-column:1}}
.card-actions{display:flex;gap:8px;margin-top:14px}.card-actions button{flex:1}.small-btn{background:var(--navy);color:#fff;padding:8px 11px;font-size:11px}.checklist-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-radius:22px;padding:22px;box-shadow:var(--shadow)}.checklist-hero .property-address{color:#cbd9db}.checklist-hero .eyebrow{color:#9fc7c3}.checklist-title{font-size:28px;margin-top:4px}.back-link{color:#fff;padding:0;margin-bottom:12px}.check-progress{width:96px;height:96px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);display:grid;place-items:center;align-content:center;text-align:center;flex:0 0 auto}.check-progress strong{font-family:Georgia,serif;font-size:24px}.check-progress span{font-size:10px;text-transform:uppercase;letter-spacing:1px;opacity:.75}.checklist-progress-panel{padding:14px 18px}.checklist-topline{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);font-weight:700}.check-section{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 8px 22px rgba(16,42,54,.05)}.check-section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px}.check-section-head h3{font-family:Georgia,serif;font-size:21px;font-weight:500}.check-section-head>span{font-size:10px;color:var(--muted);font-weight:800}.check-items{display:grid;gap:9px}.check-item{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff;transition:.18s ease}.check-item.is-complete{background:#f2f8f5;border-color:#cce1d5}.check-bubble{width:34px;height:34px;border-radius:50%;border:2px solid #b9c5c5;background:#fff;display:grid;place-items:center;padding:0;transition:.18s ease}.check-bubble span{opacity:0;color:#fff;font-size:18px;font-weight:900;transform:scale(.6);transition:.18s ease}.check-bubble.checked{background:var(--good);border-color:var(--good);box-shadow:0 0 0 4px rgba(59,123,97,.10)}.check-bubble.checked span{opacity:1;transform:scale(1)}.check-name{font-weight:800;font-size:13px}.check-instructions{font-size:11px;line-height:1.5;color:var(--muted);margin-top:4px}.check-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.mini-tag{font-size:9px;font-weight:800;padding:4px 7px;border-radius:999px;background:#eef3f2;color:var(--teal)}.mini-tag.custom{background:#f3ecdf;color:#8c6b3c}.mini-tag.photo{background:#edf2f8;color:#536f8d}.required-dot{font-size:8px;text-transform:uppercase;letter-spacing:.7px;color:#9a554a;margin-left:5px}.issue-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;color:var(--muted)}.check-item.is-complete .issue-btn{background:transparent}.checklist-footer{display:flex;justify-content:flex-end;gap:10px;padding:3px 0 10px}.membership-note{background:var(--oyster);border-radius:12px;padding:12px;margin-bottom:14px;font-size:12px;line-height:1.5}.field label input[type=checkbox]{width:auto;margin-right:7px}
@media(max-width:760px){.card-actions{flex-direction:column}.checklist-hero{align-items:flex-start}.check-progress{width:78px;height:78px}.check-item{grid-template-columns:auto 1fr}.issue-btn{grid-column:2;justify-self:start}.checklist-footer{flex-direction:column}.checklist-footer button{width:100%}.checklist-topline{gap:10px}.checklist-topline .ghost-btn{padding:8px 10px;font-size:10px}}

/* v3 field-service workflow */
.network-mode{font-size:10px;color:#9fc7c3;margin-top:5px}.network-mode.offline{color:#f0c98b}.pill.good{background:#e8f4ed;color:var(--good)}.muted-copy{color:var(--muted);font-size:12px;line-height:1.6;margin:6px 0 0}.empty-state,.empty-cell{color:var(--muted);font-size:12px;padding:18px;text-align:center}.inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hidden-file{position:fixed;left:-9999px;opacity:0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--navy);color:#fff;border-radius:999px;padding:11px 16px;font-size:12px;font-weight:700;opacity:0;pointer-events:none;z-index:100;transition:.2s ease;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.warn{background:#8a6429}.toast.error{background:#963f39}.membership-tabs{margin-top:14px}.template-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:14px}.template-dot{width:28px;height:28px;border-radius:50%;background:#e8f4ed;color:var(--good);display:grid;place-items:center;font-weight:900}.start-grid{align-items:stretch}.start-grid .panel{height:100%}.start-hero{align-items:center}.big-action{padding:14px 22px;font-size:14px}.left-actions{justify-content:flex-start}.safety-note{margin-top:14px;background:#fff7e9;border:1px solid #ead7b3;border-radius:12px;padding:12px;font-size:11px;line-height:1.5;color:#7b5c2a}.visit-live-row{display:flex;gap:7px;align-items:center;margin-top:11px;font-size:11px;color:#d2e0e1}.live-dot{width:8px;height:8px;border-radius:50%;background:#7fd3a5;box-shadow:0 0 0 5px rgba(127,211,165,.12)}.visit-notes-panel textarea{min-height:72px}.autosave-note{font-size:10px;color:var(--muted);margin-top:8px}.check-item.status-complete{background:#f3f9f5;border-color:#cfe1d6}.check-item.status-watch{background:#fffaf1;border-color:#eadab9}.check-item.status-action-required{background:#fff5f3;border-color:#e7c8c4}.check-item.status-n\/a{background:#f7f8f7}.check-bubble:disabled{cursor:default}.check-bubble.watch{background:#b78036;border-color:#b78036;box-shadow:0 0 0 4px rgba(183,128,54,.10)}.check-bubble.action{background:#b54b45;border-color:#b54b45;box-shadow:0 0 0 4px rgba(181,75,69,.10)}.check-bubble.na{background:#7b8588;border-color:#7b8588}.check-bubble.watch span,.check-bubble.action span,.check-bubble.na span{opacity:1;transform:scale(1)}.item-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.item-action{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;color:var(--muted);white-space:nowrap}.photo-action{color:#536f8d;background:#f5f8fb}.danger-link{color:#a44e45;background:#fff8f7;border-color:#ecd4d1}.mini-tag.status-tag.checked{background:#e8f4ed;color:var(--good)}.mini-tag.status-tag.watch{background:#fff1d8;color:#98691f}.mini-tag.status-tag.action{background:#fbe8e5;color:#a44e45}.mini-tag.status-tag.na{background:#edf0ef;color:#677276}.saved-note{font-size:11px;color:#4e5d64;margin-top:8px;padding:8px 10px;background:#f7f8f7;border-radius:9px;border-left:3px solid #c9d4d4}.item-detail-title{font-family:Georgia,serif;font-size:20px;line-height:1.35;margin-bottom:12px}.status-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.status-choice{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px;text-align:left;font-size:12px;font-weight:800}.status-choice.selected{outline:3px solid rgba(79,136,134,.12);border-color:var(--teal)}.status-choice-complete.selected{background:#edf7f1;color:var(--good);border-color:#bcd9c8}.status-choice-watch.selected{background:#fff8e9;color:#8c6120;border-color:#e4cb9c}.status-choice-action-required.selected{background:#fff0ed;color:#a5423c;border-color:#e1b4af}.status-choice-n\/a.selected{background:#f1f3f2;color:#637075}.item-detail-form{margin-top:8px}.check-options{display:flex;gap:16px;flex-wrap:wrap;background:#f7f8f7;padding:11px;border-radius:11px}.check-options label,.checkbox-label{font-size:12px!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important}.photo-strip{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:11px;color:var(--muted)}.report-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center}.report-sheet{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow);max-width:980px;width:100%;margin:0 auto}.report-brand{display:flex;gap:12px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}.report-brand .brand-mark{color:var(--navy);border-color:#93a4aa}.brand-title.dark{color:var(--navy)}.brand-subtitle.dark{color:var(--muted)}.report-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:26px 0 18px}.report-head h2{font-family:Georgia,serif;font-size:30px;font-weight:500;margin-top:4px}.overall-badge{min-width:130px;border-radius:16px;padding:13px 16px;text-align:center}.overall-badge span{font-size:9px;text-transform:uppercase;letter-spacing:1px;display:block;opacity:.75}.overall-badge strong{display:block;font-size:20px;margin-top:3px}.overall-ok{background:#e8f4ed;color:var(--good)}.overall-watch{background:#fff3dd;color:#8c6120}.overall-action{background:#fbe8e5;color:#a5423c}.report-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.report-meta-grid>div{background:#f7f8f7;border-radius:12px;padding:11px}.report-meta-grid span,.report-signoff span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:800}.report-meta-grid strong,.report-signoff strong{display:block;font-size:12px;margin-top:4px}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.report-summary>div{border:1px solid var(--line);border-radius:14px;padding:13px;text-align:center}.report-summary span{display:block;font-family:Georgia,serif;font-size:25px}.report-summary small{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}.report-section{padding:18px 0;border-top:1px solid var(--line)}.report-section h3{font-family:Georgia,serif;font-size:20px;font-weight:500;margin-bottom:10px}.report-section p{font-size:12px;line-height:1.6;color:#425159}.report-items{display:grid;gap:7px}.report-item{display:grid;grid-template-columns:auto 1fr;gap:11px;padding:10px;border-radius:12px;background:#fafbfa}.report-status{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:#eef1f0;color:#6d7a80}.report-status.status-complete{background:#e8f4ed;color:var(--good)}.report-status.status-watch{background:#fff1d8;color:#9a681d}.report-status.status-action-required{background:#fbe8e5;color:#a44e45}.report-item-title{font-size:12px;font-weight:800}.report-item-meta{font-size:9px;color:var(--muted);margin-top:3px}.report-note{font-size:10px;line-height:1.5;color:#4e5d64;margin-top:5px}.report-blocker{background:#fff7e9;border:1px solid #ead7b3;border-radius:14px;padding:14px;font-size:11px;color:#6d5227}.report-blocker ul{margin:7px 0 0 18px;padding:0}.report-signoff{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--line);padding-top:18px}.report-signoff>div{background:#f7f8f7;border-radius:12px;padding:11px}.report-disclaimer{font-size:9px;line-height:1.5;color:#8a969a;margin-top:18px}.membership-note strong{color:var(--navy)}

@media(max-width:760px){
  .toast{bottom:88px;max-width:90vw;text-align:center}.inline-actions{width:100%}.checklist-topline{align-items:flex-start;flex-direction:column}.inline-actions .ghost-btn{flex:1}.item-actions{grid-column:2;flex-direction:row;align-items:flex-start;flex-wrap:wrap}.check-item{align-items:start}.status-choice-grid{grid-template-columns:1fr}.report-toolbar{align-items:stretch;flex-direction:column}.report-toolbar .inline-actions{display:grid;grid-template-columns:1fr 1fr}.report-sheet{padding:18px;border-radius:18px}.report-head{flex-direction:column}.overall-badge{width:100%}.report-meta-grid{grid-template-columns:1fr 1fr}.report-summary{grid-template-columns:1fr 1fr}.report-signoff{grid-template-columns:1fr}.visit-live-row{flex-wrap:wrap}.start-hero{align-items:flex-start}.photo-strip{align-items:flex-start;flex-direction:column}
}

@media print{
  body{background:#fff}.sidebar,.topbar,.mobile-nav,.storm-banner,.no-print,.toast{display:none!important}.main{margin:0;padding:0}.content{display:block}.report-sheet{border:0;box-shadow:none;border-radius:0;max-width:none;padding:0}.report-item{break-inside:avoid}.report-section{break-inside:auto}.report-head{padding-top:18px}@page{margin:.5in}}
.report-photo-slot{margin-top:7px}.report-photos{display:flex;gap:7px;flex-wrap:wrap}.report-photos img{width:92px;height:72px;object-fit:cover;border-radius:9px;border:1px solid var(--line);background:#eef1f0}@media print{.report-photos img{width:78px;height:60px}}
.settings-actions{margin-top:16px}.danger-button{color:#a44e45!important;border-color:#e7c8c4!important;background:#fff7f5!important}
/* v6 finance + customer portal */
.finance-tabs{position:sticky;top:0;z-index:3;background:#F4F6F5;padding:4px 0 10px}
.finance-summary-list{display:grid;gap:4px}.finance-summary-list>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.finance-summary-list span{font-size:12px;color:var(--muted)}.finance-summary-list strong{font-size:14px}
.line-editor{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.doc-line{display:grid;grid-template-columns:140px minmax(200px,1fr) 80px 110px 36px;gap:8px;align-items:end;margin-bottom:9px}.doc-line .field label{font-size:9px}.doc-line .icon-btn{margin-bottom:1px}.line-description{min-width:0}.check-field{background:#F7F8F7;border-radius:12px;padding:10px}.check-field label{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:12px}.check-field input{width:auto}
.invoice-sheet{display:grid;gap:14px}.invoice-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--line)}.invoice-total{font-family:Georgia,serif;font-size:28px}.table.compact{min-width:0}.document-total{display:flex;justify-content:flex-end;gap:30px;padding:8px 0;font-size:13px}.document-total strong{min-width:110px;text-align:right}.document-total.balance{font-size:17px;border-top:1px solid var(--line);padding-top:13px}.portal-hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-radius:22px;padding:22px;display:flex;justify-content:space-between;gap:18px;align-items:center;box-shadow:var(--shadow)}.portal-hero .eyebrow{color:#9fc7c3}.portal-hero h2{font-family:Georgia,serif;font-size:30px;font-weight:500}.portal-hero p{margin:6px 0 0;color:#cbd9db}.portal-lines{display:grid;gap:4px;margin-top:12px}.portal-lines>div{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid #EDF1F1;font-size:12px}.split-actions{justify-content:space-between}.action-group{display:flex;gap:8px}
.modal{width:min(820px,94vw)}
@media(max-width:760px){.doc-line{grid-template-columns:1fr 1fr}.doc-line .line-description{grid-column:1/-1}.doc-line .line-remove{align-self:end}.split-actions{flex-direction:column}.action-group{display:grid;grid-template-columns:1fr 1fr}.portal-hero{align-items:flex-start;flex-direction:column}.finance-tabs{overflow:auto;flex-wrap:nowrap}.finance-tabs .chip{white-space:nowrap}}
.portal-payment-history{margin-top:18px;padding-top:14px;border-top:1px solid var(--line,#d9e1e3)}
.portal-payment-history>strong{display:block;margin-bottom:8px}
.portal-payment-history>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;color:var(--muted,#667781);font-size:.92rem}
.doc-link{color:var(--sea,#477f7e);font-weight:700;text-decoration:none}
.doc-link:hover{text-decoration:underline}

/* v6.2 visit/work interaction fixes */
.toolbar-spacer{margin-left:auto}.complete-action{color:var(--good);background:#edf7f1;border-color:#c6dfd0}.check-item.status-complete .complete-action{color:#66736d;background:#f5f7f6;border-color:var(--line)}
@media(max-width:760px){.toolbar-spacer{margin-left:0;width:100%}.card-actions .primary-btn{order:-1}.complete-action{font-weight:900}}

/* v6.6 billing, portal payments, account management + report polish */
.report-outcome{display:grid;gap:4px;border-radius:14px;padding:14px 16px;margin:16px 0;border:1px solid var(--line);background:#f7f8f7}
.report-outcome strong{font-family:Georgia,serif;font-size:16px;font-weight:500}.report-outcome span{font-size:11px;color:var(--muted);line-height:1.5}
.report-outcome.outcome-ok{background:#edf7f1;border-color:#c9e0d2}.report-outcome.outcome-watch{background:#fff8e9;border-color:#ead6af}.report-outcome.outcome-action,.report-outcome.outcome-urgent{background:#fff0ed;border-color:#e6c0bb}
.portal-report-meta{margin:4px 0 10px}
@media(max-width:760px){.portal-report-meta{grid-template-columns:1fr 1fr}.modal-actions.split-actions{align-items:stretch}.modal-actions.split-actions>.danger-button{width:100%}}

/* v6.7 billing automation */
.automation-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 14px}
.automation-status-grid>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:rgba(255,255,255,.55);display:flex;justify-content:space-between;gap:12px;align-items:center}
.automation-status-grid span{font-size:12px;color:var(--muted);font-weight:700}
.automation-status-grid strong{font-size:12px;text-align:right}
.automation-status-grid small{font-size:10px;color:var(--muted);overflow-wrap:anywhere;max-width:180px}
@media(max-width:760px){.automation-status-grid{grid-template-columns:1fr}}

.onboarding-steps{display:grid;gap:14px}.onboarding-steps>.panel{box-shadow:none;background:#FBFCFB}.agreement-terms{font-size:12px;line-height:1.65;color:#425159;white-space:normal}.invoice-total small{display:block;font-family:Inter,system-ui,sans-serif;font-size:10px;color:var(--muted);text-align:right;margin-top:3px}.agreement-warning{border:1px solid #E8D8B7;background:#FFF9ED;border-radius:12px;padding:11px 13px;font-size:11px;line-height:1.5}.onboarding-steps .panel-title{font-size:18px}

/* v6.11 post-agreement onboarding */
.onboarding-property{border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:10px;background:#FBFCFB}
.onboarding-property .panel-head{margin-bottom:8px}.compact-meta{margin-top:10px}
@media(max-width:760px){.onboarding-property .panel-head{align-items:flex-start;gap:8px;flex-direction:column}.compact-meta{grid-template-columns:1fr 1fr}}
.security-device{display:inline-block;max-width:420px;overflow-wrap:anywhere;text-align:right}
@media(max-width:760px){.security-device{max-width:220px}}

/* v6.15 property systems, assets & fleet */
.property-profile-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.profile-section{margin-top:16px}.profile-row .row-grow{min-width:0}.profile-row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.profile-row-actions .small-btn{padding:7px 10px;font-size:10px}.profile-section .list{gap:8px}.property-profile-head+.property-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.modal{width:min(860px,94vw)}
@media(max-width:760px){.property-profile-head+.property-meta{grid-template-columns:1fr 1fr}.profile-row{grid-template-columns:auto 1fr}.profile-row-actions{grid-column:1/-1;justify-content:flex-start;padding-left:50px}.section-grid{grid-template-columns:1fr}}


/* v6.17 multi-motor watercraft */
.recommendation-callout{margin:12px 0 16px}
.recommend-btn{white-space:nowrap}
.recommendation-list{display:flex;flex-direction:column;gap:10px;margin:16px 0;max-height:52vh;overflow:auto;padding-right:4px}
.recommendation-row{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border:1px solid var(--line,#d9ddd8);border-radius:12px;background:var(--panel,#fff);cursor:pointer}
.recommendation-row.applied{opacity:.72;cursor:default;background:rgba(90,110,96,.06)}
.recommendation-row>input{margin-top:4px;accent-color:#273e32;min-width:17px;min-height:17px}
.recommendation-copy{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.recommendation-copy>span,.recommendation-copy>small{color:var(--muted,#647067);font-size:.84rem;line-height:1.35}
.recommendation-copy>small{margin-top:4px}
.recommendation-footer{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 10px}
@media(max-width:720px){.recommendation-row{padding:12px}.recommendation-row .pill{display:none}.profile-row-actions .recommend-btn{order:-1}}
