:root{--bg:#050c12;--panel:#0b1a25;--panel2:#0e2230;--line:#1a3a4c;--text:#f2f8fb;--muted:#88a9b9;--cyan:#00d8ff;--green:#21eaa0;--red:#ff315c;--amber:#ffc857}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -10%,#15374e 0,#07141e 32%,var(--bg) 68%);color:var(--text);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;min-height:100vh}.site-header{position:sticky;top:0;z-index:100;background:rgba(5,12,18,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(74,142,174,.2)}.nav-wrap,main,footer{width:min(1120px,calc(100% - 32px));margin:auto}.nav-wrap{height:68px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;white-space:nowrap}.brand-mark{width:38px;height:38px;border:1px solid #17718d;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#0b3142,#06131d);color:var(--cyan);font-size:12px;font-weight:950}.brand b,.brand small{display:block}.brand b{font-size:18px}.brand small{color:var(--cyan);font-size:9px;letter-spacing:.22em;font-weight:900}nav{display:flex;gap:8px;margin-left:auto}nav a,.footer-links a{color:#b7cfda;text-decoration:none;font-size:13px;font-weight:700;padding:8px 10px;border-radius:8px}nav a:hover,nav a.active{color:white;background:#0d2b3a}.live-pill{display:flex;gap:8px;align-items:center;border:1px solid var(--line);background:#0a1a24;padding:8px 12px;border-radius:999px;font-size:11px;white-space:nowrap}.live-pill i,.status-dot,.ready i,.module-state i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green)}.menu-toggle{display:none;background:none;border:0;color:white;font-size:25px}main{padding:20px 0 50px;min-height:calc(100vh - 190px)}.hero{border:1px solid #1c4257;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:28px;overflow:hidden;position:relative;background:linear-gradient(115deg,rgba(7,23,34,.98),rgba(8,37,51,.88)),radial-gradient(circle at 80% 20%,rgba(0,216,255,.2),transparent 35%);box-shadow:0 22px 70px rgba(0,0,0,.24)}.hero-compact{min-height:152px;padding:25px 30px}.hero:after{content:"";position:absolute;right:-60px;bottom:-150px;width:330px;height:330px;border:1px solid rgba(0,216,255,.14);border-radius:50%;box-shadow:0 0 0 45px rgba(0,216,255,.03),0 0 0 90px rgba(0,216,255,.02)}.hero-copy,.hero-status{position:relative;z-index:1}.eyebrow{color:var(--cyan);letter-spacing:.18em;font-weight:900;font-size:9px;margin:0 0 7px}.hero h1,.page-heading h1{font-size:35px;line-height:1.05;margin:0;letter-spacing:-.03em}.hero h1 span{color:var(--cyan)}.access-strip{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.access-strip span{border:1px solid #28556b;background:rgba(5,19,28,.72);padding:7px 10px;border-radius:7px;color:#cce6ef;font-size:11px}.hero-status{min-width:230px;padding:15px;border:1px solid #27536a;background:rgba(4,18,27,.75);border-radius:13px;display:grid;grid-template-columns:auto 1fr;gap:5px 9px}.hero-status small{grid-column:2;color:var(--muted)}.hero-numbers{grid-column:1/-1;display:flex;gap:8px;margin-top:8px}.hero-numbers span{flex:1;background:#071923;border:1px solid #183a4c;border-radius:8px;padding:7px;font-size:10px;color:var(--muted)}.hero-numbers b{color:white;font-size:16px;margin-right:3px}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 365px;gap:15px;margin-top:15px;align-items:start}.panel,.live-widget,.module-mini,.info-grid article{background:linear-gradient(145deg,rgba(14,35,48,.98),rgba(6,20,29,.98));border:1px solid var(--line);box-shadow:0 18px 46px rgba(0,0,0,.2);border-radius:15px}.compact-panel{padding:13px 15px}.live-widget{padding:14px;position:sticky;top:84px}.widget-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:9px}.widget-heading h2,.section-title h2{margin:0;font-size:21px}.widget-heading>span{font-size:10px;color:var(--green);text-transform:uppercase;letter-spacing:.12em}.section-title{display:flex;justify-content:space-between;align-items:end;margin:4px 0 9px}.text-link,.button-link{color:var(--cyan);font-size:11px;font-weight:800}.module-grid{display:grid;gap:10px}.widget-grid{grid-template-columns:1fr}.tx-card{position:relative;overflow:hidden;border-radius:13px;min-height:235px;padding:15px;background:#071923;border:1px solid #1b4255}.tx-card.live{border-color:rgba(255,49,92,.78);box-shadow:0 0 28px rgba(255,20,74,.12)}.tx-card.live:before{content:"";position:absolute;inset:-55%;background:conic-gradient(transparent 0 78%,rgba(255,49,92,.15));animation:sweep 4s linear infinite}.tx-card>*{position:relative}.tx-top{display:flex;justify-content:space-between;align-items:start}.module-badge{display:inline-flex;border:1px solid #275469;background:#0b2634;padding:5px 8px;border-radius:999px;color:var(--cyan);font-size:8px;font-weight:900;letter-spacing:.1em}.tx-top h3{font-size:18px;margin:8px 0}.on-air,.ready{display:flex;gap:6px;align-items:center;font-size:9px;font-weight:900;letter-spacing:.12em}.on-air{color:var(--red)}.on-air i{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 16px var(--red);animation:pulse 1s infinite}.ready{color:var(--green)}.tx-main{display:flex;align-items:center;gap:13px;margin-top:4px}.operator-visual{width:78px;height:78px;border-radius:50%;background:radial-gradient(circle,#19394b,#07131c 68%);border:1px solid #2a5367;display:grid;place-items:center;position:relative;flex:0 0 auto}.operator-visual img{width:49px;height:49px;object-fit:contain}.signal-ring{position:absolute;inset:-6px;border:2px solid var(--red);border-radius:50%;animation:ring 1.6s infinite}.identity{display:flex;flex-direction:column;gap:3px;min-width:0}.callsign{font-size:23px;color:white;font-weight:950;text-decoration:none}.identity strong{font-size:13px}.identity>span{color:var(--muted);font-size:10px}.country-line{display:flex;align-items:center;gap:6px}.flag{font-size:19px;line-height:1}.meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.meta b,.protocol{font-size:9px;border:1px solid #285164;border-radius:999px;padding:4px 7px;background:#0b2634;color:#bceeff}.spectrum{display:flex;align-items:end;justify-content:center;height:29px;gap:3px;margin-top:9px;border-top:1px solid rgba(255,255,255,.05);padding-top:7px}.spectrum i{width:3px;height:6px;background:linear-gradient(var(--cyan),var(--red));border-radius:4px;animation:eq .8s ease-in-out infinite alternate}.spectrum i:nth-child(3n){animation-delay:.2s}.standby-main{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:13px;min-height:150px}.radar{width:68px;height:68px;border:1px solid #1f5161;border-radius:50%;position:relative;background:radial-gradient(circle,rgba(33,234,160,.13),transparent 63%)}.radar:before,.radar:after{content:"";position:absolute;inset:22%;border:1px solid #1b4655;border-radius:50%}.radar:after{inset:42%}.radar span{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:var(--green)}.radar i{position:absolute;left:50%;top:50%;width:46%;height:1px;transform-origin:left;background:linear-gradient(90deg,var(--green),transparent);animation:sweep 2.6s linear infinite}.standby-main h4{font-size:20px;margin:0}.last-tx{margin-top:10px;border-left:2px solid var(--cyan);padding:7px 0 7px 9px;display:grid;gap:2px}.last-tx small{color:var(--muted)}.last-tx a{font-size:17px;font-weight:900;color:white}.last-tx span{font-size:10px;color:#d1e5ed}.page-heading{margin:10px 0 17px;border-bottom:1px solid #163447;padding:14px 2px 18px}.page-heading p:last-child{color:var(--muted);font-size:12px;margin-bottom:0}.module-overview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.module-page-grid .module-mini{min-height:155px}.module-mini{padding:16px}.module-mini-top{display:flex;justify-content:space-between;align-items:center}.module-letter{font-size:28px;font-weight:950}.module-count{font-size:10px;padding:4px 7px;border-radius:99px;background:#102e3e;color:var(--cyan)}.module-mini strong{display:block;font-size:13px;margin:10px 0 4px}.module-mini small{color:var(--muted);font-size:11px}.module-state{display:flex;align-items:center;gap:7px;margin-top:18px;font-size:10px;color:#b9d1dc}.module-state i{display:inline-block}.module-state i.red{background:var(--red);box-shadow:0 0 14px var(--red)}.module-mini.active{border-color:var(--red)}.panel{padding:14px 16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th{text-align:left;color:var(--cyan);font-size:8px;letter-spacing:.1em;padding:8px 7px;border-bottom:1px solid var(--line)}td{font-size:10px;padding:8px 7px;border-bottom:1px solid #132f3f;color:#d9edf5}td a{color:white;font-weight:800}.status-offline{color:#8ba8b6}.connected-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:12px}.connected-summary{padding:12px;border:1px solid #17394b;border-radius:10px;background:#091b26}.connected-summary b{display:block;font-size:19px}.connected-summary span{font-size:9px;color:var(--muted)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.info-grid.single{grid-template-columns:1fr 1fr}.info-grid article{padding:21px}.info-grid h3{margin:0 0 8px}.info-grid p{color:var(--muted);font-size:12px}.button-link{display:inline-block;margin-top:8px;padding:9px 12px;border:1px solid #246078;border-radius:8px;text-decoration:none}footer{border-top:1px solid #173243;padding:24px 0 30px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;color:var(--muted)}footer p{font-size:11px}.footer-links{display:flex;gap:5px}footer>small{grid-column:1/-1;font-size:10px;border-top:1px solid #112936;padding-top:13px}.toast-stack{position:fixed;right:20px;top:78px;display:flex;flex-direction:column;gap:9px;z-index:999}.toast{display:flex;gap:11px;align-items:center;width:min(365px,calc(100vw - 40px));background:#0c2230;border:1px solid var(--green);box-shadow:0 20px 55px rgba(0,0,0,.45);padding:13px;border-radius:12px;animation:toastin .35s ease}.toast.out{opacity:0;transform:translateY(-12px);transition:.7s}.toast-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(33,234,160,.12);font-size:19px}.toast strong,.toast span{display:block}.toast span{font-size:11px;color:var(--muted);margin-top:3px}@keyframes pulse{50%{opacity:.35;transform:scale(.75)}}@keyframes ring{0%{transform:scale(.9);opacity:.8}100%{transform:scale(1.14);opacity:0}}@keyframes sweep{to{transform:rotate(360deg)}}@keyframes eq{to{height:23px}}@keyframes toastin{from{opacity:0;transform:translateX(28px)}}@media(max-width:980px){.dashboard-layout{grid-template-columns:1fr}.live-widget{position:static;grid-row:1}.module-overview-grid,.connected-cards{grid-template-columns:repeat(3,1fr)}nav{position:absolute;left:16px;right:16px;top:62px;display:none;flex-direction:column;background:#071923;border:1px solid var(--line);padding:10px;border-radius:12px}nav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.live-pill{margin-left:0}}@media(max-width:650px){.nav-wrap{height:62px}.hero-compact{padding:20px;display:block}.hero h1{font-size:29px}.hero-status{margin-top:15px}.module-overview-grid,.connected-cards{grid-template-columns:1fr 1fr}.info-grid,.info-grid.single{grid-template-columns:1fr}.standby-main{grid-template-columns:1fr}.radar{display:none}footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}}
/* V5 refinements */
.dashboard-layout{grid-template-columns:minmax(0,1fr) 430px}.widget-grid{max-height:none}.compact-tx{min-height:0;padding:12px}.compact-tx .tx-top h3{font-size:15px;margin:6px 0}.compact-tx .operator-visual{width:58px;height:58px}.compact-tx .operator-visual img{width:38px;height:38px}.compact-tx .callsign{font-size:19px}.compact-tx .identity strong{font-size:12px}.compact-tx .identity>span{font-size:9px}.compact-tx .meta{margin-top:4px}.compact-tx .meta b{font-size:8px;padding:3px 6px}.compact-tx .spectrum{height:19px;margin-top:5px;padding-top:4px}.compact-tx .spectrum i{height:4px}.compact-tx .standby-main{min-height:112px}.home-history th,.connected-table th{font-size:10px}.home-history td,.connected-table td{font-size:12px;padding:10px 8px}.table-note{font-size:10px;color:var(--muted)}.module-id{display:inline-flex;margin-top:9px;padding:5px 8px;border-radius:7px;border:1px solid #285164;color:var(--cyan);font-size:10px}.module-reference{margin-top:14px}.module-reference h2{font-size:20px;margin:0 0 12px}.heading-with-tools{display:flex;align-items:end;justify-content:space-between;gap:20px}.search-box{display:grid;gap:6px;min-width:310px}.search-box span{font-size:10px;color:var(--cyan);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.search-box input{width:100%;background:#071923;border:1px solid #285164;color:white;border-radius:10px;padding:12px 14px;font:inherit;outline:none}.search-box input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,216,255,.1)}.ranking-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.ranking-highlights article{padding:16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#0e2330,#071721)}.ranking-highlights small,.ranking-highlights span{display:block;color:var(--muted);font-size:10px}.ranking-highlights b{display:block;font-size:22px;margin:5px 0}.ranking-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.rank-list{display:grid;gap:6px}.rank-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:9px;border-bottom:1px solid #143143}.rank-pos{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#0d2b3a;color:var(--cyan);font-weight:900}.rank-item b,.rank-item small{display:block}.rank-item b{font-size:12px}.rank-item small{font-size:9px;color:var(--muted)}.rank-item strong{font-size:12px;color:var(--green)}.rank-empty,.data-disclaimer{color:var(--muted);font-size:11px}.data-disclaimer{margin-top:14px;padding:12px;border-left:3px solid var(--amber);background:#0b1a25}.embedded-panel{padding:12px}.embedded-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 12px}.embedded-toolbar b,.embedded-toolbar span{display:block}.embedded-toolbar span{font-size:10px;color:var(--muted)}.embedded-frame{width:100%;height:680px;border:1px solid #1a3a4c;border-radius:12px;background:white}.footer-links{flex-wrap:wrap}
@media(max-width:1050px){.dashboard-layout{grid-template-columns:1fr}.live-widget{position:static}.ranking-highlights{grid-template-columns:repeat(2,1fr)}.module-overview-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.heading-with-tools{align-items:stretch;flex-direction:column}.search-box{min-width:0}.ranking-grid,.ranking-highlights{grid-template-columns:1fr}.home-history td,.connected-table td{font-size:11px}.dashboard-layout{display:flex;flex-direction:column}.live-widget{order:-1;width:100%}.module-overview-grid{grid-template-columns:1fr}.embedded-frame{height:560px}}

/* V6 overrides */
.hero-compact{min-height:118px;padding:18px 28px}.hero h1{font-size:32px}.dashboard-layout{grid-template-columns:minmax(0,1fr) 450px;gap:14px}.live-widget{padding:12px;position:sticky;top:84px}.widget-grid{display:grid;gap:8px}.compact-tx{min-height:165px;padding:11px}.compact-tx .tx-top h3{font-size:14px}.compact-tx .operator-visual{width:52px;height:52px}.compact-tx .operator-visual img{width:34px;height:34px}.compact-tx .callsign{font-size:16px}.compact-tx .identity strong{font-size:11px}.compact-tx .identity>span{font-size:9px}.compact-tx .meta b{font-size:8px;padding:3px 5px}.compact-tx .spectrum{height:16px;margin-top:4px}.compact-tx .standby-main{min-height:100px;grid-template-columns:64px 1fr}.compact-tx .radar{width:56px;height:56px}.ops-widget{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#091a24;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:start}.ops-widget b{font-size:14px}.ops-widget small{color:var(--muted);font-size:12px}.ops-numbers{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.ops-numbers span{display:block;border:1px solid #183a4c;border-radius:10px;padding:9px 10px;background:#071923;color:#b7cfda;font-size:12px}.ops-numbers b{font-size:24px;color:#fff;margin-right:4px}.home-history th,.connected-table th,.reflectors-table th{font-size:11px}.home-history td,.connected-table td,.reflectors-table td{font-size:13px;padding:10px 8px}.home-history .state-pill,.reflectors-table .state-pill{font-size:11px}.state-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;border:1px solid #285164}.state-pill.online{color:var(--green);border-color:rgba(33,234,160,.35);background:rgba(33,234,160,.08)}.state-pill.offline{color:#b8ccd6;background:#0e212d}.section-title h2,.widget-heading h2{font-size:18px}.page-heading h1{font-size:34px}.embedded-panel{padding:14px}.reflectors-table a{color:white;font-weight:800}.reflectors-table td:nth-child(4){min-width:100px}.data-disclaimer{display:none}.info-grid.single{grid-template-columns:repeat(2,1fr)}.info-grid.single article{min-height:180px}.footer-links a{font-size:12px}
@media(max-width:1100px){.dashboard-layout{grid-template-columns:1fr}.live-widget{position:static}.compact-tx{min-height:150px}.widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-numbers{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.widget-grid{grid-template-columns:1fr}.hero-compact{padding:16px 18px}.hero h1,.page-heading h1{font-size:28px}.home-history td,.connected-table td,.reflectors-table td{font-size:12px}.info-grid.single{grid-template-columns:1fr}}

/* V7 */
.module-access-table{min-width:1120px}.module-access-table th{text-align:center}.module-access-table td{text-align:center}.support-panel{padding:0;overflow:hidden}.support-frame{display:block;width:100%;height:1600px;border:0;background:#07111f}.toast{min-height:70px}.access-strip span{font-size:12px}
@media(max-width:720px){.support-frame{height:1900px}}

/* V8 gateway details */
.route-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:7px}.route-info span{display:block;padding:6px 7px;border:1px solid #1b4255;border-radius:8px;background:#081923;min-width:0}.route-info small,.route-info strong{display:block}.route-info small{font-size:7px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.route-info strong{font-size:9px;color:#eaf9ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.compact-tx{min-height:190px}@media(max-width:720px){.route-info{grid-template-columns:1fr 1fr}.compact-tx{min-height:210px}}

/* V14 focused update */
.route-info{grid-template-columns:repeat(2,minmax(0,1fr))}
.standby-highlight{border-color:rgba(33,234,160,.55)!important;box-shadow:0 0 0 1px rgba(33,234,160,.18) inset,0 0 32px rgba(33,234,160,.14)!important;background:linear-gradient(180deg,rgba(33,234,160,.06),rgba(7,25,35,.98))}
.standby-highlight .tx-top h3,.standby-highlight .ready{color:#8af9ca}
.standby-highlight .module-badge{border-color:rgba(33,234,160,.4);background:rgba(33,234,160,.12);color:#9effd9}
.standby-highlight .radar{border-color:#2b735f;background:radial-gradient(circle,rgba(33,234,160,.18),transparent 63%)}
.standby-highlight .radar:before,.standby-highlight .radar:after{border-color:#2b735f}
.standby-alert{margin-top:8px;padding:10px 12px;border:1px solid rgba(33,234,160,.45);border-radius:10px;background:rgba(33,234,160,.10);color:#c8ffe9;font-size:12px;font-weight:800;line-height:1.4;box-shadow:0 0 16px rgba(33,234,160,.12)}
.standby-highlight h4{font-size:22px;color:#ffffff}
@media(max-width:720px){.route-info{grid-template-columns:1fr}}

/* V16 logo, ranking explanations and SEO visual refinements */
.brand-logo{width:42px;height:42px;object-fit:cover;border-radius:50%;border:1px solid #1c6078;box-shadow:0 0 18px rgba(0,216,255,.18)}
.hero-logo{position:relative;z-index:2;width:132px;height:132px;object-fit:cover;border-radius:50%;border:1px solid rgba(0,216,255,.35);box-shadow:0 0 34px rgba(0,216,255,.18);flex:0 0 auto}
.hero-copy{flex:1}.footer-brand .brand-logo{width:38px;height:38px}
.ranking-card .section-title{margin-bottom:5px}.ranking-help{min-height:38px;margin:0 0 13px;padding:9px 10px;border-left:2px solid var(--cyan);background:rgba(0,216,255,.045);color:#a9c7d4;font-size:11px;line-height:1.45;border-radius:0 8px 8px 0}
.ranking-note{margin-top:14px;padding:14px 16px;border:1px solid rgba(255,200,87,.35);border-radius:12px;background:rgba(255,200,87,.06);color:#cbdde5;font-size:12px;line-height:1.55}.ranking-note strong{color:var(--amber)}
@media(max-width:720px){.hero-logo{width:92px;height:92px;margin-bottom:14px}.hero.hero-compact{display:flex;align-items:flex-start}.brand-logo{width:36px;height:36px}.ranking-help{min-height:0}}


/* V17 integrated top menu on homepage */
body[data-page='ao-vivo'] main{padding-top:10px}
.hero-integrated{display:block;padding:18px 28px 22px}
.hero-topbar{position:relative;z-index:3;display:flex;align-items:center;gap:18px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid rgba(28,96,120,.28)}
.hero-topbar .brand-hero{flex:0 0 auto}
.hero-nav{display:flex;gap:8px;flex:1;justify-content:center;margin-left:0}
.hero-live-pill{margin-left:auto}
.hero-body{display:flex;align-items:center;gap:28px;position:relative;z-index:2}
.hero-nav a{color:#b7cfda;text-decoration:none;font-size:13px;font-weight:700;padding:8px 10px;border-radius:8px}
.hero-nav a:hover,.hero-nav a.active{color:white;background:#0d2b3a}
.hero-integrated .menu-toggle{display:none;margin-left:auto}
body[data-page='ao-vivo'] .hero:after{right:-35px;bottom:-130px}
@media(max-width:980px){
  .hero-topbar{align-items:center;flex-wrap:wrap;gap:14px}
  .hero-integrated .menu-toggle{display:block;order:3}
  .hero-nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;justify-content:flex-start;background:#071923;border:1px solid var(--line);padding:10px;border-radius:12px;box-shadow:0 18px 36px rgba(0,0,0,.28)}
  .hero-nav.open{display:flex}
  .hero-live-pill{margin-left:auto;order:2}
  .hero-topbar .brand-hero{order:1}
  .hero-body{display:block}
}
@media(max-width:720px){
  .hero-integrated{padding:16px 18px 18px}
  .hero-topbar{padding-bottom:12px;margin-bottom:14px}
  .hero-body{display:block}
  .hero-logo{margin-bottom:12px}
}


/* V18 — menu integrado ao cabeçalho em todas as páginas */
.site-header{display:none!important}
main{padding-top:8px}
.universal-header{display:block;min-height:0;padding:16px 20px}
.universal-header-row{position:relative;z-index:3;display:grid;grid-template-columns:112px minmax(320px,1fr) auto auto;align-items:center;gap:18px}
.universal-brand{display:block;line-height:0}
.universal-header .hero-logo{width:112px;height:112px;margin:0}
.universal-copy{min-width:0}
.universal-copy h1{font-size:29px;margin:0;line-height:1.05;letter-spacing:-.03em}
.universal-copy h1 span{color:var(--cyan)}
.universal-copy .access-strip{margin-top:12px}
.universal-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin:0}
.universal-nav a{color:#b7cfda;text-decoration:none;font-size:12px;font-weight:700;padding:8px 9px;border-radius:8px;white-space:nowrap}
.universal-nav a:hover,.universal-nav a.active{color:#fff;background:#0d2b3a}
.universal-live-pill{margin-left:0}
.universal-header .menu-toggle{display:none}
body[data-page]:not([data-page='ao-vivo']) .page-heading{margin-top:8px}
body[data-page='ao-vivo'] .dashboard-layout{margin-top:12px}
@media(max-width:1180px){
 .universal-header-row{grid-template-columns:96px minmax(250px,1fr) auto}
 .universal-header .hero-logo{width:96px;height:96px}
 .universal-nav{grid-column:2/4;justify-content:flex-start}
 .universal-live-pill{grid-column:3;grid-row:1}
}
@media(max-width:820px){
 .universal-header-row{grid-template-columns:80px 1fr auto;gap:13px}
 .universal-header .hero-logo{width:80px;height:80px}
 .universal-copy h1{font-size:24px}
 .universal-copy .access-strip{display:none}
 .universal-header .menu-toggle{display:block;grid-column:3;grid-row:1;margin:0}
 .universal-live-pill{grid-column:2;grid-row:2;justify-self:start}
 .universal-nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;background:#071923;border:1px solid var(--line);padding:10px;border-radius:12px;box-shadow:0 18px 36px rgba(0,0,0,.32)}
 .universal-nav.open{display:flex}
 .universal-nav a{font-size:13px}
}
@media(max-width:520px){
 main{padding-top:6px}
 .universal-header{padding:12px 14px}
 .universal-header-row{grid-template-columns:64px 1fr auto}
 .universal-header .hero-logo{width:64px;height:64px}
 .universal-copy .eyebrow{font-size:7px}
 .universal-copy h1{font-size:20px}
 .universal-live-pill{font-size:10px;padding:7px 10px}
}


/* V19 visual refinement only: menu emphasis + stronger TX/RX colors */
.hero-nav a,.universal-nav a{
  border:1px solid transparent;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.hero-nav a.active,.universal-nav a.active{
  color:#ffffff;
  background:linear-gradient(180deg,#16445a,#0c2e3f);
  border-color:rgba(0,216,255,.34);
  box-shadow:0 0 0 1px rgba(0,216,255,.12) inset,0 0 16px rgba(0,216,255,.10);
}
.hero-nav a:hover,.universal-nav a:hover{
  color:#1c1a10;
  background:linear-gradient(180deg,#ffd66b,#ffbe2f);
  border-color:#ffc857;
  box-shadow:0 0 0 1px rgba(255,200,87,.22) inset,0 0 18px rgba(255,200,87,.18);
}
.hero-nav a.active:hover,.universal-nav a.active:hover{
  color:#1c1a10;
  background:linear-gradient(180deg,#ffe082,#ffc83d);
  border-color:#ffd15e;
}
.tx-card.live{
  border-color:rgba(255,49,92,.98)!important;
  box-shadow:0 0 0 1px rgba(255,49,92,.22) inset,0 0 42px rgba(255,49,92,.22)!important;
  background:linear-gradient(180deg,rgba(255,49,92,.06),rgba(7,25,35,.98));
}
.tx-card.live:before{
  background:conic-gradient(transparent 0 72%,rgba(255,49,92,.26));
}
.tx-card.live .module-badge{
  border-color:rgba(255,49,92,.38);
  background:rgba(255,49,92,.12);
  color:#ffd9e3;
}
.tx-card.live .tx-top h3,.tx-card.live .on-air{color:#ff6f8f}
.tx-card.live .signal-ring{border-color:#ff315c;box-shadow:0 0 18px rgba(255,49,92,.28)}
.tx-card.live .operator-visual{border-color:#7b3044;box-shadow:0 0 0 1px rgba(255,49,92,.10) inset}
.tx-card.live .spectrum{border-top-color:rgba(255,49,92,.16)}
.standby-highlight{
  border-color:rgba(33,234,160,.88)!important;
  box-shadow:0 0 0 1px rgba(33,234,160,.26) inset,0 0 38px rgba(33,234,160,.22)!important;
  background:linear-gradient(180deg,rgba(33,234,160,.10),rgba(7,25,35,.98))!important;
}
.standby-highlight .tx-top h3,.standby-highlight .ready{color:#b7ffdf}
.standby-highlight .module-badge{
  border-color:rgba(33,234,160,.58)!important;
  background:rgba(33,234,160,.18)!important;
  color:#cffff0!important;
}
.standby-highlight .radar{
  border-color:#35b789!important;
  background:radial-gradient(circle,rgba(33,234,160,.28),transparent 63%)!important;
  box-shadow:0 0 22px rgba(33,234,160,.12);
}
.standby-highlight .radar span{box-shadow:0 0 12px rgba(33,234,160,.45)}
.standby-highlight .standby-alert{
  border-color:rgba(33,234,160,.66)!important;
  background:rgba(33,234,160,.17)!important;
  color:#d8fff0!important;
  box-shadow:0 0 18px rgba(33,234,160,.16)!important;
}


/* V20: responsive monitor refinement only */
@media(max-width:720px){
  body[data-page='ao-vivo'] main{width:min(100% - 20px,1240px);padding-top:10px}
  body[data-page='ao-vivo'] .dashboard-layout{gap:12px;margin-top:12px}
  body[data-page='ao-vivo'] .live-widget{padding:12px;border-radius:16px;overflow:hidden}
  body[data-page='ao-vivo'] .widget-heading{align-items:flex-end;gap:12px;margin-bottom:12px}
  body[data-page='ao-vivo'] .widget-heading h2{font-size:28px;line-height:1.05}
  body[data-page='ao-vivo'] .widget-heading>span{flex:0 0 auto;font-size:11px}
  body[data-page='ao-vivo'] .widget-grid{display:block;width:100%}
  body[data-page='ao-vivo'] .compact-tx,
  body[data-page='ao-vivo'] .tx-card{width:100%;min-width:0;min-height:0;padding:16px;border-radius:16px}
  body[data-page='ao-vivo'] .tx-top{align-items:flex-start;gap:10px}
  body[data-page='ao-vivo'] .tx-top>div{min-width:0;flex:1}
  body[data-page='ao-vivo'] .tx-top h3{font-size:19px;line-height:1.2;margin:10px 0 0}
  body[data-page='ao-vivo'] .module-badge{max-width:100%;font-size:10px;padding:6px 10px;white-space:normal;line-height:1.25}
  body[data-page='ao-vivo'] .on-air,
  body[data-page='ao-vivo'] .ready{flex:0 0 auto;font-size:10px;padding-top:5px}

  body[data-page='ao-vivo'] .standby-main{display:block;min-height:0;margin-top:18px}
  body[data-page='ao-vivo'] .standby-main .radar{display:none}
  body[data-page='ao-vivo'] .standby-main>div:last-child{min-width:0;width:100%}
  body[data-page='ao-vivo'] .standby-main h4{font-size:28px;line-height:1.08;margin:0;word-break:normal;overflow-wrap:normal}
  body[data-page='ao-vivo'] .standby-alert{display:block;width:100%;margin-top:12px;padding:13px 14px;font-size:14px;line-height:1.45;word-break:normal;overflow-wrap:break-word}
  body[data-page='ao-vivo'] .last-tx{width:100%;margin-top:14px;padding:11px 0 7px 12px;gap:4px}
  body[data-page='ao-vivo'] .last-tx small{font-size:12px}
  body[data-page='ao-vivo'] .last-tx>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}
  body[data-page='ao-vivo'] .last-tx a{font-size:20px;line-height:1.1}
  body[data-page='ao-vivo'] .last-tx span{font-size:12px;line-height:1.4;overflow-wrap:anywhere}

  body[data-page='ao-vivo'] .tx-main{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:12px;margin-top:16px}
  body[data-page='ao-vivo'] .operator-visual{width:58px;height:58px}
  body[data-page='ao-vivo'] .operator-visual img{width:38px;height:38px}
  body[data-page='ao-vivo'] .identity{min-width:0;width:100%}
  body[data-page='ao-vivo'] .country-line{flex-wrap:wrap;gap:6px}
  body[data-page='ao-vivo'] .callsign{font-size:23px;line-height:1.05;overflow-wrap:anywhere}
  body[data-page='ao-vivo'] .identity strong{font-size:14px;line-height:1.3}
  body[data-page='ao-vivo'] .identity>span{font-size:11px;line-height:1.4;overflow-wrap:anywhere}
  body[data-page='ao-vivo'] .meta{gap:6px;margin-top:8px}
  body[data-page='ao-vivo'] .meta b{font-size:9px;padding:5px 7px}
  body[data-page='ao-vivo'] .route-info{grid-template-columns:1fr;gap:7px;margin-top:9px}
  body[data-page='ao-vivo'] .route-info span{padding:8px 9px}
  body[data-page='ao-vivo'] .route-info small{font-size:8px}
  body[data-page='ao-vivo'] .route-info strong{font-size:10px;white-space:normal;overflow-wrap:anywhere}
  body[data-page='ao-vivo'] .spectrum{height:22px;margin-top:10px}

  body[data-page='ao-vivo'] .ops-widget{grid-template-columns:auto minmax(0,1fr);padding:13px;gap:5px 10px}
  body[data-page='ao-vivo'] .ops-widget>div:nth-child(2){min-width:0}
  body[data-page='ao-vivo'] .ops-widget b{font-size:15px;line-height:1.2}
  body[data-page='ao-vivo'] .ops-widget small{display:block;font-size:11px;line-height:1.35;margin-top:3px}
  body[data-page='ao-vivo'] .ops-numbers{grid-template-columns:1fr 1fr;width:100%;margin-top:6px}
  body[data-page='ao-vivo'] .ops-numbers span{font-size:11px;padding:9px}
  body[data-page='ao-vivo'] .ops-numbers b{font-size:20px}
}
@media(max-width:390px){
  body[data-page='ao-vivo'] .widget-heading h2{font-size:26px}
  body[data-page='ao-vivo'] .standby-main h4{font-size:25px}
  body[data-page='ao-vivo'] .tx-main{grid-template-columns:54px minmax(0,1fr);gap:10px}
  body[data-page='ao-vivo'] .operator-visual{width:50px;height:50px}
  body[data-page='ao-vivo'] .operator-visual img{width:32px;height:32px}
  body[data-page='ao-vivo'] .ops-numbers{grid-template-columns:1fr}
}

/* V22: destaque visual de indicativo, operador e cidade/estado durante TX */
.tx-card.live .callsign{
  display:inline-block;
  color:#fff;
  font-size:clamp(25px,2.4vw,36px);
  line-height:1;
  letter-spacing:.025em;
  text-shadow:0 0 10px rgba(255,255,255,.22),0 0 24px rgba(255,49,92,.42);
}
.tx-card.live .operator-name{
  display:block;
  margin-top:7px;
  color:#f8fdff;
  font-size:17px!important;
  line-height:1.2;
  font-weight:900;
}
.tx-card.live .operator-location{
  display:grid!important;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:2px 10px;
  width:100%;
  margin-top:10px;
  padding:10px 12px;
  border:1px solid rgba(255,200,87,.72);
  border-radius:11px;
  background:linear-gradient(135deg,rgba(255,200,87,.20),rgba(255,200,87,.07));
  box-shadow:0 0 20px rgba(255,200,87,.12),inset 0 0 0 1px rgba(255,255,255,.025);
  color:#fff6d8!important;
}
.tx-card.live .operator-location small{
  grid-column:1/-1;
  color:#ffd66f;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.tx-card.live .operator-location b{
  min-width:0;
  color:#fff;
  font-size:15px;
  line-height:1.25;
  font-weight:950;
  overflow-wrap:anywhere;
}
.tx-card.live .operator-location em{
  color:#ffe8a6;
  font-size:10px;
  font-style:normal;
  font-weight:800;
  white-space:nowrap;
}
@media(max-width:720px){
  body[data-page='ao-vivo'] .tx-card.live .callsign{font-size:29px;line-height:1}
  body[data-page='ao-vivo'] .tx-card.live .operator-name{font-size:16px!important;margin-top:8px}
  body[data-page='ao-vivo'] .tx-card.live .operator-location{grid-template-columns:1fr;margin-top:11px;padding:11px 12px;gap:5px}
  body[data-page='ao-vivo'] .tx-card.live .operator-location small{font-size:9px}
  body[data-page='ao-vivo'] .tx-card.live .operator-location b{font-size:17px;line-height:1.25}
  body[data-page='ao-vivo'] .tx-card.live .operator-location em{font-size:10px;white-space:normal}
}


/* V23: melhor aproveitamento do espaço no box de transmissão */
.tx-card.live .tx-main{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  align-items:start;
  gap:14px;
}
.tx-card.live .operator-visual{
  width:72px;
  height:72px;
  margin-top:4px;
}
.tx-card.live .operator-visual img{
  width:44px;
  height:44px;
}
.tx-card.live .identity{
  flex:1 1 auto;
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 200px;
  grid-template-areas:
    "country route"
    "name route"
    "location route"
    "meta route";
  gap:8px 14px;
  align-items:start;
}
.tx-card.live .country-line{grid-area:country; align-items:flex-end; gap:8px; flex-wrap:wrap}
.tx-card.live .operator-name{grid-area:name; margin-top:0!important}
.tx-card.live .operator-location{grid-area:location; margin-top:0; min-height:76px}
.tx-card.live .meta{grid-area:meta; margin-top:0}
.tx-card.live .route-info{grid-area:route; align-self:stretch; margin-top:0; grid-template-columns:1fr; gap:8px}
.tx-card.live .route-info span{display:flex; flex-direction:column; justify-content:center; min-height:58px; padding:10px 11px; border-color:rgba(0,216,255,.22); background:linear-gradient(180deg,rgba(8,25,35,.95),rgba(8,20,29,.9))}
.tx-card.live .route-info strong{font-size:12px}
.tx-card.live .callsign{font-size:clamp(30px,2.8vw,40px)}
.tx-card.live .operator-name{font-size:18px!important}
.tx-card.live .operator-location b{font-size:18px}
.tx-card.live .operator-location em{font-size:11px}

@media (max-width: 980px){
  .tx-card.live .identity{
    grid-template-columns:1fr;
    grid-template-areas:
      "country"
      "name"
      "location"
      "meta"
      "route";
  }
  .tx-card.live .route-info{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 720px){
  body[data-page='ao-vivo'] .tx-card.live .tx-main{
    grid-template-columns:1fr;
    gap:12px;
  }
  body[data-page='ao-vivo'] .tx-card.live .operator-visual{
    width:64px;
    height:64px;
    margin-top:0;
  }
  body[data-page='ao-vivo'] .tx-card.live .identity{
    grid-template-columns:1fr;
    grid-template-areas:
      "country"
      "name"
      "location"
      "meta"
      "route";
    gap:8px;
  }
  body[data-page='ao-vivo'] .tx-card.live .callsign{font-size:31px;line-height:1.02}
  body[data-page='ao-vivo'] .tx-card.live .operator-name{font-size:17px!important}
  body[data-page='ao-vivo'] .tx-card.live .operator-location{padding:12px 13px; min-height:0}
  body[data-page='ao-vivo'] .tx-card.live .operator-location b{font-size:18px}
  body[data-page='ao-vivo'] .tx-card.live .route-info{grid-template-columns:1fr 1fr}
}


/* V24: box de transmissão com layout profissional e equilíbrio visual */
.tx-card.live .tx-main{
  display:grid;
  grid-template-columns:68px minmax(0,1fr) 176px;
  gap:14px;
  align-items:start;
}
.tx-card.live .operator-visual{
  width:64px;
  height:64px;
  margin-top:8px;
}
.tx-card.live .operator-visual img{
  width:40px;
  height:40px;
}
.tx-card.live .identity{
  display:block;
  min-width:0;
  width:100%;
}
.tx-card.live .country-line{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:6px;
}
.tx-card.live .callsign{
  display:inline-block;
  color:#ffffff;
  font-size:clamp(25px,2.2vw,33px);
  line-height:1.02;
  letter-spacing:.015em;
  text-shadow:0 0 8px rgba(255,255,255,.16),0 0 16px rgba(255,49,92,.20);
}
.tx-card.live .operator-name{
  display:block;
  margin-top:0!important;
  font-size:16px!important;
  line-height:1.25;
  color:#f5fbff;
}
.tx-card.live .operator-location{
  display:block!important;
  width:100%;
  margin-top:9px;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:#d6edf8!important;
}
.tx-card.live .operator-location small{
  display:block;
  margin-bottom:4px;
  color:#74dfff;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.tx-card.live .operator-location b{
  display:block;
  color:#ffffff;
  font-size:17px;
  line-height:1.2;
  font-weight:950;
  overflow-wrap:anywhere;
}
.tx-card.live .operator-location em{
  display:block;
  margin-top:3px;
  color:#9ec5d5;
  font-size:11px;
  font-style:normal;
  font-weight:700;
  white-space:normal;
}
.tx-card.live .meta{
  margin-top:10px;
}
.tx-card.live .route-info{
  align-self:stretch;
  margin-top:0;
  grid-template-columns:1fr;
  gap:8px;
}
.tx-card.live .route-info span{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:76px;
  padding:10px 11px;
  border-color:rgba(0,216,255,.18);
  background:linear-gradient(180deg,rgba(9,28,39,.92),rgba(8,22,31,.94));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
}
.tx-card.live .route-info small{
  font-size:8px;
}
.tx-card.live .route-info strong{
  font-size:12px;
}

@media (max-width: 980px){
  .tx-card.live .tx-main{
    grid-template-columns:64px minmax(0,1fr);
  }
  .tx-card.live .route-info{
    grid-column:1 / -1;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:4px;
  }
}

@media (max-width: 720px){
  body[data-page='ao-vivo'] .tx-card.live .tx-main{
    grid-template-columns:1fr;
    gap:12px;
  }
  body[data-page='ao-vivo'] .tx-card.live .operator-visual{
    width:60px;
    height:60px;
    margin-top:0;
  }
  body[data-page='ao-vivo'] .tx-card.live .country-line{
    margin-bottom:5px;
  }
  body[data-page='ao-vivo'] .tx-card.live .callsign{
    font-size:30px;
  }
  body[data-page='ao-vivo'] .tx-card.live .operator-name{
    font-size:17px!important;
  }
  body[data-page='ao-vivo'] .tx-card.live .operator-location{
    margin-top:10px;
  }
  body[data-page='ao-vivo'] .tx-card.live .operator-location b{
    font-size:18px;
  }
  body[data-page='ao-vivo'] .tx-card.live .route-info{
    grid-column:auto;
    grid-template-columns:1fr 1fr;
  }
}


/* V25: reduzir e equilibrar caixas de gateway e endpoint sem mexer no restante */
.tx-card.live .tx-main{
  grid-template-columns:68px minmax(0,1fr) 148px;
}
.tx-card.live .route-info{
  width:148px;
  justify-self:end;
  gap:7px;
}
.tx-card.live .route-info span{
  min-height:58px;
  padding:8px 10px;
}
.tx-card.live .route-info small{
  font-size:7px;
  letter-spacing:.08em;
}
.tx-card.live .route-info strong{
  font-size:11px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
@media (max-width: 980px){
  .tx-card.live .route-info{
    width:100%;
    justify-self:stretch;
  }
}

/* V26: melhorar conteúdo do box de standby sem alterar estrutura */
.standby-alert small{display:block;color:#7cf0c1;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}.standby-alert b{display:block;color:#fff;font-size:18px;line-height:1.18;overflow-wrap:anywhere}.standby-alert span{display:block;color:#d4f7e7;font-size:12px;font-weight:700;margin-top:4px}@media(max-width:650px){.standby-alert b{font-size:16px}}

/* V30 — ajuste exclusivo do box ao vivo e standby */

.tx-card.standby.standby-v30 {
    min-height: 290px;
    border-color: rgba(33,234,160,.82) !important;
    background:
        radial-gradient(circle at 50% 45%, rgba(33,234,160,.09), transparent 42%),
        linear-gradient(180deg, rgba(10,45,40,.82), rgba(6,25,34,.98)) !important;
}

.standby-v30-content {
    min-height: 215px;
    padding: 8px 8px 2px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
}

.standby-v30-radar {
    display: block !important;
    width: 112px !important;
    height: 112px !important;
    margin: 2px auto !important;
    border-color: rgba(33,234,160,.75) !important;
    box-shadow: 0 0 28px rgba(33,234,160,.18);
}

.standby-v30-state {
    color: #ecfff7;
    font-size: 22px;
    line-height: 1.1;
    font-weight: 900;
}

.standby-v30-last {
    width: min(100%, 300px);
    padding-top: 10px;
    border-top: 1px solid rgba(33,234,160,.28);
}

.standby-v30-last small {
    display: block;
    color: #8cd9ba;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.standby-v30-last strong {
    display: block;
    color: #fff;
    font-size: 24px;
    line-height: 1.05;
}

.standby-v30-last span {
    display: block;
    margin-top: 4px;
    color: #d1e9e3;
    font-size: 14px;
    line-height: 1.25;
}

.tx-card.live.tx-v30 {
    min-height: 290px;
}

.tx-v30-content {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(180px, .85fr);
    gap: 14px;
    margin-top: 10px;
    align-items: stretch;
}

.tx-v30-person {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    min-width: 0;
}

.tx-v30-person .operator-visual {
    width: 66px !important;
    height: 66px !important;
    margin: 3px 0 0 !important;
}

.tx-v30-person .operator-visual img {
    width: 40px !important;
    height: 40px !important;
}

.tx-v30-person-data {
    min-width: 0;
}

.tx-v30-callsign {
    display: block;
    color: #fff;
    font-size: 29px;
    line-height: 1;
    font-weight: 950;
    text-decoration: none;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
}

.tx-v30-name {
    display: block;
    margin-top: 7px;
    color: #fff;
    font-size: 18px;
    line-height: 1.15;
}

.tx-v30-location {
    display: block;
    margin-top: 8px;
    color: #d9edf4;
    font-size: 15px;
    line-height: 1.25;
    font-weight: 800;
}

.tx-v30-country {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    color: #a9cbd8;
    font-size: 12px;
}

.tx-v30-country .flag {
    font-size: 15px;
}

.tx-v30-details {
    display: grid;
    gap: 7px;
}

.tx-v30-details > div {
    min-height: 54px;
    padding: 9px 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid rgba(0,216,255,.20);
    border-radius: 10px;
    background: rgba(7,27,37,.88);
}

.tx-v30-details small {
    color: #83bad0;
    font-size: 8px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.tx-v30-details strong {
    color: #fff;
    font-size: 13px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.tx-card.live.tx-v30 .spectrum {
    margin-top: 10px;
}

@media (max-width: 720px) {
    body[data-page='ao-vivo'] .standby-v30-content {
        min-height: 190px;
    }

    body[data-page='ao-vivo'] .standby-v30-radar {
        display: block !important;
        width: 96px !important;
        height: 96px !important;
    }

    body[data-page='ao-vivo'] .standby-v30-state {
        font-size: 20px;
    }

    body[data-page='ao-vivo'] .tx-v30-content {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    body[data-page='ao-vivo'] .tx-v30-person {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 10px;
    }

    body[data-page='ao-vivo'] .tx-v30-person .operator-visual {
        width: 56px !important;
        height: 56px !important;
    }

    body[data-page='ao-vivo'] .tx-v30-person .operator-visual img {
        width: 34px !important;
        height: 34px !important;
    }

    body[data-page='ao-vivo'] .tx-v30-callsign {
        font-size: 25px;
    }

    body[data-page='ao-vivo'] .tx-v30-name {
        font-size: 16px;
    }

    body[data-page='ao-vivo'] .tx-v30-location {
        font-size: 14px;
    }

    body[data-page='ao-vivo'] .tx-v30-details {
        grid-template-columns: 1fr 1fr;
    }

    body[data-page='ao-vivo'] .tx-v30-details > div:first-child {
        grid-column: 1 / -1;
    }
}

/* V31 — menu mobile acima do conteúdo */
@media (max-width: 720px) {

    body[data-page] .universal-header {
        position: relative;
        z-index: 1000;
        overflow: visible !important;
    }

    body[data-page] .universal-header-row {
        position: relative;
        z-index: 1001;
    }

    body[data-page] .universal-header .menu-toggle {
        position: relative;
        z-index: 1004;
    }

    body[data-page] .universal-nav {
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        right: 0;
        z-index: 1003;
        margin: 0;
        padding: 12px;
        overflow: visible;
        background: rgba(5, 21, 31, .99);
        border: 1px solid rgba(0, 216, 255, .34);
        border-radius: 13px;
        box-shadow:
            0 22px 48px rgba(0, 0, 0, .72),
            0 0 0 1px rgba(0, 216, 255, .08) inset;
        backdrop-filter: blur(18px);
    }

    body[data-page] .universal-nav.open {
        display: flex;
    }

    body[data-page] .universal-nav a {
        position: relative;
        z-index: 1005;
        width: 100%;
        padding: 11px 12px;
    }

    body[data-page] .dashboard-layout,
    body[data-page] .page-heading,
    body[data-page] .live-widget,
    body[data-page] .panel {
        position: relative;
        z-index: 1;
    }
}

/* ==========================================================
   V34 — listas Conectados e Últimas transmissões no celular
   ========================================================== */

@media (max-width: 820px) {

    /*
     * Impede que tabelas largas aumentem a largura da página.
     */
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    /*
     * Painéis e áreas que podem conter as listas.
     */
    body[data-page] .panel,
    body[data-page] .card,
    body[data-page] .table-panel,
    body[data-page] .data-panel,
    body[data-page] .dashboard-panel,
    body[data-page] .live-panel,
    body[data-page] .connections-panel,
    body[data-page] .history-panel {
        min-width: 0;
        max-width: 100%;
    }

    /*
     * Contêineres conhecidos de tabelas.
     */
    body[data-page] .table-wrap,
    body[data-page] .table-wrapper,
    body[data-page] .table-responsive,
    body[data-page] .data-table-wrap,
    body[data-page] .panel-table,
    body[data-page] .panel-body,
    body[data-page] .card-body {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        scrollbar-width: thin;
    }

    /*
     * Também protege tabelas que não estejam dentro de um wrapper.
     */
    body[data-page] table {
        width: max-content;
        min-width: 720px;
        max-width: none;
        border-collapse: collapse;
        table-layout: auto;
    }

    body[data-page] table th,
    body[data-page] table td {
        min-width: 92px;
        padding: 10px 9px;
        white-space: nowrap;
        vertical-align: middle;
    }

    /*
     * Indicativo sempre visível e com largura adequada.
     */
    body[data-page] table th:first-child,
    body[data-page] table td:first-child {
        position: sticky;
        left: 0;
        z-index: 3;
        min-width: 104px;
        background: #09202c;
        box-shadow: 7px 0 12px rgba(0, 0, 0, .25);
    }

    body[data-page] table thead th:first-child {
        z-index: 5;
        background: #0b2a39;
    }

    /*
     * Cabeçalhos menores no celular.
     */
    body[data-page] table th {
        font-size: 10px;
        line-height: 1.2;
        letter-spacing: .04em;
    }

    body[data-page] table td {
        font-size: 12px;
        line-height: 1.3;
    }

    /*
     * Campos de pesquisa e filtros ocupam a largura disponível.
     */
    body[data-page] .table-filters,
    body[data-page] .filters,
    body[data-page] .search-controls,
    body[data-page] .panel-controls {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        min-width: 0;
        gap: 8px;
    }

    body[data-page] .table-filters input,
    body[data-page] .table-filters select,
    body[data-page] .filters input,
    body[data-page] .filters select,
    body[data-page] .search-controls input,
    body[data-page] .search-controls select {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    /*
     * Texto informativo sobre o deslizamento.
     */
    body[data-page] .table-wrap::after,
    body[data-page] .table-wrapper::after,
    body[data-page] .table-responsive::after,
    body[data-page] .data-table-wrap::after {
        content: "Deslize para o lado para visualizar todos os dados";
        display: block;
        position: sticky;
        left: 0;
        width: max-content;
        max-width: calc(100vw - 48px);
        margin: 7px 0 2px;
        color: #7ea9ba;
        font-size: 10px;
        line-height: 1.3;
    }
}

@media (max-width: 430px) {

    body[data-page] table {
        min-width: 680px;
    }

    body[data-page] table th,
    body[data-page] table td {
        padding: 9px 8px;
    }

    body[data-page] table th:first-child,
    body[data-page] table td:first-child {
        min-width: 96px;
    }
}

/* ==========================================================
   V35 — no celular mostrar somente:
   Indicativo, Nome e Localização
   ========================================================== */

@media (max-width: 820px) {

    /*
     * A tabela volta a ocupar somente a largura da tela.
     */
    body[data-page] table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    /*
     * Remove o deslocamento horizontal aplicado anteriormente.
     */
    body[data-page] .table-wrap,
    body[data-page] .table-wrapper,
    body[data-page] .table-responsive,
    body[data-page] .data-table-wrap,
    body[data-page] .panel-table,
    body[data-page] .panel-body,
    body[data-page] .card-body {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }

    /*
     * Oculta todas as colunas.
     */
    body[data-page] table th,
    body[data-page] table td {
        display: none !important;
    }

    /*
     * Mostra apenas:
     * 1ª coluna: Indicativo
     * 2ª coluna: Nome
     * 3ª coluna: Localização
     */
    body[data-page] table th:nth-child(1),
    body[data-page] table td:nth-child(1),
    body[data-page] table th:nth-child(2),
    body[data-page] table td:nth-child(2),
    body[data-page] table th:nth-child(3),
    body[data-page] table td:nth-child(3) {
        display: table-cell !important;
    }

    body[data-page] table th:nth-child(1),
    body[data-page] table td:nth-child(1) {
        width: 28% !important;
    }

    body[data-page] table th:nth-child(2),
    body[data-page] table td:nth-child(2) {
        width: 30% !important;
    }

    body[data-page] table th:nth-child(3),
    body[data-page] table td:nth-child(3) {
        width: 42% !important;
    }

    /*
     * Remove a coluna fixa lateral da versão anterior.
     */
    body[data-page] table th:first-child,
    body[data-page] table td:first-child {
        position: static !important;
        left: auto !important;
        z-index: auto !important;
        min-width: 0 !important;
        box-shadow: none !important;
    }

    body[data-page] table th,
    body[data-page] table td {
        min-width: 0 !important;
        max-width: none !important;
        padding: 9px 6px !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: break-word;
        vertical-align: middle;
    }

    body[data-page] table th {
        font-size: 9px !important;
        line-height: 1.2;
        text-align: left;
    }

    body[data-page] table td {
        font-size: 11px !important;
        line-height: 1.25;
        text-align: left;
    }

    /*
     * Indicativo com maior destaque.
     */
    body[data-page] table td:nth-child(1) {
        color: #00d8ff;
        font-weight: 900;
        white-space: nowrap !important;
    }

    /*
     * Remove a mensagem "deslize para o lado".
     */
    body[data-page] .table-wrap::after,
    body[data-page] .table-wrapper::after,
    body[data-page] .table-responsive::after,
    body[data-page] .data-table-wrap::after {
        content: none !important;
        display: none !important;
    }
}

@media (max-width: 430px) {

    body[data-page] table th,
    body[data-page] table td {
        padding: 8px 5px !important;
    }

    body[data-page] table th {
        font-size: 8px !important;
    }

    body[data-page] table td {
        font-size: 10px !important;
    }
}

/* ==========================================================
   V35 — no celular mostrar somente:
   Indicativo, Nome e Localização
   ========================================================== */

@media (max-width: 820px) {

    /*
     * A tabela volta a ocupar somente a largura da tela.
     */
    body[data-page] table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    /*
     * Remove o deslocamento horizontal aplicado anteriormente.
     */
    body[data-page] .table-wrap,
    body[data-page] .table-wrapper,
    body[data-page] .table-responsive,
    body[data-page] .data-table-wrap,
    body[data-page] .panel-table,
    body[data-page] .panel-body,
    body[data-page] .card-body {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }

    /*
     * Oculta todas as colunas.
     */
    body[data-page] table th,
    body[data-page] table td {
        display: none !important;
    }

    /*
     * Mostra apenas:
     * 1ª coluna: Indicativo
     * 2ª coluna: Nome
     * 3ª coluna: Localização
     */
    body[data-page] table th:nth-child(1),
    body[data-page] table td:nth-child(1),
    body[data-page] table th:nth-child(2),
    body[data-page] table td:nth-child(2),
    body[data-page] table th:nth-child(3),
    body[data-page] table td:nth-child(3) {
        display: table-cell !important;
    }

    body[data-page] table th:nth-child(1),
    body[data-page] table td:nth-child(1) {
        width: 28% !important;
    }

    body[data-page] table th:nth-child(2),
    body[data-page] table td:nth-child(2) {
        width: 30% !important;
    }

    body[data-page] table th:nth-child(3),
    body[data-page] table td:nth-child(3) {
        width: 42% !important;
    }

    /*
     * Remove a coluna fixa lateral da versão anterior.
     */
    body[data-page] table th:first-child,
    body[data-page] table td:first-child {
        position: static !important;
        left: auto !important;
        z-index: auto !important;
        min-width: 0 !important;
        box-shadow: none !important;
    }

    body[data-page] table th,
    body[data-page] table td {
        min-width: 0 !important;
        max-width: none !important;
        padding: 9px 6px !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: break-word;
        vertical-align: middle;
    }

    body[data-page] table th {
        font-size: 9px !important;
        line-height: 1.2;
        text-align: left;
    }

    body[data-page] table td {
        font-size: 11px !important;
        line-height: 1.25;
        text-align: left;
    }

    /*
     * Indicativo com maior destaque.
     */
    body[data-page] table td:nth-child(1) {
        color: #00d8ff;
        font-weight: 900;
        white-space: nowrap !important;
    }

    /*
     * Remove a mensagem "deslize para o lado".
     */
    body[data-page] .table-wrap::after,
    body[data-page] .table-wrapper::after,
    body[data-page] .table-responsive::after,
    body[data-page] .data-table-wrap::after {
        content: none !important;
        display: none !important;
    }
}

@media (max-width: 430px) {

    body[data-page] table th,
    body[data-page] table td {
        padding: 8px 5px !important;
    }

    body[data-page] table th {
        font-size: 8px !important;
    }

    body[data-page] table td {
        font-size: 10px !important;
    }
}

/* ==========================================================
   V37 — Últimas transmissões compactas somente no celular
   Desktop não é modificado.
   ========================================================== */

@media (max-width: 820px) {

    body[data-page] table.xlx-last-tx-mobile {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }

    /*
     * Esconde todas as colunas somente desta tabela.
     */
    body[data-page] table.xlx-last-tx-mobile th,
    body[data-page] table.xlx-last-tx-mobile td {
        display: none !important;
    }

    /*
     * Exibe somente Indicativo, Nome e Localização.
     */
    body[data-page] table.xlx-last-tx-mobile .xlx-v37-call,
    body[data-page] table.xlx-last-tx-mobile .xlx-v37-name,
    body[data-page] table.xlx-last-tx-mobile .xlx-v37-location {
        display: table-cell !important;
        position: static !important;
        left: auto !important;
        z-index: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        padding: 7px 5px !important;
        box-shadow: none !important;
        white-space: normal !important;
        vertical-align: middle !important;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    body[data-page] table.xlx-last-tx-mobile .xlx-v37-call {
        width: 25% !important;
        color: #f4fbff !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    body[data-page] table.xlx-last-tx-mobile .xlx-v37-name {
        width: 34% !important;
        color: #e1f3fa !important;
        font-weight: 700 !important;
    }

    body[data-page] table.xlx-last-tx-mobile .xlx-v37-location {
        width: 41% !important;
        color: #a9cad7 !important;
    }

    body[data-page] table.xlx-last-tx-mobile th.xlx-v37-call,
    body[data-page] table.xlx-last-tx-mobile th.xlx-v37-name,
    body[data-page] table.xlx-last-tx-mobile th.xlx-v37-location {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        color: #16d8fa !important;
        background: rgba(5, 37, 51, .84) !important;
        font-size: 9px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        letter-spacing: .025em !important;
        text-align: left !important;
    }

    body[data-page] table.xlx-last-tx-mobile td.xlx-v37-call,
    body[data-page] table.xlx-last-tx-mobile td.xlx-v37-name,
    body[data-page] table.xlx-last-tx-mobile td.xlx-v37-location {
        font-size: 11px !important;
        line-height: 1.2 !important;
        text-align: left !important;
    }

    /*
     * Reduz o grande espaço vertical entre as transmissões.
     */
    body[data-page] table.xlx-last-tx-mobile tbody tr {
        height: auto !important;
        min-height: 0 !important;
    }

    body[data-page] table.xlx-last-tx-mobile tbody tr td {
        border-bottom: 1px solid rgba(140, 178, 192, .28);
    }

    /*
     * Remove largura e rolagem horizontal do contêiner.
     */
    body[data-page] table.xlx-last-tx-mobile {
        margin: 0 !important;
    }

    body[data-page] table.xlx-last-tx-mobile.closest {
        overflow-x: hidden !important;
    }
}

@media (max-width: 430px) {

    body[data-page] table.xlx-last-tx-mobile .xlx-v37-call {
        width: 26% !important;
    }

    body[data-page] table.xlx-last-tx-mobile .xlx-v37-name {
        width: 33% !important;
    }

    body[data-page] table.xlx-last-tx-mobile .xlx-v37-location {
        width: 41% !important;
    }

    body[data-page] table.xlx-last-tx-mobile td.xlx-v37-call,
    body[data-page] table.xlx-last-tx-mobile td.xlx-v37-name,
    body[data-page] table.xlx-last-tx-mobile td.xlx-v37-location {
        padding: 6px 4px !important;
        font-size: 10px !important;
    }

    body[data-page] table.xlx-last-tx-mobile th.xlx-v37-call,
    body[data-page] table.xlx-last-tx-mobile th.xlx-v37-name,
    body[data-page] table.xlx-last-tx-mobile th.xlx-v37-location {
        padding: 7px 4px !important;
        font-size: 8px !important;
    }
}

/* ==========================================================
   V38 — tabelas compactas somente no celular
   Bandeira | Indicativo | Nome | Localização
   ========================================================== */

@media (max-width: 820px) {

    body[data-page] .xlx-v38-table-container {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body[data-page] table.xlx-v38-mobile-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }

    /*
     * Neutraliza regras móveis anteriores.
     */
    body[data-page] table.xlx-v38-mobile-table th,
    body[data-page] table.xlx-v38-mobile-table td {
        display: none !important;
        position: static !important;
        left: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        box-shadow: none !important;
    }

    /*
     * Mostra somente as quatro informações desejadas.
     */
    body[data-page] table.xlx-v38-mobile-table .xlx-v38-country,
    body[data-page] table.xlx-v38-mobile-table .xlx-v38-call,
    body[data-page] table.xlx-v38-mobile-table .xlx-v38-name,
    body[data-page] table.xlx-v38-mobile-table .xlx-v38-location {
        display: table-cell !important;
        padding: 5px 3px !important;
        vertical-align: middle !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    body[data-page] table.xlx-v38-mobile-table .xlx-v38-country {
        width: 11% !important;
        text-align: center !important;
        white-space: nowrap !important;
        font-size: 18px !important;
    }

    body[data-page] table.xlx-v38-mobile-table .xlx-v38-call {
        width: 24% !important;
        color: #f4fbff !important;
        font-weight: 900 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    body[data-page] table.xlx-v38-mobile-table .xlx-v38-name {
        width: 29% !important;
        color: #dff3fa !important;
        font-weight: 700 !important;
        text-align: left !important;
    }

    body[data-page] table.xlx-v38-mobile-table .xlx-v38-location {
        width: 36% !important;
        color: #a9cbd7 !important;
        text-align: left !important;
    }

    body[data-page] table.xlx-v38-mobile-table th.xlx-v38-country,
    body[data-page] table.xlx-v38-mobile-table th.xlx-v38-call,
    body[data-page] table.xlx-v38-mobile-table th.xlx-v38-name,
    body[data-page] table.xlx-v38-mobile-table th.xlx-v38-location {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
        color: #16d8fa !important;
        background: rgba(5, 37, 51, .88) !important;
        font-size: 8px !important;
        font-weight: 900 !important;
        line-height: 1.05 !important;
        letter-spacing: 0 !important;
    }

    body[data-page] table.xlx-v38-mobile-table td.xlx-v38-call,
    body[data-page] table.xlx-v38-mobile-table td.xlx-v38-name,
    body[data-page] table.xlx-v38-mobile-table td.xlx-v38-location {
        font-size: 9px !important;
        line-height: 1.12 !important;
    }

    body[data-page] table.xlx-v38-mobile-table tbody tr {
        height: auto !important;
        min-height: 0 !important;
    }

    body[data-page] table.xlx-v38-mobile-table tbody td {
        border-bottom: 1px solid rgba(140, 178, 192, .24) !important;
    }

    /*
     * Reduz as margens internas do painel que contém a tabela.
     */
    body[data-page] .xlx-v38-table-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 430px) {

    body[data-page] table.xlx-v38-mobile-table .xlx-v38-country {
        width: 10% !important;
        font-size: 16px !important;
    }

    body[data-page] table.xlx-v38-mobile-table .xlx-v38-call {
        width: 23% !important;
    }

    body[data-page] table.xlx-v38-mobile-table .xlx-v38-name {
        width: 30% !important;
    }

    body[data-page] table.xlx-v38-mobile-table .xlx-v38-location {
        width: 37% !important;
    }

    body[data-page] table.xlx-v38-mobile-table .xlx-v38-country,
    body[data-page] table.xlx-v38-mobile-table .xlx-v38-call,
    body[data-page] table.xlx-v38-mobile-table .xlx-v38-name,
    body[data-page] table.xlx-v38-mobile-table .xlx-v38-location {
        padding: 4px 2px !important;
    }

    body[data-page] table.xlx-v38-mobile-table td.xlx-v38-call,
    body[data-page] table.xlx-v38-mobile-table td.xlx-v38-name,
    body[data-page] table.xlx-v38-mobile-table td.xlx-v38-location {
        font-size: 8.5px !important;
        line-height: 1.08 !important;
    }

    body[data-page] table.xlx-v38-mobile-table th.xlx-v38-country,
    body[data-page] table.xlx-v38-mobile-table th.xlx-v38-call,
    body[data-page] table.xlx-v38-mobile-table th.xlx-v38-name,
    body[data-page] table.xlx-v38-mobile-table th.xlx-v38-location {
        font-size: 7px !important;
    }
}

/*
 * Desktop: mantém a estrutura original.
 * Apenas centraliza e dimensiona a bandeira da coluna País.
 */
@media (min-width: 821px) {

    body[data-page] table.xlx-v38-mobile-table .xlx-v38-country {
        text-align: center;
    }

    body[data-page] table.xlx-v38-mobile-table td.xlx-v38-country {
        font-size: 21px;
        line-height: 1;
        white-space: nowrap;
    }
}

/* ==========================================================
   V39 — estabilidade visual e bandeiras sem modificar o DOM
   ========================================================== */

.xlx-v39-emoji-flag {
    position: relative;
    text-align: center !important;
    color: transparent !important;
    font-size: 0 !important;
    white-space: nowrap !important;
}

.xlx-v39-emoji-flag::before {
    content: attr(data-country-flag);
    display: inline-block;
    color: initial;
    font-size: 21px;
    line-height: 1;
    vertical-align: middle;
}

.xlx-v39-native-flag img {
    display: inline-block;
    max-width: 30px;
    height: auto;
    vertical-align: middle;
}

@media (max-width: 820px) {

    body[data-page] table.xlx-v39-stable-table {
        contain: layout style;
    }

    body[data-page]
    table.xlx-v39-stable-table
    .xlx-v39-emoji-flag::before {
        font-size: 16px;
    }

    body[data-page]
    table.xlx-v39-stable-table
    .xlx-v39-native-flag img {
        max-width: 24px;
    }
}

/* ==========================================================
   V41 — bandeiras reais da pasta oficial
   ========================================================== */

body[data-page] td.xlx-v41-flag-cell {
    text-align: center !important;
    white-space: nowrap !important;
}

body[data-page]
td.xlx-v41-flag-cell
img.xlx-v41-country-flag {
    display: none;
    width: 30px;
    height: 20px;
    object-fit: cover;
    border: 1px solid rgba(160, 195, 209, .35);
    border-radius: 2px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .25);
    vertical-align: middle;
}

body[data-page]
td.xlx-v41-flag-cell.xlx-v41-image-loaded {
    color: transparent !important;
    font-size: 0 !important;
    text-shadow: none !important;
}

body[data-page]
td.xlx-v41-flag-cell.xlx-v41-image-loaded
img.xlx-v41-country-flag {
    display: inline-block !important;
}

body[data-page]
td.xlx-v41-existing-flag {
    text-align: center !important;
}

body[data-page]
td.xlx-v41-existing-flag
img {
    display: inline-block;
    width: 30px;
    max-width: 30px;
    height: 20px;
    object-fit: cover;
    vertical-align: middle;
}

@media (max-width: 820px) {

    body[data-page]
    td.xlx-v41-flag-cell
    img.xlx-v41-country-flag,
    body[data-page]
    td.xlx-v41-existing-flag
    img {
        width: 23px;
        max-width: 23px;
        height: 15px;
    }
}

/* V46 — controle sonoro exclusivo do box TX/RX */
.txrx-sound-button{
    margin-left:10px;
    padding:7px 10px;
    border:1px solid #285164;
    border-radius:999px;
    background:#071923;
    color:#dff8ff;
    font:inherit;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
    white-space:nowrap;
}

.txrx-sound-button:hover,
.txrx-sound-button[aria-pressed="true"]{
    border-color:var(--cyan);
    color:#fff;
    box-shadow:0 0 14px rgba(0,216,255,.15);
}

@media(max-width:650px){
    .txrx-sound-button{
        padding:6px 8px;
        font-size:9px;
    }
}


/* ==========================================================
   XLX026 OFFLINE NEON VERMELHO V1
   Altera exclusivamente a aparência do texto Offline.
   ========================================================== */

@keyframes xlx026-offline-neon-pulse {
    0%,
    100% {
        color: #ff304f;
        text-shadow:
            0 0 4px rgba(255, 48, 79, 0.80),
            0 0 9px rgba(255, 48, 79, 0.62),
            0 0 15px rgba(255, 48, 79, 0.38);

        opacity: 0.72;
    }

    50% {
        color: #ff6b7d;
        text-shadow:
            0 0 5px #ff304f,
            0 0 11px #ff304f,
            0 0 20px rgba(255, 48, 79, 0.88),
            0 0 30px rgba(255, 48, 79, 0.48);

        opacity: 1;
    }
}

.status-offline {
    color: #ff304f !important;

    font-weight: 900 !important;

    text-shadow:
        0 0 5px rgba(255, 48, 79, 0.88),
        0 0 12px rgba(255, 48, 79, 0.58) !important;

    animation:
        xlx026-offline-neon-pulse
        1.15s ease-in-out infinite !important;
}

/* ==========================================================
   XLX026_BOX_TAMANHO_V1
   SOMENTE BOX TRANSMITINDO + STANDBY
   ========================================================== */

/* TRANSMITINDO */
body[data-page='ao-vivo'] .tx-card.live {
    min-height: 300px;
    padding: 20px;
}

/* STANDBY */
body[data-page='ao-vivo'] .tx-card.standby {
    min-height: 300px;
    padding: 20px;
}

body[data-page='ao-vivo'] .tx-card.standby .standby-main {
    min-height: 210px;
}

/* CELULAR — SOMENTE OS MESMOS DOIS BOXES */
@media (max-width:720px) {

    body[data-page='ao-vivo'] .tx-card.live {
        min-height: 270px;
        padding: 18px;
    }

    body[data-page='ao-vivo'] .tx-card.standby {
        min-height: 270px;
        padding: 18px;
    }

    body[data-page='ao-vivo'] .tx-card.standby .standby-main {
        min-height: 180px;
    }
}

/* FIM XLX026_BOX_TAMANHO_V1 */


/* ==========================================================
   XLX026_TX_BOX_FONTE_V1
   SOMENTE BOX VERMELHO DE TRANSMISSAO
   ========================================================== */

body[data-page='ao-vivo'] .tx-card.live .callsign{
    display:block;
    white-space:nowrap;
    word-break:normal;
    overflow-wrap:normal;
    font-size:34px;
    line-height:1;
    letter-spacing:-0.03em;
    max-width:100%;
}

body[data-page='ao-vivo'] .tx-card.live .identity{
    min-width:0;
}

body[data-page='ao-vivo'] .tx-card.live .operator-name{
    font-size:18px !important;
    line-height:1.15;
}

body[data-page='ao-vivo'] .tx-card.live .operator-location b{
    font-size:18px;
    line-height:1.2;
}

@media (max-width:720px){
    body[data-page='ao-vivo'] .tx-card.live .callsign{
        font-size:28px;
    }

    body[data-page='ao-vivo'] .tx-card.live .operator-name{
        font-size:16px !important;
    }

    body[data-page='ao-vivo'] .tx-card.live .operator-location b{
        font-size:16px;
    }
}

/* FIM XLX026_TX_BOX_FONTE_V1 */


/* XLX026_TX_CALLSIGN_SIZE_V2
   SOMENTE INDICATIVO NO BOX VERMELHO */
body[data-page='ao-vivo'] .tx-card.live .callsign {
    font-size: 26px !important;
}

/* FIM XLX026_TX_CALLSIGN_SIZE_V2 */


/* ==========================================================
   XLX026_TX_V30_LAYOUT_INTERNO_V1

   ALTERA SOMENTE O CONTEUDO INTERNO DO BOX VERMELHO.
   NAO ALTERA O BOX, STANDBY OU QUALQUER OUTRA AREA.
   ========================================================== */

@media (min-width:721px){

    /* divisão interna:
       operador recebe mais espaço
       detalhes continuam à direita */
    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-content{
        grid-template-columns:
            minmax(0, 1.55fr)
            minmax(155px, .85fr) !important;

        gap:12px !important;
        align-items:stretch !important;
    }


    /* foto + informações do operador */
    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-person{
        grid-template-columns:
            60px
            minmax(0,1fr) !important;

        gap:10px !important;
        align-items:start !important;
        min-width:0 !important;
    }


    /* imagem um pouco menor para liberar largura */
    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-person
    .operator-visual{
        width:58px !important;
        height:58px !important;
        margin-top:3px !important;
    }


    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-person
    .operator-visual img{
        width:36px !important;
        height:36px !important;
    }


    /* área textual pode realmente utilizar a largura restante */
    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-person-data{
        min-width:0 !important;
        width:100% !important;
    }


    /* INDICATIVO:
       menor e obrigatoriamente em uma linha */
    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-callsign{
        display:block !important;
        font-size:24px !important;
        line-height:1 !important;
        letter-spacing:-0.02em !important;

        white-space:nowrap !important;
        word-break:normal !important;
        overflow-wrap:normal !important;
    }


    /* nome do operador */
    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-name{
        display:block !important;
        margin-top:6px !important;

        font-size:15px !important;
        line-height:1.15 !important;

        word-break:normal !important;
        overflow-wrap:normal !important;
    }


    /* localização */
    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-location{
        display:block !important;
        margin-top:6px !important;

        font-size:13px !important;
        line-height:1.25 !important;

        word-break:normal !important;
        overflow-wrap:normal !important;
    }


    /* país */
    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-country{
        display:flex !important;
        align-items:center !important;
        gap:5px !important;

        margin-top:5px !important;
        font-size:11px !important;
        line-height:1.2 !important;
    }


    /* coluna da direita */
    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-details{
        min-width:0 !important;
        gap:7px !important;
    }


    /* três caixas internas da direita */
    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-details > div{
        min-height:52px !important;
        padding:8px 9px !important;
    }


    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-details small{
        font-size:8px !important;
        line-height:1.15 !important;
    }


    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-details strong{
        font-size:12px !important;
        line-height:1.2 !important;
        overflow-wrap:break-word !important;
    }
}


/* CELULAR — CONTINUA TUDO DENTRO DO MESMO BOX VERMELHO */
@media (max-width:720px){

    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-content{
        grid-template-columns:1fr !important;
        gap:10px !important;
    }


    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-person{
        grid-template-columns:
            52px
            minmax(0,1fr) !important;

        gap:9px !important;
    }


    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-person
    .operator-visual{
        width:50px !important;
        height:50px !important;
    }


    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-person
    .operator-visual img{
        width:31px !important;
        height:31px !important;
    }


    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-callsign{
        font-size:22px !important;

        white-space:nowrap !important;
        word-break:normal !important;
        overflow-wrap:normal !important;
    }


    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-name{
        font-size:15px !important;
        line-height:1.15 !important;
    }


    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-location{
        font-size:13px !important;
        line-height:1.2 !important;
    }


    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-details{
        grid-template-columns:1fr 1fr !important;
        gap:7px !important;
    }


    body[data-page='ao-vivo']
    #moduleGrid
    .tx-card.live.tx-v30
    .tx-v30-details > div:first-child{
        grid-column:1 / -1 !important;
    }
}

/* FIM XLX026_TX_V30_LAYOUT_INTERNO_V1 */







/* ==========================================================
   XLX026_MENU_NEON_V2

   NORMAL    = discreto
   HOVER     = neon verde
   SELECIONADO = neon azul pulsante
   ========================================================== */


.universal-nav{
    gap:6px !important;
}


/* ----------------------------------------------------------
   BOTAO NORMAL
   ---------------------------------------------------------- */

.universal-nav a{
    position:relative;

    display:inline-flex !important;
    align-items:center;
    justify-content:center;

    min-height:35px;

    padding:7px 10px !important;

    border:1px solid rgba(48,94,117,.75) !important;
    border-radius:9px !important;

    background:
        linear-gradient(
            180deg,
            rgba(15,40,53,.96),
            rgba(7,23,32,.98)
        ) !important;

    color:#c8dce5 !important;

    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;

    text-decoration:none !important;
    white-space:nowrap;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.03),
        0 2px 7px rgba(0,0,0,.20) !important;

    transition:
        color .18s ease,
        background .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease !important;
}


/* ----------------------------------------------------------
   HOVER — NEON VERDE
   ---------------------------------------------------------- */

.universal-nav a:not(.active):hover{

    color:#eafff6 !important;

    border-color:#21eaa0 !important;

    background:
        linear-gradient(
            180deg,
            rgba(33,234,160,.16),
            rgba(7,42,34,.98)
        ) !important;

    box-shadow:
        0 0 4px rgba(33,234,160,.70),
        0 0 12px rgba(33,234,160,.48),
        0 0 24px rgba(33,234,160,.23),
        inset 0 0 12px rgba(33,234,160,.07) !important;

    text-shadow:
        0 0 8px rgba(33,234,160,.65);

    transform:translateY(-1px);
}


/* pequeno brilho verde no hover */

.universal-nav a:not(.active):hover::after{

    content:"";

    position:absolute;

    left:18%;
    right:18%;
    bottom:-1px;

    height:2px;

    border-radius:99px;

    background:#21eaa0;

    box-shadow:
        0 0 7px #21eaa0,
        0 0 14px rgba(33,234,160,.65);
}


/* ----------------------------------------------------------
   PAGINA SELECIONADA — NEON AZUL
   ---------------------------------------------------------- */

.universal-nav a.active{

    color:#ffffff !important;

    border-color:#00d8ff !important;

    background:
        linear-gradient(
            180deg,
            rgba(0,216,255,.20),
            rgba(5,39,55,.98)
        ) !important;

    text-shadow:
        0 0 8px rgba(0,216,255,.85);

    animation:
        xlx026MenuBluePulse 1.8s ease-in-out infinite !important;
}


/* PONTO AZUL DO ITEM SELECIONADO */

.universal-nav a.active::before{

    content:"";

    display:block;

    width:6px;
    height:6px;

    margin-right:6px;

    flex:0 0 auto;

    border-radius:50%;

    background:#00d8ff !important;

    box-shadow:
        0 0 5px #00d8ff,
        0 0 11px rgba(0,216,255,.95),
        0 0 18px rgba(0,216,255,.55) !important;

    animation:
        xlx026MenuBlueDot 1.25s ease-in-out infinite;
}


/*
 * Mesmo passando o mouse sobre o selecionado,
 * ele continua AZUL.
 */

.universal-nav a.active:hover{

    color:#ffffff !important;

    border-color:#00d8ff !important;

    background:
        linear-gradient(
            180deg,
            rgba(0,216,255,.24),
            rgba(5,43,59,.99)
        ) !important;

    transform:none !important;
}


/* ----------------------------------------------------------
   PULSO AZUL
   ---------------------------------------------------------- */

@keyframes xlx026MenuBluePulse{

    0%,100%{

        box-shadow:
            0 0 3px rgba(0,216,255,.58),
            0 0 9px rgba(0,216,255,.35),
            0 0 16px rgba(0,216,255,.16),
            inset 0 0 8px rgba(0,216,255,.07);
    }

    50%{

        box-shadow:
            0 0 6px rgba(0,216,255,1),
            0 0 17px rgba(0,216,255,.72),
            0 0 31px rgba(0,216,255,.36),
            inset 0 0 15px rgba(0,216,255,.13);
    }

}


@keyframes xlx026MenuBlueDot{

    0%,100%{
        opacity:.70;
        transform:scale(.85);
    }

    50%{
        opacity:1;
        transform:scale(1.20);
    }

}


/* ----------------------------------------------------------
   ACESSIBILIDADE
   ---------------------------------------------------------- */

.universal-nav a:focus-visible{

    outline:2px solid #21eaa0 !important;
    outline-offset:3px;
}


/* ----------------------------------------------------------
   CELULAR / TABLET
   ---------------------------------------------------------- */

@media(max-width:980px){

    .universal-nav{

        gap:7px !important;
    }


    .universal-nav a{

        width:100%;

        min-height:44px;

        justify-content:flex-start;

        padding:11px 13px !important;

        font-size:13px !important;

        border-radius:9px !important;
    }


    .universal-nav a.active{

        box-shadow:
            inset 3px 0 0 #00d8ff,
            0 0 8px rgba(0,216,255,.70),
            0 0 17px rgba(0,216,255,.35) !important;
    }

}


/*
 * Quem prefere menos animacao no sistema
 * continua enxergando o destaque sem pulsacao.
 */

@media(prefers-reduced-motion:reduce){

    .universal-nav a.active,
    .universal-nav a.active::before{

        animation:none !important;
    }

}


/* FIM XLX026_MENU_NEON_V2 */



/* ==========================================================
   XLX026_MENU_CLICK_FIX_V1
   SOMENTE CORRECAO DE CLIQUE DO MENU
   ========================================================== */


/*
 * O menu precisa ficar acima dos elementos decorativos
 * do cabecalho.
 */
.universal-nav{
    position:relative !important;
    z-index:100 !important;
    pointer-events:auto !important;
}


/*
 * Todos os links continuam clicaveis.
 */
.universal-nav a{
    position:relative !important;
    z-index:101 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
}


/*
 * Reforco especifico para Noticias.
 */
.universal-nav a[href*="page=noticias"]{
    position:relative !important;
    z-index:110 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
}


/*
 * Circulos/efeitos decorativos do cabecalho
 * nao podem capturar clique.
 */
.universal-header::after,
.hero::after{
    pointer-events:none !important;
}


/*
 * O indicador "Conectando / Online" nao e um botao.
 * Se encostar visualmente no menu, nao bloqueia clique.
 */
.universal-live-pill{
    pointer-events:none !important;
}


/*
 * Pseudo-elementos do neon tambem nao capturam clique.
 */
.universal-nav a::before,
.universal-nav a::after{
    pointer-events:none !important;
}


/* FIM XLX026_MENU_CLICK_FIX_V1 */











/* ==========================================================
   XLX026_MENU_MOBILE_FECHADO_V3

   OBJETIVO NO MOBILE:
   - menu inicia fechado
   - botao MENU
   - ao abrir mostra opcoes
   - ao fechar esconde opcoes
   - abaixo do header aparece primeiro o monitor ao vivo
   - remove o titulo "Transmissões" acima do box
   - nao afeta desktop
   ========================================================== */

.xlx026-mobile-togglebar{
    display:none;
}

@media (max-width:820px){

    /* ------------------------------------------------------
       esconde botoes antigos de menu no mobile
       ------------------------------------------------------ */
    .universal-header .menu-toggle,
    .universal-header .xlx026-mobile-menu-button{
        display:none !important;
    }

    /* ------------------------------------------------------
       botao MENU novo
       ------------------------------------------------------ */
    .xlx026-mobile-togglebar{
        display:flex !important;

        grid-column:1 / -1 !important;

        justify-content:center !important;
        align-items:center !important;

        margin:10px 0 4px !important;
        padding:0 !important;
    }

    .xlx026-mobile-togglebar button{
        display:inline-flex !important;

        align-items:center !important;
        justify-content:center !important;

        width:88px !important;
        min-width:88px !important;

        height:40px !important;
        min-height:40px !important;

        padding:0 12px !important;

        border:1px solid #00d8ff !important;
        border-radius:9px !important;

        background:
            linear-gradient(
                180deg,
                rgba(10,54,72,.98),
                rgba(5,26,36,.98)
            ) !important;

        color:#ffffff !important;

        font:inherit !important;
        font-size:11px !important;
        font-weight:950 !important;
        line-height:1 !important;

        letter-spacing:.08em;

        cursor:pointer !important;

        box-shadow:
            0 0 5px rgba(0,216,255,.55),
            0 0 13px rgba(0,216,255,.18),
            inset 0 1px 0 rgba(255,255,255,.06) !important;

        text-shadow:
            0 0 7px rgba(0,216,255,.65);
    }

    .xlx026-mobile-togglebar button[aria-expanded="true"]{
        border-color:#21eaa0 !important;

        background:
            linear-gradient(
                180deg,
                rgba(33,234,160,.16),
                rgba(5,40,32,.98)
            ) !important;

        color:#e5fff4 !important;

        box-shadow:
            0 0 6px rgba(33,234,160,.80),
            0 0 17px rgba(33,234,160,.30),
            inset 0 1px 0 rgba(255,255,255,.06) !important;

        text-shadow:
            0 0 8px rgba(33,234,160,.80);
    }

    /* ------------------------------------------------------
       menu FECHADO por padrao
       ------------------------------------------------------ */
    .universal-header .universal-nav{
        display:none !important;

        position:static !important;

        grid-column:1 / -1 !important;

        width:100% !important;

        margin:8px 0 0 !important;

        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:flex-start !important;

        gap:7px !important;

        transform:none !important;
        overflow:visible !important;
        pointer-events:auto !important;
    }

    /* menu aberto */
    .universal-header .universal-nav.xlx026-mobile-open-v3{
        display:flex !important;
    }

    /* links do menu */
    .universal-header .universal-nav a{
        display:flex !important;

        width:100% !important;

        min-height:52px !important;

        align-items:center !important;
        justify-content:center !important;

        margin:0 !important;
        padding:11px 13px !important;

        white-space:normal !important;

        pointer-events:auto !important;
    }

    /* ------------------------------------------------------
       ORDEM MOBILE:
       mostrar primeiro o monitor ao vivo
       ------------------------------------------------------ */
    body[data-page='ao-vivo'] .dashboard-layout{
        display:flex !important;
        flex-direction:column !important;
        gap:14px !important;
    }

    body[data-page='ao-vivo'] .dashboard-layout .live-widget{
        order:1 !important;
    }

    body[data-page='ao-vivo'] .dashboard-layout .dashboard-main{
        order:2 !important;
    }

    /* ------------------------------------------------------
       remover palavra "Transmissões" no mobile
       ------------------------------------------------------ */
    body[data-page='ao-vivo'] .live-widget .widget-heading h2{
        display:none !important;
    }

    body[data-page='ao-vivo'] .live-widget .widget-heading{
        align-items:center !important;
        padding-bottom:8px !important;
    }

    body[data-page='ao-vivo'] .live-widget .widget-heading > div{
        display:flex !important;
        align-items:center !important;
        gap:0 !important;
    }

    body[data-page='ao-vivo'] .live-widget .widget-heading .eyebrow{
        margin:0 !important;
    }

    /* ------------------------------------------------------
       efeitos decorativos nao bloqueiam toque
       ------------------------------------------------------ */
    .universal-header::before,
    .universal-header::after,
    .universal-nav::before,
    .universal-nav::after,
    .universal-nav a::before,
    .universal-nav a::after{
        pointer-events:none !important;
    }
}

@media (max-width:520px){

    .xlx026-mobile-togglebar button{
        width:82px !important;
        min-width:82px !important;

        height:38px !important;
        min-height:38px !important;

        font-size:10px !important;
    }

    .universal-header .universal-nav a{
        min-height:48px !important;
        font-size:12px !important;
    }
}


/* FIM XLX026_MENU_MOBILE_FECHADO_V3 */


/* ==========================================================
   XLX026_LEGIBILITY_V2_START

   PAINEL XLX026 BRASIL — LEGIBILIDADE RESPONSIVA V2

   Objetivo:
   - melhorar leitura em notebooks e monitores;
   - preservar hierarquia visual;
   - aumentar textos realmente pequenos;
   - não alterar lógica, API ou dados.
   ========================================================== */

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    font-size: 1rem;
    line-height: 1.5;
}

/* ----------------------------------------------------------
   CABEÇALHO E ACESSOS
   ---------------------------------------------------------- */

.universal-nav a {
    font-size: clamp(.90rem, .86rem + .12vw, 1rem) !important;
    line-height: 1.25 !important;
}

.access-strip span {
    font-size: clamp(.78rem, .74rem + .10vw, .90rem) !important;
    line-height: 1.4 !important;
}

.access-strip b {
    font-size: inherit !important;
}

.page-heading > p {
    font-size: clamp(.95rem, .90rem + .12vw, 1.06rem) !important;
    line-height: 1.55 !important;
}

/* ----------------------------------------------------------
   TÍTULOS SECUNDÁRIOS
   ---------------------------------------------------------- */

.eyebrow {
    font-size: clamp(.72rem, .69rem + .08vw, .82rem) !important;
    line-height: 1.3 !important;
}

.panel-title h2 {
    font-size: clamp(1.25rem, 1.15rem + .25vw, 1.50rem) !important;
    line-height: 1.18 !important;
}

.table-note {
    font-size: clamp(.75rem, .72rem + .08vw, .84rem) !important;
    line-height: 1.35 !important;
}

/* ----------------------------------------------------------
   TABELAS
   Atividade 24h / conectados / módulos / refletores
   ---------------------------------------------------------- */

.table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

main table th {
    font-size: clamp(.75rem, .71rem + .10vw, .84rem) !important;
    line-height: 1.35 !important;
}

main table td {
    font-size: clamp(.81rem, .77rem + .11vw, .94rem) !important;
    line-height: 1.42 !important;
}

/* textos semanticamente pequenos dentro do conteúdo */
main small {
    font-size: clamp(.75rem, .72rem + .08vw, .82rem);
    line-height: 1.4;
}

/* ----------------------------------------------------------
   MONITOR AO VIVO
   Corrige especificamente textos de 7px, 8px, 9px,
   10px e 11px identificados no painel.
   ---------------------------------------------------------- */

body[data-page='ao-vivo'] .last-tx small {
    font-size: .78rem !important;
    line-height: 1.35 !important;
}

body[data-page='ao-vivo'] .last-tx span {
    font-size: .82rem !important;
    line-height: 1.45 !important;
}

body[data-page='ao-vivo'] .identity strong {
    font-size: .94rem !important;
    line-height: 1.35 !important;
}

body[data-page='ao-vivo'] .identity > span {
    font-size: .80rem !important;
    line-height: 1.45 !important;
}

body[data-page='ao-vivo'] .meta b {
    font-size: .72rem !important;
    line-height: 1.25 !important;
}

body[data-page='ao-vivo'] .route-info small {
    font-size: .70rem !important;
    line-height: 1.35 !important;
}

body[data-page='ao-vivo'] .route-info strong {
    font-size: .78rem !important;
    line-height: 1.4 !important;
}

body[data-page='ao-vivo'] .ops-widget b {
    font-size: .95rem !important;
    line-height: 1.3 !important;
}

body[data-page='ao-vivo'] .ops-widget small {
    font-size: .80rem !important;
    line-height: 1.4 !important;
}

body[data-page='ao-vivo'] .ops-numbers span {
    font-size: .80rem !important;
    line-height: 1.35 !important;
}

body[data-page='ao-vivo'] .standby-alert small {
    font-size: .70rem !important;
    line-height: 1.3 !important;
}

body[data-page='ao-vivo'] .standby-alert span {
    font-size: .82rem !important;
    line-height: 1.45 !important;
}

body[data-page='ao-vivo'] .tx-card.live .operator-location small {
    font-size: .72rem !important;
    line-height: 1.3 !important;
}

body[data-page='ao-vivo'] .tx-card.live .operator-location em {
    font-size: .75rem !important;
    line-height: 1.35 !important;
}

/* ----------------------------------------------------------
   FORMULÁRIOS / PESQUISA
   ---------------------------------------------------------- */

main input,
main select,
main textarea {
    font-size: .94rem !important;
    line-height: 1.4 !important;
}

/* ----------------------------------------------------------
   RODAPÉ
   ---------------------------------------------------------- */

footer .footer-panel-version {
    margin: .55rem 0 0;
    font-size: clamp(.84rem, .80rem + .10vw, .94rem) !important;
    line-height: 1.4 !important;
    font-weight: 800;
    color: #eefaff;
}

footer .footer-developed {
    margin: .30rem 0 0;
    font-size: clamp(.84rem, .80rem + .10vw, .94rem) !important;
    line-height: 1.45 !important;
}

footer .footer-developed a {
    font-size: inherit !important;
    font-weight: 850;
    color: #19d9ff;
    text-decoration: none;
}

footer .footer-developed a:hover,
footer .footer-developed a:focus-visible {
    text-decoration: underline;
}

footer .footer-links a {
    font-size: clamp(.82rem, .79rem + .08vw, .91rem) !important;
    line-height: 1.35 !important;
}

footer > small {
    font-size: clamp(.74rem, .71rem + .07vw, .82rem) !important;
    line-height: 1.45 !important;
}

/* ----------------------------------------------------------
   TABLETS / TELAS MÉDIAS
   ---------------------------------------------------------- */

@media (max-width: 900px) {

    .universal-nav a {
        font-size: .90rem !important;
    }

    main table th {
        font-size: .75rem !important;
    }

    main table td {
        font-size: .81rem !important;
    }

    footer .footer-panel-version,
    footer .footer-developed,
    footer .footer-links a {
        font-size: .84rem !important;
    }
}

/* ----------------------------------------------------------
   CELULARES
   ---------------------------------------------------------- */

@media (max-width: 650px) {

    body {
        font-size: .94rem;
    }

    .page-heading > p {
        font-size: .94rem !important;
    }

    main table th {
        font-size: .75rem !important;
    }

    main table td {
        font-size: .81rem !important;
    }

    body[data-page='ao-vivo'] .identity > span,
    body[data-page='ao-vivo'] .last-tx span,
    body[data-page='ao-vivo'] .ops-widget small {
        font-size: .78rem !important;
    }

    footer .footer-panel-version,
    footer .footer-developed,
    footer .footer-links a {
        font-size: .82rem !important;
    }

    footer > small {
        font-size: .74rem !important;
    }
}

/* XLX026_LEGIBILITY_V2_END */

/* XLX_FOOTER_REFINED_V1_START
   Rodapé refinado, visual premium e alinhamento profissional
   ---------------------------------------------------------- */

footer{
    display:grid !important;
    grid-template-columns:minmax(320px,1.2fr) minmax(360px,1fr) !important;
    gap:26px 40px !important;
    align-items:start !important;
    padding:34px 0 18px !important;
    margin-top:26px !important;
    border-top:1px solid rgba(70, 154, 190, .22) !important;
}

footer > div:first-child{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:10px !important;
    min-width:0 !important;
}

footer .footer-brand{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    text-decoration:none !important;
    min-width:0 !important;
}

footer .footer-brand .brand-logo{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    border-radius:50% !important;
    box-shadow:0 0 0 1px rgba(40, 184, 255, .22), 0 8px 22px rgba(0, 0, 0, .28) !important;
}

footer .footer-brand span{
    display:flex !important;
    flex-direction:column !important;
    line-height:1 !important;
}

footer .footer-brand b{
    font-size:1.10rem !important;
    font-weight:900 !important;
    letter-spacing:.01em !important;
    color:#f4fbff !important;
}

footer .footer-brand small{
    margin-top:5px !important;
    font-size:.78rem !important;
    font-weight:800 !important;
    letter-spacing:.20em !important;
    color:#19d9ff !important;
}

footer .footer-panel-version{
    margin:2px 0 0 !important;
    font-size:.96rem !important;
    line-height:1.35 !important;
    font-weight:800 !important;
    color:#eef8fd !important;
}

footer .footer-developed{
    margin:0 !important;
    font-size:.82rem !important;
    line-height:1.45 !important;
    color:#8ca8b8 !important;
}

footer .footer-developed a{
    color:#7fe6ff !important;
    font-size:inherit !important;
    font-weight:750 !important;
    text-decoration:none !important;
}

footer .footer-developed a:hover,
footer .footer-developed a:focus-visible{
    color:#b6f3ff !important;
    text-decoration:underline !important;
}

footer .footer-links{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-end !important;
    align-items:center !important;
    align-self:center !important;
    gap:14px 26px !important;
    min-width:0 !important;
    padding-top:6px !important;
}

footer .footer-links a{
    color:#dbeaf3 !important;
    text-decoration:none !important;
    font-size:.94rem !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    opacity:.94 !important;
    transition:color .18s ease, transform .18s ease, opacity .18s ease !important;
}

footer .footer-links a:hover,
footer .footer-links a:focus-visible{
    color:#1edbff !important;
    opacity:1 !important;
    transform:translateY(-1px) !important;
}

footer > small{
    grid-column:1 / -1 !important;
    display:block !important;
    margin-top:2px !important;
    padding-top:18px !important;
    border-top:1px solid rgba(70, 154, 190, .14) !important;
    font-size:.80rem !important;
    line-height:1.5 !important;
    color:#87a4b4 !important;
    letter-spacing:.01em !important;
}

@media (max-width: 980px){
    footer{
        grid-template-columns:1fr !important;
        gap:22px !important;
    }

    footer .footer-links{
        justify-content:flex-start !important;
        align-self:start !important;
        padding-top:0 !important;
    }
}

@media (max-width: 640px){
    footer{
        padding:28px 0 16px !important;
        gap:18px !important;
    }

    footer .footer-brand .brand-logo{
        width:42px !important;
        height:42px !important;
        min-width:42px !important;
    }

    footer .footer-brand b{
        font-size:1rem !important;
    }

    footer .footer-panel-version{
        font-size:.90rem !important;
    }

    footer .footer-developed{
        font-size:.79rem !important;
    }

    footer .footer-links{
        gap:10px 18px !important;
    }

    footer .footer-links a{
        font-size:.88rem !important;
    }

    footer > small{
        font-size:.76rem !important;
    }
}

/* XLX_FOOTER_REFINED_V1_END */

/* XLX_FOOTER_CENTER_V1_START
   Última linha centralizada e refinada
   ----------------------------------- */

footer .footer-final-line{
    grid-column:1 / -1 !important;

    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    flex-wrap:wrap !important;

    width:100% !important;

    gap:.38rem !important;

    margin:2px 0 0 !important;
    padding-top:18px !important;

    border-top:1px solid rgba(70,154,190,.14) !important;

    text-align:center !important;

    font-size:clamp(.78rem,.75rem + .08vw,.86rem) !important;
    line-height:1.5 !important;

    color:#8faab9 !important;
    letter-spacing:.01em !important;
}

footer .footer-final-line strong{
    color:#dcebf3 !important;
    font-size:inherit !important;
    font-weight:800 !important;
}

footer .footer-final-line .footer-separator{
    color:#3fcce9 !important;
    opacity:.75 !important;
    font-weight:700 !important;
}

footer .footer-final-line a{
    color:#78dff5 !important;
    font-size:inherit !important;
    font-weight:750 !important;
    text-decoration:none !important;

    transition:
        color .18s ease,
        opacity .18s ease !important;
}

footer .footer-final-line a:hover,
footer .footer-final-line a:focus-visible{
    color:#b8f2ff !important;
    text-decoration:underline !important;
}

@media (max-width:650px){

    footer .footer-final-line{
        gap:.28rem .35rem !important;
        padding-top:15px !important;
        font-size:.77rem !important;
    }
}

/* XLX_FOOTER_CENTER_V1_END */

/* XLX_FOOTER_MENU_ONE_LINE_V1_START
   Menu do rodapé sempre em uma única linha
   ----------------------------------------- */

footer .footer-links{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;

    justify-content:flex-end !important;
    align-items:center !important;

    width:100% !important;

    gap:22px !important;

    white-space:nowrap !important;

    overflow-x:auto !important;
    overflow-y:hidden !important;

    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}

footer .footer-links::-webkit-scrollbar{
    display:none;
}

footer .footer-links a{
    flex:0 0 auto !important;
    white-space:nowrap !important;
}

/* Em telas menores continua uma linha.
   Caso não caiba, permite deslizar horizontalmente. */
@media (max-width:980px){

    footer .footer-links{
        justify-content:flex-start !important;
        flex-wrap:nowrap !important;
        gap:20px !important;
    }
}

@media (max-width:650px){

    footer .footer-links{
        gap:18px !important;
        padding-bottom:4px !important;
    }
}

/* XLX_FOOTER_MENU_ONE_LINE_V1_END */

/* XLX_FOOTER_MENU_V3_START
   Menu completo em uma linha
   -------------------------- */

/*
 * Logo ocupa somente o espaço necessário.
 * Menu recebe todo o restante da largura.
 */
footer{
    grid-template-columns:auto minmax(0,1fr) !important;
    column-gap:48px !important;
}

/*
 * Menu desktop.
 */
footer .footer-links{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;

    justify-content:flex-end !important;
    align-items:center !important;

    width:100% !important;
    min-width:0 !important;

    gap:clamp(18px,2vw,32px) !important;

    padding:0 !important;
    margin:0 !important;

    overflow:visible !important;

    white-space:nowrap !important;
}

footer .footer-links a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    flex:0 0 auto !important;

    margin:0 !important;
    padding:5px 0 !important;

    white-space:nowrap !important;
    line-height:1.25 !important;
}

/*
 * Linha inferior continua ocupando toda a largura.
 */
footer .footer-final-line{
    grid-column:1 / -1 !important;
}

/*
 * Tablet:
 * reduz espaço entre links sem esconder o primeiro.
 */
@media (max-width:980px){

    footer{
        grid-template-columns:auto minmax(0,1fr) !important;
        column-gap:26px !important;
    }

    footer .footer-links{
        justify-content:flex-end !important;
        gap:16px !important;
        overflow:visible !important;
    }

    footer .footer-links a{
        font-size:.86rem !important;
    }
}

/*
 * Celular:
 * continua em uma linha.
 * Se fisicamente não couber, começa sempre por "Ao vivo"
 * e permite deslizar para os demais.
 */
@media (max-width:720px){

    footer{
        grid-template-columns:1fr !important;
    }

    footer .footer-links{
        justify-content:flex-start !important;

        width:100% !important;

        gap:18px !important;

        overflow-x:auto !important;
        overflow-y:hidden !important;

        padding:2px 0 6px !important;

        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }

    footer .footer-links::-webkit-scrollbar{
        display:none;
    }

    footer .footer-links a{
        font-size:.84rem !important;
    }
}

/* XLX_FOOTER_MENU_V3_END */

/* XLX_MODULOS_RESPONSIVO_V1_START
   Tabela Identificações de acesso
   Sem barra horizontal + responsiva
   -------------------------------- */

/* ==========================================================
   DESKTOP
   ========================================================== */

.module-reference .table-wrap{
    width:100% !important;
    max-width:100% !important;

    overflow-x:hidden !important;
    overflow-y:visible !important;
}

.module-reference .module-access-table{
    width:100% !important;
    max-width:100% !important;

    min-width:0 !important;

    table-layout:auto !important;
}

.module-reference .module-access-table th,
.module-reference .module-access-table td{
    white-space:normal !important;

    overflow-wrap:normal !important;
    word-break:normal !important;

    vertical-align:middle !important;
}

.module-reference .module-access-table th{
    padding-left:5px !important;
    padding-right:5px !important;
}

.module-reference .module-access-table td{
    padding-left:5px !important;
    padding-right:5px !important;
}

/* Colunas técnicas podem ser um pouco mais compactas. */
.module-reference .module-access-table td:nth-child(n+4),
.module-reference .module-access-table th:nth-child(n+4){
    font-size:.80rem !important;
}

/* ==========================================================
   NOTEBOOK / TABLET
   ========================================================== */

@media (max-width:1100px){

    .module-reference .module-access-table th{
        font-size:.70rem !important;
        padding:7px 4px !important;
        line-height:1.25 !important;
    }

    .module-reference .module-access-table td{
        font-size:.76rem !important;
        padding:8px 4px !important;
        line-height:1.3 !important;
    }

    .module-reference .module-access-table td:nth-child(n+4){
        font-size:.72rem !important;
    }
}

/* ==========================================================
   CELULAR
   A tabela vira cartões.
   Nenhuma informação é removida.
   ========================================================== */

@media (max-width:720px){

    .module-reference{
        width:100% !important;
        max-width:100% !important;
    }

    .module-reference .table-wrap{
        overflow:visible !important;
        width:100% !important;
    }

    .module-reference .module-access-table{
        display:block !important;

        width:100% !important;
        max-width:100% !important;

        min-width:0 !important;
    }

    .module-reference .module-access-table thead{
        display:none !important;
    }

    .module-reference .module-access-table tbody{
        display:grid !important;

        grid-template-columns:1fr !important;

        width:100% !important;

        gap:12px !important;
    }

    .module-reference .module-access-table tbody tr{
        display:grid !important;

        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;

        width:100% !important;

        gap:0 !important;

        padding:10px !important;

        border:1px solid #1a4357 !important;
        border-radius:13px !important;

        background:
            linear-gradient(
                145deg,
                rgba(14,35,48,.98),
                rgba(6,20,29,.98)
            ) !important;
    }

    .module-reference .module-access-table tbody td{
        display:flex !important;

        align-items:center !important;
        justify-content:space-between !important;

        min-width:0 !important;

        gap:10px !important;

        padding:9px 8px !important;

        border-bottom:
            1px solid rgba(39,83,106,.35) !important;

        font-size:.82rem !important;

        text-align:right !important;
    }

    /*
     * Módulo vira o cabeçalho do cartão.
     */
    .module-reference
    .module-access-table
    tbody td:nth-child(1){

        grid-column:1 / -1 !important;

        justify-content:flex-start !important;

        font-size:1.05rem !important;
        font-weight:900 !important;

        color:#ffffff !important;

        border-bottom:
            1px solid rgba(0,216,255,.28) !important;
    }

    /*
     * Rótulos dos dados.
     */
    .module-reference
    .module-access-table
    tbody td::before{

        flex:0 0 auto;

        color:#00d8ff;

        font-size:.68rem;
        font-weight:850;

        letter-spacing:.04em;

        text-align:left;
    }

    .module-reference
    .module-access-table
    tbody td:nth-child(1)::before{
        content:"MÓDULO";
    }

    .module-reference
    .module-access-table
    tbody td:nth-child(2)::before{
        content:"FUNÇÃO";
    }

    .module-reference
    .module-access-table
    tbody td:nth-child(3)::before{
        content:"CONECTADOS";
    }

    .module-reference
    .module-access-table
    tbody td:nth-child(4)::before{
        content:"REF URCALL";
    }

    .module-reference
    .module-access-table
    tbody td:nth-child(5)::before{
        content:"REF DTMF";
    }

    .module-reference
    .module-access-table
    tbody td:nth-child(6)::before{
        content:"XRF URCALL";
    }

    .module-reference
    .module-access-table
    tbody td:nth-child(7)::before{
        content:"XRF DTMF";
    }

    .module-reference
    .module-access-table
    tbody td:nth-child(8)::before{
        content:"DCS URCALL";
    }

    .module-reference
    .module-access-table
    tbody td:nth-child(9)::before{
        content:"DCS DTMF";
    }

    .module-reference
    .module-access-table
    tbody td:nth-child(10)::before{
        content:"DMR";
    }

    .module-reference
    .module-access-table
    tbody td:nth-child(11)::before{
        content:"YSF DG-ID";
    }
}

/* ==========================================================
   CELULAR ESTREITO
   ========================================================== */

@media (max-width:450px){

    .module-reference
    .module-access-table
    tbody tr{

        grid-template-columns:1fr !important;
    }

    .module-reference
    .module-access-table
    tbody td{

        grid-column:1 !important;
    }

    .module-reference
    .module-access-table
    tbody td:nth-child(1){

        grid-column:1 !important;
    }
}

/* XLX_MODULOS_RESPONSIVO_V1_END */



/* XLX026_CONECTADOS_UNIFICADO_V1 */
body[data-page="conectados"] .connected-stations-heading{margin-top:28px}
body[data-page="conectados"] .connected-filter-tools{
 display:grid;grid-template-columns:minmax(260px,1fr) 140px 190px;
 gap:12px;align-items:end;width:720px;max-width:100%
}
body[data-page="conectados"] .connected-filter-tools .search-box{min-width:0}
body[data-page="conectados"] .connected-filter-select select{
 width:100%;background:#071923;border:1px solid #285164;color:white;
 border-radius:10px;padding:12px 14px;font:inherit;outline:none
}
body[data-page="conectados"] .connected-filter-select select:focus{
 border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,216,255,.1)
}
body[data-page="conectados"] .connected-section-title{margin:0;font-size:32px}
@media(max-width:1050px){
 body[data-page="conectados"] .heading-with-tools{align-items:stretch;flex-direction:column}
 body[data-page="conectados"] .connected-filter-tools{grid-template-columns:1fr 1fr;width:100%}
 body[data-page="conectados"] .connected-filter-search{grid-column:1/-1}
}
@media(max-width:720px){
 body[data-page="conectados"] .connected-filter-tools{grid-template-columns:1fr}
 body[data-page="conectados"] .connected-filter-search{grid-column:auto}
 body[data-page="conectados"] .connected-section-title{font-size:28px}
}
/* /XLX026_CONECTADOS_UNIFICADO_V1 */


/* ==================================================================
   XLX026_CONECTADOS_LEGIBILIDADE_V2
   Escopo: SOMENTE body[data-page="conectados"]
   ================================================================== */

/* Filtros: maior presença sem mudar a estrutura */
body[data-page="conectados"] .connected-filter-tools{
  grid-template-columns:minmax(280px,1fr) 150px 200px;
  width:760px;
  gap:12px;
}

body[data-page="conectados"] .connected-filter-tools .search-box > span{
  font-weight:700;
  letter-spacing:.04em;
}

body[data-page="conectados"] .connected-filter-tools input,
body[data-page="conectados"] .connected-filter-tools select{
  min-height:44px;
}

/* Tabela principal: leitura mais confortável */
body[data-page="conectados"] .connected-table{
  width:100%;
}

body[data-page="conectados"] .connected-table th{
  line-height:1.25;
  vertical-align:bottom;
}

body[data-page="conectados"] .connected-table td{
  line-height:1.4;
}

body[data-page="conectados"] .connected-table th,
body[data-page="conectados"] .connected-table td{
  padding-top:10px;
  padding-bottom:10px;
}

/* Cabeçalho fixo somente no desktop */
@media (min-width:1001px){
  body[data-page="conectados"] .connected-table-panel{
    overflow:visible;
  }

  body[data-page="conectados"] .connected-table-panel > .table-wrap{
    overflow:visible;
  }

  body[data-page="conectados"] .connected-table thead th{
    position:sticky;
    top:0;
    z-index:20;
    background:#0b2230;
    box-shadow:
      0 1px 0 rgba(0,216,255,.24),
      0 8px 16px rgba(0,0,0,.16);
  }
}

/* Tablets: filtros e tabelas sem compressão */
@media (max-width:1000px){
  body[data-page="conectados"] .connected-filter-tools{
    width:100%;
    grid-template-columns:1fr 1fr;
  }

  body[data-page="conectados"] .connected-filter-search{
    grid-column:1/-1;
  }

  body[data-page="conectados"] .module-reference .table-wrap,
  body[data-page="conectados"] .connected-table-panel .table-wrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  body[data-page="conectados"] .module-access-table{
    min-width:900px;
  }

  body[data-page="conectados"] .connected-table{
    min-width:980px;
  }
}

/* Celular: um filtro por linha e áreas de toque confortáveis */
@media (max-width:720px){
  body[data-page="conectados"] .connected-filter-tools{
    grid-template-columns:1fr;
    gap:10px;
  }

  body[data-page="conectados"] .connected-filter-search{
    grid-column:auto;
  }

  body[data-page="conectados"] .connected-filter-tools input,
  body[data-page="conectados"] .connected-filter-tools select{
    min-height:46px;
  }

  body[data-page="conectados"] .module-reference{
    padding-left:14px;
    padding-right:14px;
  }

  body[data-page="conectados"] .connected-table-panel{
    padding-left:10px;
    padding-right:10px;
  }

  body[data-page="conectados"] .module-access-table{
    min-width:860px;
  }

  body[data-page="conectados"] .connected-table{
    min-width:940px;
  }
}

/* /XLX026_CONECTADOS_LEGIBILIDADE_V2 */
