:root{--nav:#112b62;--nav2:#173878;--blue:#2563eb;--line:#dbe3ef;--bg:#f2f5f9;--text:#172033;--muted:#6b7a90;--amber:#d97706}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Segoe UI",Inter,Arial,sans-serif;color:var(--text);background:var(--bg);font-size:14px}a{color:#174fbf;text-decoration:none}button,input,select,textarea{font:inherit}.app-frame{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:255px;background:linear-gradient(180deg,var(--nav),#0d2451);color:white;display:flex;flex-direction:column;z-index:30}.brand{height:82px;padding:15px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #ffffff18}.brand-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#214990;font-size:22px;font-weight:700;font-style:italic}.brand-name{font-size:18px;font-weight:700}.brand-sub{font-size:11px;color:#bed0f2;margin-top:2px}.nav-scroll{overflow:auto;padding:8px 7px 70px;flex:1}.nav-group{margin:8px 0 12px}.nav-heading{padding:4px 10px;font-size:10px;font-weight:700;letter-spacing:.12em;color:#89a9dc}.nav-link{height:35px;display:flex;align-items:center;gap:9px;padding:0 10px;border-radius:7px;color:#edf4ff;margin:2px 0;font-size:13px}.nav-link:hover{background:#ffffff12}.nav-current{background:#2d68e8!important}.nav-icon{width:17px;text-align:center;font-weight:700;color:#d9e7ff}.sidebar-foot{position:absolute;bottom:0;left:0;right:0;background:#0b214b;border-top:1px solid #ffffff18;padding:10px 14px;display:flex;flex-direction:column;font-size:10px;color:#b9c9e5}.content-wrap{margin-left:255px;min-width:0}.globalbar{height:42px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 16px;position:sticky;top:0;z-index:20}.global-title{font-size:12px;color:#4d5c73}.global-actions{margin-left:auto;display:flex;gap:4px}.top-link{padding:5px 9px;border:1px solid var(--line);border-radius:5px;color:#344258;font-size:11px}.workspace{padding:12px 14px 20px;max-width:1800px;margin:auto}.page-titlebar{display:flex;align-items:center;gap:12px;margin-bottom:8px}.page-titlebar h1{font-size:23px;margin:0;color:#102a60}.page-titlebar p{margin:2px 0 0;color:var(--muted);font-size:11px}.page-actions{margin-left:auto;display:flex;gap:5px;align-items:center}.btn,.tinybtn,.stackbtn{border:1px solid #cdd8e7;background:white;color:#21314c;border-radius:5px;padding:6px 10px;cursor:pointer}.btn:hover,.tinybtn:hover,.stackbtn:hover{background:#f4f7fb}.primary{background:#225cc8!important;border-color:#225cc8!important;color:white!important}.btn.primary:hover,.stackbtn.primary:hover{background:#194ba9!important}.tinybtn{padding:4px 7px;font-size:11px}.opbar{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:white;padding:7px 9px;margin-bottom:7px;min-height:38px}.opbar>a{margin-left:auto}.opbar>a+a{margin-left:2px}.op-chip{padding:3px 7px;background:#f2f5f9;border-radius:4px;color:#53627a;font-size:11px}.critical{color:#b91c1c;background:#fff2f2;border:1px solid #fecaca;padding:4px 7px;border-radius:4px;margin-left:6px}.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:7px}.kpi{background:white;border:1px solid var(--line);padding:9px 10px;min-height:55px;color:#5d6c83}.kpi:hover{border-color:#8db2ff;background:#f9fbff}.kpi span{display:block;font-size:11px}.kpi b{display:block;font-size:17px;color:#172b50;margin-top:5px}.dashboard-grid{display:grid;grid-template-columns:minmax(620px,47%) 1fr;gap:8px}.dash-left{display:grid;grid-template-rows:auto auto auto;gap:8px}.panel{background:white;border:1px solid var(--line);border-radius:6px;overflow:hidden}.panel-head{height:36px;padding:0 9px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:#fbfcfe}.panel-head.amber{background:var(--amber);color:white}.panel-head>a,.panel-head>span{margin-left:auto;font-size:11px}.inline-actions{margin-left:auto;display:flex;gap:4px}.panel-foot{padding:5px 8px;color:var(--muted);font-size:10px;display:flex}.panel-foot a{margin-left:auto}.table-scroll{overflow:auto}.table-scroll.short{max-height:205px}.table-scroll.mini{max-height:155px}.table-scroll.diary{height:480px}.table-scroll.receipt{max-height:calc(100vh - 165px)}.table-scroll.bank{max-height:calc(100vh - 175px)}.grid-table{border-collapse:collapse;width:100%;font-size:11px}.grid-table th{position:sticky;top:0;background:#f4f7fb;color:#53627a;font-size:10px;text-transform:uppercase;font-weight:600;text-align:left;padding:7px 8px;border-bottom:1px solid #d6dfeb;z-index:2;white-space:nowrap}.grid-table td{padding:6px 8px;border-bottom:1px solid #e7ecf3;vertical-align:top}.grid-table tr:hover td{background:#f8fbff}.grid-table .code{font-weight:700;color:#174fbf}.grid-table .name{font-weight:600;min-width:190px}.status{display:inline-flex;padding:2px 6px;border-radius:4px;font-size:10px;white-space:nowrap}.status.red{background:#fee2e2;color:#991b1b}.status.blue{background:#e8f0ff;color:#174fbf}.subtoolbar,.toolbar,.edit-strip{display:flex;align-items:center;gap:6px;background:white;border:1px solid var(--line);padding:6px 8px;margin-bottom:7px}.subtoolbar{border-width:0 0 1px;margin:0}.fake-select{border:1px solid #cfd8e5;padding:3px 8px;background:#f9fafb;min-width:190px}.muted{color:var(--muted)}.detail-box{margin:8px;border:1px solid var(--line);min-height:105px;padding:8px;background:#fafbfd}.detail-box p{white-space:pre-wrap}.input{border:1px solid #cbd6e5;background:white;padding:6px 8px;border-radius:4px;min-width:150px;outline:none}.input:focus{border-color:#4f86e9;box-shadow:0 0 0 2px #dbeafe}.input.compact{min-width:105px}.input.grow{flex:1}.input.big{width:100%;font-size:14px}.right{margin-left:auto}.receipt-table{min-width:1450px}.month-cell{text-align:center!important;padding:3px!important}.receipt-check{width:34px;height:27px;border:1px solid #d4dce8;border-radius:4px;cursor:pointer}.receipt-check.yes{background:#e8f7ee;color:#087a3f;border-color:#9fd4b5;font-weight:700}.receipt-check.no{background:#fafafa;color:#94a3b8}.row-actions{white-space:nowrap}.linkbtn{border:0;background:none;color:#1757bd;cursor:pointer;padding:2px 5px}.linkbtn.danger{color:#b42318}.mono{font-family:Consolas,monospace}.edit-strip{border-color:#93b5ef;background:#f5f9ff}.docs-work{height:calc(100vh - 42px);display:flex;flex-direction:column}.docs-grid{display:grid;grid-template-columns:330px 1fr;gap:8px;min-height:0;flex:1}.docs-controls{padding:12px;overflow:auto}.docs-editor{padding:12px;display:flex;flex-direction:column;min-height:0}.form-group{margin-bottom:9px;display:flex;flex-direction:column;gap:3px}.form-group label,.field{font-size:10px;font-weight:700;color:#5a6980;text-transform:uppercase;letter-spacing:.03em}.form-group.grow{flex:1;min-height:0}.stackbtn{width:100%;margin:2px 0;text-align:left}.danger-soft{color:#a22121}.help{font-size:10px;color:var(--muted);line-height:1.4}.doc-text{flex:1;width:100%;resize:none;border:1px solid #cad5e4;border-radius:4px;padding:12px;line-height:1.5;outline:none;min-height:400px}.editor-foot{display:flex;gap:5px;align-items:center;padding-top:7px;font-size:10px;color:var(--muted)}.editor-foot button:first-of-type{margin-left:auto}.acomp-grid{display:grid;grid-template-rows:minmax(270px,48vh) minmax(230px,1fr);gap:8px;height:calc(100vh - 154px)}.acomp-tree,.acomp-detail{min-height:0}.acomp-list,.history{height:calc(100% - 36px)}.select-row{cursor:pointer}.select-row.selected td{background:#eaf2ff}.selection-card{display:grid;grid-template-columns:1fr 1.4fr 1fr 1.4fr;gap:10px;padding:8px;border-bottom:1px solid var(--line);background:#fbfcfe}.selection-card>div{display:flex;flex-direction:column;gap:2px}.empty{padding:40px;text-align:center;color:var(--muted)}.reports-list{background:white;border:1px solid var(--line);border-radius:6px}.report-row{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;padding:10px 12px;border-bottom:1px solid #e7ecf3}.report-row:last-child{border:0}.report-row p{margin:2px 0;color:var(--muted);font-size:11px}@media(max-width:1100px){.sidebar{width:220px}.content-wrap{margin-left:220px}.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.docs-grid{grid-template-columns:280px 1fr}}@media(max-width:800px){.sidebar{position:relative;width:100%;height:auto}.content-wrap{margin-left:0}.globalbar{display:none}.nav-scroll{max-height:260px}.sidebar-foot{display:none}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.docs-grid{grid-template-columns:1fr}.docs-work{height:auto}.acomp-grid{height:auto;grid-template-rows:auto}.selection-card{grid-template-columns:1fr}.page-titlebar{align-items:flex-start;flex-direction:column}.page-actions{margin-left:0}}
/* v0.4 — command-center redesign */
:root{--side:#0b1739;--side2:#102454;--ink:#172033;--line:#dfe6ef;--canvas:#f4f6fa;--brand:#2864dc}
html,body{background:var(--canvas);font-size:13px}.app-shell{min-height:100vh}.sidebar{width:238px;background:linear-gradient(180deg,#0d1d46 0%,#091632 100%);box-shadow:8px 0 28px #0b173912}.main-stage{margin-left:238px;min-width:0}.brand-zone{height:74px;padding:14px 15px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #ffffff12}.brand-logo{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#3c7cf2,#1b4eb7);box-shadow:0 7px 18px #0003;font-size:20px;font-weight:800;font-style:italic}.brand-title{font-size:16px;font-weight:800;letter-spacing:.06em}.brand-caption{font-size:9px;color:#9db2dc;margin-top:2px}.side-search{margin:10px 10px 3px;height:34px;border:1px solid #ffffff18;background:#ffffff09;border-radius:8px;display:flex;align-items:center;padding:0 10px;color:#8da7d8;gap:7px}.side-search input{border:0;outline:0;background:transparent;color:white;min-width:0;width:100%;font-size:11px}.side-search input::placeholder{color:#8198c4}.nav-scroll{padding:4px 8px 66px}.nav-group{margin:9px 0}.nav-heading{font-size:9px;padding:5px 9px;color:#718dbf}.nav-link{height:32px;border-radius:7px;padding:0 9px;color:#d7e3fa;font-size:11.5px;gap:8px}.nav-link:hover{background:#ffffff0d}.nav-current{background:linear-gradient(90deg,#2864dc,#2458bf)!important;box-shadow:0 5px 13px #07132d66}.nav-icon{width:19px;height:19px;border-radius:5px;display:grid;place-items:center;background:#ffffff0b;font-size:11px}.nav-current .nav-icon{background:#ffffff18}.nav-text{flex:1}.nav-arrow{opacity:.35}.sidebar-foot{height:55px;padding:9px 13px;flex-direction:row;align-items:center;gap:8px}.sidebar-foot div{display:flex;flex-direction:column}.sidebar-foot small{font-size:9px;color:#849bc5}.online-dot{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px #34d39918}.commandbar{height:52px;position:sticky;top:0;z-index:20;background:#ffffffeb;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 16px;gap:18px}.crumb{display:flex;align-items:center;gap:8px;color:#738096;font-size:11px}.crumb b{color:#26344b}.command-search{height:31px;min-width:330px;margin:auto;border:1px solid #d9e1eb;background:#f7f9fc;border-radius:8px;display:flex;align-items:center;padding:0 10px;color:#8794a7;font-size:11px;gap:7px}.command-search span{flex:1}.command-search kbd{font:9px Consolas;background:white;border:1px solid #dfe5ed;padding:2px 5px;border-radius:4px}.command-actions{display:flex;align-items:center;gap:5px}.command-actions>a{width:30px;height:30px;border:1px solid #dfe5ed;background:white;border-radius:7px;display:grid;place-items:center;color:#44546d}.command-actions>a:hover{border-color:#9bb9ef;background:#f3f7ff;color:#1d56bd}.avatar{margin-left:5px;width:31px;height:31px;border-radius:9px;background:#102a60;color:white;display:grid;place-items:center;font-size:10px;font-weight:700}.screen{min-height:calc(100vh - 52px)}.dashboard-page{padding:18px 20px 28px;max-width:1850px;margin:auto}.hero-row{display:flex;align-items:center;margin-bottom:13px}.section-kicker{font-size:9px;font-weight:800;letter-spacing:.16em;color:#4770bb}.hero-row h1{font-size:25px;line-height:1.1;margin:4px 0 3px;color:#142752;letter-spacing:-.02em}.hero-row p{margin:0;color:#7b8799;font-size:11px}.hero-actions{margin-left:auto;display:flex;gap:6px}.action{height:33px;padding:0 11px;border-radius:7px;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600}.action.secondary{background:white;border:1px solid #dbe3ee;color:#35445b}.action.primary{background:#245dcc;color:white;border:1px solid #245dcc;box-shadow:0 5px 12px #245dcc22}.attention-bar{min-height:37px;background:#fff;border:1px solid #e0e6ee;border-radius:9px;display:flex;align-items:center;padding:0 11px;gap:7px;margin-bottom:9px;color:#66758a;font-size:10.5px;box-shadow:0 1px 2px #14213d08}.attention-bar b{color:#a82d2d}.attention-bar a{margin-left:auto;font-weight:600}.pulse{width:7px;height:7px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 4px #fee2e2}.separator{height:16px;width:1px;background:#e4e9f0;margin:0 4px}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:9px}.metric{min-height:76px;background:white;border:1px solid #e0e6ee;border-radius:10px;padding:11px;display:flex;gap:10px;align-items:center;color:#66758a;box-shadow:0 2px 5px #14213d08;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#cbd5e1}.metric:hover{transform:translateY(-1px);box-shadow:0 6px 16px #14213d12}.metric.blue:after{background:#3b82f6}.metric.red:after{background:#ef4444}.metric.amber:after{background:#f59e0b}.metric.violet:after{background:#8b5cf6}.metric.green:after{background:#10b981}.metric-icon{width:35px;height:35px;border-radius:9px;background:#f1f5f9;display:grid;place-items:center;color:#35547e;font-size:16px}.metric span,.metric small{display:block;font-size:9.5px}.metric strong{display:block;color:#172b50;font-size:19px;margin:2px 0;white-space:nowrap}.work-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:8px}.work-card{background:white;border:1px solid #dfe6ef;border-radius:10px;overflow:hidden;box-shadow:0 2px 5px #14213d08;min-width:0}.work-card.span2{grid-column:1}.work-head{height:45px;padding:0 12px;border-bottom:1px solid #edf1f5;display:flex;align-items:center}.work-head>div{display:flex;flex-direction:column}.work-head b{font-size:12px;color:#243754}.work-head span{font-size:9px;color:#8b97a8;margin-top:1px}.work-head>a{margin-left:auto;font-size:10px;font-weight:600}.dense-list,.compact-list{max-height:270px;overflow:auto}.task-line,.follow-line{min-height:48px;border-bottom:1px solid #edf1f5;display:flex;align-items:center;gap:9px;padding:5px 10px;color:#4f5f75}.task-line:hover,.follow-line:hover,.compact-row:hover{background:#f8faff}.priority-dot{width:6px;height:6px;border-radius:50%;background:#ef4444;flex:none}.date-box{width:48px;flex:none;text-align:center;padding:5px 2px;border-radius:6px;background:#f1f5f9;color:#52647d;font-size:9px;font-weight:700}.amberbox{background:#fff7e8;color:#b66a06}.task-origin{width:90px;color:#8390a3;font-size:9px;text-transform:uppercase}.task-main{display:flex;flex-direction:column;min-width:0;flex:1}.task-main b{font-size:10.5px;color:#263a58;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-main small{font-size:10px;color:#69788d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.state-pill{font-size:9px;color:#9d2e2e;background:#fff0f0;border:1px solid #ffd6d6;border-radius:99px;padding:3px 7px}.chev{color:#a8b2c1;font-size:17px}.who{width:130px;display:flex;flex-direction:column}.who small,.next small{font-size:8px;color:#9aa5b4}.who b{font-size:9.5px;color:#475a73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.next{width:170px;display:flex;flex-direction:column}.next span{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-row{min-height:48px;border-bottom:1px solid #edf1f5;padding:6px 9px;display:flex;align-items:center;gap:8px;color:#52627a}.compact-row>span:nth-child(2){min-width:0;flex:1;display:flex;flex-direction:column}.compact-row b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-row small{font-size:9px;color:#a15d17;margin-top:2px}.mini-code{background:#eef4ff;color:#2b5fb9;border-radius:5px;padding:4px 5px;font-size:9px;font-weight:700}.timeline{max-height:317px;overflow:auto;padding:6px 10px}.timeline-row{display:flex;gap:9px;padding:6px 2px;position:relative}.timeline-row:before{content:"";position:absolute;left:4px;top:18px;bottom:-8px;width:1px;background:#e2e8f0}.timeline-mark{width:9px;height:9px;border-radius:50%;background:#4f7fd7;border:2px solid #dce9ff;margin-top:3px;flex:none;z-index:1}.timeline-row>div:last-child{display:flex;flex-direction:column;min-width:0}.timeline-row small{font-size:8.5px;color:#8794a7}.timeline-row b{font-size:9.5px;color:#344963;margin:1px 0}.timeline-row span{font-size:9.5px;color:#67768a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-clean{padding:30px;text-align:center;color:#6f7f94}.workspace{padding:14px 18px}.docs-work{height:calc(100vh - 52px)}
@media(max-width:1200px){.sidebar{width:220px}.main-stage{margin-left:220px}.metric-grid{grid-template-columns:repeat(3,1fr)}.command-search{min-width:220px}.work-grid{grid-template-columns:1fr}.work-card.span2{grid-column:auto}}
@media(max-width:800px){.sidebar{position:relative;width:100%;height:auto}.main-stage{margin-left:0}.commandbar{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.hero-row{align-items:flex-start;flex-direction:column;gap:10px}.hero-actions{margin-left:0;flex-wrap:wrap}.dashboard-page{padding:12px}.work-grid{grid-template-columns:1fr}.nav-scroll{max-height:320px}}

/* ============================================================
   v0.5 — reconstrução funcional v3.25 / visual workstation
   ============================================================ */
:root{
  --v5-navy:#08152f;--v5-navy2:#0e2450;--v5-blue:#2f6feb;--v5-blue2:#1d55c4;
  --v5-cyan:#0ea5e9;--v5-bg:#eef2f7;--v5-card:#fff;--v5-line:#d8e1ed;
  --v5-ink:#14213d;--v5-muted:#66758c;--v5-green:#15803d;--v5-amber:#b45309;
  --v5-red:#b42318;--v5-pink:#be185d;--v5-shadow:0 8px 28px rgba(15,35,70,.07)
}
body{background:linear-gradient(180deg,#f6f8fb 0,#edf2f7 100%);color:var(--v5-ink)}
.sidebar{width:248px;background:linear-gradient(180deg,var(--v5-navy) 0%,#0b1c3d 55%,#071226 100%);box-shadow:10px 0 32px rgba(5,18,42,.12)}
.main-stage,.content-wrap{margin-left:248px}.brand-zone,.brand{background:transparent}.brand-logo,.brand-mark{background:linear-gradient(145deg,#3478f6,#174aa9);box-shadow:0 9px 22px rgba(0,0,0,.28)}
.nav-heading{color:#7593c7;letter-spacing:.15em}.nav-link{border:1px solid transparent;transition:.14s ease}.nav-link:hover{background:#ffffff0d;border-color:#ffffff0b;transform:translateX(1px)}.nav-current{background:linear-gradient(90deg,#2d6de8,#2357bd)!important;box-shadow:0 7px 18px #00000022;border-color:#5c8ff440!important}
.commandbar,.globalbar{height:50px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--v5-line);box-shadow:0 2px 12px rgba(20,40,80,.04)}
.workspace{padding:14px 18px 24px;max-width:none}.page-titlebar{min-height:52px;margin-bottom:10px}.page-titlebar h1{font-size:25px;letter-spacing:-.02em;color:#0f2b5d}.page-titlebar p{font-size:11px;margin-top:3px}
.btn,.tinybtn,.stackbtn{border-radius:7px;border-color:#cbd8e8;background:linear-gradient(180deg,#fff,#f7f9fc);font-weight:600;box-shadow:0 1px 2px #10204008}.btn:hover,.tinybtn:hover,.stackbtn:hover{border-color:#94afe0;background:#f3f7ff}.primary{background:linear-gradient(180deg,#3478ef,#245fcf)!important;border-color:#245fcf!important;box-shadow:0 5px 14px rgba(37,99,235,.17)}
.panel{border-color:var(--v5-line);border-radius:10px;box-shadow:var(--v5-shadow)}.panel-head{height:40px;background:linear-gradient(180deg,#fff,#f8fafc);padding:0 12px}
.toolbar,.subtoolbar,.edit-strip,.opbar{border-color:var(--v5-line);border-radius:8px;box-shadow:0 2px 10px rgba(20,40,80,.035);padding:7px 9px}.toolbar{flex-wrap:wrap}.compactbar{border-radius:0;border-left:0;border-right:0;border-bottom:0;margin:0}.right{margin-left:auto}
.input,.textarea{border:1px solid #c9d5e5;border-radius:7px;background:#fff;padding:7px 9px;outline:none}.input:focus,.textarea:focus{border-color:#5c8ff2;box-shadow:0 0 0 3px rgba(47,111,235,.10)}.textarea{min-height:105px;resize:vertical}.smallarea{min-height:72px}
.module-tabs{display:flex;align-items:end;gap:3px;border-bottom:1px solid var(--v5-line);margin:0 0 9px;padding:0 3px}.module-tabs button{border:0;background:transparent;color:#60708a;padding:9px 13px 8px;cursor:pointer;font-weight:650;border-bottom:2px solid transparent}.module-tabs button:hover{color:#1c4fa4;background:#eff5ff}.module-tabs button.active{color:#174db5;border-bottom-color:#2f6feb;background:#eef4ff}.module-tabs.five button{flex:0 1 auto}
.vgrid-wrap{overflow:auto;background:#fff;border:1px solid var(--v5-line);border-radius:9px}.vgrid-wrap.fullgrid{border:0;border-radius:10px}.vgrid-wrap.tall{max-height:calc(100vh - 180px)}.vgrid{width:100%;border-collapse:separate;border-spacing:0;font-size:11px}.vgrid th{position:sticky;top:0;z-index:3;background:#f4f7fb;color:#53657f;text-align:left;text-transform:uppercase;letter-spacing:.035em;font-size:9.5px;font-weight:700;padding:8px 9px;border-bottom:1px solid #d7e1ee;white-space:nowrap}.vgrid td{padding:7px 9px;border-bottom:1px solid #e8edf4;vertical-align:middle;white-space:nowrap}.vgrid td.name{font-weight:650;color:#1a2d4d;white-space:normal;min-width:200px}.vgrid td.code{font-weight:750;color:#1d59c5}.vgrid tbody tr{cursor:default}.vgrid tbody tr:hover td{background:#f5f9ff}.vgrid tbody tr.selected td{background:#e8f1ff!important;box-shadow:inset 0 1px #caddff,inset 0 -1px #caddff}.empty-cell,.empty-clean{padding:35px!important;text-align:center;color:#8290a4;white-space:normal!important}
.status{border-radius:999px;padding:3px 8px;font-weight:650}.status.green,.green{background:#e9f8ef;color:#13743a}.status.amber,.amber{background:#fff5db;color:#a85c00}.status.red,.red{background:#feebea;color:#a52920}.status.pink,.pink{background:#fce9f3;color:#a7185f}.status.blue,.blue{background:#e8f1ff;color:#1e56b8}.status.slate,.slate{background:#edf1f6;color:#536277}
.section-title{font-weight:750;color:#203553;padding:8px 0}.section-title.small{text-transform:uppercase;font-size:10px;letter-spacing:.06em;color:#60718b}.strong{font-weight:700}.muted{color:var(--v5-muted)}
.billing-split{display:grid;grid-template-columns:minmax(680px,1.75fr) minmax(370px,.85fr);gap:10px;min-height:0}.billing-detail{overflow:auto;max-height:calc(100vh - 180px)}.detail-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:9px}.detail-metrics>div,.status-card,.visit-kpis>div,.income-kpis>div{background:#f7f9fc;border:1px solid #e1e8f1;border-radius:8px;padding:8px}.detail-metrics span,.visit-kpis span,.income-kpis span{display:block;color:#718096;font-size:9px;text-transform:uppercase}.detail-metrics b,.visit-kpis b,.income-kpis b{display:block;margin-top:3px;color:#19315a}.detail-text{padding:9px 11px;white-space:pre-wrap;color:#42516a;border-top:1px solid #e5eaf1;border-bottom:1px solid #e5eaf1}.linesgrid{max-height:245px;border:0;border-radius:0}
.visit-kpis,.income-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:8px}.visit-matrix{border-collapse:separate;border-spacing:2px;width:100%;font-size:10px}.visit-matrix th{position:sticky;top:0;background:#f5f8fc;padding:7px;white-space:nowrap}.visit-matrix td{padding:3px}.visit-matrix td:first-child{min-width:260px;font-weight:600}.visit-cell{width:42px;height:28px;border:1px solid #d5dfec;background:#fff;border-radius:5px;cursor:pointer;color:#8996a8}.visit-cell:hover{border-color:#7ea3e8;background:#f2f7ff}.visit-cell.done{background:#e3f6ea;border-color:#8dcaa4;color:#0b7438;font-weight:800}.matrix-wrap{overflow:auto;max-height:calc(100vh - 215px)}
.condo-split,.task-split{display:grid;grid-template-columns:minmax(520px,1.25fr) minmax(470px,.95fr);gap:10px}.condo-list,.task-detail{min-height:0}.fraction-panel{overflow:hidden}.fraction-grid{max-height:calc(100vh - 255px)}.info-strip{display:flex;gap:8px;flex-wrap:wrap;padding:8px 10px;background:#f7f9fc;border-bottom:1px solid #e0e7f0}.info-strip span{background:white;border:1px solid #dde5ef;border-radius:6px;padding:5px 8px;font-size:10px}.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(5,15,35,.48);backdrop-filter:blur(3px);display:grid;place-items:start center;padding:70px 20px 25px;overflow:auto}.modal-card{width:min(650px,96vw);background:#fff;border-radius:13px;box-shadow:0 24px 70px rgba(4,14,38,.28);border:1px solid #dbe4ef;overflow:hidden}.modal-card.wide{width:min(1050px,96vw)}.modal-head{display:flex;align-items:center;padding:12px 15px;background:linear-gradient(180deg,#fff,#f7f9fc);border-bottom:1px solid #dfe6ef}.modal-head b{font-size:15px;color:#143064}.iconbtn{margin-left:auto;border:0;background:#edf2f8;width:29px;height:29px;border-radius:7px;cursor:pointer}.modal-body{padding:14px;max-height:72vh;overflow:auto}.modal-actions{display:flex;justify-content:flex-end;gap:6px;padding:10px 14px;border-top:1px solid #e1e7ef;background:#f8fafc}.modal-tabs{display:flex;gap:3px;border-bottom:1px solid #dfe6ef;margin:-14px -14px 14px;padding:0 12px}.modal-tabs button{border:0;background:transparent;padding:10px 12px;cursor:pointer}.modal-tabs button.active{color:#1b57be;border-bottom:2px solid #2f6feb;background:#eef4ff}.form-stack{display:flex;flex-direction:column;gap:9px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.detail-field{border:1px solid #e1e7ef;background:#fafbfd;border-radius:7px;padding:8px}.detail-field label{display:block;font-size:9px;text-transform:uppercase;color:#78869a;margin-bottom:2px}.detail-field b,.detail-field span{white-space:pre-wrap}
.acomp-v325{display:grid;grid-template-rows:minmax(300px,48vh) minmax(250px,1fr);gap:9px;height:calc(100vh - 166px)}.acomp-upper,.acomp-lower{min-height:0}.detail-tabs{display:flex;gap:2px;border-bottom:1px solid #dde5ef}.detail-tabs button{border:0;background:#f8fafc;padding:8px 11px;cursor:pointer;color:#60708a}.detail-tabs button.active{background:#e9f1ff;color:#1b54b7;font-weight:700}.block{padding:10px}.flexgap{display:flex;gap:6px;flex-wrap:wrap}.checkline{display:flex;align-items:center;gap:7px}.task-detail-body{padding:10px;display:grid;gap:7px}
.status-board{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:9px}.status-card{display:flex;flex-direction:column;gap:4px}.status-card b{color:#173569}.status-card span{font-size:11px;color:#66758c}.income-panel{display:grid;grid-template-columns:1fr 2fr;gap:9px}.income-kpis{grid-template-columns:repeat(2,1fr)}
.docs-grid{grid-template-columns:350px minmax(0,1fr)}.docs-controls,.docs-editor{border-radius:10px}.doc-text{font-family:"Segoe UI",Arial,sans-serif;background:#fff;box-shadow:inset 0 1px 3px #1020400c}.reports-list{border-radius:10px;box-shadow:var(--v5-shadow)}
@media(max-width:1300px){.billing-split,.condo-split,.task-split{grid-template-columns:1fr}.billing-detail{max-height:none}.visit-kpis{grid-template-columns:repeat(3,1fr)}.acomp-v325{height:auto;grid-template-rows:auto}.docs-grid{grid-template-columns:315px 1fr}}
@media(max-width:900px){.sidebar{width:218px}.main-stage,.content-wrap{margin-left:218px}.visit-kpis,.status-board{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}}
.clean-matrix{min-width:1650px}.clean-cell{min-width:70px;height:29px;border:1px solid #d5dfec;background:#fff;border-radius:5px;font-size:10px;cursor:pointer;color:#8491a4}.clean-cell:hover{background:#f2f7ff;border-color:#7ea3e8}.clean-cell.done{background:#e5f7ec;color:#0d7438;border-color:#92cda8;font-weight:700}
/* ========================================================================== */
/* v0.6 — MIGRAÇÃO V3.25 PRO: maior densidade, hierarquia e acabamento       */
/* ========================================================================== */
html,body{font-size:12px}.workspace{padding:10px 14px 18px}.sidebar{width:236px}.main-stage,.content-wrap{margin-left:236px}.brand-zone{height:68px;padding:11px 14px}.brand-logo{width:38px;height:38px;border-radius:10px;font-size:19px}.brand-title{font-size:15px;letter-spacing:.04em}.brand-caption{font-size:9.5px}.quick-launch{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:7px;border-bottom:1px solid #ffffff10}.quick-launch a{display:flex;align-items:center;justify-content:center;gap:4px;height:28px;border:1px solid #ffffff12;border-radius:6px;background:#ffffff08;color:#dfeaff;font-size:9px}.quick-launch a:hover{background:#ffffff12;border-color:#ffffff22}.nav-scroll{padding-top:4px}.nav-group{margin:5px 0 9px}.nav-heading{font-size:8.5px;padding:3px 9px}.nav-link{height:31px;font-size:11px;padding:0 9px;border-radius:6px}.nav-icon{font-size:10px}.nav-arrow{margin-left:auto;color:#7891b9}.commandbar{height:42px}.command-actions a{width:28px;height:28px}.avatar{width:29px;height:29px;font-size:9px}.page-titlebar{min-height:44px;margin-bottom:7px}.page-titlebar h1{font-size:21px}.page-titlebar p{font-size:9.5px}.btn{padding:5px 8px;font-size:10px}.tinybtn{font-size:9.5px;padding:4px 6px}.input,.textarea{padding:5px 7px;font-size:10.5px}.module-tabs{margin-bottom:7px}.module-tabs button{padding:7px 10px 6px;font-size:10px}.panel-head{height:34px;font-size:10px}.vgrid{font-size:10px}.vgrid th{font-size:8.3px;padding:6px 7px}.vgrid td{padding:5px 7px}.vgrid td.name{min-width:170px}.status{font-size:8.8px;padding:2px 6px}.toolbar,.subtoolbar,.opbar{padding:5px 7px;gap:5px;margin-bottom:6px}.detail-field{padding:6px}.detail-field label{font-size:8px}.modal-card{border-radius:10px}.modal-head{padding:9px 12px}.modal-body{padding:11px}.form-stack{gap:7px}.form-row{gap:7px}.doc-text{font-size:11px;line-height:1.45}.docs-grid{grid-template-columns:310px minmax(0,1fr)}.docs-controls,.docs-editor{padding:9px}.state-toggle{border:1px solid #d2dce8;border-radius:999px;min-width:78px;padding:3px 7px;font-size:9px;cursor:pointer;background:#fff}.state-toggle.done{background:#e7f7ed;color:#0f7338;border-color:#a7d6b8}.state-toggle.pending{background:#fff6df;color:#a55b00;border-color:#efd18b}.state-toggle.na{background:#eef2f6;color:#66758c}.inline-note{width:100%;min-width:170px;border:0;background:transparent;padding:3px 4px;font-size:9.5px}.inline-note:focus{outline:1px solid #8fb0ea;background:white}.mail-split,.insurance-split,.online-grid{display:grid;grid-template-columns:minmax(600px,1.6fr) minmax(330px,.8fr);gap:8px}.mail-list{max-height:calc(100vh - 180px)}.mail-detail{max-height:calc(100vh - 180px);overflow:auto}.wrap{white-space:normal;overflow-wrap:anywhere}.compact-copy{font-size:10px;line-height:1.6;color:#536278}.mini-config{width:100%;border-collapse:collapse;font-size:9.5px}.mini-config td{padding:5px 6px;border-bottom:1px solid #e5eaf1}.mini-config td:first-child{font-weight:700;color:#29466f}.sync-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:9px}.sync-grid div{border:1px solid #e0e7f0;border-radius:7px;background:#f8fafc;padding:7px}.sync-grid span{display:block;font-size:8px;color:#6f7f95}.sync-grid b{display:block;font-size:14px;color:#18325f;margin-top:2px}.metric-grid{gap:5px}.metric{min-height:66px}.metric strong{font-size:20px}.work-card{border-radius:8px}.work-head{height:40px}.task-line,.follow-line{min-height:43px}.receipt-table th,.receipt-table td{font-size:9px}.clean-cell,.visit-cell{height:25px}.acomp-v325{height:calc(100vh - 145px)}
@media(max-width:1200px){.mail-split,.insurance-split,.online-grid{grid-template-columns:1fr}.sync-grid{grid-template-columns:repeat(3,1fr)}}
.report-layout{display:grid;grid-template-columns:270px 1fr;gap:8px}.report-menu{padding-bottom:5px}.report-pick{display:block;width:100%;border:0;border-bottom:1px solid #e6ebf2;background:#fff;text-align:left;padding:8px 10px;cursor:pointer;color:#243958}.report-pick b{display:block;font-size:10px}.report-pick span{display:block;color:#718096;font-size:8.5px;margin-top:2px}.report-pick:hover,.report-pick.active{background:#eef4ff;color:#174fbf}.report-preview{min-width:0}@media(max-width:1000px){.report-layout{grid-template-columns:1fr}.report-menu{display:grid;grid-template-columns:repeat(2,1fr)}}
.attachment-toolbar{display:flex;align-items:center;gap:7px;padding:6px 9px;border-top:1px solid #e2e8f0}.filepick{position:relative;overflow:hidden;display:inline-flex;align-items:center}.filepick input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:0 9px 9px}.attachment-card{display:flex;align-items:center;gap:7px;border:1px solid #e0e7f0;background:#fafcfe;border-radius:7px;padding:7px;color:#233756;min-width:0}.attachment-card:hover{border-color:#9db8e8;background:#f1f6ff}.attachment-card .attachment-icon{width:28px;height:28px;border-radius:6px;background:#e9f1ff;color:#1e56b8;display:grid;place-items:center}.attachment-card span:last-child{min-width:0}.attachment-card b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9.5px}.attachment-card small{display:block;color:#77859a;font-size:8px;margin-top:2px}

/* v0.7 — DENSIDADE OPERACIONAL 1920x1080 */
html,body{font-size:11px}.workspace{padding:7px 10px 12px}.page-titlebar{min-height:36px;margin-bottom:5px}.page-titlebar h1{font-size:18px;line-height:1.05}.page-titlebar p{font-size:8.5px;margin-top:2px}.commandbar{height:38px}.nav-link{height:28px;font-size:10px}.nav-group{margin:3px 0 6px}.btn{padding:4px 7px;font-size:9px;min-height:25px}.tinybtn{font-size:8.5px;padding:3px 5px}.input,.textarea{padding:4px 6px;font-size:9.5px;min-height:27px}.toolbar,.subtoolbar,.opbar{padding:4px 6px;gap:4px;margin-bottom:4px}.module-tabs{margin-bottom:4px}.module-tabs button{padding:5px 8px 4px;font-size:9px}.panel-head{height:29px;padding:0 8px}.vgrid{font-size:9px}.vgrid th{font-size:7.6px;padding:4px 6px}.vgrid td{padding:3px 6px;line-height:1.22}.status{font-size:7.8px;padding:1px 5px}.acomp-v325{grid-template-rows:minmax(240px,43vh) minmax(220px,1fr);gap:5px;height:calc(100vh - 122px)}.selection-card{padding:5px 7px}.detail-tabs button{padding:5px 8px;font-size:9px}.mail-list,.mail-detail{max-height:calc(100vh - 145px)}.mail-split{grid-template-columns:minmax(620px,1.45fr) minmax(440px,.75fr);gap:5px}.mail-preview{white-space:pre-wrap;font-size:9.5px;line-height:1.35;max-height:42vh;overflow:auto;padding:7px;background:#fbfcfe;border:1px solid #e2e8f0;border-radius:5px}.mail-subject{font-size:11px;font-weight:700;color:#142d59}.mail-meta{font-size:8.5px;color:#64748b}.ai-box{border:1px solid #cfe0ff;background:#f4f8ff;border-radius:6px;padding:6px}.ai-box textarea{min-height:120px}.report-layout{grid-template-columns:225px 1fr;gap:5px}.report-pick{padding:5px 7px}.report-pick b{font-size:9px}.report-pick span{font-size:7.5px}.report-preview .table-scroll{max-height:calc(100vh - 145px)}
@media print{.sidebar,.commandbar,.page-titlebar,.report-menu,.report-preview>.toolbar{display:none!important}.main-stage,.content-wrap{margin:0!important}.workspace{padding:0!important}.report-layout{display:block!important}.panel{border:0!important;box-shadow:none!important}.vgrid{font-size:8pt!important}.vgrid th,.vgrid td{padding:3px 4px!important}.table-scroll{max-height:none!important;overflow:visible!important}}
/* v0.7.1 — leitor real de correio IMAP */
.mail-reader-block{display:flex;flex-direction:column;min-height:0;height:calc(100vh - 230px)}
.mail-body-full{font-family:Segoe UI,Arial,sans-serif;font-size:11px;line-height:1.38;white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid #dbe4f0;border-radius:7px;padding:8px 10px;margin:6px 0;overflow:auto;flex:1;min-height:220px;color:#17233c}
.mail-loading,.mail-error{font-size:11px;padding:10px;border:1px solid #dbe4f0;border-radius:7px;margin:6px 0;background:#f8fbff}
.mail-error{background:#fff7f7;border-color:#f2c7c7;color:#8e2525}
.spinner-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2f6fe4;margin-right:5px;animation:mailpulse 1s infinite alternate}
@keyframes mailpulse{from{opacity:.25}to{opacity:1}}
.mail-attachments{font-size:10px;display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin:2px 0 4px}
.attachment-chip{padding:3px 6px;border:1px solid #d7e1ee;background:#f4f7fb;border-radius:5px}

/* v0.7.3 — correio: associação manual compacta */
.mail-association-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:3px 0 5px;font-size:11px}.mail-condo-select{min-width:250px;max-width:430px;height:28px;padding:3px 7px}.mail-detail .mail-meta{font-size:11px}.vgrid tbody tr{cursor:default}.vgrid tbody tr:hover{background:rgba(37,99,235,.035)}

/* v0.7.4 — Ficha 360º integral, compacta e operacional */
.ficha360-page{padding-top:6px}.ficha360-title{margin-bottom:5px}.p360-eyebrow{font-size:7.5px;font-weight:800;letter-spacing:.12em;color:#2d66cc;margin-bottom:2px}.p360-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-bottom:5px}.p360-kpi{appearance:none;text-align:left;border:1px solid #dbe4f0;background:#fff;border-radius:6px;padding:5px 7px;min-height:48px;color:#1d3152;box-shadow:0 1px 2px #10204008}.p360-kpi span{display:block;font-size:7.6px;text-transform:uppercase;letter-spacing:.04em;color:#6e7f98;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p360-kpi strong{display:block;font-size:14px;line-height:1.15;margin:2px 0 0}.p360-kpi small{display:block;font-size:7.5px;color:#8390a4}.p360-kpi.ok{border-left:3px solid #24a36a}.p360-kpi.warn{border-left:3px solid #e2a12b}.p360-kpi.bad{border-left:3px solid #d94d55}.p360-kpi:not(:disabled):hover{background:#f6f9ff;border-color:#9eb9e8}.p360-tabs{border-bottom:1px solid #dce4ef}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:15px;padding:0 4px;margin-left:3px;border-radius:8px;background:#e9eff8;font-size:7.5px}.p360-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.p360-section{min-width:0}.p360-section .panel-head{justify-content:space-between}.p360-fields{display:grid;grid-template-columns:1fr 1fr;gap:0}.p360-field{min-width:0;padding:5px 7px;border-bottom:1px solid #edf1f6}.p360-field:nth-child(odd){border-right:1px solid #edf1f6}.p360-field.wide{grid-column:1/-1;border-right:0}.p360-field span{display:block;font-size:7.5px;color:#78879b;text-transform:uppercase;letter-spacing:.035em}.p360-field b{display:block;margin-top:1px;font-size:9.5px;color:#182c4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p360-field.badtext b{color:#b4232e}.p360-field.oktext b{color:#087443}.p360-operational-list{display:grid;grid-template-columns:1fr 1fr}.p360-operational-list button{border:0;border-bottom:1px solid #edf1f6;background:#fff;padding:6px 8px;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#263a59}.p360-operational-list button:nth-child(odd){border-right:1px solid #edf1f6}.p360-operational-list button:hover{background:#f4f7fc}.p360-operational-list b{font-size:11px;color:#174fae}.p360-notes{grid-column:1/-1}.p360-note-text{padding:7px 9px;font-size:9px;line-height:1.35;white-space:pre-wrap}.p360-table-panel{height:calc(100vh - 230px);min-height:450px}.p360-filterbar .input{width:190px}.p360-scroll{height:calc(100% - 34px);max-height:none}.p360-scroll .vgrid td{vertical-align:top}.p360-empty{margin:30px;padding:20px}.ficha360-page .fullgrid{font-size:9px}
@media(max-width:1250px){.p360-kpis{grid-template-columns:repeat(3,1fr)}.p360-summary-grid{grid-template-columns:1fr}}
@media print{.ficha360-page .page-actions,.p360-tabs{display:none!important}.ficha360-page{padding:0!important}.p360-kpis{grid-template-columns:repeat(5,1fr)!important}.p360-summary-grid{grid-template-columns:1fr 1fr!important}.p360-kpi{box-shadow:none!important}.p360-table-panel{height:auto!important}.p360-scroll{height:auto!important;overflow:visible!important}}

/* v0.7.5 — alinhamento profissional, euros e edição densa */
.compact-modal{max-width:920px}.compact-modal.small{max-width:620px}.compact-modal .modal-body{padding:10px 12px}.edit-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 14px;align-items:end}.edit-form-grid>label{display:flex;flex-direction:column;gap:3px;font-size:9px;font-weight:700;color:#425675;min-width:0}.edit-form-grid .span2,.span2{grid-column:1/-1}.compact-textarea{min-height:62px;max-height:110px}.money-input{height:28px;border:1px solid #cbd7e6;border-radius:6px;background:#fff;display:flex;align-items:center;overflow:hidden}.money-input:focus-within{border-color:#6d9be7;box-shadow:0 0 0 2px rgba(57,110,210,.08)}.money-input input{border:0;outline:0;flex:1;min-width:0;height:100%;padding:4px 7px;font:inherit;color:#17233c;background:transparent;text-align:right}.money-input span{height:100%;min-width:31px;display:grid;place-items:center;background:#f4f7fb;border-left:1px solid #dbe4f0;font-weight:800;color:#2c4b78}.money-input.percent span{min-width:34px}.fraction-edit-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px}.fraction-form,.fraction-holders{border:1px solid #dfe6f0;border-radius:7px;background:#fff;overflow:hidden}.fraction-form{padding:9px}.fraction-holders .vgrid-wrap{max-height:300px;overflow:auto}.modal-inline-actions{display:flex;justify-content:flex-end;margin-top:8px}.compact-hint{font-size:8px;padding:5px 8px;border-top:1px solid #edf1f6}.policy-owner{border:1px solid #d9e3f0;background:#f7faff;border-radius:6px;padding:6px 8px}.policy-owner span{display:block;font-size:7.5px;color:#78879b;text-transform:uppercase}.policy-owner b{display:block;margin-top:1px;font-size:9.5px;color:#18325f}.owner-cell{max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.euro{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.vgrid th.euro,.vgrid td.euro{text-align:right}.visit-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.visit-kpis>div{min-width:0;padding:6px 8px}.visit-kpis span{font-size:7.6px}.visit-kpis b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.report-controls{display:flex;align-items:end;gap:6px;padding:5px 7px;margin-bottom:5px;flex-wrap:wrap}.report-controls label{display:flex;flex-direction:column;gap:2px;font-size:7.6px;font-weight:700;color:#60718a}.report-controls label:first-child select{min-width:330px}.report-controls select,.report-controls input{height:27px}.report-grid .vgrid td,.report-grid .vgrid th{white-space:nowrap}.report-grid .vgrid td.name{white-space:normal;min-width:180px}.report-page .report-preview{min-height:calc(100vh - 150px)}.report-page .report-menu{max-height:calc(100vh - 150px);overflow:auto}
@media(max-width:1050px){.edit-form-grid,.fraction-edit-layout{grid-template-columns:1fr}.edit-form-grid .span2,.span2{grid-column:auto}.visit-kpis{grid-template-columns:repeat(2,1fr)}}
@media print{.report-controls{display:none!important}.report-page .report-preview{min-height:0!important}.report-grid .vgrid{width:100%!important}.report-grid .vgrid th,.report-grid .vgrid td{font-size:7.2pt!important;white-space:normal!important}.euro{text-align:right!important}}
.task-detail .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:6px 8px}.task-detail .detail-field{border:1px solid #e2e8f1;border-radius:6px;background:#f9fbfe;padding:5px 7px;min-width:0}.task-detail .detail-field span{display:block;font-size:7.5px;color:#748399;text-transform:uppercase;letter-spacing:.035em}.task-detail .detail-field b{display:block;font-size:9.5px;color:#182d50;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-detail-body h3{font-size:10.5px;margin:7px 8px 3px}.task-detail-body>p{font-size:9px;line-height:1.35;margin:6px 8px;white-space:pre-wrap}.task-detail .section-title{font-size:8px;padding:5px 8px}

/* v0.7.6 — acabamento profissional global */
.modal-backdrop{background:rgba(9,20,43,.42);backdrop-filter:blur(2px);padding:22px;display:flex;align-items:flex-start;justify-content:center;overflow:auto;z-index:1200}
.modal-card{width:min(880px,calc(100vw - 44px));max-height:calc(100vh - 44px);overflow:hidden;background:#fff;border:1px solid #cdd8e8;border-radius:12px;box-shadow:0 22px 70px rgba(13,31,63,.25);animation:modalIn .14s ease-out}
.modal-head{min-height:48px;padding:9px 12px 9px 14px;background:linear-gradient(180deg,#ffffff 0%,#f6f9fd 100%);border-bottom:1px solid #dce5f0;display:flex;align-items:center;justify-content:space-between;gap:10px}
.modal-head b{display:block;font-size:12px;color:#162b50}.modal-head span{display:block;font-size:8px;color:#718096;margin-top:2px}.modal-head .iconbtn{width:30px;height:30px;border-radius:8px;background:#eef3f9;border:1px solid #dfe7f1;color:#53657d;font-size:16px}.modal-head .iconbtn:hover{background:#e4ebf5;color:#183b78}
.modal-body{padding:12px 14px;overflow:auto;max-height:calc(100vh - 155px);background:#fff}.modal-body label{font-size:8.5px;font-weight:700;color:#475c7d}.modal-actions{min-height:48px;padding:8px 12px;border-top:1px solid #e0e7f0;background:#f8fafc;display:flex;justify-content:flex-end;align-items:center;gap:7px}
.modal-actions .btn{min-width:72px}.modal-card .input,.modal-card .textarea{border-color:#c8d5e6;background:#fff}.modal-card .input:focus,.modal-card .textarea:focus{outline:none;border-color:#5f8fe2;box-shadow:0 0 0 3px rgba(37,99,235,.08)}
@keyframes modalIn{from{opacity:.5;transform:translateY(-5px) scale(.995)}to{opacity:1;transform:none}}
.grid-check{width:14px;height:14px;accent-color:#2563eb;vertical-align:middle;cursor:pointer}.grid-check.readonly{cursor:default;opacity:.95}.select-col{width:28px!important;min-width:28px!important;max-width:28px!important;text-align:center!important;padding-left:4px!important;padding-right:4px!important}.vgrid tr.selected .grid-check{accent-color:#174fae}
.context-menu{position:fixed;z-index:3000;min-width:205px;padding:5px;background:#fff;border:1px solid #cfd9e7;border-radius:9px;box-shadow:0 16px 45px rgba(20,38,70,.22);display:flex;flex-direction:column;gap:1px}.context-menu button{appearance:none;border:0;background:transparent;text-align:left;padding:7px 9px;border-radius:6px;font-size:9px;color:#263a59;cursor:pointer;white-space:nowrap}.context-menu button:hover{background:#edf4ff;color:#174fae}.context-menu button.danger{color:#b4232e}.context-menu button.danger:hover{background:#fff0f1}.context-sep{height:1px;background:#e5ebf3;margin:3px 2px}.empty-clean.small{padding:12px;font-size:9px}
.print-brand-header,.print-brand-footer{display:none}
@media print{
  @page{margin:18mm 12mm 18mm 12mm}
  .print-brand-header{display:flex!important;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #9ec5e6;padding:0 0 7mm;margin:0 0 6mm}.print-brand-header img{width:39mm;height:auto;max-height:22mm;object-fit:contain}.print-brand-header h1{font-size:15pt;margin:1mm 0 0;color:#172554}.print-brand-header p{font-size:7.5pt;margin:1.5mm 0 0;color:#66748a}.print-brand-kicker{font-size:6.5pt;font-weight:700;letter-spacing:.08em;color:#2d66cc}
  .print-brand-footer{display:flex!important;position:fixed;left:12mm;right:12mm;bottom:6mm;border-top:1px solid #9ec5e6;padding-top:2.5mm;justify-content:space-between;font:7.7pt Arial;color:#283d8f}
  .report-preview>.panel-head{display:none!important}
}

/* v0.8.0 — sistema visual profissional e consistente */
.modal-card{width:min(760px,calc(100vw - 40px));border-radius:14px;box-shadow:0 28px 90px rgba(13,31,63,.28)}
.modal-card.wide{width:min(900px,calc(100vw - 40px))}.modal-card.compact-modal{width:min(820px,calc(100vw - 40px))}
.modal-head{min-height:54px;padding:10px 15px}.modal-head b{font-size:13px}.modal-head span{font-size:8.5px}.modal-body{padding:14px 16px}
.form-stack>label,.modal-label{display:flex;flex-direction:column;gap:4px;font-size:9px;font-weight:700;color:#425675}.form-stack>.checkline{flex-direction:row;align-items:center}
.form-row>label,.edit-form-grid>label{display:flex;flex-direction:column;gap:4px;min-width:0}.modal-card .input,.modal-card .textarea{width:100%;min-width:0;box-sizing:border-box}
.modal-card .input{height:31px}.modal-card .textarea{min-height:72px;resize:vertical}.modal-actions{padding:9px 14px;min-height:50px}
.clean-profit-card{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:12px}.clean-profit-card>div{border:1px solid #dfe7f2;border-radius:9px;background:#f8fafc;padding:8px;min-width:0}.clean-profit-card span{display:block;font-size:7.7px;text-transform:uppercase;color:#73849c}.clean-profit-card b{display:block;margin-top:3px;font-size:12px;color:#17315e;white-space:nowrap}.clean-profit-card small{display:block;margin-top:3px;font-size:7.5px;color:#728097;line-height:1.3}.clean-profit-card .profit{background:#f0fbf4;border-color:#bfe4cb}.clean-profit-card .profit b{color:#0d7a3b}.clean-profit-card .loss{background:#fff4f4;border-color:#f0c3c3}.clean-profit-card .loss b{color:#b4232e}
.settings-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:10px}.settings-card{overflow:hidden}.settings-body{padding:12px}.brand-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.brand-row>div{border:1px solid #dfe7f2;border-radius:9px;padding:9px;background:#fafbfd}.brand-row img{display:block;width:100%;height:90px;object-fit:contain;background:#fff;border:1px solid #edf1f6;border-radius:7px;margin:7px 0}.filepick{position:relative;overflow:hidden}.filepick input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.ai-dropzone{position:relative;display:flex;min-height:180px;border:2px dashed #9eb9df;border-radius:14px;background:linear-gradient(180deg,#f8fbff,#f2f7fd);align-items:center;justify-content:center;flex-direction:column;gap:6px;color:#38577f;cursor:pointer;margin-bottom:10px}.ai-dropzone:hover{border-color:#4f83d3;background:#eef5ff}.ai-dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.ai-dropzone .drop-icon{font-size:32px;color:#2f6feb}.ai-dropzone b{font-size:13px;color:#173b72}.ai-dropzone span{font-size:9px}.ai-dropzone.busy{opacity:.65;pointer-events:none}.import-results{overflow:hidden}.import-json{min-height:220px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;line-height:1.5}
@media(max-width:1100px){.clean-profit-card{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}}
@media(max-width:720px){.modal-card,.modal-card.wide,.modal-card.compact-modal{width:calc(100vw - 18px)}.modal-backdrop{padding:9px}.clean-profit-card,.brand-row{grid-template-columns:1fr}}

/* v0.8.1 - autenticação e credenciais */
.auth-shell{min-height:100vh;background:linear-gradient(145deg,#eef4fb,#dfe9f7);display:grid;place-items:center;padding:24px}.login-page{width:min(430px,100%)}.login-card{background:#fff;border:1px solid #d7e1ee;border-radius:16px;box-shadow:0 24px 70px rgba(19,43,82,.18);padding:24px;display:flex;flex-direction:column;gap:14px}.login-brand{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #e7edf5}.login-brand .brand-logo{position:static;width:46px;height:46px;border-radius:12px;display:grid;place-items:center}.login-brand b{display:block;font-size:17px;color:#12233f}.login-brand span{display:block;font-size:10px;color:#6c7c93;margin-top:2px}.login-heading h1{margin:0;font-size:22px;color:#10213f}.login-heading p{margin:3px 0 0;color:#697a91;font-size:11px}.login-card>label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:700;color:#425675}.login-card .input{height:38px;font-size:12px}.login-button{height:39px;margin-top:2px}.login-error{padding:8px 10px;border:1px solid #f0b8b8;background:#fff3f3;color:#a52323;border-radius:7px;font-size:10px;font-weight:700}.avatar-btn{border:0;cursor:pointer;font:inherit}.access-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:10px}.switchline{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:9px!important;padding:10px;border:1px solid #dce5f1;border-radius:8px;background:#f9fbfe}.switchline input{margin-top:2px}.switchline span{display:flex;flex-direction:column;gap:2px}.switchline b{font-size:10px;color:#203b67}.switchline small{font-size:9px;color:#6a7a91;font-weight:400}.credential-health{display:flex;align-items:center;gap:9px;padding:8px 10px;background:#f7f9fc;border:1px solid #e0e7f0;border-radius:7px;font-size:9px;color:#62728a}.role-list{display:grid;gap:8px}.role-list>div{border:1px solid #e0e7f1;border-radius:8px;padding:10px;background:#fbfcfe}.role-list b{display:block;font-size:10px;color:#1b3764;margin-bottom:3px}.role-list span{font-size:9px;color:#67788f;line-height:1.4}@media(max-width:950px){.access-grid{grid-template-columns:1fr}}

/* v0.8.2 — acabamento comercial, formulários e impressão */
.inline-login-wrap{min-height:calc(100vh - 52px);display:grid;place-items:center;padding:28px;background:linear-gradient(145deg,#f4f7fb,#e9f0f8)}.inline-login-card{width:min(420px,100%);background:#fff;border:1px solid #d8e1ed;border-radius:14px;box-shadow:0 22px 65px rgba(18,42,77,.16);padding:22px;display:flex;flex-direction:column;gap:11px}.inline-login-card h1{font-size:20px;margin:3px 0 0}.inline-login-card p{font-size:10px;color:#6c7b90;margin:0 0 4px}.inline-login-card>label{display:flex;flex-direction:column;gap:4px;font-size:9px;font-weight:700;color:#425675}.inline-login-card .input{height:36px}
.modal-body .edit-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.modal-body .edit-form-grid .span2{grid-column:1/-1}.modal-card label{line-height:1.25}.money-input{display:grid;grid-template-columns:1fr 34px;border:1px solid #c8d5e6;border-radius:7px;overflow:hidden;background:#fff}.money-input input{border:0!important;outline:0;padding:0 10px;text-align:right;font:inherit;min-width:0}.money-input span{display:grid;place-items:center;border-left:1px solid #d9e2ee;background:#f5f8fc;font-weight:800;color:#35527e}.info-strip.strong{font-weight:700;color:#174fae}
@media print{
 .print-brand-header img{width:45mm;max-height:25mm}.report-page .print-brand-footer{display:grid!important;grid-template-columns:1fr 1fr 1fr;align-items:center}.report-page .print-brand-footer span:nth-child(1){text-align:left}.report-page .print-brand-footer span:nth-child(2){text-align:center}.report-page .print-brand-footer span:nth-child(3){text-align:right}.report-page .print-brand-header:has(img[src*="limpezas"],img[src*="branding"]) img{width:52mm;max-height:29mm}
}

.finance-rule-strip{padding:7px 10px;margin-bottom:6px;border:1px solid #d9e4f2;border-radius:8px;background:#f6f9fd;color:#5a6f8d;font-size:9px}.finance-rule-strip b{color:#173b72}.subbrand-settings{padding:8px 10px;border:1px solid #dce6f2;border-radius:8px;background:#f8fbff}.subbrand-settings b{display:block;font-size:10px;color:#173b72}.subbrand-settings span{display:block;font-size:8.5px;color:#6d7e95;margin-top:2px}

/* ===== v0.8.2 final commercial polish ===== */
html,body{margin:0;background:#f4f7fb;color:#10213f;font-family:Inter,Segoe UI,Arial,sans-serif}
.readonly-money{min-height:34px;border:1px solid #cfdaea;background:#f7f9fc;border-radius:8px;padding:8px 10px;font-weight:750;text-align:right;font-variant-numeric:tabular-nums}
.finance-rule{margin:6px 10px 8px}
.modal-card{overflow:hidden;border:1px solid #d9e2ef;box-shadow:0 24px 70px rgba(16,33,63,.22)}
.modal-card .modal-body{padding:16px 18px 18px}.modal-head{padding:12px 16px}.modal-actions{padding:10px 16px;background:#f8fafc;border-top:1px solid #e1e8f1}
.edit-form-grid>label,.validation-grid>label,.form-stack>label{font-size:12px;font-weight:650;color:#405372}.edit-form-grid .input,.edit-form-grid .textarea{margin-top:5px}
.money-input input{font-variant-numeric:tabular-nums;text-align:right}
.vgrid td{font-variant-numeric:tabular-nums}
@media print{
 @page{margin:14mm 14mm 18mm 14mm}
 body{background:#fff!important}
 .print-report{min-height:250mm;display:flex!important;flex-direction:column}
 .report-header{display:grid!important;grid-template-columns:1fr auto;align-items:start;gap:14mm;border-bottom:1px solid #8eb5ef;padding-bottom:7mm;margin-bottom:6mm}
 .report-logo{display:flex;align-items:flex-start;justify-content:flex-end;min-width:46mm}
 .report-logo img{object-fit:contain;object-position:right top}
 .cleaning-brand .report-logo img{width:auto!important;max-width:62mm!important;max-height:30mm!important}
 .admin-brand .report-logo img{width:auto!important;max-width:48mm!important;max-height:24mm!important}
 .report-footer{margin-top:auto!important;width:100%;display:grid!important;grid-template-columns:1fr 1fr 1fr;align-items:center;border-top:1px solid #8eb5ef;padding-top:4mm;font-size:8.5pt;color:#2759a5;box-sizing:border-box}
 .report-footer>*:first-child{text-align:left}.report-footer>*:nth-child(2){text-align:center}.report-footer>*:last-child{text-align:right}
 .report-footer.cleaning-footer{grid-template-columns:1fr 1fr!important}.report-footer.cleaning-footer>*:first-child{text-align:left!important}.report-footer.cleaning-footer>*:last-child{text-align:right!important}
}

.runtime-error{margin:24px;padding:20px;border:1px solid #f3b5b5;background:#fff7f7;border-radius:12px;display:flex;flex-direction:column;gap:10px;max-width:900px}.runtime-error b{font-size:16px;color:#9e1b1b}.diagnostic-ok{padding:12px;margin-bottom:12px;border-radius:9px;background:#effaf3;color:#176737;font-weight:750}

/* v0.8.2 — impressão final por marca */
@media print{
  .report-page .print-brand-footer.cleaning-footer{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;column-gap:8mm}
  .report-page .print-brand-footer.cleaning-footer span:nth-child(1){text-align:left!important}
  .report-page .print-brand-footer.cleaning-footer span:nth-child(2){text-align:center!important}
  .report-page .print-brand-footer.cleaning-footer span:nth-child(3){text-align:right!important}
  .report-page .print-brand-footer.admin-footer{display:grid!important;grid-template-columns:repeat(4,1fr)!important;column-gap:6mm}
  .report-page .print-brand-footer.admin-footer span:nth-child(1){text-align:left!important}
  .report-page .print-brand-footer.admin-footer span:nth-child(2),.report-page .print-brand-footer.admin-footer span:nth-child(3){text-align:center!important}
  .report-page .print-brand-footer.admin-footer span:nth-child(4){text-align:right!important}
  .print-brand-header img[src*="limpezas"],.print-brand-header img[src*="branding"]{width:56mm!important;max-height:31mm!important}
}

.import-flow{margin:0 0 10px}.import-validation-modal{width:min(1120px,calc(100vw - 36px))}.edit-form-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))!important}.edit-form-grid.four-col{grid-template-columns:repeat(4,minmax(0,1fr))!important}.edit-form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))!important}.edit-form-grid.compact{gap:9px 12px}.import-section-title{margin:14px 0 7px;padding-bottom:5px;border-bottom:1px solid #e0e7f0;color:#173b72;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.raw-ai-details{margin-top:10px;border:1px solid #dce5f1;border-radius:8px;background:#fafbfd;overflow:hidden}.raw-ai-details summary{cursor:pointer;padding:8px 10px;font-size:9px;font-weight:750;color:#4b607d}.raw-ai-details .import-json{border:0;border-top:1px solid #e2e8f0;border-radius:0;width:100%;min-height:140px}.import-error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.import-error>div{display:flex;flex-direction:column;gap:3px}.success-strip{border-color:#b9dec7!important;background:#f1faf4!important;color:#176737!important}.row-warning td{background:#fffaf1}.modal-card.extra-wide{width:min(1120px,calc(100vw - 36px))}
@media(max-width:980px){.edit-form-grid.three-col,.edit-form-grid.four-col{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){.edit-form-grid.two-col,.edit-form-grid.three-col,.edit-form-grid.four-col{grid-template-columns:1fr!important}.import-error{align-items:stretch;flex-direction:column}}


/* ============================================================
   v0.8.3 — SISTEMA GLOBAL DE SEPARADORES / NAVEGAÇÃO SECUNDÁRIA
   Um único padrão visual para todos os módulos, detalhes e modais.
   ============================================================ */
.module-tabs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;
  min-height:34px;
  margin:0 0 7px;
  padding:4px;
  border:1px solid #d8e2ef;
  border-radius:8px;
  background:linear-gradient(180deg,#f9fbfe 0%,#f3f6fa 100%);
  box-shadow:0 1px 2px rgba(20,48,100,.035);
}
.module-tabs button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:26px;
  padding:5px 10px;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:#53647e;
  font-size:9px;
  line-height:1.15;
  font-weight:700;
  white-space:nowrap;
  cursor:pointer;
  transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease;
}
.module-tabs button:hover{
  background:#fff;
  border-color:#c9d7e9;
  color:#164fae;
  box-shadow:0 1px 2px rgba(26,76,155,.06);
}
.module-tabs button.active{
  color:#fff;
  background:linear-gradient(180deg,#3478e9 0%,#2164d4 100%);
  border-color:#1f5fc8;
  box-shadow:0 2px 5px rgba(31,95,200,.18);
}
.module-tabs button.active::after{display:none!important;content:none!important}
.module-tabs.five{justify-content:flex-start}
.module-tabs.five button{flex:0 0 auto}

/* Separadores de detalhe: mais compactos, mas com a mesma linguagem visual. */
.detail-tabs{
  margin:0;
  padding:3px 5px;
  border:0;
  border-bottom:1px solid #dbe4ef;
  border-radius:0;
  background:#f7f9fc;
  box-shadow:none;
}
.detail-tabs button{min-height:24px;padding:4px 8px;font-size:8.7px}
.detail-tabs button.active{background:#e6efff;color:#174fae;border-color:#b9cef0;box-shadow:none}

/* Separadores dentro de popups: ocupam a largura e deixam de parecer links soltos. */
.modal-tabs{
  margin:0;
  padding:5px 12px;
  border:0;
  border-bottom:1px solid #dfe6ef;
  border-radius:0;
  background:#f7f9fc;
  box-shadow:none;
}
.modal-tabs button{min-width:84px}
.modal-tabs button.active{color:#fff;background:linear-gradient(180deg,#3478e9,#2164d4);border-color:#1f5fc8}

/* Ficha 360 herda o mesmo sistema sem perder densidade. */
.p360-tabs{margin-bottom:5px}
.p360-tabs button{min-width:0}
.p360-tabs .tab-count{background:rgba(255,255,255,.75);color:#315f9f}
.p360-tabs button.active .tab-count{background:rgba(255,255,255,.22);color:#fff}

@media (max-width:1100px){
  .module-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
  .module-tabs button{flex:0 0 auto}
}

@media print{.module-tabs{display:none!important}}

/* v0.8.4 - Limpezas: números pt-PT e separação de horas extra */
.extra-hours-field{padding:10px 12px;border:1px solid #d9e4f2;border-radius:10px;background:#f8fbff}.field-with-note{display:flex;flex-direction:column;gap:6px}.field-with-note small{font-size:11px;line-height:1.35;color:#60708a;font-weight:500}.extra-hours-info{margin-top:10px;background:#f7f9fc;border-color:#dbe4ef}.number-pt{text-align:right;font-variant-numeric:tabular-nums}.money-input input{text-align:right;font-variant-numeric:tabular-nums}.clean-profit-card b{font-variant-numeric:tabular-nums}.clean-profit-card small{line-height:1.3}

/* v0.8.5 — resposta de correio em janela própria */
.ai-reply-modal{width:min(980px,92vw);max-height:88vh}.ai-reply-modal .modal-body{padding:16px 18px}.ai-reply-meta{display:flex;gap:24px;flex-wrap:wrap;padding:8px 10px;margin-bottom:10px;border:1px solid var(--line,#d9e2ef);border-radius:8px;background:#f8fafc;font-size:12px}.ai-reply-text{min-height:360px!important;max-height:52vh;resize:vertical;font-size:13px;line-height:1.5}.ai-reply-loading{min-height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px dashed #b9c8dd;border-radius:9px;background:#f8fbff;margin-bottom:10px}.ai-reply-loading span{font-size:12px;color:#60708a}

/* v0.8.6 — contexto histórico Gmail na resposta IA */
.ai-history-strip{display:flex;align-items:center;gap:8px;min-height:34px;padding:8px 10px;border:1px solid #d9e4f3;background:#f7faff;border-radius:8px;font-size:12px;color:#44546a;margin-bottom:8px}.ai-history-strip b{color:#183b6b}.ai-history-details{border:1px solid #dce6f2;border-radius:8px;background:#fff;margin:0 0 10px}.ai-history-details summary{cursor:pointer;padding:8px 10px;font-size:12px;font-weight:700;color:#234d86}.ai-history-list{max-height:150px;overflow:auto;border-top:1px solid #e7edf5}.ai-history-list>div{display:grid;grid-template-columns:170px 1fr;gap:3px 10px;padding:7px 10px;border-bottom:1px solid #edf1f6;font-size:11px}.ai-history-list span{font-weight:600}.ai-history-list small{grid-column:1/-1;color:#718096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* v0.8.7 — seguros + resposta de email com contexto visível */
.insurance-deadline-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 12px;margin:6px 0;border:1px solid #cddcf0;border-radius:10px;background:#f7fbff;font-size:12px}.insurance-deadline-strip>div{display:flex;flex-direction:column;gap:2px}.insurance-deadline-strip.danger{background:#fff5f5;border-color:#f3b7b7;color:#8c1d1d}.insurance-control-grid tr.row-danger td{background:#fff7f7}.insurance-control-grid tr.row-warning td{background:#fffdf3}.op-chip.success{background:#e9f8ef;color:#176c3a;border-color:#bde6ca}.op-chip.danger{background:#fff0f0;color:#a51f1f;border-color:#f2c0c0}.status-card.success{border-color:#bde6ca;background:#f4fbf6}.status-card.danger{border-color:#f1bcbc;background:#fff6f6}.insurance-kpis{margin:8px 0}.reply-source-card{border:1px solid #d4dfef;border-radius:10px;background:#f8fbff;overflow:hidden;margin:8px 0 10px}.reply-source-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:9px 11px;border-bottom:1px solid #dbe5f2}.reply-source-head>div{display:flex;flex-direction:column;gap:2px}.reply-source-head span,.reply-source-meta{font-size:11px;color:#60728d}.reply-source-meta{padding:7px 11px;border-bottom:1px solid #e4ebf4}.reply-source-body{margin:0;padding:10px 12px;max-height:230px;overflow:auto;white-space:pre-wrap;font:12px/1.45 inherit;background:white}.ai-reply-modal .modal-body{max-height:75vh;overflow:auto}.ai-reply-text{min-height:240px!important}


/* v0.8.8 — CRM polish: grelhas legíveis, branding persistente e impressão estática */
.vgrid-wrap,.table-scroll{overflow:auto;max-width:100%;scrollbar-gutter:stable both-edges}
.vgrid{width:100%;min-width:max-content;border-collapse:collapse}
.vgrid th,.vgrid td{vertical-align:middle}
.vgrid td.wrap,.vgrid td.name{white-space:normal;overflow-wrap:anywhere}
.vgrid td.mono{white-space:nowrap}
.vgrid thead th{position:sticky;top:0;z-index:2;background:#f3f6fa}
.fraction-panel .vgrid{min-width:100%;table-layout:fixed}
.fraction-panel .vgrid th:nth-child(1){width:6%}.fraction-panel .vgrid th:nth-child(2){width:10%}.fraction-panel .vgrid th:nth-child(3){width:8%}.fraction-panel .vgrid th:nth-child(4){width:24%}.fraction-panel .vgrid th:nth-child(5){width:12%}.fraction-panel .vgrid th:nth-child(6){width:10%}.fraction-panel .vgrid th:nth-child(7){width:12%}.fraction-panel .vgrid th:nth-child(8){width:18%}
.fraction-panel .vgrid td{white-space:normal!important;overflow-wrap:anywhere;line-height:1.22}
.fraction-panel .vgrid td:nth-child(9){display:none}.fraction-panel .vgrid th:nth-child(9){display:none}
/* Email fica disponível na edição/titulares; a grelha principal dá prioridade a seguro, NIF e telefones sem cortar campos. */
.condo-split{grid-template-columns:minmax(560px,1.18fr) minmax(620px,1.12fr)}
@media(max-width:1450px){.condo-split{grid-template-columns:1fr}.fraction-grid{max-height:420px}}
.settings-card .brand-row img{width:100%;height:118px;object-fit:contain;background:#fff;border:1px solid #dfe6ef;border-radius:8px;padding:8px;box-sizing:border-box}
.print-condo-card{display:none;flex-direction:column;gap:1mm;margin:0 0 6mm;padding:5mm;border:1px solid #2a8d8d;background:#eef8fb;color:#111;font-size:10pt}
.print-condo-card b{font-size:12pt}.print-condo-card span{display:block}
.report-page .print-brand-footer{grid-template-columns:1fr 1fr 1fr!important;width:100%;align-items:center;border-top:1px solid #8eb5ef;padding-top:3mm;color:#2459a6;font-size:8pt}
.report-page .print-brand-footer span:nth-child(1){text-align:left!important}.report-page .print-brand-footer span:nth-child(2){text-align:center!important}.report-page .print-brand-footer span:nth-child(3){text-align:right!important}
.report-page .print-brand-header{grid-template-columns:1fr auto!important;align-items:start!important}
.report-page .print-brand-header img{object-fit:contain!important;object-position:right top!important}
.report-page.cleaning-report .print-brand-header img{width:58mm!important;max-height:31mm!important}
.report-preview{min-width:0}.report-preview .vgrid-wrap{max-width:100%}
@media print{
  .print-condo-card{display:flex!important}
  .report-page .print-brand-footer{display:grid!important;position:fixed;left:16mm;right:16mm;bottom:8mm;width:auto}
  .report-page .print-brand-header{display:grid!important}
}

.brand-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.brand-actions .filepick{margin:0}

/* v0.9.0.1 - grelhas/ícones/financeiro estáveis */
.nav-icon{width:22px;height:22px;min-width:22px;border-radius:7px;display:inline-grid;place-items:center;color:#fff!important;font-size:9px;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff1c,0 2px 6px #0002}
.ic-blue{background:linear-gradient(145deg,#4b8cff,#2458cf)}.ic-violet{background:linear-gradient(145deg,#8b6cf6,#6246c7)}.ic-sky{background:linear-gradient(145deg,#38bdf8,#0b7fc1)}.ic-amber{background:linear-gradient(145deg,#f6b94a,#d7830c)}.ic-slate{background:linear-gradient(145deg,#71839d,#40516b)}.ic-purple{background:linear-gradient(145deg,#b369f3,#7a36c4)}.ic-cyan{background:linear-gradient(145deg,#34c9d5,#138b9e)}.ic-green{background:linear-gradient(145deg,#49c982,#1e8d55)}.ic-orange{background:linear-gradient(145deg,#fb9b50,#d45a16)}.ic-rose{background:linear-gradient(145deg,#f56e8a,#c7385c)}.ic-indigo{background:linear-gradient(145deg,#687cf0,#3e4eb7)}.ic-emerald{background:linear-gradient(145deg,#35c99a,#118467)}
.vgrid-wrap,.table-scroll{overflow:auto;min-width:0}.vgrid{min-width:max-content;width:100%}.vgrid thead th{position:sticky;top:0;z-index:4;background:#f4f7fb}.panel{min-width:0}.income-panel{display:block!important}.income-panel>.panel-head{display:flex!important;width:100%;margin:0}.income-panel>.income-kpis{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;padding:8px!important;margin:0!important}.income-panel>.vgrid-wrap,.income-panel>.table-scroll{width:100%!important}.income-panel .vgrid{min-width:620px}.receipt-table{min-width:1500px!important}


/* v0.9.1 — acabamento operacional / CRM */
.page-titlebar{align-items:flex-start!important;flex-wrap:wrap!important;overflow:visible!important;height:auto!important;min-height:0!important}.page-titlebar>div:first-child{min-width:280px;flex:1}.page-actions{flex-wrap:wrap!important;justify-content:flex-end;max-width:100%;overflow:visible}.toolbar{overflow:visible!important;height:auto!important;min-height:34px}.panel-head{min-height:30px;height:auto!important;padding-top:6px;padding-bottom:6px;overflow:visible}.vgrid-wrap{position:relative;overflow:auto!important}.vgrid thead{display:table-header-group}.vgrid th{top:0!important;z-index:8!important}.modal-card{max-height:calc(100vh - 32px)!important;display:flex;flex-direction:column;overflow:hidden}.modal-body{flex:1;min-height:0;overflow:auto!important}.modal-actions{position:relative!important;flex:0 0 auto!important;z-index:5!important;flex-wrap:wrap!important;overflow:visible!important}.modal-actions .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:29px!important;white-space:nowrap}.diary-groups{display:grid;gap:7px}.diary-group{overflow:visible}.diary-condo-head{background:#eef4ff;border-left:4px solid #2d67d5}.diary-desc{min-width:300px;max-width:650px;white-space:normal!important}.grouped-accomp{padding:6px;background:#f6f8fb}.accomp-condo-group{background:#fff;border:1px solid #dce5f1;border-radius:8px;overflow:hidden;margin-bottom:7px}.accomp-condo-head{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#edf4ff;border-bottom:1px solid #d9e5f5;color:#173a76}.accomp-condo-head span{margin-left:auto;font-size:9px;color:#6c7f9c}.accomp-condo-group .vgrid{border:0}.followup-due{font-weight:800;color:#b42318;background:#fff4f4!important}.mobile-login{max-width:760px;margin:20px auto}.mobile-split{display:grid;grid-template-columns:minmax(620px,1.35fr) minmax(400px,.65fr);gap:7px}.mobile-detail{min-width:0}.mobile-text{min-height:180px}.insurance-collective-bar{display:flex;align-items:center;gap:10px;padding:7px 9px;margin-bottom:5px;border:1px solid #cfe0f6;border-radius:8px;background:#f5f9ff}.insurance-collective-bar span{color:#4e6380}.report-mode-note{padding:6px 9px;border:1px solid #dce5f1;border-radius:7px;background:#f7f9fc;margin-bottom:5px;font-size:8.5px;font-weight:700;color:#53657d}.proposal-modal{max-width:920px!important}.proposal-sheet{position:relative;background:#fff;max-width:760px;margin:auto;padding:28px 42px 60px;min-height:920px;font:13px/1.65 "Segoe UI",Arial;color:#1e2b40;border:1px solid #dfe5ee}.proposal-brand{text-align:right}.proposal-brand img{width:180px;max-height:80px;object-fit:contain}.proposal-sheet h2{text-align:center;margin:70px 0 55px;color:#1a315f;font-weight:600}.proposal-date{text-align:right;margin-bottom:45px}.proposal-price{margin-top:42px}.proposal-value{font-size:14px;margin:22px 0}.proposal-sign{text-align:right;margin-top:90px}.proposal-footer{position:absolute;left:42px;right:42px;bottom:20px;border-top:1px solid #9ec5e6;padding-top:8px;display:grid;grid-template-columns:1fr 1fr 1fr;color:#283d8f;font-size:10px}.proposal-footer span:nth-child(2){text-align:center}.proposal-footer span:nth-child(3){text-align:right}
@media(max-width:1200px){.mobile-split{grid-template-columns:1fr}.page-actions{justify-content:flex-start;margin-left:0}}
@media print{.print-brand-header{display:flex!important;align-items:flex-start;justify-content:space-between;margin:0 0 7mm;padding-bottom:4mm;border-bottom:1px solid #dbe5f0}.print-brand-header h1{font-size:16pt;margin:1mm 0;color:#17366e}.print-brand-header img{width:42mm!important;max-height:24mm!important;object-fit:contain}.print-condo-card{margin:0 0 5mm!important;border:1px solid #d9e3ee!important;border-left:3px solid #2e65c4!important;padding:3mm 4mm!important}.report-page{padding-bottom:20mm!important}.report-page .print-brand-footer{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;left:16mm!important;right:16mm!important;bottom:7mm!important;border-top:1px solid #8eb5ef!important;padding-top:2.8mm!important;color:#2459a6!important;font:8pt Arial!important}.report-page .print-brand-footer span:nth-child(1){text-align:left!important}.report-page .print-brand-footer span:nth-child(2){text-align:center!important}.report-page .print-brand-footer span:nth-child(3){text-align:right!important}.proposal-sheet{border:0!important;box-shadow:none!important;width:100%!important;max-width:none!important;min-height:250mm!important;padding:10mm 15mm 20mm!important}.proposal-footer{left:15mm!important;right:15mm!important;bottom:8mm!important}}

/* v0.9.1.1 — detalhe operacional, seguros e anexos móveis */
.diary-selected-detail{margin-top:7px;overflow:hidden}.diary-selected-detail .panel-head>div:first-child{display:flex;flex-direction:column;gap:1px}.diary-selected-detail .panel-head span{font-size:8px;color:#718198}.diary-detail-grid{display:grid;grid-template-columns:2fr .7fr 1.3fr;border-bottom:1px solid #e8edf4}.diary-detail-grid>div{padding:7px 9px;min-width:0;border-right:1px solid #edf1f6}.diary-detail-grid>div:last-child{border-right:0}.diary-detail-grid span{display:block;font-size:7.5px;color:#7a879a;text-transform:uppercase;font-weight:700;letter-spacing:.03em}.diary-detail-grid b{display:block;margin-top:2px;font-size:9.5px;color:#1a2e4d;white-space:pre-wrap;overflow-wrap:anywhere}.insurance-history-stack{display:grid;gap:7px}.insurance-history-stack .fullgrid{max-height:37vh;overflow:auto}.success-strip{border-color:#b7dfca!important;background:#f2fbf6!important;color:#176a42!important}.vgrid td,.vgrid th{max-width:560px}.vgrid td.name{min-width:160px}.vgrid th{white-space:nowrap}.vgrid td{overflow-wrap:anywhere}.attachment-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
@media(max-width:1100px){.diary-detail-grid{grid-template-columns:1fr}.diary-detail-grid>div{border-right:0;border-bottom:1px solid #edf1f6}}

/* v0.9.1.3 — Fração + seguro no mesmo fluxo de edição */
.fraction-360-modal .modal-body{min-height:360px}
.fraction-tabs .tab-state{margin-left:6px;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:800}
.fraction-tabs .tab-state.ok{background:#dcfce7;color:#166534}
.fraction-tabs .tab-state.review{background:#fef3c7;color:#92400e}
.fraction-tabs .tab-state.missing{background:#fee2e2;color:#991b1b}
.insurance-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 12px;margin-bottom:12px;border:1px solid var(--line,#d7e1ee);border-radius:10px;background:#f8fbff}
.insurance-summary-strip>div{display:flex;flex-direction:column;gap:2px}.insurance-summary-strip span{font-size:10px;text-transform:uppercase;color:#64748b}.insurance-summary-strip b{font-size:13px}
.insurance-summary-strip.ok{border-color:#bbf7d0;background:#f0fdf4}.insurance-summary-strip.review{border-color:#fde68a;background:#fffbeb}.insurance-summary-strip.missing{border-color:#fecaca;background:#fef2f2}
.split-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
@media(max-width:900px){.insurance-summary-strip{grid-template-columns:1fr}.split-actions{align-items:stretch;flex-direction:column}}

/* v0.9.1.5 — menus de contexto: clique fora fecha, sem obrigar a escolher ação */
.context-menu-dismiss{position:fixed;inset:0;z-index:2999;background:transparent;cursor:default}.context-menu{z-index:3000}.danger-text{color:#b4232e!important}.danger-text:hover{background:#fff0f1!important}

/* v0.9.1.6 — agrupamento operacional collapsed */
.group-toggle{width:100%;border:0;cursor:pointer;text-align:left;font:inherit;color:inherit}.group-toggle:hover{filter:brightness(.985)}.group-chevron{display:inline-flex;width:16px;justify-content:center;font-weight:900;color:#2d67d5}.group-summary{margin-left:auto!important;font-size:9px!important;color:#64748b!important;font-weight:700}.accomp-condo-group.collapsed,.diary-group.collapsed{box-shadow:none}.accomp-condo-group.collapsed .accomp-condo-head,.diary-group.collapsed .diary-condo-head{border-bottom:0}.diary-condo-head{display:flex!important;align-items:center;gap:6px}.diary-group{overflow:hidden!important}.accomp-condo-group .vgrid,.diary-group .vgrid{margin:0}.accomp-condo-head.group-toggle{min-height:34px}.diary-condo-head.group-toggle{min-height:34px}.followup-due{font-weight:800!important;color:#b42318!important;background:#fff4f4!important}


/* v0.9.1.7 — grupos compactos estilo CRM */
.grouped-accomp,.diary-groups{display:block!important;background:transparent!important;padding:0!important;gap:0!important}
.accomp-condo-group,.diary-group{margin:0!important;border:0!important;border-bottom:1px solid #dde5ef!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:visible!important}
.accomp-condo-group:first-child,.diary-group:first-child{border-top:1px solid #dde5ef!important}
.accomp-condo-head,.diary-condo-head{min-height:30px!important;height:30px!important;padding:0 8px!important;border:0!important;border-left:3px solid transparent!important;border-radius:0!important;background:#fff!important;color:#142b52!important;gap:6px!important}
.accomp-condo-head:hover,.diary-condo-head:hover{background:#f6f9fd!important;border-left-color:#8fb1e8!important}
.accomp-condo-group.open .accomp-condo-head,.diary-group.open .diary-condo-head{background:#eef5ff!important;border-left-color:#2d67d5!important}
.group-chevron{width:12px!important;font-size:9px!important;color:#2d67d5!important;flex:0 0 12px!important}
.accomp-condo-head b,.diary-condo-head b{font-size:10px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.group-badges{margin-left:auto!important;display:flex!important;align-items:center!important;gap:4px!important;white-space:nowrap!important}
.group-badge{display:inline-flex!important;align-items:center!important;min-height:18px!important;padding:1px 6px!important;border-radius:999px!important;border:1px solid #d8e1ec!important;background:#f7f9fc!important;color:#5d6d84!important;font-size:8px!important;font-weight:700!important;line-height:1!important}
.group-badge.pending{background:#fff7e8!important;border-color:#f2d49a!important;color:#9a5a00!important}
.group-badge.due{background:#fff0f0!important;border-color:#efb4b4!important;color:#b42318!important}
.accomp-condo-group.open>.vgrid,.diary-group.open>.vgrid{border-top:1px solid #dce6f3!important;background:#fbfdff!important;margin:0!important}
.accomp-condo-group.open>.vgrid th,.diary-group.open>.vgrid th{background:#f4f7fb!important}
.accomp-condo-group.open>.vgrid td,.diary-group.open>.vgrid td{padding-top:3px!important;padding-bottom:3px!important}
.accomp-condo-group.open>.vgrid tbody tr:hover,.diary-group.open>.vgrid tbody tr:hover{background:#eef5ff!important}
.accomp-condo-group.collapsed .accomp-condo-head,.diary-group.collapsed .diary-condo-head{border-bottom:0!important}
@media (max-width:900px){.group-badges .group-badge:nth-child(2){display:none!important}.accomp-condo-head b,.diary-condo-head b{max-width:55vw!important}}

/* v0.9.1.8 — cabeçalhos agrupados alinhados à esquerda */
.accomp-condo-head.group-toggle,.diary-condo-head.group-toggle{
  justify-content:flex-start!important;
  text-align:left!important;
}
.accomp-condo-head.group-toggle> b,.diary-condo-head.group-toggle> b{
  flex:1 1 auto!important;
  min-width:0!important;
  text-align:left!important;
  margin:0!important;
}
.accomp-condo-head.group-toggle .group-chevron,.diary-condo-head.group-toggle .group-chevron{
  margin-left:0!important;
  margin-right:2px!important;
}
.accomp-condo-head.group-toggle .group-badges,.diary-condo-head.group-toggle .group-badges{
  flex:0 0 auto!important;
  margin-left:auto!important;
}

/* v0.9.2 — identidade, densidade e rodapés CRM */
.brand-zone-image{min-height:86px;padding:10px 12px!important;gap:9px!important;align-items:center!important}.sidebar-brand-image{width:112px;max-height:58px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);opacity:.98}.brand-product{min-width:0}.brand-product .brand-title{font-size:11px!important;letter-spacing:.04em;white-space:nowrap}.brand-product .brand-caption{font-size:9px!important;color:#b9c9e5!important;white-space:nowrap}.login-brand-image{width:155px;max-height:70px;object-fit:contain}.print-brand-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important;align-items:center!important;column-gap:14mm!important}.print-brand-footer span{display:flex;align-items:center;gap:5px;white-space:nowrap}.print-brand-footer span:nth-child(1){justify-content:flex-start}.print-brand-footer span:nth-child(2){justify-content:center}.print-brand-footer span:nth-child(3){justify-content:flex-end}.footer-ico{font-style:normal;font-size:1.05em;opacity:.9}.task-edit-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,.7fr) minmax(150px,.45fr) minmax(145px,.42fr) auto auto;gap:6px;align-items:center}.task-whatsapp-actions{display:flex;gap:5px;flex-wrap:wrap}.task-detail .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-card-title{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#5b6c86;margin-bottom:3px}.task-complete-note{padding:6px 9px;border:1px solid #d7e4f6;background:#f6f9ff;color:#4c5e78;border-radius:6px;font-size:10px;margin:0 0 6px}.task-report-sheet{font-family:Segoe UI,Arial,sans-serif;color:#172033}.task-report-condo{border:1px solid #6e9fb8;background:#edf4f8;padding:12px 14px;text-align:center;margin:10px 0 14px}.task-report-condo b{font-size:15px}.task-report-table{border-collapse:collapse;width:100%;font-size:11px}.task-report-table th,.task-report-table td{border:1px solid #c9d6e2;padding:8px;vertical-align:top}.task-report-table th{background:#f2f6fa;text-align:left;width:140px}.task-report-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.task-report-photos img{width:100%;max-height:240px;object-fit:contain;border:1px solid #d8e0ea;background:white}.task-report-notes{margin-top:18px;min-height:80px;border-top:1px solid #d8e0ea;padding-top:8px}.task-report-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:center}.task-report-footer span:nth-child(1){text-align:left}.task-report-footer span:nth-child(2){text-align:center}.task-report-footer span:nth-child(3){text-align:right}

/* v0.9.4 — acabamento/paridade v3.25 */
.vgrid-wrap{position:relative;overflow:auto;max-width:100%}.vgrid thead th{position:sticky;top:0;z-index:2;background:#f4f7fb;box-shadow:0 1px 0 #d9e2ef}.vgrid td,.vgrid th{white-space:nowrap}.vgrid td.name,.vgrid td.owner-cell{white-space:normal}.context-menu-dismiss{position:fixed;inset:0;z-index:9998;background:transparent}.context-menu{z-index:9999;min-width:220px;max-width:320px}.diagnostic-page .vgrid td:last-child{width:90px}.print-brand-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important;align-items:center}.print-brand-footer span:first-child{text-align:left}.print-brand-footer span:nth-child(2){text-align:center}.print-brand-footer span:last-child{text-align:right}.footer-ico{display:inline-flex;width:14px;justify-content:center;font-style:normal}.nav-brand img,.brand-logo img{object-fit:contain}.task-edit-grid{grid-template-columns:minmax(220px,1.2fr) minmax(240px,2fr) minmax(200px,1fr) 110px 150px auto auto}.insurance-control-grid th,.insurance-control-grid td{font-size:12px}.insurance-control-grid td.owner-cell{min-width:220px;max-width:340px}.report-mode-note{font-size:12px}.timeline-row{color:inherit;text-decoration:none}.timeline-row:hover{background:#f6f9fd}

/* ============================================================
   v0.9.5 — DESIGN SYSTEM PRO
   Redesenho visual global sem alterar o fluxo operacional.
   ============================================================ */
:root{
  --nav:#081a38;--nav-deep:#06142c;--nav-hover:#112a55;--nav-active:#1f5fd1;
  --blue:#2463db;--blue-2:#174bb2;--cyan:#0ea5c6;--green:#168a61;--amber:#cf7a0a;--red:#c84444;
  --bg:#f4f7fb;--surface:#ffffff;--surface-2:#f8fafc;--line:#dbe4ef;--line-strong:#c7d4e5;
  --text:#14233d;--muted:#6c7c93;--shadow:0 8px 28px rgba(24,48,84,.08);
  --radius:10px;--radius-sm:7px;--sidebar:248px;
}
html,body{font-size:13px;background:var(--bg);color:var(--text)}
body{letter-spacing:-.005em}

/* Shell */
.app-shell{min-height:100vh;background:var(--bg)}
.sidebar{width:var(--sidebar)!important;background:linear-gradient(180deg,var(--nav),var(--nav-deep))!important;border-right:1px solid rgba(255,255,255,.05)}
.main-stage,.content-wrap{margin-left:var(--sidebar)!important;min-width:0}
.commandbar{height:44px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)!important;padding:0 14px!important;box-shadow:0 1px 0 rgba(28,51,84,.02)}
.screen,.workspace{padding:10px 12px 18px!important;max-width:none!important;margin:0!important}

/* Branding — logo sem esmagar nem sobrepor */
.brand-zone{height:auto!important;min-height:84px;padding:14px 14px 12px!important;display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;border-bottom:1px solid rgba(255,255,255,.08)!important;overflow:hidden}
.brand-logo-wrap{width:92px;height:50px;display:flex;align-items:center;justify-content:flex-start;overflow:hidden}
.sidebar-brand-image{display:block!important;width:92px!important;height:48px!important;max-width:92px!important;max-height:48px!important;object-fit:contain!important;object-position:left center!important;filter:drop-shadow(0 2px 5px rgba(0,0,0,.18))}
.brand-product{min-width:0!important;overflow:hidden!important}
.brand-title{font-size:13px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:.01em!important;text-transform:none!important;color:#fff!important;white-space:normal!important;overflow-wrap:anywhere}
.brand-caption{margin-top:4px!important;font-size:9px!important;line-height:1.25!important;color:#a9bbd8!important;white-space:normal!important}

/* Quick actions */
.quick-launch{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;padding:8px 8px 4px!important}
.quick-launch a{min-width:0;height:30px!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:7px!important;background:rgba(255,255,255,.035)!important;color:#dce8f9!important;font-size:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;padding:0 6px!important}
.quick-launch a:hover{background:rgba(255,255,255,.09)!important;border-color:rgba(255,255,255,.14)!important}
.quick-launch a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Navigation */
.nav-scroll{padding:4px 7px 76px!important}
.nav-group{margin:7px 0 9px!important}
.nav-heading{padding:4px 9px!important;font-size:8px!important;letter-spacing:.14em!important;color:#7797c4!important}
.nav-link{height:31px!important;padding:0 8px!important;gap:8px!important;border-radius:7px!important;margin:1px 0!important;font-size:11.5px!important;color:#dbe7f7!important;transition:.12s ease!important}
.nav-link:hover{background:var(--nav-hover)!important;color:#fff!important}
.nav-current{background:linear-gradient(90deg,#2364dc,#2c6ee5)!important;box-shadow:0 4px 14px rgba(20,85,207,.25)!important}
.nav-icon{width:20px!important;height:20px!important;min-width:20px!important;border-radius:6px!important;font-size:8px!important;box-shadow:none!important}
.nav-arrow{margin-left:auto!important;opacity:.35!important;font-size:13px!important}
.nav-current .nav-arrow{opacity:.8!important}
.sidebar-foot{padding:9px 11px!important;background:#07162f!important;font-size:9px!important}
.sidebar-foot small{display:block;margin-top:1px;color:#8298ba!important}

/* Top command bar */
.crumb{display:flex;align-items:center;gap:8px;font-size:11px!important;color:#7a8799}.crumb b{color:#253958;font-size:11.5px}
.command-actions{display:flex;gap:5px;align-items:center;margin-left:auto}
.command-actions>a,.avatar-btn{width:30px!important;height:30px!important;border:1px solid var(--line)!important;background:#fff!important;border-radius:8px!important;display:inline-grid!important;place-items:center!important;color:#4f6078!important;box-shadow:0 1px 2px rgba(16,34,63,.03)}
.command-actions>a:hover,.avatar-btn:hover{border-color:#a9c2e8!important;background:#f3f7fd!important;color:#1f5cc2!important}
.avatar-btn{background:#132f64!important;color:#fff!important;border-color:#132f64!important}

/* Page titles */
.page-titlebar{margin:0 0 7px!important;gap:8px!important;align-items:center!important}
.page-titlebar h1{font-size:20px!important;line-height:1.1!important;color:#102a59!important;font-weight:750!important;letter-spacing:-.02em}
.page-titlebar p{font-size:9.5px!important;margin-top:2px!important;color:#718097!important}
.page-actions{gap:5px!important}

/* Buttons */
.btn,.tinybtn,.stackbtn{border:1px solid var(--line-strong)!important;background:#fff!important;color:#243754!important;border-radius:7px!important;padding:5px 9px!important;min-height:29px;box-shadow:0 1px 2px rgba(23,48,82,.025);font-weight:600}
.btn:hover,.tinybtn:hover,.stackbtn:hover{background:#f5f8fc!important;border-color:#aabbd2!important}
.btn.primary,.primary{background:linear-gradient(180deg,#2d6ee7,#225cc8)!important;border-color:#225cc8!important;color:#fff!important;box-shadow:0 4px 12px rgba(34,92,200,.17)!important}
.btn.primary:hover,.primary:hover{background:linear-gradient(180deg,#2867db,#194fae)!important}
.tinybtn{font-size:10px!important;min-height:25px!important;padding:3px 7px!important}

/* Toolbars / filters */
.toolbar,.opbar,.edit-strip,.subtoolbar{border:1px solid var(--line)!important;background:rgba(255,255,255,.96)!important;border-radius:8px!important;padding:5px 7px!important;margin-bottom:6px!important;min-height:34px!important;gap:5px!important;box-shadow:0 1px 2px rgba(23,48,82,.02)}
.input,.fake-select,select,input[type=text],input[type=date],input[type=number],textarea{border-color:#cfdbea!important;border-radius:7px!important;background:#fff!important}
.input:focus,select:focus,input:focus,textarea:focus{border-color:#6594df!important;box-shadow:0 0 0 2px rgba(70,126,214,.12)!important}

/* Panels */
.panel{border:1px solid var(--line)!important;border-radius:var(--radius)!important;background:#fff!important;box-shadow:0 2px 9px rgba(33,57,89,.035)!important}
.panel-head{min-height:32px!important;padding:5px 9px!important;background:linear-gradient(180deg,#fbfcfe,#f7f9fc)!important;border-bottom:1px solid var(--line)!important;font-weight:700;color:#263b5c}
.detail-box{border-radius:8px!important;background:#fafcff!important}

/* Data grids — alta densidade e leitura */
.vgrid-wrap,.table-scroll{border-radius:8px;scrollbar-width:thin;scrollbar-color:#aeb9c8 transparent}
.vgrid,.grid-table{font-size:10.5px!important}
.vgrid th,.grid-table th{background:#f3f6fa!important;color:#5d6d85!important;font-size:8.5px!important;font-weight:750!important;letter-spacing:.02em!important;padding:5px 7px!important;border-bottom:1px solid #d4deea!important;text-transform:uppercase!important}
.vgrid td,.grid-table td{padding:5px 7px!important;border-bottom:1px solid #e7ecf3!important;vertical-align:middle!important;line-height:1.3!important}
.vgrid tbody tr:hover td,.grid-table tbody tr:hover td{background:#f4f8ff!important}
.vgrid tbody tr.selected td,.grid-table tbody tr.selected td{background:#e8f1ff!important}

/* Tabs */
.tabs,.tabbar,.subtabs{gap:3px!important;padding:3px!important;background:#edf2f8!important;border:1px solid #dce5f0!important;border-radius:9px!important}
.tab,.tabbtn,.tabs button,.tabbar button,.subtabs button{border-radius:6px!important;min-height:27px!important;padding:4px 9px!important;font-size:10.5px!important;font-weight:650!important}
.tab.active,.tabbtn.active,.tabs .active,.tabbar .active,.subtabs .active{background:#fff!important;color:#1d58ba!important;box-shadow:0 1px 4px rgba(23,58,106,.08)!important}

/* Modals */
.modal-backdrop{background:rgba(8,21,42,.42)!important;backdrop-filter:blur(2px)}
.modal-card{border:1px solid rgba(210,221,235,.95)!important;border-radius:14px!important;box-shadow:0 24px 70px rgba(14,31,58,.24)!important;background:#fff!important}
.modal-header{padding:11px 14px!important;background:#fbfcfe!important;border-bottom:1px solid var(--line)!important;border-radius:14px 14px 0 0!important}
.modal-header h2,.modal-header h3{font-size:15px!important;color:#1a3154!important}
.modal-body{padding:12px 14px!important}
.modal-actions{padding:9px 14px!important;background:#fafbfd!important;border-top:1px solid var(--line)!important}

/* KPI */
.kpi-grid{gap:5px!important}.kpi{border-radius:9px!important;min-height:51px!important;padding:7px 9px!important;box-shadow:0 1px 5px rgba(31,53,84,.03)!important}.kpi span{font-size:8.5px!important;text-transform:uppercase;letter-spacing:.03em}.kpi b{font-size:15px!important;margin-top:3px!important}

/* Context / grouped rows */
.accomp-condo-group,.diary-group{border-radius:8px!important;border:1px solid #dce5f0!important;box-shadow:none!important;margin-bottom:4px!important}
.accomp-condo-head,.diary-condo-head{min-height:31px!important;padding:5px 8px!important;background:#f8fafc!important;border:0!important;border-left:3px solid transparent!important;color:#1f3557!important}
.accomp-condo-head:hover,.diary-condo-head:hover{background:#f1f6fd!important;border-left-color:#4a7fd7!important}

/* Responsive compact */
@media(max-width:1150px){:root{--sidebar:220px}.brand-zone{grid-template-columns:78px minmax(0,1fr)!important}.brand-logo-wrap,.sidebar-brand-image{width:78px!important}.brand-title{font-size:12px!important}.brand-caption{font-size:8.5px!important}}
@media(max-width:850px){.sidebar{position:relative!important;width:100%!important;height:auto!important}.main-stage,.content-wrap{margin-left:0!important}.brand-zone{grid-template-columns:90px 1fr!important}.nav-scroll{max-height:320px}.commandbar{position:sticky;top:0}.screen,.workspace{padding:8px!important}}

/* ============================================================
   v0.9.6.1 — FIDELIDADE AO MOCKUP APROVADO
   ============================================================ */
.brand-zone.brand-zone-image{
  min-height:96px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:14px 12px 12px!important;
  overflow:hidden!important;
}
.brand-logo-wrap{
  width:100%!important;
  height:66px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
.sidebar-brand-image{
  width:180px!important;
  height:64px!important;
  max-width:100%!important;
  max-height:64px!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
  background:transparent!important;
  opacity:1!important;
}
.brand-product{display:none!important}
@media(max-width:1150px){.brand-zone.brand-zone-image{min-height:88px!important}.sidebar-brand-image{width:158px!important;height:58px!important}}

/* ============================================================
   v0.9.6.1 — RELATÓRIOS COM FIDELIDADE AO MOCKUP
   ============================================================ */
.report-print-sheet{display:none}
.rp-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18mm;align-items:start}
.rp-head-copy{min-width:0}.rp-kicker{font-size:7.2pt;font-weight:800;letter-spacing:.16em;color:#164f9e;margin-bottom:2.3mm}.brand-cleaning .rp-kicker{color:#138fc9}.rp-head h1{margin:0;color:#123263;font-size:19pt;line-height:1.08;font-weight:800;letter-spacing:-.02em}.rp-head h2{margin:2mm 0 0;color:#15396e;font-size:13.5pt;line-height:1.1}.rp-head p{margin:1.5mm 0 0;color:#6b7890;font-size:9pt}.rp-logo{width:54mm;max-height:27mm;object-fit:contain;object-position:right top}.brand-cleaning .rp-logo{width:58mm;max-height:30mm}.rp-accent{height:1px;background:#bfd1e7;margin:5mm 0 6mm;position:relative}.rp-accent span{position:absolute;left:0;top:-1px;height:3px;width:28mm;background:#174f99}.brand-cleaning .rp-accent span{background:linear-gradient(90deg,#149bd3 0 62%,#f59a23 62% 100%)}
.rp-condo-card{display:grid;grid-template-columns:18mm minmax(0,1fr) 58mm;gap:5mm;align-items:center;background:#f1f5fa;border-radius:4mm;padding:5mm 6mm;margin-bottom:7mm}.brand-cleaning .rp-condo-card{background:#f0f6fb}.rp-condo-icon{width:14mm;height:14mm;border-radius:3mm;background:#e4effc;color:#1762ba;display:grid;place-items:center;font-size:22pt}.brand-cleaning .rp-condo-icon{background:#dff3fb;color:#128ec4}.rp-card-title{font-size:8pt;font-weight:800;letter-spacing:.04em;color:#174f99;margin-bottom:2mm}.brand-cleaning .rp-card-title{color:#128ec4}.rp-condo-card p{margin:1mm 0;font-size:9pt;color:#2f405b}.rp-condo-side{border-left:1px solid #bfd0e5;padding-left:6mm;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.rp-section{margin:0 0 6mm}.rp-section-title{display:flex;align-items:center;gap:3mm;color:#174f99;margin-bottom:3mm;font-size:10.5pt;letter-spacing:.03em}.brand-cleaning .rp-section-title{color:#118fc7}.rp-section-icon{width:8mm;height:8mm;border-radius:2.2mm;display:grid;place-items:center;background:#eaf2fc;color:inherit;font-size:11pt}.brand-cleaning .rp-section-icon{background:#e6f5fb}.rp-table{border:1px solid #d9e4ef;border-radius:3mm;overflow:hidden}.report-print-grid{overflow:visible!important}.report-print-grid .vgrid{width:100%!important;border-collapse:collapse!important;font-size:8.4pt!important}.report-print-grid .vgrid th{position:static!important;background:#173d74!important;color:#fff!important;padding:2.7mm 2.6mm!important;font-size:7.6pt!important;letter-spacing:.025em!important;border:0!important}.brand-cleaning .report-print-grid .vgrid th{background:#138fd0!important}.report-print-grid .vgrid td{padding:2.5mm 2.6mm!important;border-bottom:1px solid #e1e8f0!important;color:#34455e!important;background:#fff!important}.report-print-grid .vgrid tbody tr:nth-child(even) td{background:#f6f8fb!important}.brand-cleaning .report-print-grid .vgrid tbody tr:nth-child(even) td{background:#f2f9fc!important}.report-print-grid input[type=checkbox]{width:12px;height:12px}.rp-observations{background:#f2f6fa;border-radius:3mm;padding:4mm 5mm;margin-top:7mm;min-height:22mm}.rp-observations .rp-section-title{margin-bottom:1.5mm}.rp-observations p{margin:0 0 0 11mm;color:#607087;font-size:8.5pt;line-height:1.45}.rp-footer{margin-top:auto;border-top:1px solid #b8cee6;padding-top:3.5mm;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;color:#1f58a5;font-size:8pt}.brand-cleaning .rp-footer{border-top-color:#8dcce7;color:#138bc2}.rp-footer span{display:flex;align-items:center;gap:1.8mm;white-space:nowrap}.rp-footer span:nth-child(1){justify-content:flex-start}.rp-footer span:nth-child(2){justify-content:center}.rp-footer span:nth-child(3){justify-content:flex-end}.rp-footer i{font-style:normal;font-size:11pt}

/* Mais próximo do mockup no ecrã */
.report-layout{grid-template-columns:275px minmax(0,1fr)!important;gap:8px!important}.report-menu{border-radius:10px!important}.report-pick{padding:8px 10px!important}.report-pick b{font-size:10.5px!important}.report-pick span{font-size:8.8px!important;line-height:1.25!important}.report-preview{border-radius:10px!important}.report-mode-note{margin:0 0 7px!important;border:1px solid #dce6f2!important;background:#f8fafc!important;border-radius:8px!important;padding:7px 9px!important;color:#53657e!important}

@media print{
  .report-print-sheet{display:flex!important;min-height:270mm;flex-direction:column;color:#172033;font-family:"Segoe UI",Arial,sans-serif}
}

/* v0.9.7.0 — MOCKUP DESIGN REAL: linguagem visual oficial */
:root{
  --ds-navy:#0b234d;--ds-navy-2:#102f63;--ds-blue:#1473e6;--ds-cyan:#06a6d8;--ds-green:#16a66a;--ds-emerald:#0ca678;
  --ds-orange:#f59e0b;--ds-red:#ef4444;--ds-purple:#7c4dff;--ds-sky:#eaf4ff;--ds-border:#dce6f2;--ds-card:#fff;--ds-bg:#f5f8fc;
}
html,body{background:var(--ds-bg)!important;color:#10233f!important}
.sidebar{width:236px!important;background:#0a2147!important;box-shadow:8px 0 26px rgba(12,36,78,.10)!important}
.main-stage{margin-left:236px!important}.brand-zone{height:90px!important;padding:14px 18px!important;background:#0a2147!important;border-bottom:1px solid rgba(255,255,255,.09)!important}.brand-logo-wrap{width:100%;height:62px;display:flex;align-items:center}.sidebar-brand-image{width:170px!important;height:52px!important;max-width:100%!important;object-fit:contain!important;object-position:left center!important;filter:brightness(0) invert(1) grayscale(1) contrast(.9)!important;opacity:.98}.quick-launch{padding:8px!important;background:#0a2147!important;border-bottom:1px solid rgba(255,255,255,.07)!important}.quick-launch a{border-radius:7px!important;background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.08)!important}.quick-launch a:hover{background:rgba(255,255,255,.10)!important}.nav-link{height:36px!important;border-radius:7px!important;color:#e8f0ff!important}.nav-link:hover{background:rgba(255,255,255,.08)!important}.nav-current{background:#1473e6!important;box-shadow:0 5px 12px rgba(20,115,230,.24)!important}.nav-heading{color:#7797c8!important}.sidebar-foot{background:#081b3c!important}.commandbar{height:54px!important;background:#fff!important;border-bottom:1px solid var(--ds-border)!important;padding:0 18px!important}.command-actions>a{width:34px!important;height:34px!important;border-radius:8px!important;background:#fff!important;border:1px solid #d8e3f0!important;color:#26446d!important}.avatar{background:#0f3066!important}.screen{background:var(--ds-bg)!important}.workspace{padding:10px 14px 18px!important;max-width:none!important}.page-titlebar{padding:3px 0 7px!important;margin-bottom:7px!important}.page-titlebar h1{font-size:24px!important;color:#0d2d62!important;letter-spacing:-.02em!important}.page-titlebar p{font-size:10px!important;color:#6e8098!important}.btn,.tinybtn,.stackbtn{border-radius:7px!important;border:1px solid #d5e0ed!important;box-shadow:0 1px 2px rgba(20,49,87,.03)!important;font-weight:600!important}.btn.primary,.primary{background:#1473e6!important;border-color:#1473e6!important;box-shadow:0 5px 12px rgba(20,115,230,.18)!important}.panel{border-radius:9px!important;border:1px solid var(--ds-border)!important;box-shadow:0 2px 9px rgba(22,55,95,.045)!important;background:#fff!important}.panel-head{background:#fbfdff!important;border-bottom:1px solid #e5edf6!important}.input{border-radius:7px!important;border-color:#cfdae8!important}.input:focus{border-color:#5c9be9!important;box-shadow:0 0 0 3px rgba(20,115,230,.08)!important}.toolbar,.subtoolbar,.edit-strip,.opbar{border-radius:8px!important;border-color:var(--ds-border)!important}.vgrid th{background:#f2f7fc!important;color:#526984!important;font-size:8px!important;font-weight:800!important;letter-spacing:.03em!important}.vgrid td{border-bottom-color:#e8eff7!important}.vgrid tbody tr:hover td{background:#f7fbff!important}.state-pill,.status,.op-chip{border-radius:999px!important}.modal-card{border-radius:14px!important}.modal-head{background:#fbfdff!important}.tabs,.tabbar{background:#fff!important}.tab,.tab-btn{border-radius:7px 7px 0 0!important}.tab.active,.tab-btn.active{color:#1064ca!important}

/* dashboard visual fiel ao mockup */
.ops-dashboard{padding:14px 18px 22px;max-width:1850px;margin:auto}.ops-topline{display:flex;align-items:flex-start;gap:18px;margin-bottom:10px}.ops-topline h1{margin:2px 0 1px;font-size:29px;line-height:1.05;color:#0a2d61;letter-spacing:-.03em}.ops-topline p{margin:0;color:#687e99;font-size:12px}.section-kicker{font-size:9px;font-weight:900;letter-spacing:.18em;color:#1473e6}.ops-date{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:10px;color:#536b88;padding-top:4px}.ops-date span{padding:3px 7px;border-radius:6px;background:#eaf4ff;color:#1766be;font-weight:800}.ops-filterbar{display:flex;align-items:center;gap:5px;margin-bottom:10px}.filter-caption{font-size:9px;font-weight:800;color:#7688a1;margin-right:4px}.period-chip{padding:5px 10px;border:1px solid #d8e4f0;border-radius:7px;background:white;color:#405b7e;font-size:9px;font-weight:700}.period-chip.active{background:#1473e6;color:#fff;border-color:#1473e6}.ops-filter-spacer{flex:1}.ops-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:9px}.ops-kpi{position:relative;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:8px;background:#fff;border:1px solid var(--ds-border);border-radius:10px;padding:10px 11px;min-height:86px;color:#122c52;box-shadow:0 3px 12px rgba(18,48,86,.045);overflow:hidden}.ops-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:currentColor}.ops-kpi:hover{transform:translateY(-1px);box-shadow:0 6px 17px rgba(18,48,86,.08)}.ops-kpi-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-size:19px;font-weight:900}.ops-kpi small{display:block;color:#62758f;font-size:9px;font-weight:700}.ops-kpi strong{display:block;font-size:24px;line-height:1.05;margin:2px 0;color:#102c5b}.ops-kpi div>span{font-size:8.5px;color:#8390a3}.kpi-blue{color:#1473e6}.kpi-blue .ops-kpi-icon{background:#e9f3ff}.kpi-green{color:#16a66a}.kpi-green .ops-kpi-icon{background:#e9f9f1}.kpi-orange{color:#f59e0b}.kpi-orange .ops-kpi-icon{background:#fff4df}.kpi-red{color:#ef4444}.kpi-red .ops-kpi-icon{background:#fff0f0}.kpi-purple{color:#7c4dff}.kpi-purple .ops-kpi-icon{background:#f1edff}.kpi-emerald{color:#0ca678}.kpi-emerald .ops-kpi-icon{background:#e8fbf3}.ops-grid{display:grid;gap:9px}.ops-grid-top{grid-template-columns:1.5fr .85fr .85fr;margin-bottom:9px}.ops-grid-bottom{grid-template-columns:1fr 1fr .78fr}.ops-card{background:#fff;border:1px solid var(--ds-border);border-radius:10px;box-shadow:0 3px 13px rgba(18,49,90,.045);overflow:hidden;min-width:0}.ops-card-head{min-height:42px;padding:8px 11px;display:flex;align-items:center;border-bottom:1px solid #e7eef7}.ops-card-head>div{display:flex;align-items:center;gap:7px;min-width:0}.ops-card-head b{font-size:12px;color:#16345f}.ops-card-head>a{margin-left:auto;font-size:9px;font-weight:800;color:#1473e6}.head-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;font-weight:900}.head-icon.blue{color:#1473e6;background:#eaf4ff}.head-icon.orange{color:#f59e0b;background:#fff3db}.mini-alert{padding:2px 6px;border-radius:999px;background:#fff0f0;color:#d93025;font-size:8px;font-weight:800}.activity-chart{height:210px;display:grid;grid-template-columns:30px 1fr;padding:15px 12px 4px}.chart-y{display:flex;flex-direction:column;justify-content:space-between;text-align:right;padding-right:5px;color:#8494a8;font-size:8px}.chart-bars{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;border-left:1px solid #e1e9f2;border-bottom:1px solid #e1e9f2;background:repeating-linear-gradient(to top,#fff 0,#fff 48px,#eef3f8 49px,#eef3f8 50px);padding:5px 5px 0}.month-col{display:grid;grid-template-rows:1fr 14px;gap:3px;min-width:0}.bar-stack{height:100%;display:flex;gap:2px;align-items:flex-end;justify-content:center}.bar{width:18%;min-width:2px;border-radius:2px 2px 0 0;display:block}.b-blue{background:#1a73e8}.b-green{background:#20b26b}.b-orange{background:#f5a623}.b-purple{background:#8b5cf6}.month-col>span{text-align:center;font-size:7.5px;color:#667a94;text-transform:capitalize}.chart-legend{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;padding:7px 9px 10px;font-size:8px;color:#536986}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.dot.blue{background:#1a73e8}.dot.green{background:#20b26b}.dot.orange{background:#f5a623}.dot.red{background:#ef4444}.dot.purple{background:#8b5cf6}.insurance-donut-wrap{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:10px;padding:18px 14px}.insurance-donut{width:128px;height:128px;border-radius:50%;display:grid;place-items:center;position:relative}.insurance-donut::after{content:"";position:absolute;inset:22px;background:#fff;border-radius:50%;box-shadow:0 0 0 1px #edf1f6}.insurance-donut>div{position:relative;z-index:2;text-align:center}.insurance-donut strong{display:block;font-size:24px;color:#183a68}.insurance-donut span{font-size:8px;color:#73839a}.insurance-legend{display:grid;gap:9px}.insurance-legend>div{display:grid;grid-template-columns:12px 1fr auto 32px;align-items:center;font-size:9px;color:#45607f}.insurance-legend b{color:#17345d}.insurance-legend em{font-style:normal;text-align:right;color:#8896a9}.quality-list{padding:13px 14px;display:grid;gap:12px}.quality-row{display:grid;grid-template-columns:28px minmax(110px,1fr) 100px 34px;gap:7px;align-items:center;font-size:9px;color:#3b5576}.quality-icon{width:25px;height:25px;border-radius:7px;display:grid;place-items:center;font-weight:900}.quality-icon.blue{background:#eaf4ff;color:#1473e6}.quality-icon.green{background:#ebf9f1;color:#16a66a}.quality-icon.emerald{background:#e9fbf4;color:#0ca678}.quality-icon.orange{background:#fff3dc;color:#f59e0b}.quality-track{height:8px;border-radius:999px;background:#edf2f7;overflow:hidden}.quality-track i{display:block;height:100%;border-radius:999px}.quality-track i.blue{background:#1473e6}.quality-track i.green{background:#16a66a}.quality-track i.emerald{background:#0ca678}.quality-track i.orange{background:#f59e0b}.quality-row b{text-align:right;color:#17345d}.action-list,.followup-list{max-height:345px;overflow:auto}.action-row{display:grid;grid-template-columns:18px 4px minmax(0,1fr) 52px 60px;gap:7px;align-items:center;padding:7px 10px;border-bottom:1px solid #eef2f7;color:#17345d}.action-row:hover,.followup-row:hover{background:#f8fbff}.action-check{width:14px;height:14px;border:1px solid #c8d5e4;border-radius:3px}.action-priority{height:28px;border-radius:3px}.action-priority.high{background:#ef4444}.action-priority.normal{background:#f59e0b}.action-copy{display:flex;flex-direction:column;min-width:0}.action-copy b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-copy small{font-size:8px;color:#7b8ca1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-date{font-size:8px;color:#5e718b;text-align:right}.state-badge,.due-badge{justify-self:end;padding:2px 6px;border-radius:999px;font-size:7.5px;font-weight:800}.state-badge{background:#fff0f0;color:#d43535}.followup-row{display:grid;grid-template-columns:28px minmax(0,1fr) 54px 54px;gap:7px;align-items:center;padding:7px 10px;border-bottom:1px solid #eef2f7;color:#17345d}.followup-channel{width:25px;height:25px;border-radius:7px;display:grid;place-items:center;background:#eaf4ff;color:#1473e6;font-weight:900}.followup-row>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.followup-row b{font-size:9px}.followup-row small{font-size:8px;color:#7c8ca1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.followup-time{font-size:8px;text-align:right}.due-badge.overdue{background:#ffe9e9;color:#d52c2c}.due-badge.today{background:#eaf4ff;color:#1473e6}.ops-side-stack{display:grid;grid-template-rows:1fr 1fr;gap:9px}.compact-card{min-height:0}.mini-timeline{padding:5px 9px}.mini-timeline-row{display:grid;grid-template-columns:8px 1fr 45px;gap:6px;align-items:center;padding:5px 0;color:#17345d;border-bottom:1px solid #eef2f7}.mini-timeline-row i{width:6px;height:6px;background:#1473e6;border-radius:50%}.mini-timeline-row span{display:flex;flex-direction:column;min-width:0}.mini-timeline-row b{font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-timeline-row small{font-size:7.5px;color:#7c8ca1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-timeline-row em{font-size:7px;font-style:normal;color:#7c8ca1;text-align:right}.alert-row{display:flex;flex-direction:column;padding:7px 11px;border-bottom:1px solid #eef2f7}.alert-row b{font-size:8.5px}.alert-row span{font-size:7.5px;color:#7c8ca1}.alert-row.red b{color:#d32e2e}.alert-row.orange b{color:#c97900}.alert-row.blue b{color:#1473e6}

/* relatórios: visual externo e interno seguindo os mockups */
.report-print-sheet{--rp-accent:#1769c7;--rp-soft:#edf5fd;display:none;background:white;color:#18345d;font-family:"Segoe UI",Arial,sans-serif;min-height:277mm;position:relative;padding:13mm 14mm 24mm}.report-print-sheet.brand-cleaning{--rp-accent:#0b9fe0;--rp-accent2:#f28b19;--rp-soft:#eef9fd}.rp-head{display:grid;grid-template-columns:1fr 62mm;gap:8mm;align-items:start;padding-bottom:5mm}.rp-kicker{font-size:8pt;font-weight:900;letter-spacing:.21em;color:var(--rp-accent);margin-bottom:4mm}.rp-head h1{margin:0;color:#12386d;font-size:17.5pt;line-height:1.15}.rp-head h2{margin:1.2mm 0 0;color:#173b6e;font-size:12.5pt}.rp-head p{margin:1mm 0 0;color:#536d8d;font-size:9pt}.rp-logo{width:58mm;height:26mm;object-fit:contain;object-position:right top}.rp-accent{height:1.2mm;background:#d6e3f2;margin-bottom:7mm;position:relative}.rp-accent span{position:absolute;left:0;top:0;bottom:0;width:27mm;background:var(--rp-accent)}.brand-cleaning .rp-accent span{background:linear-gradient(90deg,var(--rp-accent) 0 62%,var(--rp-accent2) 62% 100%)}.rp-condo-card{display:grid;grid-template-columns:14mm 1fr 56mm;gap:5mm;background:var(--rp-soft);border:0;border-radius:4mm;padding:6mm 7mm;margin-bottom:7mm}.rp-condo-icon{font-size:22pt;color:var(--rp-accent);display:flex;align-items:flex-start;justify-content:center}.rp-card-title{font-size:8pt;letter-spacing:.06em;font-weight:900;color:var(--rp-accent);margin-bottom:2.3mm}.rp-condo-card p{margin:1.1mm 0;font-size:8.5pt;line-height:1.25}.rp-condo-side{border-left:1px solid #b9cee4;padding-left:6mm}.rp-section{margin-top:2mm}.rp-section-title{display:flex;align-items:center;gap:3mm;color:var(--rp-accent);font-size:10pt;letter-spacing:.05em;margin:0 0 3mm}.rp-section-icon{font-size:15pt}.rp-table .vgrid{width:100%!important;border-collapse:separate!important;border-spacing:0!important;font-size:7.8pt!important}.rp-table .vgrid th{background:#143d75!important;color:#fff!important;padding:2.6mm 2.2mm!important;font-size:7.4pt!important;border-right:1px solid #6f8fb6!important}.brand-cleaning .rp-table .vgrid th{background:#089fdf!important}.rp-table .vgrid th:first-child{border-radius:2.4mm 0 0 0}.rp-table .vgrid th:last-child{border-radius:0 2.4mm 0 0;border-right:0!important}.rp-table .vgrid td{padding:2.15mm 2.2mm!important;border-bottom:1px solid #d9e4ef!important;background:#fff!important}.rp-table .vgrid tbody tr:nth-child(even) td{background:#f1f5f9!important}.rp-observations{margin-top:7mm;background:#eff5fb;border-radius:3mm;padding:5mm 7mm}.brand-cleaning .rp-observations{background:#fff5e9}.rp-observations p{margin:0;font-size:8.4pt;line-height:1.45;color:#536b87}.rp-footer{position:absolute;left:14mm;right:14mm;bottom:11mm;border-top:1px solid #89b6e6;padding-top:3.3mm;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;color:#1760b6;font-size:7.7pt}.rp-footer span:nth-child(2){text-align:center}.rp-footer span:nth-child(3){text-align:right}.rp-footer i{font-style:normal;font-size:10pt;margin-right:2mm}.report-print-sheet::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8mm;background:linear-gradient(165deg,transparent 0 30%,#eaf4fb 31% 64%,#ddecf8 65% 75%,transparent 76%)}.brand-cleaning.report-print-sheet::after{background:linear-gradient(165deg,transparent 0 26%,#fff0de 27% 46%,#e5f5fb 47% 72%,transparent 73%)}.report-mode-note{border-radius:8px!important;background:#f6f9fd!important}.report-menu .report-pick{border-left:3px solid transparent!important}.report-menu .report-pick.active{border-left-color:#1473e6!important;background:#eef6ff!important;color:#124c99!important}
@media print{body{background:#fff!important}.report-page>*:not(#reportPrintSheet){display:none!important}.report-print-sheet{display:block!important;width:100%!important;min-height:277mm!important;padding:13mm 14mm 24mm!important}.report-print-sheet .vgrid-wrap{overflow:visible!important;max-height:none!important}.report-print-sheet .vgrid{min-width:0!important}.report-print-sheet .vgrid td,.report-print-sheet .vgrid th{white-space:normal!important;overflow-wrap:anywhere!important}.sidebar,.commandbar{display:none!important}.main-stage{margin:0!important}}
@media(max-width:1450px){.ops-kpis{grid-template-columns:repeat(3,1fr)}.ops-grid-top{grid-template-columns:1.3fr 1fr}.ops-grid-top>.ops-card:last-child{grid-column:1/-1}.ops-grid-bottom{grid-template-columns:1fr 1fr}.ops-side-stack{grid-column:1/-1;grid-template-columns:1fr 1fr;grid-template-rows:auto}.quality-row{grid-template-columns:28px 1fr 160px 34px}}
@media(max-width:1050px){.sidebar{width:215px!important}.main-stage{margin-left:215px!important}.ops-kpis{grid-template-columns:repeat(2,1fr)}.ops-grid-top,.ops-grid-bottom{grid-template-columns:1fr}.ops-side-stack{grid-column:auto;grid-template-columns:1fr}.ops-topline,.ops-filterbar{flex-wrap:wrap}.ops-date{margin-left:0}.ops-filter-spacer{display:none}.activity-chart{height:185px}}

/* =========================================================
   v0.9.8.0 — DESIGN SYSTEM TOTAL
   Linguagem visual aplicada transversalmente. Mantém fontes
   pequenas/compactas e não altera fluxos funcionais.
   ========================================================= */
:root{
  --ds-blue:#1473e6;--ds-cyan:#0ea5c6;--ds-green:#16a66a;--ds-emerald:#0ca678;
  --ds-orange:#f59e0b;--ds-red:#ef4444;--ds-purple:#7c3aed;--ds-indigo:#4f46e5;
  --ds-ink:#15345f;--ds-muted:#71849e;--ds-border:#dce6f0;--ds-soft:#f7faff;
}
html,body{font-size:12px!important;background:#f5f8fc!important;color:#183452!important}
.screen{background:linear-gradient(180deg,#f7faff 0,#f2f6fb 100%)!important}
.workspace{max-width:none!important;padding:8px 10px 14px!important}
.page-titlebar{min-height:44px!important;margin:0 0 7px!important;padding:0 2px!important;align-items:center!important}
.page-titlebar h1{font-size:18px!important;line-height:1.05!important;letter-spacing:-.02em!important;color:#12325d!important}
.page-titlebar p{font-size:9px!important;margin-top:3px!important;color:#71849e!important}
.page-actions{gap:4px!important;flex-wrap:wrap!important}
.btn,.tinybtn,.stackbtn{font-size:9px!important;line-height:1.15!important;border-radius:7px!important;padding:6px 9px!important;min-height:29px!important;box-shadow:0 1px 2px #193b6710!important;transition:.13s ease!important}
.btn:hover,.tinybtn:hover,.stackbtn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #193b6717!important}
.btn.primary,.primary{background:linear-gradient(180deg,#2c7af0,#1464d6)!important;border-color:#1768da!important;box-shadow:0 5px 13px #1473e62c!important}
.input,select.input,input.input,textarea.input{font-size:9.5px!important;min-height:30px!important;padding:5px 8px!important;border-radius:7px!important;border-color:#cedbeb!important;background:#fff!important}
.toolbar,.subtoolbar,.edit-strip,.opbar,.report-controls{border-radius:9px!important;border-color:#d9e5f0!important;box-shadow:0 1px 3px #17365e0c!important;background:#fff!important;padding:6px 7px!important}
.op-chip{font-size:8px!important;border-radius:999px!important;padding:3px 7px!important;background:#eef4fb!important;color:#536d8e!important;border:1px solid #dce7f3!important}
.help,.muted{font-size:8.2px!important;color:#788ba3!important}
.panel{border-radius:10px!important;border-color:#dce6f0!important;box-shadow:0 4px 14px #163b6610!important;background:#fff!important}
.panel-head{height:32px!important;padding:0 8px!important;background:linear-gradient(180deg,#fff,#f8fbff)!important;font-size:9px!important;color:#183b6b!important}
.section-title{font-size:8.5px!important;letter-spacing:.04em!important;color:#54708f!important}
.grid-table,.vgrid{font-size:9px!important}
.grid-table th,.vgrid th{font-size:7.8px!important;padding:6px 7px!important;color:#5a7190!important;background:#f3f7fc!important}
.grid-table td,.vgrid td{padding:5px 7px!important;border-bottom-color:#e8eef5!important;line-height:1.22!important}
.grid-table tbody tr:nth-child(even) td,.vgrid tbody tr:nth-child(even) td{background:#fbfdff}
.grid-table tr:hover td,.vgrid tr:hover td{background:#eef6ff!important}
.status,.state-badge{font-size:7.5px!important;font-weight:800!important;border-radius:999px!important;padding:2px 6px!important}
.status.red{background:#fff0f0!important;color:#d83232!important}.status.blue{background:#eaf4ff!important;color:#1267c8!important}
.detail-field,.detail-box{border-radius:8px!important;background:#f8fbff!important;border-color:#dfebf6!important}
.detail-field span{font-size:7.2px!important;color:#7890aa!important;text-transform:uppercase!important;letter-spacing:.04em!important}.detail-field b{font-size:9px!important;color:#15385f!important}
.context-menu{border-radius:9px!important;box-shadow:0 14px 34px #10294b32!important;border:1px solid #d7e3ef!important;padding:4px!important;overflow:hidden!important}
.context-menu button{font-size:9px!important;border-radius:5px!important;padding:6px 8px!important}
.modal-card,.dialog-card,.popup-card{border-radius:12px!important;box-shadow:0 26px 70px #10274535!important;border:1px solid #dce6f0!important}

/* Sidebar mais próxima do mockup: navegação compacta e ícones coloridos */
.sidebar{width:220px!important;background:linear-gradient(180deg,#0a1d42 0%,#07162f 100%)!important}
.main-stage{margin-left:220px!important}.brand-zone{height:72px!important;padding:11px 13px!important}.brand-logo-wrap{width:100%;height:50px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important}
.sidebar-brand-image {
    max-width: 154px !important;
    max-height: 48px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;

    .quick-launch {
        padding: 6px 7px !important;
        gap: 4px !important
    }

        .quick-launch a {
            font-size: 8px !important;
            height: 28px !important;
            border-radius: 6px !important
        }

    .nav-heading {
        font-size: 7px !important;
        letter-spacing: .16em !important;
        padding: 5px 8px 3px !important
    }

    .nav-link {
        height: 30px !important;
        font-size: 9px !important;
        border-radius: 6px !important;
        margin: 1px 0 !important;
        padding: 0 7px !important
    }

    .nav-icon {
        width: 21px !important;
        height: 21px !important;
        border-radius: 6px !important;
        display: grid !important;
        place-items: center !important;
        font-size: 10px !important;
        color: #fff !important
    }

    .nav-arrow {
        font-size: 10px !important;
        opacity: .5
    }

    .nav-current {
        background: linear-gradient(90deg,#1c75ec,#1364d8) !important;
        box-shadow: 0 5px 14px #0c67df36 !important
    }

        .nav-current .nav-icon {
            background: #ffffff24 !important
        }

    .sidebar-foot {
        font-size: 8px !important;
        padding: 8px 10px !important
    }

        .sidebar-foot small {
            font-size: 7px !important
        }

    .commandbar {
        height: 38px !important;
        border-bottom: 1px solid #dce6f0 !important;
        box-shadow: 0 1px 3px #15345c09 !important
    }

    .crumb {
        font-size: 9px !important
    }

    .command-actions a, .command-actions button {
        width: 29px !important;
        height: 29px !important;
        border-radius: 7px !important;
        font-size: 9px !important
    }
    /* Cores de identidade por módulo: sem aumentar a fonte */
    .workspace[class*="module-"] .page-titlebar {
        position: relative
    }

        .workspace[class*="module-"] .page-titlebar:before {
            content: "";
            width: 3px;
            height: 25px;
            border-radius: 4px;
            background: var(--module-accent,#1473e6);
            box-shadow: 0 0 0 4px color-mix(in srgb,var(--module-accent,#1473e6) 10%,transparent)
        }

    .module-tasks {
        --module-accent: #f59e0b
    }

    .module-insurance {
        --module-accent: #ef4444
    }

    .module-accomp {
        --module-accent: #7c3aed
    }

    .module-diary {
        --module-accent: #4f46e5
    }

    .module-mobile {
        --module-accent: #0ea5c6
    }

    .module-visits {
        --module-accent: #16a66a
    }

    .module-cleaning {
        --module-accent: #0ea5c6
    }

    .module-billing {
        --module-accent: #0ca678
    }

    .module-receipts {
        --module-accent: #10b981
    }

    .module-profit {
        --module-accent: #1473e6
    }

    .module-condos {
        --module-accent: #2563eb
    }

    .module-mail {
        --module-accent: #0284c7
    }

    .module-suppliers {
        --module-accent: #d97706
    }

    .module-docs {
        --module-accent: #64748b
    }

    .module-ai {
        --module-accent: #8b5cf6
    }

    .module-inspections {
        --module-accent: #f97316
    }

    .module-budgets {
        --module-accent: #4f46e5
    }

    .module-checklist {
        --module-accent: #22c55e
    }

    .module-users {
        --module-accent: #8b5cf6
    }

    .module-collab {
        --module-accent: #f59e0b
    }

    .module-catalog {
        --module-accent: #6366f1
    }

    .module-online {
        --module-accent: #0ea5e9
    }

    .module-settings {
        --module-accent: #64748b
    }

    .module-diagnostic {
        --module-accent: #e11d48
    }

    .module-bank {
        --module-accent: #0891b2
    }

    .module-360 {
        --module-accent: #1d4ed8
    }

    .workspace[class*="module-"] .panel-head b, .workspace[class*="module-"] .section-title b {
        color: var(--module-accent) !important
    }

    .workspace[class*="module-"] .btn.primary {
        background: linear-gradient(180deg,color-mix(in srgb,var(--module-accent) 88%,white),var(--module-accent)) !important;
        border-color: var(--module-accent) !important
    }

    .workspace[class*="module-"] .select-row.selected td, .workspace[class*="module-"] .vgrid tr.selected td {
        background: color-mix(in srgb,var(--module-accent) 8%,white) !important
    }
    /* A Fazer: mais próximo do mockup */
    .module-tasks .task-split {
        grid-template-columns: minmax(650px,1.65fr) minmax(300px,.8fr) !important;
        gap: 8px !important
    }

    .module-tasks .task-detail {
        border-top: 3px solid #f59e0b !important
    }

    .module-tasks .task-detail-body h3 {
        font-size: 11px !important;
        color: #17365e !important
    }

    .module-tasks .task-whatsapp-actions {
        background: #effaf4 !important;
        border: 1px solid #cfeedd !important;
        border-radius: 7px !important;
        padding: 5px !important
    }

    .attachment-grid {
        gap: 6px !important
    }

    .attachment-card {
        padding: 5px !important;
        border-radius: 8px !important;
        min-height: 54px !important;
        background: #fff !important;
        box-shadow: 0 2px 8px #14385f0d !important
    }

    .attachment-thumb {
        width: 68px !important;
        height: 50px !important;
        object-fit: cover !important;
        border-radius: 6px !important;
        border: 1px solid #d8e4ef !important
    }

    .attachment-card span b {
        font-size: 8px !important
    }

    .attachment-card span small {
        font-size: 7px !important
    }
    /* Seguros: cartões e estados mais vivos */
    .module-insurance .insurance-kpis, .module-insurance .kpi-grid {
        gap: 6px !important
    }

    .module-insurance .kpi, .module-insurance [class*="insurance-summary"] {
        border-top: 3px solid var(--module-accent) !important
    }

    .module-insurance .status, .module-insurance .badge {
        font-weight: 800 !important
    }

    .module-insurance .grid-table tr:has(td:nth-child(5)) {
        transition: .12s
    }
    /* Acompanhamentos / Diário: acordeões como tabela CRM */
    .module-accomp .accomp-group, .module-diary .diary-group {
        border-radius: 8px !important;
        border: 1px solid #dce7f2 !important;
        margin-bottom: 4px !important;
        box-shadow: 0 2px 8px #153b6510 !important;
        background: #fff !important
    }

    .module-accomp .group-head, .module-diary .group-head {
        min-height: 31px !important;
        padding: 5px 8px !important;
        background: linear-gradient(90deg,#f7faff,#fff) !important
    }

        .module-accomp .group-head:hover, .module-diary .group-head:hover {
            background: #eef6ff !important
        }
    /* Faturação e rentabilidade: mais sinalização visual */
    .module-billing .detail-grid > div:nth-child(1), .module-profit .kpi:nth-child(1) {
        border-top: 3px solid #1473e6 !important
    }

    .module-billing .detail-grid > div:nth-child(2) {
        border-top: 3px solid #f59e0b !important
    }

    .module-billing .detail-grid > div:nth-child(3), .module-profit .kpi:nth-child(2) {
        border-top: 3px solid #10b981 !important
    }

    .module-billing input[type=checkbox], .module-receipts input[type=checkbox] {
        accent-color: #10b981 !important;
        width: 15px !important;
        height: 15px !important
    }
    /* Limpezas / Visitas */
    .module-cleaning .panel {
        border-top: 2px solid #0ea5c6
    }

    .module-visits .panel {
        border-top: 2px solid #16a66a
    }

    .module-cleaning .status {
        background: #e9fafc !important;
        color: #087d91 !important
    }

    .module-visits .status {
        background: #ebfaf2 !important;
        color: #118653 !important
    }
    /* Relatórios — folha quase igual ao mockup */
    .report-print-sheet {
        padding: 11mm 12mm 27mm !important;
        color: #17385f !important
    }

    .rp-head {
        grid-template-columns: 1fr 54mm !important;
        gap: 7mm !important;
        padding-bottom: 3.5mm !important
    }

    .rp-kicker {
        font-size: 7.2pt !important;
        letter-spacing: .24em !important;
        margin-bottom: 2.2mm !important
    }

    .rp-head h1 {
        font-size: 16.3pt !important;
        line-height: 1.08 !important
    }

    .rp-head h2 {
        font-size: 11.2pt !important;
        margin-top: 1mm !important
    }

    .rp-head p {
        font-size: 8.2pt !important
    }

    .rp-logo {
        width: 52mm !important;
        height: 21mm !important
    }

    .rp-accent {
        margin-bottom: 5.5mm !important;
        height: .8mm !important
    }

    .rp-condo-card {
        grid-template-columns: 12mm 1fr 49mm !important;
        padding: 4.5mm 5.5mm !important;
        margin-bottom: 5.5mm !important;
        border-radius: 3mm !important
    }

    .rp-condo-icon {
        font-size: 18pt !important
    }

    .rp-card-title {
        font-size: 7.2pt !important
    }

    .rp-condo-card p {
        font-size: 7.7pt !important;
        margin: .8mm 0 !important
    }

    .rp-section-title {
        font-size: 8.8pt !important;
        margin-bottom: 2.2mm !important
    }

    .rp-section-icon {
        font-size: 13pt !important
    }

    .rp-table .vgrid {
        font-size: 7pt !important
    }

        .rp-table .vgrid th {
            font-size: 6.7pt !important;
            padding: 2mm 1.7mm !important
        }

        .rp-table .vgrid td {
            padding: 1.65mm 1.7mm !important
        }

    .rp-observations {
        padding: 4mm 5.5mm !important;
        margin-top: 5mm !important
    }

        .rp-observations p {
            font-size: 7.5pt !important
        }

    .rp-footer {
        left: 12mm !important;
        right: 12mm !important;
        bottom: 13mm !important;
        padding-top: 3mm !important;
        font-size: 7.2pt !important;
        border-top: 1.2px solid #5fa2e5 !important
    }

        .rp-footer span {
            display: flex;
            align-items: center;
            gap: 1.2mm
        }

            .rp-footer span:nth-child(2) {
                justify-content: center
            }

            .rp-footer span:nth-child(3) {
                justify-content: flex-end
            }

        .rp-footer i {
            display: inline-grid;
            place-items: center;
            width: 5mm;
            height: 5mm;
            border-radius: 50%;
            background: #eaf4ff;
            color: #0f64bf;
            font-size: 8pt !important;
            margin: 0 !important
        }

    .brand-cleaning .rp-footer i {
        background: #eaf8fd;
        color: #049bd6
    }

    .rp-brandline {
        position: absolute;
        right: 12mm;
        bottom: 5.4mm;
        font-size: 5.8pt;
        letter-spacing: .25em;
        color: #365d8b;
        text-align: right;
        font-weight: 700
    }

    .brand-cleaning .rp-brandline {
        color: #e98013
    }

    .report-print-sheet::after {
        height: 10mm !important;
        background: linear-gradient(168deg,transparent 0 24%,#edf6fc 25% 45%,#dceefa 46% 63%,#f7fbfe 64% 79%,transparent 80%) !important
    }

    .brand-cleaning.report-print-sheet::after {
        background: linear-gradient(168deg,transparent 0 24%,#fff1df 25% 44%,#e8f6fc 45% 67%,#fff8ef 68% 80%,transparent 81%) !important
    }
    /* responsividade sem aumentar tipografia */
    @media(max-width:1250px) {
        .sidebar {
            width: 205px !important
        }

        .main-stage {
            margin-left: 205px !important
        }

        .nav-link {
            font-size: 8.5px !important
        }

        .workspace {
            padding: 7px !important
        }

        .module-tasks .task-split {
            grid-template-columns: 1.4fr .8fr !important
        }
    }

    @media(max-width:950px) {
        .sidebar {
            width: 190px !important
        }

        .main-stage {
            margin-left: 190px !important
        }

        .page-titlebar h1 {
            font-size: 16px !important
        }

        .btn {
            font-size: 8px !important;
            padding: 5px 7px !important
        }

        .grid-table, .vgrid {
            font-size: 8.3px !important
        }
    }
    /* v0.9.8.1 — relatórios profissionais: mockup fidelity + leitura interna */
    .rp-finance-summary {
        display: grid;
        grid-template-columns: repeat(5,minmax(0,1fr));
        gap: 2.5mm;
        margin: 0 0 6mm
    }

    .rp-finance-card {
        border: 1px solid #d9e5f2;
        border-radius: 3mm;
        background: #f7faff;
        padding: 3.2mm 3.5mm;
        min-height: 17mm;
        display: flex;
        flex-direction: column;
        justify-content: center
    }

        .rp-finance-card span {
            font-size: 6.8pt;
            letter-spacing: .05em;
            text-transform: uppercase;
            color: #6b7f99;
            font-weight: 700
        }

        .rp-finance-card strong {
            font-size: 11pt;
            color: #173b6e;
            margin-top: 1mm;
            white-space: nowrap
        }

        .rp-finance-card.profit {
            background: #eefbf4;
            border-color: #c9ead7
        }

            .rp-finance-card.profit strong {
                color: #16804a
            }

        .rp-finance-card.cost {
            background: #fff7f4;
            border-color: #f2d6ce
        }

            .rp-finance-card.cost strong {
                color: #a84b35
            }
    /* O rodapé passa a ser uma faixa corporativa real, como no mockup. */
    .rp-footer {
        left: 12mm !important;
        right: 12mm !important;
        bottom: 17mm !important;
        border-top: 1.3px solid var(--rp-accent) !important;
        padding: 4mm 1mm 0 !important;
        grid-template-columns: 1fr 1fr 1fr !important;
        font-size: 7.6pt !important;
        z-index: 4
    }

    .rp-contact {
        display: flex !important;
        align-items: center !important;
        gap: 2.2mm !important;
        min-width: 0;
        color: #145db0;
        font-weight: 600
    }

    .brand-cleaning .rp-contact {
        color: #078bc4
    }

    .rp-contact.left {
        justify-content: flex-start
    }

    .rp-contact.center {
        justify-content: center
    }

    .rp-contact.right {
        justify-content: flex-end
    }

    .rp-contact-icon {
        display: grid !important;
        place-items: center !important;
        width: 7.2mm !important;
        height: 7.2mm !important;
        min-width: 7.2mm !important;
        border-radius: 50% !important;
        background: #eaf3ff !important;
        color: #0e62bf !important;
        font-size: 9pt !important;
        font-weight: 900 !important
    }

    .brand-cleaning .rp-contact-icon {
        background: #e9f8fd !important;
        color: #0597d2 !important
    }

    .brand-cleaning .rp-contact.center .rp-contact-icon {
        background: #fff0df !important;
        color: #eb8616 !important
    }

    .rp-footer-art {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 13mm;
        overflow: hidden;
        z-index: 1;
        pointer-events: none
    }

        .rp-footer-art .wave {
            position: absolute;
            left: -4%;
            width: 108%;
            height: 17mm;
            border-radius: 50% 50% 0 0/100% 100% 0 0;
            transform: rotate(-1.2deg);
            opacity: .95
        }

        .rp-footer-art .one {
            bottom: -10mm;
            background: #eef6fc
        }

        .rp-footer-art .two {
            bottom: -12mm;
            left: 10%;
            background: #dceefa;
            opacity: .78;
            transform: rotate(1.3deg)
        }

        .rp-footer-art .three {
            bottom: -14mm;
            left: -12%;
            background: #f7fbfe;
            opacity: .9;
            transform: rotate(-2deg)
        }

    .brand-cleaning .rp-footer-art .one {
        background: #fff0df
    }

    .brand-cleaning .rp-footer-art .two {
        background: #dff3fb
    }

    .brand-cleaning .rp-footer-art .three {
        background: #fff8ef
    }

    .rp-brandline {
        right: 12mm !important;
        bottom: 4.7mm !important;
        z-index: 5 !important;
        font-size: 5.6pt !important;
        line-height: 1.35 !important;
        max-width: 55mm !important
    }

    .report-print-sheet::after {
        display: none !important
    }
    /* Relatório interno: mais largura útil e sem “quadraditos” de checkbox. */
    .internal-report {
        padding-left: 10mm !important;
        padding-right: 10mm !important
    }

        .internal-report .rp-head {
            grid-template-columns: 1fr 48mm !important
        }

        .internal-report .rp-logo {
            width: 47mm !important
        }

        .internal-report .rp-table .vgrid {
            font-size: 6.7pt !important;
            table-layout: auto !important
        }

            .internal-report .rp-table .vgrid th {
                font-size: 6.2pt !important;
                padding: 1.8mm 1.4mm !important;
                white-space: normal !important;
                word-break: normal !important
            }

            .internal-report .rp-table .vgrid td {
                padding: 1.55mm 1.4mm !important;
                white-space: normal !important;
                overflow-wrap: normal !important;
                word-break: normal !important
            }

        .internal-report .rp-table input[type=checkbox] {
            display: none !important
        }

    @media print {
        .rp-finance-summary {
            break-inside: avoid
        }

        .rp-footer-art {
            display: block !important
        }

        .internal-report .rp-finance-card strong {
            font-size: 10pt !important
        }
    }
    /* v0.9.8.3 — Dashboard vertical compression
   Mantém a linguagem visual e reduz apenas a altura ocupada pelo cabeçalho,
   filtros e KPIs para trazer a informação operacional para cima. */
    .ops-dashboard {
        padding-top: 8px
    }

    .ops-topline {
        align-items: center;
        margin-bottom: 5px;
        gap: 12px;
        min-height: 44px
    }

        .ops-topline .section-kicker {
            font-size: 7.5px;
            line-height: 1;
            letter-spacing: .16em;
            margin-bottom: 2px
        }

        .ops-topline h1 {
            font-size: 22px;
            line-height: 1;
            margin: 1px 0 1px;
            letter-spacing: -.02em
        }

        .ops-topline p {
            font-size: 9.5px;
            line-height: 1.15;
            margin: 0
        }

    .ops-date {
        padding-top: 0;
        font-size: 8.5px;
        gap: 6px;
        white-space: nowrap
    }

        .ops-date span {
            padding: 2px 6px;
            font-size: 8.5px
        }

    .ops-filterbar {
        margin-bottom: 6px;
        gap: 4px;
        min-height: 30px
    }

    .filter-caption {
        font-size: 8px;
        margin-right: 2px
    }

    .period-chip {
        padding: 4px 8px;
        font-size: 8px;
        border-radius: 6px
    }

    .ops-filterbar .btn {
        min-height: 29px;
        padding: 4px 9px;
        font-size: 8.5px;
        border-radius: 6px
    }

    .ops-kpis {
        gap: 6px;
        margin-bottom: 6px
    }

    .ops-kpi {
        grid-template-columns: 38px 1fr;
        gap: 7px;
        padding: 7px 9px;
        min-height: 70px;
        border-radius: 9px
    }

    .ops-kpi-icon {
        width: 34px;
        height: 34px;
        border-radius: 8px;
        font-size: 15px
    }

    .ops-kpi small {
        font-size: 8px
    }

    .ops-kpi strong {
        font-size: 20px;
        margin: 1px 0
    }

    .ops-kpi div > span {
        font-size: 7.5px
    }

    .ops-grid {
        gap: 7px
    }

    .ops-grid-top {
        margin-bottom: 7px
    }

    .ops-card-head {
        min-height: 36px;
        padding: 6px 9px
    }

        .ops-card-head b {
            font-size: 10.5px
        }

    .head-icon {
        width: 22px;
        height: 22px;
        border-radius: 6px;
        font-size: 10px
    }

    .activity-chart {
        height: 188px;
        padding-top: 10px
    }

    .insurance-donut-wrap {
        padding: 12px 12px
    }

    .quality-list {
        padding: 10px 12px;
        gap: 9px
    }

    .action-list, .followup-list {
        max-height: 315px
    }

    @media(max-width:1050px) {
        .ops-topline {
            align-items: flex-start;
            min-height: 0
        }

            .ops-topline h1 {
                font-size: 20px
            }

        .ops-date {
            margin-left: 0
        }
    }
