:root{
  --bg:#f4f7f6;--surface:#fff;--surface-soft:#edf4f2;--ink:#142925;--muted:#667a75;
  --primary:#0f4e47;--primary-2:#17685f;--accent:#c9a96a;--line:#dce6e3;--danger:#a74545;
  --shadow:0 12px 35px rgba(22,62,56,.08);--radius:18px
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
button{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.sidebar{position:sticky;top:0;height:100vh;background:#0d322e;color:#fff;padding:28px 20px;display:flex;flex-direction:column;overflow:hidden}
.brand{display:flex;align-items:center;gap:12px;margin:0 8px 34px;flex-shrink:0}.brand-mark{width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:13px;display:grid;place-items:center;font-size:22px;font-weight:800;background:rgba(255,255,255,.08)}
.brand strong{display:block;letter-spacing:.11em;font-size:14px}.brand span{display:block;color:#a8c5bf;font-size:12px;margin-top:3px}
.nav{display:grid;gap:7px;min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-gutter:stable}.nav-item{border:0;background:transparent;color:#bad0cb;text-align:left;padding:12px 13px;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:11px}.nav-item span{width:20px;text-align:center}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.09);color:#fff}.nav::-webkit-scrollbar{width:7px}.nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}.nav::-webkit-scrollbar-track{background:transparent}
.dot{width:8px;height:8px;border-radius:50%;background:#59d394;box-shadow:0 0 0 5px rgba(89,211,148,.08)}
.main{min-width:0}.topbar{height:92px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;gap:18px;position:sticky;top:0;z-index:8}
.eyebrow,.section-label{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--primary-2);margin:0 0 4px}.topbar h1{font-size:24px;margin:0}.top-actions{margin-left:auto;display:flex;gap:14px;align-items:center}.environment{font-size:12px;color:var(--muted);background:#edf3f1;padding:8px 11px;border-radius:999px}.avatar{width:38px;height:38px;border-radius:50%;border:0;background:#163f39;color:#fff;font-weight:700}.menu-button{display:none;border:0;background:transparent;font-size:22px}
.content{padding:34px;max-width:1500px;margin:auto}.hidden{display:none!important}
.hero{border-radius:24px;background:linear-gradient(135deg,#0d3934 0%,#14594f 67%,#1b6c60 100%);padding:38px;color:#fff;display:grid;grid-template-columns:1fr auto;gap:30px;box-shadow:var(--shadow)}
.hero h2{font-size:clamp(27px,3vw,42px);line-height:1.08;margin:13px 0 14px;max-width:880px}.hero p{color:#cfe1dd;max-width:850px;line-height:1.65;margin:0}.pill{display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.13em}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.kpi,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(22,62,56,.035)}.kpi{padding:21px}.kpi span,.kpi small{display:block;color:var(--muted)}.kpi span{font-size:12px;font-weight:700}.kpi strong{display:block;font-size:31px;margin:7px 0}.kpi small{font-size:11px}
.grid-2{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.panel{padding:24px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}.panel h3{margin:4px 0 0;font-size:19px}.status-ok{font-size:11px;font-weight:800;color:#147047;background:#e6f5ec;padding:7px 10px;border-radius:999px}
.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.flow div{background:var(--surface-soft);border-radius:14px;padding:15px;min-height:108px}.flow b{display:block;color:var(--accent);font-size:12px}.flow span{display:block;font-weight:750;margin:7px 0 4px}.flow small{color:var(--muted);line-height:1.35}

.roadmap{margin-top:20px}
.module-placeholder{display:grid;place-items:center;min-height:calc(100vh - 92px)}.empty-state{max-width:650px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:54px;box-shadow:var(--shadow)}.empty-icon{width:68px;height:68px;border-radius:20px;background:#0f4e47;color:#fff;display:grid;place-items:center;font-size:30px;font-weight:900;margin:0 auto 20px}.empty-state .pill{color:var(--primary);border-color:var(--line)}.empty-state h2{font-size:32px;margin:16px 0 10px}.empty-state p{color:var(--muted);line-height:1.6}.primary{border:0;background:var(--primary);color:white;border-radius:12px;padding:12px 18px;cursor:pointer}
@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;width:250px;z-index:20;transition:.2s}.sidebar.open{left:0}.menu-button{display:block}.grid-2{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.topbar{height:78px;padding:0 16px}.topbar .eyebrow,.environment{display:none}.topbar h1{font-size:19px}.content{padding:18px}.hero{padding:24px;grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.grid-2{gap:12px}.flow{grid-template-columns:1fr}.panel{padding:18px}.empty-state{padding:30px 20px}}

.login-screen{position:fixed;inset:0;background:linear-gradient(135deg,#0c302c,#15594f);z-index:100;display:grid;place-items:center;padding:20px}
.login-screen.hidden{display:none}.login-card{width:min(420px,100%);background:#fff;border-radius:24px;padding:34px;box-shadow:0 24px 80px rgba(0,0,0,.25)}
.login-mark{width:58px;height:58px;border-radius:18px;background:#0f4e47;color:#fff;display:grid;place-items:center;font-size:28px;font-weight:900;margin-bottom:18px}
.login-pill{color:var(--primary);border-color:var(--line)}.login-card h2{font-size:28px;margin:16px 0 8px}.login-card p{color:var(--muted);margin:0 0 22px}
.login-card label{display:grid;gap:7px;font-size:12px;font-weight:700;margin:13px 0;color:var(--ink)}.login-card input{border:1px solid var(--line);border-radius:12px;padding:12px 13px;font:inherit;outline:none}.login-card input:focus{border-color:var(--primary)}
.login-card .primary{width:100%;margin-top:10px}.login-card small{display:block;margin-top:12px;color:var(--danger);min-height:16px}
.data-list{display:grid;gap:10px}.data-row{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:14px;align-items:center;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:#fff}
.data-row b{font-size:13px}.data-row span,.data-row small{color:var(--muted);font-size:12px}.data-row button{border:0;background:#edf4f2;color:var(--primary);padding:8px 10px;border-radius:9px;cursor:pointer}
.empty-data{padding:28px;text-align:center;color:var(--muted);background:var(--surface-soft);border-radius:14px}
@media(max-width:700px){.data-row{grid-template-columns:1fr}.data-row button{justify-self:start}}

.secondary{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;padding:11px 16px;cursor:pointer}
.icon-button{border:0;background:transparent;font-size:26px;cursor:pointer;color:var(--muted)}
.modal{position:fixed;inset:0;background:rgba(7,24,22,.55);z-index:90;display:grid;place-items:center;padding:20px}
.modal-card{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;padding:26px;box-shadow:0 24px 80px rgba(0,0,0,.25)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid label,.upload-form{font-size:12px;font-weight:700;color:var(--ink)}
.form-grid label{display:grid;gap:7px}.form-grid input,.upload-form select,.upload-form input{border:1px solid var(--line);border-radius:11px;padding:11px 12px;font:inherit;background:#fff}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.modal-card>small,.upload-form small{display:block;color:var(--danger);margin-top:10px}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.summary-card{background:var(--surface-soft);border-radius:13px;padding:14px;min-height:78px}.summary-card span{display:block;color:var(--muted);font-size:11px}.summary-card b{display:block;margin-top:7px;font-size:13px}.summary-card small{display:block;margin-top:6px;color:var(--muted);font-size:9.5px;line-height:1.35}.pending-history{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.pending-history summary{cursor:pointer;color:var(--muted);font-size:12px;font-weight:750}.pending-history-list{display:grid;gap:8px;margin-top:10px}.pending-history-list .data-row{opacity:.78}
.detail-grid{margin-top:20px}.upload-form{display:grid;grid-template-columns:1fr 1.4fr auto;gap:10px;align-items:center;margin-bottom:18px}.data-row.compact{grid-template-columns:1.7fr .6fr .7fr}.data-row.compact small{display:block;margin-top:4px}
@media(max-width:800px){.form-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,1fr)}.upload-form{grid-template-columns:1fr}.data-row.compact{grid-template-columns:1fr}}

.panel-actions{display:flex;gap:10px;margin:0 0 16px;flex-wrap:wrap}
.step-list{display:grid;gap:10px}

.form-grid select,.portal-access-form input,.data-row select{border:1px solid var(--line);border-radius:11px;padding:10px 12px;font:inherit;background:#fff;color:var(--ink)}
.portal-link{display:inline-block;margin-top:14px;color:var(--primary);font-weight:700;text-decoration:none}
.portal-body{min-height:100vh;background:var(--bg)}
.portal-shell{min-height:100vh}
.portal-header{min-height:84px;background:#0d322e;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:18px 32px;gap:20px}
.portal-header .brand{margin:0}.portal-header-actions{display:flex;align-items:center;gap:14px}.portal-header-actions span{color:#cfe1dd;font-size:13px}.portal-header .secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
.portal-main{max-width:1250px;margin:0 auto;padding:34px}

@media(max-width:700px){.portal-header{padding:16px}.portal-header-actions span{display:none}.portal-main{padding:18px}.portal-access-form{grid-template-columns:1fr}}

.inline-form{display:grid;grid-template-columns:1.4fr .8fr auto;gap:10px;align-items:center;margin:0 0 16px}
.inline-form select{border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:#fff;font:inherit;color:var(--ink)}
.inline-form small{grid-column:1/-1;color:var(--muted);min-height:16px}
.property-client-link{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;align-items:flex-end;flex-wrap:wrap}
.compact-inline{margin:0;grid-template-columns:minmax(220px,1fr) auto;min-width:min(100%,420px)}
.client-link-status{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.client-chip{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--surface-soft);color:var(--primary);font-weight:700}
.row-actions{display:flex;gap:8px;flex-wrap:wrap}
.danger-ghost{background:#fff5f5;color:var(--danger)!important}
@media(max-width:800px){.inline-form{grid-template-columns:1fr}.compact-inline{grid-template-columns:1fr}.property-client-link{align-items:stretch}}

.helper-message{font-size:12px;color:var(--muted);margin:0 0 14px;min-height:16px}
.muted{color:var(--muted);line-height:1.55}
.extraction-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}
.extraction-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.extraction-head b{display:block}.extraction-head small{display:block;color:var(--muted);margin-top:4px}
.confidence{font-size:12px;font-weight:800;color:var(--primary);background:var(--surface-soft);padding:7px 9px;border-radius:999px}
.extraction-value{font-size:17px;font-weight:750;margin:14px 0}
.evidence-box{background:var(--surface-soft);border-radius:12px;padding:12px}.evidence-box span{font-size:11px;font-weight:800;color:var(--primary)}.evidence-box p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.review-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px}.review-actions span{font-size:12px;color:var(--muted)}
@media(max-width:700px){.review-actions{align-items:stretch;flex-direction:column}}

.process-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}
.process-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.process-card-head b{display:block}.process-card-head small{display:block;margin-top:4px;color:var(--muted)}
.status-pill{font-size:11px;font-weight:800;color:var(--primary);background:var(--surface-soft);padding:7px 10px;border-radius:999px}
.process-progress{margin-top:14px}.process-progress-bar{height:8px;background:var(--surface-soft);border-radius:999px;overflow:hidden}.process-progress-bar span{display:block;height:100%;background:var(--primary);border-radius:999px}.process-progress small{display:block;margin-top:6px;color:var(--muted)}
.process-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.process-actions button{border:0;background:#edf4f2;color:var(--primary);padding:9px 11px;border-radius:9px;cursor:pointer}

.dossier-modal{align-items:start;overflow:auto;padding:32px 20px}
.dossier-card{width:min(1180px,100%);max-height:none;overflow:visible}
.dossier-head small{display:block;color:var(--muted);margin-top:6px}
.dossier-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:0 0 18px}
.dossier-kpis div,.dossier-property-grid div{background:var(--surface-soft);border-radius:12px;padding:13px}
.dossier-kpis span,.dossier-property-grid span{display:block;color:var(--muted);font-size:11px}
.dossier-kpis b{display:block;font-size:22px;margin-top:5px}
.dossier-section{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
.dossier-section-head h4{margin:4px 0 12px;font-size:16px}
.dossier-property-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.dossier-property-grid b{display:block;margin-top:5px;font-size:13px}
.dossier-list{display:grid;gap:10px}
.dossier-item{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}
.dossier-item b{display:block;font-size:13px}.dossier-item small{display:block;color:var(--muted);margin-top:5px;line-height:1.45}
.dossier-evidence small+small{margin-top:7px}
.dossier-disclaimer{margin-top:20px;padding:14px;border-radius:12px;background:#fff8e9;border:1px solid #ecd9ad;color:#6f5a2a;font-size:12px;line-height:1.5}
@media(max-width:1000px){.dossier-kpis{grid-template-columns:repeat(3,1fr)}.dossier-property-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.dossier-kpis,.dossier-property-grid{grid-template-columns:1fr 1fr}.dossier-item{flex-direction:column}.dossier-card{padding:18px}}

.dossier-report-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.report-download,.inline-report-link{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:var(--primary);color:#fff!important;text-decoration:none;font-weight:700}
.report-download{padding:8px 11px;font-size:11px}
.inline-report-link{padding:5px 9px;margin-left:6px;font-size:11px}
.report-download:hover,.inline-report-link:hover{background:var(--primary-2)}
@media(max-width:700px){.dossier-report-actions{justify-content:flex-start}}

/* v0.12 - Central documental gerencial */
.document-manager-panel{min-width:0}
.compact-copy{margin:5px 0 0}
.document-manager-summary{display:grid;grid-template-columns:repeat(6,minmax(86px,1fr));gap:9px;margin:16px 0 10px}
.doc-kpi{border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:#fff;min-width:0}
.doc-kpi span{display:block;font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.doc-kpi b{display:block;margin-top:5px;font-size:23px;color:var(--ink)}
.doc-kpi.warning{background:#fff9eb;border-color:#ead8aa}.doc-kpi.warning b{color:#8a6420}
.doc-kpi.info{background:#edf5fb;border-color:#cadfec}.doc-kpi.info b{color:#286993}
.doc-kpi.review{background:#fff6df;border-color:#ead09a}.doc-kpi.review b{color:#855c13}
.doc-kpi.success{background:#edf8f0;border-color:#cce8d4}.doc-kpi.success b{color:#147047}
.doc-kpi.danger{background:#fff0f0;border-color:#f0cccc}.doc-kpi.danger b{color:var(--danger)}

.document-manager-filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}
.doc-filter{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:700;cursor:pointer}
.doc-filter b{margin-left:4px;color:inherit}
.doc-filter:hover,.doc-filter.active{background:var(--primary);border-color:var(--primary);color:#fff}

.document-manager-list{display:grid;gap:10px}
.manager-doc-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);border-left:5px solid #b9c5c1;border-radius:14px;background:#fff;padding:13px 14px;transition:.15s ease}
.manager-doc-card:hover{box-shadow:0 7px 20px rgba(15,78,71,.07);transform:translateY(-1px)}
.manager-doc-card.success{border-left-color:#36a269}.manager-doc-card.warning{border-left-color:#c89a2d}
.manager-doc-card.info{border-left-color:#4b8fc3}.manager-doc-card.danger{border-left-color:#c64b4b}
.manager-doc-index{font-size:11px;font-weight:800;color:#5b6e6a;text-align:center}
.manager-doc-main{min-width:0}
.manager-doc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.manager-doc-title{min-width:0;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.manager-doc-title b{font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}
.doc-type{display:inline-flex;align-items:center;border-radius:7px;background:var(--surface-soft);padding:5px 7px;font-size:9.5px;font-weight:800;color:var(--primary);white-space:nowrap}
.manager-status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;background:#f1f4f3;color:#60706b}
.manager-status i{width:7px;height:7px;border-radius:50%;background:currentColor}
.manager-status.success{background:#eaf7ee;color:#147047}.manager-status.warning{background:#fff5dc;color:#8a6420}
.manager-status.info{background:#edf5fb;color:#286993}.manager-status.danger{background:#fff0f0;color:#b53d3d}
.manager-doc-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:7px;color:var(--muted);font-size:10px}
.manager-progress{height:4px;background:#edf1ef;border-radius:999px;margin-top:9px;overflow:hidden}
.manager-progress span{display:block;height:100%;background:#a8b6b1;border-radius:999px}
.manager-doc-card.success .manager-progress span{background:#36a269}.manager-doc-card.warning .manager-progress span{background:#c89a2d}
.manager-doc-card.info .manager-progress span{background:#4b8fc3}.manager-doc-card.danger .manager-progress span{background:#c64b4b}
.manager-doc-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.doc-primary-action{border:0;border-radius:9px;background:var(--primary);color:#fff;padding:8px 11px;font-size:10.5px;font-weight:800;cursor:pointer;white-space:nowrap}
.doc-primary-action.review-action{background:#9a6e19}
.doc-complete-mark{font-size:10px;font-weight:800;color:#147047;white-space:nowrap}
.doc-more{position:relative}
.doc-more summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:7px 9px;font-size:10px;font-weight:700;color:var(--muted);background:#fff}
.doc-more summary::-webkit-details-marker{display:none}
.doc-more-menu{position:absolute;right:0;top:37px;z-index:25;width:210px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:7px;box-shadow:0 12px 28px rgba(12,48,43,.14);display:grid;gap:5px}
.doc-more-menu button{border:0;background:#f3f7f5;color:var(--primary);padding:8px 9px;border-radius:7px;text-align:left;font-size:10px;cursor:pointer}
.doc-more-menu label{display:grid;gap:5px;color:var(--muted);font-size:9px;font-weight:700;padding:4px 2px}
.doc-more-menu select{width:100%;padding:7px;border:1px solid var(--line);border-radius:7px;background:#fff}
.doc-manager-ok{border-radius:10px;background:#edf8f0;color:#147047;padding:9px 12px;font-size:11px;font-weight:700;margin:-2px 0 12px}

@media(max-width:1180px){
  .document-manager-summary{grid-template-columns:repeat(3,1fr)}
  .manager-doc-card{grid-template-columns:32px minmax(0,1fr)}
  .manager-doc-actions{grid-column:2;justify-content:flex-start}
}
@media(max-width:700px){
  .document-manager-summary{grid-template-columns:repeat(2,1fr)}
  .manager-doc-card{grid-template-columns:1fr;padding:12px}
  .manager-doc-index{display:none}
  .manager-doc-actions{grid-column:1;justify-content:space-between;flex-wrap:wrap}
  .manager-doc-head{display:grid}
  .manager-status{justify-self:start}
  .manager-doc-title b{white-space:normal;max-width:none}
}

.doc-source-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#f0f4f2;color:#526861;padding:3px 7px;font-size:9px;font-weight:800}
.doc-source-badge.ocr{background:#e9f6ee;color:#147047}
.doc-menu-separator{border:0;border-top:1px solid var(--line);margin:3px 0}
.doc-more-menu .doc-danger-action{background:#fff0f0;color:#b53d3d;font-weight:800}
.doc-more-menu .doc-danger-action:hover{background:#f9dddd}

/* Client delivery repository */
.portal-repository-panel{min-width:0}
.portal-repository-copy{margin:-7px 0 18px;font-size:12px}
.delivery-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 18px}
.delivery-summary>div{background:var(--surface-soft);border:1px solid var(--line);border-radius:13px;padding:13px 14px}
.delivery-summary span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:750}
.delivery-summary b{display:block;margin-top:5px;font-size:22px;color:var(--primary)}
.delivery-groups{display:grid;gap:14px}
.delivery-group{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}
.delivery-group-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#edf4f2;color:var(--primary)}
.delivery-group-head span{font-size:12px;font-weight:800}.delivery-group-head b{font-size:11px;background:#fff;border-radius:999px;padding:4px 8px}
.delivery-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border-top:1px solid var(--line)}
.delivery-group .delivery-item:first-of-type{border-top:0}
.delivery-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#e7f2ed;color:var(--primary);font-size:10px;font-weight:900}
.delivery-main{min-width:0}.delivery-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.delivery-title-row b{font-size:13px}
.delivery-version{font-size:9.5px;font-weight:800;color:#147047;background:#eaf7ee;border-radius:999px;padding:4px 7px}
.delivery-main small{display:block;margin-top:4px;color:var(--muted);font-size:10.5px}.delivery-main p{margin:6px 0 0;color:var(--muted);font-size:11.5px;line-height:1.45}
.delivery-item button{border:0;background:var(--primary);color:#fff;border-radius:9px;padding:9px 12px;font-weight:750;cursor:pointer}
.delivery-item button:hover{background:var(--primary-2)}
.delivery-item.locked{opacity:.78}.delivery-item.locked .portal-doc-release{background:#f1efe8;color:#6b6659}
.delivery-history{border:1px solid var(--line);border-radius:14px;background:#fff}
.delivery-history summary{cursor:pointer;padding:13px 14px;color:var(--muted);font-size:11.5px;font-weight:800}
.delivery-history-list{border-top:1px solid var(--line)}.delivery-history .delivery-item:first-child{border-top:0}
.delivery-item.superseded{opacity:.72}.delivery-item.superseded .delivery-version{background:#f2f4f3;color:var(--muted)}
@media(max-width:850px){.delivery-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.delivery-summary{grid-template-columns:1fr 1fr}.delivery-item{grid-template-columns:38px 1fr}.delivery-item button{grid-column:2;justify-self:start}}

/* Admin: publish final deliveries from client detail */
.client-publish-panel{margin-top:20px}
.delivery-publish-form{display:grid;gap:14px}
.delivery-publish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.delivery-publish-form label{display:grid;gap:7px;font-size:11px;font-weight:800;color:var(--ink)}
.delivery-publish-form input,.delivery-publish-form select,.delivery-publish-form textarea{
  width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 12px;font:inherit;background:#fff;color:var(--ink);outline:none
}
.delivery-publish-form textarea{resize:vertical;min-height:86px}
.delivery-publish-form input:focus,.delivery-publish-form select:focus,.delivery-publish-form textarea:focus{border-color:var(--primary)}
.delivery-publish-description{grid-column:1/-1}
.delivery-source-box{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--surface-soft)}
.delivery-source-box small{display:block;margin-top:7px;color:var(--muted);font-size:10.5px;line-height:1.45}
.delivery-publish-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.delivery-publish-actions small{color:var(--muted);font-size:11px}
.client-delivery-history-head{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
@media(max-width:980px){.delivery-publish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.delivery-publish-grid{grid-template-columns:1fr}.delivery-publish-actions{align-items:stretch;flex-direction:column}.delivery-publish-actions .primary{width:100%}}

/* Premium delivery experience */
.delivery-admin-hero{
  display:flex;justify-content:space-between;gap:24px;align-items:center;
  margin:-24px -24px 22px;padding:24px 26px;
  border-radius:18px 18px 0 0;
  background:linear-gradient(135deg,#0f4e47,#17685f);
  color:#fff
}
.delivery-admin-eyebrow{
  display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.28);
  border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900;letter-spacing:.12em
}
.delivery-admin-hero h3{font-size:24px;margin:12px 0 6px}
.delivery-admin-hero p{margin:0;color:rgba(255,255,255,.82);max-width:720px;line-height:1.5;font-size:12px}
.delivery-admin-seal{
  min-width:132px;padding:14px 16px;border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.08);border-radius:16px;text-align:center
}
.delivery-admin-seal span{display:grid;place-items:center;width:32px;height:32px;margin:0 auto 8px;border-radius:50%;background:#fff;color:var(--primary);font-weight:900}
.delivery-admin-seal b,.delivery-admin-seal small{display:block}.delivery-admin-seal b{font-size:12px}.delivery-admin-seal small{margin-top:3px;font-size:9.5px;color:rgba(255,255,255,.7)}
.delivery-admin-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 18px}
.delivery-admin-flow>div{position:relative;border:1px solid var(--line);border-radius:14px;padding:14px 14px 14px 48px;background:#fbfcfc}
.delivery-admin-flow span{position:absolute;left:13px;top:14px;width:25px;height:25px;border-radius:8px;background:#e8f3ef;color:var(--primary);display:grid;place-items:center;font-size:9px;font-weight:900}
.delivery-admin-flow b{display:block;font-size:11.5px}.delivery-admin-flow small{display:block;margin-top:4px;color:var(--muted);font-size:9.8px;line-height:1.35}
.delivery-publish-grid{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}
.delivery-publish-form input,.delivery-publish-form select,.delivery-publish-form textarea{background:#fcfdfd}
.delivery-publish-description{padding:0 2px}
.delivery-source-box{position:relative;padding:16px 16px 14px 48px;background:linear-gradient(180deg,#f1f7f5,#edf4f2);border-color:#d2e2de}
.delivery-source-box:before{content:"↥";position:absolute;left:14px;top:16px;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#fff;color:var(--primary);font-weight:900}
#deliveryLinkArea:before{content:"↗"}
.delivery-release-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #cde7d7;background:#f1faf4;border-radius:13px}
.delivery-release-note>span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#147047;color:#fff;font-size:11px;font-weight:900;flex:0 0 auto}
.delivery-release-note b,.delivery-release-note small{display:block}.delivery-release-note b{font-size:11px;color:#125c3d}.delivery-release-note small{margin-top:3px;color:#557369;font-size:9.8px;line-height:1.4}
.delivery-release-button{padding:13px 20px;box-shadow:0 8px 20px rgba(15,78,71,.16)}
.delivery-release-button:hover{transform:translateY(-1px)}
.client-delivery-history-head h3{font-size:17px}

.portal-repository-panel{padding:0;overflow:hidden}
.portal-repository-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:21px 22px 14px;background:linear-gradient(180deg,#fff,#fbfdfc)}
.portal-repository-head h3{margin:5px 0 5px;font-size:19px}
.delivery-secure-badge{display:inline-flex;align-items:center;white-space:nowrap;background:#eaf7ee;color:#147047;border:1px solid #cfe8d8;border-radius:999px;padding:7px 10px;font-size:9.5px;font-weight:900}
.portal-repository-copy{margin:0;font-size:10.5px}
.portal-repository-note{display:flex;gap:10px;align-items:center;margin:0 22px 16px;padding:11px 12px;border:1px solid #dbe8e4;background:#f6faf9;border-radius:12px}
.portal-repository-note-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900;font-size:12px;flex:0 0 auto}
.portal-repository-note b,.portal-repository-note small{display:block}.portal-repository-note b{font-size:10.5px}.portal-repository-note small{margin-top:2px;font-size:9.3px;color:var(--muted);line-height:1.35}
.portal-repository-panel .delivery-summary,.portal-repository-panel .delivery-groups{margin-left:22px;margin-right:22px}
.portal-repository-panel .delivery-groups{padding-bottom:22px}
.delivery-summary{gap:8px}
.delivery-summary>div{position:relative;overflow:hidden;padding:13px 12px;background:linear-gradient(180deg,#f4f8f7,#edf4f2);border-radius:14px}
.delivery-summary>div:after{content:"";position:absolute;right:-12px;bottom:-18px;width:44px;height:44px;border-radius:50%;background:rgba(15,78,71,.045)}
.delivery-summary span{font-size:8.8px;letter-spacing:.06em}.delivery-summary b{font-size:24px;margin-top:7px}
.delivery-group{border-radius:14px;border-color:#dbe5e2;box-shadow:0 6px 18px rgba(22,62,56,.035)}
.delivery-group-head{padding:11px 13px;background:#edf5f2}
.delivery-item{grid-template-columns:44px minmax(0,1fr) auto;padding:15px 14px}
.delivery-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#e0f1e8,#f0f8f4);border:1px solid #d2e8da;color:#136746}
.delivery-title-row b{font-size:12px;line-height:1.35;color:#153a33}
.delivery-main small{font-size:9.5px}.delivery-main p{font-size:10.5px;line-height:1.45;color:#60756f}
.delivery-item button{padding:9px 13px;border-radius:10px;box-shadow:0 5px 13px rgba(15,78,71,.12)}
.delivery-history{margin-top:4px;background:#fbfcfc}
.delivery-history summary{font-size:10.5px}
@media(max-width:1100px){.delivery-admin-hero{align-items:flex-start}.delivery-admin-flow{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.delivery-admin-hero{margin:-18px -18px 18px;padding:20px;display:block}.delivery-admin-seal{margin-top:16px;width:132px}.delivery-admin-flow{grid-template-columns:1fr}.portal-repository-head{display:block}.delivery-secure-badge{margin-top:10px}.portal-repository-panel .delivery-summary,.portal-repository-panel .delivery-groups{margin-left:14px;margin-right:14px}.portal-repository-note{margin-left:14px;margin-right:14px}.delivery-item{grid-template-columns:40px minmax(0,1fr)}.delivery-item button{grid-column:2;justify-self:start}}

/* Final portal readability refinements */
.delivery-main p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.delivery-title-row b{
  max-width:100%;
  overflow-wrap:anywhere
}
.portal-repository-panel .delivery-item{
  align-items:flex-start
}
.portal-repository-panel .delivery-item button{
  align-self:center
}

/* GEOBIOS client relationship layer */

.monitor-rural-offer{
  margin:22px 0 0;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) 320px;
  gap:0;
  border:1px solid #d4e3df;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 16px 42px rgba(22,62,56,.07)
}
.monitor-rural-main{
  padding:32px 34px;
  background:
    linear-gradient(180deg,rgba(244,249,247,.95),rgba(255,255,255,.98)),
    radial-gradient(circle at 0 100%,rgba(201,169,106,.09),transparent 30%)
}
.monitor-rural-kicker{
  display:flex;align-items:center;gap:8px;
  color:#17685f;font-size:9px;font-weight:900;letter-spacing:.11em
}
.monitor-rural-dot{width:8px;height:8px;border-radius:50%;background:#62a642;box-shadow:0 0 0 4px rgba(98,166,66,.11)}
.monitor-rural-main h2{
  max-width:760px;margin:13px 0 10px;
  font-size:29px;line-height:1.08;color:#123c36
}
.monitor-rural-main>p{
  max-width:780px;margin:0;color:#5f746f;
  font-size:12.5px;line-height:1.6
}
.monitor-rural-features{
  display:flex;flex-wrap:wrap;gap:8px;margin:20px 0
}
.monitor-rural-features span{
  padding:8px 10px;border-radius:999px;
  border:1px solid #d7e6e1;background:#fff;
  color:#31584f;font-size:9.8px;font-weight:750
}
.monitor-rural-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.monitor-primary,.monitor-secondary{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:43px;padding:0 17px;border-radius:11px;
  font-size:11px;font-weight:850;text-decoration:none
}
.monitor-primary{background:#0f4e47;color:#fff;box-shadow:0 8px 18px rgba(15,78,71,.16)}
.monitor-primary:hover{background:#17685f}
.monitor-secondary{color:#0f4e47;border:1px solid #cbded9;background:#fff}
.monitor-rural-disclaimer{display:block;margin-top:13px;color:#5b6e6a;font-size:9.2px;line-height:1.45}
.monitor-rural-price-card{
  padding:30px 28px;color:#fff;
  background:
    radial-gradient(circle at 110% -10%,rgba(201,169,106,.25),transparent 34%),
    linear-gradient(150deg,#0d322e,#0f4e47)
}
.monitor-rural-price-card>span{
  display:block;font-size:10px;font-weight:900;letter-spacing:.09em;color:#b8d5cf;text-transform:uppercase
}
.monitor-price{display:flex;align-items:flex-end;gap:6px;margin:15px 0 0}
.monitor-price strong{font-size:37px;line-height:1}
.monitor-price small{font-size:12px;margin-bottom:4px;color:#b8d5cf}
.monitor-rural-price-card>p{margin:5px 0 0;font-size:10px;color:#a8c5bf}
.monitor-price-rule{height:1px;background:rgba(255,255,255,.12);margin:20px 0}
.monitor-rural-price-card ul{padding:0;margin:0;list-style:none;display:grid;gap:10px}
.monitor-rural-price-card li{
  position:relative;padding-left:20px;font-size:10.5px;line-height:1.4;color:#e2efeb
}
.monitor-rural-price-card li:before{
  content:"✓";position:absolute;left:0;top:0;color:#a7d16f;font-weight:900
}
.monitor-price-badge{
  margin-top:20px;padding:9px 10px;border-radius:10px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);
  font-size:9px;color:#bad0cb;text-align:center
}
@media(max-width:1000px){
  
  
  .monitor-rural-offer{grid-template-columns:1fr}
}
@media(max-width:650px){
  
  
  
  .monitor-rural-main,.monitor-rural-price-card{padding:23px 20px}
  .monitor-rural-main h2{font-size:24px}
  .monitor-rural-actions{align-items:stretch;flex-direction:column}
  .monitor-primary,.monitor-secondary{width:100%}
}

.portal-forgot-link{
  border:0;background:transparent;color:#17685f;cursor:pointer;
  padding:2px 0;font-size:11px;font-weight:800;text-align:center
}
.portal-forgot-link:hover{text-decoration:underline}
#portalForgotMessage,#portalResetMessage,#portalLoginMessage{
  display:block;min-height:17px;font-size:10.5px;line-height:1.4;color:#5f746f
}

/* Premium GEOBIOS client portal dashboard v0.18.3 */
.portal-body{background:#f4f7f5;color:#153a33}
.portal-main-pro{max-width:1380px;padding:24px 34px 46px}
.portal-header-pro{
  position:sticky;top:0;z-index:50;min-height:68px;padding:12px 28px;
  background:linear-gradient(90deg,#0b3d37,#0d4d45 60%,#0b3d37);
  border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 6px 20px rgba(8,45,40,.08)
}
.portal-header-pro .brand{display:flex;align-items:center;gap:10px}
.portal-header-pro .brand-mark{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;font-weight:900}
.portal-header-pro .brand strong,.portal-header-pro .brand span{display:block}.portal-header-pro .brand span{font-size:10px;color:#c8dad5;margin-top:1px}
.portal-nav{display:flex;align-items:center;gap:4px}
.portal-nav-link{border:0;background:transparent;color:#cbe0db;padding:10px 12px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.portal-nav-link:hover,.portal-nav-link.active{color:#fff;background:rgba(255,255,255,.08)}
.portal-nav-link.active{box-shadow:inset 0 -2px 0 #26ddb8}
.portal-user-badge{display:flex;align-items:center;gap:9px}
.portal-user-badge>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#53756e;color:#fff;font-size:11px;font-weight:900}
.portal-user-badge b,.portal-user-badge small{display:block}.portal-user-badge b{font-size:10px;color:#fff;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-user-badge small{font-size:8.5px;color:#bdd4ce;margin-top:2px}

.portal-welcome{
  min-height:190px;border-radius:22px;overflow:hidden;margin-bottom:14px;
  background:
    linear-gradient(90deg,rgba(7,55,49,.96) 0%,rgba(10,71,63,.84) 55%,rgba(10,71,63,.34) 100%),
    url("/assets/geobios-cover-premium.jpg") center/cover no-repeat;
  box-shadow:0 14px 34px rgba(14,59,52,.1)
}
.portal-welcome-overlay{min-height:190px;padding:28px 30px;display:flex;justify-content:space-between;gap:28px;align-items:center;color:#fff}
.portal-welcome-kicker{font-size:9px;font-weight:900;letter-spacing:.12em;color:#a8e8d5}
.portal-welcome h1{font-size:34px;line-height:1;margin:8px 0 5px}.portal-welcome h2{font-size:17px;margin:0 0 8px}.portal-welcome p{margin:0;max-width:620px;color:#dceae7;font-size:11px;line-height:1.55}
.portal-welcome-message{min-width:250px;max-width:310px;padding:17px;border-radius:16px;background:rgba(3,45,40,.55);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center}
.portal-welcome-message>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#2bd8b4;color:#073e37;font-size:22px;font-weight:900}.portal-welcome-message b,.portal-welcome-message small{display:block;grid-column:2}.portal-welcome-message b{font-size:12px}.portal-welcome-message small{font-size:10px;color:#d4e6e2;line-height:1.35;margin-top:-8px}

.portal-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 24px}
.portal-kpi-card{min-height:86px;padding:14px 14px;border:1px solid #d9e5e1;background:#fff;border-radius:15px;display:flex;gap:11px;align-items:center;box-shadow:0 5px 17px rgba(17,66,58,.04)}
.portal-kpi-card>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e6f8f2;color:#087a67;font-weight:900;font-size:16px;flex:0 0 auto}
.portal-kpi-card.warning>span{background:#fff1df;color:#8f5208}
.portal-kpi-card small,.portal-kpi-card b,.portal-kpi-card em{display:block}.portal-kpi-card small{font-size:9px;color:#526d66;font-weight:750}.portal-kpi-card b{font-size:24px;color:#0b3e37;margin-top:3px;line-height:1}.portal-kpi-card em{font-style:normal;font-size:8.5px;color:#5b6e6a;margin-top:4px}.portal-kpi-card.warning em{color:#c96916}

.portal-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:0 0 12px}
.portal-section-head h2{margin:0;font-size:22px;color:#153a33}.portal-section-head p{margin:4px 0 0;color:#5b6e6a;font-size:10.5px;line-height:1.45}
.portal-property-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}
.portal-property-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:0;background:#fff;border:1px solid #d9e4e1;border-radius:17px;overflow:hidden;box-shadow:0 7px 20px rgba(15,78,71,.045);transition:.18s ease}
.portal-property-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(15,78,71,.08)}.portal-property-card.featured{border-color:#35d7b4}
.portal-property-image{min-height:190px;background:linear-gradient(160deg,#dceee7,#b8d9cb);position:relative;overflow:hidden}
.portal-property-image:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 10%,rgba(15,78,71,.13) 100%)}
.portal-property-image-fallback{position:absolute;inset:0;display:grid;place-items:center;color:rgba(15,78,71,.28);font-size:54px;font-weight:900}
.portal-property-card-body{padding:14px 15px;min-width:0}
.portal-property-card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.portal-property-card-top small{font-size:8.5px;color:#5b6e6a}.portal-property-card h3{font-size:13px;margin:4px 0 0;color:#143c35}.portal-card-status{font-size:8px;font-weight:900;border-radius:999px;padding:5px 7px;white-space:nowrap;background:#f1f4f3;color:#5b6e6a}.portal-card-status.monitoring,.portal-card-status.success{background:#dff8ef;color:#08755f}
.portal-property-location,.portal-property-ids{font-size:9px;color:#61756f;margin:8px 0 0;line-height:1.35}.portal-property-ids{font-size:8.6px}
.portal-property-tags{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.portal-property-tags span{background:#eaf4f7;color:#356474;border-radius:6px;padding:4px 6px;font-size:7.8px;font-weight:800}
.portal-property-footer{margin-top:12px;padding-top:10px;border-top:1px solid #edf1ef;display:flex;justify-content:space-between;gap:10px;align-items:center}.portal-property-footer small,.portal-property-footer b{display:block}.portal-property-footer small{font-size:8px;color:#5b6e6a}.portal-property-footer b{font-size:9.5px;color:#254d45;margin-top:2px}.portal-property-footer button{border:0;background:#0e4d45;color:#fff;border-radius:9px;padding:9px 11px;font-size:9px;font-weight:850;cursor:pointer}

.portal-property-focus{display:flex;justify-content:space-between;gap:22px;align-items:center;background:#fff;border:1px solid #d9e4e1;border-radius:19px;padding:16px 18px;margin-bottom:10px;box-shadow:0 7px 20px rgba(15,78,71,.045)}
.portal-property-focus-main{display:flex;gap:14px;align-items:center}.portal-property-thumb{width:130px;height:74px;border-radius:12px;background:linear-gradient(145deg,#b8ddcf,#dceee7);position:relative;overflow:hidden}.portal-property-thumb:after{content:"GEOBIOS";position:absolute;right:8px;bottom:6px;color:rgba(15,78,71,.35);font-size:9px;font-weight:900}
.portal-focus-code{font-size:8px;color:#5b6e6a}.portal-property-focus h2{font-size:18px;margin:3px 0;color:#123a33}.portal-focus-meta{display:flex;gap:12px;flex-wrap:wrap}.portal-focus-meta span{font-size:9px;color:#5b6e6a}
.portal-focus-side{display:flex;gap:16px;align-items:center}.portal-focus-side>div small,.portal-focus-side>div b{display:block;text-align:right}.portal-focus-side>div small{font-size:8px;color:#5b6e6a}.portal-focus-side>div b{font-size:15px;margin-top:2px}.portal-focus-side .status-pill{background:#dff8ef;color:#08755f}

.portal-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:#fff;border:1px solid #d9e4e1;border-radius:13px;padding:4px;margin-bottom:12px}
.portal-tabs button{border:0;background:transparent;color:#61756f;border-radius:9px;padding:10px 8px;font-size:9.5px;font-weight:800;cursor:pointer}.portal-tabs button.active{background:#eef9f5;color:#08735f;box-shadow:inset 0 0 0 1px #39d9b8}

.portal-tab-panel{display:block}.portal-tab-panel.hidden{display:none}
.portal-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:12px;margin-bottom:12px}
.portal-dashboard-stack{display:grid;gap:12px}
.portal-three-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:12px}
.portal-dashboard-card{background:#fff;border:1px solid #d9e4e1;border-radius:16px;padding:15px;box-shadow:0 6px 18px rgba(15,78,71,.035)}
.portal-card-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.portal-card-head h3{font-size:13px;margin:3px 0 0}.portal-card-head .section-label{font-size:7.8px}
.portal-service-list{display:grid;gap:8px}.portal-service-row{display:grid;grid-template-columns:38px minmax(160px,1fr) auto 110px minmax(120px,.7fr);gap:10px;align-items:center;padding:10px 0;border-top:1px solid #edf1ef}.portal-service-row:first-child{border-top:0}
.portal-service-icon{width:34px;height:34px;border-radius:10px;background:#e4f7f1;color:#08745f;display:grid;place-items:center;font-weight:900}.portal-service-copy b,.portal-service-copy small{display:block}.portal-service-copy b{font-size:10.5px}.portal-service-copy small{font-size:8.5px;color:#5b6e6a;margin-top:2px}
.portal-service-status{border-radius:999px;padding:5px 7px;font-size:7.8px;font-weight:900;background:#f0f3f2;color:#5b6e6a}.portal-service-status.success,.portal-service-status.active{background:#dcf8ee;color:#08755f}.portal-service-status.danger{background:#fff0f0;color:#b44040}
.portal-progress{height:5px;background:#edf2f0;border-radius:999px;overflow:hidden}.portal-progress i{display:block;height:100%;background:#29d8b3;border-radius:999px}.portal-service-detail{font-size:8px;color:#5b6e6a;line-height:1.35}
.portal-highlight-block{min-height:88px;display:flex;gap:10px;align-items:flex-start}.portal-highlight-block b{font-size:10.5px}.portal-highlight-block p{font-size:9px;color:#5b6e6a;line-height:1.45;margin:5px 0}.portal-highlight-block small{font-size:8px;color:#5b6e6a}.portal-action-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e3f7f1;color:#08755f;font-weight:900;flex:0 0 auto}.portal-positive{padding:6px 0}
.portal-mini-list{display:grid;gap:8px}.portal-mini-list>div{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid #edf1ef}.portal-mini-list>div:first-child{border-top:0}.portal-mini-list b,.portal-mini-list small{display:block}.portal-mini-list b{font-size:9px}.portal-mini-list small{font-size:8px;color:#5b6e6a;margin-top:2px;line-height:1.35}.portal-mini-list button{border:0;background:#e9f7f2;color:#08755f;width:28px;height:28px;border-radius:8px;cursor:pointer}.portal-file-badge{font-size:7px;font-weight:900;color:#d44d4d;background:#fff0f0;padding:6px 5px;border-radius:7px;text-align:center}.portal-alert-dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:900;background:#eef3f1;color:#5b6e6a}.portal-alert-dot.warning{background:#fff3df;color:#8f5208}.portal-alert-dot.danger{background:#fff0f0;color:#c34343}
.portal-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.portal-quick-grid button,.portal-quick-grid a{border:1px solid #dbe5e2;background:#fff;color:#315a51;border-radius:10px;padding:11px 8px;font-size:8.5px;font-weight:800;text-align:center;text-decoration:none;cursor:pointer}.portal-quick-grid button:hover,.portal-quick-grid a:hover{border-color:#6dddc5;background:#f4fbf8}

.portal-repository-full{margin-top:0}
.portal-document-list,.portal-process-list{display:grid;gap:8px}.portal-doc-icon{width:34px;height:34px;border-radius:9px;background:#fff0f0;color:#c54b4b;display:grid;place-items:center;font-size:7px;font-weight:900}
.portal-process-row{display:grid;grid-template-columns:minmax(180px,1fr) auto 120px 120px;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #edf1ef}.portal-process-row:first-child{border-top:0}.portal-process-row b,.portal-process-row small{display:block}.portal-process-row b{font-size:10px}.portal-process-row small{font-size:8px;color:#5b6e6a;margin-top:3px}

.monitor-rural-offer-pro{margin-top:16px}
.portal-plans{margin-top:18px;padding:22px;background:#fff;border:1px solid #d9e4e1;border-radius:20px;box-shadow:0 8px 24px rgba(15,78,71,.04)}
.portal-plan-grid{display:grid;grid-template-columns:1fr 1.05fr 1.15fr;gap:12px}
.portal-plan-card{position:relative;border:1px solid #d7e3df;border-radius:16px;padding:20px;background:#fff;display:flex;flex-direction:column;min-height:330px}.portal-plan-card>span{font-size:13px;font-weight:850}.portal-plan-card>strong{font-size:28px;margin:10px 0 4px;color:#123a33}.portal-plan-card>strong small{font-size:10px;font-weight:700}.portal-plan-card>p{font-size:9px;color:#5b6e6a;line-height:1.4;margin:0 0 10px}.portal-plan-card ul{list-style:none;padding:0;margin:8px 0 18px;display:grid;gap:7px}.portal-plan-card li{position:relative;padding-left:16px;font-size:8.8px;line-height:1.35;color:#335b52}.portal-plan-card li:before{content:"✓";position:absolute;left:0;color:#1cc5a2;font-weight:900}.portal-plan-card a,.portal-plan-card button{margin-top:auto;text-decoration:none;text-align:center;border:1px solid #cfe0db;color:#0f4e47;border-radius:10px;padding:10px;font-size:9px;font-weight:900;background:#fff;cursor:pointer;font-family:inherit}.portal-plan-card em{position:absolute;right:12px;top:-10px;background:#27d9b4;color:#063d35;border-radius:999px;padding:5px 9px;font-size:7px;font-style:normal;font-weight:900}.portal-plan-recommended{border-color:#49dbbd;box-shadow:0 8px 20px rgba(39,217,180,.09)}.portal-plan-recommended a,.portal-plan-recommended button{background:#27d9b4;border-color:#27d9b4;color:#073f37}
.portal-plan-monitor{background:linear-gradient(160deg,#0b3b35,#0d544a);border-color:#0d544a;color:#fff;box-shadow:0 13px 28px rgba(13,84,74,.15)}.portal-plan-monitor>span,.portal-plan-monitor>strong{color:#fff}.portal-plan-monitor>p,.portal-plan-monitor li{color:#d1e6e1}.portal-plan-monitor a{background:#29dfb9;color:#073f37;border-color:#29dfb9}.portal-plan-monitor em{background:#91efcc;color:#073f37}

@media(max-width:1180px){
  .portal-kpi-row{grid-template-columns:repeat(3,1fr)}
  .portal-property-cards{grid-template-columns:repeat(2,1fr)}
  .portal-property-card{grid-template-columns:105px 1fr}
  .portal-three-grid{grid-template-columns:1fr 1fr}
  .portal-three-grid>article:last-child{grid-column:1/-1}
  .portal-plan-grid{grid-template-columns:1fr 1fr}.portal-plan-monitor{grid-column:1/-1}
}
@media(max-width:900px){
  .portal-header-pro{flex-wrap:wrap}.portal-nav{order:3;width:100%;overflow:auto}.portal-nav-link{white-space:nowrap}
  .portal-welcome-message{display:none}
  .portal-kpi-row{grid-template-columns:repeat(2,1fr)}
  .portal-property-cards{grid-template-columns:1fr}
  .portal-dashboard-grid,.portal-three-grid{grid-template-columns:1fr}.portal-three-grid>article:last-child{grid-column:auto}
  .portal-tabs{grid-template-columns:1fr 1fr}.portal-tabs button:last-child{grid-column:1/-1}
  .portal-service-row{grid-template-columns:36px 1fr auto}.portal-progress,.portal-service-detail{grid-column:2/-1}
  .portal-property-focus{align-items:flex-start;flex-direction:column}.portal-focus-side{width:100%;justify-content:space-between}
  .portal-plan-grid{grid-template-columns:1fr}.portal-plan-monitor{grid-column:auto}
}
@media(max-width:650px){
  .portal-main-pro{padding:14px}
  .portal-header-pro{padding:10px 14px}.portal-user-badge>div{display:none}
  .portal-welcome-overlay{padding:22px 20px;min-height:170px}.portal-welcome{min-height:170px}.portal-welcome h1{font-size:29px}
  .portal-kpi-row{grid-template-columns:1fr 1fr}.portal-kpi-card{padding:11px}.portal-kpi-card>span{width:30px;height:30px}.portal-kpi-card b{font-size:19px}
  .portal-property-card{grid-template-columns:88px 1fr}.portal-property-image{min-height:180px}.portal-property-card-body{padding:12px}.portal-property-card-top{display:grid}.portal-card-status{justify-self:start}
  .portal-property-thumb{display:none}.portal-focus-side{display:grid;grid-template-columns:1fr 1fr}.portal-focus-side .secondary{grid-column:1/-1}
  .portal-tabs{grid-template-columns:1fr}
  .portal-document-row,.portal-process-row{grid-template-columns:36px 1fr}.portal-document-row>span,.portal-document-row>button,.portal-process-row>.portal-service-status,.portal-process-row>.portal-progress,.portal-process-row>small{grid-column:2;justify-self:start}
  .portal-quick-grid{grid-template-columns:1fr}
  .portal-plans{padding:16px}
}

/* Property-wide deep search */
.property-search-panel{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f9fbfa}
.property-search-head h4{margin:4px 0 4px;font-size:15px;color:var(--ink)}
.property-search-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.property-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:12px}
.property-search-form input{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 13px;font:inherit;color:var(--ink);background:#fff}
.property-search-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,78,71,.08)}
.property-search-summary{margin:10px 0 0;color:var(--muted);font-size:11px;min-height:16px}
.property-search-results{display:grid;gap:12px;margin-top:12px}
.property-search-group{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.property-search-group-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--surface-soft)}
.property-search-group-head h5{margin:0;font-size:11px;color:var(--primary)}
.property-search-group-head span{display:inline-flex;min-width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;background:#fff;color:var(--primary);font-size:10px;font-weight:800}
.property-search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-top:1px solid var(--line)}
.property-search-result:first-of-type{border-top:0}
.property-search-result-main b{display:block;font-size:11px;color:var(--ink)}
.property-search-result-main small{display:block;margin-top:3px;color:var(--muted);font-size:9px}
.property-search-result-main p{margin:6px 0 0;color:#51645e;font-size:9.5px;line-height:1.45;word-break:break-word}
.property-search-result>button{border:0;background:#edf4f2;color:var(--primary);padding:8px 10px;border-radius:9px;font-size:9px;font-weight:800;cursor:pointer}
.property-search-fields{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.property-search-fields span{background:#eef6f3;color:#35665c;padding:4px 6px;border-radius:999px;font-size:7.5px;font-weight:800}
@media(max-width:650px){.property-search-form{grid-template-columns:1fr}.property-search-result{grid-template-columns:1fr}.property-search-result>button{justify-self:start}}

/* Direct property link */

/* Property final documents */
.property-final-docs-panel{margin:18px 0}
.property-final-docs-panel .delivery-publish-form{display:grid;gap:12px}
.property-final-docs-panel .delivery-publish-form>label{display:grid;gap:6px;font-size:11px;font-weight:700;color:var(--ink)}
.property-final-docs-panel textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;resize:vertical}
.property-final-docs-panel textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,78,71,.08)}
.delivery-publish-actions{justify-content:flex-start;align-items:center}
.property-final-docs-head{margin:16px 0 8px;padding-top:14px;border-top:1px solid var(--line)}
.property-final-docs-head h4{margin:3px 0 0;font-size:14px}
.property-final-row{grid-template-columns:minmax(0,1fr) auto auto}
.property-final-row .row-actions{justify-content:flex-end;flex-wrap:wrap}
@media(max-width:820px){.property-final-row{grid-template-columns:1fr}.property-final-row .row-actions{justify-content:flex-start}}

/* Premium property command center */
.property-command-center{display:grid;gap:16px;margin-top:18px}

.property-management-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.property-management-kpi{padding:14px 15px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(14,67,59,.04)}
.property-management-kpi span,.property-management-kpi b,.property-management-kpi small{display:block}
.property-management-kpi span{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#5b6e6a}
.property-management-kpi b{font-size:23px;line-height:1;margin-top:4px;color:#0d4c43}
.property-management-kpi small{font-size:8px;margin-top:5px;color:#5b6e6a}

.property-management-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:4px;border:1px solid var(--line);border-radius:14px;background:#fff}
.property-management-tabs button{border:0;border-radius:10px;padding:11px 10px;background:transparent;color:#5f746e;font-size:9.5px;font-weight:850;cursor:pointer}
.property-management-tabs button:hover{background:#f3f8f6}
.property-management-tabs button.active{background:#e8f7f2;color:#08735f;box-shadow:inset 0 0 0 1px #4ed8bb}

.property-management-panel{display:block}
.property-management-panel.hidden{display:none}
.property-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.property-management-grid-wide{margin-top:12px}
.property-management-card{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(15,78,71,.035)}
.property-management-card-spaced{margin-top:12px}
.property-management-card-head{margin-bottom:11px}
.property-management-card-head-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.property-management-card-head h3{margin:3px 0 0;font-size:14px}
.property-management-card-head p{margin:4px 0 0;font-size:9px;line-height:1.45;color:var(--muted)}

.property-management-highlight{display:flex;gap:11px;align-items:flex-start}
.property-management-highlight-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fff0dd;color:#8f5208;font-weight:900;flex:0 0 auto}
.property-management-highlight b,.property-management-latest b{display:block;font-size:10.5px}
.property-management-highlight p,.property-management-positive p{margin:5px 0;font-size:9px;line-height:1.45;color:#5b6e6a}
.property-management-highlight small,.property-management-latest small{font-size:8px;color:#5b6e6a}
.property-management-positive{padding:4px 0}
.property-management-positive b{font-size:10.5px}

.property-progress-block{display:grid;gap:6px;margin-bottom:13px}
.property-progress-block:last-child{margin-bottom:0}
.property-progress-block>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center}
.property-progress-block span{font-size:9px;color:#5b6e6a}
.property-progress-block b{font-size:10px;color:#0d4c43}
.property-progress-track{height:7px;border-radius:999px;background:#edf3f1;overflow:hidden}
.property-progress-track.compact{height:5px;margin:8px 0 4px}
.property-progress-track i{display:block;height:100%;border-radius:999px;background:#2bd9b4}

.property-management-client{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #edf1ef}
.property-management-client:first-child{border-top:0}
.property-management-client>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#def7ee;color:#08755f;font-size:9px;font-weight:900;flex:0 0 auto}
.property-management-client b,.property-management-client small{display:block}
.property-management-client b{font-size:10px}
.property-management-client small{font-size:8px;color:#5b6e6a;margin-top:2px}

.property-management-latest{padding:8px 0;border-top:1px solid #edf1ef}
.property-management-latest:first-child{border-top:0}
.property-management-latest>span{display:block;font-size:7.5px;text-transform:uppercase;letter-spacing:.05em;color:#5b6e6a;margin-bottom:2px}

.property-management-list{display:grid;gap:7px}
.property-management-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 0;border-top:1px solid #edf1ef}
.property-management-row:first-child{border-top:0}
.property-management-row b,.property-management-row small{display:block}
.property-management-row b{font-size:9.5px}
.property-management-row small{font-size:8px;color:#5b6e6a;line-height:1.4;margin-top:2px;max-width:740px}
.property-management-row button,.property-management-row .button-link{border:1px solid #d7e4df;background:#f7faf9;color:#0e5b50;border-radius:8px;padding:7px 9px;font-size:8px;font-weight:850;text-decoration:none;cursor:pointer}
.property-management-row button:hover,.property-management-row .button-link:hover{background:#edf7f3}
.property-management-dot{width:10px;height:10px;border-radius:50%;background:#bbc9c5}
.property-management-dot.success{background:#1fc59f}.property-management-dot.info{background:#4d9cbe}.property-management-dot.warning{background:#e5a03e}.property-management-dot.danger{background:#d95858}
.property-management-file{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#e8f4f1;color:#0c6b5c;font-size:7px;font-weight:900}
.property-management-empty{padding:18px;border-radius:11px;background:#f2f6f4;color:#5b6e6a;font-size:9px;text-align:center}
.property-management-process>small{display:block;font-size:8px;color:#5b6e6a}

.property-management-upload{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.2fr) auto;gap:9px;align-items:center;margin:5px 0 12px}
.property-management-upload select,.property-management-upload input{width:100%;min-height:39px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 10px;font:inherit}
.property-management-upload small{grid-column:1/-1;color:var(--muted);font-size:8.5px}

.property-management-timeline{display:grid}
.property-timeline-item{position:relative;display:grid;grid-template-columns:16px 1fr;gap:10px;padding:0 0 14px}
.property-timeline-item:before{content:"";position:absolute;left:7px;top:13px;bottom:0;width:1px;background:#dce7e3}
.property-timeline-item:last-child:before{display:none}
.property-timeline-item>span{position:relative;z-index:1;width:15px;height:15px;border:4px solid #dcf6ed;border-radius:50%;background:#12aa87}
.property-timeline-item b,.property-timeline-item small{display:block}
.property-timeline-item b{font-size:9.5px}
.property-timeline-item small{font-size:8px;color:#5b6e6a;margin-top:2px}

@media(max-width:1200px){
  .property-management-kpis{grid-template-columns:repeat(3,1fr)}
  
  
}
@media(max-width:900px){
  .property-management-grid{grid-template-columns:1fr}
  .property-management-tabs{grid-template-columns:1fr 1fr}
  .property-management-tabs button:last-child{grid-column:1/-1}
  .property-management-upload{grid-template-columns:1fr}
  .property-management-upload small{grid-column:auto}
}
@media(max-width:650px){
  .property-management-kpis{grid-template-columns:1fr 1fr}
  
  
  
  
  .property-management-tabs{grid-template-columns:1fr}
  .property-management-tabs button:last-child{grid-column:auto}
  .property-management-row{grid-template-columns:auto 1fr}.property-management-row>.row-actions,.property-management-row>button,.property-management-row>.manager-status{grid-column:2;justify-self:start}
}

.property-delivery-highlight{
  outline:2px solid #27d6b2;
  background:#eefcf8;
  border-radius:12px;
  box-shadow:0 0 0 6px rgba(39,214,178,.10);
  transition:all .2s ease;
}

/* Property management list */
#propertiesTable{display:grid;gap:10px}

/* Delivery editor management actions */
.delivery-edit-danger-zone{
  margin-top:14px;
  padding:13px 14px;
  border:1px solid #eadfda;
  border-radius:13px;
  background:#fffaf8;
}
.delivery-edit-danger-zone p{
  margin:4px 0 10px;
  font-size:9px;
  line-height:1.45;
}
.delivery-edit-danger-zone .row-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.delivery-edit-danger-zone .danger-ghost{
  border-color:#e3b6b6;
  background:#fff3f3;
  color:#a33b3b;
}
.delivery-edit-danger-zone .danger-ghost:hover{
  background:#fde7e7;
}

/* Global admin search */
.top-global-search{position:relative;flex:1;max-width:560px;margin-left:auto}
.top-global-search form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.top-global-search input{width:100%;min-height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 11px;font:inherit}
.top-global-search button{border:0;border-radius:10px;background:#0c5a4e;color:#fff;padding:8px 12px;font-size:9px;font-weight:800;cursor:pointer}
.global-search-results{position:absolute;z-index:90;top:46px;left:0;right:0;max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(8,49,43,.16);padding:8px}
.global-search-results section+section{border-top:1px solid #edf2ef;margin-top:7px;padding-top:7px}
.global-search-results h5{margin:4px 7px 6px;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#5b6e6a}
.global-search-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;border:0!important;background:#fff!important;color:var(--ink)!important;padding:9px 10px!important;border-radius:9px!important}
.global-search-item:hover{background:#f1f8f5!important}
.global-search-item span{min-width:0}
.global-search-item b,.global-search-item small{display:block}
.global-search-item b{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.global-search-item small{font-size:7.8px;color:#5b6e6a;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.global-search-item i{font-style:normal;color:#159475}
.global-search-empty{padding:15px;text-align:center;font-size:9px;color:#5b6e6a}
.client-access-row{grid-template-columns:minmax(0,1fr) auto auto}
.property-checklist-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.property-checklist-item{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;padding:8px 9px;border-radius:10px;background:#f6faf8}
.property-checklist-item span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:8px;font-weight:900}
.property-checklist-item.done span{background:#dff7ef;color:#0a6b57}.property-checklist-item.missing span{background:#fff0de;color:#8f5208}
.property-checklist-item b{font-size:8.5px}.property-checklist-item small{font-size:7.5px;color:#5b6e6a}
.property-area-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.property-area-grid>div{padding:10px;border-radius:10px;background:#f6faf8}
.property-area-grid small,.property-area-grid b{display:block}
.property-area-grid small{font-size:7.5px;color:#5b6e6a}.property-area-grid b{font-size:10px;margin-top:3px}
.property-area-alert,.property-area-ok{margin-top:10px;padding:10px 11px;border-radius:10px}
.property-area-alert{background:#fff3e8;color:#9b5c17}.property-area-ok{background:#edf8f4;color:#176b5a}
.property-area-alert b,.property-area-alert small,.property-area-ok b,.property-area-ok small{display:block}
.property-area-alert b,.property-area-ok b{font-size:9px}.property-area-alert small,.property-area-ok small{font-size:7.8px;margin-top:2px}
@media(max-width:900px){.top-global-search{max-width:none;width:100%;order:3}.topbar{flex-wrap:wrap}.client-access-row{grid-template-columns:1fr}.property-checklist-grid,.property-area-grid{grid-template-columns:1fr}}

/* Monitor Rural admin */
.monitor-rural-admin-card{border-color:#cfe9df;background:linear-gradient(180deg,#fbfffd,#f5fbf8)}
.monitor-rural-admin-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.monitor-rural-admin-form label{display:grid;gap:6px;font-size:8.5px;font-weight:800;color:#34584f}
.monitor-rural-admin-form select,.monitor-rural-admin-form input,.monitor-rural-admin-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px 10px;font:inherit}
.monitor-consent-check{grid-column:1/-1;display:flex!important;align-items:center;gap:8px!important;padding:10px 11px;border-radius:10px;background:#edf8f4}
.monitor-consent-check input{width:auto!important}
.monitor-notes{grid-column:1/-1}
.monitor-rural-admin-actions{grid-column:1/-1;display:flex;align-items:center;gap:10px}
.monitor-rural-admin-actions small{font-size:8px;color:#5b6e6a}
@media(max-width:760px){.monitor-rural-admin-form{grid-template-columns:1fr}}

/* Client service lifecycle */
.client-service-ended{
  border-left:4px solid #c97a1b;
  background:linear-gradient(90deg,rgba(201,122,27,.10),transparent 32%);
}

.client-service-banner{
  display:flex;
  gap:.7rem;
  align-items:center;
  margin:0 0 1rem;
  padding:.8rem 1rem;
  border:1px solid rgba(201,122,27,.35);
  border-left:5px solid #c97a1b;
  border-radius:12px;
  background:rgba(201,122,27,.10);
}
.client-service-banner b{
  white-space:nowrap;
  font-size:.78rem;
  letter-spacing:.05em;
}
.client-service-banner span{
  font-size:.86rem;
}
.client-service-banner.archived{
  border-color:rgba(110,118,129,.35);
  border-left-color:#6e7681;
  background:rgba(110,118,129,.10);
}
.client-service-banner.hidden{
  display:none;
}

.service-plan-admin-card{border-color:#cfe3ef;background:linear-gradient(180deg,#fcfeff,#f4f9fc)}
.service-plan-admin-card .property-management-subsection{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}

/* Client portfolio management */
.client-portfolio-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}
.client-portfolio-kpis>div{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fbfdfc,#f3f8f6);padding:14px}
.client-portfolio-kpis small{display:block;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.client-portfolio-kpis b{display:block;margin-top:6px;color:var(--primary);font-size:24px}
.client-portfolio-alerts{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.client-portfolio-alerts button{border:1px solid #ead7a7;background:#fff9e8;color:#7a5b16;border-radius:999px;padding:8px 11px;font-size:9.5px;font-weight:800;cursor:pointer}
.client-portfolio-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.client-portfolio-filters select{width:100%;border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 12px;color:var(--ink)}
.client-portfolio-list{display:grid;gap:10px}

.client-plan-badge{white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:900;background:#eef3f1;color:#536a63}
.client-plan-badge.free{background:#eef3f1;color:#536a63}.client-plan-badge.premium{background:#dcf8ee;color:#08755f}

.client-portfolio-actions{justify-content:flex-end}
.client-360-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.client-360-card{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff,#f7faf9);padding:14px}
.client-360-card h4{margin:6px 0 4px;font-size:15px;color:var(--primary)}.client-360-card p{margin:0;color:var(--muted);font-size:9.5px;line-height:1.45}
@media(max-width:1200px){.client-portfolio-kpis{grid-template-columns:repeat(3,1fr)}.client-portfolio-actions{justify-content:flex-start}}
@media(max-width:760px){.client-portfolio-kpis{grid-template-columns:repeat(2,1fr)}.client-portfolio-filters{grid-template-columns:1fr}.client-360-grid{grid-template-columns:1fr}}

.client-service-management-panel{margin-top:14px}
.client-service-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}
.client-service-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#355c52;min-width:0}
.client-service-form select,.client-service-form input{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;font:inherit;color:var(--ink);text-overflow:ellipsis}
.client-service-form .client-service-notes{grid-column:1/-1}
.client-service-form .client-service-visible{display:flex;align-items:center;gap:8px;grid-column:1/-1;font-size:12px;font-weight:700;color:var(--muted)}
.client-service-visible input{width:auto}
.client-service-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.client-service-actions button{width:auto}
.client-service-form small{color:var(--muted)}
@media(max-width:600px){.client-service-form{grid-template-columns:1fr}}

/* Premium client detail */
#clientDetailView{max-width:1720px;width:100%;padding-left:22px;padding-right:22px}
#clientDetailView>.panel:first-child{background:linear-gradient(180deg,#ffffff,#f8fbfa);border-color:#d8e6e2}
#clientDetailView>.panel:first-child .panel-head{align-items:flex-start}
.client-detail-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.client-detail-nav button{border:1px solid var(--line);background:#fff;color:var(--primary);border-radius:999px;padding:8px 12px;font-size:9px;font-weight:900;cursor:pointer}
.client-detail-nav button:hover{background:#edf7f4;border-color:#b9ddd3}
.client-commercial-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:14px;margin-top:14px;align-items:start}
.client-package-panel,.client-service-management-panel{margin-top:0;height:100%}
.client-package-panel{border-color:#cfe6de;background:linear-gradient(180deg,#ffffff,#f5fbf8)}
.client-package-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.client-package-form label{display:grid;gap:6px;font-size:9px;font-weight:850;color:#355c52}
.client-package-form input,.client-package-form select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:#fff;font:inherit;color:var(--ink)}
.client-package-visible{display:flex!important;align-items:center;gap:8px!important;background:#edf8f4;border-radius:10px;padding:9px 10px}
.client-package-visible input{width:auto!important}
.client-package-notes{grid-column:1/-1}
.client-package-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center}
.client-package-actions small{color:var(--muted);font-size:9px}
.client-package-list{display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.client-package-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;min-width:0;border:1px solid #dce8e4;border-radius:12px;background:#fff;padding:11px 12px}
.client-package-row-main{display:flex;gap:10px;align-items:center;min-width:0;flex:1 1 240px}
.client-package-row-main>div{min-width:0}
.client-package-row-main b{display:block;font-size:10.5px}
.client-package-row-main small{display:block;margin-top:4px;color:var(--muted);font-size:8.8px;white-space:normal;overflow-wrap:anywhere;max-width:100%}
.client-package-icon{width:34px;height:34px;border-radius:11px;background:#dff5ed;color:#0c6d5d;display:grid;place-items:center;font-weight:950}
#clientAssetsPortalGrid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)}
#clientAccessPanel{grid-column:1/-1}
#clientDeliveriesPanel{margin-top:14px}
#clientDetailView .summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
#clientDetailView .client-360-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
#clientDetailView .client-360-card{min-height:100px}
#clientDetailView .client-360-card h4{font-size:14px}
@media(max-width:1350px){
  .client-commercial-grid{grid-template-columns:1fr}
  #clientDetailView .client-360-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  #clientDetailView .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  #clientDetailView{padding-left:14px;padding-right:14px}
  #clientAssetsPortalGrid{grid-template-columns:1fr}
  .client-package-form{grid-template-columns:1fr}
  .client-package-notes,.client-package-actions{grid-column:1}
  .client-package-row{display:grid}
}
@media(max-width:650px){
  #clientDetailView .client-360-grid,#clientDetailView .summary-grid{grid-template-columns:1fr 1fr}
}

/* Client portal compact top card */
.client-portal-top{
  margin-top:14px;
  border:1px solid #d7e6e1;
  border-radius:14px;
  background:linear-gradient(180deg,#f8fcfb,#f2f8f6);
  padding:14px 16px;
}
.client-portal-top-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.client-portal-top-head h4{margin:5px 0 3px;font-size:14px;color:var(--primary)}
.client-portal-top-head p{margin:0;color:var(--muted);font-size:9px}
.client-portal-top-body{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  gap:12px;
  margin-top:12px;
  align-items:start;
}
.client-portal-access-form{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:8px;
  align-items:center;
}
.client-portal-access-form input{
  width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  padding:10px 11px;
  background:#fff;
  font:inherit;
}
.client-portal-access-form small{grid-column:1/-1;color:var(--muted);font-size:8px}
.client-portal-users{display:grid;gap:7px}
.client-portal-users .data-row{background:#fff}
.client-portal-open{white-space:nowrap;margin:0}
#clientAssetsPortalGrid{grid-template-columns:1fr}
#clientAssetsPortalGrid>article:first-child{width:100%}
@media(max-width:900px){
  .client-portal-top-body{grid-template-columns:1fr}
  .client-portal-access-form{grid-template-columns:1fr}
}

/* Portal access card refinement */
.client-portal-top-body{
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);
  align-items:stretch;
}
.client-portal-access-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
  align-items:end;
}

.portal-access-submit{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-start;
}
.portal-access-submit .primary{
  width:auto;
  min-width:210px;
  max-width:100%;
  white-space:normal;
  line-height:1.15;
}
.client-portal-access-form small{
  grid-column:1/-1;
  min-height:14px;
}
.client-portal-users{
  align-content:start;
}
.client-portal-users .data-row{
  grid-template-columns:minmax(0,1fr) auto;
  min-height:54px;
}
.client-portal-users .data-row b,
.client-portal-users .data-row small{
  overflow-wrap:anywhere;
}
@media(max-width:1100px){
  .client-portal-top-body{grid-template-columns:1fr}
}
@media(max-width:720px){
  .client-portal-access-form{grid-template-columns:1fr}
  .portal-access-submit,.client-portal-access-form small{grid-column:1}
  .portal-access-submit .primary{width:100%;min-width:0}
}

/* Client portal contracted plan + payment experience */
.portal-contract-summary{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:12px;
  margin:0 0 12px;
  padding:0;
}
.portal-contract-summary.hidden{display:none}
.portal-contract-main{
  border:1px solid #cfe4dd;
  border-radius:16px;
  background:linear-gradient(135deg,#f8fcfb,#eef9f5);
  padding:16px 18px;
  box-shadow:0 6px 18px rgba(15,78,71,.035);
}
.portal-contract-title-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:4px;
}
.portal-contract-title-row h3{
  margin:0;
  font-size:18px;
  color:#123a33;
}
.portal-contract-status{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 8px;
  font-size:8px;
  font-weight:900;
  background:#eff3f2;
  color:#5b6e6a;
}
.portal-contract-status.active,.portal-contract-status.success{
  background:#dbf8ee;
  color:#08755f;
}
.portal-contract-meta{
  display:flex;
  gap:12px;
  align-items:baseline;
  flex-wrap:wrap;
  margin:9px 0 6px;
}
.portal-contract-meta strong{
  font-size:22px;
  color:#0e4d45;
}
.portal-contract-meta span{
  font-size:8.5px;
  color:#5b6e6a;
}
.portal-contract-main p{
  margin:0;
  max-width:780px;
  color:#5b6e6a;
  font-size:9.5px;
  line-height:1.5;
}
.portal-contract-payment{
  border-radius:16px;
  padding:16px 17px;
  border:1px solid #dbe6e2;
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:128px;
}
.portal-contract-payment.pending{
  border-color:#efd5aa;
  background:linear-gradient(145deg,#fffaf0,#fff5e4);
}
.portal-contract-payment.partial{
  border-color:#e7d29d;
  background:#fffaed;
}
.portal-contract-payment.paid{
  border-color:#cde9df;
  background:linear-gradient(145deg,#f5fcf9,#eaf8f3);
}
.portal-contract-payment-label{
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.1em;
  color:#5b6e6a;
}
.portal-contract-payment strong{
  display:block;
  margin-top:5px;
  font-size:15px;
  color:#17463e;
}
.portal-contract-payment.pending strong{color:#ad6715}
.portal-contract-payment.partial strong{color:#9b7117}
.portal-contract-payment p{
  margin:5px 0 10px;
  color:#5b6e6a;
  font-size:8.8px;
  line-height:1.45;
}
.portal-contract-payment button{
  align-self:flex-start;
  border:0;
  border-radius:9px;
  background:#0e5c50;
  color:#fff;
  padding:8px 10px;
  font-size:8px;
  font-weight:850;
  cursor:pointer;
}
.portal-action-icon.warning{
  background:#fff0dc;
  color:#8f5208;
}
.portal-payment-note{
  padding:3px 0;
}
.portal-payment-note b{color:#a46416}
.portal-payment-note p{color:#786a57}
.portal-property-tags span.payment-pending{
  background:#fff0dc;
  color:#ac6516;
}
.portal-plan-card button:disabled{
  cursor:default;
  opacity:.72;
  background:#edf3f1;
  border-color:#dce6e2;
  color:#5b6e6a;
}
.portal-plan-recommended button:disabled,
.portal-plan-monitor button:disabled{
  background:#dfeae6;
  color:#5b6e6a;
  border-color:#d5e2dd;
}
@media(max-width:900px){
  .portal-contract-summary{grid-template-columns:1fr}
}
@media(max-width:650px){
  .portal-contract-title-row{display:grid}
  .portal-contract-status{justify-self:start}
  .portal-contract-meta strong{font-size:19px}
}

/* Portal contract center */
.portal-contract-center-grid{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);
  gap:12px;
}
.portal-contract-history{display:grid;gap:8px}
.portal-contract-history-row{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border:1px solid #dfe8e5;
  border-radius:12px;
  background:#fff;
}
.portal-contract-history-icon{
  width:34px;height:34px;border-radius:10px;
  display:grid;place-items:center;
  background:#e5f7f1;color:#08745f;font-weight:900;
}
.portal-contract-history-main>div{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.portal-contract-history-main b{font-size:10.5px}
.portal-contract-history-main small{
  display:block;margin-top:3px;color:#5b6e6a;font-size:8.2px;
}
.portal-contract-history-main p{
  margin:5px 0 0;color:#5b6e6a;font-size:8.7px;line-height:1.4;
}
.portal-contract-finance{
  border-radius:999px;padding:5px 8px;font-size:7.8px;font-weight:900;
  white-space:nowrap;background:#f1f4f3;color:#5b6e6a;
}
.portal-contract-finance.paid{background:#dcf8ee;color:#08755f}
.portal-contract-finance.partial{background:#fff4d9;color:#986b12}
.portal-contract-finance.pending{background:#fff0dc;color:#ac6516}

.portal-contract-timeline{display:grid;gap:0}
.portal-contract-step{
  position:relative;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:10px;
  padding:0 0 16px;
}
.portal-contract-step:before{
  content:"";
  position:absolute;
  left:13px;top:26px;bottom:0;
  width:2px;background:#e3ece9;
}
.portal-contract-step:last-child:before{display:none}
.portal-contract-step-dot{
  position:relative;z-index:1;
  width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  font-size:8px;font-weight:900;
  background:#eef3f1;color:#5b6e6a;
}
.portal-contract-step.done .portal-contract-step-dot{
  background:#d9f7ed;color:#08755f;
}
.portal-contract-step.current .portal-contract-step-dot{
  background:#fff0dc;color:#b76a15;
  box-shadow:0 0 0 4px rgba(231,157,65,.12);
}
.portal-contract-step b{display:block;font-size:9.5px}
.portal-contract-step small{
  display:block;margin-top:3px;color:#5b6e6a;font-size:8.2px;line-height:1.35;
}

.portal-current-plan-sales{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  margin:0 0 16px;
  padding:14px 16px;
  border:1px solid #bfe3d8;
  border-radius:14px;
  background:linear-gradient(135deg,#f1fbf7,#e6f7f1);
}
.portal-current-plan-sales.hidden{display:none}
.portal-current-plan-sales b,.portal-current-plan-sales small{display:block}
.portal-current-plan-sales b{
  margin-top:4px;
  color:#0b4f45;
  font-size:15px;
}
.portal-current-plan-sales small{
  margin-top:4px;
  color:#5b6e6a;
  font-size:8.7px;
}
.portal-current-plan-sales button{
  border:0;border-radius:9px;background:#0d5b4f;color:#fff;
  padding:9px 11px;font-size:8.5px;font-weight:850;cursor:pointer;
  white-space:nowrap;
}
.portal-available-services-head{
  display:flex;justify-content:space-between;gap:14px;align-items:center;
  margin:0 0 12px;
}
.portal-available-services-head span{
  font-size:8px;font-weight:900;letter-spacing:.09em;color:#547169;
}
.portal-available-services-head small{
  color:#5b6e6a;font-size:8px;
}
.portal-plan-card.portal-plan-current{
  border:2px solid #20c8a6;
  box-shadow:0 10px 26px rgba(32,200,166,.12);
}
.portal-plan-current{position:relative}
.portal-current-plan-badge{
  position:absolute;
  left:14px;
  top:-10px;
  border-radius:999px;
  padding:5px 8px;
  background:#0b5b4f;
  color:#fff;
  font-size:7px;
  font-weight:900;
  z-index:2;
}
@media(max-width:900px){
  .portal-contract-center-grid{grid-template-columns:1fr}
  .portal-current-plan-sales{align-items:flex-start;flex-direction:column}
}
@media(max-width:650px){
  .portal-contract-history-row{grid-template-columns:34px 1fr}
  .portal-contract-finance{grid-column:2;justify-self:start}
  .portal-available-services-head{align-items:flex-start;flex-direction:column}
}

/* Portal installment schedule */
.portal-installment-card{
  margin-top:12px;
  padding:13px;
  border:1px solid #dce8e4;
  border-radius:13px;
  background:linear-gradient(180deg,#fbfefd,#f6faf8);
}
.portal-installment-card.hidden{display:none}
.portal-installment-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.portal-installment-head h4{
  margin:4px 0 0;
  font-size:13px;
  color:#143f37;
}
.portal-installment-progress-badge{
  border-radius:999px;
  padding:6px 9px;
  background:#eef3f1;
  color:#5b6e6a;
  font-size:7.8px;
  font-weight:900;
  white-space:nowrap;
}
.portal-installment-progress-badge.released{
  background:#dcf8ee;
  color:#08755f;
}
.portal-installment-progress-badge.paid{
  background:#d9f7ed;
  color:#08755f;
}
.portal-installment-progress-badge.pending{
  background:#fff0dc;
  color:#a96618;
}
.portal-installment-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:11px;
}
.portal-installment-summary>div{
  padding:9px 10px;
  border:1px solid #e1ebe8;
  border-radius:10px;
  background:#fff;
}
.portal-installment-summary span,.portal-installment-summary b{display:block}
.portal-installment-summary span{
  font-size:7.5px;
  color:#5b6e6a;
}
.portal-installment-summary b{
  margin-top:3px;
  font-size:10.5px;
  color:#17463e;
}
.portal-installment-list{
  display:grid;
  gap:7px;
  margin-top:10px;
}
.portal-installment-row{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto auto;
  gap:9px;
  align-items:center;
  padding:9px 10px;
  border:1px solid #e2ebe8;
  border-radius:10px;
  background:#fff;
}
.portal-installment-row.paid{
  background:#f5fcf9;
  border-color:#d7eee5;
}
.portal-installment-row.overdue{
  background:#fff8ee;
  border-color:#f0d6ad;
}
.portal-installment-number{
  width:30px;height:30px;border-radius:9px;
  display:grid;place-items:center;
  background:#eef5f2;
  color:#35665c;
  font-size:8px;font-weight:900;
}
.portal-installment-row b{
  display:block;font-size:9.5px;color:#173f38;
}
.portal-installment-row small{
  display:block;margin-top:2px;font-size:7.8px;color:#5b6e6a;
}
.portal-installment-status{
  border-radius:999px;
  padding:5px 8px;
  background:#f0f4f3;
  color:#5b6e6a;
  font-size:7.6px;
  font-weight:900;
}
.portal-installment-row.paid .portal-installment-status{
  background:#dff8ef;color:#08755f;
}
.portal-installment-row.overdue .portal-installment-status{
  background:#fff0dc;color:#ad6715;
}
.portal-installment-paid-at{
  white-space:nowrap;
  margin:0!important;
}
@media(max-width:760px){
  .portal-installment-summary{grid-template-columns:1fr 1fr}
  .portal-installment-row{grid-template-columns:34px 1fr auto}
  .portal-installment-paid-at{grid-column:2/-1}
}

/* Integration hub observability */
.integration-hero{background:linear-gradient(180deg,#fff,#f7fbf9)}
.integration-config-strip{
  display:flex;gap:8px;flex-wrap:wrap;align-items:center;
  padding:10px 0 0;
}
.integration-config-strip>span:not(.manager-status){
  border:1px solid var(--line);border-radius:999px;background:#fff;
  padding:6px 9px;color:var(--muted);font-size:8px;font-weight:800;
}
.integration-kpi-grid{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:14px;
}
.integration-kpi-grid>div{
  border:1px solid var(--line);border-radius:13px;background:#fff;padding:12px;
}
.integration-kpi-grid small{
  display:block;color:var(--muted);font-size:7.8px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;
}
.integration-kpi-grid b{
  display:block;margin-top:5px;font-size:21px;color:var(--primary);
}
.integration-grid{margin-top:14px;align-items:start}
.integration-event-list{display:grid;gap:8px}
.integration-event-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;
  border:1px solid #e0e9e6;border-radius:11px;background:#fff;padding:10px 11px;
}
.integration-event-row b{display:block;font-size:9.5px;color:#173f38}
.integration-event-row small{display:block;margin-top:3px;color:#5b6e6a;font-size:8px;line-height:1.35}
.integration-event-row p{
  margin:5px 0 0;color:#9b4d43;font-size:8px;line-height:1.4;overflow-wrap:anywhere;
}
@media(max-width:1200px){
  .integration-kpi-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .integration-kpi-grid{grid-template-columns:1fr 1fr}
  .integration-event-row{grid-template-columns:1fr}
}

/* Delegated portal access and portfolio UX */
.delegated-access-form{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  align-items:end;
}
.delegated-access-form>label{display:grid;gap:5px}
.delegated-access-form fieldset{
  grid-column:1/-1;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
  margin:0;
  background:#f9fcfb;
}
.delegated-access-form legend{
  padding:0 6px;
  color:var(--primary);
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.delegated-permissions{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
}
.delegated-permissions label{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:9px;
}
.delegated-property-picker #portalAccessPropertyOptions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.delegated-property-option{
  display:flex;
  gap:8px;
  align-items:flex-start;
  border:1px solid var(--line);
  border-radius:10px;
  padding:9px;
  background:#fff;
}
.delegated-property-option span{display:grid;gap:2px}
.delegated-property-option small{color:var(--muted);font-size:8px}
.delegated-user-row small{max-width:680px}
.portal-client-filter{
  display:grid;
  gap:5px;
  min-width:240px;
}
.portal-client-filter select{
  min-height:38px;
  border:1px solid #dbe7e3;
  border-radius:10px;
  background:#fff;
  padding:0 10px;
}
.portal-property-client-badge{
  display:inline-flex;
  margin-bottom:5px;
  padding:3px 7px;
  border-radius:999px;
  background:#edf8f4;
  color:#0f6658;
  font-size:7px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
@media(max-width:980px){
  .delegated-access-form{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .delegated-access-form{grid-template-columns:1fr}
  .delegated-property-picker #portalAccessPropertyOptions{grid-template-columns:1fr}
}

/* Bulk delivery approval */
.delivery-bulk-toolbar{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto auto minmax(180px,1fr);
  gap:10px;
  align-items:end;
  margin:12px 0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fbfa;
}
.delivery-bulk-toolbar>label{display:grid;gap:5px}
.delivery-bulk-check{
  display:flex!important;
  align-items:center;
  gap:7px;
  min-height:38px;
}
.delivery-bulk-row{
  grid-template-columns:auto minmax(0,1fr) auto auto;
}
.delivery-row-selector{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
}
.delivery-row-selector-spacer{display:block;width:16px;height:16px}
@media(max-width:950px){
  .delivery-bulk-toolbar{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .delivery-bulk-toolbar{grid-template-columns:1fr}
  .delivery-bulk-row{grid-template-columns:auto minmax(0,1fr)}
  .delivery-bulk-row>.row-actions,.delivery-bulk-row>div:nth-child(3){grid-column:2}
}

/* Integration reconciliation */
.integration-reconcile-row{align-items:start}
.integration-reconcile-form{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) auto;
  gap:7px;
  margin-top:9px;
}
.integration-reconcile-form select,
.integration-reconcile-form input{
  min-height:34px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  padding:0 9px;
  font-size:8px;
}
.integration-reconcile-form button{
  min-height:34px;
  white-space:nowrap;
}
@media(max-width:900px){
  .integration-reconcile-form{grid-template-columns:1fr}
}

/* v0.29 - Revisao global de legibilidade e acessibilidade do ADMIN
   Mantem o navegador em 100% e aumenta texto/controles sem deformar a interface. */
.app-shell{
  --admin-text-scale:1;
  --admin-font-xs:12px;
  --admin-font-sm:13px;
  --admin-font-md:15px;
  --admin-font-lg:17px;
  --admin-font-xl:21px;
  --admin-control-min-height:42px;
}
body[data-admin-text-size="comfortable"] .app-shell{
  --admin-text-scale:1.08;
  --admin-font-xs:13px;
  --admin-font-sm:14px;
  --admin-font-md:16px;
  --admin-font-lg:18px;
  --admin-font-xl:22px;
  --admin-control-min-height:44px;
}
body[data-admin-text-size="large"] .app-shell{
  --admin-text-scale:1.18;
  --admin-font-xs:14px;
  --admin-font-sm:15px;
  --admin-font-md:17px;
  --admin-font-lg:20px;
  --admin-font-xl:24px;
  --admin-control-min-height:47px;
}

/* Base de leitura */
.app-shell{font-size:var(--admin-font-md);line-height:1.48}
.app-shell p,.app-shell li,.app-shell label,.app-shell td,.app-shell th{line-height:1.5}
.app-shell small{font-size:var(--admin-font-sm);line-height:1.45}
.app-shell .muted,.app-shell .helper-message{font-size:var(--admin-font-sm);line-height:1.55}
.app-shell .eyebrow,.app-shell .section-label{
  font-size:var(--admin-font-xs);
  line-height:1.35;
  letter-spacing:.12em;
}
.app-shell h1{line-height:1.16}
.app-shell h2,.app-shell h3,.app-shell h4{line-height:1.25}

/* Navegacao lateral */
.sidebar{width:auto}
.brand strong{font-size:var(--admin-font-md)!important}
.brand span{font-size:var(--admin-font-sm)}
.nav{gap:8px}
.nav-item{
  font-size:var(--admin-font-md);
  line-height:1.35;
  min-height:46px;
  padding:12px 13px;
}

/* Cabecalho */
.topbar h1{font-size:clamp(24px,2vw,30px)}
.environment{font-size:var(--admin-font-sm)!important}
.top-global-search input,.top-global-search button{
  font-size:var(--admin-font-md);
  min-height:var(--admin-control-min-height);
}
.top-actions{gap:10px;flex-wrap:nowrap}
.admin-text-controls{
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:3px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  flex:0 0 auto;
}
.admin-text-button{
  min-width:38px;
  min-height:36px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--ink);
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}
.admin-text-button:hover{background:var(--surface-soft)}
.admin-text-button.active,.admin-text-current.active{
  background:var(--primary);
  color:#fff;
}

/* Botoes, campos e seletores */
.app-shell button,
.app-shell input,
.app-shell select,
.app-shell textarea{
  font-size:var(--admin-font-md);
}
.app-shell input:not([type="checkbox"]):not([type="radio"]),
.app-shell select,
.app-shell textarea{
  min-height:var(--admin-control-min-height);
  line-height:1.35;
}
.app-shell .primary,.app-shell .secondary,
.app-shell .data-row button,.app-shell .process-actions button,
.app-shell .row-actions button{
  min-height:40px;
  font-size:var(--admin-font-md)!important;
  padding:10px 14px;
}
.app-shell input[type="checkbox"],.app-shell input[type="radio"]{
  width:18px;
  height:18px;
  accent-color:var(--primary);
}

/* Cards e indicadores */
.kpi span,.kpi small{font-size:var(--admin-font-sm)!important}
.kpi strong{font-size:clamp(30px,2.4vw,36px)}
.panel h3{font-size:var(--admin-font-xl)!important}
.summary-card span,.summary-card small{font-size:var(--admin-font-sm)}
.summary-card b{font-size:var(--admin-font-md)}
.doc-kpi span,.dossier-kpis span,.dossier-property-grid span{
  font-size:var(--admin-font-xs);
}
.status-ok,.status-pill,.manager-status,.ai-status,.ocr-status,.confidence{
  font-size:var(--admin-font-sm);
  line-height:1.25;
}

/* Listas, tabelas e linhas operacionais */
.data-row b,.dossier-item b,.process-card-head b,.extraction-head b{
  font-size:var(--admin-font-md)!important;
}
.data-row span,.data-row small,
.dossier-item small,.process-card-head small,.extraction-head small{
  font-size:var(--admin-font-sm);
}

.flow b,.flow small,.roadmap-grid span,.roadmap-grid small{font-size:var(--admin-font-sm)!important}
.flow span,.roadmap-grid b{font-size:var(--admin-font-md)!important}

/* Carteira de clientes */
.client-portfolio-name b,
.client-portfolio-metrics b,
.client-360-card h4{
  font-size:var(--admin-font-md)!important;
}
.client-portfolio-name small,
.client-portfolio-metrics small,
.client-360-card p,
.client-plan-badge{
  font-size:var(--admin-font-sm);
}

/* Formularios e modais */
.form-grid label,.upload-form,.inline-form label,
.login-card label,.portal-access-form label{
  font-size:var(--admin-font-sm)!important;
}
.modal-card{font-size:var(--admin-font-md)}
.modal-card>small,.upload-form small{font-size:var(--admin-font-sm)}

/* Reconciliação / Integrações: área mais crítica para leitura */
.integration-reconcile-form,
.crm-import-review,
.integration-card,
.integration-reconciliation-card{
  font-size:var(--admin-font-md);
}
.integration-reconcile-form label,
.crm-import-review label{
  font-size:var(--admin-font-md)!important;
  line-height:1.4;
}
.integration-reconcile-form small,
.crm-import-review small,
[id*="integration"] small,
[id*="reconciliation"] small{
  font-size:var(--admin-font-sm);
  line-height:1.5;
}
[id*="integration"] b,
[id*="reconciliation"] b{
  line-height:1.35;
}

/* Evita textos excessivamente pequenos deixados por estilos historicos */
.app-shell [style*="font-size:9"],
.app-shell [style*="font-size: 9"],
.app-shell [style*="font-size:10"],
.app-shell [style*="font-size: 10"],
.app-shell [style*="font-size:11"],
.app-shell [style*="font-size: 11"]{
  font-size:var(--admin-font-sm)!important;
}

/* Modo grande: aumenta largura util em vez de apertar os cards */
body[data-admin-text-size="large"] .content{max-width:1650px}
body[data-admin-text-size="large"] .app-shell{grid-template-columns:270px minmax(0,1fr)}
body[data-admin-text-size="large"] .data-row{gap:16px}
body[data-admin-text-size="large"] .panel{padding:26px}

/* Responsividade do cabecalho com controles de acessibilidade */
@media(max-width:1250px){
  .topbar{padding-left:22px;padding-right:22px}
  .environment{display:none}
}
@media(max-width:1050px){
  .admin-text-controls{margin-left:auto}
  .top-global-search{min-width:220px}
}
@media(max-width:760px){
  .admin-text-controls{display:none}
}

/* v0.30 - Organizacao da tela de Integracoes e Reconciliação */
#integrationsView{display:grid;gap:16px}
#integrationsView>.integration-grid,
#integrationsView>.integration-links-panel{margin-top:0}
.integration-operations-grid{align-items:stretch}
.integration-operations-grid>.panel{min-height:100%}

.integration-links-panel{min-width:0}
.integration-links-head{align-items:flex-start}
.integration-links-toolbar{
  display:grid;
  grid-template-columns:minmax(280px,1.6fr) minmax(220px,.7fr) auto;
  gap:12px;
  align-items:end;
  padding:14px;
  margin-bottom:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f8fbfa;
}
.integration-links-toolbar label{display:grid;gap:6px}
.integration-links-toolbar label>span{
  color:var(--muted);
  font-size:var(--admin-font-sm);
  font-weight:750;
}
.integration-links-toolbar input,
.integration-links-toolbar select{
  width:100%;
  min-width:0;
}
.integration-links-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.integration-link-card{
  min-width:0;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
  background:#fff;
  display:grid;
  gap:12px;
}
.integration-link-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.integration-link-card-head>div{min-width:0}
.integration-link-card-head b{
  display:block;
  margin-top:4px;
  font-size:var(--admin-font-md)!important;
}
.integration-link-system{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  background:var(--surface-soft);
  color:var(--primary);
  font-size:var(--admin-font-xs);
  font-weight:800;
}
.integration-link-path{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:12px;
  border-radius:12px;
  background:#f7faf9;
}
.integration-link-path>div{min-width:0}
.integration-link-path small{
  margin:0!important;
  display:block;
  color:var(--muted);
  font-size:var(--admin-font-xs)!important;
  font-weight:800;
}
.integration-link-path strong{
  display:block;
  margin-top:3px;
  overflow-wrap:anywhere;
  font-size:var(--admin-font-sm);
}
.integration-link-arrow{
  width:32px;height:32px;border-radius:50%;
  display:grid;place-items:center;
  background:#e8f2ef;color:var(--primary);
  font-weight:900;
}
.integration-link-card footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  border-top:1px solid var(--line);
  padding-top:10px;
  color:var(--muted);
  font-size:var(--admin-font-sm);
}
.integration-link-card footer b{
  color:var(--ink);
  font-size:var(--admin-font-sm)!important;
  text-align:right;
}

/* Evita estouro horizontal nos formulários de reconciliação */
.integration-reconcile-row{min-width:0}
.integration-reconcile-row>div{min-width:0}
.integration-reconcile-form{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:end;
}
.integration-reconcile-form>*{min-width:0}
.integration-reconcile-form button{white-space:normal}
#integrationMissingFinancialLinks .integration-reconcile-form,
#integrationMissingCrmLinks .integration-reconcile-form{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
#integrationMissingFinancialLinks .integration-event-row,
#integrationMissingCrmLinks .integration-event-row{
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
}
#integrationMissingFinancialLinks .manager-status,
#integrationMissingCrmLinks .manager-status{
  justify-self:start;
}

/* Inventário ambiental usa largura inteira e ações alinhadas */
#environmentalCrmDeals .integration-event-row{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
}
#environmentalCrmDeals .row-actions{
  justify-content:flex-end;
  align-items:center;
}

@media(max-width:1100px){
  .integration-links-list{grid-template-columns:1fr}
  .integration-links-toolbar{grid-template-columns:1fr 1fr auto}
}
@media(max-width:850px){
  .integration-links-toolbar{grid-template-columns:1fr}
  .integration-reconcile-form,
  #integrationMissingFinancialLinks .integration-reconcile-form,
  #integrationMissingCrmLinks .integration-reconcile-form{grid-template-columns:1fr}
  #environmentalCrmDeals .integration-event-row{grid-template-columns:1fr}
  #environmentalCrmDeals .row-actions{justify-content:flex-start}
}

/* v0.31 - Central de Acessos do Portal */
#portalAccessDirectoryView{display:grid;gap:16px}
.portal-access-overview,.portal-access-users-panel,.portal-access-activity-panel{min-width:0}
.portal-access-open-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}

.portal-access-kpi-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}
.portal-access-kpi-grid>div{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:14px;
}
.portal-access-kpi-grid small{
  display:block;
  font-size:var(--admin-font-xs);
  color:var(--muted);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.portal-access-kpi-grid b{
  display:block;
  margin-top:5px;
  font-size:26px;
  color:var(--primary);
}
.portal-access-kpi-grid .success{background:#f3fbf6;border-color:#d4ebdc}
.portal-access-kpi-grid .warning{background:#fff9ec;border-color:#ead9ae}
.portal-access-kpi-grid .info{background:#f2f8fb;border-color:#d5e5ed}

.portal-access-alerts{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.portal-access-alerts button{
  border:1px solid #ead8aa;
  background:#fff8e9;
  color:#795919;
  border-radius:999px;
  min-height:38px;
  padding:8px 12px;
  cursor:pointer;
}

.portal-access-toolbar{
  display:grid;
  grid-template-columns:minmax(300px,1.5fr) minmax(180px,.6fr) minmax(200px,.7fr);
  gap:12px;
  padding:14px;
  margin-bottom:14px;
  background:#f8fbfa;
  border:1px solid var(--line);
  border-radius:14px;
}
.portal-access-toolbar label{display:grid;gap:6px}
.portal-access-toolbar label>span{
  color:var(--muted);
  font-size:var(--admin-font-sm);
  font-weight:750;
}
.portal-access-toolbar input,.portal-access-toolbar select{width:100%;min-width:0}

.portal-access-directory-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.portal-access-client-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.portal-access-client-chips button{
  border:1px solid #cfe4de;
  background:#eef7f4;
  color:var(--primary);
  border-radius:999px;
  min-height:34px;
  padding:6px 10px;
  font-size:var(--admin-font-sm);
  font-weight:750;
  cursor:pointer;
  text-align:left;
}
.portal-access-warning{
  display:inline-flex;
  justify-self:start;
  padding:7px 10px;
  border-radius:999px;
  background:#fff3dd;
  color:#855c13;
  font-size:var(--admin-font-sm);
  font-weight:750;
}

.portal-access-permissions{display:flex;gap:6px;flex-wrap:wrap}
.portal-access-permissions span,
.portal-access-property-count{
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  background:#f1f5f4;
  color:var(--muted);
  font-size:var(--admin-font-xs);
  font-weight:700;
}

.portal-access-activity-list{display:grid;gap:8px}
.portal-access-activity-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:12px;
  padding:11px 12px;
  background:#fff;
}
.portal-access-activity-row b{display:block;font-size:var(--admin-font-md)}
.portal-access-activity-row small{display:block;margin-top:3px;color:var(--muted)}
.portal-access-activity-dot{width:10px;height:10px;border-radius:50%;background:#d7ddd9}
.portal-access-activity-dot.success{background:#46b47b}
.portal-access-activity-dot.warning{background:#d7a338}

@media(max-width:1200px){
  .portal-access-kpi-grid{grid-template-columns:repeat(3,1fr)}
  .portal-access-directory-list{grid-template-columns:1fr}
}
@media(max-width:850px){
  .portal-access-toolbar{grid-template-columns:1fr}
  .portal-access-kpi-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  
  .portal-access-activity-row{grid-template-columns:auto minmax(0,1fr)}
  .portal-access-activity-row>.manager-status{grid-column:2;justify-self:start}
}

/* v0.32 - Portal do Cliente: legibilidade, deep links e gestao documental premium */
.portal-body{
  --portal-font-xs:11px;
  --portal-font-sm:12px;
  --portal-font-md:14px;
  --portal-font-lg:17px;
  --portal-control-height:40px;
}
.portal-body[data-portal-text-size="comfortable"]{
  --portal-font-xs:12px;
  --portal-font-sm:13px;
  --portal-font-md:15px;
  --portal-font-lg:18px;
  --portal-control-height:44px;
}
.portal-body[data-portal-text-size="large"]{
  --portal-font-xs:13px;
  --portal-font-sm:14px;
  --portal-font-md:17px;
  --portal-font-lg:20px;
  --portal-control-height:48px;
}
.portal-shell{font-size:var(--portal-font-md);line-height:1.5}
.portal-shell small{font-size:var(--portal-font-sm)!important;line-height:1.45}
.portal-shell p,.portal-shell label{line-height:1.55}
.portal-shell button,.portal-shell input,.portal-shell select{font-size:var(--portal-font-md)}
.portal-shell input,.portal-shell select{min-height:var(--portal-control-height)}
.portal-nav-link{font-size:var(--portal-font-md);min-height:42px}
.portal-user-badge b{font-size:var(--portal-font-sm)}
.portal-user-badge small{font-size:var(--portal-font-xs)!important}

.portal-text-controls{
  display:inline-flex;
  gap:3px;
  padding:3px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:11px;
  background:rgba(255,255,255,.06);
}
.portal-text-controls button{
  min-width:36px;
  min-height:34px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#fff;
  font-weight:850;
  cursor:pointer;
}
.portal-text-controls button:hover{background:rgba(255,255,255,.1)}
.portal-text-controls button.active{background:#fff;color:var(--primary)}

/* Central documental premium */
.portal-premium-document-center{min-width:0}
.portal-doc-count{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 10px;
  background:#edf7f4;
  color:var(--primary);
  font-size:var(--portal-font-sm);
  font-weight:800;
  white-space:nowrap;
}
.portal-document-toolbar{
  display:grid;
  grid-template-columns:minmax(280px,1.5fr) minmax(220px,.75fr) minmax(220px,.75fr);
  gap:10px;
  margin:14px 0 18px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f7fbfa;
}
.portal-document-toolbar label{display:grid;gap:6px}
.portal-document-toolbar label>span{
  font-size:var(--portal-font-sm);
  font-weight:800;
  color:var(--muted);
}
.portal-document-toolbar input,.portal-document-toolbar select{
  width:100%;
  min-width:0;
  border:1px solid var(--line);
  border-radius:11px;
  padding:0 11px;
  background:#fff;
  color:var(--ink);
}

.portal-premium-document-list{display:grid;gap:14px}
.portal-doc-category{
  border:1px solid var(--line);
  border-radius:15px;
  overflow:hidden;
  background:#fff;
}
.portal-doc-category-head{
  padding:12px 14px;
  background:#f3f8f6;
  border-bottom:1px solid var(--line);
}
.portal-doc-category-head>div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.portal-doc-category-head span{
  font-size:var(--portal-font-md);
  font-weight:850;
  color:var(--primary);
}
.portal-doc-category-head small{color:var(--muted)}
.portal-doc-category-list{display:grid}
.portal-premium-doc-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto auto;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border-bottom:1px solid var(--line);
}
.portal-premium-doc-card:last-child{border-bottom:0}
.portal-premium-doc-card:hover{background:#fbfdfc}
.portal-premium-doc-main{min-width:0}
.portal-premium-doc-main>b{
  display:block;
  font-size:var(--portal-font-md)!important;
  color:var(--ink);
  overflow-wrap:anywhere;
}
.portal-premium-doc-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:7px;
  color:var(--muted);
}
.portal-premium-doc-meta span{font-size:var(--portal-font-sm)}
.portal-premium-doc-meta small{
  display:block;
  margin-bottom:2px;
  font-size:var(--portal-font-xs)!important;
  font-weight:800;
  color:#5b6e6a;
}
.portal-doc-release{
  border-radius:999px;
  padding:6px 9px;
  background:#edf7f4;
  color:#17715e;
  font-size:var(--portal-font-sm);
  font-weight:800;
  white-space:nowrap;
}
.portal-premium-doc-card>button{
  min-height:38px;
  border:0;
  border-radius:9px;
  padding:8px 12px;
  background:#e7f4f0;
  color:var(--primary);
  font-weight:800;
  cursor:pointer;
}
.portal-premium-doc-card>button:hover{background:#d8ece7}

/* Legibilidade geral do Portal */
.portal-kpi-card small,
.portal-focus-side small,
.portal-property-card small,
.portal-card-head .section-label{
  font-size:var(--portal-font-sm);
}
.portal-kpi-card b{font-size:clamp(24px,2vw,30px)!important}
.portal-property-card h3,.portal-dashboard-card h3{font-size:var(--portal-font-lg)}
.portal-tabs button{font-size:var(--portal-font-sm);min-height:42px}
.portal-service-row b,.portal-process-row b,.delivery-item b{font-size:var(--portal-font-md)}
.portal-service-row small,.portal-process-row small,.delivery-item small{font-size:var(--portal-font-sm)}

body[data-portal-text-size="large"] .portal-main-pro{max-width:1480px}
body[data-portal-text-size="large"] .portal-header-pro{padding-left:24px;padding-right:24px}

@media(max-width:1050px){
  .portal-document-toolbar{grid-template-columns:1fr 1fr}
  .portal-document-search{grid-column:1/-1}
  .portal-header-pro{flex-wrap:wrap}
}
@media(max-width:760px){
  /* FASE 08 (E2E 390 px): os botões do cabeçalho quebram linha em vez de sair da tela. */
  .portal-header-actions{flex-wrap:wrap;gap:8px;max-width:100%;min-width:0}
  .portal-text-controls{order:3}
  .portal-document-toolbar{grid-template-columns:1fr}
  .portal-document-search{grid-column:auto}
  .portal-premium-doc-card{grid-template-columns:38px minmax(0,1fr)}
  .portal-premium-doc-card>.portal-doc-release,
  .portal-premium-doc-card>button{grid-column:2;justify-self:start}
  .portal-doc-category-head>div{align-items:flex-start;flex-direction:column}
}

/* v0.33 - Central Premium de Documentos do ADMIN */
.admin-document-center{min-width:0}
.admin-document-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
.admin-document-kpis>div{
  border:1px solid var(--line);
  border-radius:14px;
  padding:13px;
  background:#fff;
}
.admin-document-kpis small{
  display:block;
  font-size:var(--admin-font-xs);
  color:var(--muted);
  font-weight:800;
  text-transform:uppercase;
}
.admin-document-kpis b{
  display:block;
  margin-top:5px;
  font-size:25px;
  color:var(--primary);
}
.admin-document-kpis .info{background:#f1f8fb;border-color:#d4e5ec}
.admin-document-kpis .success{background:#f1faf4;border-color:#d1e8d8}
.admin-document-kpis .warning{background:#fff9ec;border-color:#ead9ae}
.admin-document-kpis .danger{background:#fff2f2;border-color:#efcccc}

.admin-document-toolbar{
  display:grid;
  grid-template-columns:minmax(300px,1.5fr) repeat(3,minmax(170px,.7fr));
  gap:10px;
  padding:14px;
  margin:10px 0 14px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#f7fbfa;
}
.admin-document-toolbar label{display:grid;gap:6px}
.admin-document-toolbar label>span{
  color:var(--muted);
  font-size:var(--admin-font-sm);
  font-weight:800;
}
.admin-document-toolbar input,
.admin-document-toolbar select{
  width:100%;
  min-width:0;
}
.admin-document-search{grid-column:span 2}
#adminDocumentClearFilters{align-self:end}

.admin-document-category-summary{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 14px;
}
.admin-document-category-summary button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--primary);
  padding:7px 10px;
  cursor:pointer;
  font-size:var(--admin-font-sm);
}
.admin-document-category-summary button:hover{background:#edf7f4}
.admin-document-category-summary b{
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:24px;
  border-radius:999px;
  background:#edf4f2;
}

.admin-document-groups{display:grid;gap:16px}
.admin-document-group{
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  background:#fff;
}
.admin-document-group-head{
  padding:13px 15px;
  background:#f1f7f5;
  border-bottom:1px solid var(--line);
}
.admin-document-group-head>div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.admin-document-group-head span{
  font-size:var(--admin-font-lg);
  font-weight:850;
  color:var(--primary);
}
.admin-document-group-head small{color:var(--muted)}

.admin-document-icon{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:#eaf4f1;color:var(--primary);
  font-size:var(--admin-font-xs);
  font-weight:900;
}

@media(max-width:1250px){
  .admin-document-kpis{grid-template-columns:repeat(3,1fr)}
  .admin-document-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-document-search{grid-column:1/-1}
}
@media(max-width:850px){
  
  
  .admin-document-toolbar{grid-template-columns:1fr}
  .admin-document-search{grid-column:auto}
}
@media(max-width:620px){
  .admin-document-kpis{grid-template-columns:1fr 1fr}
  
  .admin-document-icon{display:none}
  
  .admin-document-group-head>div{align-items:flex-start;flex-direction:column}
}

/* v0.33.1 - Correção de busca/carregamento da Central de Documentos */
.admin-document-search{display:grid;gap:6px}
.admin-document-search>span{
  color:var(--muted);
  font-size:var(--admin-font-sm);
  font-weight:800;
}
.admin-document-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.admin-document-search-row .primary{
  min-width:92px;
  min-height:var(--admin-control-min-height);
}
.document-load-error{
  display:grid;
  justify-items:center;
  gap:8px;
  padding:26px;
  border:1px solid #ead9ae;
  border-radius:14px;
  background:#fff9ec;
  text-align:center;
}
.document-load-error b{font-size:var(--admin-font-md)}
.document-load-error span,
.document-load-error small{color:var(--muted);font-size:var(--admin-font-sm)!important}
.document-load-error button{margin-top:4px}
@media(max-width:650px){
  .admin-document-search-row{grid-template-columns:1fr}
  .admin-document-search-row .primary{width:100%}
}

/* v0.34 - Central profissional de usuários e acessos */
.user-center-tabs{
  display:flex;gap:7px;flex-wrap:wrap;
  padding:7px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:14px;
}
.user-center-tabs button{
  border:0;background:transparent;color:var(--muted);
  border-radius:10px;padding:10px 14px;
  font-size:var(--admin-font-md);font-weight:800;cursor:pointer;
}
.user-center-tabs button.active{background:var(--primary);color:#fff}
.user-center-gap{margin-top:16px}

.user-access-health{margin-top:12px}
.user-health-ok,.user-health-warning{
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  border-radius:12px;padding:10px 12px;
  font-size:var(--admin-font-sm);
}
.user-health-ok{background:#eef8f2;color:#176f49;border:1px solid #cee7d7}
.user-health-warning{background:#fff7e7;color:#805b18;border:1px solid #ead8aa}
.user-health-ok b,.user-health-warning b{font-size:var(--admin-font-sm)}

.internal-admin-users{display:grid;gap:12px}

.user-center-roadmap{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
}
.user-center-roadmap>div{
  border:1px solid var(--line);border-radius:13px;padding:14px;background:#fafcfc;
}
.user-center-roadmap b{display:block;font-size:var(--admin-font-md);color:var(--primary)}
.user-center-roadmap span{display:block;margin-top:5px;color:var(--muted);font-size:var(--admin-font-sm);line-height:1.5}

@media(max-width:900px){
  
  
  .user-center-roadmap{grid-template-columns:1fr}
}

/* v0.35 - Gestão real de equipe interna */
.internal-legacy-notice{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin:0 0 14px;padding:12px 14px;border:1px solid #cfe6d7;border-radius:13px;background:#eef8f2;
}
.internal-legacy-notice>div{display:grid;gap:3px}
.internal-legacy-notice b{font-size:var(--admin-font-sm);color:#176f49}
.internal-legacy-notice span{font-size:var(--admin-font-sm);color:var(--muted)}
.internal-users-state:empty{display:none}

.internal-user-form{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;
}
.internal-user-form label{display:grid;gap:6px}
.internal-user-form label>span{font-size:var(--admin-font-sm);font-weight:800;color:var(--muted)}
.internal-user-form input,.internal-user-form select{
  min-height:var(--admin-control-min-height);border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;
}
.internal-user-form-actions{
  grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;
}
.internal-user-form-actions small{margin-right:auto;color:var(--muted)}
@media(max-width:760px){
  .internal-user-form{grid-template-columns:1fr}
  .internal-user-form-actions{grid-column:1}
  
}

/* Operational alerts center */
#operationalAlertsView .panel{max-width:1720px;margin-inline:auto}
#operationalAlertsList{gap:12px}

#operationalAlertsList>article>p.muted{
  grid-area:description;
  margin:0;
  padding:11px 13px;
  border-radius:10px;
  background:var(--surface-soft);
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}
#operationalAlertsList .client-portfolio-actions{
  grid-area:actions;
  justify-content:flex-start;
  padding-top:1px;
}
#operationalAlertsList .client-portfolio-actions .primary{min-width:128px}
#operationalAlertsView .client-portfolio-filters input,
#operationalAlertsView .client-portfolio-filters select{
  min-height:44px;
}

/* Document request workflow */
.document-request-admin-card{border-color:#cfe3dc;background:linear-gradient(180deg,#fff,#f8fbfa)}
.document-request-admin-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0 16px}
.document-request-admin-form label{display:grid;gap:6px;font-size:9px;font-weight:800;color:var(--muted)}
.document-request-admin-form input,.document-request-admin-form select,.document-request-admin-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:#fff;font:inherit;color:var(--ink)}
.document-request-admin-wide{grid-column:1/-1}
.document-request-admin-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px}
.document-request-admin-actions small{margin-right:auto;color:var(--muted)}
.document-request-admin-row .row-actions{flex-wrap:wrap}
@media(max-width:1100px){.document-request-admin-form{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.document-request-admin-form{grid-template-columns:1fr}}

.portal-document-requests-card{margin-bottom:12px;border-color:#cfe3dc;background:linear-gradient(180deg,#fff,#f7fbf9)}
.portal-document-request-list{display:grid;gap:10px}
.portal-document-request-item{border:1px solid #dce8e4;border-radius:13px;padding:13px;background:#fff}
.portal-document-request-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}
.portal-document-request-head b,.portal-document-request-head small{display:block}
.portal-document-request-head b{font-size:11px;color:#173e36}
.portal-document-request-head small{font-size:8.5px;color:#5b6e6a;margin-top:4px}
.portal-document-request-item>p{font-size:9px;line-height:1.5;color:#61736e;margin:10px 0}
.portal-request-status{display:inline-flex;white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:900;background:#eef3f1;color:#5b6e6a}
.portal-request-status.success{background:#e6f7ed;color:#147047}
.portal-request-status.warning{background:#fff5dc;color:#8a6420}
.portal-request-status.info{background:#edf5fb;color:#286993}
.portal-request-status.danger{background:#fff0f0;color:#b53d3d}
.portal-request-note{display:grid;gap:3px;border-left:3px solid #e3a93a;background:#fff8e8;padding:8px 10px;border-radius:8px;margin:9px 0}
.portal-request-note b{font-size:8px;color:#7b5b1e}.portal-request-note span{font-size:8.5px;color:#665e4e}
.portal-document-request-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:10px}
.portal-document-request-upload input{border:1px solid #d9e4e1;border-radius:9px;padding:8px;background:#fff;font-size:9px}
.portal-document-request-upload button,.portal-request-open{border:0;background:#0f6559;color:#fff;border-radius:9px;padding:9px 12px;font-size:9px;font-weight:850;cursor:pointer}
.portal-document-request-upload small{grid-column:1/-1;color:#5b6e6a;font-size:8px}
.portal-request-open{margin-top:9px;background:#e8f5f1;color:#08755f}
@media(max-width:650px){
  .portal-document-request-head{display:grid}
  .portal-request-status{justify-self:start}
  .portal-document-request-upload{grid-template-columns:1fr}
}

/* Professional pending workflow */
.pending-workflow-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 180px 190px;gap:10px;margin:14px 0}
.pending-workflow-toolbar input,.pending-workflow-toolbar select{border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;font:inherit;color:var(--ink)}
.pending-workflow-row{grid-template-columns:minmax(240px,1.3fr) 110px 130px minmax(180px,.9fr) auto}
.pending-workflow-card{width:min(980px,94vw);max-height:88vh;overflow:auto}
.pending-workflow-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:8px 0 16px}
.pending-workflow-summary>div{border:1px solid var(--line);border-radius:12px;padding:11px;background:#f9fbfa}
.pending-workflow-summary small,.pending-workflow-summary b{display:block}.pending-workflow-summary small{font-size:9px;color:var(--muted)}.pending-workflow-summary b{margin-top:4px;font-size:11px}
.pending-workflow-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pending-workflow-grid section,.pending-comments-section{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}
.pending-workflow-grid h4,.pending-comments-section h4{margin:0 0 10px;font-size:12px}
.pending-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.pending-inline-form select,.pending-comment-form textarea,.pending-comment-form select{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;font:inherit}
.pending-workflow-list{display:grid;gap:8px;margin-top:10px}.pending-workflow-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-top:1px solid #edf1ef;padding-top:9px}.pending-workflow-item:first-child{border-top:0}.pending-workflow-item b,.pending-workflow-item small{display:block}.pending-workflow-item b{font-size:10px}.pending-workflow-item small{margin-top:3px;font-size:8px;color:var(--muted)}.pending-workflow-item p{font-size:9px;line-height:1.45;color:#52665f;margin:5px 0}.pending-workflow-item button{border:0;background:#edf5f2;color:#0f6256;border-radius:8px;padding:7px 9px;font-size:8px;font-weight:800;cursor:pointer}
.pending-comments-section{margin-top:14px}.pending-comment-form{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:8px;align-items:end}
.pending-comment-form textarea{grid-row:span 1}
@media(max-width:900px){.pending-workflow-toolbar{grid-template-columns:1fr 1fr}.pending-workflow-toolbar input{grid-column:1/-1}.pending-workflow-row{grid-template-columns:1fr 1fr}.pending-workflow-summary{grid-template-columns:1fr 1fr}.pending-workflow-grid{grid-template-columns:1fr}.pending-comment-form{grid-template-columns:1fr}}
@media(max-width:600px){.pending-workflow-toolbar,.pending-workflow-summary{grid-template-columns:1fr}.pending-workflow-toolbar input{grid-column:auto}.pending-workflow-row{grid-template-columns:1fr}.pending-inline-form{grid-template-columns:1fr}}

/* Notifications center */
.notification-trigger{display:inline-flex;align-items:center;gap:7px}
.notification-trigger span{min-width:18px;height:18px;border-radius:999px;display:inline-grid;place-items:center;background:#0f6559;color:#fff;font-size:8px;font-weight:900;padding:0 5px}
.notification-drawer{position:fixed;top:76px;right:18px;z-index:1200;width:min(430px,calc(100vw - 36px));max-height:75vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 48px rgba(20,45,39,.18);padding:14px}
.notification-drawer-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #edf1ef;padding-bottom:10px;margin-bottom:8px}
.notification-drawer-head h3{margin:3px 0 0;font-size:15px}
.notification-list{display:grid;gap:7px}
.notification-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid #e5ece9;border-radius:12px;padding:11px;background:#fff}
.notification-item.unread{border-color:#bcd9d1;background:#f4fbf8}
.notification-item b,.notification-item small{display:block}
.notification-item b{font-size:10px;color:#173e36}
.notification-item p{font-size:9px;line-height:1.45;color:#61736e;margin:5px 0}
.notification-item small{font-size:8px;color:#5b6e6a}
.notification-item .row-actions{align-self:center}
.notification-item .row-actions button,.notification-item .button-link{font-size:8px;padding:7px 9px}
@media(max-width:600px){.notification-drawer{top:64px;right:10px;width:calc(100vw - 20px)}.notification-item{grid-template-columns:1fr}}

/* Portal service contracting */
.portal-contract-modal-card{width:min(680px,94vw)}
.portal-contract-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.portal-contract-summary>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fbfa}
.portal-contract-summary small,.portal-contract-summary b{display:block}
.portal-contract-summary small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.portal-contract-summary b{margin-top:4px;font-size:11px}
.portal-contract-terms{border:1px solid #d9e7e2;background:#f7fbf9;border-radius:12px;padding:12px;margin:10px 0}
.portal-contract-terms p{font-size:9px;line-height:1.5;color:#5e716b;margin:0 0 10px}
.portal-contract-consent{display:flex;gap:9px;align-items:flex-start;font-size:9px;line-height:1.45;color:#2d4b44}
.portal-contract-consent input{margin-top:2px}
.client-portal-requests-panel{grid-column:1/-1}
.client-portal-request-list{display:grid;gap:10px}
.client-portal-request-card{border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff}
.client-portal-request-main{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.client-portal-request-main b,.client-portal-request-main small{display:block}
.client-portal-request-main b{font-size:11px}.client-portal-request-main small{font-size:8.5px;color:var(--muted);margin-top:4px}
.client-portal-request-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.client-portal-request-meta span{font-size:8px;background:#eef5f2;color:#45645c;border-radius:999px;padding:5px 8px}
@media(max-width:700px){
  .portal-contract-summary{grid-template-columns:1fr}
  .client-portal-request-main{display:grid}
}

/* Evidence-based commercial recommendations */
.portal-recommendations{margin:24px 0}
.portal-recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.portal-recommendation-card{border:1px solid #d8e6e1;border-radius:16px;background:linear-gradient(180deg,#fff,#f7fbf9);padding:16px;display:grid;gap:10px;box-shadow:0 8px 24px rgba(23,78,70,.05)}
.portal-recommendation-kicker{font-size:8px;font-weight:900;letter-spacing:.08em;color:#1d6e61}
.portal-recommendation-card h3{margin:0;font-size:17px;color:#113f37}
.portal-recommendation-card p{margin:0;font-size:10px;line-height:1.55;color:#61736e}
.portal-recommendation-evidence{display:grid;gap:3px;border-left:3px solid #78b39f;background:#eef7f3;border-radius:8px;padding:8px 10px}
.portal-recommendation-evidence b{font-size:8px;color:#24594f}
.portal-recommendation-evidence span{font-size:8.5px;line-height:1.45;color:#5f716b}
.portal-recommendation-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px}
.portal-recommendation-footer strong{font-size:12px;color:#0f4e47}
.portal-recommendation-footer button{white-space:nowrap}
@media(max-width:1050px){.portal-recommendation-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.portal-recommendation-grid{grid-template-columns:1fr}.portal-recommendation-footer{align-items:flex-start;flex-direction:column}}

/* Consolidated financial summary */
.client-financial-panel{margin:0 0 14px}
.client-financial-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}
.client-financial-kpis>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fbfa}
.client-financial-kpis small,.client-financial-kpis b{display:block}.client-financial-kpis small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.client-financial-kpis b{margin-top:4px;font-size:13px;color:#153f37}
.client-financial-list{display:grid;gap:8px}.client-financial-row{display:grid;grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(110px,.7fr));gap:12px;align-items:center;border-top:1px solid #edf1ef;padding-top:10px}.client-financial-row:first-child{border-top:0}.client-financial-row small,.client-financial-row span{display:block;color:var(--muted);font-size:8px}.client-financial-row b{font-size:10px}
.portal-financial-summary{border:1px solid #dfe9e5;border-radius:13px;padding:12px;background:#f8fbfa;margin:12px 0}
@media(max-width:950px){.client-financial-kpis{grid-template-columns:1fr 1fr}.client-financial-row{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.client-financial-kpis,.client-financial-row{grid-template-columns:1fr}}

/* Monitor Rural recurring cycles */
.monitor-cycle-admin{margin-top:16px}
.monitor-cycle-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0 14px}
.monitor-cycle-form label{display:grid;gap:6px;font-size:9px;font-weight:800;color:var(--muted)}
.monitor-cycle-form input,.monitor-cycle-form select,.monitor-cycle-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:#fff;font:inherit;color:var(--ink)}
.monitor-cycle-summary{grid-column:1/-1}
.monitor-cycle-form .monitor-rural-admin-actions{grid-column:1/-1}
.monitor-cycle-row p{margin:5px 0 0;font-size:9px;line-height:1.45;color:#61736e}
.portal-monitor-active{margin:22px 0}
.portal-monitor-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.portal-monitor-summary>div{border:1px solid #dce7e3;border-radius:13px;padding:12px;background:#f8fbfa}
.portal-monitor-summary span,.portal-monitor-summary b{display:block}
.portal-monitor-summary span{font-size:8px;color:#5b6e6a;text-transform:uppercase;letter-spacing:.06em}
.portal-monitor-summary b{font-size:12px;margin-top:4px;color:#153f37}
.portal-monitor-history-card{padding:15px}
.portal-monitor-cycle-list{display:grid;gap:10px}
.portal-monitor-cycle-item{border:1px solid #dfe8e5;border-radius:13px;padding:12px;background:#fff}
.portal-monitor-cycle-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.portal-monitor-cycle-head b,.portal-monitor-cycle-head small{display:block}
.portal-monitor-cycle-head b{font-size:10.5px;color:#173e36}
.portal-monitor-cycle-head small{font-size:8.5px;color:#5b6e6a;margin-top:3px}
.portal-monitor-cycle-item p{font-size:9.5px;line-height:1.5;color:#61736e;margin:10px 0}
.portal-monitor-cycle-metrics{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.portal-monitor-cycle-metrics span{font-size:8px;background:#eef5f2;color:#45645c;border-radius:999px;padding:5px 8px}
.portal-monitor-cycle-item button{margin-top:9px;border:0;background:#e8f5f1;color:#08755f;border-radius:9px;padding:8px 10px;font-size:8.5px;font-weight:850;cursor:pointer}
@media(max-width:1000px){.monitor-cycle-form{grid-template-columns:1fr 1fr}.portal-monitor-summary{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.monitor-cycle-form,.portal-monitor-summary{grid-template-columns:1fr}.monitor-cycle-summary{grid-column:auto}.portal-monitor-cycle-head{display:grid}}

/* Executive dashboard */
.executive-dashboard{max-width:1680px}

.executive-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:16px 0}
.executive-kpi{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:0 6px 18px rgba(22,62,56,.035)}
.executive-kpi span,.executive-kpi small,.executive-kpi strong{display:block}
.executive-kpi span{font-size:9px;color:var(--muted);font-weight:800}
.executive-kpi strong{font-size:22px;color:#123f37;margin:5px 0 2px}
.executive-kpi small{font-size:8px;color:#5b6e6a;text-transform:uppercase;letter-spacing:.05em}

.executive-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-bottom:16px}
.executive-mini-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}
.executive-mini-kpis>div{border:1px solid #e0e8e5;border-radius:12px;padding:11px;background:#f8fbfa}
.executive-mini-kpis small,.executive-mini-kpis b{display:block}
.executive-mini-kpis small{font-size:8px;color:#5b6e6a}.executive-mini-kpis b{font-size:12px;margin-top:4px;color:#163f38}

.executive-plan-list{display:grid;gap:7px}
.executive-plan-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #edf1ef;padding-top:8px}
.executive-plan-list>div:first-child{border-top:0}
.executive-plan-list b,.executive-plan-list small{display:block}.executive-plan-list b{font-size:9.5px}.executive-plan-list small{font-size:8px;color:var(--muted);margin-top:2px}.executive-plan-list strong{font-size:10.5px;color:#0f5c50}

@media(max-width:1250px){
  .executive-kpi-grid{grid-template-columns:repeat(3,1fr)}
  .executive-grid{grid-template-columns:1fr}
}
@media(max-width:800px){
  
  
  .executive-mini-kpis,.executive-snapshot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .executive-kpi-grid,.executive-mini-kpis,.executive-snapshot-grid{grid-template-columns:1fr}
}

/* MFA enrollment QR code: always on white so phone cameras can read it (also in dark themes). */
.mfa-qr{display:block;width:200px;height:200px;margin:8px auto 12px;padding:8px;background:#fff;border:1px solid #d9e2dc;border-radius:12px;image-rendering:pixelated}
.mfa-qr.hidden{display:none}
.mfa-qr-hint{margin:12px 0 0;font-size:.9rem;color:#5b6b63}
#mfaEnrollSecret,#mfaSetupSecret{word-break:break-all}
/* Ciclo 2, FASE 04 (D3): recados da equipe no processo (Portal). */
.portal-process-notes{grid-column:1/-1;list-style:none;margin:6px 0 0;padding:8px 10px;border-left:3px solid var(--portal-accent,#1f6f4a);background:#f6f9f7;border-radius:6px;display:grid;gap:6px;min-width:0}
.portal-process-notes li{min-width:0;overflow-wrap:anywhere}
.portal-process-notes li span{display:block;font-size:var(--portal-font-sm,12px);color:#24302c;white-space:pre-wrap}
/* Onda 2 (DT-164): empresa de demonstração na Central de Clientes */
.client-demo-badge{margin-left:6px;font-size:9.5px;vertical-align:middle}
.client-demo-note{display:inline-flex;align-items:center;border:1px dashed #b9cbc6;background:#f6faf9;color:#3f5a54;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:700;line-height:1.3}

/* Onda 2 (DT-164): campo Empresa da Equipe não alarga o formulário */
#internalUserOrganizationField{min-width:0}
#internalUserOrganizationField select{width:100%;max-width:100%;min-width:0}
#internalUserOrganizationField small{display:block;white-space:normal;overflow-wrap:anywhere}

/* Experiência premium, PR 6 (08/11/2026): Integrações em abas (Visão geral · CRM · Financeiro ·
   Eventos · Chaves de API). Mesmo desenho das abas do Detalhe do cliente (PR 2). */
#integrationsView>.integration-hero{padding-bottom:0;min-width:0}
#integrationsView .integration-tabs{margin:12px -24px 0;padding:0 18px;border-top:1px solid var(--ds-line,#e5e7eb);border-bottom:0}
#integrationsView .integration-tab-pane{display:grid;gap:14px;margin-top:14px;min-width:0}
#integrationsView .integration-tab-pane>.panel,#integrationsView .integration-tab-pane>article,#integrationsView .integration-tab-pane>.integration-grid{margin-top:0}
#integrationsView .integration-tab-pane[hidden]{display:none}
#integrationsView .integration-api-keys-note{margin:12px 0 0}
@media(max-width:760px){#integrationsView .integration-tabs{margin-left:-18px;margin-right:-18px;padding:0 8px}}
