:root{
  --bg:#060a07;--card:#0d1117;--raised:#161b22;--border:#21262d;--border2:#30363d;
  --green:#39d353;--green-dim:#2ea043;--green-bg:#1a3a22;--text:#e6edf3;--muted:#7d8590;--faint:#484f58;
  --red:#f85149;--red-bg:#3d1212;--yellow:#d29922;--yellow-bg:#3d2f12;--blue:#388bfd;--blue-bg:#121d3d;--purple:#a371f7;
  --shadow:0 18px 60px rgba(0,0,0,.35);
}
*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;height:100%;background:var(--bg);color:var(--text)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;overflow:hidden}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.hidden{display:none!important}
.fade-in{animation:fade .22s ease-out}.slide-in{animation:slide .25s ease-out}.pop{animation:pop .18s ease-out}
@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes slide{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes pop{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
.topbar{height:56px;background:var(--card);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:32px;height:32px;border-radius:7px;background:var(--green);color:var(--bg);display:grid;place-items:center;font-weight:900;font-size:13px}.brand-title{font-size:14px;font-weight:800}.brand-sub{font-size:9px;color:var(--muted);font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.public-nav{display:flex;gap:4px;margin-left:34px}.public-nav button{border:0;background:transparent;color:var(--muted);padding:7px 11px;border-radius:6px;font-size:13px;font-weight:600}.public-nav button.active{color:var(--green)}.public-nav button:hover{background:rgba(255,255,255,.04)}
.spacer{flex:1}.updated{font-size:11px;color:var(--muted);margin-right:12px}.btn{border:1px solid var(--border);background:var(--card);color:var(--muted);border-radius:7px;padding:9px 13px;font-size:12px;font-weight:700;transition:.16s ease}.btn:hover{border-color:var(--border2);color:var(--text);background:var(--raised);transform:translateY(-1px)}.btn.primary{background:var(--green);border-color:var(--green);color:var(--bg)}.btn.primary:hover{background:#46df60}.btn.danger{background:var(--red-bg);border-color:#6b2323;color:var(--red)}.btn.ghost{background:transparent}.btn.small{padding:6px 9px;font-size:11px}.btn.icon{display:inline-flex;align-items:center;gap:7px}
.lgpd{min-height:34px;background:var(--raised);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;padding:7px 24px;font-size:11px;color:var(--muted)}.lgpd b{color:var(--text)}
.public-main{height:calc(100vh - 90px);overflow:auto;padding:24px}.content-wide{max-width:1400px;margin:0 auto}.title{font-size:24px;font-weight:800;margin:0 0 4px}.subtitle{font-size:13px;color:var(--muted);margin:0}
.toolbar{display:flex;gap:10px;margin-top:18px}.searchbox{position:relative;flex:1}.searchbox input{width:100%;height:42px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);padding:0 12px 0 38px;outline:none;transition:.16s}.searchbox input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-bg)}.search-icon{position:absolute;left:13px;top:11px;color:var(--muted);font-size:16px}
.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:15px;margin-top:14px}.field label{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:6px;background:var(--raised);color:var(--text);padding:8px 10px;outline:none}.field textarea{resize:vertical;min-height:78px}
.resultsbar{display:flex;justify-content:space-between;align-items:center;margin:16px 0 9px;color:var(--muted);font-size:11px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--green);margin-right:6px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.table-wrap{border:1px solid var(--border);border-radius:8px;overflow:auto;background:var(--card)}table{border-collapse:collapse;width:100%;font-size:12px}th{position:sticky;top:0;background:var(--raised);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em;text-align:left;padding:11px 13px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:10px 13px;border-bottom:1px solid var(--border);color:var(--muted);white-space:nowrap}tbody tr{transition:.12s}tbody tr:hover{background:var(--raised)}td.strong{color:var(--text);font-weight:700}td.link{color:var(--green);font-weight:700}.truncate{max-width:210px;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-flex;padding:3px 8px;border-radius:5px;font-size:10px;font-weight:800}.badge.green{background:var(--green-bg);color:var(--green)}.badge.yellow{background:var(--yellow-bg);color:var(--yellow)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.blue{background:var(--blue-bg);color:var(--blue)}.badge.gray{background:#21262d;color:var(--muted)}
.pagination{display:flex;justify-content:center;gap:5px;margin-top:15px}.page{border:1px solid var(--border);background:var(--card);color:var(--muted);border-radius:6px;min-width:32px;height:32px;padding:0 9px}.page.active{background:var(--green);border-color:var(--green);color:var(--bg);font-weight:800}
.overlay{position:fixed;inset:0;background:rgba(6,10,7,.86);display:grid;place-items:center;padding:18px;z-index:100}.modal{width:min(680px,96vw);max-height:90vh;overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow)}.modal-head{display:flex;align-items:center;justify-content:space-between;background:var(--raised);border-bottom:1px solid var(--border);padding:16px 20px}.modal-body{padding:20px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.detail.full{grid-column:1/-1}.detail span{display:block;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin-bottom:4px}.detail b{font-size:13px}.notice{padding:11px 12px;background:var(--green-bg);color:var(--green);font-size:11px;border-radius:7px;margin-top:14px}
.login-page{min-height:100vh;display:grid;place-items:center;padding:18px}.login-box{width:min(390px,95vw)}.login-brand{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:26px}.login-card{border:1px solid var(--border);background:var(--card);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.login-stripe{height:4px;background:var(--green)}.login-body{padding:27px}.login-body h2{margin:0 0 4px;font-size:18px}.login-body p{margin:0;color:var(--muted);font-size:12px}.choice{width:100%;text-align:left;border:1px solid var(--border);background:var(--raised);border-radius:9px;padding:14px;margin-top:10px;color:var(--text);transition:.16s}.choice:hover{border-color:var(--green);background:var(--green-bg);transform:translateX(2px)}.choice strong{display:block;font-size:13px}.choice span{font-size:10px;color:var(--muted)}.backlink{display:block;width:100%;border:0;background:transparent;color:var(--muted);font-size:11px;margin-top:16px}.error{margin-top:10px;padding:9px;background:var(--red-bg);color:var(--red);border-radius:6px;font-size:11px}.demo-pass{text-align:center!important;margin-top:11px!important;font-size:10px!important}.demo-pass b{color:var(--text)}
.shell{height:100vh;display:flex;overflow:hidden}.sidebar{width:224px;flex:none;background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column}.sidebar.client{width:208px}.sidebar-head{height:56px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:9px;padding:0 14px}.nav{padding:12px 8px;overflow:auto;flex:1}.nav button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--muted);padding:9px 10px;border-radius:6px;font-size:12px;font-weight:600;text-align:left;transition:.14s;margin-bottom:2px}.nav button:hover{background:var(--raised);color:var(--text)}.nav button.active{background:var(--green-bg);color:var(--green)}.nav .nicon{width:16px;text-align:center}.sidebar-foot{border-top:1px solid var(--border);padding:11px}.user-card{padding:9px;background:var(--raised);border-radius:7px;margin-bottom:7px}.user-card b{font-size:11px;display:block}.user-card span{font-size:9px;color:var(--muted)}.logout{width:100%;border:0;background:transparent;color:var(--muted);padding:7px;text-align:left;border-radius:6px}.logout:hover{color:var(--red);background:var(--red-bg)}
.work{flex:1;display:flex;flex-direction:column;min-width:0}.work-head{height:44px;flex:none;background:var(--card);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 18px;font-size:11px;color:var(--muted)}.work-head b{color:var(--text)}.work-main{flex:1;overflow:auto;background:var(--bg)}.page-pad{padding:22px}.page-h{font-size:16px;margin:0;color:var(--text)}.page-sub{font-size:12px;color:var(--muted);margin-top:4px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:17px}.kpi{border:1px solid var(--border);background:var(--card);border-radius:8px;padding:14px}.kpi-label{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.kpi-value{font-size:22px;font-weight:900;margin:8px 0 3px}.kpi-sub{font-size:10px;color:var(--muted)}.green{color:var(--green)}.blue{color:var(--blue)}.red{color:var(--red)}.yellow{color:var(--yellow)}.purple{color:var(--purple)}
.grid-3{display:grid;grid-template-columns:2fr 1fr;gap:13px;margin-top:13px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:13px}.panel{border:1px solid var(--border);background:var(--card);border-radius:8px;padding:14px}.panel-title{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.chart{height:200px;position:relative}.chart svg{width:100%;height:100%;overflow:visible}.axis{stroke:var(--border);stroke-width:1}.line-green{fill:none;stroke:var(--green);stroke-width:2.3}.line-muted{fill:none;stroke:var(--muted);stroke-width:1.2;stroke-dasharray:4 5}.area-green{fill:url(#fadeGreen)}.bar-green{fill:var(--green)}.bar-red{fill:var(--red)}.bar-yellow{fill:var(--yellow)}.bar-blue{fill:var(--blue)}.bar-purple{fill:var(--purple)}.chart-label{fill:var(--muted);font-size:9px}
.alert{display:flex;gap:8px;padding:9px 10px;border-radius:6px;margin:7px 0;font-size:11px}.alert.green{background:var(--green-bg);color:var(--text)}.alert.yellow{background:var(--yellow-bg);color:var(--text)}.alert.red{background:var(--red-bg);color:var(--text)}.alert.blue{background:var(--blue-bg);color:var(--text)}
.section-table{margin-top:13px;border:1px solid var(--border);border-radius:8px;overflow:auto}.section-head{background:var(--raised);border-bottom:1px solid var(--border);padding:10px 13px;display:flex;align-items:center;justify-content:space-between}.section-head b{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.form-card{max-width:770px;margin:0 auto;border:1px solid var(--border);background:var(--card);border-radius:10px;overflow:hidden}.form-section-title{padding:13px 18px;background:var(--raised);border-bottom:1px solid var(--border);border-top:1px solid var(--border);font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.form-section-title:first-child{border-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:18px}.span2{grid-column:1/-1}.form-foot{padding:14px 18px;background:var(--raised);border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}.save-ok{color:var(--green);font-size:11px;font-weight:700}
.support{height:100%;display:flex}.ticket-list{width:320px;flex:none;border-right:1px solid var(--border);background:var(--card);display:flex;flex-direction:column}.ticket-head{padding:12px;border-bottom:1px solid var(--border)}.ticket-tabs{display:flex;gap:5px;margin-top:9px}.ticket-tabs button{flex:1;border:0;background:var(--raised);color:var(--muted);padding:6px 4px;border-radius:5px;font-size:9px;font-weight:700}.ticket-tabs button.active{background:var(--green);color:var(--bg)}.ticket-scroll{overflow:auto;flex:1}.ticket-item{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--border);background:var(--card);padding:11px 13px;color:var(--text);border-left:3px solid transparent}.ticket-item:hover,.ticket-item.active{background:var(--raised)}.ticket-item.active{border-left-color:var(--green)}.ticket-item .meta{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.ticket-item b{display:block;font-size:11px;margin-top:5px}.ticket-item p{font-size:10px;color:var(--muted);margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat{flex:1;display:flex;flex-direction:column;min-width:0}.chat-head{padding:12px 18px;background:var(--card);border-bottom:1px solid var(--border)}.chat-body{flex:1;overflow:auto;padding:18px}.bubble-row{display:flex;flex-direction:column;margin:10px 0}.bubble-row.support{align-items:flex-end}.bubble-name{font-size:9px;color:var(--muted);font-weight:800;margin-bottom:4px}.bubble-row.support .bubble-name{color:var(--green)}.bubble{max-width:70%;border:1px solid var(--border);background:var(--card);border-radius:10px;padding:9px 12px;font-size:12px;line-height:1.45}.bubble-row.support .bubble{background:var(--green-bg);border-color:var(--green);color:var(--green)}.chat-input{display:flex;gap:8px;padding:11px;background:var(--card);border-top:1px solid var(--border)}.chat-input input{flex:1;background:var(--raised);border:1px solid var(--border);border-radius:7px;color:var(--text);padding:9px 11px;outline:none}
.chat-input{position:relative;z-index:5;pointer-events:auto}.chat-input input,.chat-input textarea,.employee-ai-input input{pointer-events:auto;user-select:text;-webkit-user-select:text;min-height:42px}.chat-input input:focus,.employee-ai-input input:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 22%,transparent)}
.client-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:15px}.contract-card{border:1px solid var(--border);background:var(--card);border-radius:8px;padding:15px;margin:11px 0}.contract-card .head{display:flex;justify-content:space-between}.doc{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);background:var(--card);border-radius:8px;padding:13px 14px;margin:9px 0}
.toast{position:fixed;right:20px;bottom:20px;background:var(--raised);border:1px solid var(--border2);box-shadow:var(--shadow);padding:11px 14px;border-radius:8px;font-size:11px;z-index:200;animation:slide .2s ease}.toast.good{border-color:var(--green);color:var(--green)}
@media(max-width:980px){.public-nav{display:none}.filters{grid-template-columns:repeat(2,1fr)}.kpis{grid-template-columns:repeat(2,1fr)}.grid-3,.grid-2{grid-template-columns:1fr}.sidebar{width:190px}.ticket-list{width:270px}.client-cards{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail.full{grid-column:auto}}

/* Figma video fidelity pass — 2026-08-07 */
:root{--bg:#020a05;--card:#0b1116;--raised:#171c21;--border:#252c32;--green:#45e85f;--green-bg:#143c20;--muted:#7f8995}
body{font-size:13px;background:#020905}.public-top{height:50px;padding:0 max(20px,calc((100vw - 1360px)/2));}.public-top .brand-mark{width:29px;height:29px;border-radius:3px}.public-top .brand-title{font-size:12px}.public-top .brand-sub{font-size:8px}.btn.compact{padding:6px 17px;border-radius:3px}.lgpd{height:38px;padding:0 max(20px,calc((100vw - 1360px)/2));font-size:10px}.lgpd-dot{color:var(--green);font-size:16px}.lgpd u{color:var(--green);font-weight:700}.public-main{height:calc(100vh - 88px);padding:22px 22px 40px}.figma-wide{max-width:1360px}.title{font-size:21px}.subtitle{font-size:11px}.figma-toolbar{margin-top:17px}.figma-toolbar .searchbox input{height:38px;border-radius:4px}.figma-toolbar .btn{height:38px;border-radius:4px}.resultsbar{margin:18px 0 10px;font-size:10px}.public-table{border-radius:4px}.public-table table{font-size:10px}.public-table th{font-size:9px;padding:10px 12px}.public-table td{padding:9px 12px}.badge{border-radius:3px;padding:3px 7px}.sidebar{width:196px;background:#0c1117}.sidebar-head{height:50px}.nav{padding:13px 7px}.nav button{font-size:11px;padding:8px 10px;border-radius:2px;margin-bottom:1px}.nav button.active{background:#173f20}.user-card{border-radius:2px}.work-head{height:40px;padding:0 17px}.page-pad{padding:22px 20px}.page-h{font-size:15px}.dashboard-figma .dash-title{font-size:18px}.dash-date{margin-top:3px}.figma-kpis{gap:14px;margin-top:16px}.kpi{border-radius:4px;padding:15px}.kpi-value{font-size:20px}.analysis-box{margin-top:16px;border:1px solid var(--border);border-radius:4px;overflow:hidden}.analysis-head{height:38px;background:var(--raised);display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:var(--muted);font-size:9px}.analysis-head b{letter-spacing:.08em}.analysis-body{display:grid;grid-template-columns:260px 1fr;min-height:410px}.chart-controls{background:#0c1117;border-right:1px solid var(--border);padding:14px}.chart-controls label{display:block;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em;margin:2px 0 7px}.chart-controls small{display:block;color:var(--muted);font-size:9px;margin:10px 0 4px}.chart-controls select{width:100%;background:#061007;border:1px solid var(--border);color:var(--text);height:30px;border-radius:3px;padding:0 8px;font-size:10px}.chart-controls hr{border:0;border-top:1px solid var(--border);margin:14px 0}.chart-controls p{font-size:9px;color:var(--muted)}.chart-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:14px}.chart-type-grid button{height:31px;border:1px solid var(--border);background:var(--raised);color:var(--muted);font-size:10px;border-radius:2px}.chart-type-grid button.active{background:var(--green);border-color:var(--green);color:#061007;font-weight:800}.dynamic-chart{padding:10px 18px 14px}.priority-chart{height:260px}.priority-chart svg{width:100%;height:100%}.mini-summary{border:1px solid var(--border);border-radius:2px;overflow:hidden}.mini-summary>div{display:grid;grid-template-columns:1.5fr 1fr 1fr;min-height:26px;align-items:center;padding:0 10px;border-bottom:1px solid var(--border);font-size:9px}.mini-summary>div:first-child{background:var(--raised);color:var(--muted);font-weight:800}.alerts-wide{margin-top:16px;border-radius:4px}.new-contract-wrap{max-width:680px;margin:0 auto}.title-accent{display:flex;gap:9px;align-items:center;margin-bottom:15px}.accent-bar{width:3px;height:26px;background:var(--green);border-radius:2px}.publish-warning{border:1px solid #b88122;background:#3a2c11;color:#d9a53f;border-radius:5px;padding:12px 14px;margin-bottom:18px;font-size:10px}.publish-warning b{display:block;font-size:12px;margin-bottom:5px}.publish-warning span{color:#eef0e9;display:block;line-height:1.4}.form-card{max-width:680px;border-radius:4px}.form-section-title{padding:12px 18px}.form-grid{padding:18px;gap:14px}.field input,.field select,.field textarea{border-radius:2px;background:#171c21;font-size:11px}.field label{font-size:9px}.form-foot{padding:14px 18px}.page-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.audit-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.user-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.log-toolbar{display:flex;gap:10px;margin:16px 0}.log-toolbar .searchbox input{height:34px}.section-table{border-radius:4px}.section-table table{font-size:10px}.section-table td{padding:9px 12px}.section-table th{font-size:9px}.badge.purple{background:#301b4c;color:#b86cff}.settings-page{padding-bottom:50px}.settings-group{border:1px solid var(--border);border-radius:4px;margin:16px 0;overflow:hidden;background:var(--card)}.settings-title{height:36px;background:var(--raised);display:flex;align-items:center;padding:0 14px;color:var(--muted);font-weight:800;font-size:9px;letter-spacing:.08em}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-top:1px solid var(--border)}.setting-row b{display:block;font-size:11px}.setting-row span{display:block;color:var(--muted);font-size:9px;margin-top:3px}.toggle{width:35px;height:18px;border:0;border-radius:12px;background:#2a3036;padding:2px;position:relative}.toggle i{display:block;width:14px;height:14px;border-radius:50%;background:#f1f1f1;transition:.18s}.toggle.on{background:var(--green)}.toggle.on i{transform:translateX(17px)}.system-grid{display:grid;grid-template-columns:1fr 1fr;padding:14px 18px;gap:30px}.system-grid>div{display:grid;grid-template-columns:1fr;gap:4px}.system-grid span{color:var(--muted);font-size:9px;margin-top:7px}.system-grid b{font-size:10px}.login-box{width:min(338px,95vw)}.login-brand{margin-bottom:25px}.login-brand .brand-mark{width:31px!important;height:31px!important;border-radius:4px}.login-card{border-radius:6px}.login-body{padding:24px}.login-stripe{height:3px}.choice{border-radius:4px}.demo-pass{margin-top:13px!important}.toolbar .btn,.work-main .btn{transition:background-color .13s,border-color .13s,color .13s,transform .13s}.work-main{scroll-behavior:smooth}
@media(max-width:1100px){.analysis-body{grid-template-columns:210px 1fr}.sidebar{width:180px}}

/* Functional MVP v3 additions */
.demo-orgs{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.demo-org-title{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}.demo-org{width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border);background:var(--raised);color:var(--text);padding:7px 9px;border-radius:4px;margin:5px 0;font-size:9px;text-align:left}.demo-org:hover{border-color:var(--green);background:var(--green-bg)}.demo-org b{font-size:9px}.demo-org span{color:var(--green);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.demo-org-pass{font-size:9px;color:var(--muted);text-align:center;margin-top:8px}.demo-org-pass b{color:var(--text)}
.no-native-tooltip svg,.dynamic-chart svg,.chart svg{pointer-events:none;user-select:none}.dash-svg{width:100%;height:280px;display:block}.empty-chart{height:280px;display:grid;place-items:center;color:var(--muted);font-size:11px}.green{color:var(--green)}
.chart-controls .btn.ghost:hover{transform:none}.dynamic-chart{min-width:0;overflow:hidden}.mini-summary>div span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-table .green{font-size:10px;font-weight:700}.modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.demo-org{align-items:flex-start;flex-direction:column;gap:2px}.analysis-body{grid-template-columns:1fr}.chart-controls{border-right:0;border-bottom:1px solid var(--border)}.dash-svg{height:240px}}


/* MVP v4 — temas, permissões, acessibilidade e IA local */
:root{--font-scale:1}html{font-size:calc(16px * var(--font-scale))}
:root[data-theme="light"]{--bg:#f6f8f7;--card:#ffffff;--raised:#f0f4f1;--border:#d7e0da;--border2:#b5c4ba;--text:#152219;--muted:#5d6d62;--faint:#849188;--green:#19723a;--green-dim:#145c30;--green-bg:#e5f3e9;--red-bg:#fde9e7;--yellow-bg:#fff3d7;--blue-bg:#e6f0ff;--shadow:0 18px 50px rgba(18,61,34,.11)}
:root[data-theme="light"] body{background:var(--bg)}:root[data-theme="light"] .sidebar,:root[data-theme="light"] .chart-controls{background:#fff}:root[data-theme="light"] .field input,:root[data-theme="light"] .field select,:root[data-theme="light"] .field textarea,:root[data-theme="light"] .chart-controls select{background:#f8faf8}:root[data-theme="light"] .badge.gray{background:#e8ece9}:root[data-theme="light"] .overlay{background:rgba(25,35,28,.45)}
:root[data-contrast="high"]{--text:#fff;--muted:#d8d8d8;--border:#798079;--border2:#a8afa8}:root[data-theme="light"][data-contrast="high"]{--text:#000;--muted:#303530;--border:#585f59;--border2:#222}
:root[data-motion="reduced"] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
:focus-visible{outline:3px solid var(--green)!important;outline-offset:2px!important}
.utility-btn{width:30px;height:30px;border:1px solid var(--border);background:var(--raised);color:var(--text);border-radius:5px;margin-right:7px;display:inline-grid;place-items:center;font-weight:800}.utility-btn:hover{border-color:var(--green);color:var(--green)}
.login-utilities{position:fixed;right:18px;top:18px}.client-utility{position:fixed;right:16px;top:10px;z-index:40}.access-chip{margin-left:10px;background:var(--green-bg);color:var(--green);font-size:9px;font-weight:800;padding:3px 7px;border-radius:3px}.user-card small{display:block;color:var(--green);font-size:8px;margin-top:3px}.employee-demo span{color:var(--muted)}
.a11y-panel{position:fixed;right:18px;top:55px;width:330px;z-index:250;background:var(--card);border:1px solid var(--border2);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.a11y-title{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--raised);border-bottom:1px solid var(--border)}.a11y-actions{display:flex;gap:4px}.a11y-note{padding:11px 14px;color:var(--muted);font-size:9px;border-top:1px solid var(--border)}
.legal-flow{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);background:var(--card);padding:9px;border-radius:4px;margin:-8px 0 14px;font-size:9px;color:var(--muted)}.legal-flow span{padding:5px 7px;background:var(--raised);border-radius:3px}.legal-flow .done{background:var(--green-bg);color:var(--green);font-weight:800}.legal-flow i{font-style:normal;color:var(--faint)}
.client-support-layout{height:100vh;display:grid;grid-template-columns:240px 1fr;overflow:hidden}.ai-side{border-right:1px solid var(--border);background:var(--card);padding:18px 14px}.ai-side h3{font-size:14px;margin:10px 0 6px}.ai-side p{font-size:10px;color:var(--muted);line-height:1.5}.ai-badge{display:inline-block;background:var(--green-bg);color:var(--green);font-size:10px;font-weight:900;padding:5px 8px;border-radius:4px}.ai-prompts{margin-top:18px}.ai-prompts button{width:100%;border:1px solid var(--border);background:var(--raised);color:var(--text);text-align:left;padding:8px;border-radius:4px;font-size:10px;margin:5px 0}.ai-prompts button:hover{border-color:var(--green);color:var(--green)}.ai-bubble{border-color:var(--green)!important;background:var(--green-bg)!important;color:var(--text)!important}
.ai-mode{display:inline-flex;align-items:center;margin-left:8px;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.ai-mode.online,.ai-badge.online{background:#e7f8ee;color:#137a3c;border:1px solid #9ed9b6}.ai-mode.offline,.ai-badge.offline{background:var(--raised);color:var(--muted);border:1px solid var(--border)}.ai-legend{display:grid;gap:7px;margin-top:14px;padding:10px;border:1px solid var(--border);border-radius:6px;font-size:10px;color:var(--muted)}.ai-legend span{display:flex;align-items:center;gap:7px}.ai-legend i{width:8px;height:8px;border-radius:50%}.ai-legend .gemini{background:#1a73e8}.ai-legend .local{background:#d28b20}.ai-legend .human{background:#64748b}.ai-bubble.gemini{border-color:#4d8fe8!important;box-shadow:inset 3px 0 #4d8fe8}.ai-bubble.local{border-color:#d28b20!important;box-shadow:inset 3px 0 #d28b20}.ai-bubble.pending{opacity:.78}.employee-ai-msg.gemini{border-left:3px solid #4d8fe8}.employee-ai-msg.local{border-left:3px solid #d28b20}
.a11y-panel{width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 75px);overflow:auto}.a11y-title>div{display:grid;gap:2px}.a11y-title span{font-size:9px;color:var(--muted)}.a11y-section{padding:13px 14px;border-top:1px solid var(--border)}.a11y-section-title{font-size:10px;font-weight:900;color:var(--text);text-transform:uppercase;letter-spacing:.06em;margin-bottom:9px}.a11y-section p{font-size:10px;color:var(--muted);line-height:1.5;margin:0 0 9px}.speech-controls{display:flex;gap:6px;flex-wrap:wrap}.setting-row.compact{padding:11px 0 5px;border:0}.speech-rate{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;margin-top:8px;font-size:10px;color:var(--muted)}.speech-rate input{accent-color:var(--green)}.a11y-explanation{margin-top:10px;padding:10px;border-radius:6px;background:var(--green-bg);border:1px solid var(--green);font-size:10px;line-height:1.5;color:var(--text)}
.support-choice-page{min-height:calc(100vh - 50px);display:grid;place-items:center;padding:28px}.support-choice{width:min(760px,100%);text-align:center}.support-choice h2{font-size:24px;margin:13px 0 7px}.support-choice>p{color:var(--muted);margin:0 0 24px}.support-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.support-choice-card{display:grid;justify-items:start;gap:7px;min-height:220px;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);text-align:left;transition:.18s}.support-choice-card:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:var(--shadow)}.support-choice-card>span{font-size:28px}.support-choice-card b{font-size:18px}.support-choice-card small{font-size:11px;font-weight:800;color:var(--green)}.support-choice-card em{font-size:12px;line-height:1.55;color:var(--muted);font-style:normal}.ai-badge.human{background:#edf2f7;color:#3f5368;border:1px solid #b8c5d2}.attendance-status{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}.attendance-status i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 16%,transparent)}.attendance-status.ai{background:#e8f1ff;color:#2368bd}.attendance-status.human{background:#edf8ef;color:#237342}.chat-empty{display:grid;place-items:center;min-height:180px;color:var(--muted);font-size:12px;text-align:center}.employee-attendance{margin-left:auto;margin-right:8px}
@media(max-width:700px){.support-choice-grid{grid-template-columns:1fr}.support-choice-page{padding:18px}.support-choice-card{min-height:170px}.a11y-panel{top:10px;max-height:calc(100vh - 20px)}}
@media(max-width:800px){.client-support-layout{grid-template-columns:1fr}.ai-side{display:none}.a11y-panel{width:calc(100vw - 28px);right:14px}}

/* MVP v5 — ciclo operacional completo */
.notification-btn{position:relative;width:34px;height:34px;border:1px solid var(--border);background:var(--raised);color:var(--text);border-radius:7px;margin-right:7px;display:inline-grid;place-items:center;padding:0;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}.notification-btn:hover{color:var(--green);border-color:var(--green);background:var(--card);transform:translateY(-1px)}.notification-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.notification-bell{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notification-btn span{position:absolute;right:-5px;top:-6px;background:var(--red);color:white;font-size:8px;min-width:16px;height:16px;border:2px solid var(--card);border-radius:10px;display:grid;place-items:center;font-weight:900;padding:0 3px}.notification-panel{position:fixed;right:145px;top:48px;width:360px;max-height:460px;overflow:auto;z-index:260;background:var(--card);border:1px solid var(--border2);box-shadow:var(--shadow);border-radius:8px}.notification-head{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-bottom:1px solid var(--border);background:var(--raised)}.notification-item{width:100%;display:flex;gap:9px;text-align:left;padding:11px 13px;border:0;border-bottom:1px solid var(--border);background:var(--card);color:var(--text)}.notification-item:hover{background:var(--raised)}.notification-item.read{opacity:.58}.notification-item i{width:8px;height:8px;border-radius:50%;margin-top:5px;background:var(--blue)}.notification-item i.warning{background:var(--yellow)}.notification-item i.danger{background:var(--red)}.notification-item i.success{background:var(--green)}.notification-item b{display:block;font-size:10px;margin-bottom:3px}.notification-item span{display:block;font-size:9px;color:var(--muted);line-height:1.45}.empty-note{padding:20px;color:var(--muted);font-size:10px;text-align:center}
.employee-ai{position:fixed;right:18px;top:50px;width:390px;z-index:270;background:var(--card);border:1px solid var(--border2);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.employee-ai-body{max-height:330px;overflow:auto;padding:10px}.employee-ai-msg{padding:8px 9px;margin-bottom:7px;background:var(--raised);border-radius:5px}.employee-ai-msg b{display:block;font-size:9px;color:var(--green);margin-bottom:3px}.employee-ai-msg span{font-size:10px;line-height:1.45}.employee-ai-input{display:flex;gap:6px;padding:9px;border-top:1px solid var(--border)}.employee-ai-input input{flex:1;background:var(--raised);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:7px 9px;font-size:10px}.ai-empty{font-size:10px;color:var(--muted);line-height:1.55;padding:8px}
.dash-heading{display:flex;align-items:flex-start;justify-content:space-between}.dash-live{font-size:9px;color:var(--green);padding:5px 8px;background:var(--green-bg);border-radius:4px}.ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.sla-mini{display:grid;grid-template-columns:62px 1fr 38px;gap:8px;align-items:center;padding:7px 9px;border-bottom:1px solid var(--border);font-size:9px}.progress{height:6px;background:var(--raised);border-radius:8px;overflow:hidden}.progress i{display:block;height:100%;background:var(--green);border-radius:8px}.progress.large{height:8px}.redtxt{color:var(--red)}
.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--raised)!important}.contract-modal{width:min(850px,94vw);max-height:88vh;overflow:auto}.contract-health{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;margin-bottom:15px}.contract-health>div{border:1px solid var(--border);background:var(--raised);padding:11px;border-radius:5px}.contract-health span{display:block;color:var(--muted);font-size:9px;margin-bottom:5px}.contract-health b{font-size:12px}.workflow{display:flex;align-items:center;gap:5px;overflow:auto;padding:10px;border:1px solid var(--border);border-radius:5px;background:var(--card);margin-bottom:15px}.workflow span{white-space:nowrap;padding:5px 7px;border-radius:3px;background:var(--raised);font-size:8px;color:var(--muted)}.workflow span.done{background:var(--green-bg);color:var(--green);font-weight:800}.workflow i{font-style:normal;color:var(--faint)}.workflow.compact{margin-top:12px;margin-bottom:0}.timeline{border-top:1px solid var(--border);padding-top:12px}.timeline h4{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.05em}.timeline-row{display:grid;grid-template-columns:12px 1fr;gap:8px;padding:7px 0}.timeline-row>i{width:8px;height:8px;border-radius:50%;background:var(--green);margin-top:4px}.timeline-row b{display:block;font-size:10px}.timeline-row span{display:block;font-size:9px;color:var(--muted);margin-top:2px}.modal-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:15px}
.measurement-calc{margin-top:12px;padding:10px 12px;background:var(--green-bg);color:var(--green);border:1px solid var(--green);border-radius:4px;font-size:10px;font-weight:700}.ticket-progress{height:4px;background:var(--raised);margin-top:7px;border-radius:5px;overflow:hidden}.ticket-progress i{display:block;height:100%;background:var(--yellow)}.ticket-contract{display:grid;grid-template-columns:auto 1fr auto 82px auto;gap:7px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--raised);font-size:9px;color:var(--muted)}.ticket-contract select,.ticket-contract input{background:var(--card);border:1px solid var(--border);color:var(--text);height:28px;border-radius:3px;padding:0 6px;font-size:9px}.chat-head{display:flex!important;align-items:center;justify-content:space-between}.chat-actions{display:flex;gap:6px}
.permissions-card{margin-top:16px;border:1px solid var(--border);border-radius:5px;overflow:hidden;background:var(--card)}.permission-role{display:grid;grid-template-columns:170px 1fr;gap:12px;padding:12px 14px;border-top:1px solid var(--border)}.permission-role>b{font-size:10px}.permission-role>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 12px}.permission-role label{font-size:9px;color:var(--muted)}.permission-role input{accent-color:var(--green)}
.client-cards{grid-template-columns:repeat(4,1fr)!important}.service-progress{padding:12px;border-bottom:1px solid var(--border)}.service-progress-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.service-progress-head b{display:block;font-size:10px;color:var(--green)}.service-progress-head span{display:block;font-size:9px;color:var(--muted);margin-top:2px}.service-progress-head strong{font-size:13px}.service-metrics{display:flex;gap:22px;margin-top:8px;font-size:9px;color:var(--muted)}.service-metrics b{color:var(--text);margin-left:3px}.client-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:13px}.client-event{display:grid;grid-template-columns:70px 1fr auto;gap:8px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--border);font-size:9px}.client-event b{color:var(--green)}.client-event span{color:var(--text)}.client-event small{color:var(--muted)}
@media(max-width:1000px){.permission-role{grid-template-columns:1fr}.permission-role>div{grid-template-columns:repeat(2,1fr)}.contract-health{grid-template-columns:1fr}.ops-grid,.client-home-grid{grid-template-columns:1fr}.client-cards{grid-template-columns:repeat(2,1fr)!important}.notification-panel{right:20px}.ticket-contract{grid-template-columns:1fr 1fr}.ticket-contract label{display:none}}


/* MVP v6 */
.contract-healthbar{display:flex;gap:8px;padding:10px 20px;border-bottom:1px solid var(--border);background:var(--card);flex-wrap:wrap}.contract-healthbar span{font-size:11px;color:var(--muted);background:var(--raised);padding:7px 10px;border:1px solid var(--border);border-radius:7px}.contract-healthbar b{color:var(--text)}
.contract-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.contract-modal-grid section{border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--raised)}.mini-record{padding:8px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.mini-record:last-child{border:0}.mini-record b{font-size:11px;color:var(--text)}.mini-record span,.mini-record small{font-size:10px;color:var(--muted)}.modal-actions.wrap{flex-wrap:wrap}.notice.yellow{background:var(--yellowBg);color:var(--yellow);border-color:color-mix(in srgb,var(--yellow) 35%,transparent)}
.ticket-evidence{padding:10px 14px;border-bottom:1px solid var(--border);background:var(--card)}.ticket-evidence-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.ticket-evidence-head b{font-size:11px;color:var(--text)}.evidence-desc{width:100%;margin-bottom:7px;background:var(--raised);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:7px;font-size:11px}.evidence-chip{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:var(--raised);border:1px solid var(--border);border-radius:6px;margin-top:5px;font-size:10px}.empty-note.compact{padding:7px 0}
.monthly-builder{margin:14px 24px 24px}.monthly-controls{display:grid;grid-template-columns:2fr 1fr auto auto;gap:10px;align-items:end}.monthly-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.monthly-summary span{background:var(--raised);border:1px solid var(--border);border-radius:7px;padding:10px;font-size:10px;color:var(--muted)}.monthly-summary b{display:block;font-size:15px;color:var(--text);margin-bottom:2px}.monthly-preview{border:1px dashed var(--border2);padding:12px;border-radius:8px}.monthly-preview>b,.monthly-preview>small{display:block}.monthly-preview>small{color:var(--muted);margin:3px 0 8px}.monthly-preview p{margin:5px 0;font-size:10px;color:var(--muted)}
@media(max-width:760px){body{overflow:auto}.shell{display:block;min-height:100vh}.sidebar{width:100%!important;height:auto;position:sticky;top:0;z-index:40;border-right:0;border-bottom:1px solid var(--border)}.sidebar-head{height:48px}.nav{display:flex;overflow-x:auto;padding:6px;gap:4px}.nav button{min-width:max-content;padding:8px 10px}.sidebar-foot{display:none}.work{min-height:calc(100vh - 96px)}.work-head{position:sticky;top:96px;z-index:30;padding:0 10px;gap:7px}.work-head>span:last-child{display:none}.work-main{overflow:visible}.page-pad{padding:14px}.kpis{grid-template-columns:1fr 1fr!important;gap:8px}.kpi{padding:11px}.kpi-value{font-size:18px}.public-top{padding:0 12px}.updated{display:none}.public-main{padding:14px}.figma-toolbar{display:grid;grid-template-columns:1fr auto auto}.searchbox{grid-column:1/-1}.table-wrap{overflow:auto}.modal{max-height:92vh;overflow:auto;margin:10px}.detail-grid,.contract-modal-grid,.form-grid{grid-template-columns:1fr!important}.span2{grid-column:auto!important}.support{display:block;height:auto}.ticket-list{width:100%!important;height:300px;border-right:0;border-bottom:1px solid var(--border)}.chat{min-height:520px}.ticket-contract{grid-template-columns:1fr!important}.client-support-layout{display:block}.ai-side{display:block!important;border-right:0;border-bottom:1px solid var(--border)}.monthly-controls{grid-template-columns:1fr}.monthly-summary{grid-template-columns:1fr 1fr}.monthly-builder{margin:12px 14px}.permission-role>div{grid-template-columns:1fr!important}.client-cards{grid-template-columns:1fr 1fr!important}.section-table{overflow:auto}.contract-healthbar{padding:8px 12px}.chart-controls{grid-template-columns:1fr 1fr}.analysis-body{display:block}.chart-stage{min-height:320px}}
@media(max-width:760px){.section-table .doc>div:last-child{display:flex!important;flex:1 1 100%;width:100%;min-width:0;justify-content:flex-start!important;flex-wrap:wrap!important;gap:8px!important}.section-table .doc>div:last-child .btn{flex:1 1 148px;min-width:0}}
@media(max-width:480px){.kpis,.client-cards,.monthly-summary{grid-template-columns:1fr!important}.figma-toolbar{grid-template-columns:1fr}.figma-toolbar .btn{width:100%}.login-box{padding:12px}.login-card{border-radius:10px}.work-head .access-chip{display:none}.page-h{font-size:17px}.title{font-size:21px}.public-table table,.section-table table{min-width:850px}.modal-actions .btn{flex:1 1 100%}.toolbar{flex-wrap:wrap}}

/* v7 — hierarquia e legibilidade da entrada do portal */
.utility-btn{min-width:38px;width:38px;height:38px;margin-right:8px;border-radius:8px;font-size:14px;cursor:pointer}
.utility-icon{display:inline-grid;place-items:center;min-width:20px;font-size:14px;font-weight:900;line-height:1}
.utility-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.utility-label{display:none}
.login-page{padding:32px 20px}
.login-box{width:min(480px,calc(100vw - 32px))}
.login-brand{gap:13px;margin-bottom:30px;font-size:16px}
.login-brand .brand-mark{width:42px!important;height:42px!important;border-radius:8px;font-size:13px}
.login-card{border-radius:12px}
.login-stripe{height:4px}
.login-body{padding:34px}
.login-body h2{font-size:24px;margin-bottom:7px;line-height:1.2}
.login-body>p{font-size:14px;line-height:1.5}
.choice{min-height:82px;margin-top:14px;padding:17px 18px;border-radius:8px;display:flex;flex-direction:column;justify-content:center;gap:6px;cursor:pointer}
.choice strong{font-size:16px;line-height:1.25}
.choice span{font-size:12px;line-height:1.45}
.backlink{min-height:42px;margin-top:20px;font-size:13px;cursor:pointer}
.login-utilities{right:24px;top:24px;display:flex;gap:10px;z-index:300}
.login-utilities .utility-btn{width:auto;min-width:126px;height:44px;margin:0;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--card);box-shadow:0 8px 24px rgba(0,0,0,.16)}
.login-utilities .utility-label{display:inline;font-size:12px;font-weight:800;white-space:nowrap}
.login-utilities .utility-icon{font-size:15px}

@media(max-width:700px){
  .login-page{align-items:start;padding-top:100px}
  .login-utilities{left:16px;right:16px;top:16px;justify-content:center}
  .login-utilities .utility-btn{flex:1;min-width:0;max-width:190px}
  .login-body{padding:27px 22px}
  .login-body h2{font-size:22px}
  .choice{min-height:78px;padding:15px}
}
@media(max-width:400px){
  .login-utilities .utility-btn{padding:0 10px;gap:5px}
  .login-utilities .utility-label{font-size:11px}
  .login-box{width:100%;padding:0}
  .login-body{padding:24px 18px}
}

/* Ordenação interativa da tabela pública */
.public-table th[role="button"]{cursor:pointer;user-select:none;transition:background-color .15s,color .15s}
.public-table th[role="button"]:hover,.public-table th[role="button"]:focus-visible{background:var(--green-bg);color:var(--green)}
.public-table th[role="button"] span{vertical-align:middle}
.public-table th[role="button"] i{display:inline-block;margin-left:6px;color:var(--muted);font-size:11px;font-style:normal}
.public-table th.sortable-active{color:var(--green);background:var(--green-bg)}
.public-table th.sortable-active i{color:var(--green)}

/* v7.1 — refinamento visual e escala para apresentação */
:root{--radius-sm:6px;--radius-md:10px;--radius-lg:14px}
body{font-size:14px;line-height:1.45}
.topbar{height:64px}
.public-top{height:64px;padding:0 max(24px,calc((100vw - 1360px)/2))}
.public-top .brand-mark{width:36px;height:36px;border-radius:var(--radius-sm)}
.public-top .brand-title{font-size:14px}.public-top .brand-sub{font-size:10px}
.public-main{height:calc(100vh - 108px);padding:32px 28px 48px}
.lgpd{min-height:44px;font-size:12px}
.title{font-size:28px;line-height:1.2}.subtitle{font-size:14px;margin-top:7px}
.toolbar{gap:12px;margin-top:24px}.figma-toolbar .searchbox input,.figma-toolbar .btn{height:44px}
.searchbox input{font-size:13px}.search-icon{top:12px}
.btn{min-height:38px;border-radius:var(--radius-sm);font-size:13px;padding:9px 14px}
.btn.small{min-height:34px;font-size:12px;padding:7px 11px}.btn.primary{box-shadow:0 5px 16px rgba(57,211,83,.12)}
.filters{gap:16px;padding:20px;border-radius:var(--radius-md)}
.field label{font-size:11px;margin-bottom:7px}.field input,.field select,.field textarea{min-height:40px;border-radius:var(--radius-sm);font-size:13px}
.resultsbar{font-size:12px;margin:20px 0 11px}
.table-wrap,.section-table{border-radius:var(--radius-md)}
table,.section-table table{font-size:13px}
th,.public-table th,.section-table th{height:48px;padding:13px 14px;font-size:11px}
td,.public-table td,.section-table td{height:48px;padding:12px 14px;font-size:12px}
.public-table th[role="button"]{outline-offset:-3px}
.public-table th[role="button"] i{font-size:13px;margin-left:8px}
.badge{padding:5px 9px;border-radius:var(--radius-sm);font-size:11px}
.pagination{gap:7px;margin-top:20px}.page{min-width:38px;height:38px;border-radius:var(--radius-sm);font-size:12px}
.sidebar{width:224px;background:var(--card)}.sidebar-head{height:62px;padding:0 16px}
.nav{padding:14px 10px}.nav button{min-height:42px;padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;gap:11px}
.nav .nicon{width:20px}.work-head{height:54px;padding:0 20px;font-size:12px}
.work-head .utility-btn{width:38px;height:38px}.page-pad{padding:28px}.page-h{font-size:21px}.page-sub{font-size:13px;margin-top:6px}
.kpis{gap:16px;margin-top:20px}.kpi{border-radius:var(--radius-md);padding:18px}.kpi-label{font-size:11px}.kpi-value{font-size:25px}.kpi-sub{font-size:12px}
.panel{border-radius:var(--radius-md);padding:18px}.panel-title,.section-head b,.settings-title,.form-section-title{font-size:11px}
.analysis-box,.settings-group,.permissions-card,.form-card,.contract-card,.doc{border-radius:var(--radius-md)}
.analysis-head{height:46px;font-size:11px}.chart-controls{padding:18px}.chart-controls label,.chart-controls small,.chart-controls p{font-size:11px}.chart-controls select{height:38px;font-size:12px}
.chart-type-grid button{height:38px;font-size:12px;border-radius:var(--radius-sm)}
.setting-row{padding:15px 16px}.setting-row b{font-size:13px}.setting-row span{font-size:11px}
.modal{border-radius:var(--radius-lg)}.modal-head{padding:18px 22px}.modal-body{padding:22px}.detail span{font-size:10px}.detail b{font-size:14px}
.toast{padding:13px 16px;border-radius:var(--radius-md);font-size:13px}
.empty-note{font-size:12px;padding:28px}

@media(max-width:900px){
  .public-main{padding:22px 16px 38px}.title{font-size:24px}.page-pad{padding:20px}
  .topbar,.public-top{height:58px}.public-main{height:calc(100vh - 102px)}
}
.ops-ai-page{padding:24px;max-width:1280px;margin:0 auto}.ops-ai-hero{display:flex;align-items:center;gap:15px;margin-bottom:18px}.ops-ai-symbol{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--green),var(--green-dim));color:#fff;font-size:23px;box-shadow:0 10px 24px color-mix(in srgb,var(--green) 22%,transparent)}.ops-ai-hero h2{margin:2px 0 4px;font-size:23px}.ops-ai-hero p{margin:0;color:var(--muted);font-size:11px}.ops-ai-hero>.ai-mode{margin-left:auto}.ops-ai-layout{display:grid;grid-template-columns:280px 1fr;gap:14px;height:calc(100vh - 150px);min-height:510px}.ops-ai-prompts,.ops-ai-chat{border:1px solid var(--border);background:var(--card);border-radius:12px;overflow:hidden}.ops-ai-prompts{padding:15px;display:flex;flex-direction:column;gap:8px}.ops-ai-prompts>b{font-size:11px;margin-bottom:3px}.ops-ai-prompts>button{border:1px solid var(--border);background:var(--raised);color:var(--text);padding:11px;border-radius:7px;text-align:left;font-size:11px}.ops-ai-prompts>button:hover{border-color:var(--green);color:var(--green);transform:translateX(2px)}.ops-ai-note{margin-top:auto;padding:12px;background:var(--green-bg);border-radius:8px}.ops-ai-note b,.ops-ai-note span{display:block}.ops-ai-note b{font-size:10px;color:var(--green);margin-bottom:4px}.ops-ai-note span{font-size:9px;color:var(--muted);line-height:1.5}.ops-ai-chat{display:flex;flex-direction:column}.ops-ai-head{min-height:62px;padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.ops-ai-head b,.ops-ai-head span{display:block}.ops-ai-head>div>span{font-size:9px;color:var(--muted);margin-top:3px}.ops-ai-messages{flex:1;overflow:auto;padding:18px}.ops-ai-empty{height:100%;display:grid;place-content:center;justify-items:center;text-align:center;color:var(--muted)}.ops-ai-empty>span{font-size:30px;color:var(--green)}.ops-ai-empty b{font-size:15px;color:var(--text);margin-top:7px}.ops-ai-empty p{font-size:10px}.ops-ai-message{max-width:78%;padding:10px 12px;margin:8px 0;border-radius:10px;background:var(--raised);border:1px solid var(--border)}.ops-ai-message.user{margin-left:auto;background:var(--green-bg);border-color:color-mix(in srgb,var(--green) 40%,var(--border))}.ops-ai-message b{font-size:9px;color:var(--green)}.ops-ai-message p{margin:4px 0 0;font-size:11px;line-height:1.55}.ops-ai-message.pending{opacity:.72}.ops-ai-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border)}.ops-ai-input input{flex:1;min-width:0;background:var(--raised);border:1px solid var(--border);border-radius:7px;color:var(--text);padding:10px 12px;outline:none}.ops-ai-input input:focus{background:var(--card);border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 18%,transparent)}

@media(max-width:760px){
  .sidebar-head{height:56px}.work-head{top:104px;height:50px}.nav button{min-height:40px}
  .filters{grid-template-columns:1fr}.resultsbar{align-items:flex-start;gap:8px;flex-direction:column}
}

/* v7.2 — movimento, profundidade e microinterações */
@keyframes pageReveal{from{opacity:0;transform:translateY(10px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
@keyframes cardReveal{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes rowReveal{from{opacity:0;transform:translateX(-7px)}to{opacity:1;transform:none}}
@keyframes rippleOut{from{opacity:.28;transform:scale(0)}to{opacity:0;transform:scale(1)}}
@keyframes softPulse{0%,100%{box-shadow:0 0 0 0 rgba(57,211,83,0)}50%{box-shadow:0 0 0 5px rgba(57,211,83,.08)}}

.work-main>.page-pad,.public-main>.content-wide,.client-support-layout,.support{animation:pageReveal .34s cubic-bezier(.2,.8,.2,1) both}
.kpi,.panel,.contract-card,.settings-group,.permissions-card,.form-card,.analysis-box,.section-table,.table-wrap{animation:cardReveal .38s cubic-bezier(.2,.8,.2,1) both}
.kpis>*:nth-child(2),.client-cards>*:nth-child(2),.grid-2>*:nth-child(2){animation-delay:45ms}
.kpis>*:nth-child(3),.client-cards>*:nth-child(3){animation-delay:90ms}
.kpis>*:nth-child(4),.client-cards>*:nth-child(4){animation-delay:135ms}
tbody tr{animation:rowReveal .26s ease-out both}
tbody tr:nth-child(2){animation-delay:20ms}tbody tr:nth-child(3){animation-delay:40ms}tbody tr:nth-child(4){animation-delay:60ms}tbody tr:nth-child(5){animation-delay:80ms}tbody tr:nth-child(n+6){animation-delay:100ms}

button,.clickable-row,.choice,.contract-card{position:relative;overflow:hidden;isolation:isolate}
.ui-ripple{position:absolute;z-index:0;border-radius:50%;pointer-events:none;background:currentColor;animation:rippleOut .55s ease-out forwards;transform-origin:center}
.btn,.utility-btn,.page,.nav button,.ai-prompts button,.choice,.toggle{transition:transform .18s cubic-bezier(.2,.8,.2,1),background-color .18s,border-color .18s,color .18s,box-shadow .18s}
.btn:hover,.utility-btn:hover,.page:hover,.ai-prompts button:hover{transform:translateY(-2px)}
.btn:active,.utility-btn:active,.page:active,.nav button:active,.choice:active{transform:translateY(0) scale(.975)}
.btn.primary:hover{box-shadow:0 8px 24px rgba(57,211,83,.2)}

.nav button{position:relative}
.nav button::before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;border-radius:4px;background:var(--green);transform:translateY(-50%);transition:height .2s cubic-bezier(.2,.8,.2,1)}
.nav button.active::before{height:58%}
.nav button:hover{padding-left:14px}
.nav button.active .nicon{transform:scale(1.08);filter:drop-shadow(0 0 5px rgba(57,211,83,.25))}
.nav .nicon{transition:transform .2s,filter .2s}

.kpi,.panel,.contract-card,.analysis-box,.settings-group{transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s,box-shadow .22s,background-color .22s}
.kpi:hover,.contract-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--green) 35%,var(--border));box-shadow:0 14px 34px rgba(0,0,0,.16)}
.panel:hover,.analysis-box:hover{border-color:var(--border2);box-shadow:0 10px 28px rgba(0,0,0,.1)}
.kpi-value{transition:transform .2s,color .2s}.kpi:hover .kpi-value{transform:translateY(-1px)}

tbody tr{transition:background-color .15s,box-shadow .15s}
tbody tr:hover{box-shadow:inset 3px 0 0 var(--green)}
.public-table th:first-child,.public-table tbody td:first-child{padding-left:22px}
.public-table tbody tr:hover td:first-child{padding-left:22px}
.public-table tbody td:first-child{transition:color .18s}
.sort-header,.public-table th[role="button"] i{transition:color .16s,transform .16s}
.public-table th[role="button"]:hover i{transform:translateY(-1px)}

.modal{animation:cardReveal .24s cubic-bezier(.2,.8,.2,1) both}.overlay{animation:fade .2s ease-out both}
.a11y-panel,.notification-panel,.employee-ai{transform-origin:top right;animation:cardReveal .22s cubic-bezier(.2,.8,.2,1) both}
.toast{animation:cardReveal .25s cubic-bezier(.2,.8,.2,1),softPulse 1.8s ease-in-out infinite}
.bubble-row{animation:rowReveal .22s ease-out both}.ai-bubble{transition:background-color .2s,border-color .2s,color .2s}
.progress i,.ticket-progress i{transition:width .55s cubic-bezier(.2,.8,.2,1)}
.toggle i{transition:transform .22s cubic-bezier(.2,.8,.2,1)}

.login-card{animation:cardReveal .38s cubic-bezier(.2,.8,.2,1) both}.login-brand{animation:pageReveal .35s ease-out both}
.choice:hover{transform:translateX(4px);box-shadow:0 9px 24px rgba(0,0,0,.14)}
.brand-mark{transition:transform .22s,box-shadow .22s}.brand:hover .brand-mark,.login-brand:hover .brand-mark{transform:rotate(-4deg) scale(1.06);box-shadow:0 7px 18px rgba(57,211,83,.2)}

*{scrollbar-width:thin;scrollbar-color:var(--border2) transparent}
*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border2);border:2px solid transparent;border-radius:10px;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--muted)}

