:root{--bg:#f4f7fb;--panel:#fff;--text:#172033;--muted:#6d7890;--line:#e4e9f1;--brand:#0b5cff;--dark:#101827;--ok:#12a36a;--warn:#f39b12;--bad:#e34d59;--shadow:0 12px 30px #1020400c}*{box-sizing:border-box}body{margin:0;font:14px Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app{display:flex;min-height:100vh}.sidebar{width:250px;background:var(--dark);color:#fff;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:20}.brand{font-weight:900;font-size:22px;padding:25px 22px 18px;letter-spacing:-.8px}.brand span,.logo span{color:#4f91ff}.brand small{display:block;color:#7e8ba3;font-size:9px;letter-spacing:1.7px;margin-top:4px}.userbox{margin:0 14px 15px;padding:11px;border:1px solid #ffffff12;border-radius:12px;display:flex;gap:10px;align-items:center}.userbox>div:first-child{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#1e3153}.userbox small{display:block;color:#9aa7bc;font-size:11px;margin-top:2px}.sidebar nav{padding:5px 10px;overflow:auto}.sidebar nav button,.side-bottom button,.side-bottom a{width:100%;border:0;background:none;color:#b7c1d2;text-align:left;padding:11px 13px;border-radius:9px;text-decoration:none;display:block;margin:2px 0}.sidebar nav button:hover,.sidebar nav button.active,.side-bottom a:hover,.side-bottom button:hover{background:#ffffff10;color:#fff}.side-bottom{margin-top:auto;padding:12px 10px;border-top:1px solid #ffffff0d}.main{margin-left:250px;min-width:0;flex:1}header{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 25px;position:sticky;top:0;z-index:10}header strong{display:block;font-size:16px}header small{color:var(--muted)}.header-actions{display:flex;gap:15px;align-items:center}.header-actions span{font-size:12px;color:var(--ok)}.icon{border:0;background:transparent;font-size:20px}.view{display:none;padding:26px;max-width:1500px;margin:auto}.view.active{display:block}.page-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.page-head h1{margin:3px 0;font-size:28px}.page-head small{color:var(--brand);font-weight:800;letter-spacing:1px}.page-head p{color:var(--muted);margin:4px 0}.primary,.secondary,.toolbar button{border:0;border-radius:9px;padding:11px 15px;font-weight:700}.primary{background:var(--brand);color:#fff}.secondary{background:#eaf0fb;color:#17468f}.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:18px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:17px;box-shadow:var(--shadow)}.kpi span{color:var(--muted);font-size:12px}.kpi b{display:block;font-size:25px;margin-top:7px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head h3{margin:0}.panel-head button{border:0;background:none;color:var(--brand);font-weight:700}.toolbar{display:flex;gap:10px;margin-bottom:14px}.toolbar input,.toolbar select,.modal input,.modal select,.modal textarea{border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px 12px;outline:none}.toolbar input{flex:1}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:auto;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:800px}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}th{background:#f8fafc;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}tr:hover td{background:#fbfdff}.badge{display:inline-block;padding:5px 8px;border-radius:99px;background:#edf2f9;font-size:11px;font-weight:800}.badge.ok{background:#e6f8ef;color:#087c50}.badge.warn{background:#fff3dc;color:#9a6200}.badge.bad{background:#fde9eb;color:#b62838}.action{border:0;background:#edf3ff;color:#1453b7;padding:7px 9px;border-radius:7px;font-weight:700}.empty{padding:30px;text-align:center;color:var(--muted)}.map-shell{display:grid;grid-template-columns:1fr 320px;min-height:600px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.map-shell #mainMap{min-height:600px}.map-side{padding:15px;overflow:auto}.legend{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.legend label{display:block;margin-top:8px;color:var(--muted)}.map-item{padding:10px;border-bottom:1px solid var(--line);cursor:pointer}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.settings-grid>button{padding:20px;background:#fff;border:1px solid var(--line);border-radius:13px;text-align:left;font-weight:800;box-shadow:var(--shadow)}.setting-info{grid-column:1/-1}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0b1425,#12294d)}.login-card{width:min(390px,92vw);background:#fff;border-radius:18px;padding:32px;box-shadow:0 25px 70px #0006}.logo{font-size:28px;font-weight:900}.login-card p{color:var(--muted);margin-top:5px;margin-bottom:25px}.login-card form{display:grid;gap:11px}.login-card input{padding:13px;border:1px solid var(--line);border-radius:9px}.login-card button{padding:13px;border:0;border-radius:9px;background:var(--brand);color:#fff;font-weight:800}.msg{min-height:20px;color:var(--bad)}.modal{position:fixed;inset:0;background:#09111f88;display:grid;place-items:center;z-index:100;padding:20px}.modal-card{width:min(650px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:15px}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-head button{border:0;background:none;font-size:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px}.form-grid .full{grid-column:1/-1}.form-grid label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:700}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.notice{padding:12px;background:#f4f8ff;border-radius:9px;color:#35517e}.login-card .msg:empty{display:none}@media(max-width:1050px){.kpis{grid-template-columns:repeat(3,1fr)}.grid-2,.map-shell{grid-template-columns:1fr}.map-side{min-height:250px}.settings-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0}.view{padding:18px}.kpis{grid-template-columns:repeat(2,1fr)}.page-head{align-items:flex-start;flex-direction:column}.toolbar{flex-direction:column}.settings-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
.map-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.map-actions select{min-height:40px;padding:0 10px;border:1px solid #d9dee8;border-radius:10px;background:#fff}.map-summary{padding:10px 0}.map-counts{display:flex;gap:8px;flex-wrap:wrap}.map-counts span{background:#f5f7fb;border:1px solid #e5e9f0;border-radius:10px;padding:7px 10px;font-size:12px}.map-counts b{margin-left:4px}.map-row{display:flex;width:100%;text-align:left;flex-direction:column;gap:3px;padding:10px;border:0;border-bottom:1px solid #edf0f5;background:#fff;cursor:pointer}.map-row:hover{background:#f7f9fc}.map-row small{color:#6b7280}.chat-destino{display:block;width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:9px;cursor:pointer}.chat-destino.ativo{background:#e9f0ff;color:#1456c5}
/* Editor profissional de orçamentos — mantém o padrão do modelo RH MULTI */
.quote-editor-wrap{height:calc(100vh - 78px);overflow:auto;background:#f4f6f9;padding:20px}.quote-document{max-width:1180px;margin:0 auto;background:#fff;padding:34px 42px;box-shadow:0 4px 20px rgba(0,0,0,.08);border-radius:8px;color:#333}.quote-doc-header{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #17365d;padding-bottom:15px;margin-bottom:22px}.quote-doc-logo{font-size:27px;font-weight:800;color:#17365d;letter-spacing:1px}.quote-doc-logo span{color:#333}.quote-doc-header small{font-size:11px;color:#555}.quote-doc-company{text-align:right;font-size:12px;color:#555;line-height:1.55}.quote-doc-bar{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:10px;background:#f9fafb;padding:12px;border-left:4px solid #17365d;margin-bottom:18px}.quote-document label{display:grid;gap:5px;font-size:11px;font-weight:700;color:#555}.quote-document input,.quote-document select,.quote-document textarea{width:100%;border:1px solid #dfe4ea;background:#fff;border-radius:5px;padding:9px 10px;color:#333;outline:none}.quote-document textarea{resize:vertical;line-height:1.5}.quote-document input:focus,.quote-document select:focus,.quote-document textarea:focus{border-color:#17365d;box-shadow:0 0 0 2px #17365d18}.quote-doc-section{margin-top:22px}.quote-doc-section h2{font-size:18px;color:#17365d;margin:0 0 10px;border-bottom:1px solid #eee;padding-bottom:5px}.quote-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quote-fields .wide{grid-column:1/-1}.quote-doc-alert{background:#fff8e1;border:1px solid #ffc107;border-left:5px solid #ff9800;padding:12px 15px;border-radius:6px;margin:18px 0;color:#663c00}.quote-check{display:flex!important;align-items:center;display:block!important;font-size:13px!important;color:#e65100!important}.quote-check input{width:auto!important}.quote-items-editor{overflow:auto;margin-bottom:10px}.quote-items-editor table{min-width:850px;width:100%;border-collapse:collapse;font-size:12px}.quote-items-editor th{background:#e67e22;color:#fff;padding:9px;text-align:left}.quote-items-editor td{padding:7px;border-bottom:1px solid #eee}.quote-items-editor input,.quote-items-editor select{padding:7px;border-radius:4px}.quote-items-editor td:nth-child(1){width:55px}.quote-items-editor td:nth-child(2){width:125px}.quote-items-editor td:nth-child(4),.quote-items-editor td:nth-child(5){width:100px}.quote-ai-input{margin-top:10px}.quote-fin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quote-fin-grid>div{border:1px solid #e5e7eb;border-radius:6px;padding:11px;background:#fafafa}.quote-fin-grid b{display:block;margin-top:5px;font-size:15px}.quote-fin-grid .grand{grid-column:1/-1;background:#e67e22;color:#fff;border-color:#e67e22;font-size:14px}.quote-fin-grid .grand b{font-size:20px}.quote-signatures{display:flex;justify-content:space-between;gap:30px;margin-top:40px;padding-top:20px;border-top:1px solid #ddd;text-align:center;font-size:13px}.quote-signatures>div{width:45%}.sign-line{border-top:1px solid #333;margin-top:45px;padding-top:5px}.quote-editor-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid #ddd;margin:28px -42px -34px;padding:14px 42px;display:flex;justify-content:flex-end;gap:8px;z-index:5}.modal:has(.quote-editor-wrap){place-items:stretch;padding:0;background:#09111fcc}.modal:has(.quote-editor-wrap) .modal-card{width:100%;height:100vh;max-width:none;max-height:none;border-radius:0;overflow:hidden}.modal:has(.quote-editor-wrap) .modal-head{position:absolute;right:0;top:0;z-index:20;background:transparent;border:0}.modal:has(.quote-editor-wrap) .modal-head h3{display:none}.modal:has(.quote-editor-wrap) .modal-head button{color:#333;background:#fff;border-radius:50%;width:38px;height:38px;box-shadow:0 2px 10px #0002}.modal:has(.quote-editor-wrap) #modalBody{height:100%}
@media(max-width:850px){.quote-doc-header,.quote-doc-bar{grid-template-columns:1fr;display:grid}.quote-doc-company{text-align:left}.quote-fields,.quote-fin-grid{grid-template-columns:1fr}.quote-fields .wide{grid-column:auto}.quote-document{padding:22px}.quote-editor-actions{margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px;flex-wrap:wrap}.quote-editor-wrap{padding:10px}}

.quote-items-editor td{position:relative}.quote-suggestions{position:absolute;left:0;right:0;top:100%;z-index:30;background:#fff;border:1px solid #dfe4ea;border-radius:6px;box-shadow:0 8px 24px #0002;max-height:260px;overflow:auto}.quote-suggestion{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #eee;background:#fff;padding:8px 10px;cursor:pointer}.quote-suggestion:hover{background:#f6f8fa}.quote-suggestion b,.quote-suggestion small{display:block}.quote-suggestion small{font-size:10px;color:#777;margin-top:2px}

/* Ajustes de usabilidade do orçamento — sugestões sempre visíveis e ações sem cobrir conteúdo */
.quote-suggestions{position:fixed!important;z-index:99999!important;left:auto;top:auto;width:min(560px,calc(100vw - 16px));max-height:260px;overflow:auto;background:#fff;border:1px solid #cfd6df;border-radius:7px;box-shadow:0 12px 30px rgba(0,0,0,.18);padding:2px}
.quote-suggestion{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #eee;background:#fff;padding:9px 11px;cursor:pointer;color:#333}
.quote-suggestion:last-child{border-bottom:0}.quote-suggestion:hover,.quote-suggestion:focus{background:#f6f8fa;outline:none}.quote-suggestion b,.quote-suggestion small{display:block}.quote-suggestion small{font-size:10px;color:#777;margin-top:2px}
.quote-editor-actions{position:static!important;margin:28px 0 0!important;padding:14px 0 4px!important;border-top:1px solid #ddd!important;background:#fff!important;z-index:auto!important}
.quote-editor-wrap{padding-bottom:24px!important}

/* Gestão avançada de visitas — sem alterar o modelo geral */
.visit-toolbar{align-items:center;flex-wrap:wrap}.visit-toolbar input:first-child{min-width:280px}.visit-toolbar select,.visit-toolbar input[type=date]{flex:0 0 auto}.visit-actions{display:flex;gap:5px;flex-wrap:wrap;min-width:430px}.visit-actions .action{font-size:11px;padding:6px 8px}.visit-detail-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px}.visit-detail-head h3{margin:0 0 4px}.visit-detail-head small{color:var(--muted)}.visit-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.visit-detail-grid>div{padding:10px;background:#f8fafc;border:1px solid var(--line);border-radius:9px}.visit-detail-grid b,.visit-detail-grid span{display:block}.visit-detail-grid span{margin-top:4px;color:var(--muted)}.visit-detail-block{margin-top:14px}.visit-detail-block p{white-space:pre-wrap;color:var(--muted);margin:6px 0}.visit-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:760px){.visit-detail-grid{grid-template-columns:1fr}.visit-actions{min-width:0}.visit-toolbar input:first-child{min-width:0}}

/* Contrato profissional — editor ampliado */
.modal:has(.contract-editor-wrap){place-items:stretch;padding:0;background:#09111fcc}.modal:has(.contract-editor-wrap) .modal-card{width:100%;height:100vh;max-width:none;max-height:none;border-radius:0;overflow:hidden}.modal:has(.contract-editor-wrap) .modal-head{position:absolute;right:0;top:0;z-index:20;background:transparent;border:0}.modal:has(.contract-editor-wrap) .modal-head h3{display:none}.modal:has(.contract-editor-wrap) .modal-head button{color:#333;background:#fff;border-radius:50%;width:40px;height:40px;box-shadow:0 2px 12px #0002}.modal:has(.contract-editor-wrap) #modalBody{height:100%;overflow:hidden}.contract-editor-wrap{height:100%;overflow:auto;background:#f3f5f8;padding:28px}.contract-editor{max-width:1500px;margin:0 auto}.contract-editor-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:16px;box-shadow:var(--shadow)}.contract-editor-head h2{margin:4px 0}.contract-editor-head small{color:var(--brand);font-weight:800;letter-spacing:1px}.contract-editor-head p{color:var(--muted);margin:5px 0}.contract-head-actions{display:flex;gap:8px;flex-wrap:wrap}.contract-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}.contract-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:var(--shadow)}.contract-card h3{margin:0 0 14px}.contract-text-label{display:grid;gap:7px;color:var(--muted);font-weight:800;font-size:12px}.contract-text-label textarea{font-family:Georgia,serif;font-size:14px;line-height:1.65;min-height:720px;resize:vertical}.contract-live-summary{display:grid;gap:12px}.contract-live-summary div{border-bottom:1px solid var(--line);padding-bottom:9px}.contract-live-summary span{display:block;color:var(--muted);font-size:11px}.contract-live-summary b{display:block;margin-top:3px}.contract-checklist{margin:0;padding-left:20px;line-height:1.9;color:#445}.contract-checklist li::marker{color:#16845b}.contract-editor-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;background:#fff;border-top:1px solid var(--line);padding:14px 0;margin-top:0;z-index:10}.contract-editor .form-grid{padding:0}.contract-editor .panel{box-shadow:none}@media(max-width:900px){.contract-editor-grid{grid-template-columns:1fr}.contract-editor-head{flex-direction:column}.contract-side{display:none}}

/* V44.0 — identidade visual oficial MULTISYSTEM */
.brand-logo{padding-top:12px!important}.brand-logo img{width:205px;height:82px;object-fit:contain;object-position:left center;display:block}.brand-logo small{margin-top:-2px}
.ms-logo-login{display:block;width:260px;height:110px;object-fit:contain;margin:0 auto 8px}.header-brand{display:flex;align-items:center;gap:12px}.header-brand img{width:112px;height:44px;object-fit:contain}
.quote-doc-logo img{width:210px;height:72px;object-fit:contain;object-position:left center}
.map-tools-extra{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.map-live{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#ecfdf5;color:#166534;font-size:10px;font-weight:900}.map-live i{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px #16a34a22}.map-row small{display:block;color:var(--muted);margin-top:3px}

.contract-brand{display:flex;align-items:center;gap:12px;padding:8px 0 14px;border-bottom:1px solid var(--line);margin-bottom:12px}.contract-brand img{width:190px;height:68px;object-fit:contain;object-position:left center}.contract-brand span{font-size:11px;font-weight:900;color:var(--muted);letter-spacing:.7px}

.map-actions{align-items:center}.map-search{min-width:280px;flex:1;min-height:40px;padding:0 12px;border:1px solid #d9dee8;border-radius:10px;background:#fff;outline:none}.map-search:focus{border-color:#8fb2ff;box-shadow:0 0 0 3px #1457d91a}.map-toggle{display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border:1px solid #dfe5ee;border-radius:10px;background:#fff;font-size:12px;font-weight:700;color:#475569}.map-toggle input{accent-color:#1457d9}.map-main-wrap{position:relative;min-width:0}.map-loading{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:500;background:#101827e8;color:#fff;border-radius:999px;padding:8px 13px;font-size:11px;font-weight:800;box-shadow:0 8px 20px #0003}.map-marker-tech{border-radius:50%;border:3px solid #fff;box-shadow:0 3px 12px #0005;animation:mapPulse 2s infinite}.map-marker-tech.is-busy{animation:none;box-shadow:0 0 0 5px #dc262633,0 3px 12px #0005}.map-marker-tech.is-off{filter:grayscale(1);opacity:.55;animation:none}@keyframes mapPulse{0%,100%{box-shadow:0 0 0 0 #1769ff55,0 3px 12px #0005}50%{box-shadow:0 0 0 7px #1769ff11,0 3px 12px #0005}}.map-side{background:#fff}.map-item-active{background:#eef4ff!important;border-left:3px solid #1457d9}.map-empty-tip{padding:14px;color:#64748b;font-size:12px;background:#f8fafc;border-radius:10px;margin-top:8px}.map-search-hit{font-weight:900;color:#1457d9}.map-route-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:11px;color:#64748b}.map-route-legend span{display:inline-flex;align-items:center;gap:4px}.map-route-legend i{display:inline-block;width:18px;height:3px;border-radius:3px;background:#1769ff}.map-route-legend i.red{background:#dc2626}.map-route-legend i.green{background:#16a34a}@media(max-width:1050px){.map-search{min-width:0;width:100%}.map-actions{width:100%}}@media(max-width:760px){.map-actions>*{width:100%}.map-toggle{justify-content:center}}
.map-shell:fullscreen{width:100vw;height:100vh;border-radius:0;display:grid;grid-template-columns:1fr 360px;background:#fff}.map-shell:fullscreen .map-main-wrap,.map-shell:fullscreen #mainMap{height:100vh;min-height:100vh}.map-shell:fullscreen .map-side{height:100vh;overflow:auto}.map-shell:fullscreen .map-loading{top:18px}
.contract-detail-head,.client-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid #e5e7eb}.contract-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.contract-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.contract-tabs .action.active{background:#e67e22;color:#fff}.contract-document-preview,.doc-client{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:24px;line-height:1.65;max-height:62vh;overflow:auto;white-space:normal}.client-management .client-hero h2{margin:.15rem 0}.client-management .client-hero small{letter-spacing:.08em;color:#667085}.notice{padding:14px;border:1px solid #d0d5dd;background:#f8fafc;border-radius:10px}.modal-card{max-width:1100px}.full{grid-column:1/-1}

/* V44.7 — Ficha 360 do cliente dentro do Admin */
.modal:has(.client-workspace){place-items:stretch;padding:0;background:#08111eea}
.modal:has(.client-workspace) .modal-card{width:100%;height:100vh;max-width:none;max-height:none;border-radius:0;overflow:hidden}
.modal:has(.client-workspace) .modal-head{position:absolute;right:10px;top:8px;z-index:50;background:transparent;border:0}
.modal:has(.client-workspace) .modal-head h3{display:none}
.modal:has(.client-workspace) .modal-head button{color:#172033;background:#fff;border-radius:50%;width:42px;height:42px;box-shadow:0 4px 18px #0002}
.modal:has(.client-workspace) #modalBody{height:100%;overflow:hidden}
.client-workspace{height:100%;overflow:auto;background:#f3f6fa;padding:22px 26px 30px}
.client-workspace-top{position:sticky;top:0;z-index:20;background:#f3f6fa;padding-bottom:12px}
.client-workspace-hero{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.client-workspace-hero h1{margin:4px 0;font-size:28px}.client-workspace-hero p{margin:4px 0;color:var(--muted)}
.client-workspace-hero small{color:var(--brand);font-weight:900;letter-spacing:1px}.client-workspace-actions{display:flex;gap:8px;flex-wrap:wrap;max-width:520px;justify-content:flex-end}
.client-mini-line{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.client-mini-pill{padding:7px 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:800}
.client-workspace-kpis{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin:12px 0}.client-workspace-kpis .kpi{min-width:0}
.client-workspace-tabs{display:flex;gap:7px;overflow:auto;padding:2px 0 12px}.client-workspace-tabs button{white-space:nowrap;border:1px solid var(--line);background:#fff;color:#526176;padding:10px 13px;border-radius:10px;font-weight:800}.client-workspace-tabs button.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.client-workspace-body{min-height:300px}.client-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.client-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.client-info-grid .info-box{padding:13px;border:1px solid var(--line);border-radius:11px;background:#fbfcfe}.client-info-grid .info-box small{display:block;color:var(--muted);font-size:11px}.client-info-grid .info-box b{display:block;margin-top:4px;white-space:pre-wrap}
.client-section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px}.client-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:var(--shadow);margin-bottom:14px}.client-card h3{margin:0 0 11px}.client-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #edf1f5}.client-row:last-child{border-bottom:0}.client-row small{color:var(--muted)}.client-row .right{text-align:right}.client-code{font-size:11px;color:var(--muted)}
.client-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2f7;font-size:11px;font-weight:900}.client-status.ok{background:#e7f8ef;color:#087c50}.client-status.warn{background:#fff4db;color:#9a6500}.client-status.bad{background:#fde9eb;color:#b52a3b}
.client-contract-box{border:1px solid var(--line);border-radius:12px;padding:15px;margin-bottom:11px;background:#fff}.client-contract-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.client-contract-title{font-weight:900;font-size:16px}.client-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.client-meta-grid>div{padding:10px;border-radius:9px;background:#f7f9fc}.client-meta-grid span{display:block;font-size:10px;color:var(--muted)}.client-meta-grid b{display:block;margin-top:3px;font-size:13px}.client-list{margin:0;padding-left:18px;color:#445}.client-list li{margin:4px 0}.client-photo-grid{display:flex;gap:8px;flex-wrap:wrap}.client-photo-grid img{width:120px;height:88px;border-radius:9px;object-fit:cover;border:1px solid var(--line)}.client-doc{white-space:pre-wrap;background:#fbfbfa;border:1px solid #e9e4dc;border-radius:10px;padding:17px;font-family:Georgia,serif;line-height:1.65;max-height:65vh;overflow:auto}
.client-fin-table{width:100%;min-width:720px}.client-fin-wrap{overflow:auto}.client-workspace .table-wrap{box-shadow:none}.client-internal{border-left:4px solid #7c3aed}.client-portal-box{background:linear-gradient(135deg,#eff6ff,#f8fbff);border-color:#cfe0ff}
@media(max-width:1150px){.client-workspace-kpis{grid-template-columns:repeat(4,1fr)}.client-meta-grid{grid-template-columns:repeat(2,1fr)}.client-grid-3{grid-template-columns:1fr 1fr}.client-workspace-hero{flex-direction:column}.client-workspace-actions{justify-content:flex-start;max-width:none}}
@media(max-width:760px){.client-workspace{padding:12px}.client-workspace-kpis{grid-template-columns:repeat(2,1fr)}.client-grid-3,.client-info-grid{grid-template-columns:1fr}.client-meta-grid{grid-template-columns:1fr}.client-workspace-hero h1{font-size:23px}.client-workspace-actions button{flex:1 1 150px}}

/* V44.8 — Gestão do Portal do Cliente em tela cheia */
.modal:has(.portal-manager){place-items:stretch;padding:0;background:linear-gradient(135deg,#07111fdd,#0b1f35ee)}
.modal:has(.portal-manager) .modal-card{width:100%;height:100vh;max-width:none;max-height:none;border-radius:0;overflow:hidden;background:#f4f7fb}
.modal:has(.portal-manager) .modal-head{position:absolute;right:16px;top:13px;z-index:60;background:transparent;border:0;padding:0}
.modal:has(.portal-manager) .modal-head h3{display:none}
.modal:has(.portal-manager) .modal-head button{width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#0b1f35;font-size:24px;font-weight:900;box-shadow:0 8px 24px #0003;cursor:pointer}
.modal:has(.portal-manager) #modalBody{height:100%;overflow:auto}
.portal-manager{min-height:100%;padding:28px 34px 34px;background:radial-gradient(circle at top right,#eaf2ff 0,#f4f7fb 38%,#eef2f7 100%);color:#102038}
.portal-manager-head{max-width:1500px;margin:0 auto 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-right:54px}
.portal-brandline{display:flex;gap:14px;align-items:center}.portal-brand-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#0b5cad,#163d76);color:#fff;font-weight:1000;letter-spacing:-1px;box-shadow:0 9px 24px #0b5cad33}.portal-brandline small{display:block;color:#6a7890;font-size:10px;font-weight:900;letter-spacing:1.2px}.portal-brandline h1{margin:3px 0 2px;font-size:28px;letter-spacing:-.5px}.portal-brandline p{margin:0;color:#65738a;font-size:12px}
.portal-head-status{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.6px;background:#fff;box-shadow:0 7px 20px #10203814;border:1px solid #dbe4ee}.portal-head-status span{width:9px;height:9px;border-radius:50%;background:#14804a;box-shadow:0 0 0 5px #14804a15}.portal-head-status.warn span{background:#c98a00;box-shadow:0 0 0 5px #c98a0015}
.portal-manager-actions{max-width:1500px;margin:0 auto 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.portal-action{border:0;border-radius:15px;min-height:82px;padding:13px 15px;text-align:left;color:#fff;cursor:pointer;box-shadow:0 10px 24px #10203818;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}.portal-action:hover{transform:translateY(-2px);box-shadow:0 14px 28px #10203825;filter:brightness(1.03)}.portal-action:disabled{opacity:.4;cursor:not-allowed;transform:none}.portal-action.primary{background:linear-gradient(145deg,#0b5cad,#174681)}.portal-action.blue{background:linear-gradient(145deg,#2563eb,#3158b9)}.portal-action.green{background:linear-gradient(145deg,#0f9b63,#0b7650)}.portal-action.violet{background:linear-gradient(145deg,#7048e8,#5035b6)}.portal-action-icon{grid-row:1/3;width:42px;height:42px;border-radius:13px;background:#ffffff22;display:grid;place-items:center;font-size:21px;font-weight:900}.portal-action b{font-size:13px}.portal-action small{font-size:10px;opacity:.82;margin-top:2px}
.portal-manager-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.portal-manager-card{background:#fff;border:1px solid #dce4ed;border-radius:17px;padding:18px;box-shadow:0 10px 28px #1020380e;min-width:0}.portal-account-card{grid-row:span 2}.portal-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.portal-card-title small{display:block;color:#6b7a90;font-size:10px;font-weight:900;letter-spacing:1px}.portal-card-title h2{margin:4px 0 0;font-size:17px}.portal-live-badge{white-space:nowrap;padding:6px 9px;border-radius:999px;background:#effaf5;color:#0d7a4e;font-size:9px;font-weight:900}
.portal-form{display:grid;gap:12px}.portal-form label>span{display:block;font-size:11px;font-weight:800;color:#526176;margin-bottom:6px}.portal-form input{width:100%;height:46px;box-sizing:border-box;border:1px solid #ccd7e3;border-radius:11px;padding:0 12px;background:#fbfdff;color:#122033;font-size:14px;outline:none}.portal-form input:focus{border-color:#5d93dd;box-shadow:0 0 0 3px #5d93dd16}.portal-password-wrap{position:relative}.portal-password-wrap input{padding-right:48px}.portal-password-wrap button{position:absolute;right:8px;top:6px;width:34px;height:34px;border:0;border-radius:8px;background:#eef3f8;color:#526176;cursor:pointer}.portal-form-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#748197;font-size:10px}.portal-mini-btn{border:0;border-radius:9px;padding:9px 12px;background:#eef3f8;color:#23344d;font-weight:800;cursor:pointer}.portal-mini-btn:hover{filter:brightness(.98)}.portal-save-btn{height:46px;border:0;border-radius:11px;background:linear-gradient(145deg,#0b5cad,#174681);color:#fff;font-weight:900;font-size:13px;cursor:pointer;box-shadow:0 8px 20px #0b5cad28}.portal-save-btn:disabled{opacity:.65;cursor:wait}
.portal-contact-list{display:grid;gap:9px}.portal-contact-list>div{display:grid;grid-template-columns:94px 1fr;gap:9px;padding:10px 0;border-bottom:1px solid #edf1f5}.portal-contact-list>div:last-child{border-bottom:0}.portal-contact-list span{font-size:10px;color:#78869b;font-weight:800}.portal-contact-list b{font-size:12px;overflow-wrap:anywhere}
.portal-visibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portal-visibility-grid>div{padding:11px;border:1px solid #e5ebf2;border-radius:12px;background:#f9fbfd;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:8px}.portal-visibility-grid i{grid-row:1/3;width:28px;height:28px;border-radius:8px;background:#e9f2ff;color:#0b5cad;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:900}.portal-visibility-grid b{font-size:11px}.portal-visibility-grid small{font-size:9px;color:#7a8799;line-height:1.3;margin-top:2px}
.portal-result-card{grid-column:2}.portal-url-row{display:flex;gap:8px}.portal-url-row input{flex:1;min-width:0;height:42px;border:1px solid #cfd9e5;border-radius:10px;padding:0 10px;background:#f8fafc;color:#4a5870}.portal-copy-link{border:0;border-radius:10px;background:#eaf2ff;color:#0b5cad;font-weight:900;padding:0 14px;cursor:pointer}.portal-access-result{margin-top:10px}.portal-empty-state{padding:13px;border-radius:11px;border:1px dashed #cbd6e2;color:#7a8799;background:#fafcff;font-size:11px}.portal-success{display:grid;gap:6px;padding:13px;border-radius:12px;background:#effaf4;border:1px solid #c9ead7;color:#175e3e;font-size:11px}.portal-success strong{font-size:12px}.portal-success-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}.primary-mini{background:#0b5cad;color:#fff}.wa-mini{background:#0f9b63;color:#fff}.open-mini{background:#eaf2ff;color:#0b5cad}.portal-manager-footer{max-width:1500px;margin:14px auto 0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 2px 0;border-top:1px solid #d7e0e9}.portal-manager-footer b{font-size:11px;display:block}.portal-manager-footer span{display:block;color:#7a8799;font-size:10px;margin-top:3px}.portal-close-btn{border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#34455d;font-weight:800;padding:10px 14px;cursor:pointer}
@media(max-width:1100px){.portal-manager-actions{grid-template-columns:repeat(2,1fr)}.portal-manager-grid{grid-template-columns:1fr}.portal-account-card{grid-row:auto}.portal-result-card{grid-column:auto}}
@media(max-width:700px){.portal-manager{padding:18px 14px 24px}.portal-manager-head{padding-right:50px;align-items:flex-start;flex-direction:column}.portal-manager-actions{grid-template-columns:1fr}.portal-manager-actions .portal-action{min-height:72px}.portal-visibility-grid{grid-template-columns:1fr}.portal-url-row{flex-direction:column}.portal-copy-link{height:42px}.portal-manager-footer{align-items:flex-start;flex-direction:column}}


/* Gestão do Cliente — orçamento integrado */
.client-quick-summary{margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f7fafc;display:grid;grid-template-columns:auto auto;gap:2px 8px;align-items:center}
.client-quick-summary span{font-size:10px;color:var(--muted);font-weight:800}.client-quick-summary b{font-size:18px}.client-quick-summary small{grid-column:1/-1;color:var(--muted);font-size:9px}.client-quick-summary button{grid-column:1/-1;justify-self:start;margin-top:4px}
.client-quote-row{align-items:center}.client-quote-row .right{min-width:150px;text-align:right}.client-quote-row .action{margin-top:5px}
.client-workspace-kpis{grid-template-columns:repeat(9,1fr)}
@media(max-width:1150px){.client-workspace-kpis{grid-template-columns:repeat(5,1fr)}}
@media(max-width:760px){.client-workspace-kpis{grid-template-columns:repeat(2,1fr)}.client-quote-row{align-items:flex-start}.client-quote-row .right{min-width:110px}}
/* Financeiro profissional — painel operacional */
.finance-bank-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;margin-bottom:16px}.finance-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:16px}.finance-accounts{display:grid;gap:8px}.finance-account{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.finance-account small{display:block;color:var(--muted);margin-top:3px}.finance-account strong{font-size:17px}.finance-projection{max-height:190px;overflow:auto}.finance-proj-row,.finance-cat{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 2px;border-bottom:1px solid var(--line);font-size:12px}.finance-proj-row .pos{color:var(--ok)}.finance-proj-row .neg{color:var(--bad)}.finance-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.finance-mini{padding:10px;border:1px solid var(--line);border-radius:9px;background:#fbfcfe}.finance-mini span{display:block;color:var(--muted);font-size:10px}.finance-mini b{display:block;margin-top:4px}.finance-categories h4{margin:12px 0 6px}.finance-categories{max-height:290px;overflow:auto}.finance-cat{font-size:11px}.inner-table{box-shadow:none;border-radius:8px}.muted{color:var(--muted);font-size:11px}@media(max-width:1100px){.finance-bank-grid,.finance-grid{grid-template-columns:1fr}}@media(max-width:760px){.finance-bank-grid,.finance-grid{grid-template-columns:1fr}.finance-mini-grid{grid-template-columns:1fr 1fr}}

/* V6 — menu lateral recolhível em desktop */
@media(min-width:761px){
  .app.sidebar-collapsed .sidebar{width:72px}
  .app.sidebar-collapsed .main{margin-left:72px}
  .app.sidebar-collapsed .brand{padding:18px 10px;text-align:center}
  .app.sidebar-collapsed .brand img{width:42px}
  .app.sidebar-collapsed .brand small,
  .app.sidebar-collapsed .userbox>div:not(:first-child),
  .app.sidebar-collapsed .sidebar nav button span,
  .app.sidebar-collapsed .side-bottom button{display:none}
  .app.sidebar-collapsed .userbox{margin:0 10px 12px;padding:8px;justify-content:center}
  .app.sidebar-collapsed .sidebar nav{padding:5px 8px}
  .app.sidebar-collapsed .sidebar nav button{padding:12px 0;text-align:center;font-size:18px}
  .app.sidebar-collapsed .side-bottom{padding:10px 8px}
  #mobileMenu{font-size:24px;width:42px;height:42px;border-radius:9px}
  #mobileMenu:hover{background:#eef3fa}
}
@media(max-width:760px){#mobileMenu{font-size:23px}}

/* V44.38.2 — identidade visual operacional: leitura maior e menos poluição */
:root{--ms-ui-scale:1}
body{font-size:15px;background:#eef3f8}
.main>header{height:76px;padding:0 26px;background:#fff;border-bottom:1px solid #dfe6ee;box-shadow:0 2px 12px rgba(15,35,60,.04)}
.main>header #pageTitle{font-size:20px;letter-spacing:-.2px}.main>header small{font-size:12px}.header-actions{gap:9px}.header-actions #net{font-size:12px;padding:7px 10px;border-radius:999px;background:#f1f8f4}
.sidebar{width:252px;background:#0b1f35;box-shadow:5px 0 22px rgba(10,28,48,.12)}.main{margin-left:252px}
.sidebar .brand{padding:20px 18px 16px}.sidebar .brand img{max-width:175px}.sidebar .brand small{font-size:10px;letter-spacing:1.1px}
.sidebar nav{padding:8px 10px}.sidebar nav button{min-height:43px;margin:2px 0;border-radius:9px;font-size:14px;gap:10px}.sidebar nav button span{font-size:13px}.sidebar nav button.active{box-shadow:inset 3px 0 0 #5b9cff}
.main>.view{padding:24px 28px 34px}.page-head{margin-bottom:20px}.page-head h1{font-size:29px;letter-spacing:-.6px}.page-head small{font-size:10px;letter-spacing:1px}.page-head p{font-size:13px}.head-actions{gap:8px}.head-actions button,.toolbar button{font-size:13px;min-height:40px}
.toolbar{padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #dfe6ee;box-shadow:0 4px 15px rgba(15,35,60,.035);gap:9px}.toolbar input,.toolbar select{height:42px;font-size:13px;border-radius:9px}
.panel{border-radius:13px;box-shadow:0 5px 18px rgba(15,35,60,.045)}.panel-head{padding:15px 17px}.panel-head h3{font-size:14px}
.kpis{gap:12px}.kpi{border-radius:13px;padding:16px 17px;min-height:100px}.kpi .value{font-size:27px}.kpi .label{font-size:11px}
.table-wrap{border-radius:12px}.table-wrap table{font-size:13px}.table-wrap th{font-size:10px;letter-spacing:.4px}.table-wrap td{padding:12px 11px}
/* Desktop compacto: os módulos menos usados ficam visualmente secundários sem desaparecer */
@media(min-width:1200px){#nav button[data-view="tasks"],#nav button[data-view="sla"],#nav button[data-view="reports"]{opacity:.82}#nav button[data-view="settings"]{margin-top:8px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}}
@media(max-width:760px){.main{margin-left:0}.main>.view{padding:15px}.main>header{height:64px;padding:0 14px}.page-head h1{font-size:24px}}

.client-list-identity{display:flex;align-items:center;gap:10px}.client-list-avatar{width:42px;height:42px;border-radius:50%;border:0;padding:0;background:#e8edf2;display:grid;place-items:center;position:relative;overflow:hidden;cursor:pointer;font-weight:800;color:#355}.client-list-avatar img{width:100%;height:100%;object-fit:cover;display:block}.client-list-avatar span{position:absolute;inset:0;display:grid;place-items:center}.client-hero-avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;background:#e8edf2;display:grid;place-items:center;font-size:24px;font-weight:800;color:#355;flex:none}.client-hero-avatar img{width:100%;height:100%;object-fit:cover;display:block}.client-workspace-hero{display:flex!important;align-items:center;gap:14px}
.map-row-no-geo{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;padding:10px;color:var(--text);cursor:default}.map-row-no-geo small{display:block;color:var(--muted);margin-top:3px}.map-no-geo{color:var(--warn)!important}

/* ===== V44.44 — botões confortáveis e janela de envio por WhatsApp ===== */
.row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.row-actions.end{justify-content:flex-end}
.btn-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 13px;border:1px solid var(--line);background:#fff;color:#27364d;border-radius:999px;font-weight:700;font-size:13px;line-height:1;white-space:nowrap;cursor:pointer;transition:transform .12s,box-shadow .12s,background .12s,border-color .12s}
.btn-chip:hover{background:#f3f7fd;border-color:#c9d6ea;box-shadow:0 3px 10px #1020401a;transform:translateY(-1px)}
.btn-chip:active{transform:none;box-shadow:none}
.btn-chip.ok{background:#e9f8f1;border-color:#bfe9d6;color:#0c7a4f}
.btn-chip.ok:hover{background:#dcf4ea}
.btn-chip.wa{background:#e8f9ee;border-color:#b6e8c8;color:#117a3f}
.btn-chip.wa:hover{background:#d8f4e2}
.btn-chip.danger{color:#b62838;border-color:#f3c6cb;padding:0 11px}
.btn-chip.danger:hover{background:#fdecee}
.btn-chip:disabled,.btn-soft:disabled{opacity:.55;pointer-events:none}
.btn-wa{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 22px;border:0;border-radius:12px;background:linear-gradient(135deg,#25d366,#128c4a);color:#fff;font-weight:800;font-size:15px;box-shadow:0 8px 20px #128c4a40;cursor:pointer;transition:transform .12s,box-shadow .12s,filter .12s}
.btn-wa:hover{filter:brightness(1.05);box-shadow:0 10px 24px #128c4a55;transform:translateY(-1px)}
.btn-wa:active{transform:none}
.btn-wa:disabled{opacity:.7;cursor:progress;transform:none}
.btn-wa.sm{min-height:42px;padding:0 16px;font-size:14px;border-radius:10px}
.btn-soft{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:0 18px;border:1px solid var(--line);background:#fff;color:#27364d;border-radius:12px;font-weight:700;font-size:14px;cursor:pointer}
.btn-soft:hover{background:#f3f7fd;border-color:#c9d6ea}
.btn-chip:focus-visible,.btn-wa:focus-visible,.btn-soft:focus-visible{outline:3px solid #0b5cff55;outline-offset:2px}
.wa-send{display:grid;gap:14px;max-width:520px;margin:0 auto}
.wa-doc{display:flex;gap:13px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff,#f6f9fd)}
.wa-doc-ic{flex:none;width:46px;height:46px;border-radius:12px;background:#e8f9ee;display:grid;place-items:center;font-size:23px}
.wa-doc-tx{min-width:0}.wa-doc-tx b{display:block;font-size:16px;color:#172033}.wa-doc-tx small{display:block;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.wa-note{margin:-4px 0 0;color:var(--muted);font-size:13px}
.wa-file{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.wa-file span{color:var(--muted);font-size:13px;min-width:0;overflow-wrap:anywhere}.wa-file b{color:#172033}
.wa-label{display:grid;gap:6px;font-weight:700;color:#27364d;font-size:13px}.wa-label small{font-weight:500;color:var(--muted)}
.wa-label input,.wa-label textarea{width:100%;padding:13px 14px;border:1px solid #d5ddea;border-radius:12px;font-size:16px;background:#fff;color:#172033;resize:vertical}
.wa-label input:focus,.wa-label textarea:focus{outline:none;border-color:#25a05a;box-shadow:0 0 0 4px #25d36626}
.wa-label input.bad{border-color:#e34d59;box-shadow:0 0 0 4px #e34d5920}
.wa-check{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:#fff}
.wa-check input{width:22px;height:22px;margin-top:1px;accent-color:#128c4a;flex:none}.wa-check b{display:block;color:#172033;font-size:14px}.wa-check small{color:var(--muted)}
.wa-status:empty{display:none}
.wa-status{display:grid;gap:3px;padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.4}
.wa-status.info{background:#eef4ff;color:#1d4fa8}.wa-status.ok{background:#e9f8f1;color:#0c7a4f}.wa-status.err{background:#fff0f1;color:#a3202f}
.wa-status small{opacity:.85}.wa-alt{margin-top:4px;font-weight:700;color:#0b5cff;text-decoration:underline}
.wa-spin{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:waspin .8s linear infinite}
@keyframes waspin{to{transform:rotate(360deg)}}
.wa-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:stretch}.wa-actions .btn-wa{flex:1 1 220px}
@media(max-width:700px){
 .btn-chip{min-height:44px;padding:0 15px;font-size:14px}.btn-chip.danger{min-width:44px}
 .btn-wa,.btn-soft{min-height:52px}.btn-wa.sm{min-height:46px}
 .wa-actions{flex-direction:column-reverse}.wa-actions button{width:100%;flex:none}
}
@media(prefers-reduced-motion:reduce){.btn-chip,.btn-wa,.wa-spin{transition:none;animation:none}}

/* Chat Portal do Cliente — MULTISYSTEM V47 */
.portal-chat-admin{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:14px;min-height:520px}.portal-chat-admin>aside,.portal-chat-admin>section{background:var(--card,#fff);border:1px solid var(--line,#dbe3ec);border-radius:14px;padding:14px;min-width:0}.portal-chat-admin label{display:grid;gap:7px;font-weight:800;font-size:12px}.portal-chat-admin select,.portal-chat-admin textarea{width:100%;padding:11px;border:1px solid var(--line,#dbe3ec);border-radius:9px;background:var(--card,#fff);color:inherit}.portal-chat-admin-messages{height:390px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:4px}.portal-chat-admin form{display:grid;gap:8px;margin-top:12px}.portal-chat-bubble{max-width:88%;padding:11px 13px;border-radius:12px;background:#f1f5f9;overflow-wrap:anywhere}.portal-chat-bubble.central{align-self:flex-end;background:#dbeafe}.portal-chat-bubble.client{align-self:flex-start}.portal-chat-bubble p{margin:6px 0}.portal-chat-bubble small,.portal-chat-client small,.portal-chat-line small{display:block;color:#64748b;font-size:11px;margin-top:5px}.portal-chat-client,.portal-chat-line{display:block;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line,#dbe3ec);padding:11px 6px;color:inherit}.portal-chat-client.active{background:#eaf2ff}.portal-chat-line span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px}@media(max-width:700px){.portal-chat-admin{grid-template-columns:1fr}.portal-chat-admin-messages{height:45vh}}

/* V47.10 — navegação agrupada e mais simples */
.sidebar nav{padding:8px 10px 14px;scrollbar-width:thin}
.sidebar .nav-group{margin:3px 0 8px}
.sidebar .nav-group-title{padding:8px 13px 5px;color:#7e8ba3;font-size:10px;font-weight:800;letter-spacing:1.2px}
.sidebar details.nav-group>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:10px 13px;border-radius:8px;color:#9eacc1;font-size:10px;font-weight:850;letter-spacing:1px;user-select:none}
.sidebar details.nav-group>summary::-webkit-details-marker{display:none}
.sidebar details.nav-group>summary:hover,.sidebar details.nav-group[open]>summary{color:#fff;background:#ffffff08}
.sidebar .nav-chevron{font-size:15px;transition:transform .15s}
.sidebar details[open] .nav-chevron{transform:rotate(180deg)}
.sidebar nav button{padding:9px 13px;margin:1px 0;font-size:13px;min-height:38px}
.sidebar nav button.active{background:#1e3a5f;box-shadow:inset 3px 0 #4f91ff;color:#fff}
@media(max-width:760px){.sidebar nav{padding-bottom:24px}.sidebar details.nav-group>summary{padding:12px 13px}}

/* MULTISYSTEM V48.20 — consulta rápida da ficha completa do equipamento */
.client-equipment-ficha h3{margin:16px 0 9px;color:var(--c-primary)}.client-equipment-ficha .client-meta-grid{margin-bottom:14px}.client-equipment-ficha .info-box{min-width:0;overflow-wrap:anywhere}.client-equipment-ficha .info-box b{white-space:pre-wrap;overflow-wrap:anywhere}.client-equipment-ficha .client-doc{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface-2)}

/* V48.42 — edição contextual de equipamento */
.eq-context-client{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--cor-borda,#d8dee8);border-radius:10px;background:var(--cor-fundo-input,#f5f7fa);margin:10px 0 4px}.eq-context-client small{font-size:11px;color:var(--cor-texto-secundario,#687386);text-transform:uppercase;letter-spacing:.05em}.eq-context-client strong{font-size:15px;color:var(--cor-texto,#172033)}.eq-context-client span{font-size:12px;color:var(--cor-texto-secundario,#687386)}.eq-tech-form .eq-form-field{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0 0 14px;font-size:13px;font-weight:600;color:var(--cor-texto,#172033)}.eq-tech-form input:not([type=checkbox]),.eq-tech-form select,.eq-tech-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:10px 12px;border:1px solid var(--cor-borda,#d8dee8);border-radius:8px;background:var(--cor-fundo-input,#fff);font:inherit;font-weight:400;color:var(--cor-texto,#172033);outline:none}.eq-tech-form textarea{resize:vertical;min-height:90px}.eq-tech-form input:focus,.eq-tech-form select:focus,.eq-tech-form textarea:focus{border-color:#2463a6;box-shadow:0 0 0 3px rgba(36,99,166,.12)}.eq-tech-form .eq-tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.eq-tech-form .botoes-acao{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;padding-top:12px}.eq-tech-form .botoes-acao button{min-height:42px;padding:10px 16px;border-radius:8px;font-weight:650;cursor:pointer}.eq-tech-form button:disabled{opacity:.65;cursor:wait}@media(max-width:640px){.eq-tech-form .eq-tech-grid{grid-template-columns:minmax(0,1fr)}.eq-tech-form .botoes-acao{position:sticky;bottom:0;background:var(--cor-fundo,#fff);padding:12px 0 calc(12px + env(safe-area-inset-bottom));z-index:4}.eq-tech-form .botoes-acao button{flex:1}}

/* ===== V48.43.3 — Orçamentos externos ===== */
.ext-form{display:flex;flex-direction:column;gap:14px;min-width:min(560px,86vw)}
.ext-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px;color:#344054}
.ext-form label small{font-weight:400;color:#667085}
.ext-form input:not([type=file]),.ext-form select{padding:10px 12px;border:1px solid #d0d5dd;border-radius:10px;font:inherit;background:#fff;min-height:42px}
.ext-form input[type=file]{padding:8px;border:1px dashed #d0d5dd;border-radius:10px;background:#f9fafb}
.ext-client{padding:10px 14px;border-radius:10px;background:#eff6ff;color:#1e3a8a;font-size:14px}
.ext-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.ext-grid{grid-template-columns:1fr}}
.ext-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:26px 16px;text-align:center;border:2px dashed #93c5fd;border-radius:14px;background:#f8fbff;color:#1e3a8a;transition:.15s;cursor:pointer}
.ext-drop span{font-size:12.5px;color:#667085}
.ext-drop:hover,.ext-drop.drag{background:#eff6ff;border-color:#2563eb}
.ext-drop.has-file{border-style:solid;border-color:#16a34a;background:#f0fdf4}
.ext-drop-ic{font-size:30px;line-height:1}
.ext-file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.ext-picked{margin-top:6px}
.ext-chip{display:inline-block;max-width:100%;padding:6px 12px;border-radius:999px;background:#dcfce7;color:#166534;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ext-msg{display:none;padding:10px 12px;border-radius:10px;background:#fef3f2;border:1px solid #fecdca;color:#b42318;font-size:13.5px;line-height:1.4}
.ext-progress{height:8px;border-radius:99px;background:#e5e7eb;overflow:hidden}
.ext-progress>div{height:100%;width:0;background:linear-gradient(90deg,#2563eb,#38bdf8);transition:width .15s}
.ext-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.ext-spacer{flex:1}
.ext-fileinfo{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #e4e7ec;border-radius:12px;background:#f9fafb}
.ext-fileinfo b{display:block;word-break:break-all}.ext-fileinfo small{color:#667085}
.ext-fi-ic{font-size:28px}
.ext-btnrow{display:flex;gap:8px;flex-wrap:wrap}
.ext-badge{display:inline-block;margin-top:3px;padding:2px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11.5px;font-weight:700}

/* MULTISYSTEM Fiscal UI v1 — interface inicial, sem transmissão fiscal ativa */
.fiscal-status-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:99px;background:#fff3dc;color:#8c5a00;font-weight:800;font-size:12px;white-space:nowrap}.fiscal-status-pill i{width:8px;height:8px;border-radius:50%;background:#e6a02a;display:inline-block}.fiscal-welcome{display:flex;gap:16px;align-items:flex-start;background:linear-gradient(120deg,#10213d,#1b3e70);color:#fff;padding:22px;border-radius:15px;margin-bottom:16px}.fiscal-welcome-icon{width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:#ffffff1a;display:grid;place-items:center;font-size:25px;font-weight:900}.fiscal-welcome h2{margin:0 0 7px;font-size:20px}.fiscal-welcome p{margin:0;color:#d9e5f7;line-height:1.6;max-width:850px}.fiscal-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.fiscal-kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.fiscal-kpi span,.fiscal-kpi small{display:block;color:var(--muted)}.fiscal-kpi b{display:block;font-size:20px;margin:8px 0 4px}.fiscal-kpi small{font-size:11px}.fiscal-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.fiscal-doc-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.fiscal-doc-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:22px;font-weight:900;margin-bottom:13px}.fiscal-doc-icon.service{background:#e8f1ff;color:#185ac5}.fiscal-doc-icon.product{background:#e4f8ef;color:#087b50}.fiscal-doc-tag{font-size:10px;letter-spacing:1.2px;color:var(--muted);font-weight:900}.fiscal-doc-card h3{margin:6px 0 8px;font-size:19px}.fiscal-doc-card p,.fiscal-doc-card li{color:var(--muted);line-height:1.55}.fiscal-doc-card ul{padding-left:20px;margin:12px 0 18px}.fiscal-doc-card .primary{width:100%;display:flex;justify-content:space-between;align-items:center}.fiscal-steps-panel .panel-head{margin-bottom:10px}.fiscal-steps-panel .panel-head p{margin:5px 0 0}.fiscal-check-row{display:flex;align-items:center;gap:13px;padding:15px 2px;border-top:1px solid var(--line)}.fiscal-check-row>div{flex:1}.fiscal-check-row b{font-size:13px}.fiscal-check-row p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.fiscal-check-num{width:30px;height:30px;display:grid;place-items:center;background:#edf3ff;color:#1d57ad;border-radius:9px;font-weight:900;flex:0 0 30px}.fiscal-safety{display:flex;gap:12px;align-items:flex-start}.fiscal-safety-icon{font-size:24px;color:#0b8b5b}.fiscal-safety p{color:var(--muted);line-height:1.6;margin:5px 0 9px}.fiscal-safety a{color:var(--brand);font-weight:700;font-size:12px;text-decoration:none}.fiscal-safety a:hover{text-decoration:underline}@media(max-width:800px){.fiscal-doc-grid,.fiscal-kpis{grid-template-columns:1fr}.fiscal-check-row{align-items:flex-start;flex-wrap:wrap}.fiscal-check-row>div{min-width:calc(100% - 55px)}.fiscal-check-row>.badge{margin-left:43px}.fiscal-status-pill{white-space:normal}}

/* V49.12 — Gestão de serviços */
.ops-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.ops-kpi{text-align:left;cursor:pointer;font:inherit;color:inherit;transition:transform .12s,box-shadow .12s,border-color .12s}
.ops-kpi:hover{transform:translateY(-1px);border-color:var(--brand,#145da0)}
.ops-kpi span{display:block;font-size:12px;opacity:.75}
.ops-kpi b{display:block;font-size:28px;line-height:1.2;margin-top:2px}
.ops-kpi small{display:block;opacity:.7;font-size:12px}
.ops-kpi.ops-on{outline:2px solid var(--brand,#145da0);outline-offset:-2px}
.ops-kpi.ops-bad b{color:#b3261e}.ops-kpi.ops-warn b{color:#b26a00}.ops-kpi.ops-ok b{color:#16794a}
.ops-team.ops-on td{background:rgba(20,93,160,.09)}
.ops-team:hover td{background:rgba(20,93,160,.05)}
.ops-row:hover{background:rgba(20,93,160,.05)}
.muted{opacity:.7}
@media(max-width:900px){.grid-2{grid-template-columns:1fr}}

/* Ajustes de legibilidade: nome completo do cliente e acesso rápido à Central WhatsApp */
#nav button.nav-whatsapp{position:relative;display:flex;align-items:center;gap:9px;margin:6px 4px;padding:12px 11px;width:calc(100% - 8px);border:1px solid rgba(37,211,102,.38);border-radius:11px;background:linear-gradient(105deg,rgba(37,211,102,.19),rgba(18,140,126,.10));color:#eafff1;font-weight:750;box-shadow:inset 3px 0 0 #25d366}
#nav button.nav-whatsapp>span:first-of-type{flex:1}
#nav button.nav-whatsapp .nav-whatsapp-tag{font-size:9px;letter-spacing:.7px;padding:3px 5px;border-radius:5px;background:#25d366;color:#073b20;font-weight:900}
#nav button.nav-whatsapp:hover,#nav button.nav-whatsapp.active{background:linear-gradient(105deg,rgba(37,211,102,.32),rgba(18,140,126,.22));border-color:#25d366;color:#fff}
/* V49.13 */
#nav .nav-top{padding-bottom:0}
tr.task-late td{background:#fff6f6}
.kpis .kpi b{white-space:nowrap}
#liveStamp{margin-right:10px;white-space:nowrap}
@media(max-width:700px){#liveStamp{display:none}}
/* Agenda por arrastar */
.agenda-wrap{overflow-x:auto;padding-bottom:8px}
.ag-grid{display:grid;grid-template-columns:130px repeat(7,minmax(150px,1fr));gap:4px;min-width:1180px}
.ag-head,.ag-tec{background:#0f2a47;color:#fff;border-radius:8px;padding:8px 10px;font-weight:800;font-size:12px}
.ag-head small{opacity:.75;font-weight:600}.ag-head.ag-hoje{background:#e67e22}.ag-corner{background:transparent;color:#667085}
.ag-tec{background:#eef2f7;color:#0f2a47;display:flex;align-items:flex-start}
.ag-cell{min-height:74px;background:#f8fafc;border:1px dashed #d0d5dd;border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:4px}
.ag-cell.ag-hoje-col{background:#fff8f0}.ag-cell.ag-over{background:#e6f4ea;border:2px solid #25a05b}
.ag-card{background:#fff;border:1px solid #d0d5dd;border-left:4px solid #e67e22;border-radius:7px;padding:6px 8px;font-size:12px;line-height:1.3}
.ag-card.ag-mov{cursor:grab}.ag-card.ag-fixo{opacity:.65;border-left-color:#98a2b3;cursor:not-allowed}
.ag-card.ag-arrastando{opacity:.4}.ag-card small{color:#667085}

.client-attachment{display:flex;flex-direction:column;gap:4px;margin:4px 0;max-width:260px}.client-attachment small{font-size:11px;color:var(--muted)}.client-attachment-link{display:inline-block;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#f7f9fc;font-weight:700}

/* MULTISYSTEM 61.11.1 — refinamento visual para operação diária */
:root{--ms-ink:#172b4d;--ms-blue:#155eef;--ms-surface:#fff;--ms-canvas:#f4f7fb;--ms-border:#e2e8f0;--ms-radius:14px;--ms-shadow:0 8px 24px rgba(16,34,64,.07)}
body{background:var(--ms-canvas);color:var(--ms-ink);font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif}
.sidebar{box-shadow:8px 0 28px rgba(16,34,64,.06)}
.sidebar nav button{min-height:42px;border-radius:10px;transition:background .16s ease,color .16s ease,transform .16s ease}
.sidebar nav button:hover{transform:translateX(2px)}
.sidebar nav button.active{font-weight:750}
.main>header{position:sticky;top:0;z-index:20;backdrop-filter:blur(12px);background:rgba(255,255,255,.92);border-bottom:1px solid var(--ms-border)}
.view{max-width:1600px;margin:0 auto;padding:clamp(16px,2.5vw,30px)}
.page-head{gap:18px;margin-bottom:20px}.page-head h1{letter-spacing:-.035em}.page-head p{max-width:760px;line-height:1.55}
.panel,.kpi,.settings-grid>button{border:1px solid var(--ms-border);border-radius:var(--ms-radius);box-shadow:var(--ms-shadow)}
.panel{padding:clamp(16px,2vw,22px)}
.kpi{padding:16px 18px;min-height:88px;background:linear-gradient(145deg,#fff,#f9fbff)}
.kpi span{font-size:12px;font-weight:650;color:#667085}.kpi b{font-size:clamp(21px,2vw,28px);letter-spacing:-.03em}
.toolbar{gap:10px;margin:14px 0 18px}.toolbar input,.toolbar select,.form-grid input,.form-grid select,.form-grid textarea{min-height:42px;border:1px solid #d5deea;border-radius:10px;padding:9px 12px;background:#fff}
button{transition:box-shadow .15s ease,transform .15s ease,background-color .15s ease}button:active{transform:translateY(1px)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(21,94,239,.3);outline-offset:2px}
.table-wrap{border:1px solid var(--ms-border);border-radius:12px;background:#fff;overflow:auto;box-shadow:0 4px 16px rgba(16,34,64,.04)}
.table-wrap table{min-width:720px;border-collapse:separate;border-spacing:0}.table-wrap th{position:sticky;top:0;z-index:1;background:#f6f8fc;color:#52627a;font-size:11px;text-transform:uppercase;letter-spacing:.045em}
.table-wrap td,.table-wrap th{padding:12px 14px;border-bottom:1px solid #edf1f6}.table-wrap tbody tr:hover{background:#f8faff}.table-wrap tbody tr:last-child td{border-bottom:0}
.primary{box-shadow:0 4px 10px rgba(21,94,239,.15)}.secondary,.action{border-radius:9px}
.empty{padding:26px 18px;color:#667085;text-align:center}
@media(max-width:760px){.view{padding:14px}.page-head{align-items:flex-start;flex-direction:column}.head-actions{width:100%;flex-wrap:wrap}.head-actions button{flex:1 1 145px}.toolbar>*{min-width:0;flex:1 1 100%}.panel{padding:14px}.kpis{gap:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
