:root{font-family:'Avenir Next',system-ui,-apple-system,sans-serif;color:#152444;background:#f3f6fb;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:'Avenir Next',system-ui,sans-serif}h1{font-weight:700;letter-spacing:-.045em;font-size:clamp(1.7rem,4vw,2.3rem)}h2{letter-spacing:-.025em;font-size:1.25rem}h3{font-size:1.04rem}small{font-size:.76rem}
:root{--navy:#0d1c3b;--navy2:#192e59;--gold:#c9a35c;--light:#f3f6fb;--ink:#172747;--muted:#63708a;--stroke:#dfe5ef;--white:#fff;--good:#0c8769;--red:#c83846;--shadow:0 10px 32px rgba(16,32,68,.055)}
.splash{min-height:100vh;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#bfc9da;gap:14px}.splash-mark{font:800 3.1rem system-ui;color:var(--gold);letter-spacing:-.06em}.splash-mark span{font-size:1.05rem;letter-spacing:.22em;color:white;display:block;text-align:center}
.auth-page{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-hero{padding:clamp(2rem,7vw,6rem);background:radial-gradient(ellipse at 10% 15%,#234071,transparent 45%),linear-gradient(145deg,#0e2044,#09152e);color:#fff;display:flex;justify-content:space-between;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font:700 1.5rem system-ui;letter-spacing:.14em;text-transform:uppercase}.brand .mark{background:var(--gold);border-radius:9px;padding:6px 7px;font-size:1.15rem;letter-spacing:-.08em;color:#102042}.brand strong{color:#d8b875;font-weight:800}.auth-hero h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.06;max-width:590px}.auth-hero .eyebrow{color:#d7b777}.auth-hero p{max-width:360px;line-height:1.6;color:#c3cdde;margin-top:18px}.auth-footnote{color:#a0afc8;font-size:.83rem}.auth-side{display:flex;align-items:center;justify-content:center;padding:36px}.auth-card{width:min(100%,440px);display:grid;gap:18px}.eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#96703e}.auth-card h2{font-size:2.15rem}.muted{color:var(--muted)}.auth-card p{line-height:1.45}.field{display:grid;gap:7px}.field label,.field-title{font-size:.82rem;font-weight:700;color:#364563}.field input,.field select,.field textarea,.input{width:100%;min-height:45px;padding:11px 13px;border:1px solid #dbe2ec;border-radius:12px;background:white;color:#18294a;outline:none}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#809bc8;box-shadow:0 0 0 3px #a7c0e444}.btn{border:0;border-radius:12px;padding:12px 17px;font-size:.87rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:filter .12s;min-height:43px}.btn:active{filter:brightness(.93)}.btn.primary{background:var(--navy2);color:white}.btn.gold{background:var(--gold);color:#14203a}.btn.secondary{background:#edf2f8;color:var(--ink)}.btn.outline{border:1px solid var(--stroke);background:white;color:var(--ink)}.btn.danger{color:#b7273e;background:#fff0f1}.btn.ghost{background:transparent;color:var(--muted)}.btn.small{min-height:34px;padding:7px 11px;font-size:.76rem;border-radius:9px}.btn.wide{width:100%}.btn:focus-visible,.nav-item:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.notice{padding:13px 15px;background:#f6f0df;border-radius:12px;color:#745e32;font-size:.85rem;line-height:1.5}
.app-shell{min-height:100dvh}.topbar{background:linear-gradient(120deg,#14284e,#0c1937);color:white;padding:22px max(24px,calc((100vw - 1220px)/2)) 35px}.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar .brand{font-size:1.1rem}.topbar .brand .mark{font-size:.9rem}.account{display:flex;gap:15px;align-items:center;text-align:right}.account strong{display:block;font-size:.86rem}.account small{color:#bdc8d9}.account .logout{border:1px solid #ffffff38;background:#ffffff10;color:#fff;padding:8px 10px;border-radius:10px}.main{width:min(1190px,calc(100% - 38px));margin:-12px auto 0;padding:0 0 112px}.page-header{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:0 0 20px;flex-wrap:wrap}.page-header p{font-size:.86rem;color:var(--muted);margin-top:6px}.page-header h1{font-size:2rem}.card{background:#fff;border:1px solid #e7ebf2;border-radius:19px;padding:22px;box-shadow:var(--shadow)}.card+.card{margin-top:15px}.card h2{margin-bottom:13px}.stack{display:grid;gap:16px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{padding:20px;border:1px solid #e6ebf1;border-radius:17px;background:#fff;min-width:0}.stat .num{font:750 clamp(1.45rem,2.6vw,2.3rem) system-ui;color:#152c57;line-height:1.2}.stat .label{font-size:.76rem;color:var(--muted);margin-top:5px}.stat .corner{float:right;color:var(--gold);font-size:1.3rem}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.filter-bar>.field{min-width:150px;flex:1}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.section-head h2{margin:0}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:100px;padding:5px 10px;font-size:.71rem;font-weight:800;white-space:nowrap}.pill.good{color:#0d7661;background:#e5f7f0}.pill.gold{color:#826222;background:#fbf4e0}.pill.gray{color:#52627c;background:#edf1f7}.pill.red{color:#b92b40;background:#ffe8ed}.list{display:grid;gap:10px}.list-row{display:flex;align-items:center;gap:14px;padding:13px;border:1px solid #e8edf4;border-radius:13px;background:white}.list-row .main-text{flex:1;min-width:0}.list-row .main-text strong{font-size:.89rem;display:block}.list-row .main-text small{display:block;color:var(--muted);margin-top:4px}.avatar{display:flex;align-items:center;justify-content:center;width:39px;height:39px;flex-shrink:0;border-radius:13px;background:#e9eef7;color:#1a3765;font-weight:800;font-size:.75rem}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{padding:5px 8px;border:1px solid #dee6f2;border-radius:9px;background:#f6f8fc;font-size:.72rem;color:#52647b}.muted-card{background:#f8fafc;border:1px dashed #d5dfeb;border-radius:14px;padding:24px;color:#697991;text-align:center}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.right{margin-left:auto}.period-card{display:flex;gap:13px;justify-content:space-between;align-items:center;border:1px solid #e4e9f0;border-radius:14px;padding:13px 15px;flex-wrap:wrap}.period-card strong{display:block}.period-card small{display:block;color:var(--muted);margin-top:3px}.divider{height:1px;background:#e8edf4;margin:15px 0}.subtle{color:var(--muted);font-size:.82rem}.form-row{display:flex;flex-wrap:wrap;gap:11px;align-items:end}.form-row .field{flex:1 1 170px}.form-row .btn{flex-shrink:0}.roleta-row{display:flex;align-items:center;gap:11px;border:1px solid #e8edf4;border-radius:12px;padding:10px 12px;margin-top:8px}.roleta-row.current{background:#e9eef9;border-color:#bac9df}.roleta-pos{font:700 1rem system-ui;background:#f1f4f8;border-radius:9px;width:30px;height:32px;display:grid;place-items:center}.roleta-row.current .roleta-pos{background:#1c345f;color:#fff}.roleta-row .desc{flex:1;min-width:0}.roleta-row .desc strong{display:block;font-size:.86rem}.roleta-row .desc small{color:var(--muted)}.roleta-row .mini-actions{display:flex;gap:4px}.mini-actions button{width:30px;height:30px;display:grid;place-items:center;background:white;border:1px solid #e2e7ef;border-radius:8px;color:#435474}.visit-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.visit-opt{display:flex;align-items:center;justify-content:center;border:1px solid #dfe6f0;background:#f5f7fb;border-radius:10px;padding:12px 4px;font-size:.74rem;color:#3a4b64;font-weight:700;cursor:pointer}.visit-opt input{position:absolute;opacity:0}.visit-opt:has(input:checked){background:#182e58;color:white;border-color:#182e58}.table-wrap{max-width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.81rem;white-space:nowrap}.data-table th{text-align:left;padding:11px 12px;background:#f4f7fb;color:#5d6d83;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.data-table td{border-bottom:1px solid #edf0f5;padding:11px 12px}.data-table tr:hover td{background:#fbfcfe}.data-table td.num{text-align:right;font-variant-numeric:tabular-nums}.data-table .bold{font-weight:800}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check-line{display:flex;align-items:center;gap:8px;font-size:.82rem;background:#f6f8fb;padding:10px;border-radius:10px}.check-line input{accent-color:#1a2f5d}.toast{position:fixed;top:14px;right:14px;left:14px;max-width:480px;margin-left:auto;z-index:1000;padding:15px 18px;border-radius:14px;box-shadow:0 9px 35px #111e3840;background:#10294f;color:white;font-size:.88rem;display:none;line-height:1.5}.toast.show{display:block}.toast.error{background:#ab233d}.bottom-nav{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:50;background:#0d1d3c;color:#bdc7d8;border-radius:22px;display:flex;justify-content:space-around;align-items:center;padding:9px;width:min(560px,calc(100% - 32px));box-shadow:0 17px 35px #11254c40;gap:4px}.nav-item{border:0;background:transparent;color:inherit;border-radius:14px;min-height:53px;flex:1;min-width:0;display:grid;justify-items:center;align-content:center;gap:3px}.nav-item.active{background:#26395e;color:#dcb76d}.nav-icon{font-size:1.27rem;line-height:1}.nav-label{font-size:.69rem;white-space:nowrap}.desktop-note{font-size:.72rem;text-align:center;color:#8792a6;margin-top:18px}.loading{padding:30px;text-align:center;color:var(--muted)}.empty-icon{font-size:2rem;margin-bottom:8px}.highlight{color:#caa55c}.text-good{color:var(--good)}.text-red{color:var(--red)}
@media(max-width:850px){.auth-page{display:block;background:#f3f6fb}.auth-hero{min-height:260px;padding:28px 26px 50px}.auth-hero h1{font-size:2.3rem;margin-top:33px}.auth-hero p{font-size:.88rem}.auth-footnote{display:none}.auth-side{padding:0 20px 32px;margin-top:-24px;position:relative}.auth-card{background:white;border-radius:24px;padding:27px 23px;box-shadow:var(--shadow)}.topbar{padding:22px 24px 35px}.grid.four{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(2,1fr)}.account strong{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{margin-top:-12px}}
@media(max-width:540px){.topbar{padding:17px 17px 31px}.topbar .brand{font-size:.89rem;gap:6px}.topbar .brand .mark{font-size:.8rem}.account{gap:6px}.account strong{font-size:.74rem;max-width:120px}.account small{font-size:.65rem}.account .logout{padding:7px}.main{width:calc(100% - 24px)}.card{padding:15px;border-radius:16px}.page-header{align-items:start}.page-header h1{font-size:1.7rem}.grid{gap:9px}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:15px}.stat .num{font-size:1.7rem}.filter-bar>.field{min-width:130px}.form-row .field{flex:1 1 135px}.visit-options{grid-template-columns:repeat(2,1fr)}.roleta-row{gap:7px;padding:9px 7px}.roleta-row .mini-actions{gap:2px}.mini-actions button{width:28px}.check-grid{grid-template-columns:1fr}.bottom-nav{bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 18px);border-radius:20px}.nav-label{font-size:.64rem}.nav-icon{font-size:1.18rem}.auth-hero{min-height:248px}.auth-card h2{font-size:1.78rem}}

/* MScontrol: navegação lateral e cabeçalho sem sobreposição */
.app-shell .topbar{padding:18px 30px 18px 250px;min-height:82px}
.app-shell .topbar-inner{max-width:none}
.app-shell .main{width:auto;max-width:1480px;margin:0 30px 0 250px;padding:30px 0 48px}
.app-shell .page-header{margin-bottom:24px}
.app-shell .bottom-nav{position:fixed;top:0;bottom:0;left:0;transform:none;width:218px;height:100dvh;border-radius:0;padding:112px 12px 24px;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:8px;box-shadow:4px 0 22px #11254c1a;overflow-y:auto}
.app-shell .nav-item{width:100%;flex:0 0 auto;min-height:54px;display:flex;justify-content:flex-start;align-items:center;gap:14px;padding:12px 15px;text-align:left}
.app-shell .nav-label{font-size:.9rem}
.app-shell .nav-icon{font-size:1.3rem;width:26px;text-align:center}
@media(max-width:850px){.app-shell .topbar{padding:16px 18px 16px 90px;min-height:75px}.app-shell .main{margin:0 16px 0 90px;padding-top:24px}.app-shell .bottom-nav{width:74px;padding:94px 8px 16px}.app-shell .nav-item{padding:12px 5px;justify-content:center;flex-direction:column;gap:5px}.app-shell .nav-label{font-size:.59rem;white-space:normal;text-align:center}.app-shell .nav-icon{font-size:1.2rem}}
@media(max-width:540px){.app-shell .topbar{padding:13px 12px 13px 76px;min-height:70px}.app-shell .main{margin:0 12px 0 76px;padding-top:20px}.app-shell .bottom-nav{width:65px;padding:85px 5px 12px}.app-shell .nav-item{min-height:59px}.app-shell .page-header h1{font-size:1.55rem}}

/* Identidade visual do MScontrol acima do botão Início */
.app-shell .bottom-nav{padding-top:16px}
.app-shell .sidebar-brand{display:flex;flex:0 0 auto;align-items:center;gap:9px;width:100%;padding:9px 7px 21px;margin-bottom:12px;color:#fff;font-size:.92rem;letter-spacing:.08em;white-space:nowrap;border-bottom:1px solid #ffffff24}
.app-shell .sidebar-brand .mark{flex-shrink:0;font-size:.9rem}
.app-shell .sidebar-brand-name{overflow:hidden}
@media(max-width:850px){.app-shell .bottom-nav{padding-top:13px}.app-shell .sidebar-brand{justify-content:center;padding:7px 0 15px;margin-bottom:8px}.app-shell .sidebar-brand-name{display:none}}

/* Dashboard executivo MScontrol — isolado das demais telas */
.dash-page{display:grid;gap:15px}.dash-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.dash-heading h1{font-size:2rem}.dash-heading p{color:var(--muted);font-size:.86rem;margin-top:4px}.dash-dates{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.dash-dates .field{gap:3px}.dash-dates .field label{font-size:.68rem}.dash-dates .field input{min-height:40px;padding:7px 9px;width:148px;font-size:.8rem}.dash-date-separator{padding-bottom:10px;color:#8491a6}.dash-dates .btn{min-height:40px}.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dash-kpi{border:1px solid #e5eaf2;border-radius:15px;background:white;padding:17px 15px;min-width:0}.dash-blue{background:linear-gradient(120deg,#fff,#f2f7ff)}.dash-yellow{background:linear-gradient(120deg,#fff,#fff9ef)}.dash-green{background:linear-gradient(120deg,#fff,#f0fbf5)}.dash-pink{background:linear-gradient(120deg,#fff,#fff3f9)}.dash-kpi-top{display:flex;align-items:center;gap:13px}.dash-kpi-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:13px;background:#edf3ff;color:#173867;font-size:1.35rem}.dash-yellow .dash-kpi-icon{background:#fff3dd;color:#b88725}.dash-green .dash-kpi-icon{background:#e5f7ec;color:#168266}.dash-pink .dash-kpi-icon{background:#fbeaf4;color:#a33b77}.dash-kpi-value{font-size:1.9rem;font-weight:800;line-height:1.1;color:#10254c}.dash-kpi-label{font-size:.76rem;color:#65728a;margin-top:4px}.dash-kpi-change{padding-left:55px;margin-top:10px;font-size:.73rem;white-space:normal}.dash-up{color:#0b976e;font-weight:800}.dash-down{color:#c74348;font-weight:800}.dash-neutral{color:#62748d;font-weight:700}.dash-compare{color:#8590a3;margin-left:5px}.dash-panels{display:grid;grid-template-columns:1fr 1fr;gap:13px;min-width:0}.dash-panel{min-width:0;padding:18px}.dash-panel h2{font-size:1rem}.dash-origin-content{display:flex;align-items:center;gap:26px;min-height:230px}.dash-donut{width:190px;height:190px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center}.dash-donut-center{background:white;width:59%;height:59%;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center}.dash-donut-center strong{font-size:1.8rem;color:#10254c}.dash-donut-center small{color:#60708a}.dash-legend{flex:1;min-width:0}.dash-legend-row{display:grid;grid-template-columns:11px minmax(65px,1fr) 35px 40px;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #edf1f5;font-size:.8rem}.dash-legend-row strong{text-align:right}.dash-legend-row small{text-align:right;color:#64738a}.dash-dot{width:10px;height:10px;border-radius:50%}.dash-bars{display:flex;align-items:stretch;gap:10px;min-height:230px;overflow-x:auto;padding:12px 3px 0}.dash-bar-col{flex:1 0 68px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}.dash-bar-col strong{font-size:.78rem}.dash-bar-track{height:146px;width:100%;display:flex;align-items:flex-end;border-bottom:1px solid #d9e0eb}.dash-bar{width:72%;margin:0 auto;border-radius:5px 5px 0 0;min-height:3px}.dash-bar-col small{font-size:.69rem;color:#53637c;overflow-wrap:anywhere;line-height:1.25}.dash-ranking th,.dash-ranking td{padding:9px 8px;font-size:.76rem}.dash-ranking th{font-size:.68rem}.dash-rank{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e9edf5;color:#445775;font-size:.7rem;font-weight:800}.dash-rank-1{background:#d9b365;color:white}.dash-rank-2{background:#afb4bf;color:white}.dash-rank-3{background:#c78e55;color:white}.dash-empty{text-align:center;color:#758197;padding:22px!important}@media(max-width:1100px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-origin-content{gap:12px}.dash-donut{width:145px;height:145px}}@media(max-width:850px){.dash-panels{grid-template-columns:1fr}.dash-dates .field input{width:128px}.dash-heading h1{font-size:1.65rem}}@media(max-width:540px){.dash-kpis{gap:8px}.dash-kpi{padding:12px 9px}.dash-kpi-icon{width:30px;height:30px;font-size:1rem}.dash-kpi-top{gap:6px}.dash-kpi-value{font-size:1.3rem}.dash-kpi-label{font-size:.67rem}.dash-kpi-change{padding-left:0}.dash-origin-content{flex-direction:column}.dash-legend{width:100%}.dash-dates{gap:5px}.dash-dates .field input{width:116px}}

/* Corrige a área de clique da origem online */
#online-origin-field .visit-opt {
  position: relative;
}

#online-origin-field .visit-opt input[type="radio"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

/* Relatórios analíticos — estilo isolado */
.rpt-tabs{display:flex;gap:7px;overflow-x:auto;padding:7px;background:#fff;border:1px solid #e5eaf2;border-radius:12px;margin:16px 0}.rpt-tabs button{border:0;background:transparent;color:#4e607d;padding:13px 16px;white-space:nowrap;font-weight:700;cursor:pointer;border-radius:8px}.rpt-tabs button.active{color:#0878ed;background:#eaf3ff}.rpt-panel{padding:18px!important}.rpt-panel h2{font-size:1.15rem;margin:0}.rpt-panel-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}.rpt-panel-head .subtle{margin-top:6px}.rpt-selection{position:relative}.rpt-options{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:260px;max-width:min(450px,90vw);max-height:320px;overflow:auto;background:#fff;border:1px solid #dce5f0;border-radius:12px;box-shadow:0 10px 25px #10244b25;padding:10px}.rpt-options[hidden]{display:none}.rpt-options label{display:flex;align-items:center;gap:8px;padding:8px;font-size:.85rem;cursor:pointer}.rpt-options input{width:auto!important;min-height:auto!important}.rpt-opt-actions{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e9edf4;padding:4px 8px 10px}.rpt-opt-actions button{border:0;background:none;color:#0878ed;cursor:pointer}.rpt-charts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.rpt-chart{min-width:0;border:1px solid #e6eaf2;border-radius:12px;padding:14px;background:#fff}.rpt-chart h3{font-size:.81rem;min-height:38px;line-height:1.4}.rpt-chart-bars{height:194px;display:flex;align-items:flex-end;gap:7px;padding-top:12px}.rpt-chart-item{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;text-align:center;gap:5px;font-size:.75rem}.rpt-chart-item strong{font-size:.8rem}.rpt-chart-item small{font-size:.65rem;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis}.rpt-chart-column{height:135px;width:100%;display:flex;align-items:flex-end;border-bottom:1px solid #dce3ed}.rpt-chart-column .rpt-track{height:100%;width:80%;margin:auto;display:flex;align-items:flex-end;background:none}.rpt-chart-column .rpt-fill{width:100%!important;height:var(--h,100%);min-height:2px;border-radius:5px 5px 0 0}.rpt-chart-column .rpt-track{position:relative}.rpt-chart-column .rpt-fill{position:absolute;bottom:0;left:0}.rpt-legend{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px;font-size:.69rem;color:#51607b}.rpt-legend span{display:inline-flex;align-items:center;gap:5px}.rpt-legend i,.rpt-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.rpt-stacked{display:grid;gap:13px;margin-top:18px;min-height:125px}.rpt-stacked-row{display:grid;grid-template-columns:65px 1fr 30px;gap:7px;align-items:center;font-size:.72rem}.rpt-stacked-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpt-stack-track{display:flex;height:18px;border-radius:4px;overflow:hidden;background:#edf1f7}.rpt-table th,.rpt-table td{padding:11px 10px;white-space:nowrap;font-size:.78rem}.rpt-table th{background:#f5f8fc}.rpt-broker-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rpt-track{height:12px;border-radius:8px;background:#e9edf4;overflow:hidden}.rpt-fill{height:100%;border-radius:8px}.rpt-progress{min-width:145px}.rpt-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rpt-note{margin:13px 2px 4px;font-size:.77rem}@media(max-width:1250px){.rpt-charts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:750px){.rpt-charts,.rpt-stats{grid-template-columns:1fr 1fr}.rpt-panel-head{flex-direction:column}}@media(max-width:470px){.rpt-charts,.rpt-stats{grid-template-columns:1fr}}

/* Empresas Parceiras: seleção compacta e alinhada de empreendimentos */
.partner-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px}
.partner-project-option{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-width:0;padding:13px 15px;border:1px solid #e0e6ef;border-radius:11px;background:#f7f9fc;color:#243757;font-size:.86rem;font-weight:650;cursor:pointer;transition:border-color .15s,background .15s}
.partner-project-option:hover{background:#eff4fb;border-color:#b8c8e1}
.partner-project-option:has(input:checked){background:#edf3ff;border-color:#8da9d8}
.field .partner-project-option input[type="checkbox"],.partner-project-option input[type="checkbox"]{width:18px;height:18px;min-height:0;padding:0;margin:0;flex:0 0 18px;accent-color:#192e59;box-shadow:none}
.partner-project-option span{flex:1;min-width:0;text-align:left;line-height:1.35}
@media(max-width:640px){.partner-project-grid{grid-template-columns:1fr}}

/* Equipe: regras de acesso, com um cartão por cargo */
.access-role-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.access-role-card{min-width:0;padding:16px 13px;border:1px solid #e1e7f0;border-radius:14px;background:#fff}
.access-role-head{display:flex;align-items:center;gap:9px;min-height:44px}
.access-role-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:11px;font-size:1.25rem}
.access-role-head h3{margin:0;color:#152444;font-size:.87rem;line-height:1.3;overflow-wrap:break-word}
.access-role-card p{margin:12px 0 0;color:#63708a;font-size:.79rem;line-height:1.55}
.access-role-products .access-role-icon{background:#e4f1ff}
.access-role-sales .access-role-icon{background:#e0f7e8}
.access-role-backoffice .access-role-icon{background:#f1e8ff}
.access-role-online .access-role-icon{background:#ffecde}
.access-role-directors .access-role-icon{background:#ffe6e9}
@media(max-width:1100px){.access-role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.access-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.access-role-grid{grid-template-columns:1fr}}

/* Central de Suporte – área do cliente */
.app-shell .nav-item[data-view="suporte"]{margin-top:auto;border-top:1px solid #ffffff2b;border-radius:0 0 12px 12px}
.support-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.support-category{display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-align:left;border:1px solid #dde5f0;background:#fff;border-radius:13px;padding:16px;cursor:pointer;min-width:0;color:#182d50;transition:.15s}
.support-category:hover,.support-category.selected{border-color:#4b76b5;background:#f0f5ff}
.support-category b{display:grid;place-items:center;width:36px;height:36px;background:#eaf1fb;border-radius:10px;font-size:1.1rem;color:#274d85}
.support-category strong{font-size:.9rem}.support-category small{font-size:.76rem;line-height:1.45;color:#65718a}
.support-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.support-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#697890;font-size:.82rem;margin-bottom:16px}
.support-list{display:grid;gap:8px}
.support-ticket{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid #e4e9f1;border-radius:12px;padding:16px;background:#fff;text-align:left;gap:16px;cursor:pointer}
.support-ticket:hover{background:#f7faff;border-color:#a5b9d4}
.support-ticket-content{display:flex;flex-direction:column;gap:7px;min-width:0}
.support-ticket-content strong{color:#142a50;overflow-wrap:anywhere;font-size:.87rem}
.support-ticket-content small{color:#65728a;font-size:.75rem}
.support-ticket-side{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.support-unread{font-size:.68rem;padding:5px 7px;border-radius:6px;background:#e8f0ff;color:#1f4e95;font-weight:800}
.support-conversation{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.support-message{border:1px solid #e2e8f1;background:#f7f9fc;border-radius:13px;padding:15px;max-width:90%}
.support-message.vendor{align-self:flex-end;background:#eef6ff;border-color:#cfe1fb}
.support-message.customer{align-self:flex-start}
.support-message-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}
.support-message-head strong{font-size:.8rem;color:#20395e}.support-message-head small{font-size:.7rem;color:#728098}
.support-message p{line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0;color:#354664;font-size:.87rem}
.support-message a{font-size:.79rem;color:#2165a4}
#support-new[hidden]{display:none}
@media(max-width:750px){.support-categories{grid-template-columns:1fr}.support-ticket{align-items:flex-start;flex-direction:column}.support-ticket-side{justify-content:flex-start}.support-message{max-width:100%}}

/* Central do fornecedor – área totalmente separada do cliente */
.provider-layout{min-height:100vh;background:#f5f7fb}
.provider-bar{background:linear-gradient(115deg,#101f41,#1b345e);color:#fff;padding:22px max(22px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px}
.provider-mark{display:flex;align-items:center;gap:10px;font-weight:800}
.provider-mark .mark{background:#d6b46f;color:#13264a;border-radius:8px;padding:7px 8px}
.provider-mark span:last-child{font-size:.8rem;opacity:.78;font-weight:500;border-left:1px solid #ffffff55;padding-left:10px}
.provider-main{max-width:1220px;padding:35px 22px 60px;margin:auto}
.provider-login{max-width:460px;margin:7vh auto;padding:30px}
.provider-login h1{font-size:1.8rem;margin-bottom:12px}.provider-login p{margin:0 0 24px}
.provider-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.provider-stat{cursor:pointer;background:#fff;border:1px solid #e0e6ef;border-radius:14px;padding:19px 16px;display:flex;flex-direction:column;gap:5px;text-align:left}
.provider-stat strong{font-size:2rem;color:#152f59}.provider-stat span{color:#62718a;font-size:.82rem}
.provider-stat.selected{border-color:#4a77bc;background:#f0f6ff}
.provider-columns{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}
.provider-details{display:grid;gap:5px;margin-bottom:26px}.provider-details dt{font-size:.74rem;color:#758398;font-weight:700}.provider-details dd{font-size:.86rem;color:#193152;overflow-wrap:anywhere;margin:0 0 10px}
@media(max-width:850px){.provider-columns{grid-template-columns:1fr}.provider-mark span:last-child{display:none}}
@media(max-width:550px){.provider-main{padding:20px 12px}.provider-stats{gap:6px}.provider-stat{padding:13px 9px}.provider-stat strong{font-size:1.5rem}}
.app-shell .nav-item[data-view="suporte"]{position:relative}
.support-count{position:absolute;right:8px;top:5px;background:#d4ac5d;color:#152747;padding:2px 6px;border-radius:12px;font:800 .63rem system-ui;line-height:1.3}
