﻿:root{--bg:#0a1a29;--side:#071626;--surface:#122a40;--raised:#173453;--field:#18344f;--border:#2c4a68;--border-strong:#3f628a;--text:#f3f8fc;--muted:#a9c1d6;--dim:#7d95ab;--yellow:#f8ce16;--green:#5fd39a;--ink:#0a1524;--radius:14px;--font-display:'Barlow Condensed','Segoe UI',Arial,sans-serif;font-family:'Inter','Segoe UI',Arial,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}button{color:inherit}button{border:1px solid var(--border);background:var(--surface);border-radius:8px}select,input,textarea{border:1.5px solid var(--border-strong);background:var(--field);border-radius:9px;padding:11px 13px;font-weight:400;color:var(--text)}select:hover,input:hover,textarea:hover{border-color:#4d7ba8}select:focus,input:focus,textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(248,206,22,.22);outline:none}::placeholder{color:#93aec4;opacity:1}select,input,textarea{padding:11px 13px}button{padding:10px 15px}button:hover{background:var(--raised)}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--side);border-right:1px solid var(--border);padding:32px 20px;display:flex;flex-direction:column}.brand{display:block;padding:6px 10px 30px}.brand-logo{width:100%;max-width:176px;height:auto;display:block}.wordmark{font-family:Impact,'Arial Narrow',sans-serif;font-size:47px;font-style:italic;letter-spacing:-2px;line-height:1}.wordmark>span{color:var(--yellow);font-style:normal;margin-left:3px}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:800;color:var(--yellow);margin-top:6px}.workspace{display:flex;align-items:center;gap:10px;border:1px solid var(--border);padding:12px 10px;border-radius:8px;font-size:12px}.workspace small,.profile small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.workspace-icon,.avatar{display:grid;place-items:center;background:#21303b;width:31px;height:33px;border-radius:7px;font-weight:700}.live-dot,.demo-dot{background:var(--green);width:6px;height:6px;border-radius:50%;display:inline-block}.live-dot{margin-left:auto}.nav-label{color:var(--dim);font-size:10px;font-weight:700;letter-spacing:1.8px;margin:32px 12px 13px}nav{display:grid;gap:7px}.nav-btn{text-align:left;display:flex;align-items:center;gap:12px;border:0;background:none;color:#95a6b5;padding:13px 14px;font-size:13px}.nav-btn.active{background:#f4ce2312;color:var(--yellow);box-shadow:inset 3px 0 var(--yellow);border-radius:5px}.icon{width:18px;height:18px;display:inline-block;flex-shrink:0}.sidebar-bottom{margin-top:auto}.brand-motto{font-size:9px;line-height:1.9;letter-spacing:1.1px;color:#63788a;margin:30px 9px}.brand-motto b{color:#a6b2bc;font-weight:500}.profile{display:flex;gap:11px;align-items:center;border-top:1px solid var(--border);padding:20px 3px 0;font-size:12px}.avatar{background:#f4ce2319;color:var(--yellow);border:1px solid #f4ce2330}.shell{margin-left:232px}.topbar{height:73px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:12px}.breadcrumb{color:var(--muted)}.breadcrumb span{margin:0 16px;color:#435d70}.breadcrumb b{color:#ccd5dc;font-weight:500}.top-right{display:flex;align-items:center;gap:9px;color:var(--muted)}.top-right select{margin-left:12px;padding:7px 10px;font-size:12px}main{max-width:1600px;margin:auto;padding:34px 36px 0}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--yellow);font-weight:700;margin:0 0 10px}h1{font-family:var(--font-display);font-size:38px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}h2{font-size:16px;letter-spacing:-.2px;margin:0;font-weight:600}p.subtitle{margin:0;color:var(--muted);font-size:12px}.actions{display:flex;gap:9px}.primary{background:var(--yellow);border-color:var(--yellow);color:#10191e;font-weight:700}.primary:hover{background:#ffe15b}.secondary{background:transparent;color:#c2cdd6}.button-icon{display:flex;gap:8px;align-items:center;font-size:12px}.filterbar{display:flex;align-items:center;gap:12px;margin-bottom:22px;padding:13px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.filterbar select{font-size:12px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:8px 12px;max-width:240px}.filterbar select option{background:var(--surface);color:var(--text)}#sale-search{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:7px;padding:9px 12px!important}.filterbar .separator{height:18px;width:1px;background:var(--border)}.period-note{margin-left:auto;font-size:10px;color:var(--muted)}.kpis{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:14px;margin-bottom:22px}.kpi{padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0}.kpi.featured{background:linear-gradient(150deg,#1c3350,#102942 78%);border-color:#3c5e86;position:relative;overflow:hidden}.kpi.featured:after{content:'↗';font-size:130px;position:absolute;right:-4px;top:3px;color:#f8ce1612;pointer-events:none}.kpi-label{font-size:11.5px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}.kpi.featured .kpi-label{color:#d6e4f2}.kpi-value{font-family:var(--font-display);font-size:34px;font-weight:700;letter-spacing:-.3px;margin:16px 0 11px;white-space:nowrap;font-variant-numeric:tabular-nums}.featured .kpi-value{color:var(--yellow);font-size:40px}.kpi-foot{font-size:10px;color:var(--muted)}.kpi-foot b{font-weight:500;color:var(--green);margin-right:5px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:23px 24px 0}.panel-sub{font-size:11px;color:var(--muted);margin-top:7px}.chart-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px;margin-bottom:22px}.legend{font-size:10px;display:flex;align-items:center;gap:7px;color:#a5b4c0}.legend i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--yellow)}.chart-wrap{padding:22px 22px 4px}.chart{width:100%;height:208px;overflow:visible}.chart text{font:11px 'Inter','Segoe UI',sans-serif;fill:var(--muted)}.chart .grid{stroke:var(--border);stroke-dasharray:3 5}.chart-caption{display:flex;justify-content:space-between;padding:2px 24px 19px;font-size:10px;color:var(--muted)}.goal{padding:15px 24px 20px;border-top:1px solid var(--border)}.goal-line{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);margin-bottom:10px}.goal-line strong{color:#dce3e7;font-weight:500}.progress{height:5px;border-radius:4px;background:#253440;overflow:hidden}.progress div{height:100%;background:var(--yellow);border-radius:4px}.donut-layout{display:flex;align-items:center;justify-content:center;gap:20px;padding:26px 20px 22px}.donut{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;position:relative;flex-shrink:0;transform:rotate(-90deg)}.donut:before{content:'';position:absolute;inset:19px;background:var(--surface);border-radius:50%}.donut-center{position:relative;transform:rotate(90deg);text-align:center}.donut-center strong{font-size:29px;letter-spacing:-1px}.donut-center small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.donut-legend{display:grid;gap:15px;flex:1;max-width:190px}.legend-row{display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:9px;font-size:11px;color:#a3b4c1}.legend-row i{width:6px;height:6px;border-radius:50%}.legend-row b{color:#dce4e9;font-weight:500}.panel-bottom{padding:14px 24px;border-top:1px solid var(--border);font-size:11px;display:flex;justify-content:space-between;color:var(--muted)}.panel-bottom strong{color:var(--yellow);font-weight:600}.lower-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px}.table-wrap{overflow-x:auto;padding:13px 0 4px}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}th{text-align:left;color:var(--muted);font-weight:600;font-size:10px;letter-spacing:.7px;padding:13px 24px;border-bottom:1px solid var(--border)}td{padding:16px 24px;border-bottom:1px solid #22405c}tr:last-child td{border:0}.name-cell{display:flex;align-items:center;gap:10px}.mini-avatar{width:30px;height:30px;display:grid;place-items:center;border:1px solid #344657;border-radius:50%;font-size:10px;color:#b5c8d7;background:#152938}.name-cell small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.money{font-weight:600;font-variant-numeric:tabular-nums}.tag{background:#83d4aa10;color:#9ad6b6;font-size:9px;padding:4px 7px;border-radius:4px;border:1px solid #83d4aa20}.tag.pending{background:#edc94810;border-color:#edc94820;color:#dfc65e}.text-button{border:0;background:none;color:var(--yellow);font-size:11px;padding:0}.report-list{padding:4px 24px}.report-item{display:flex;gap:11px;align-items:center;padding:17px 0;border-bottom:1px solid var(--border)}.report-item:last-child{border-bottom:0}.report-item .report-info{flex:1;font-size:12px}.report-info small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.report-info small.fix-hint{color:#f0d264;background:#edc9481a;border:1px solid #edc94833;border-radius:5px;padding:5px 8px;font-weight:600;margin-top:7px}.report-note{padding:13px 24px 20px;font-size:10px;color:var(--muted)}footer{padding:28px 0 22px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#546c7f}footer span{letter-spacing:.3px}.full-panel{margin-bottom:20px}.empty{padding:38px;text-align:center;color:var(--muted)}.section-note{color:var(--muted);font-size:12px;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{display:grid;gap:8px;font-size:12px;color:#cfe0ee}.form-grid label.full{grid-column:1/-1}textarea{min-height:80px;resize:vertical}dialog{background:var(--surface);color:var(--text);border:1px solid #364955;border-radius:14px;padding:27px;width:min(660px,calc(100% - 30px));max-height:90vh}dialog::backdrop{background:#020911bd;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.modal-head button{padding:5px 10px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.sale-total{margin-top:20px;padding:16px;background:#f4ce2310;border-radius:8px;display:flex;justify-content:space-between;color:var(--yellow)}/* toast: quando há modal aberto, o JS move este nó para dentro do <dialog>, então ele
   renderiza na camada de topo, ACIMA do formulário (o erro de validação fica sempre visível). */
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#e5eedf;color:#163326;border-radius:8px;padding:13px 23px;z-index:2147483647;box-shadow:0 8px 40px #0007;display:none;font-size:13px;font-weight:500;max-width:min(560px,calc(100vw - 24px));text-align:center;border:0;margin:0}
@media(max-width:850px){#toast{bottom:calc(env(safe-area-inset-bottom) + 76px)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.settings-card{padding:24px}.settings-card h2{margin-bottom:15px}.settings-card p{color:var(--muted);line-height:1.7;font-size:12px}.status-row{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.badge-readonly{color:var(--yellow);border:1px solid #f4ce2330;padding:8px 12px;border-radius:6px;font-size:11px}.report-form{padding:25px;max-width:860px}.form-section{font-size:11px;letter-spacing:1px;color:var(--yellow);margin:27px 0 16px}.form-section:first-child{margin-top:0}.report-detail{white-space:pre-wrap;color:#bccbd6;line-height:1.8;font-size:13px}.wide-table td,.wide-table th{padding:15px 19px}
@media(min-width:1450px){main{padding:40px 48px 0}.kpi-value{font-size:34px}.donut{width:180px;height:180px}.chart{height:230px}}@media(max-width:1180px){.sidebar{width:195px;padding:28px 14px}.shell{margin-left:195px}main{padding:25px 24px 0}.topbar{padding:0 24px}.kpis{grid-template-columns:repeat(2,1fr)}.donut-layout{gap:15px;flex-direction:column}.donut-legend{width:100%;max-width:none;grid-template-columns:1fr 1fr;gap:14px}.chart-grid,.lower-grid{grid-template-columns:1.3fr 1fr}.page-head{align-items:flex-start}.chart{height:250px}.donut{width:135px;height:135px}td,th{padding-left:15px;padding-right:15px}}
@media(max-width:850px){.sidebar{position:static;width:auto;padding:15px 20px;flex-direction:row;align-items:center;gap:20px;border-right:0;border-bottom:1px solid var(--border)}.brand{padding:0}.wordmark{font-size:30px}.brand small{font-size:6px;letter-spacing:1px}.workspace,.nav-label,.sidebar-bottom{display:none}nav{display:flex;gap:3px;overflow:auto;margin-left:auto}.nav-btn{font-size:11px;padding:10px}.nav-btn .icon{display:none}.shell{margin:0}.topbar{height:60px}.chart-grid,.lower-grid{grid-template-columns:1fr}.donut-layout{flex-direction:row;padding:25px}.donut-legend{display:grid;grid-template-columns:1fr;max-width:230px}.donut{width:155px;height:155px}.chart{height:210px}.top-right>span{display:none}}
@media(max-width:540px){main{padding:25px 16px 0}.topbar{padding:0 16px}.sidebar{padding:13px 16px;gap:10px}.nav-btn{padding:9px 8px;font-size:10px}.page-head{flex-direction:column;gap:18px}h1{font-size:30px}.actions{width:100%}.actions button{flex:1;justify-content:center}.filterbar{gap:7px;flex-wrap:wrap}.filterbar select{max-width:170px;font-size:11px}.period-note{width:100%;margin-top:7px}.kpis{gap:10px}.kpi{padding:15px}.kpi-value,.featured .kpi-value{font-size:25px;letter-spacing:-.8px}.kpi-label{font-size:10px}.kpi-label .icon{display:none}.kpi-foot{font-size:9px}.panel-head{padding:20px 18px 0}.panel-head h2{font-size:14px}.panel-head>.legend{display:none}.form-grid,.settings-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.donut-layout{gap:18px;padding:24px 18px}.donut{width:130px;height:130px}.donut-legend{gap:15px}.legend-row{font-size:10px;gap:6px}footer{line-height:1.8;gap:14px;font-size:7px}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 8px}.report-form{padding:18px}}
@media(prefers-reduced-motion:no-preference){main{animation:enter .35s ease-out}@keyframes enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}}
@media(max-width:540px){.kpi-value,.featured .kpi-value{font-size:21px;letter-spacing:-.9px}.nav-btn{white-space:nowrap}nav{scrollbar-width:none}nav::-webkit-scrollbar{display:none}.brand{flex-shrink:0}}
.coverage-banner{border:1px solid #756427;background:#f4ce2309;padding:16px 20px;border-radius:9px;margin-bottom:22px;color:#ddcd87;font-size:12px;line-height:1.65}.coverage-banner p{margin:5px 0 0;color:#b9bba9}.coverage-banner ul{padding-left:20px}.date-filter{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.date-filter input{padding:5px;min-width:0;max-width:140px;font-size:12px}.filterbar{flex-wrap:wrap}.topbar{height:auto;min-height:73px;padding-top:12px;padding-bottom:12px;gap:16px}.top-right{flex-wrap:wrap;justify-content:flex-end}.top-right select{max-width:220px}.report-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.report-totals small{display:block;color:var(--muted);font-size:10px}.report-totals strong{display:block;margin-top:6px;font-size:18px}.source-block{margin-top:20px;padding:15px;border:1px solid var(--border);border-radius:8px}.source-block summary{cursor:pointer;color:var(--yellow);font-size:12px}.source-block pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.6;color:#bccbd6}.item-editor{border:1px solid var(--border);border-radius:8px;margin:12px 0;padding:16px}.item-editor legend{font-size:12px;color:var(--yellow)}.item-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.item-fields label{display:grid;gap:6px;color:#cfe0ee;font-size:11px}.item-fields input,.item-fields select{min-width:0;width:100%}.item-fields button{align-self:end}#item-feedback{margin:15px 0 22px}.kpi-value,.featured .kpi-value{white-space:normal;overflow-wrap:anywhere}.donut-legend{max-height:280px;overflow-y:auto}.chart-grid .panel{min-width:0}.report-info{min-width:0}.report-info small{line-height:1.6}.panel-sub{line-height:1.7}.source-block pre{max-height:400px;overflow-y:auto}
@media(max-width:540px){.report-totals{grid-template-columns:repeat(2,1fr)}.item-fields{grid-template-columns:1fr}.top-right select{max-width:150px;margin-left:0}.topbar{align-items:flex-start}.top-right{gap:7px}.filterbar .date-filter{flex:1}.date-filter input{width:100%}.coverage-banner{padding:13px}.report-item{gap:7px}.report-info small{font-size:9px}.pdf-kpis{grid-template-columns:repeat(2,1fr)}.pdf-grid{grid-template-columns:1fr}}
.login-wrap{min-height:68vh;display:grid;place-items:center}.login-card{max-width:400px;width:100%;padding:34px;display:grid;gap:14px}.login-card h1{font-size:26px;margin:0}.login-card .subtitle{margin:0 0 4px}.login-card label{display:grid;gap:8px;font-size:12px;color:#cfe0ee}.login-error{color:#f3b0b0;background:#f0505015;border:1px solid #f0505033;border-radius:6px;padding:9px 11px;font-size:12px;margin:0}
.user-chip{background:#f4ce2312;color:var(--yellow);border:1px solid #f4ce2330;padding:6px 10px;border-radius:6px;font-size:11px}.top-right .text-button{color:#c2cdd6;font-size:12px;background:none;border:0;padding:6px 4px}.top-right .text-button:hover{color:var(--yellow)}
.user-list{display:grid;gap:0;margin-bottom:10px;max-height:340px;overflow:auto}.user-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 2px;border-bottom:1px solid var(--border)}.user-row .report-info b{font-size:13px}.user-actions{display:flex;gap:14px;flex-shrink:0}
.today-team{border-bottom:1px solid var(--border);padding-bottom:6px;margin-bottom:6px}.today-team:last-child{border-bottom:0;margin-bottom:0}.today-team-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0 6px;flex-wrap:wrap}.today-team-actions{display:flex;gap:14px;flex-wrap:wrap}.today-team-head b{font-size:13px}.today-team-head small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.today-team .report-item{padding:11px 0}
.sale-card{display:flex;justify-content:space-between;align-items:center;gap:14px 22px;flex-wrap:wrap;padding:15px 2px;border-bottom:1px solid var(--border)}.sale-card:last-child{border-bottom:0}.sale-info{flex:1;min-width:210px}.sale-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:14px}.sale-info small{display:block;color:var(--muted);font-size:11px;margin-top:5px;line-height:1.5}.sale-nums{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.sale-nums>div{text-align:right;min-width:64px}.sale-nums span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.sale-nums b{font-variant-numeric:tabular-nums;font-size:13px}.sale-nums .falta b{color:#f0d264}.sale-edit{padding:8px 16px;font-size:12px}
@media(max-width:640px){.sale-card{align-items:flex-start}.sale-nums{gap:14px;width:100%;justify-content:space-between}.sale-edit{margin-left:auto}}
#print-root{display:none}
.pdf-sheet{margin:0 auto;background:#0b1a2b;position:relative;-webkit-print-color-adjust:exact;print-color-adjust:exact}
@media print{html,body{background:#0b1a2b!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sidebar,.shell,#modal,#toast{display:none!important}#print-root{display:block!important}@page{size:A4;margin:0}.pdf-sheet{break-inside:avoid}.pdf-sheet:not(:last-child){break-after:page}}
#print-root{color:#eaf1f8;background:#0b1a2b;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pdf-page{font:13px/1.45 'Segoe UI',Arial,sans-serif;color:#eaf1f8;background:#0b1a2b;padding:26px 30px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pdf-page *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pdf-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:2px solid #f4ce23;padding-bottom:12px;margin-bottom:15px}.pdf-title{flex:1}.pdf-eyebrow{font-size:11px;letter-spacing:2.5px;color:#f4ce23;font-weight:700;margin:0 0 6px;text-transform:uppercase}.pdf-title h1{font-size:26px;margin:0 0 4px;color:#fff;font-weight:800;letter-spacing:-.5px;line-height:1.05}.pdf-sub{margin:0;font-size:12.5px;color:#b7c7d8}.pdf-logo{flex-shrink:0}.pdf-logo svg{width:118px;height:auto;display:block}.pdf-note{font-size:10px;color:#8ea6bd}.pdf-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:13px}.pdf-kpi{background:#12263c;border:1px solid #234563;border-radius:9px;padding:9px 12px}.pdf-kpi span{display:block;font-size:9px;color:#9fb4c8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:600}.pdf-kpi b{font-size:16px;color:#fff;font-weight:700}.pdf-section{margin-bottom:13px;break-inside:avoid;background:#0f2135;border:1px solid #1f3d5b;border-radius:11px;padding:13px 16px}.pdf-section h2,.pdf-grid h2{font-size:11.5px;text-transform:uppercase;letter-spacing:1.1px;color:#f4ce23;padding-bottom:7px;margin:0 0 9px;border-bottom:1px solid #1f3d5b;font-weight:700}.pdf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.pdf-grid .pdf-section{margin-bottom:0}.pdf-table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}.pdf-table th{text-align:left;color:#9fb4c8;font-size:9px;letter-spacing:.6px;text-transform:uppercase;padding:6px 9px;border-bottom:1px solid #234563;font-weight:600}.pdf-table td{padding:6px 9px;border-bottom:1px solid #17304a;vertical-align:top;color:#e4ecf4;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.pdf-table th{white-space:normal}.pdf-table .num{text-align:right;white-space:nowrap}.pdf-table td small{color:#8ea6bd}.pdf-table tr:last-child td{border-bottom:0}.pdf-foot{margin-top:24px;border-top:1px solid #1f3d5b;padding-top:13px;font-size:9px;letter-spacing:1.5px;color:#7f97ad;text-align:center;text-transform:uppercase}.pdf-foot b{color:#f4ce23;font-weight:700}.pdf-qa{margin-bottom:8px;break-inside:avoid}.pdf-qa b{display:block;font-size:9.5px;color:#f4ce23;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-weight:700}.pdf-qa p{margin:0;white-space:pre-wrap;font-size:12px;line-height:1.4;color:#e4ecf4}

/* Onda 1 â€” metas e catÃ¡logo */
.meta-company{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:6px 0 12px}
.meta-company>div span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.meta-company>div strong{font-size:18px;font-variant-numeric:tabular-nums}
.meta-bar{height:9px;border-radius:6px;background:#20313e;overflow:hidden;margin:2px 0 6px}
.meta-bar-fill{height:100%;background:var(--yellow);border-radius:6px;transition:width .3s}
.meta-bar-fill.done{background:#5fd39a}
.meta-cell{min-width:150px}.meta-cell small{color:var(--muted);font-size:11px}
.cat-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;align-items:center;margin-bottom:8px}
.cat-row input{min-width:0;width:100%}
.cat-row [data-del-plan]{padding:6px 11px;line-height:1;font-size:15px}
#cat-rows{max-height:46vh;overflow:auto;margin-bottom:10px}
@media(max-width:540px){.meta-company{grid-template-columns:repeat(2,1fr)}.cat-row{grid-template-columns:1fr 1fr;gap:6px}.cat-row [data-p="name"]{grid-column:1/3}}

/* Onda 2 â€” pendÃªncias (mapa de entrega) */
.cal-table{border-collapse:collapse;font-size:12px;min-width:100%}
.cal-table th{color:var(--muted);font-size:10px;font-weight:600;text-align:center;padding:6px 7px;white-space:nowrap;border-bottom:1px solid var(--border)}
.cal-table th small{color:var(--muted);font-size:8px}
.cal-table th:first-child{text-align:left;position:sticky;left:0;background:var(--surface);z-index:1}
.cal-name{white-space:nowrap;padding:7px 12px 7px 2px;position:sticky;left:0;background:var(--surface);z-index:1;font-size:12px}
.cal-name small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.cal-cell{text-align:center;padding:7px 8px;font-variant-numeric:tabular-nums;border-bottom:1px solid #17304a}
.cal-cell.ok{color:#5fd39a}
.cal-cell.miss{color:#f0a24a;background:#f0a24a12;font-weight:700}

/* Onda 3 — comparação, experts, escala */
.cmp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:4px 0 10px}
.cmp-item{background:var(--raised);border:1px solid var(--border);border-radius:9px;padding:12px 14px}
.cmp-item span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}
.cmp-item strong{font-size:19px;font-variant-numeric:tabular-nums}
.cmp-item small{display:block;margin-top:5px;font-size:11px}
.cmp-up{color:#5fd39a}.cmp-down{color:#f0a24a}.cmp-none{color:var(--muted)}
.cal-cell.off{color:#4a5b68}
.badge-off{background:#f0a24a20;color:#f0a24a;border:1px solid #f0a24a40;border-radius:5px;padding:1px 6px;font-size:9px;font-weight:700;vertical-align:middle}
.sched-row{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:11px 0;border-bottom:1px solid var(--border)}
.sched-row:last-of-type{border-bottom:0}
.sched-row>b{font-size:13px}
.wd-set{display:flex;gap:10px;flex-wrap:wrap}
.wd{display:flex;align-items:center;gap:4px;font-size:11px;color:#cfe0ee;cursor:pointer}
.wd input{width:auto;margin:0}
@media(max-width:540px){.cmp-grid{grid-template-columns:1fr}.sched-row{flex-direction:column;align-items:flex-start}}

.form-grid label[hidden]{display:none}
.form-grid label.wd{display:flex;align-items:center;gap:8px;color:#cfe0ee;font-size:12px}

/* Painel TV — mural do escritório */
.tv-wrap{display:flex;flex-direction:column;gap:18px}
.tv-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.tv-tabs{display:flex;gap:8px;flex-wrap:wrap}
.tv-tab{background:var(--raised);border:1px solid var(--border);border-left:4px solid var(--c);color:#c2cdd6;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}
.tv-tab.active{background:var(--c);color:#0b1a27;border-color:var(--c)}
.tv-actions{display:flex;align-items:center;gap:14px}
.tv-clock{font-size:20px;font-variant-numeric:tabular-nums;color:#c2cdd6;font-weight:700}
.tv-hero{background:linear-gradient(160deg,#0d2233,#0b1a27);border:1px solid var(--border);border-top:5px solid var(--c);border-radius:16px;padding:26px 30px;display:flex;flex-direction:column;gap:22px}
.tv-hero-head{display:flex;align-items:center;gap:18px}
.tv-badge{width:64px;height:64px;border-radius:14px;display:grid;place-items:center;font-size:26px;font-weight:800;color:#0b1a27;flex-shrink:0}
.tv-hero-name h1{margin:0;font-size:40px;letter-spacing:-1px;line-height:1}
.tv-hero-name p{margin:6px 0 0;color:var(--muted);font-size:17px}
.tv-kpis{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:18px}
.tv-kpi{background:#0b1a27;border:1px solid var(--border);border-radius:14px;padding:20px 22px;text-align:center}
.tv-kpi span{display:block;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
.tv-kpi strong{display:block;font-size:44px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;overflow-wrap:anywhere}
.tv-kpi.big strong{font-size:58px;color:var(--c)}
.tv-kpi small{display:block;margin-top:8px;color:var(--muted);font-size:14px}
.tv-chart-wrap h2{font-size:15px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 8px}
.tv-chart{width:100%;height:auto;max-height:42vh}
.tv-empty{padding:40px;text-align:center;color:var(--muted);font-size:18px;border:1px dashed var(--border);border-radius:12px}
.tv-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tv-strip-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer}
.tv-strip-item.on{border-color:var(--yellow);box-shadow:inset 0 0 0 1px var(--yellow)}
.tv-strip-item>b{display:flex;align-items:center;gap:8px;font-size:15px;margin-bottom:10px}
.tv-dot{width:11px;height:11px;border-radius:3px;display:inline-block;flex-shrink:0}
.tv-strip-nums{display:flex;flex-direction:column;gap:4px}
.tv-strip-nums span{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted)}
.tv-strip-nums i{font-style:normal;color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}
.tv-foot{color:var(--muted);font-size:12px;text-align:center;margin:2px 0 0}
@media(max-width:900px){.tv-kpis{grid-template-columns:1fr}.tv-strip{grid-template-columns:1fr 1fr}.tv-hero-name h1{font-size:30px}}
:fullscreen .sidebar,:fullscreen .topbar,:fullscreen .tv-controls,:fullscreen footer{display:none!important}
:fullscreen .shell{margin-left:0}
:fullscreen main{max-width:none;padding:22px 30px}
:fullscreen .tv-kpi strong{font-size:56px}
:fullscreen .tv-kpi.big strong{font-size:76px}
:fullscreen .tv-hero-name h1{font-size:52px}
:fullscreen .tv-chart{max-height:48vh}

/* Painel TV — pizza, legenda e animações */
.tv-chart-wrap h2{font-size:15px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 10px}
.tv-pie-layout{display:grid;grid-template-columns:300px 1fr;gap:26px;align-items:center}
.tv-pie{width:300px;max-width:38vw;height:auto;animation:tvPieIn .6s cubic-bezier(.2,.7,.2,1)}
.tv-pie-rot circle{transition:stroke-dasharray .6s ease}
.tv-pie-center-val{fill:#fff;font-size:34px;font-weight:800;font-family:inherit}
.tv-pie-center-lbl{fill:#8295a6;font-size:15px;font-family:inherit}
.tv-legend{display:flex;flex-direction:column;gap:10px}
.tv-leg{display:flex;align-items:center;gap:10px;font-size:15px}
.tv-leg b{font-weight:700;flex-shrink:0}
.tv-leg-val{color:var(--muted);font-size:13px;margin-left:auto;font-variant-numeric:tabular-nums;text-align:right}
@keyframes tvPieIn{from{opacity:0;transform:scale(.82) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes tvFlash{0%{box-shadow:0 0 0 0 var(--c)}30%{box-shadow:0 0 34px 4px var(--c)}100%{box-shadow:0 0 0 0 transparent}}
.tv-hero.tv-flash{animation:tvFlash 1.5s ease-out}
.tv-kpi strong{transition:color .3s}
@media(max-width:900px){.tv-pie-layout{grid-template-columns:1fr;justify-items:center}.tv-pie{max-width:80vw}.tv-leg-val{margin-left:12px}}
:fullscreen .tv-pie{width:340px;max-width:34vw}
:fullscreen .tv-pie-center-val{font-size:40px}
:fullscreen .tv-leg{font-size:18px}

/* Painel TV v2 — KPIs ricos + 3 pizzas */
.tv-kpi{display:flex;align-items:center;gap:16px;text-align:left;padding:18px 20px}
.tv-kpi-ic{width:46px;height:46px;border-radius:12px;flex-shrink:0;display:grid;place-items:center;background:#0f2233;border:1px solid var(--border);color:var(--muted)}
.tv-kpi-ic svg{width:24px;height:24px}
.tv-kpi.big .tv-kpi-ic{color:var(--c);border-color:var(--c)}
.tv-kpi-body{flex:1;min-width:0}
.tv-kpi-body>span{display:block;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}
.tv-kpi-body strong{display:block;font-size:38px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;text-align:left;overflow-wrap:anywhere}
.tv-kpi.big .tv-kpi-body strong{font-size:50px;color:var(--c)}
.tv-kpi-body small{display:block;margin-top:6px;color:var(--muted);font-size:13px;text-align:left}
.tv-kpi-spark{flex-shrink:0;color:var(--c);opacity:.55;align-self:flex-end}
.tv-spark{width:70px;height:32px;display:block}
.tv-pies-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.tv-pies-head h2{margin:0;font-size:16px;text-transform:uppercase;letter-spacing:1.2px;color:#c2cdd6}
.tv-metric-toggle{display:inline-flex;background:var(--raised);border:1px solid var(--border);border-radius:9px;padding:3px}
.tv-metric-toggle button{background:none;border:0;color:var(--muted);padding:7px 15px;border-radius:7px;font-size:12.5px;font-weight:600;cursor:pointer}
.tv-metric-toggle button.on{background:var(--yellow);color:#0b1a27}
.tv-pies3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tv-pie-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px 18px 20px;display:flex;flex-direction:column;gap:12px}
.tv-pie-card.meta{border-color:#f4ce2355;background:linear-gradient(165deg,#1a2740,#0b1a27)}
.tv-pie-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.tv-pie-head h3{margin:0;font-size:18px;letter-spacing:-.3px}
.tv-pie-sum{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}
.tv-pie3{width:100%;max-width:250px;height:auto;margin:0 auto 2px;display:block;animation:tvPieIn .55s cubic-bezier(.2,.7,.2,1)}
.tv-donut-empty{width:100%;max-width:210px;aspect-ratio:1;margin:6px auto;border-radius:50%;border:14px solid var(--border);display:grid;place-items:center;color:var(--muted);text-align:center;font-size:14px;line-height:1.4}
.tv-legend{display:flex;flex-direction:column;gap:7px;margin-top:2px}
.tv-leg{display:flex;align-items:center;gap:8px;font-size:13px}
.tv-leg b{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-leg-val{flex-shrink:0;color:var(--muted);font-size:11.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.tv-leg-more b,.tv-leg-empty{color:var(--muted);font-style:italic}
.tv-leg.self b{color:var(--yellow)}
.tv-dot{width:11px;height:11px;border-radius:3px;display:inline-block;flex-shrink:0}
@media(max-width:1000px){.tv-pies3{grid-template-columns:1fr}.tv-kpis{grid-template-columns:1fr}}
:fullscreen .tv-pie-head h3{font-size:22px}
:fullscreen .tv-leg{font-size:15px}
:fullscreen .tv-kpi-body strong{font-size:46px}
:fullscreen .tv-kpi.big .tv-kpi-body strong{font-size:64px}
:fullscreen .tv-pie3{max-width:280px}
.item-sale-card{position:relative;background:var(--raised);border:1px solid var(--border);border-radius:var(--radius);padding:12px 42px 12px 14px;margin-bottom:10px}
.sale-card-del{position:absolute;top:9px;right:9px;background:none;border:0;cursor:pointer;font-size:15px;line-height:1;opacity:.65;padding:5px;border-radius:6px}
.sale-card-del:hover{opacity:1;background:#ff6b6b22}
.sale-card-main{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.sale-card-main strong{font-size:14px}
.sale-card-tags{display:flex;gap:6px;flex-wrap:wrap}
.sale-card-tags em{font-style:normal;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);background:#ffffff08;border:1px solid var(--border);border-radius:5px;padding:2px 6px}
.sale-card-values{display:flex;gap:16px;flex-wrap:wrap;margin-top:7px;font-size:12px;color:var(--muted)}
.sale-card-values b{color:var(--text);font-weight:600}
.sale-card-client{margin-top:7px;font-size:12px;color:#c2cdd6}
.sale-card-client small{color:var(--muted)}
#report-cards .empty{color:var(--muted);font-size:12px;padding:6px 0}

/* Onda 3 — tipografia display nos números grandes + polimento de contraste */
.tv-kpi-body strong,.tv-pie-center-val,.donut-center strong,.tv-clock,.cmp-item strong,.meta-company>div strong,.report-totals strong,.tv-hero-name h1,.tv-pie-head h3,.tv-kpi strong{font-family:var(--font-display);font-weight:700}
.form-grid label{font-size:12.5px;font-weight:500}
.form-grid label.full{font-weight:500}
.section-note{color:var(--muted)}
.panel-sub,.kpi-foot,.chart-caption,.goal-line,.legend-row,.donut-center small{color:var(--muted)}
.breadcrumb b{color:#dfe8ef}
.workspace small,.profile small{color:var(--muted)}
.nav-btn{color:#b7c6d4}
.brand-motto{color:#8098ad}.brand-motto b{color:#c3d0da}
.filterbar select,.top-right select{background:var(--field);border-color:var(--border-strong)}

/* Onda 4 — números do painel TV não quebram no meio do valor */
.tv-kpi-body strong{overflow-wrap:normal;word-break:keep-all;font-size:clamp(26px,3vw,38px)}
.tv-kpi.big .tv-kpi-body strong{font-size:clamp(30px,3.6vw,44px)}
:fullscreen .tv-kpi-body strong{font-size:clamp(34px,3vw,48px)}
:fullscreen .tv-kpi.big .tv-kpi-body strong{font-size:clamp(42px,3.8vw,64px)}

/* Onda 4 — legibilidade dos KPIs da TV em janela estreita (não-fullscreen) */
.tv-kpi-body strong{overflow-wrap:normal;word-break:keep-all}
@media(max-width:1200px){.tv-kpi-spark{display:none}}
@media(max-width:1200px){.tv-kpi-body strong{font-size:clamp(24px,4.4vw,34px)}.tv-kpi.big .tv-kpi-body strong{font-size:clamp(28px,5vw,40px)}}

/* ============================================================
   PAINEL TV v3 — layout sidebar (mural do escritorio)
   ============================================================ */
/* A TV assume a tela inteira: esconde o chrome padrao do app */
body.tv-active .sidebar,body.tv-active .topbar,body.tv-active main>footer{display:none!important}
body.tv-active .shell{margin-left:0}
body.tv-active main{max-width:none;margin:0;padding:0;animation:none}
body.tv-active #content{min-height:100vh}

.tvx{
  --tvx-text:#f7f8fa;--tvx-sec:#9cb1c5;--tvx-muted:#6f879d;
  --bsm-yellow:#facb2b;--tvx-blue:#3fa1f8;
  --tvx-border:rgba(74,121,157,.30);--tvx-border2:rgba(80,120,150,.24);
  font-family:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
  color:var(--tvx-text);letter-spacing:normal;
  display:grid;grid-template-columns:208px minmax(0,1fr);grid-template-rows:minmax(100vh,auto);min-height:100vh;
  background:radial-gradient(circle at 62% -18%,rgba(29,67,101,.20),transparent 40%),linear-gradient(180deg,#061724 0%,#04111d 100%);
}
.tvx h1,.tvx h2,.tvx h3{font-family:inherit;letter-spacing:normal}
.tvx .tv-pie-center-val{font-family:'Inter',sans-serif;font-weight:700}
.tvx .tv-pie-center-lbl{font-family:'Inter',sans-serif}

/* ---- sidebar ---- */
.tvx-side{display:flex;flex-direction:column;min-height:100vh;padding:0 0 22px;
  border-right:1px solid var(--tvx-border2);
  background:linear-gradient(180deg,#071724 0%,#05121f 100%)}
.tvx-brand{height:150px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tvx-brand svg{width:130px;height:auto;display:block}
.tvx-nav-list{display:flex;flex-direction:column;gap:7px;padding:0 9px;margin-top:4px}
.tvx-nav{display:flex;align-items:center;gap:12px;height:50px;padding:0 13px;border:1px solid transparent;background:none;border-radius:6px;color:var(--tvx-sec);font-size:14px;font-weight:500;text-align:left;transition:background .15s,color .15s}
.tvx-nav:hover{background:#10283f;color:var(--tvx-text)}
.tvx-nav-ic{width:19px;height:19px;flex-shrink:0;display:grid;place-items:center;color:var(--tvx-muted)}
.tvx-nav-ic svg{width:19px;height:19px}
.tvx-nav-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tvx-nav.on{color:#fff;font-weight:600;border-color:var(--bsm-yellow);
  background:linear-gradient(90deg,rgba(250,203,43,.16),rgba(250,203,43,.05));
  box-shadow:inset 0 0 18px rgba(250,203,43,.06),0 0 16px rgba(250,203,43,.05)}
.tvx-nav.on .tvx-nav-ic{color:var(--bsm-yellow)}
.tvx-side-foot{margin-top:auto;padding:0 20px;display:flex;flex-direction:column;gap:14px}
.tvx-claim{margin:0;font-size:10px;line-height:1.9;letter-spacing:2.4px;font-weight:600;text-transform:uppercase;color:#5f7a90}
.tvx-side-rule{width:34px;height:2px;background:var(--bsm-yellow);opacity:.85;border-radius:2px}

/* ---- main column ---- */
.tvx-main{display:flex;flex-direction:column;gap:18px;min-width:0;
  padding:18px clamp(30px,3.4vw,60px) 18px 30px}

/* ---- topbar ---- */
.tvx-top{display:flex;align-items:center;justify-content:flex-end;gap:14px;height:52px;flex-shrink:0}
.tvx-clock{font-size:19px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.tvx-top-sep{width:1px;height:22px;background:var(--tvx-border);margin:0 2px}
.tvx-pill{display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 18px;border-radius:11px;
  background:rgba(12,32,52,.5);border:1px solid var(--tvx-border);color:var(--tvx-sec);font-size:13.5px;font-weight:500}
.tvx-pill:hover{background:#12283f;color:var(--tvx-text)}
.tvx-pill svg{width:17px;height:17px}
.tvx-sound-dot{width:9px;height:9px;border-radius:50%;background:#41546a}
.tvx-sound-dot.on{background:#42caa0;box-shadow:0 0 8px 1px rgba(66,202,160,.55)}

/* ---- hero ---- */
.tvx-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:22px;
  min-height:132px;padding:22px 30px;border-radius:16px;
  border:1px solid var(--tvx-border);
  background:linear-gradient(180deg,rgba(11,32,52,.9),rgba(7,22,37,.92))}
.tvx-hero-tex{position:absolute;inset:0;opacity:.55;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 300' preserveAspectRatio='xMidYMid slice'%3E%3Cpath d='M0 300 L150 140 L250 205 L380 90 L470 185 L560 110 L680 195 L800 130 L800 300Z' fill='%231c3b57'/%3E%3Cpath d='M0 300 L120 205 L240 255 L360 185 L500 245 L620 205 L760 255 L800 235 L800 300Z' fill='%23142c42'/%3E%3C/svg%3E") right center/cover no-repeat}
.tvx-hero-tex:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#081a2a 34%,rgba(8,26,42,.86) 55%,rgba(8,26,42,.42) 100%)}
.tvx-avatar{position:relative;z-index:1;width:96px;height:88px;flex-shrink:0;border-radius:16px;display:grid;place-items:center;
  font-size:34px;font-weight:700;color:#c7d6e4;background:#12293e;border:1px solid #2b4a63}
.tvx-hero-id{position:relative;z-index:1;min-width:0}
.tvx-hero-id h1{font-size:clamp(34px,2.6vw,48px);font-weight:750;letter-spacing:-1px;margin:0;line-height:1;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tvx-hero-id p{margin:8px 0 0;font-size:clamp(16px,1.4vw,22px);color:var(--tvx-sec)}
.tvx-hero-claim{position:relative;z-index:1;margin-left:auto;display:flex;align-items:center;gap:14px;flex-shrink:0}
.tvx-hero-line{width:2px;height:44px;background:var(--bsm-yellow);border-radius:2px}
.tvx-hero-claim b{font-size:12px;letter-spacing:4px;line-height:2;font-weight:500;color:#c3d2df;text-align:left}
@media(max-width:1080px){.tvx-hero-claim{display:none}}

/* ---- KPIs ---- */
.tvx-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;flex-shrink:0}
.tvx-kpi{position:relative;display:flex;align-items:center;gap:16px;min-height:110px;padding:20px 22px;
  border-radius:14px;border:1px solid var(--tvx-border);overflow:hidden;
  background:linear-gradient(180deg,rgba(13,35,55,.9),rgba(7,22,37,.92))}
.tvx-kpi:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px}
.tvx-kpi.y:before{background:var(--bsm-yellow);box-shadow:0 0 18px 1px rgba(250,203,43,.28)}
.tvx-kpi.b:before{background:var(--tvx-blue);box-shadow:0 0 18px 1px rgba(63,161,248,.24)}
.tvx-kpi.y{box-shadow:inset 0 0 34px rgba(250,203,43,.05)}
.tvx-kpi-ic{width:56px;height:56px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;
  background:#0e2233;border:1px solid var(--tvx-border);color:var(--tvx-sec)}
.tvx-kpi-ic svg{width:26px;height:26px}
.tvx-kpi.y .tvx-kpi-ic{color:var(--bsm-yellow);border-color:rgba(250,203,43,.35)}
.tvx-kpi.b .tvx-kpi-ic{color:var(--tvx-blue);border-color:rgba(63,161,248,.35)}
.tvx-kpi-b{flex:1;min-width:0}
.tvx-kpi-l{display:block;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#bdcad6}
.tvx-kpi-v{display:block;margin:7px 0 4px;font-size:clamp(26px,2vw,40px);font-weight:750;letter-spacing:-1px;color:#fff;line-height:1;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
.tvx-kpi-s{display:block;font-size:12.5px;color:var(--tvx-muted)}
.tvx-kpi-spark{flex-shrink:0;align-self:flex-end;color:#5b7590}
.tvx-kpi-spark .tv-spark{width:66px;height:30px;display:block}

/* ---- analytics container ---- */
.tvx-analytics{border:1px solid var(--tvx-border);border-radius:18px;padding:16px;flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;
  background:rgba(7,22,37,.35)}
.tvx-analytics-h{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.tvx-analytics-h h2{display:flex;align-items:center;gap:12px;margin:0;font-size:16px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#eef3f8}
.tvx-hbar{width:4px;height:20px;background:var(--bsm-yellow);border-radius:2px}
.tvx-toggle{display:inline-flex;height:44px;padding:4px;border:1px solid var(--tvx-border);border-radius:13px;background:rgba(9,26,42,.5)}
.tvx-toggle button{border:0;background:none;color:#9eb1c4;padding:0 18px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer}
.tvx-toggle button.on{background:var(--bsm-yellow);color:#101820}

/* ---- three charts ---- */
.tvx-charts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;flex:1;min-height:0}
.tvx-chart{display:flex;flex-direction:column;padding:18px 20px;border-radius:14px;border:1px solid var(--tvx-border);
  background:linear-gradient(180deg,rgba(13,35,55,.96),rgba(7,24,39,.96))}
.tvx-chart.team{border-color:rgba(250,203,43,.28)}
.tvx-chart-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:2px}
.tvx-chart-h h3{margin:0;font-size:18px;font-weight:700;color:#fff}
.tvx-chart-h span{font-size:11.5px;font-weight:600;letter-spacing:.8px;color:var(--tvx-muted);text-transform:uppercase}
.tvx-donut{display:flex;justify-content:center}
.tvx .tv-pie3{width:100%;max-width:190px;height:auto;margin:6px auto 8px}
.tvx .tv-donut-empty{width:100%;max-width:170px;aspect-ratio:1;margin:12px auto;border:14px solid var(--tvx-border);border-radius:50%;display:grid;place-items:center;color:var(--tvx-muted);text-align:center;font-size:14px}
.tvx .tv-legend{display:flex;flex-direction:column;gap:9px;margin-top:auto;padding-top:4px}
.tvx .tv-leg{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;font-size:13.5px}
.tvx .tv-leg b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:#dfe8f0}
.tvx .tv-leg-val{color:var(--tvx-muted);font-size:12.5px;white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;text-align:right}
.tvx .tv-leg.self b{color:var(--bsm-yellow);font-weight:700}
.tvx .tv-leg-more b,.tvx .tv-leg-empty{color:var(--tvx-muted);font-style:italic}
.tvx .tv-dot{width:11px;height:11px;border-radius:3px}

/* ---- footer ---- */
.tvx-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;flex-shrink:0;padding-top:2px;
  font-size:11px;letter-spacing:1.4px;color:var(--tvx-muted)}
.tvx-foot b{color:#cfd9e2;font-weight:700;letter-spacing:1.6px}
.tvx-foot-rule{width:36px;height:1px;background:var(--bsm-yellow);opacity:.7}
.tvx-foot-txt{flex:1;min-width:0}
.tvx-ver{color:#52697f}

/* ---- fullscreen ---- */
:fullscreen .tvx-hero-id h1{font-size:clamp(40px,2.6vw,56px)}
:fullscreen .tvx-kpi-v{font-size:clamp(32px,2.2vw,46px)}
:fullscreen .tvx .tv-pie3{max-width:220px}

/* ---- responsivo abaixo de 1280 ---- */
@media(max-width:1280px){.tvx-charts{grid-template-columns:1fr}.tvx .tv-pie3{max-width:200px}}
@media(max-width:980px){.tvx{grid-template-columns:1fr}.tvx-side{min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px}.tvx-brand{height:auto;width:auto}.tvx-brand svg{width:96px}.tvx-nav-list{flex-direction:row;flex-wrap:wrap;padding:0;margin:0}.tvx-nav{height:40px}.tvx-side-foot{display:none}.tvx-kpis{grid-template-columns:1fr}}

/* ============ Materiais (gestão) — modal de gerenciamento ============ */
.mat-chips{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 20px;max-height:150px;overflow-y:auto}
.mat-chip{display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid var(--border);background:var(--surface);border-radius:10px;color:var(--muted);text-align:left}
.mat-chip:hover{border-color:var(--border-strong);color:var(--text)}
.mat-chip.on{border-color:var(--yellow);background:var(--brand-soft,#f8ce1618);color:var(--yellow)}
.mat-chip-av{width:26px;height:26px;flex-shrink:0;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:800;background:#21384c;color:#cfe0ee}
.mat-chip.on .mat-chip-av{background:#f8ce1622;color:var(--yellow)}
.mat-chip-t{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.mat-chip-t b{font-size:13px;font-weight:600;white-space:nowrap}
.mat-chip-t small{font-size:10.5px;color:var(--dim)}
.mat-up{border:1px solid var(--border);border-radius:12px;padding:18px;background:#0e2233;margin-bottom:8px}
.mat-up input[type=file]{width:100%;padding:9px 12px;cursor:pointer}
.mat-up .modal-actions{margin-top:14px}
.mat-fold{margin-bottom:14px}
.mat-fold-h{display:flex;align-items:center;gap:9px;padding:9px 13px;background:var(--raised);border:1px solid var(--border);border-radius:10px;margin-bottom:6px}
.mat-fold-n{font-weight:700;font-size:13px}
.mat-cnt{margin-left:auto;font-size:11px;color:var(--dim);font-weight:600}
.mat-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px}
.mat-row:hover{background:#0e2436}
.mat-type{width:40px;height:40px;flex-shrink:0;border-radius:9px;display:grid;place-items:center;font-size:10px;font-weight:800;letter-spacing:.02em;color:#fff}
.mat-type.t-pdf{background:#c0392b}.mat-type.t-xls{background:#1e8e5a}.mat-type.t-doc{background:#2b6cb0}.mat-type.t-img{background:#8a5cf6}.mat-type.t-zip{background:#b7791f}
.mat-info{flex:1;min-width:0}
.mat-info b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mat-info small{font-size:11.5px;color:var(--dim)}
.mat-actions{display:flex;gap:6px;flex-shrink:0}
.mat-ic{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--field);color:var(--muted);display:grid;place-items:center;font-size:14px;cursor:pointer;text-decoration:none}
.mat-ic:hover{border-color:var(--border-strong);color:var(--text)}
.mat-ic.dl{color:var(--yellow);border-color:#f8ce1633}
.mat-ic.del{color:#f28585;border-color:#f2858533}

/* Materiais — botão de download na página "Meus materiais" */
.mat-dlbtn{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:9px;border:1px solid #f8ce1633;background:var(--brand-soft,#f8ce1618);color:var(--yellow);font-size:12.5px;font-weight:700;text-decoration:none;white-space:nowrap}
.mat-dlbtn:hover{background:#f8ce1626;border-color:var(--yellow)}
#content .mat-row{border-bottom:1px solid var(--border)}
#content .mat-row:last-child{border-bottom:0}

/* Fase 1a — origem/fonte da venda em destaque sutil */
.sale-card-tags em.src{color:var(--yellow);border-color:#f8ce1633;background:var(--brand-soft,#f8ce1618)}

/* Fase 1b — gestão de acessos do portal do expert */
.ea-status{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--border);border-radius:11px;background:var(--surface);margin:4px 0 14px}
.ea-status b{font-size:14px}
.ea-status span{font-size:12px;color:var(--muted)}
.ea-status.ok b{color:var(--green)}
.ea-status.off b{color:var(--muted)}
.linkbox{display:flex;align-items:center;gap:10px;background:#0e2233;border:1px solid var(--border-strong);border-radius:10px;padding:12px 14px;margin:6px 0}
.linkbox code{font-family:'Barlow Condensed',monospace;font-size:13px;color:#cfe0ee;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.linkbox .cp{font-size:12px;font-weight:700;padding:8px 13px;border-radius:8px;background:var(--yellow);color:var(--ink);border:0;cursor:pointer}
.gl-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:6px}

/* ============ Tráfego (Fase 2) ============ */
.tr-periods{display:inline-flex;gap:5px;flex-wrap:wrap;margin-left:auto}
.tr-per{font-size:12px;font-weight:600;padding:7px 13px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer}
.tr-per:hover{border-color:var(--border-strong);color:var(--text)}
.tr-per.on{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.tr-range{display:none;align-items:center;gap:10px;flex-wrap:wrap;margin:-8px 0 20px;padding:13px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.tr-range.show{display:flex}
.tr-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
@media(max-width:1180px){.tr-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.tr-kpis{grid-template-columns:1fr 1fr}}
.tr-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;position:relative;overflow:hidden}
.tr-kpi:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--border-strong)}
.tr-kpi.roas:before{background:var(--yellow)}
.tr-kpi span{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}
.tr-kpi b{display:block;font-family:var(--font-display);font-size:30px;font-weight:700;margin:8px 0 5px;letter-spacing:-.3px}
.tr-kpi.roas b{color:var(--yellow)}
.tr-kpi small{font-size:11px;color:var(--dim)}
.tr-bars{display:flex;align-items:flex-end;gap:6px;height:150px;padding:6px 0}
.tr-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;height:100%;min-width:0}
.tr-col i{display:block;border-radius:3px 3px 0 0;min-height:2px}
.tr-inv{background:#3fa1f8}
.tr-fat{background:linear-gradient(180deg,var(--yellow),#c9a50f)}
.tr-leg{display:flex;gap:16px;margin-top:12px;font-size:11.5px;color:var(--muted)}
.tr-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}
.tr-src{display:flex;align-items:center;gap:16px;padding:22px 22px 20px}
.tr-pie{width:120px;height:120px;flex-shrink:0}
.tr-src-leg{display:flex;flex-direction:column;gap:9px;flex:1;min-width:0}
.tr-src-leg .r{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;font-size:13px}
.tr-src-leg .r i{width:11px;height:11px;border-radius:3px}
.tr-src-leg .r b{font-weight:500;color:#dfe8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-src-leg .r span{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}

/* ============ Tiers de comissão (Fase 3 · Onda 1) ============ */
.tier-editor{border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin:4px 0 6px;background:#0e2233}
.tier-head{display:grid;grid-template-columns:1.4fr 1fr 1fr 40px;gap:10px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);padding:0 2px 8px}
.tier-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 40px;gap:10px;align-items:center;margin-bottom:8px}
.tier-row .inp{background:var(--field);border:1.5px solid var(--border-strong);border-radius:8px;padding:9px 11px;color:var(--text);font-size:14px;width:100%}
.tier-row .ti-com{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--yellow);text-align:right;padding-right:6px}
.tier-row .ti-del{background:none;border:0;cursor:pointer;font-size:14px;opacity:.6;border-radius:6px;padding:6px}
.tier-row .ti-del:hover{opacity:1;background:#ff6b6b22}
.tier-save-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.tier-from-lbl{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#cfe0ee;font-weight:600}
.tier-from-lbl input{background:var(--field);border:1.5px solid var(--border-strong);border-radius:8px;padding:9px 11px;color:var(--text);font:inherit;font-size:13px;color-scheme:dark}
.tier-vhist{padding:11px 0;border-bottom:1px solid var(--border)}
.tier-vhist:last-child{border-bottom:0}
.tier-vhist b{font-size:13px;display:block;margin-bottom:3px}
.tier-vhist small{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
@media(max-width:560px){.tier-head,.tier-row{grid-template-columns:1fr 1fr}.tier-head span:nth-child(3),.tier-head span:nth-child(4){display:none}.tier-row .ti-com{grid-column:1;text-align:left}.tier-row .ti-del{grid-column:2;justify-self:end}}

/* Salário dos vendedores (Fase 3 · Onda 2) */
.sal-from{display:inline-flex;flex-direction:column;gap:6px;font-size:12px;color:#cfe0ee;font-weight:600;margin:6px 0 14px}
.sal-from input{background:var(--field);border:1.5px solid var(--border-strong);border-radius:8px;padding:9px 11px;color:var(--text);font:inherit;font-size:13px;color-scheme:dark}
.sal-list{display:flex;flex-direction:column;gap:2px}
.sal-row{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--border)}
.sal-row:last-child{border-bottom:0}
.sal-info{flex:1;min-width:0}
.sal-info b{font-size:13.5px}
.sal-info small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.sal-inp{width:130px;flex-shrink:0;background:var(--field);border:1.5px solid var(--border-strong);border-radius:8px;padding:9px 11px;color:var(--text);font:inherit;font-size:14px}

/* Custo comercial (Fase 3 · Onda 3) */
.lock-badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#f28585;background:#f2858512;border:1px solid #f2858533;padding:4px 9px;border-radius:7px}
.cc-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.cc-month{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);font-weight:600}
.cc-month input{background:var(--field);border:1.5px solid var(--border-strong);border-radius:8px;padding:8px 11px;color:var(--text);font:inherit;font-size:13px;color-scheme:dark}
.cc-frozen{font-size:12px;color:#9ad0e0;background:#12303a;border:1px solid #2a5563;border-radius:9px;padding:8px 12px}
.cc-table{width:100%;border-collapse:collapse;font-size:13px}
.cc-table th{font-size:9px;letter-spacing:.5px;color:var(--muted);text-transform:uppercase;text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}
.cc-table td{padding:12px;border-bottom:1px solid #203a53;vertical-align:middle}
.cc-table tr:last-child td{border-bottom:0}
.cc-rank{font-family:var(--font-display);font-weight:700;color:var(--yellow);font-size:16px}
.cc-name b{font-size:13px}
.cc-name small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.cc-nivel{color:var(--muted);white-space:nowrap;font-size:12px}
.cc-total{color:var(--yellow);font-weight:700;font-variant-numeric:tabular-nums}
.cc-bonus-cell{min-width:150px}
.cc-bonus{display:inline-flex;align-items:center;gap:5px;font-size:11px;background:#f8ce1614;border:1px solid #f8ce1633;color:#e6d488;border-radius:6px;padding:3px 7px;margin:2px 4px 2px 0;white-space:nowrap}
.cc-bx{background:none;border:0;color:#f28585;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}
.cc-table tfoot td{padding:13px 12px;font-weight:700;border-top:2px solid var(--border);background:#0e2233}

/* Painel do vendedor — minha meta e nível (Fase 3 · Onda 4) */
.mp-panel{margin-bottom:22px;border-color:#3c5e86;background:linear-gradient(150deg,#152b45,#0d2136)}
.mp-body{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;padding:20px 24px 8px}
@media(max-width:820px){.mp-body{grid-template-columns:1fr}}
.mp-goalrow{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.mp-lbl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.mp-goalv{font-family:var(--font-display);font-size:30px;font-weight:700;margin-top:4px}
.mp-bar{height:10px;border-radius:6px;background:#20313e;overflow:hidden;margin:14px 0 8px}
.mp-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--yellow),#ffe15b);border-radius:6px;transition:width .5s}
.mp-falta{font-size:13px;color:var(--muted)}.mp-falta b{color:var(--text)}
.mp-ladder{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.mp-chip{font-size:11.5px;font-weight:600;padding:7px 11px;border-radius:8px;border:1px solid var(--border);color:var(--muted);white-space:nowrap}
.mp-chip.on{background:var(--brand-soft,#f8ce1618);color:var(--yellow);border-color:var(--yellow)}
.mp-chip.next{border-style:dashed;color:#cfe0ee}
.mp-side{display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--border);padding-left:22px}
@media(max-width:820px){.mp-side{border-left:0;padding-left:0;border-top:1px solid var(--border);padding-top:14px}}
.mp-stat{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid #ffffff0d}
.mp-stat:last-child{border-bottom:0}
.mp-stat span{font-size:12px;color:var(--muted)}
.mp-stat b{font-family:var(--font-display);font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}
.mp-note{padding:6px 24px 16px;font-size:11px;color:var(--dim)}
.today-highlight{border-color:#53613c;background:linear-gradient(120deg,#f4ce230a,transparent 65%),var(--surface)}
.today-highlight .panel-head{align-items:flex-start;flex-wrap:wrap}
.today-scoreboard{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:28px;padding:26px 24px 24px}
.today-score{display:flex;flex-direction:column;gap:8px;min-width:0}
.today-score>span{font-size:12px;font-weight:600;color:var(--muted)}
.today-score strong{font-family:var(--font-display);font-size:clamp(30px,3.5vw,48px);font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.8px;overflow-wrap:anywhere}
.today-score-revenue strong{color:var(--yellow)}
.today-score-count{border-left:1px solid var(--border);padding-left:28px}
.today-score small{font-size:11px;color:var(--muted)}
.today-detail-label{border-top:1px solid var(--border);padding:18px 24px 0;font-size:11px;font-weight:600;color:var(--muted)}
@media(max-width:520px){.today-scoreboard{grid-template-columns:1fr;gap:18px}.today-score-count{border-left:0;border-top:1px solid var(--border);padding:18px 0 0}.today-score-count strong{font-size:32px}.today-highlight .panel-head{gap:16px}}
@media print{.traffic-print-page{break-after:page;min-height:0!important;width:210mm!important;padding:12mm!important}.traffic-print-page:last-child{break-after:auto}.traffic-print-page table{width:100%;white-space:normal;table-layout:fixed;font-size:8px}.traffic-print-page th,.traffic-print-page td{padding:6px 3px;overflow-wrap:anywhere}.traffic-print-page tr{break-inside:avoid}.traffic-print-page .panel-head{padding:12px 0}.traffic-print-page .report-note{padding:10px 0;font-size:9px}.traffic-print-page .table-wrap{overflow:visible}}
.crm-routine{border-color:#526044}.crm-history{padding:16px 24px}.crm-history p{font-size:12px;color:var(--muted)}.crm-contract{padding:16px 0;border-bottom:1px solid var(--border)}#crm-task-form label{display:grid;gap:8px;margin:16px 0}.crm-routine .report-item{flex-wrap:wrap}.crm-routine .report-info{min-width:200px}#crm-page-body .kpis{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:650px){#crm-page-body .kpis{grid-template-columns:1fr}.crm-routine .report-item>button{width:100%}}
.crm-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:16px 24px}.crm-tabs button{font-size:12px;padding:10px 14px}.crm-task{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid var(--border)}.crm-task>div{min-width:0}.crm-task b{display:block;font-size:14px}.crm-task small{display:block;color:var(--muted);margin-top:7px}.crm-task p{font-size:12px;color:var(--muted);margin:8px 0 0}.crm-task>button{flex-shrink:0}.crm-phone{display:inline-flex;align-items:center;gap:10px;margin-top:8px;font-size:13px}.crm-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;font-size:12px;color:var(--muted)}.crm-date{display:flex;align-items:center;gap:12px;padding:0 24px 12px}.crm-report-summary{padding:18px 0;border-top:1px solid var(--border);margin-top:16px;font-size:13px}.crm-report-summary details{max-height:300px;overflow:auto}.crm-report-summary p{color:var(--muted)}@media(max-width:650px){.crm-task{align-items:stretch;flex-direction:column;padding:16px}.crm-pagination{flex-wrap:wrap}.crm-tabs{padding:12px}.crm-phone{flex-wrap:wrap}}
.crm-brief{display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px 24px;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted)}.crm-brief b{color:#dce4e9;font-weight:600}
.sup-ok{color:#9ad6b6;background:#83d4aa14;border:1px solid #83d4aa2e;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:600}.sup-pending{color:#dfc65e;background:#edc94814;border:1px solid #edc9482e;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:600}.crm-group{border-top:1px solid var(--border)}.crm-group:first-of-type{border-top:0}.crm-group-head{padding:16px 24px 2px}.crm-group-head b{font-size:12px;letter-spacing:.3px;color:var(--yellow)}.crm-group-head small{display:block;color:var(--muted);font-size:11px;margin-top:4px}

/* ============================================================
   BSM · PREMIUM REDESIGN (Visão geral + shell)
   Anexado ao base: regras posteriores vencem (mesma especificidade).
   Só visual — nenhuma classe funcional, id, name ou data-* é tocado.
   Layout de sidebar/shell fica sob @media(min-width:851px) para não
   quebrar o colapso mobile do CSS base.
   ============================================================ */
:root{
  --bg:#071a2a; --bg-deep:#050f1a; --side:#05121e;
  --surface:#0d2740; --surface-2:#0b2237; --raised:#123253; --field:#0f2c47;
  --border:rgba(78,140,190,.20); --border-strong:rgba(96,164,220,.32); --hair:rgba(120,170,215,.12);
  --text:#f6f8fb; --muted:#a8b8c7; --dim:#748ba0;
  --yellow:#ffd21a; --yellow-2:#ffc700; --yellow-hi:#ffe35c; --yellow-deep:#b98f0d;
  --brand-soft:rgba(255,210,26,.12);
  --green:#39e58c; --blue:#3ea6ff; --cyan:#34d9e8; --purple:#895dff; --danger:#f0757a;
  --radius:15px; --r-sm:10px; --r-lg:18px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(2,10,18,.5);
  --sh-2:0 20px 48px -22px rgba(2,8,16,.85), 0 2px 6px rgba(2,8,16,.4);
  --glow-y:0 0 0 1px rgba(255,210,26,.16), 0 18px 46px -22px rgba(255,199,0,.28);
  --font-display:'Barlow Condensed','Segoe UI',Arial,sans-serif;
}
body{
  background:var(--bg-deep);
  background-image:
    radial-gradient(1200px 560px at 78% -10%, rgba(24,74,120,.34), transparent 62%),
    radial-gradient(900px 640px at 6% 108%, rgba(16,52,86,.30), transparent 60%),
    linear-gradient(180deg, #071a2b 0%, #061524 100%);
  background-attachment:fixed; color:var(--text);
}

/* ---------------- SIDEBAR ---------------- */
.sidebar{
  background:linear-gradient(180deg,#06131f 0%,#050f1a 100%);
  border-right:1px solid var(--hair); box-shadow:1px 0 0 rgba(0,0,0,.3);
}
.brand{padding:2px 8px 26px}.brand-logo{max-width:150px}
.workspace{border:1px solid var(--border);border-radius:12px;padding:11px 12px;gap:11px;background:linear-gradient(180deg,#0c2438,#0a1e30);font-size:12px}
.workspace-icon{background:#16324e;border:1px solid var(--border);color:#cfe0f2}
.live-dot{background:var(--green);box-shadow:0 0 0 3px rgba(57,229,140,.16)}
.nav-label{color:var(--dim);font-size:9.5px;letter-spacing:2.2px;margin:24px 10px 12px}
nav{gap:5px}
.nav-btn{color:#9fb2c4;padding:11px 13px;font-size:13px;font-weight:500;border-radius:11px;gap:13px;position:relative;transition:background .18s,color .18s,box-shadow .18s}
.nav-btn:hover{background:#ffffff08;color:#dbe6f0}
.nav-btn.active{background:linear-gradient(100deg,rgba(255,210,26,.14),rgba(255,210,26,.05) 60%,transparent);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,210,26,.20),0 8px 22px -14px rgba(255,199,0,.5)}
.nav-btn.active::before{content:"";position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:3px;height:22px;border-radius:0 3px 3px 0;background:var(--yellow);box-shadow:0 0 12px 1px rgba(255,199,0,.7)}
.nav-btn.active .icon,.nav-btn.active svg{color:var(--yellow)}
.sidebar-bottom{margin-top:auto;display:grid;gap:16px}
.brand-motto{font-size:9px;line-height:2;letter-spacing:1.4px;color:#5f748a;margin:22px 8px 0;padding-top:18px;border-top:1px solid var(--hair)}
.brand-motto b{color:#aebccb;font-weight:600}
.perf-card{border:1px solid var(--border);border-radius:12px;padding:14px 15px;background:linear-gradient(155deg,rgba(20,54,86,.6),rgba(9,24,38,.6));position:relative;overflow:hidden}
.perf-card::after{content:"";position:absolute;right:-30px;bottom:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,26,.14),transparent 70%)}
.perf-card p{margin:0;font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.4px;line-height:1.18;color:#eaf2fb}
.perf-card span{display:block;font-size:9px;letter-spacing:1.6px;color:var(--yellow);font-weight:700;margin-bottom:8px;font-family:'Inter',sans-serif}
.profile{border-top:0;padding:12px 6px 0;gap:11px;align-items:center}
.avatar{background:linear-gradient(150deg,#26456a,#16324e);color:#fff;border:1px solid var(--border-strong);width:36px;height:36px;border-radius:11px;font-size:12px;box-shadow:var(--sh-1)}
#profile-name{font-size:12.5px;font-weight:600}
#profile-name small{color:var(--muted);font-size:11px}

/* ---------------- TOPBAR ---------------- */
.topbar{border-bottom:1px solid var(--hair);background:linear-gradient(180deg,rgba(8,24,40,.6),transparent)}
.breadcrumb{color:var(--dim);font-size:12.5px}
.breadcrumb span{margin:0 12px;color:#3a566f}
.breadcrumb b{color:#d3dfea;font-weight:600}
.top-right{gap:12px}
.topsearch{display:flex;align-items:center;gap:9px;height:38px;padding:0 14px;min-width:220px;background:var(--field);border:1px solid var(--border);border-radius:11px;color:var(--muted);font-size:12.5px}
.topsearch:focus-within{border-color:rgba(255,210,26,.5);box-shadow:0 0 0 3px rgba(255,210,26,.12)}
.topsearch input{border:0;background:transparent;color:var(--text);font-size:12.5px;width:100%;padding:0;outline:none}
.topsearch svg{width:15px;height:15px;color:var(--dim);flex-shrink:0}
.topbtn{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;position:relative;background:var(--field);border:1px solid var(--border);color:#bcccdb}
.topbtn:hover{background:var(--raised)}
.topbtn .badge{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 2px var(--field)}
.userchip{display:flex;align-items:center;gap:10px;height:38px;padding:0 12px 0 6px;border-radius:11px;background:var(--field);border:1px solid var(--border);font-size:12.5px;color:var(--text)}
.userchip .ua{width:27px;height:27px;border-radius:8px;background:linear-gradient(150deg,#2a4a70,#16324e);display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff}
.userchip small{color:var(--muted)}

/* ---------------- PAGE HEADER ---------------- */
.page-head{margin-bottom:24px}
.eyebrow{color:var(--yellow);letter-spacing:3px;font-size:10.5px;font-weight:700;margin:0 0 12px}
h1{font-family:var(--font-display);font-size:44px;font-weight:700;letter-spacing:-.5px;line-height:.98}
.subtitle{color:var(--muted);font-size:13.5px;margin-top:12px}
.actions .primary{background:linear-gradient(180deg,var(--yellow-hi),var(--yellow-2));color:#10161d;font-weight:700;border:0;border-radius:10px;padding:11px 17px;box-shadow:0 10px 24px -12px rgba(255,199,0,.6),inset 0 1px 0 rgba(255,255,255,.35)}
.actions .primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.actions .secondary{background:var(--field);border:1px solid var(--border-strong);color:#d6e2ee;border-radius:10px;padding:11px 16px}
.actions .secondary:hover{background:var(--raised)}
.badge-readonly{background:var(--field);border:1px solid var(--border-strong)}

/* ---------------- KPI CARDS ---------------- */
.kpis{grid-template-columns:repeat(4,1fr);gap:16px}
.kpi{background:linear-gradient(165deg,#102b45,#0c2136 78%);border:1px solid var(--border);border-radius:var(--radius);padding:20px 21px;box-shadow:var(--sh-1);position:relative;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
.kpi:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:var(--border-strong)}
.kpi.featured{background:linear-gradient(158deg,#173d5e 0%,#123255 58%,#0f2b48 100%);border-color:rgba(90,150,205,.4);box-shadow:var(--sh-2),var(--glow-y)}
.kpi.featured::after{content:"";position:absolute;right:-46px;top:-52px;width:158px;height:158px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,26,.16),transparent 66%)}
.kpi-label{font-size:11.5px;color:var(--muted);font-weight:500}
.kpi.featured .kpi-label{color:#cfe1f3}
.kpi-value{font-family:var(--font-display);font-size:33px;font-weight:700;letter-spacing:-.4px;margin:14px 0 7px;font-variant-numeric:tabular-nums}
.kpi.featured .kpi-value{color:var(--yellow);font-size:38px}
.kpi-foot{font-size:10.5px;color:var(--dim)}.kpi-foot b{color:var(--green);font-weight:600}

/* ---------------- PANELS ---------------- */
.panel{background:linear-gradient(168deg,#0e2840,#0b2033);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--sh-1)}
.panel-head{padding:22px 24px 4px}
.panel-head h2{font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.2px}
.panel-sub{font-size:11.5px;color:var(--muted);margin-top:6px}
.full-panel{margin-bottom:20px}

/* ---------------- CARD "MINHA META E NÍVEL" (.mp-*) ---------------- */
.mp-panel{background:radial-gradient(620px 260px at 88% -40%, rgba(255,210,26,.07), transparent 60%),linear-gradient(165deg,#12314e 0%,#0c2337 100%);border:1px solid var(--border-strong);box-shadow:var(--sh-2)}
.mp-body{display:grid;grid-template-columns:1.55fr .95fr;gap:30px;padding:20px 24px 8px}
.mp-goalrow{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:15px}
.mp-lbl{font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--dim);font-weight:700;margin-bottom:9px}
.mp-goalv{font-family:var(--font-display);font-size:33px;font-weight:700;letter-spacing:-.4px;line-height:1;font-variant-numeric:tabular-nums}
.mp-bar{height:10px;border-radius:var(--r-pill);background:#0a2135;border:1px solid rgba(255,255,255,.04);overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,.5)}
.mp-bar i{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--yellow-deep),var(--yellow) 60%,var(--yellow-hi));box-shadow:0 0 14px 1px rgba(255,199,0,.55)}
.mp-falta{font-size:12px;color:var(--muted);margin-top:12px}.mp-falta b{color:#fff;font-weight:700}
.mp-ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}
.mp-chip{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border-radius:11px;font-size:11px;background:linear-gradient(170deg,#0f2c46,#0b2337);border:1px solid var(--border);color:var(--muted);text-align:left}
.mp-chip b{color:var(--text)}
.mp-chip.on{border-color:rgba(255,210,26,.5);color:#fff;background:linear-gradient(170deg,rgba(255,210,26,.14),rgba(255,210,26,.03));box-shadow:inset 0 0 0 1px rgba(255,210,26,.14),0 10px 26px -16px rgba(255,199,0,.55)}
.mp-chip.on b{color:var(--yellow)}
.mp-side{display:grid;gap:2px;align-content:start;border-left:1px solid var(--hair);padding-left:26px}
.mp-stat{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--hair);font-size:12px}
.mp-stat:last-child{border-bottom:0}
.mp-stat span{color:var(--muted)}
.mp-stat b{font-family:var(--font-display);font-weight:600;font-size:16px;color:#fff;font-variant-numeric:tabular-nums}
.mp-note{padding:8px 24px 20px;color:var(--dim);font-size:11px;line-height:1.6}

/* ---------------- FILTER BAR ---------------- */
.filterbar{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,#0c2338,#0a1e30);padding:12px 15px;gap:11px;margin-bottom:22px;box-shadow:var(--sh-1)}
.filterbar select,.date-filter input{background:var(--field)!important;border:1px solid var(--border)!important;border-radius:10px;color:var(--text);font-size:12.5px;height:38px;padding:0 12px}
.filterbar select:hover,.date-filter input:hover{border-color:var(--border-strong)!important}
.filterbar select:focus,.date-filter input:focus{border-color:rgba(255,210,26,.5)!important;box-shadow:0 0 0 3px rgba(255,210,26,.12)!important;outline:none}
.date-filter{color:var(--muted);font-size:11px;gap:8px}

/* ---------------- BASE IMPORTADA ---------------- */
.coverage-banner{border:1px solid rgba(255,210,26,.28);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,210,26,.05),rgba(10,26,41,.4));padding:16px 20px;color:#d9e3ee}
.coverage-banner strong{color:var(--yellow-hi)}

/* ---------------- INPUTS / BUTTONS GLOBAIS ---------------- */
select,input,textarea{background:var(--field);border:1.5px solid var(--border-strong);border-radius:10px;color:var(--text)}
select:focus,input:focus,textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,210,26,.18)}
.primary{background:linear-gradient(180deg,var(--yellow-hi),var(--yellow-2));color:#10161d;border:0}
.text-button{color:var(--yellow)}

/* ---------------- LAYOUT DESKTOP (não afeta o colapso mobile ≤850) ---------------- */
@media(min-width:851px){
  .sidebar{width:216px;padding:26px 16px 18px}
  .shell{margin-left:216px}
  main{max-width:1560px;padding:30px 34px 0}
  .topbar{height:66px;padding:0 30px}
}
@media(min-width:851px) and (max-width:1180px){.sidebar{width:200px}.shell{margin-left:200px}}
@media(min-width:851px) and (max-width:1080px){.mp-body{grid-template-columns:1fr}.mp-side{border-left:0;padding-left:0;border-top:1px solid var(--hair);padding-top:6px}.kpis{grid-template-columns:1fr 1fr}}

/* ===== BSM PREMIUM · componentes (ícones, banner, sparklines, chart) ===== */
.ic{width:18px;height:18px;flex-shrink:0}
.nav-btn{display:flex;align-items:center}
.nav-ic{width:19px;height:19px;opacity:.85}
.nav-btn.active .nav-ic{color:var(--yellow);opacity:1}

/* KPI enrichment */
.kpi>.kpi-label,.kpi>.kpi-value,.kpi>.kpi-foot,.kpi>.kpi-top{position:relative;z-index:1}
.kpi-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.kpi-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(120,175,220,.10);border:1px solid var(--border);color:#c0d4e8}
.kpi-ic .ic{width:19px;height:19px}
.kpi.featured .kpi-ic{background:rgba(255,210,26,.15);border-color:rgba(255,210,26,.32);color:var(--yellow)}
.kpi-badge{font-size:11px;font-weight:700;color:var(--green);background:rgba(57,229,140,.12);border:1px solid rgba(57,229,140,.28);border-radius:999px;padding:3px 9px}
.kpi-badge.down{color:var(--danger);background:rgba(240,115,122,.12);border-color:rgba(240,115,122,.28)}
.kpi-spark{position:absolute;right:0;bottom:0;width:58%;height:46px;opacity:.95;z-index:0}
.kpi-value{margin-top:10px}

/* HERO (título + banner) */
.vg-hero{display:grid;grid-template-columns:1fr 430px;gap:22px;align-items:stretch;margin-bottom:26px}
.vg-hero-l{align-self:center}
.vg-hero-l .eyebrow{margin-bottom:14px}
h1 .hl{color:var(--yellow)}
.vg-banner{position:relative;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;min-height:124px;display:flex;align-items:flex-end;padding:16px 18px;box-shadow:var(--sh-2)}
.vg-banner-scene{position:absolute;inset:0;background:radial-gradient(130px 130px at 80% 32%, rgba(255,216,96,.9), rgba(255,158,58,.28) 42%, transparent 68%),linear-gradient(180deg,#0b2138 0%,#081726 100%)}
.vg-banner-scene::after{content:"";position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(180deg,#0a1f34,#060f1c);clip-path:polygon(0 100%,0 62%,16% 24%,32% 64%,50% 10%,68% 56%,84% 28%,100% 66%,100% 100%);opacity:.92}
.vg-banner-tag{position:absolute;top:13px;right:15px;font-size:8px;letter-spacing:1.8px;color:rgba(206,222,238,.5);font-weight:700;text-align:right;line-height:1.6;max-width:92px;z-index:2}
.vg-banner-body{position:relative;display:flex;align-items:center;gap:13px;z-index:2}
.vg-banner-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,210,26,.15);border:1px solid rgba(255,210,26,.32);color:var(--yellow);flex-shrink:0}
.vg-banner-ic .ic{width:22px;height:22px}
.vg-banner-txt b{font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1.12;color:#f2f7fc;display:block}
.vg-banner-txt i{display:block;width:34px;height:3px;border-radius:2px;background:var(--yellow);margin-top:9px}

/* FILTER ROW com ações */
.filter-row{display:flex;gap:12px;align-items:stretch;margin-bottom:22px}
.filter-row .filterbar{flex:1;margin-bottom:0}
.filter-actions{display:flex;gap:9px;align-items:center}
.filter-actions .primary{background:linear-gradient(180deg,var(--yellow-hi),var(--yellow-2));color:#10161d;font-weight:700;border:0;border-radius:10px;padding:0 17px;box-shadow:0 10px 24px -12px rgba(255,199,0,.6),inset 0 1px 0 rgba(255,255,255,.35)}
.filter-actions .primary:hover{filter:brightness(1.06)}
.filter-actions .secondary{background:var(--field);border:1px solid var(--border-strong);color:#d6e2ee;border-radius:10px;padding:0 16px}

/* META CARD extras */
.panel-head{align-items:center}
.mp-title{display:flex;gap:13px;align-items:center}
.mp-title-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,210,26,.13);border:1px solid rgba(255,210,26,.28);color:var(--yellow);flex-shrink:0}
.mp-title-ic .ic{width:22px;height:22px}
.mp-level{display:flex;gap:10px;align-items:center;background:linear-gradient(160deg,rgba(255,210,26,.12),transparent);border:1px solid rgba(255,210,26,.26);border-radius:12px;padding:8px 15px 8px 11px}
.mp-level-ic{color:var(--yellow);width:26px;height:26px;display:grid;place-items:center}
.mp-level-ic .ic{width:22px;height:22px}
.mp-level small{display:block;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:var(--dim);font-weight:700}
.mp-level b{font-family:var(--font-display);font-size:16px;color:#fff}
.mp-stat span{display:flex;align-items:center;gap:9px}
.mp-stat span .ic{width:15px;height:15px;color:var(--dim)}

/* CHART premium */
.chart2{width:100%;height:auto;display:block}
.cgrid{stroke:var(--hair)}.cgrid:not(.cbase){stroke-dasharray:2 6}.cbase{stroke:var(--border-strong)}
.cax{font-family:'Inter',sans-serif;font-size:11px;fill:var(--dim);font-variant-numeric:tabular-nums}
.cx{fill:#8aa1b6}
.chart-bars .cbar path{transition:opacity .15s,filter .15s}
.chart-bars:hover .cbar path{opacity:.4}
.cbar:hover path{opacity:1;filter:drop-shadow(0 2px 8px rgba(255,199,0,.45))}
.chart-legend{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}
.cdot{width:9px;height:9px;border-radius:3px;background:var(--yellow)}
.chart-wrap{position:relative;padding:14px 20px 12px}
.chart-tip{position:absolute;transform:translateX(-50%);background:var(--raised);border:1px solid var(--border-strong);border-radius:10px;padding:8px 12px;box-shadow:var(--sh-2);opacity:0;pointer-events:none;transition:opacity .12s;white-space:nowrap;z-index:5}
.chart-tip.show{opacity:1}
.chart-tip span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.chart-tip b{font-family:var(--font-display);font-size:17px;color:var(--yellow);font-variant-numeric:tabular-nums}

/* BASE IMPORTADA com ícone */
.coverage-banner{display:flex;gap:14px;align-items:flex-start}
.cov-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(255,210,26,.12);border:1px solid rgba(255,210,26,.26);color:var(--yellow);flex-shrink:0}
.cov-ic .ic{width:20px;height:20px}
.cov-body{flex:1}.cov-body strong{display:block;margin-bottom:4px}

@media(max-width:1080px){.vg-hero{grid-template-columns:1fr}.filter-row{flex-wrap:wrap}}

/* ===== BSM PREMIUM · donut SVG, modal, ajustes ===== */
.donut-layout{display:flex;align-items:center;gap:22px;padding:20px 22px 16px}
.donut2{position:relative;width:150px;height:150px;flex-shrink:0}
.donut2 svg{width:100%;height:100%;display:block}
.donut2 svg circle{transition:stroke-width .18s,opacity .18s}
.donut2:hover svg circle{opacity:.9}
.donut2-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.donut2-center strong{font-family:var(--font-display);font-size:27px;color:var(--text);font-variant-numeric:tabular-nums;line-height:1}
.donut2-center small{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.9px;margin-top:4px}
.donut-legend{display:grid;gap:12px;flex:1;min-width:0}
.legend-row{display:grid;grid-template-columns:11px 1fr auto;align-items:center;gap:11px;font-size:12.5px;color:#aebfce}
.legend-row i{width:11px;height:11px;border-radius:3px}
.legend-row b{font-family:var(--font-display);color:#fff;font-variant-numeric:tabular-nums;font-weight:600}
.panel-bottom{padding:13px 24px;border-top:1px solid var(--hair);font-size:11.5px;display:flex;justify-content:space-between;color:var(--muted)}
.panel-bottom strong{color:var(--yellow);font-family:var(--font-display);font-size:15px}

/* KPI value nunca quebra */
.kpi-value{white-space:nowrap}
.kpi.featured .kpi-value{font-size:34px}

/* MODAL premium */
dialog#modal::backdrop{background:rgba(4,10,18,.66);backdrop-filter:blur(5px)}
dialog#modal{background:linear-gradient(168deg,#0e2840,#0b1f33);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:0 44px 100px -34px rgba(0,0,0,.92);padding:26px 28px;color:var(--text)}
.modal-head{margin-bottom:22px;align-items:flex-start}
.modal-head .eyebrow{margin:0 0 8px}
.modal-head h2{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.3px}
.modal-head [data-close]{width:34px;height:34px;border-radius:10px;background:var(--field);border:1px solid var(--border);color:#bcccdb;display:grid;place-items:center;font-size:18px;line-height:1}
.modal-head [data-close]:hover{background:var(--raised);color:#fff}
.form-grid{gap:15px 16px}
.form-grid label{font-size:12px;color:#cfe0ee;gap:7px}
.form-grid input,.form-grid select,.form-grid textarea{background:var(--field);border:1.5px solid var(--border-strong);border-radius:10px;padding:11px 13px;color:var(--text)}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,210,26,.18)}
.sale-total{margin-top:20px;background:linear-gradient(180deg,rgba(255,210,26,.12),rgba(255,210,26,.03));border:1px solid rgba(255,210,26,.28);border-radius:12px;color:var(--yellow);padding:14px 17px;display:flex;justify-content:space-between;align-items:center}
.sale-total strong{font-family:var(--font-display);font-size:22px}
.modal-actions{margin-top:24px;gap:10px}
.modal-actions .primary{background:linear-gradient(180deg,var(--yellow-hi),var(--yellow-2));color:#10161d;font-weight:700;border:0;border-radius:10px;padding:12px 20px}
.modal-actions .secondary{background:var(--field);border:1px solid var(--border-strong);color:#d6e2ee;border-radius:10px}
.item-editor{border:1px solid var(--border);border-radius:12px;background:rgba(10,26,41,.5)}

/* today panels alinham ao novo sistema */
.today-highlight{background:linear-gradient(168deg,#0e2840,#0b2033)}
.today-score-revenue strong{color:var(--yellow)}

/* ===== BSM PREMIUM · passe fino de pixel ===== */
.kpi .kpi-value{white-space:nowrap;letter-spacing:-.4px}
.kpi.featured .kpi-value{white-space:nowrap;font-size:clamp(23px,2.05vw,34px)}
.kpi-spark{width:52%}
@media(min-width:1081px) and (max-width:1320px){.vg-hero{grid-template-columns:1fr 360px}}
.chart-panel .chart-wrap{padding-top:6px}
.donut-layout{gap:26px}

/* ===== BSM PREMIUM · tuning por tela ===== */
.sale-card{transition:border-color .15s,background .15s}
.sale-card:hover{border-color:var(--border-strong);background:#12314e}
.cal-cell.ok{background:rgba(57,229,140,.08)}
.cal-cell.miss{background:rgba(240,162,74,.12)}
.settings-card{background:linear-gradient(168deg,#0e2840,#0b2033)}
.today-score-revenue strong,.today-score-count strong{font-family:var(--font-display)}
.kpi-badge{display:inline-flex;align-items:center;gap:3px;line-height:1}
.mp-commission{margin-top:10px;font-size:12px;color:var(--muted);background:#5fd39a10;border:1px solid #5fd39a30;border-radius:8px;padding:9px 12px}
.mp-commission b{color:var(--text);font-weight:700}
.mp-commission .mp-up{color:var(--green);font-weight:700;margin-left:2px}
.mp-stat-hi{background:#f4ce2310;border:1px solid #f4ce2333;border-radius:8px;padding:8px 10px}
.mp-stat-hi b{color:var(--yellow)}
.crm-task-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.crm-late{background:#f0a24a1f;color:#f0b06a;border:1px solid #f0a24a4d;font-size:9.5px;font-weight:700;letter-spacing:.4px;padding:3px 7px;border-radius:5px;text-transform:uppercase}
.crm-val{background:#5fd39a14;color:#8fe0b8;border:1px solid #5fd39a33;font-size:10px;font-weight:700;padding:3px 8px;border-radius:5px;font-variant-numeric:tabular-nums}
.crm-task.is-late{box-shadow:inset 3px 0 #f0a24a}
.crm-late-count{margin-left:auto;background:#f0a24a1a;color:#f0b06a;border:1px solid #f0a24a40;font-size:10px;font-weight:700;padding:4px 9px;border-radius:20px;white-space:nowrap}
.fn-panel{margin-bottom:22px}
.fn-row{display:flex;align-items:stretch;gap:8px;padding:18px 22px 24px;flex-wrap:wrap}
.fn-stage{flex:1;min-width:120px;display:flex;align-items:center;gap:12px;background:#0f2334;border:1px solid var(--border);border-radius:10px;padding:15px 16px}
.fn-stage .fn-ic{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:9px;background:#16324c;color:var(--muted)}
.fn-stage .fn-ic .ic{width:18px;height:18px}
.fn-body small{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.fn-body b{font-family:var(--font-display);font-size:26px;line-height:1;font-variant-numeric:tabular-nums}
.fn-stage.fn-weak{border-color:#f0a24a66;background:#f0a24a12}
.fn-stage.fn-weak .fn-ic{background:#f0a24a22;color:#f0b06a}
.fn-arrow{flex:0 0 auto;align-self:center;text-align:center;padding:0 4px;min-width:66px}
.fn-arrow b{display:block;font-size:16px;color:var(--green);font-variant-numeric:tabular-nums}
.fn-arrow small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.fn-arrow:before{content:'→';display:block;color:var(--dim);font-size:15px;margin-bottom:3px}
.fn-arrow-weak b{color:#f0b06a}
.fn-rate-big{text-align:right;flex-shrink:0}
.fn-rate-big strong{display:block;font-family:var(--font-display);font-size:32px;line-height:1;color:var(--yellow)}
.fn-rate-big span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.fn-ctx-line{padding:0 22px 8px;font-size:12px;color:var(--muted)}
.fn-ctx-line b{color:var(--text);font-variant-numeric:tabular-nums}
@media(max-width:640px){.fn-row{flex-direction:column}.fn-arrow{min-width:0}.fn-arrow:before{content:'↓'}.fn-rate-big{text-align:left}}
.crm-risk{background:#f0a24a16;border:1px solid #f0a24a44;color:#f0c79a;border-radius:7px;padding:4px 10px!important;font-weight:600}
.crm-risk b{color:#f7b968}
.crm-wa{display:inline-flex;align-items:center;gap:4px;background:#25d36618;color:#4fe08a;border:1px solid #25d36640;font-size:10px;font-weight:700;padding:3px 9px;border-radius:6px;margin-right:6px}
.crm-wa:hover{background:#25d36628}
.crm-wa:before{content:'💬'}
.crm-script-suggest{background:#122c44;border:1px solid var(--border-strong);border-radius:10px;padding:12px 14px;margin-bottom:18px}
.crm-script-suggest-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.crm-script-suggest-head span{font-size:11px;letter-spacing:.4px;color:var(--yellow);font-weight:700}
.crm-script-suggest p{margin:0;font-size:13px;line-height:1.6;color:#e5eef7}
.crm-act{font-size:10px;font-weight:700;padding:4px 9px;border-radius:5px;white-space:nowrap;display:inline-block}
.crm-act.act-hot{background:#f0a24a1c;color:#f0b06a;border:1px solid #f0a24a4d}
.crm-act.act-warn{background:#f4ce231a;color:#e6c65a;border:1px solid #f4ce2340}
.crm-act-none{color:var(--dim)}
/* ---------- Bônus & gamificação ---------- */
.bn-panel{margin-bottom:22px;padding-bottom:8px}
.bn-panel .panel-head{align-items:flex-start}
.bn-score{text-align:right;flex-shrink:0}
.bn-score span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.bn-score strong{display:block;font-family:var(--font-display);font-size:30px;line-height:1.1;color:var(--yellow);font-variant-numeric:tabular-nums}
.bn-score-group strong{color:var(--green)}
.bn-score small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.bn-total-bar{height:9px;border-radius:6px;background:#25404f;overflow:hidden;margin:16px 22px 6px}
.bn-total-bar i{display:block;height:100%;background:var(--yellow);border-radius:6px}
.bn-total-bar i.bn-bar-group{background:var(--green)}
.bn-crits{display:grid;gap:12px;padding:14px 22px}
.bn-crit{background:#0f2334;border:1px solid var(--border);border-radius:10px;padding:13px 15px}
.bn-crit.bn-weak{border-color:#f4ce2366;background:#f4ce230f}
.bn-crit-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}
.bn-crit-name{display:flex;align-items:center;gap:8px;font-size:13px}
.bn-tag{font-size:8.5px;letter-spacing:.4px;text-transform:uppercase;font-weight:700;padding:2px 6px;border-radius:4px;background:#5fd39a1c;color:#8fe0b8;border:1px solid #5fd39a33}
.bn-tag-manual{background:#8aa0b81c;color:#a9c1d6;border-color:#8aa0b833}
.bn-pts{font-size:12px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.bn-bar{height:6px;border-radius:4px;background:#25404f;overflow:hidden;margin-bottom:8px}
.bn-bar i{display:block;height:100%;background:var(--yellow);border-radius:4px}
.bn-crit small{color:var(--muted);font-size:11px;line-height:1.5}
.bn-focus{margin:6px 22px 16px;background:#f4ce2312;border:1px solid #f4ce2340;border-radius:9px;padding:12px 15px;font-size:13px;line-height:1.6;color:#e6d9a0}
.bn-tiers{padding:8px 22px 16px;display:grid;gap:7px}
.bn-tier{display:grid;grid-template-columns:1.4fr 1.2fr .9fr;gap:12px;align-items:center;background:#0f2334;border:1px solid var(--border);border-radius:9px;padding:11px 14px;font-size:12.5px}
.bn-tier-head{background:none;border:0;padding:4px 14px;font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.bn-tier-done{border-color:#5fd39a44;background:#5fd39a0f}
.bn-tier-active{border-color:var(--yellow);box-shadow:inset 3px 0 var(--yellow)}
.bn-tier-range{font-weight:600;font-variant-numeric:tabular-nums}
.bn-tier-rate{color:var(--muted);font-variant-numeric:tabular-nums}
.bn-tier-earned{text-align:right;font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}
@media(max-width:640px){.bn-score{text-align:left}.bn-panel .panel-head{flex-direction:column;gap:12px}}
.bn-admin-list{display:grid;gap:14px}
.bn-admin-seller{border:1px solid var(--border);border-radius:10px;padding:15px 16px;background:#0f2334}
.bn-admin-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px}
.bn-admin-head b{font-size:14px}
.bn-admin-head span{font-size:12px;color:var(--yellow);font-weight:700;font-variant-numeric:tabular-nums}
/* ---------- Escola de Vendas (treinamento) ---------- */
.tr-progress{padding:20px 22px;margin-bottom:22px}
.tr-progress-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:13px}
.tr-progress-top span{color:var(--muted);font-size:12px}
.tr-bar{height:8px;border-radius:5px;background:#25404f;overflow:hidden;margin-top:12px}
.tr-bar i{display:block;height:100%;background:var(--yellow);border-radius:5px;transition:width .3s ease}
.tr-modules{display:grid;gap:22px}
.tr-module{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.tr-module-head{display:flex;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid var(--border);background:linear-gradient(168deg,#12324e,#0e2740)}
.tr-module-ic{width:26px;height:26px;flex-shrink:0;color:var(--yellow)}
.tr-module-head h2{font-family:var(--font-display);font-size:20px;letter-spacing:-.2px}
.tr-module-head p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.tr-module-count{margin-left:auto;align-self:flex-start;font-size:11px;color:var(--muted);background:#0f2233;border:1px solid var(--border);border-radius:20px;padding:5px 11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.tr-lessons{display:grid;gap:1px;background:var(--border)}
.tr-lesson{background:var(--surface);padding:20px 22px}
.tr-lesson.is-done{background:#0f2a22}
.tr-lesson-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.tr-lesson-head h3{font-size:15px;font-weight:600;margin:0}
.tr-check{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);cursor:pointer;white-space:nowrap}
.tr-check input{width:16px;height:16px;accent-color:var(--green);cursor:pointer}
.tr-lesson.is-done .tr-check{color:var(--green)}
.tr-lesson-body{display:grid;gap:14px}
.tr-p{margin:0;line-height:1.75;font-size:13px;color:#dbe6f0}
.tr-p b{color:var(--text)}
.tr-rules{background:#0f2334;border:1px solid var(--border);border-radius:10px;padding:14px 16px}
.tr-rules b{display:block;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--yellow);margin-bottom:9px}
.tr-rules ul{margin:0;padding-left:18px;display:grid;gap:7px}
.tr-rules li{line-height:1.6;font-size:13px;color:#dbe6f0}
.tr-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:none}
.tr-steps li{display:flex;gap:13px;align-items:flex-start;background:#0f2334;border:1px solid var(--border);border-radius:10px;padding:13px 15px}
.tr-step-n{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#f4ce231a;color:var(--yellow);border:1px solid #f4ce2340;font-weight:700;font-size:13px}
.tr-steps b{font-size:13px}
.tr-steps small{display:block;color:var(--muted);font-size:12px;margin-top:3px;line-height:1.55}
.tr-note{border-radius:10px;padding:12px 15px;font-size:12.5px;line-height:1.65}
.tr-note-good{background:#5fd39a12;border:1px solid #5fd39a35;color:#a9e6c8}
.tr-note-bad{background:#f0a24a12;border:1px solid #f0a24a38;color:#f0c79a}
.tr-script{background:#0c1f30;border:1px solid var(--border-strong);border-radius:10px;overflow:hidden}
.tr-script-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;background:#122c44;border-bottom:1px solid var(--border)}
.tr-script-head span{font-size:11px;letter-spacing:.5px;color:var(--muted);font-weight:600}
.tr-script pre{margin:0;padding:14px;white-space:pre-wrap;overflow-wrap:anywhere;font-family:'Inter','Segoe UI',sans-serif;font-size:13px;line-height:1.65;color:#e5eef7}
.tr-copy{border:1px solid var(--border-strong);background:var(--field);color:var(--yellow);font-size:11px;font-weight:600;padding:6px 12px;border-radius:7px;flex-shrink:0}
.tr-copy:hover{background:var(--raised)}
.tr-copy.is-copied{color:var(--green);border-color:#5fd39a55}
.tr-cadence{border:1px solid var(--border);border-radius:10px;overflow:hidden}
.tr-cadence-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:12px 15px;background:#122c44}
.tr-cadence-head b{font-size:13px}
.tr-cadence-head small{color:var(--muted);font-size:10px}
.tr-cadence table{width:100%;border-collapse:collapse;white-space:normal;font-size:12.5px}
.tr-cadence th{text-align:left;color:var(--muted);font-size:9px;letter-spacing:.7px;padding:9px 15px;border-bottom:1px solid var(--border)}
.tr-cadence td{padding:11px 15px;border-bottom:1px solid #22405c;vertical-align:top;line-height:1.55;color:#dbe6f0}
.tr-cadence tr:last-child td{border-bottom:0}
.tr-toque{font-weight:700;color:var(--yellow);white-space:nowrap}
.tr-msg{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}
.tr-msg span{flex:1}
@media(max-width:720px){.tr-cadence td,.tr-cadence th{padding:9px 10px}.tr-msg{flex-direction:column}.tr-lesson-head{align-items:flex-start}}
.tr-section-label{font-family:var(--font-display);font-size:16px;letter-spacing:.3px;color:var(--muted);text-transform:uppercase;margin:28px 2px 14px}
.tr-course .tr-module-head{background:linear-gradient(168deg,#2a2410,#1a1808)}
.tr-course .tr-module-ic{color:var(--yellow)}
.tr-module-count.cert-ok{background:#5fd39a1c;color:#8fe0b8;border-color:#5fd39a44}
.tr-module-count.cert-no{background:#f0a24a1c;color:#f0b06a;border-color:#f0a24a44}
.qz-panel{border-top:1px solid var(--border);margin-top:1px;background:#0d2136;padding:20px 22px}
.qz-head h3{font-size:15px;margin:0 0 6px}
.qz-head p{margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.6}
.qz-q{padding:14px 15px;border:1px solid var(--border);border-radius:10px;margin-bottom:10px;background:#0f2334}
.qz-q.qz-right{border-color:#5fd39a55;background:#5fd39a0d}
.qz-q.qz-wrong{border-color:#e5737355;background:#e573730d}
.qz-question{margin:0 0 11px;font-size:13.5px;font-weight:600;line-height:1.5}
.qz-options{display:grid;gap:8px}
.qz-opt{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:#dbe6f0;cursor:pointer;line-height:1.5}
.qz-opt input{margin-top:2px;accent-color:var(--yellow);flex-shrink:0}
.qz-actions{margin-top:14px}
.qz-result{margin-top:14px;padding:0;font-size:13.5px;line-height:1.6}
.qz-result.qz-pass{padding:13px 15px;border-radius:9px;background:#5fd39a14;border:1px solid #5fd39a3d;color:#a9e6c8}
.qz-result.qz-fail{padding:13px 15px;border-radius:9px;background:#e5737314;border:1px solid #e573733d;color:#f0b3b3}
.bn-admin-cert{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--border);border-radius:9px;background:#0f2334;margin-bottom:8px}
.bn-admin-cert small{color:var(--muted);font-size:11px;display:block;margin-top:3px}
.cert-pill{font-size:10px;font-weight:700;padding:4px 10px;border-radius:20px;white-space:nowrap}
.cert-pill.ok{background:#5fd39a1c;color:#8fe0b8;border:1px solid #5fd39a44}
.cert-pill.no{background:#f0a24a1c;color:#f0b06a;border:1px solid #f0a24a44}
.cert-pill.pend{background:#8aa0b81c;color:#a9c1d6;border:1px solid #8aa0b833}
.prime-summary{background:#0f2334;border:1px solid var(--border);border-radius:10px;padding:13px 15px}
.prime-summary>b{display:block;margin-bottom:8px;font-size:13px}
.prime-summary ul{margin:0;padding-left:18px;display:grid;gap:5px;font-size:13px;color:#dbe6f0}
.prime-summary small{display:block;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.5}
#prime-import-form input[type=file]{font-size:12px;padding:9px}

/* =========================================================
   MOBILE / PWA — barra inferior, safe-area, sheets, app-feel
   (bloco no fim: vence as camadas antigas por ordem de fonte)
   ========================================================= */
#bottomnav{display:none}
html{-webkit-text-size-adjust:100%;touch-action:manipulation}
@media(max-width:850px){
  /* esconde a sidebar de desktop; navegação vira barra inferior */
  .sidebar{display:none!important}
  .shell{margin:0!important}
  body{overscroll-behavior-y:contain;-webkit-tap-highlight-color:transparent}
  /* trava qualquer movimento horizontal: pagina e modais nunca rolam pro lado
     (clip nao cria contexto de rolagem, entao nao quebra o topo fixo nem o scroll vertical) */
  html,body,#content,main,.shell{overflow-x:clip;max-width:100%}
  main{padding:16px 16px calc(76px + env(safe-area-inset-bottom))!important;max-width:100%}
  /* topbar enxuta */
  .topbar{position:sticky;top:0;z-index:20;height:auto;min-height:56px;padding:calc(env(safe-area-inset-top) + 8px) 16px 8px!important;background:var(--bg);gap:10px;border-bottom:1px solid var(--border)}
  .breadcrumb{display:none}
  .topbar::before{content:'BOLD BSM';font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:.5px;color:var(--text)}
  .topsearch{display:none}
  .top-right{gap:8px;margin-left:auto}
  .demo-dot{display:none}
  .top-right #change-pass{display:none}
  /* barra inferior fixa (tab bar) */
  #bottomnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;
    background:rgba(7,22,38,.94);backdrop-filter:blur(12px);border-top:1px solid var(--border);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;align-items:stretch}
  .bn-item{flex:1;min-width:0;background:none;border:0;color:#8298ac;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:3px;padding:6px 2px;min-height:52px;border-radius:10px;font-size:10px;font-weight:600}
  .bn-item .ic{width:23px;height:23px}
  .bn-item span{font-size:9.5px;letter-spacing:.1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .bn-item.active{color:var(--yellow)}
  .bn-item:active{background:#ffffff10}
  /* modal vira sheet full-screen (sobe de baixo) */
  dialog#modal{width:100%!important;max-width:100%!important;height:100%;max-height:100%;margin:0;top:auto;bottom:0;
    border-radius:18px 18px 0 0;padding:calc(env(safe-area-inset-top) + 18px) 18px calc(env(safe-area-inset-bottom) + 18px);
    overflow-x:hidden!important;overflow-y:auto;overscroll-behavior:contain;animation:sheetup .25s ease-out}
  #modal-content{max-width:100%;overflow-x:clip}
  @keyframes sheetup{from{transform:translateY(100%)}to{transform:none}}
  .modal-head{position:sticky;top:0;background:var(--surface);padding-bottom:12px;z-index:2}
  .modal-actions{position:sticky;bottom:0;background:var(--surface);padding-top:14px;margin-top:16px}
  .modal-actions button{flex:1;min-height:48px}
  /* alvos de toque e zoom de input no iOS */
  button,.nav-btn,.text-button{min-height:auto}
  input,select,textarea{font-size:16px}
  .table-wrap{-webkit-overflow-scrolling:touch}
  h1{font-size:26px}
  /* === Conteúdo responsivo: grids multi-coluna colapsam no celular === */
  .kpis{grid-template-columns:1fr 1fr;gap:10px}
  .kpi{padding:14px}
  .kpi.featured{grid-column:1 / -1}
  .kpi-value{font-size:clamp(17px,5.4vw,22px);margin:9px 0 7px;letter-spacing:-.4px}
  .featured .kpi-value{font-size:clamp(26px,8vw,34px)}
  .kpi.featured:after{font-size:96px}
  .kpi-label{font-size:11px}
  .kpi-foot{font-size:10px}
  .chart-grid,.lower-grid,.settings-grid,.sale-breakdown{grid-template-columns:1fr!important;gap:14px}
  .form-grid,.item-fields{grid-template-columns:minmax(0,1fr);gap:13px}
  .form-grid label.full{grid-column:auto}
  /* controles do form nunca podem forçar a largura (select com opção longa
     estava esticando a grade e causando scroll lateral no "Registrar venda"
     e no "Preencher relatório") */
  .form-grid label,.item-fields label{min-width:0}
  .form-grid input,.form-grid select,.form-grid textarea,.item-fields input,.item-fields select,.item-fields textarea{width:100%;min-width:0;max-width:100%}
  #sale-form .sale-total{flex-wrap:wrap;gap:4px}
  /* painel "minha meta e nível" (vendedor): 1 número por vez, hero = faturamento */
  .mp-body{grid-template-columns:1fr;gap:16px}
  .mp-panel .panel-head{flex-wrap:wrap;gap:12px}
  .mp-panel .mp-level{margin-left:0}
  .mp-goalrow{flex-direction:column;gap:0;align-items:stretch}
  .mp-goalrow>div:first-child{order:2;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}
  .mp-goalrow>div:first-child .mp-lbl{margin:0}
  .mp-goalrow>div:first-child .mp-goalv{font-size:15px;color:var(--muted);margin:0}
  .mp-goalrow>div:last-child{order:1;text-align:left!important}
  .mp-goalrow>div:last-child .mp-goalv{font-size:clamp(30px,10vw,38px)}
  .mp-falta{font-size:12px}
  .mp-commission{font-size:11.5px}
  .mp-ladder{grid-template-columns:1fr!important;gap:8px}
  .mp-chip{white-space:normal}
  /* estatísticas laterais viram lista de linhas únicas, não grade 2x2 */
  .mp-side{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border);border-left:0;padding-left:0;padding-top:14px;margin-top:6px}
  .mp-stat{padding:12px 0}
  .mp-stat span{font-size:11.5px}
  .mp-stat b{font-size:18px}
  /* donut e gráficos ocupam a largura toda */
  .donut-layout{flex-direction:column;gap:16px;padding:22px 16px}
  .donut-legend{max-width:100%;width:100%}
  .chart-wrap{padding:16px 16px 4px}
  /* filtros quebram linha em vez de estourar */
  .filterbar{flex-wrap:wrap;gap:8px;padding:12px 0}
  .filterbar select{max-width:none;flex:1 1 calc(50% - 4px)}
  .filterbar .date-filter{flex:1 1 calc(50% - 4px);font-size:12px}
  #sale-search,.sale-filters input#sale-search{flex:1 1 100%}
  .period-note{margin-left:0;flex-basis:100%}
  /* cabeçalhos de página e de painel quebram, botões viram largura total */
  .page-head{flex-wrap:wrap;gap:14px}
  .page-head .actions{flex-wrap:wrap;width:100%}
  .page-head .actions button{flex:1 1 auto}
  .panel-head{flex-wrap:wrap;gap:10px;padding:18px 16px 0}
  /* tabelas: padding menor pra caber mais coluna antes de rolar */
  th{padding:11px 13px}
  td{padding:13px 13px}
  .report-list,.report-note,.goal,.panel-bottom,.chart-caption{padding-left:16px;padding-right:16px}
  /* menos ruído: notas longas de rodapé só no desktop */
  .mp-note,.report-note,.fn-panel .report-note{display:none}
  /* KPIs: um número por vez — o rodapé de completude (ex.: "8 de 8 relatórios...")
     só aparece no card em destaque, os demais ficam só com valor + tendência */
  .kpi:not(.featured) .kpi-foot{display:none}
  /* banner decorativo do topo (vendedor): só ilustrativo, ocupa espaço sem função no mobile */
  .vg-hero{display:block}
  .vg-hero .vg-banner{display:none}
  .vg-hero-l h1{font-size:22px}
  .vg-hero-l .subtitle{font-size:12px}
  /* Vendas: cards de venda — hierarquia clara, nada de rótulo cortando linha */
  .sale-card{padding:14px 4px}
  .sale-title{gap:8px}
  .sale-title b{font-size:15px;line-height:1.3}
  .sale-nums{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;width:100%;margin-top:2px}
  .sale-nums>div{text-align:left;min-width:0}
  .sale-nums span{letter-spacing:.2px}
  .sale-edit{grid-column:1/-1;width:100%;text-align:center;min-height:44px;font-size:13px;margin-top:2px}
  /* Vendas: tabelas "Por tipo/Por duração" — rótulo curto pra não cortar a coluna % */
  .facet-table{font-size:12px}
  .facet-table th,.facet-table td{padding:11px 10px}
  .fl-full{display:none}
  .fl-short{display:inline}
  /* Relatório: tabela de itens (9 colunas) vira lista de cards — sem scroll lateral */
  .item-table{width:100%}
  .item-table thead{display:none}
  .item-table,.item-table tbody,.item-table tr,.item-table td{display:block;width:100%}
  .item-table tr{border:1px solid var(--border);border-radius:12px;padding:4px 14px;margin-bottom:10px;background:var(--field)}
  .item-table tr:last-child{margin-bottom:0}
  .item-table td{border:0;border-bottom:1px solid var(--border);padding:9px 0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;text-align:right;white-space:normal;overflow-wrap:anywhere}
  .item-table td::before{flex:0 0 auto}
  .item-table td>*,.item-table td{min-width:0}
  .item-table td:last-child{border-bottom:0}
  .item-table td::before{content:attr(data-label);color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;text-align:left;flex-shrink:0}
  .item-table td[data-label="Plano"]{font-weight:600;color:var(--text)}
  .item-table td[data-label="Cliente"]{flex-direction:column;align-items:flex-start;text-align:left;gap:4px}
  .item-table td[data-label="Cliente"] small{color:var(--muted)}
  .table-wrap:has(.item-table){overflow-x:visible}
}
@media(min-width:851px){.fl-full{display:inline}.fl-short{display:none}}
/* menu "Mais" (sheet) */
.more-list{display:grid;gap:2px;margin-top:4px}
.more-item{display:flex;align-items:center;gap:14px;width:100%;background:none;border:0;border-radius:10px;
  padding:15px 12px;color:var(--text);font-size:15px;text-align:left}
.more-item .more-ic{width:22px;height:22px;color:var(--muted);flex-shrink:0}
.more-item .more-chev{width:18px;height:18px;color:var(--dim);margin-left:auto}
.more-item:active{background:#ffffff0d}
.more-account{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);display:grid;gap:2px}
.more-danger{color:#f0a24a}
.more-danger .more-ic{color:#f0a24a}
@media(min-width:851px){#bottomnav{display:none!important}}
/* Feedback de rede: barra de progresso no topo + banner de cold start */
#netbar{position:fixed;top:0;left:0;height:3px;width:0;z-index:9999;background:linear-gradient(90deg,var(--yellow),#ffe35c);box-shadow:0 0 8px #f8ce1680;opacity:0;pointer-events:none;transition:width .25s ease,opacity .3s ease}
#netbar.on{opacity:1;width:90%;transition:width 14s cubic-bezier(.1,.7,.2,1),opacity .2s ease}
#wakebanner{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 18px);transform:translateX(-50%) translateY(20px);z-index:9998;display:none;align-items:center;gap:10px;max-width:calc(100vw - 32px);background:var(--raised,#173453);color:var(--text);border:1px solid #f8ce1655;border-radius:12px;padding:12px 16px;font-size:13px;line-height:1.4;box-shadow:0 10px 30px #00000066;opacity:0;transition:opacity .3s ease,transform .3s ease}
#wakebanner.show{display:flex;opacity:1;transform:translateX(-50%) translateY(0)}
.wake-spin{flex-shrink:0;width:16px;height:16px;border-radius:50%;border:2px solid #f8ce1640;border-top-color:var(--yellow);animation:wake-rot .7s linear infinite}
@keyframes wake-rot{to{transform:rotate(360deg)}}
@media(max-width:850px){#wakebanner{bottom:calc(env(safe-area-inset-bottom) + 76px)}}
/* Vendas: filtros robustos, faixa de totais e quebras clicaveis */
.sale-filters{flex-wrap:wrap;gap:8px}
.sale-filters input#sale-search{flex:1 1 220px;min-width:160px}
.sale-filters select{flex:0 0 auto}
.sale-totals{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:0 0 18px}
.sale-totals .st-cell{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.sale-totals .st-cell span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.sale-totals .st-cell strong{font-size:20px;font-family:var(--font-display);letter-spacing:.3px}
.sale-totals .st-hi{border-color:#f8ce1655;background:linear-gradient(165deg,#f8ce160f,var(--surface))}
.sale-totals .st-hi strong{color:var(--yellow)}
.sale-breakdown{margin-bottom:18px}
.facet-table tbody tr.facet-row{cursor:pointer;transition:background .12s ease}
.facet-table tbody tr.facet-row:hover{background:#f8ce160d}
.facet-table tbody tr.facet-row.is-active{background:#f8ce1618;box-shadow:inset 3px 0 0 var(--yellow)}
.facet-table td:nth-child(2),.facet-table td:nth-child(4),.facet-table th:nth-child(2),.facet-table th:nth-child(4){text-align:right}
@media(max-width:850px){.sale-totals{grid-template-columns:repeat(2,1fr)}.sale-totals .st-cell strong{font-size:17px}}
/* Botao em carregamento: spinner + texto (feedback dentro do modal) */
.btn-spin{display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-right:8px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;opacity:.85;animation:wake-rot .7s linear infinite}
button.is-busy{cursor:progress;opacity:.92}
/* esqueleto de carregamento (reserva o espaço do "Minha meta e nível" p/ não pular) */
.mp-skeleton{min-height:330px;padding:24px;display:block}
.mp-skeleton .sk-line,.mp-skeleton .sk-bar{display:block;border-radius:8px;background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1c 50%,#ffffff0a 75%);background-size:200% 100%;animation:sk-shimmer 1.4s ease-in-out infinite;margin-bottom:15px}
.mp-skeleton .sk-line{height:16px}
.mp-skeleton .sk-line.sk-sm{height:11px;margin-bottom:12px}
.mp-skeleton .sk-line.sk-big{height:34px;margin-bottom:22px}
.mp-skeleton .sk-bar{height:6px;margin:4px 0 24px}
@keyframes sk-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.mp-skeleton .sk-line,.mp-skeleton .sk-bar{animation:none}}

/* Rotina do vendedor: checklist de tarefas do dia */
.routine-progress{height:8px;border-radius:6px;background:#25404f;overflow:hidden;margin:0 24px 6px}
.routine-progress i{display:block;height:100%;background:var(--yellow);border-radius:6px;transition:width .25s ease}
.routine-list{display:grid;gap:10px;padding:14px 24px}
.routine-list.compact{padding:6px 0;gap:8px}
.routine-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}
.routine-item:hover{border-color:#526044}
.routine-item input{width:22px;height:22px;flex-shrink:0;accent-color:var(--yellow);margin:0}
.routine-item.is-done{background:rgba(255,219,61,.06);border-color:#6b5f1f}
.routine-item.is-done .routine-text b{text-decoration:line-through;color:var(--muted)}
.routine-n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#25404f;font-size:12px;font-weight:600;flex-shrink:0}
.routine-text{display:grid;gap:4px;min-width:0}
.routine-text b{font-size:14px}
.routine-text small{color:var(--muted);font-size:12px}
.routine-list.compact .routine-item{padding:10px 12px}
.routine-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 24px 18px;flex-wrap:wrap}
.routine-foot .section-note{margin:0;max-width:520px}
.sale-notes{white-space:pre-wrap}
@media(max-width:650px){.routine-list{padding:12px 16px}.routine-foot{padding:6px 16px 16px}.routine-foot button{width:100%}.routine-progress{margin:0 16px 6px}}

/* PDF de Performance Comercial (gestão): leitura limpa, barras visíveis, sem barra de navegação do celular */
@media print{#bottomnav,.topbar,#netbar,#wakebanner{display:none!important}}
.pdf-report h2{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:#f4ce23;margin:0 0 10px;font-weight:700}
.pdf-report .pdf-kpi-hi{background:#17314d;border-color:#f4ce23}
.pdf-report .pdf-kpi-hi b{color:#ffdb3d;font-size:18px}
.pdf-report .pdf-table th.num,.pdf-report .pdf-table td.num{text-align:right;white-space:nowrap}
.pdf-report .pdf-zebra tbody tr:nth-child(even) td{background:#122840}
.pdf-report .pdf-dim{color:#9fb4c8}
.pdf-report .pdf-grid{gap:13px;margin-bottom:13px}
.pdf-report .pdf-table tr{break-inside:avoid}
/* PDF v2: times, ranking e detalhamento vendedor × time; quebra de página limpa */
.pdf-report .pdf-lead{margin:-4px 0 10px;font-size:10.5px;color:#9fb4c8}
.pdf-report .pdf-rank{display:inline-block;min-width:22px;color:#f4ce23;font-weight:700}
.pdf-report .pdf-cross .pdf-group td{background:#17314d;border-top:1px solid #2b5277}
.pdf-report .pdf-cross .pdf-indent{padding-left:24px}
.pdf-report .pdf-tag{font-size:8.5px;letter-spacing:.6px;text-transform:uppercase;color:#0b1a2b;background:#9fb4c8;border-radius:4px;padding:1px 5px;margin-left:4px}
.pdf-report .pdf-section{break-inside:avoid}
.pdf-report .pdf-table thead{display:table-header-group}
@media print{
  html,body{background:#0b1a2b!important}
  .pdf-report .pdf-newpage{break-before:page;margin-top:30px}
  .pdf-report .pdf-table tr{break-inside:avoid}
  .pdf-report .pdf-compact td,.pdf-report .pdf-compact th{padding-top:4px;padding-bottom:4px}
}
/* PDF Detalhamento de Vendas: uma venda por linha, paginação automática da tabela */
.pdf-sales-doc .pdf-kpis{grid-template-columns:repeat(5,1fr)}
.pdf-report h2.pdf-sales-title{margin:2px 0 8px}
.pdf-report .pdf-sales td small{display:block;margin-top:2px;line-height:1.3}
@media print{.pdf-report .pdf-sales tr{break-inside:avoid}}
/* Campo de senha com botão de mostrar/ocultar (olhinho) */
.pw-wrap{position:relative;display:block}
.pw-wrap>input{width:100%;padding-right:42px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:0;cursor:pointer;font-size:17px;line-height:1;padding:4px;opacity:.85;border-radius:6px}
.pw-toggle:hover{opacity:1;background:rgba(255,255,255,.08)}

.help-tip{display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid var(--muted);border-radius:50%;color:var(--yellow);font-size:10px;font-weight:700;line-height:1;cursor:help;position:relative;vertical-align:middle}.help-tip::after{content:attr(data-tip);display:none;position:absolute;z-index:5;left:0;top:22px;width:250px;padding:9px 10px;border:1px solid var(--border-strong);border-radius:8px;background:#102131;color:var(--text);font-size:11px;font-weight:400;line-height:1.45;box-shadow:0 10px 24px #0006}.help-tip:hover::after,.help-tip:focus::after{display:block}

/* Estrutura dos formulários — preserva a identidade visual atual e reduz ruído na leitura. */
.sale-form-section,.sale-form-divider{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px}.sale-form-section{padding:4px 0 2px}.sale-form-divider{border-top:1px solid var(--border);padding-top:18px;margin-top:4px}.sale-form-step{flex:0 0 24px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft,#f8ce1618);border:1px solid #f8ce1655;color:var(--yellow);font-size:12px;font-weight:800}.sale-form-section b,.sale-form-divider b{display:block;font-size:14px;color:var(--text)}.sale-form-section small,.sale-form-divider small{display:block;margin-top:2px;color:var(--muted);font-size:12px;line-height:1.35}.sale-benefit-summary{grid-column:1/-1;background:#f4ce2310;border:1px solid #f4ce1638;border-radius:9px;padding:11px 13px;color:#f5d850;font-size:12px}.sale-benefit-summary b{display:block;font-size:11px;letter-spacing:.3px;margin-bottom:4px}.sale-benefit-summary span{color:#dce7ef}
.report-flow-head{display:flex;align-items:flex-start;gap:10px;margin:24px 0 12px}.report-flow-head:first-child{margin-top:0}.report-flow-head b{display:block;font-size:14px;color:var(--text)}.report-flow-head small{display:block;margin-top:2px;color:var(--muted);font-size:12px;line-height:1.35}.report-flow-details{margin:24px 0 0;border:1px solid var(--border);border-radius:10px;background:#0b21351f}.report-flow-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;cursor:pointer;list-style:none}.report-flow-details>summary::-webkit-details-marker{display:none}.report-flow-details>summary b{display:block;color:var(--text);font-size:13px}.report-flow-details>summary small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}.report-flow-details[open]>summary{border-bottom:1px solid var(--border)}.report-flow-details>p,.report-flow-details>#report-cards,.report-flow-details>#report-items,.report-flow-details>#add-item,.report-flow-details>#item-feedback{margin-left:15px;margin-right:15px}.report-flow-details>#report-cards{margin-top:10px}.report-flow-details>#item-feedback{margin-top:9px;margin-bottom:14px}.details-cue{font-size:10px;color:var(--yellow);white-space:nowrap}.report-flow-details[open] .details-cue{font-size:0}.report-flow-details[open] .details-cue:after{content:'Ocultar';font-size:10px}
@media(max-width:640px){.sale-form-divider{padding-top:15px;margin-top:0}.sale-form-section small,.sale-form-divider small{font-size:11.5px}#modal-content .sale-total{flex-wrap:wrap;gap:4px}.report-flow-head{margin-top:20px}.report-flow-details>summary{padding:13px}.report-flow-details>p,.report-flow-details>#report-cards,.report-flow-details>#report-items,.report-flow-details>#add-item,.report-flow-details>#item-feedback{margin-left:13px;margin-right:13px}}

.report-question{margin:14px 0 5px;color:var(--yellow);font-size:12px}.crm-report-summary summary{cursor:pointer;color:var(--yellow);font-size:13px}

/* Contexto diário: escolhas curtas, agrupadas e legíveis no formulário e no PDF. */
.report-context{display:grid;gap:18px}.report-context-group{display:grid;gap:10px}.report-context-group+.report-context-group{padding-top:18px;border-top:1px solid var(--border)}.report-context-group-head{display:grid;gap:2px;padding:0 2px}.report-context-group-head b{color:var(--text);font-size:13px}.report-context-group-head small{color:var(--muted);font-size:11px;line-height:1.35}.report-context-field{margin:0;padding:14px 15px;border:1px solid var(--border);border-radius:10px;background:#0b21351f}.report-context-field legend{padding:0 5px;color:var(--text);font-size:13px;font-weight:700}.report-context-field legend small{color:var(--muted);font-size:10px;font-weight:400}.report-choice-set{display:flex;flex-wrap:wrap;gap:8px 10px}.report-choice{display:inline-flex;align-items:flex-start;gap:6px;max-width:100%;padding:7px 9px;border:1px solid #ffffff18;border-radius:7px;background:#ffffff05;color:#dce7ef;font-size:12px;line-height:1.35;cursor:pointer}.report-choice:has(input:checked){border-color:#f4ce2366;background:#f4ce2312;color:#fff}.report-choice input{margin:1px 0 0;accent-color:var(--yellow)}.report-other,.report-context-note{display:grid;gap:6px;margin-top:11px;color:var(--muted);font-size:11px}.report-other input,.report-context-note input{width:100%}.report-context-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-bottom:20px}.report-context-summary>div{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#ffffff04}.report-context-summary small{display:block;color:var(--muted);font-size:10px;line-height:1.35}.report-context-summary strong{display:block;margin-top:5px;color:#eaf1f8;font-size:12px;line-height:1.45;font-weight:600}.pdf-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px}.pdf-context>div{padding:8px 0;border-bottom:1px solid #17304a}.pdf-context b{display:block;color:#f4ce23;font-size:9px;letter-spacing:.45px;text-transform:uppercase}.pdf-context span{display:block;margin-top:3px;color:#e4ecf4;font-size:11px;line-height:1.45;white-space:pre-wrap}@media(max-width:640px){.report-context-summary,.pdf-context{grid-template-columns:1fr}.report-choice-set{display:grid;grid-template-columns:1fr}.report-choice{width:100%}}