:root[data-motion="reduced"] .ui-ripple{display:none!important}
:root[data-motion="reduced"] .nav button:hover{padding-left:inherit}

/* Identidade oficial MangueBeat */
.public-top .brand-mark,.login-brand .brand-mark,.sidebar-head>.brand-mark{display:none!important}
.public-top .brand-title,.sidebar-head .brand-title,.login-brand>b{display:block;background:url("assets/manguebeat-logo.png") left center/contain no-repeat;color:transparent!important;font-size:0!important;filter:none}
.public-top .brand{gap:0;min-width:172px}
.public-top .brand-title{width:164px;height:36px}
.public-top .brand-sub{margin-top:1px;font-size:9px;letter-spacing:.16em}
.login-brand{flex-direction:column;gap:8px}
.login-brand>b{width:min(250px,72vw);height:58px}
.login-brand::after{content:"Portal de gestão e transparência";color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.sidebar-head>div:last-child{min-width:0;flex:1}
.sidebar-head .brand-title{width:150px;height:32px;max-width:100%}
.sidebar-head .brand-sub{margin-top:2px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root[data-theme="light"] .public-top .brand-title,:root[data-theme="light"] .sidebar-head .brand-title,:root[data-theme="light"] .login-brand>b{filter:brightness(.48) saturate(.82)}

@media(max-width:760px){
  .sidebar-head .brand-title{width:132px;height:28px}
  .sidebar-head .brand-sub{display:none}
  .public-top .brand{min-width:138px}.public-top .brand-title{width:138px;height:31px}.public-top .brand-sub{display:none}
}

/* Correções do Portal do Cliente e feedback da MangueIA */
.client-utility{top:8px;right:14px;z-index:60;display:flex;gap:4px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 8px 24px rgba(0,0,0,.16);backdrop-filter:blur(8px)}
.client-utility .utility-btn{margin:0;border-color:transparent;background:transparent;box-shadow:none}
.client-support-layout .chat-head{min-height:64px;padding:12px 112px 12px 18px;align-items:flex-start;justify-content:center;flex-direction:column;gap:3px}
.client-support-layout .chat-head .page-sub{width:100%;min-width:0;overflow-wrap:anywhere;line-height:1.45}
.client-support-layout .chat-body{scroll-behavior:smooth}
.client-support-layout .ai-bubble{position:relative}
.client-support-layout .bubble-row:last-child .ai-bubble{animation:fade .2s ease-out}
.ai-prompts button{min-height:40px;padding:10px;font-size:12px;border-radius:var(--radius-sm)}

/* Evita colisão entre o contêiner .support e mensagens .bubble-row.support */
.client-support-layout .bubble-row,
.client-support-layout .bubble-row.support{height:auto;min-height:0;flex:none;display:flex;margin:6px 0}
.client-support-layout .bubble-row.support{align-items:flex-end}
.client-support-layout .chat-body{display:flex;flex-direction:column;justify-content:flex-start;padding:16px 18px;overflow-y:auto}
.client-support-layout .bubble{width:fit-content;max-width:min(76%,680px);padding:9px 12px;border-radius:10px;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.client-support-layout .bubble-name{margin-bottom:3px;font-size:10px;line-height:1.3}
.client-support-layout .chat-input{padding:10px 14px;min-height:58px}
.client-support-layout .chat-input input{min-width:0}
:root[data-theme="light"] .btn.primary{color:#fff;background:var(--green);border-color:var(--green)}
:root[data-theme="light"] .btn.primary:hover{color:#fff;background:var(--green-dim);border-color:var(--green-dim)}
:root[data-theme="light"] .nav button.active{background:#e3f1e7;color:#145c30}
.client-support-layout .chat-input{isolation:isolate;z-index:30}
.client-support-layout .chat-input input{position:relative;z-index:2;cursor:text;caret-color:var(--green);touch-action:manipulation;-webkit-user-select:text!important;user-select:text!important}
.client-support-layout .chat-input input:focus{background:var(--card);border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 18%,transparent)}
.chart-type-grid button{color:var(--muted);border-color:var(--border);background:color-mix(in srgb,var(--raised) 92%,var(--green-bg));transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s}
.chart-type-grid button:hover{color:var(--text);border-color:color-mix(in srgb,var(--green) 42%,var(--border));background:color-mix(in srgb,var(--green-bg) 55%,var(--raised));transform:translateY(-1px)}
.chart-type-grid button.active{color:#fff;background:linear-gradient(145deg,var(--green),var(--green-dim));border-color:var(--green-dim);box-shadow:0 6px 16px color-mix(in srgb,var(--green) 24%,transparent);font-weight:750}
:root[data-theme="light"] .chart-type-grid button{background:#f0f4f1;color:#5b6a60;border-color:#d2dcd5}
:root[data-theme="light"] .chart-type-grid button:hover{background:#e6f1e9;color:#185f34;border-color:#91b9a0}
:root[data-theme="light"] .chart-type-grid button.active{background:linear-gradient(145deg,#19723a,#145c30);color:#fff;border-color:#145c30;box-shadow:0 7px 17px rgba(20,92,48,.2)}
:root[data-theme="light"] .badge{font-weight:650;text-shadow:none;box-shadow:none;border:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:root[data-theme="light"] .badge.green{background:#e4f3e9;color:#176b39}
:root[data-theme="light"] .badge.yellow{background:#fff1d2;color:#8a5b00}
:root[data-theme="light"] .badge.red{background:#fde7e7;color:#c52f32}
:root[data-theme="light"] .badge.gray{background:#e8eeea;color:#506057}
.help-page{padding:26px;max-width:1180px;margin:0 auto}.help-intro{display:flex;align-items:center;gap:16px;margin-bottom:20px}.help-orb,.tour-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--green-bg);color:var(--green);font-size:26px;font-weight:900}.eyebrow{color:var(--green);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.help-intro h2{margin:3px 0 5px;font-size:24px}.help-intro p{margin:0;color:var(--muted);font-size:12px}.help-layout{display:grid;grid-template-columns:280px 1fr;gap:14px;height:calc(100vh - 160px);min-height:480px}.help-suggestions,.help-chat{border:1px solid var(--border);background:var(--card);border-radius:12px;overflow:hidden}.help-suggestions{padding:16px;display:flex;flex-direction:column;gap:8px}.help-suggestions>b{font-size:11px;margin-bottom:4px}.help-suggestions>button:not(.btn){border:1px solid var(--border);background:var(--raised);color:var(--text);padding:10px 11px;border-radius:7px;text-align:left;font-size:11px}.help-suggestions>button:not(.btn):hover{border-color:var(--green);color:var(--green)}.help-suggestions .btn{margin-top:auto}.help-chat{display:flex;flex-direction:column}.help-chat-head{min-height:62px;padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.help-chat-head b,.help-chat-head span{display:block}.help-chat-head>div>span{font-size:9px;color:var(--muted);margin-top:3px}.help-messages{flex:1;overflow:auto;padding:18px}.help-welcome{height:100%;display:grid;place-content:center;text-align:center;color:var(--muted);gap:5px}.help-welcome b{color:var(--text);font-size:15px}.help-message{max-width:76%;margin:8px 0;padding:10px 12px;border-radius:10px;background:var(--raised);border:1px solid var(--border)}.help-message.user{margin-left:auto;background:var(--green-bg);border-color:color-mix(in srgb,var(--green) 45%,var(--border))}.help-message b{font-size:9px;color:var(--green)}.help-message p{margin:4px 0 0;font-size:12px;line-height:1.5}.help-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border)}.help-input input{flex:1;min-width:0;background:var(--raised);border:1px solid var(--border);border-radius:7px;color:var(--text);padding:10px 12px;outline:none}.help-input input:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 18%,transparent)}
.tour-overlay{position:fixed;inset:0;z-index:500;background:rgba(3,10,6,.72);backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px}.tour-card{position:relative;width:min(560px,94vw);background:var(--card);border:1px solid var(--border2);border-radius:18px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,.34)}.tour-close{position:absolute;right:16px;top:15px;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--raised);color:var(--muted)}.tour-progress{display:flex;gap:6px;margin-bottom:26px;padding-right:44px}.tour-progress i{height:4px;flex:1;border-radius:8px;background:var(--border)}.tour-progress i.active{background:var(--green)}.tour-icon{margin-bottom:16px}.tour-card>span{font-size:9px;color:var(--green);font-weight:850;letter-spacing:.09em}.tour-card h2{font-size:24px;margin:7px 0 9px}.tour-card p{color:var(--muted);font-size:13px;line-height:1.65;min-height:44px}.tour-actions{display:flex;justify-content:space-between;align-items:center;margin-top:26px;gap:12px}.tour-actions>div{display:flex;gap:8px}

@media(max-width:760px){
  .client-utility{position:absolute;top:8px;right:10px}
  .client-support-layout{padding-top:54px}
  .client-support-layout .chat-head{min-height:auto;padding:14px 16px}
  .client-support-layout .chat-body{min-height:360px;padding:14px}
  .client-support-layout .bubble{max-width:88%}
  .help-page{padding:16px}.help-layout{grid-template-columns:1fr;height:auto}.help-suggestions{max-height:none}.help-chat{min-height:480px}.tour-actions{align-items:stretch;flex-direction:column-reverse}.tour-actions>div{justify-content:flex-end}.tour-actions .btn{flex:1}
  .ops-ai-page{padding:14px}.ops-ai-layout{grid-template-columns:1fr;height:auto}.ops-ai-chat{min-height:500px}.ops-ai-hero>.ai-mode{display:none}
}

/* Cabeçalhos resilientes: títulos e ações nunca disputam a mesma área. */
.page-title-row{align-items:flex-start;justify-content:flex-start;gap:10px 12px;flex-wrap:wrap;min-width:0;margin-bottom:18px}
.page-title-row>div:first-child{flex:1 1 320px;min-width:220px;padding-right:12px}
.page-title-row>.spacer{display:none}
.page-title-row>.btn{flex:0 0 auto;white-space:nowrap}
.page-title-row .page-sub{max-width:68ch;line-height:1.45}
.section-head{gap:10px;flex-wrap:wrap}
.section-head>.searchbox{flex:1 1 220px!important;max-width:360px!important;margin-left:0!important}
.section-head>.spacer{flex:1 1 12px}
.section-head>.btn,.section-head>select{flex:0 0 auto;white-space:nowrap}
.section-table td:last-child{white-space:nowrap}
.doc{gap:14px;flex-wrap:wrap}
.doc>div:first-child{min-width:0;overflow-wrap:anywhere}

@media(max-width:900px){
  .page-title-row>div:first-child{flex-basis:100%;padding-right:0}
  .page-title-row>.btn{flex:1 1 auto}
  .section-head>.spacer{display:none}
}

@media(max-width:600px){
  .page-title-row{display:grid;grid-template-columns:1fr;margin-bottom:16px}
  .page-title-row>div:first-child{min-width:0}
  .page-title-row>.btn{width:100%}
  .section-head{align-items:stretch}
  .section-head>b{width:100%}
  .section-head>.searchbox,.section-head>select,.section-head>.btn{flex:1 1 100%!important;max-width:none!important;width:100%}
  .setting-row{align-items:flex-start;gap:14px;flex-wrap:wrap}
  .setting-row>div:first-child{flex:1 1 220px;min-width:0}
  .system-grid{grid-template-columns:1fr}
  .log-toolbar{flex-wrap:wrap}
  .log-toolbar>*{flex:1 1 180px}
}

/* Tipografia e legibilidade v7 — Gotham quando disponível no sistema. */
@font-face{font-family:"Gotham Mangue";src:local("Gotham"),local("Gotham Book"),local("Gotham-Book");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Gotham Mangue";src:local("Gotham Medium"),local("Gotham-Medium"),local("Gotham Bold"),local("Gotham-Bold");font-weight:600 900;font-style:normal;font-display:swap}
:root{--site-font:"Gotham Mangue","Gotham","Montserrat","Avenir Next","Century Gothic","Segoe UI",Arial,sans-serif}
body,button,input,select,textarea{font-family:var(--site-font)}
body{font-size:14px;line-height:1.42}
.mono,.demo-org span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* Escala ligeiramente maior sem perder a hierarquia ou apertar os controles. */
.sidebar{width:218px}
.nav button{font-size:12px;line-height:1.25;padding:10px 11px;min-height:38px}
.sidebar-head{min-height:56px;height:auto;padding-top:8px;padding-bottom:8px}
.work-head{min-height:48px;height:auto;gap:8px;flex-wrap:wrap;padding-top:5px;padding-bottom:5px}
.page-h{font-size:18px;line-height:1.25}.page-sub{font-size:12px;line-height:1.5}
.btn{font-size:11px;min-height:36px;line-height:1.2}.btn.small{font-size:10px;min-height:32px}
.field label,.chart-controls label,.panel-title,.section-head b,.settings-title{font-size:10px}
.field input,.field select,.field textarea,.searchbox input{font-size:12px;min-height:40px}
.section-table table,.public-table table{font-size:11px}.section-table th,.public-table th{font-size:10px}.section-table td{padding-top:11px;padding-bottom:11px}
.badge{font-size:10px;line-height:1.25;padding:5px 9px}
.kpi-label{font-size:10px}.kpi-value{font-size:22px}.kpi-sub{font-size:10px}
.setting-row b{font-size:12px}.setting-row span{font-size:10px;line-height:1.45}
.bubble,.client-support-layout .bubble,.ops-ai-message p,.help-message p{font-size:13px}
.chat-input input,.ops-ai-input input,.help-input input{font-size:13px;min-height:46px}

/* Foco mais discreto: ainda visível para teclado, sem a moldura verde dupla. */
:focus-visible{outline:2px solid color-mix(in srgb,var(--green) 68%,var(--text))!important;outline-offset:2px!important}
.searchbox input:focus,.field input:focus,.field select:focus,.field textarea:focus,
.chat-input input:focus,.employee-ai-input input:focus,.client-support-layout .chat-input input:focus,
.ops-ai-input input:focus,.help-input input:focus{border-color:color-mix(in srgb,var(--green) 68%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 12%,transparent);outline:none!important}
.client-support-layout .chat-input{padding:12px 14px}

/* Fluxo contratual: etapas maiores e mais evidentes, sobretudo no tema claro. */
.workflow{gap:7px;padding:12px;min-height:48px}
.workflow span{font-size:10px;line-height:1.25;padding:7px 10px;border:1px solid var(--border);border-radius:5px;font-weight:650}
.workflow span.done{border-color:color-mix(in srgb,var(--green) 38%,var(--border));background:color-mix(in srgb,var(--green-bg) 84%,var(--card));color:var(--green)}
.workflow i{font-size:13px;color:var(--muted)}
:root[data-theme="light"] .workflow{background:#f7faf8;border-color:#c4d2c8}
:root[data-theme="light"] .workflow span{background:#fff;border-color:#c7d5cb;color:#52645a;box-shadow:0 1px 2px rgba(20,55,32,.05)}
:root[data-theme="light"] .workflow span.done{background:#dff1e4;border-color:#9fc7aa;color:#145c30;box-shadow:0 2px 5px rgba(20,92,48,.09)}
:root[data-theme="light"] .workflow i{color:#718078}

@media(max-width:1100px){
  .sidebar{width:205px}
  .page-pad{padding:22px 18px}
  .section-table table,.public-table table{min-width:980px}
}
@media(max-width:760px){
  .sidebar{width:100%}
  .nav button{font-size:11px;min-height:36px}
  .work-head{top:96px;min-height:48px}
  .page-h{font-size:19px}
  .workflow span{font-size:10px;padding:7px 9px}
}

/* Leitura confortável v8: elimina textos funcionais abaixo de 11px. */
:root{--muted:#a8b2bd;--faint:#727d88}
:root[data-theme="light"]{--text:#101b14;--muted:#4b5c51;--faint:#68776d;--border:#cbd7cf;--border2:#a9b9ae}
body{font-size:15px;line-height:1.5;letter-spacing:.005em}
.brand-title{font-size:15px}.brand-sub{font-size:10px;line-height:1.3}
.updated,.lgpd,.resultsbar{font-size:12px;line-height:1.45}
.title{font-size:28px;line-height:1.2}.subtitle{font-size:14px;line-height:1.5}
.public-nav button{font-size:14px}
.nav button{font-size:13px;line-height:1.35;min-height:42px}
.user-card b{font-size:12px}.user-card span,.user-card small{font-size:10px;line-height:1.4}.logout{font-size:12px;min-height:36px}
.work-head{font-size:12px}.access-chip{font-size:10px;padding:4px 8px}
.page-h{font-size:21px}.dashboard-figma .dash-title{font-size:23px}.page-sub,.dash-date{font-size:13px}
.btn{font-size:12px;min-height:40px;padding:10px 14px}.btn.small{font-size:11px;min-height:35px;padding:7px 10px}
.field label,.chart-controls label,.panel-title,.section-head b,.settings-title,.form-section-title{font-size:11px;line-height:1.35}
.field input,.field select,.field textarea,.searchbox input{font-size:13px;min-height:44px;line-height:1.4}
.section-table table,.public-table table,table{font-size:12px;line-height:1.4}
.section-table th,.public-table th,th{font-size:11px;line-height:1.35;padding-top:12px;padding-bottom:12px}
.section-table td,.public-table td,td{padding-top:12px;padding-bottom:12px}
.badge{font-size:11px;line-height:1.3;padding:5px 9px}
.kpi{padding:17px}.kpi-label{font-size:11px;line-height:1.35}.kpi-value{font-size:24px}.kpi-sub{font-size:11px;line-height:1.4}
.analysis-head,.analysis-head b,.chart-controls small,.chart-controls p,.mini-summary>div{font-size:11px;line-height:1.4}
.chart-controls select,.chart-type-grid button{font-size:12px;min-height:38px}
.chart-label{font-size:11px}
.detail span,.contract-health span{font-size:11px;line-height:1.35}.detail b,.contract-health b{font-size:14px;line-height:1.4}
.notice,.publish-warning,.publish-warning span{font-size:12px;line-height:1.5}
.timeline h4,.timeline-row b{font-size:11px}.timeline-row span{font-size:11px;line-height:1.4}
.ticket-tabs button,.ticket-item .meta,.bubble-name,.client-support-layout .bubble-name{font-size:11px}
.ticket-item b{font-size:13px}.ticket-item p{font-size:12px}.ticket-item{padding:13px 14px}
.bubble,.client-support-layout .bubble,.ops-ai-message p,.help-message p{font-size:14px;line-height:1.55}
.chat-input input,.ops-ai-input input,.help-input input{font-size:14px;min-height:48px}
.ai-side h3{font-size:16px}.ai-side p,.ai-prompts button,.ai-badge{font-size:12px;line-height:1.5}
.a11y-title span,.a11y-note,.a11y-section p,.a11y-section-title,.speech-rate{font-size:11px;line-height:1.5}
.notification-item b{font-size:12px}.notification-item span,.empty-note{font-size:11px;line-height:1.5}
.setting-row b{font-size:13px}.setting-row span,.system-grid span,.system-grid b{font-size:11px;line-height:1.45}
.ops-ai-hero p,.ops-ai-prompts>b,.ops-ai-prompts>button,.ops-ai-note b,.ops-ai-note span,.ops-ai-head>div>span,.ops-ai-message b,.ops-ai-empty p{font-size:12px;line-height:1.5}
.help-intro p,.help-suggestions>b,.help-suggestions>button:not(.btn),.help-chat-head>div>span,.help-message b{font-size:12px;line-height:1.5}
.workflow span{font-size:11px;min-height:34px;display:inline-flex;align-items:center}
.legal-flow{font-size:11px;line-height:1.4;flex-wrap:wrap}.legal-flow span{padding:7px 9px}
.demo-org-title,.demo-org,.demo-org b,.demo-org span,.demo-org-pass,.demo-pass{font-size:11px!important;line-height:1.45}
.choice strong{font-size:14px}.choice span,.login-body p,.backlink,.error{font-size:12px;line-height:1.45}

@media(max-width:1100px){
  .sidebar{width:218px}
  .section-table table,.public-table table{min-width:1080px}
  .analysis-body{grid-template-columns:280px 1fr}
}
@media(max-width:760px){
  body{font-size:14px}
  .nav button{font-size:12px;min-height:39px}
  .title{font-size:25px}.page-h{font-size:20px}
  .kpi-value{font-size:22px}
  .btn{min-height:42px}
}

/* Resumos compactos: horas, SLA, eventos e estados da IA. */
.service-progress{padding:16px 14px}
.service-progress-head{gap:14px;margin-bottom:11px}
.service-progress-head b{font-size:13px;line-height:1.4}
.service-progress-head span{font-size:12px;line-height:1.45;margin-top:4px;color:var(--muted)}
.service-progress-head strong{font-size:17px;line-height:1.3;color:var(--text)}
.service-progress .progress.large{height:10px}
.service-metrics{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 30px;margin-top:11px;font-size:13px;line-height:1.45;color:var(--muted)}
.service-metrics span{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap}
.service-metrics b{font-size:13px;color:var(--text);margin-left:0;font-weight:800}
.dash-live,.sla-mini{font-size:11px;line-height:1.4}
.sla-mini{grid-template-columns:76px 1fr 44px;padding:10px 9px}
.client-event{grid-template-columns:90px minmax(0,1fr) auto;font-size:12px;line-height:1.45;padding:11px 10px}
.mini-record b{font-size:12px}.mini-record span,.mini-record small{font-size:11px;line-height:1.45}
.ai-mode,.ai-legend,.employee-ai-msg b,.employee-ai-msg span,.employee-ai-input input,.ai-empty{font-size:11px;line-height:1.5}
.notification-btn span{font-size:10px;min-width:18px;height:18px}

@media(max-width:560px){
  .service-metrics{display:grid;grid-template-columns:1fr;gap:6px}
  .client-event{grid-template-columns:1fr}.client-event small{justify-self:start}
}

/* Central de acessibilidade em tela inteira. */
.a11y-overlay{position:fixed;inset:0;z-index:490;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(9px);display:grid;place-items:center;padding:24px}
.a11y-overlay .a11y-panel{position:relative;inset:auto;width:min(1120px,100%);height:min(760px,calc(100vh - 48px));max-height:none;border-radius:20px;border:1px solid var(--border2);background:var(--bg);box-shadow:0 30px 100px rgba(0,0,0,.45);overflow:hidden;display:flex;flex-direction:column}
.a11y-overlay .a11y-title{flex:none;display:grid;grid-template-columns:64px minmax(0,1fr) 48px;align-items:center;gap:18px;padding:24px 28px;background:var(--card);border-bottom:1px solid var(--border)}
.a11y-heading-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--green-bg);border:1px solid color-mix(in srgb,var(--green) 40%,var(--border));color:var(--green);font-size:30px}
.a11y-overlay .a11y-title span{display:block;color:var(--green);font-size:11px;font-weight:850;letter-spacing:.1em;margin-bottom:3px}
.a11y-overlay .a11y-title h2{margin:0;color:var(--text);font-size:28px;line-height:1.2}
.a11y-overlay .a11y-title p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.5}
.a11y-close{width:48px;height:48px;border:1px solid var(--border);border-radius:12px;background:var(--raised);color:var(--text);font-size:18px}
.a11y-close:hover{border-color:var(--green);color:var(--green)}
.a11y-content{flex:1;overflow:auto;padding:24px 28px 28px}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.a11y-card{min-height:174px;display:grid;grid-template-columns:54px minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:8px 16px;align-items:start;padding:20px;border:1px solid var(--border);border-radius:15px;background:var(--card)}
.a11y-card:hover{border-color:color-mix(in srgb,var(--green) 42%,var(--border))}
.a11y-card-icon{grid-row:1/3;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:var(--raised);border:1px solid var(--border);color:var(--green);font-size:22px;font-weight:850}
.a11y-card-copy h3{font-size:18px;line-height:1.3;margin:1px 0 6px;color:var(--text)}
.a11y-card-copy p{font-size:14px;line-height:1.55;margin:0;color:var(--muted);max-width:48ch}
.a11y-card-copy p b{color:var(--text)}
.a11y-card .a11y-actions,.a11y-card .a11y-switch{grid-column:2/4;align-self:end}
.font-actions{display:flex;gap:8px}.font-actions .btn{min-width:72px;font-size:14px}
.a11y-switch{justify-self:start;min-width:150px;min-height:46px;border:1px solid var(--border2);border-radius:24px;background:var(--raised);color:var(--muted);display:inline-flex;align-items:center;justify-content:space-between;gap:15px;padding:5px 6px 5px 17px;font-size:13px;font-weight:750}
.a11y-switch i{width:34px;height:34px;border-radius:50%;background:var(--muted);position:relative}
.a11y-switch i:after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--card)}
.a11y-switch.on{background:var(--green-bg);border-color:var(--green);color:var(--green)}.a11y-switch.on i{background:var(--green)}
.a11y-switch:disabled{opacity:.55;cursor:not-allowed}
.a11y-ai{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:16px;padding:22px 24px;border-radius:15px;border:1px solid color-mix(in srgb,var(--green) 40%,var(--border));background:linear-gradient(135deg,var(--green-bg),var(--card))}
.a11y-ai span{font-size:11px;color:var(--green);font-weight:850;letter-spacing:.09em}.a11y-ai h3{font-size:19px;margin:5px 0}.a11y-ai p{font-size:14px;line-height:1.55;color:var(--muted);margin:0;max-width:72ch}
.a11y-ai .btn{font-size:13px;white-space:nowrap}.a11y-ai .a11y-explanation{grid-column:1/-1;font-size:14px;line-height:1.6;margin-top:2px;padding:16px}
.a11y-overlay .a11y-note{display:grid;grid-template-columns:130px 1fr;gap:12px;margin-top:16px;padding:15px 18px;border:1px solid var(--border);border-radius:12px;background:var(--card);font-size:13px;line-height:1.55;color:var(--muted)}
.a11y-overlay .a11y-note b{color:var(--text)}

@media(max-width:780px){
  .a11y-overlay{padding:0}.a11y-overlay .a11y-panel{width:100%;height:100vh;border-radius:0;border:0}
  .a11y-overlay .a11y-title{grid-template-columns:50px minmax(0,1fr) 44px;padding:18px 16px;gap:12px}
  .a11y-heading-icon{width:50px;height:50px;border-radius:13px;font-size:24px}
  .a11y-overlay .a11y-title h2{font-size:22px}.a11y-overlay .a11y-title p{font-size:13px}
  .a11y-content{padding:16px}.a11y-grid{grid-template-columns:1fr}
  .a11y-card{min-height:166px;grid-template-columns:46px minmax(0,1fr);padding:17px}.a11y-card-icon{width:46px;height:46px}
  .a11y-card .a11y-actions,.a11y-card .a11y-switch{grid-column:1/3}
  .a11y-ai{grid-template-columns:1fr}.a11y-ai .btn{width:100%}
  .a11y-overlay .a11y-note{grid-template-columns:1fr}
}

/* Consulta de contrato no Portal do Cliente. */
.client-contract-link{cursor:pointer;position:relative;padding-bottom:42px!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.client-contract-link:hover,.client-contract-link:focus-visible{border-color:color-mix(in srgb,var(--green) 52%,var(--border));background:color-mix(in srgb,var(--green-bg) 22%,var(--card));box-shadow:0 10px 26px color-mix(in srgb,var(--green) 12%,transparent);transform:translateY(-2px)}
.client-open-hint{position:absolute;left:14px;bottom:11px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.01em}
.client-contract-overlay{z-index:420}
.client-contract-modal{width:min(920px,96vw);max-height:92vh}
.client-contract-modal .modal-head{align-items:flex-start;gap:20px;padding:20px 24px}.client-contract-modal .modal-head h2{font-size:18px;margin:5px 0}.client-contract-modal .modal-head p{font-size:13px;line-height:1.5;color:var(--muted);margin:0;max-width:68ch}
.readonly-label{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--green-bg);color:var(--green);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.client-contract-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.client-contract-summary>div{min-height:86px;padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--raised)}.client-contract-summary span{display:block;color:var(--muted);font-size:11px;font-weight:750;margin-bottom:7px}.client-contract-summary b{font-size:13px;line-height:1.4}
.client-contract-section{margin-top:18px}.client-contract-section>h3,.client-contract-related h3{font-size:14px;margin:0 0 10px;color:var(--text)}
.client-contract-modal .service-progress{border:1px solid var(--border);border-radius:10px;margin-top:18px;background:var(--raised)}
.client-contract-related{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.client-contract-related>section{border:1px solid var(--border);border-radius:10px;padding:14px;background:var(--raised)}
.client-related-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.client-related-row:last-child{border-bottom:0}.client-related-row b,.client-related-row span{display:block}.client-related-row b{font-size:12px;color:var(--text)}.client-related-row>div>span{font-size:11px;color:var(--muted);margin-top:3px}
.client-readonly-note{display:grid;grid-template-columns:190px 1fr;gap:12px;margin-top:18px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--green) 36%,var(--border));border-radius:10px;background:var(--green-bg);font-size:12px;line-height:1.5}.client-readonly-note b{color:var(--green)}.client-readonly-note span{color:var(--text)}
@media(max-width:760px){.client-contract-summary{grid-template-columns:1fr 1fr}.client-contract-related{grid-template-columns:1fr}.client-readonly-note{grid-template-columns:1fr}}
@media(max-width:480px){.client-contract-summary{grid-template-columns:1fr}.client-contract-modal .modal-head{padding:16px}.client-contract-modal .modal-body{padding:16px}}
.client-documents-page{max-width:1100px;margin:0 auto}.client-document-group{margin-top:16px;border:1px solid var(--border);border-radius:12px;background:var(--card);overflow:hidden}.client-document-group>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;background:var(--raised);border-bottom:1px solid var(--border)}.client-document-group>header b,.client-document-group>header span{display:block}.client-document-group>header span{font-size:12px;color:var(--muted);margin-top:4px}.client-document-list{padding:4px 14px}.client-document-list .doc{border-width:0 0 1px;margin:0;border-radius:0;padding:14px 3px}.client-document-list .doc:last-child{border-bottom:0}.client-document-list .doc b,.client-document-list .doc span{display:block}.client-document-list .doc b{font-size:13px;color:var(--text)}.client-document-list .doc>div>span{font-size:11px;color:var(--muted);margin-top:4px}

/* Configuração guiada e preferências adicionais de acessibilidade. */
.a11y-guided-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--green) 38%,var(--border));border-radius:14px;background:linear-gradient(120deg,color-mix(in srgb,var(--green-bg) 72%,var(--card)),var(--card))}.a11y-guided-callout span,.a11y-setup-intro b{display:block;color:var(--green);font-size:11px;font-weight:850;letter-spacing:.08em}.a11y-guided-callout h3{margin:5px 0 4px;font-size:18px}.a11y-guided-callout p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.a11y-overlay .a11y-panel.a11y-setup{width:min(980px,calc(100vw - 32px));height:auto;max-height:calc(100vh - 32px);margin:auto;border-radius:18px;overflow:auto}.a11y-setup-overlay{padding:16px}.a11y-overlay .a11y-title.a11y-setup-title{position:sticky;top:0;z-index:2;grid-template-columns:64px minmax(0,1fr) max-content}.a11y-setup-title>.btn{margin-left:auto;white-space:nowrap;max-width:100%}.a11y-setup-intro{display:flex;gap:10px;align-items:baseline;margin-bottom:16px}.a11y-setup-intro span{color:var(--muted);font-size:13px}.a11y-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.a11y-preference-group{min-width:0;margin:0;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--raised)}.a11y-preference-group legend{padding:0 7px;color:var(--green);font-size:13px;font-weight:850}.a11y-preference-group label{display:flex;align-items:center;gap:12px;min-height:52px;padding:7px 8px;border-radius:9px;cursor:pointer}.a11y-preference-group label:hover{background:var(--green-bg)}.a11y-preference-group input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--green)}.a11y-preference-group label span,.a11y-preference-group label b,.a11y-preference-group label small{display:block}.a11y-preference-group label b{font-size:13px;color:var(--text)}.a11y-preference-group label small{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.35}.a11y-description{margin-top:16px}.a11y-description label b{font-size:12px;letter-spacing:.03em}.a11y-description label span{color:var(--muted);font-weight:600}.a11y-description textarea{width:100%;margin-top:8px;min-height:76px;padding:12px 14px;resize:vertical;border:1px solid var(--border);border-radius:10px;background:var(--raised);color:var(--text);font:inherit;line-height:1.5}.a11y-description textarea:focus{border-color:var(--green);outline:3px solid color-mix(in srgb,var(--green) 18%,transparent)}.a11y-description p{margin:7px 0 0;color:var(--muted);font-size:11px}.a11y-setup-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.a11y-setup-actions>div{display:flex;gap:9px}
html[data-large-targets="true"] button,html[data-large-targets="true"] a,html[data-large-targets="true"] [role="button"]{min-height:46px}html[data-large-targets="true"] .nav button{padding-block:13px}
html[data-spacious="true"] .page-pad{padding:32px}html[data-spacious="true"] .panel,html[data-spacious="true"] .kpi{padding:22px}html[data-spacious="true"] .nav{gap:7px}html[data-spacious="true"] td,html[data-spacious="true"] th{padding-top:16px;padding-bottom:16px}
html[data-keyboard-focus="true"] :focus-visible{outline:3px solid var(--green)!important;outline-offset:3px!important;box-shadow:0 0 0 6px color-mix(in srgb,var(--green) 22%,transparent)!important}
html[data-plain-language="true"] .page-sub,html[data-plain-language="true"] .muted{line-height:1.65;letter-spacing:.01em}
@media(max-width:760px){.a11y-guided-callout,.a11y-setup-intro,.a11y-setup-actions{align-items:stretch;flex-direction:column}.a11y-guided-callout .btn{width:100%}.a11y-choice-grid{grid-template-columns:1fr}.a11y-overlay .a11y-title.a11y-setup-title{grid-template-columns:48px minmax(0,1fr)}.a11y-setup-title>.btn{grid-column:1/-1;width:100%;margin-left:0}.a11y-setup-actions>div{display:grid;grid-template-columns:1fr}.a11y-setup-actions .btn{width:100%}}

/* Tabela operacional de contratos: cabeçalho sempre acima das linhas e colunas estáveis. */
#contractsAdminWrap{position:relative;isolation:isolate;background:var(--card);scrollbar-gutter:stable}
#contractsAdminWrap .contracts-table{min-width:1500px;table-layout:fixed}
#contractsAdminWrap .contracts-table thead{position:relative;z-index:20}
#contractsAdminWrap .contracts-table th{position:sticky;top:0;z-index:20;height:54px;padding:14px;background:var(--raised);border-bottom:1px solid var(--border2);box-shadow:0 2px 0 var(--border);vertical-align:middle}
#contractsAdminWrap .contracts-table tbody{position:relative;z-index:1}
#contractsAdminWrap .contracts-table td{height:50px;min-width:0;padding:12px 14px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
#contractsAdminWrap .contracts-table th:nth-child(1),#contractsAdminWrap .contracts-table td:nth-child(1){width:135px}
#contractsAdminWrap .contracts-table th:nth-child(2),#contractsAdminWrap .contracts-table td:nth-child(2){width:350px}
#contractsAdminWrap .contracts-table th:nth-child(3),#contractsAdminWrap .contracts-table td:nth-child(3){width:215px}
#contractsAdminWrap .contracts-table th:nth-child(4),#contractsAdminWrap .contracts-table td:nth-child(4){width:365px}
#contractsAdminWrap .contracts-table th:nth-child(5),#contractsAdminWrap .contracts-table td:nth-child(5){width:155px}
#contractsAdminWrap .contracts-table th:nth-child(6),#contractsAdminWrap .contracts-table td:nth-child(6){width:90px}
#contractsAdminWrap .contracts-table th:nth-child(7),#contractsAdminWrap .contracts-table td:nth-child(7){width:95px}
#contractsAdminWrap .contracts-table th:nth-child(8),#contractsAdminWrap .contracts-table td:nth-child(8){width:120px}
#contractsAdminWrap .contracts-table th:nth-child(9),#contractsAdminWrap .contracts-table td:nth-child(9){width:130px}
html[data-spacious="true"] #contractsAdminWrap .contracts-table th{height:62px}html[data-spacious="true"] #contractsAdminWrap .contracts-table td{height:60px}

/* O contador do sino precisa ultrapassar levemente o botão sem ser recortado. */
.notification-btn{overflow:visible!important;isolation:isolate;flex:0 0 auto}
.notification-btn>span{right:-6px;top:-7px;z-index:4;min-width:19px;height:19px;padding:0 4px;box-sizing:border-box;line-height:1;font-size:10px;border-width:2px;white-space:nowrap;transform:none}
html[data-large-targets="true"] .notification-btn>span{right:-5px;top:-5px}

/* Seleções sem brilho excessivo: contraste preservado em monitores claros ou escuros. */
.chart-type-grid button{color:#c4cdd3;background:#151d21;border-color:#344047;font-weight:650}
.chart-type-grid button:hover{color:#fff;background:#1b2922;border-color:#2c8a4c;box-shadow:none}
.chart-type-grid button.active{color:#fff;background:#176b38;border-color:#2a9852;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);text-shadow:0 1px 1px rgba(0,0,0,.3);font-weight:800}
.chart-type-grid button.active:hover{background:#1c7841;border-color:#35a85e;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
:root[data-theme="light"] .chart-type-grid button{color:#405047;background:#eef3ef;border-color:#c7d2ca}
:root[data-theme="light"] .chart-type-grid button.active{color:#fff;background:#176b38;border-color:#145c30;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
:root[data-contrast="high"] .chart-type-grid button.active{color:#fff;background:#0c612e;border-color:#fff;box-shadow:none;text-shadow:none}
