:root{font-family:Inter,Segoe UI,sans-serif;color:#f5f8fc;background:#020a13;font-synthesis:none;--bg:#020a13;--panel:#071829;--panel2:#091e32;--line:#173049;--muted:#8ea3b7;--blue:#0785ff;--cyan:#24a4ff;--green:#2fd47a;--danger:#ff5a68}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%;background:var(--bg)}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.brand{font:700 27px/1 Manrope,sans-serif;display:flex;align-items:center;gap:11px;white-space:nowrap}.brand-mark{width:40px;height:40px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#19bdff,#1262ff);border-radius:10px 17px 17px 10px}.brand-mark svg{width:23px}.rail-label{font-size:12px;color:var(--muted);letter-spacing:.06em;margin:37px 8px 12px}.icon-button,.row-actions button,.star-button{border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.primary-button,.secondary-button,.danger-button{height:46px;padding:0 18px;border-radius:7px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;cursor:pointer}.primary-button{background:#086cf1;color:#fff}.primary-button:hover{background:#1683ff}.primary-button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{background:transparent;border-color:#294158}.danger-button{background:#31151d;border-color:#6d2633;color:#ff8790}.primary-button svg,.danger-button svg{width:18px}.channel-logo{width:56px;height:56px;object-fit:cover;border-radius:7px;flex:none}.channel-logo.fallback{display:grid;place-items:center;font:800 21px/1 Manrope,sans-serif;color:#fff;text-shadow:0 1px 5px #0004}.channel-logo.large{width:88px;height:88px;border-radius:10px;font-size:27px}

.tv-app{min-height:100vh;display:grid;grid-template-columns:270px 1fr;background:radial-gradient(circle at 88% 40%,#092646 0,transparent 30%),#020a13;overflow:hidden}.tv-sidebar{height:100vh;padding:29px 25px 24px;border-right:1px solid #1c3146;display:flex;flex-direction:column;background:#020b15}.tv-nav{display:flex;flex-direction:column;gap:3px}.tv-nav button{height:46px;border:1px solid transparent;background:transparent;border-radius:7px;display:flex;align-items:center;gap:16px;padding:0 13px;font-size:16px;color:#e9eef4;cursor:pointer;text-align:left}.tv-nav button svg{width:22px;color:#d9e3ed;stroke-width:1.8}.tv-nav button.active{border-color:#087eff;background:#092c58;box-shadow:0 0 17px #087eff50}.tv-search{height:47px;border:1px solid #18334e;background:#0a1d30;border-radius:7px;display:flex;align-items:center;gap:12px;padding:0 14px;margin-top:auto}.tv-search svg{width:20px;color:#8ea4b9}.tv-search input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:15px}.tv-main{height:100vh;padding:0 27px 23px;min-width:0}.tv-header{height:89px;display:flex;align-items:center;justify-content:space-between}.tv-header h1{font:600 20px Manrope,sans-serif;margin:0}.tv-header h1 span{font-weight:500;color:#2d9dff;background:#0b223a;border-radius:18px;padding:4px 10px;margin-left:8px}.tv-header>div{display:flex;align-items:center;gap:20px;color:#178fff}.tv-header b{font-size:15px}.tv-header i{height:28px;width:1px;background:#617184}.tv-header strong{font-size:24px}.tv-content{height:calc(100vh - 120px);display:grid;grid-template-columns:minmax(520px,1.34fr) minmax(370px,1fr);gap:16px}.channel-list,.schedule-panel{border:1px solid #0e263c;background:linear-gradient(135deg,#061424,#081c30);border-radius:10px;overflow:hidden}.channel-list{display:flex;flex-direction:column}.channel-row{min-height:calc((100vh - 122px)/7);display:grid;grid-template-columns:66px 1fr 45px;align-items:center;padding:9px 15px 9px 20px;border-bottom:1px solid #14283b;cursor:pointer;position:relative}.channel-row:hover{background:#0a1d32}.channel-row.selected{z-index:1;background:#081f39;box-shadow:inset 0 0 0 1px #0b8bff,0 0 16px #087eff45;border-radius:8px}.channel-copy h2{margin:0 0 6px;font:600 19px Manrope,sans-serif}.channel-copy h2 span{font-weight:500}.channel-copy p{margin:0 0 7px;color:#d5dde6;font-size:14px;display:flex;gap:18px}.channel-copy p b{color:#25a2ff;font-weight:500}.progress{width:82%;height:3px;background:#25394f;border-radius:2px;overflow:hidden}.progress span{display:block;height:100%;background:#0785ff}.star-button{color:#7c91a4}.star-button svg{width:27px;height:27px}.star-button.favorite{color:#168eff}.schedule-panel{padding:22px 27px}.schedule-panel h2{margin:0 0 24px;color:#2198ff;font-size:16px}.schedule-panel h3{font-size:14px;color:#2a9fff;font-weight:600;padding-bottom:15px;border-bottom:1px solid #24384b;margin:0 0 10px}.schedule-list{padding-bottom:16px}.schedule-list div{height:41px;display:grid;grid-template-columns:66px 1fr;align-items:center;font-size:14px;position:relative}.schedule-list .on-air{color:#39a9ff}.schedule-list .on-air:before{content:"";position:absolute;left:-27px;width:3px;height:31px;background:#1198ff}.schedule-list.muted{color:#c5ced8}.empty-state{margin:auto;text-align:center;color:var(--muted)}.empty-state svg{width:42px;height:42px}.empty-state h2{color:#fff}.remote-hint{position:fixed;bottom:7px;right:28px;display:flex;gap:20px;color:#668199;font-size:11px}.remote-hint kbd{background:#13283d;border:1px solid #29425b;padding:2px 5px;border-radius:3px;margin-right:3px}.player-overlay{position:fixed;inset:0;background:#000d;z-index:50;display:grid;place-items:center;padding:5vh}.player-shell{position:relative;width:min(1200px,90vw);aspect-ratio:16/9;background:#000;border:1px solid #193d60;box-shadow:0 28px 90px #000;border-radius:12px;overflow:hidden}.player-shell video{width:100%;height:100%;display:block}.player-close{position:absolute;right:15px;top:15px;z-index:2;width:42px;height:42px;border-radius:50%;background:#081625cc}.player-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aebdca}.player-empty h2{color:#fff;margin:20px 0 4px}.player-meta{position:absolute;bottom:0;left:0;right:0;padding:40px 24px 20px;background:linear-gradient(transparent,#000c);display:flex;gap:14px;align-items:center}.player-meta span:last-child{color:#afbdc9}.player-error{position:absolute;top:20px;left:20px;background:#6f1722;padding:10px 15px;border-radius:6px}

.admin-app{min-height:100vh;display:grid;grid-template-columns:235px 1fr;background:radial-gradient(circle at 60% 0,#07233b 0,transparent 42%),#020b15}.admin-sidebar{height:100vh;padding:24px 21px 23px;border-right:1px solid #193047;display:flex;flex-direction:column}.admin-sidebar nav{display:flex;flex-direction:column;gap:4px;min-height:0;overflow:auto}.admin-sidebar nav button{height:50px;min-height:50px;background:transparent;border:0;border-radius:7px;padding:0 12px;display:flex;gap:14px;align-items:center;color:#cad5df;cursor:pointer}.admin-sidebar nav button svg{width:20px;stroke-width:1.8}.admin-sidebar nav button.active{background:#0a315e;color:#fff}.tv-mode-button{margin-top:auto;height:50px;min-height:50px;border:1px solid #0785ff;border-radius:7px;background:transparent;color:#1997ff;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer}.tv-mode-button svg{width:19px}.logout-panel-button{margin-top:8px;border-color:#3c5368;color:#b9c8d5}.admin-main{min-width:0;height:100vh;overflow:auto}.channels-workspace{min-height:100%;display:grid;grid-template-columns:minmax(690px,1fr) 430px;position:relative}.admin-content{padding:26px 28px}.admin-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.admin-title h1,.simple-panel h1{font:700 28px Manrope,sans-serif;margin:0 0 4px}.admin-title p,.simple-panel>p{margin:0;color:#a3b2c0}.admin-toolbar{display:grid;grid-template-columns:1fr 220px;gap:13px;margin-bottom:20px}.admin-toolbar label{display:flex;align-items:center;gap:10px;padding:0 14px;height:46px;border:1px solid #274057;border-radius:7px}.admin-toolbar label svg{width:19px;color:#90a4b8}.admin-toolbar input{width:100%;border:0;outline:0;background:transparent;color:#fff}.admin-toolbar select,.form-grid select{background:#061728;color:#fff;border:1px solid #274057;border-radius:7px;padding:0 14px}.channel-table{border:1px solid #1d3851;border-radius:9px;overflow:hidden;background:#061625}.table-head,.table-row{display:grid;grid-template-columns:minmax(250px,1.5fr) minmax(100px,.8fr) minmax(145px,1fr) 90px 70px;align-items:center}.table-head{height:43px;padding:0 14px 0 50px;border-bottom:1px solid #1d3851;font-size:10px;color:#a9b8c6}.table-row{min-height:72px;border-bottom:1px solid #173047;padding:7px 14px;cursor:pointer;font-size:13px}.table-row:last-child{border-bottom:0}.table-row:hover{background:#081d31}.table-row.selected{box-shadow:inset 0 0 0 1px #0a82ff;background:#08203a}.table-channel{display:flex;align-items:center;gap:12px}.table-channel>svg{width:16px;color:#7f95a9}.table-channel .channel-logo{width:48px;height:48px;font-size:15px}.table-channel span{display:flex;flex-direction:column;gap:4px}.table-channel b{font-weight:500}.epg-status{display:flex;align-items:center;gap:8px;color:#b9c5cf}.epg-status i{width:6px;height:6px;background:#29d874;border-radius:50%}.switch{width:44px;height:24px;border:0;background:#263b4e;border-radius:20px;padding:3px;cursor:pointer}.switch span{display:block;width:18px;height:18px;border-radius:50%;background:#dce5ed;transition:transform .2s}.switch.on{background:#087cf2}.switch.on span{transform:translateX(20px);background:#fff}.row-actions{display:flex}.row-actions button{width:30px;height:32px;color:#c9d5df}.row-actions svg{width:17px}.table-count{font-size:12px;color:#9eafbf;margin:18px 0}.edit-drawer{height:100vh;position:sticky;top:0;border-left:1px solid #1e384f;background:#061524;display:flex;flex-direction:column}.edit-drawer header{height:70px;padding:0 25px;border-bottom:1px solid #1d344a;display:flex;align-items:center;justify-content:space-between}.edit-drawer h2{font-size:18px;margin:0}.edit-drawer .icon-button{width:35px;height:35px}.form-scroll{padding:19px 25px;overflow:auto;display:flex;flex-direction:column;gap:17px}.form-scroll label,.simple-panel label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#c8d3dd}.form-scroll input,.form-scroll select,.simple-panel input,.simple-panel textarea{height:42px;border:1px solid #294157;background:#071a2b;color:#fff;border-radius:6px;padding:0 12px}.form-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:12px}.logo-upload{height:102px;display:flex;gap:14px;position:relative}.logo-upload span{flex:1;border:1px dashed #3b566e;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9fb0c0;text-align:center}.logo-upload span svg{width:24px;margin-bottom:4px}.logo-upload span b{font-size:12px}.logo-upload span small{margin-top:4px}.logo-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.switch-line{display:flex;align-items:center;justify-content:space-between;padding-top:5px}.switch-line div{display:flex;flex-direction:column;gap:5px}.switch-line small{color:#879bac}.edit-drawer footer{margin-top:auto;border-top:1px solid #1e364c;padding:18px 25px;display:grid;grid-template-columns:1fr 1.45fr;gap:12px}.toast{position:fixed;top:15px;left:50%;transform:translateX(-50%);background:#063421;border:1px solid #0d5135;border-radius:7px;padding:14px 18px;display:flex;align-items:center;gap:10px;z-index:5}.toast svg{width:20px;color:#34d982}.simple-panel{max-width:1020px;padding:36px 45px}.simple-panel>p{margin-bottom:28px}.simple-panel textarea{height:280px;padding:14px;resize:vertical;font-family:ui-monospace,Consolas,monospace;line-height:1.5}.simple-panel label{margin:20px 0}.notice{display:flex;align-items:center;gap:13px;background:#08243c;border:1px solid #124a75;border-radius:8px;padding:15px;color:#b9d9f3}.notice svg{color:#35a8ff}.success-message{margin-top:17px!important;color:#4be396!important}.inline-form{display:flex;gap:10px;max-width:650px}.inline-form input{flex:1}.category-list{margin-top:25px;max-width:650px;border:1px solid #213a52;border-radius:9px;overflow:hidden}.category-list div{height:58px;padding:0 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #193149}.category-list div:last-child{border:0}.category-list div span{flex:1}.category-list div button{border:0;background:transparent;color:#8ea2b5;cursor:pointer}.category-list svg{width:19px}.panel-users-list{max-width:920px}.panel-users-list div{height:auto;min-height:70px}.panel-users-list span{display:flex;flex-direction:column;gap:5px}.panel-users-list small{color:#8fa3b6}.panel-users-list select{height:38px;border:1px solid #294157;background:#071a2b;color:#fff;border-radius:6px;padding:0 10px}.overview-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #213c55;border-radius:10px;overflow:hidden}.overview-strip div{min-height:165px;padding:25px;display:flex;flex-direction:column;gap:8px;border-right:1px solid #213c55}.overview-strip div:last-child{border:0}.overview-strip svg{color:#209dff}.overview-strip strong{font:700 38px Manrope}.overview-strip span{color:#91a7ba}.activity-box{margin-top:24px;padding:25px;border:1px solid #213c55;background:#07192a;border-radius:9px}.activity-box h2{margin:0 0 8px}.activity-box p{color:#95a8ba;margin:0}

@media(max-width:1100px){.tv-app{grid-template-columns:210px 1fr}.tv-sidebar{padding-left:16px;padding-right:16px}.tv-content{grid-template-columns:1fr}.schedule-panel{display:none}.channels-workspace{grid-template-columns:1fr}.edit-drawer{position:fixed;right:0;top:0;width:min(430px,95vw);z-index:10;box-shadow:-30px 0 70px #000a}.table-head,.table-row{grid-template-columns:minmax(240px,1.5fr) 120px 145px 75px 60px}}@media(max-width:760px){.admin-app{grid-template-columns:72px 1fr}.admin-sidebar{padding:18px 10px}.admin-sidebar .brand span:last-child,.admin-sidebar .rail-label,.admin-sidebar nav button:not(.active){font-size:0}.admin-sidebar .brand-mark{width:40px}.admin-sidebar nav button{justify-content:center;padding:0}.admin-sidebar nav button.active{font-size:0}.tv-mode-button{font-size:0}.admin-content{padding:20px 14px}.admin-title{align-items:flex-start}.admin-title p{display:none}.admin-toolbar{grid-template-columns:1fr}.channel-table{overflow-x:auto}.table-head,.table-row{min-width:760px}.simple-panel{padding:28px 20px}.overview-strip{grid-template-columns:1fr}.overview-strip div{border-right:0;border-bottom:1px solid #213c55}.tv-app{grid-template-columns:76px 1fr}.tv-sidebar{padding:16px 9px}.tv-sidebar .brand span:last-child,.tv-sidebar .rail-label,.tv-nav button{font-size:0}.tv-sidebar .brand-mark{width:40px}.tv-nav button{justify-content:center;padding:0}.tv-search{padding:0;justify-content:center}.tv-search input{display:none}.tv-main{padding:0 10px}.tv-header>div b,.tv-header>div i{display:none}.tv-content{grid-template-columns:1fr}.channel-row{grid-template-columns:58px 1fr 40px}.channel-copy p{gap:8px}.channel-copy p b{display:none}.progress{width:95%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Remote application-domain management */
.app-domains-panel{max-width:1180px}.app-domains-panel>.notice{margin-bottom:20px}.app-domain-list{display:flex;flex-direction:column;gap:10px}.app-domain-list article{position:relative;display:grid;grid-template-columns:42px minmax(300px,1fr) 82px minmax(190px,auto) 48px;align-items:center;gap:12px;padding:16px;border:1px solid #1e3a53;border-radius:10px;background:#061727}.domain-priority{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#0a315e;border:1px solid #126fc9;color:#79c1ff;font-weight:800}.app-domain-list label{display:flex;flex-direction:column;gap:6px}.app-domain-list label small{font-size:10px;letter-spacing:.08em;color:#7fa3c2}.app-domain-list input{width:100%;height:44px;border:1px solid #294a66;border-radius:7px;background:#04111d;color:#fff;padding:0 13px}.domain-order{display:flex;gap:5px}.domain-order button{width:38px;height:38px;border:1px solid #294158;border-radius:6px;background:#0a1e30;display:grid;place-items:center;cursor:pointer}.domain-order button:disabled{opacity:.25;cursor:not-allowed}.domain-order svg{width:17px}.domain-remove{width:46px;padding:0}.domain-test{position:absolute;right:76px;bottom:3px;font-size:10px;color:#9db0c0}.domain-test.online{color:#42db87}.domain-test.offline{color:#ff7d87}.routes-save{margin-top:20px;display:flex;align-items:center;gap:17px}.routes-save p{color:#a7bacb;margin:0}
.app-domain-group{margin:0 0 22px;padding:18px;border:1px solid #183650;border-radius:12px;background:#041320}.app-domain-group-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}.app-domain-group-title h2{margin:0 0 4px;font-size:17px}.app-domain-group-title p{margin:0;color:#819bb0;font-size:12px}.app-domain-group-title .secondary-button{flex:0 0 auto}
@media(max-width:900px){.app-domain-list article{grid-template-columns:38px 1fr 80px 46px}.app-domain-list article>.secondary-button{grid-column:2/5}.domain-test{display:none}}
.panel-login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 0,#0a3158 0,transparent 42%),linear-gradient(145deg,#020912,#041524);color:#fff}.panel-login-card{width:min(430px,100%);padding:38px 40px 30px;border:1px solid #23435e;border-radius:16px;background:linear-gradient(155deg,rgba(9,32,52,.98),rgba(4,18,31,.98));box-shadow:0 28px 80px #0009;display:flex;flex-direction:column}.panel-login-brand{display:flex;justify-content:center;padding-bottom:27px;border-bottom:1px solid #1d3850}.panel-login-brand .brand{margin:0}.panel-login-brand .brand-mark{width:54px;height:54px}.panel-login-heading{text-align:center;padding:27px 0 8px}.panel-login-heading>span{font-size:10px;font-weight:800;letter-spacing:2px;color:#42a7ff}.panel-login-heading h1{margin:9px 0 7px;font:700 27px Manrope,sans-serif}.panel-login-heading p{margin:0;color:#91a6b8;font-size:14px}.panel-login-fields{display:flex;flex-direction:column;gap:17px;margin-top:22px}.panel-login-fields label{display:flex;flex-direction:column;gap:8px;color:#cbd6df;font-size:12px;font-weight:650}.panel-login-fields input{width:100%;height:48px;border:1px solid #2b4860;border-radius:8px;background:#061827;color:#fff;padding:0 14px;font-size:15px;outline:0}.panel-login-fields input:focus{border-color:#168cff;box-shadow:0 0 0 3px #168cff20}.panel-login-fields input::placeholder{color:#657b8e}.panel-login-submit{height:49px;margin-top:23px;justify-content:center;font-size:14px}.panel-login-message{text-align:center;margin:14px 0 0!important;color:#efb84d}.panel-login-security{margin-top:24px;padding-top:19px;border-top:1px solid #1d3850;display:flex;align-items:center;justify-content:center;gap:7px;color:#71889b}.panel-login-security svg{width:15px}.panel-login-loading{align-items:center;text-align:center;gap:20px}.panel-login-loading p{margin:0;color:#91a6b8}@media(max-width:520px){.panel-login-page{padding:16px}.panel-login-card{padding:30px 24px 25px;border-radius:12px}}
.p2p-panel{max-width:1220px}.p2p-health{display:flex;align-items:center;gap:13px;padding:17px 19px;border:1px solid #28445b;border-radius:10px;background:#07192a}.p2p-health.online{border-color:#17643e;background:#07271b}.p2p-health.offline{border-color:#70313a;background:#2a1118}.p2p-health-dot{width:11px;height:11px;border-radius:50%;background:#ff6471;box-shadow:0 0 14px #ff647188}.p2p-health.online .p2p-health-dot{background:#35df83;box-shadow:0 0 14px #35df8388}.p2p-health div{display:flex;flex-direction:column;gap:4px}.p2p-health small{color:#91a8ba}.p2p-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:18px 0}.p2p-grid article{min-height:145px;padding:22px;border:1px solid #203c54;border-radius:10px;background:linear-gradient(145deg,#071b2c,#061522);display:flex;flex-direction:column}.p2p-grid svg{width:22px;color:#219cff}.p2p-grid strong{font:700 35px Manrope,sans-serif;margin-top:auto}.p2p-grid span{color:#91a7ba;font-size:13px}.p2p-flow,.p2p-endpoints article{border:1px solid #203c54;border-radius:10px;background:#061625}.p2p-flow{padding:24px}.p2p-flow h2{margin:0 0 18px;font-size:18px}.p2p-flow>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.p2p-flow>div span{padding:12px 16px;border:1px solid #27506e;border-radius:7px;background:#09233a}.p2p-flow>div b{color:#209dff}.p2p-flow p{margin:18px 0 0;color:#91a7ba}.p2p-endpoints{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:18px 0}.p2p-endpoints article{padding:18px;display:flex;flex-direction:column;gap:8px}.p2p-endpoints small{color:#73a5cc;letter-spacing:.06em}.p2p-endpoints strong{word-break:break-all}.p2p-error{border-color:#70313a;background:#2a1118}@media(max-width:900px){.p2p-grid{grid-template-columns:1fr 1fr}.p2p-endpoints{grid-template-columns:1fr}}@media(max-width:560px){.p2p-grid{grid-template-columns:1fr}}
.stream-integration-panel{max-width:1220px}.stream-sync-grid{grid-template-columns:repeat(3,1fr)}.stream-sync-actions{display:flex;gap:12px;margin-top:20px}.stream-sync-message{margin-top:18px}@media(max-width:700px){.stream-sync-grid{grid-template-columns:1fr}.stream-sync-actions{flex-direction:column}}
.update-history{margin-top:24px;padding-top:24px;border-top:1px solid rgba(148,163,184,.18)}
.update-history>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.update-history>header h2{margin:0 0 4px}
.update-history>header p{margin:0;color:#94a3b8}
.update-history-list{display:grid;gap:10px}
.update-history-list article{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 16px;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:rgba(8,28,45,.72)}
.update-history-list article.published{border-color:rgba(34,197,94,.55);background:rgba(4,70,45,.28)}
.update-history-list article>div{display:flex;align-items:center;gap:9px}
.update-history-list article strong{font-size:1.05rem;color:#f8fafc}
.update-history-list article span{padding:3px 7px;border-radius:999px;background:rgba(148,163,184,.16);font-size:.68rem;font-weight:800;letter-spacing:.04em;color:#cbd5e1}
.update-history-list article.published span{background:rgba(34,197,94,.18);color:#86efac}
.update-history-list article p{margin:0;color:#dbeafe;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.update-history-list article small{color:#94a3b8;text-align:right;white-space:nowrap}
@media(max-width:900px){.update-history-list article{grid-template-columns:1fr}.update-history-list article p{white-space:normal}.update-history-list article small{text-align:left}.update-history>header{flex-direction:column}}
.secure-identities-panel{max-width:1220px}.secure-identity-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.secure-identity-summary button{min-height:112px;padding:17px;border:1px solid #203c54;border-radius:10px;background:#061625;color:#fff;display:grid;grid-template-columns:32px 1fr;grid-template-rows:1fr auto;align-items:center;text-align:left;cursor:pointer}.secure-identity-summary button.selected{border-color:#158dff;background:#0a2b4b}.secure-identity-summary svg{width:23px;color:#249cff}.secure-identity-summary strong{font:700 32px Manrope,sans-serif}.secure-identity-summary span{grid-column:1/3;color:#91a7ba}.secure-identity-search{height:48px!important;margin:0 0 18px!important;padding:0 14px;border:1px solid #294157;border-radius:8px;background:#061625;display:flex!important;flex-direction:row!important;align-items:center;gap:10px}.secure-identity-search svg{width:19px;color:#6fa6cf}.secure-identity-search input{height:auto!important;flex:1;border:0!important;background:transparent!important}.secure-identity-list{display:grid;gap:12px}.secure-identity-list article{padding:18px;border:1px solid #1e3b53;border-radius:11px;background:linear-gradient(145deg,#071a2a,#061522)}.secure-identity-list article.blocked{border-color:#793541;background:linear-gradient(145deg,#29131a,#111723)}.secure-identity-list article>header{display:flex;justify-content:space-between;gap:18px}.secure-identity-list article>header>div{display:flex;flex-direction:column;gap:5px}.secure-identity-list article>header span{color:#8fa8ba;font-size:13px}.secure-identity-list code{color:#a8d8ff}.identity-status{height:27px;padding:0 10px;border-radius:999px;display:flex;align-items:center;background:#123b2b;color:#63e6a0;font-size:10px;letter-spacing:.06em}.identity-status.blocked{background:#4a1d26;color:#ff9099}.secure-identity-keys{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px;margin:15px 0}.secure-identity-keys span{padding:11px;border:1px solid #203a50;border-radius:7px;background:#04121e;display:flex;flex-direction:column;gap:6px}.secure-identity-keys small{color:#7794aa;font-size:9px;letter-spacing:.07em}.secure-identity-keys b{font-size:12px}.secure-identity-reason{display:flex;align-items:center;gap:8px;color:#ff9ba3}.secure-identity-reason svg{width:17px}.secure-identity-list footer{display:flex;gap:9px;margin-top:14px}.secure-identity-edit{display:grid;grid-template-columns:1fr 1.4fr auto auto;gap:9px;margin-top:14px}.secure-identity-edit input{margin:0!important}.secure-identity-limit{color:#91a7ba;text-align:center}.empty-admin svg{width:22px;margin-right:8px}@media(max-width:850px){.secure-identity-summary{grid-template-columns:1fr 1fr}.secure-identity-keys,.secure-identity-edit{grid-template-columns:1fr}.secure-identity-list footer{flex-direction:column}}@media(max-width:520px){.secure-identity-summary{grid-template-columns:1fr}}
.native-video-visible,
.native-video-visible body,
.native-video-visible #root,
.native-video-visible .tv-stage,
.tv-app.guide-hidden {
  background: transparent !important;
}

.tv-app.guide-hidden > .tv-sidebar,
.tv-app.guide-hidden > .tv-main {
  visibility: hidden;
}

.inline-player-active {
  position: fixed;
  inset: 0;
  z-index: 60;
  pointer-events: none;
}

.inline-player-info {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 24px;
  min-height: 96px;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  gap: 18px;
  background: linear-gradient(90deg, #061625f2, #061625c9 68%, transparent);
  border-left: 3px solid #168fff;
}

.inline-player-info .channel-logo { width: 66px; height: 66px; }
.inline-player-info div { display: flex; flex-direction: column; gap: 4px; }
.inline-player-info b { font-size: 22px; }
.inline-player-info span { font-size: 16px; color: #dbe6ef; }
.inline-player-info small { font-size: 12px; color: #7da0bd; }

.inline-player-options {
  pointer-events: auto;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 390px;
  padding: 48px 30px;
  background: #06192cf5;
  border-right: 1px solid #1977bd;
}

.inline-player-options h2 { margin: 0 0 8px; font-size: 23px; }
.inline-player-options > p { margin: 0 0 30px; color: #78a7ca; }
.inline-player-options button {
  width: 100%;
  height: 82px;
  margin-bottom: 12px;
  padding: 12px 18px;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid #183d5d;
  border-radius: 9px;
  background: #092239;
  color: #dbe6ef;
}
.inline-player-options button.selected {
  border-color: #279eff;
  background: #0c5594;
  box-shadow: 0 0 18px #087eff45;
}
.inline-player-options small { font-size: 12px; letter-spacing: .06em; color: #83b9df; }
.inline-player-options strong { margin-top: 5px; font-size: 18px; }

.native-guide-launching {
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: #020a13;
  color: #7897b0;
}
.native-guide-launching img { width: 64px; height: 64px; border-radius: 14px; }
.native-guide-launching span { font-size: 13px; }
.sync-chip {
  margin-top: auto;
  margin-bottom: 12px;
  padding: 8px 10px;
  border-radius: 6px;
  background: #081b2b;
  color: #91a6b9;
  font-size: 11px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.sync-chip span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #73889b;
}

.sync-chip.connected { color: #75e8a7; }
.sync-chip.connected span { background: #2fd47a; box-shadow: 0 0 8px #2fd47a88; }
.sync-chip.connecting span { background: #f4b740; }
.admin-sidebar .tv-mode-button { margin-top: 0; }

.connection-card {
  display: flex;
  align-items: center;
  gap: 15px;
  max-width: 650px;
  padding: 18px;
  border: 1px solid #294159;
  border-radius: 9px;
  background: #071a2b;
}

.connection-card svg { width: 28px; color: #ff747e; }
.connection-card.connected { border-color: #166442; background: #08261c; }
.connection-card.connected svg { color: #3bdd83; }
.connection-card div { display: flex; flex-direction: column; gap: 4px; }
.connection-card span { color: #8fa4b6; font-size: 12px; }
.server-settings label { max-width: 650px; }
.server-settings input { font-family: ui-monospace, Consolas, monospace; }
.settings-actions { display: flex; gap: 12px; }
.activity-box b { color: #25a2ff; word-break: break-all; }

.tv-sync-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #73889b;
  margin-right: -14px;
}

.tv-sync-dot.connected { background: #2fd47a; box-shadow: 0 0 8px #2fd47a88; }
.tv-sync-dot.connecting { background: #f4b740; }

.startup-splash {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 50% 42%, #0b4b83 0, #06213d 24%, transparent 52%),
    linear-gradient(145deg, #020812, #020f1c 55%, #04182a);
  color: #fff;
}
.startup-brand { display: flex; flex-direction: column; align-items: center; text-align: center; }
.startup-brand .brand-mark { width: 120px; height: 120px; width: clamp(76px, 8vw, 130px); height: clamp(76px, 8vw, 130px); border-radius: 25%; filter: drop-shadow(0 0 32px #0785ffaa); }
.startup-brand .brand-mark svg { width: 58%; }
.startup-brand h1 { margin: 22px 0 5px; font: 800 46px Manrope, sans-serif; font-size: clamp(34px, 4vw, 66px); letter-spacing: -.04em; }
.startup-brand p { margin: 0; color: #83a9c8; font-size: 16px; font-size: clamp(13px, 1.3vw, 20px); }
.startup-progress { width: 520px; max-width: 72vw; margin-top: 58px; margin-top: clamp(46px, 8vh, 90px); display: flex; align-items: center; gap: 18px; }
.startup-progress > div { height: 7px; flex: 1; overflow: hidden; border-radius: 8px; background: #17344e; box-shadow: inset 0 1px 3px #0008; }
.startup-progress span { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left center; border-radius: inherit; background: linear-gradient(90deg, #087eff, #24b4ff); box-shadow: 0 0 16px #119cff; transition: transform .05s linear; will-change: transform; }
.startup-progress strong { min-width: 48px; color: #54b7ff; font: 700 16px ui-monospace, Consolas, monospace; }
.startup-sync-status { min-height: 48px; margin-top: 16px; display: flex; align-items: center; gap: 14px; color: #7fa2be; font-size: 13px; }
.startup-sync-status button { height: 38px; padding: 0 16px; border: 1px solid #2a96e8; border-radius: 7px; background: #0a3156; color: #fff; font-weight: 700; }
.startup-sync-status button.focused { outline: 3px solid #83caff; outline-offset: 2px; }

.startup-update {
  position: fixed;
  left: 50%;
  bottom: clamp(24px, 5vh, 54px);
  z-index: 5;
  width: min(760px, 82vw);
  min-height: 142px;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  padding: 22px 24px;
  border: 1px solid #238fe7;
  border-radius: 14px;
  background: #061a2cee;
  box-shadow: 0 22px 70px #000b;
}
.startup-update > svg { width: 42px; height: 42px; padding: 10px; border-radius: 50%; background: #0c3d68; color: #38a9ff; }
.startup-update span { color: #39aaff; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.startup-update h2 { margin: 5px 0 4px; font: 750 24px Manrope, sans-serif; }
.startup-update p { margin: 0; color: #9eb4c7; font-size: 13px; }
.startup-update small { display: block; margin-top: 8px; color: #65c5ff; }
.startup-update small.error { color: #ff7b84; }
.startup-update footer { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 12px; margin-top: 4px; }
.startup-update button { min-width: 145px; height: 44px; padding: 0 18px; border: 1px solid #31536f; border-radius: 7px; background: #0b2236; color: #d6e2ec; font-weight: 700; }
.startup-update .startup-update-primary { border-color: #168ef2; background: #087be2; color: #fff; }
.startup-update button.focused { outline: 3px solid #83caff; outline-offset: 2px; }
.startup-update button:disabled { opacity: .65; }

.tv-settings-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 0;
  background: #020a13;
}

.tv-settings-card {
  width: min(680px, 86vw);
  font-size: 115%;
  padding: 30px;
  border: 1px solid #17538a;
  border-radius: 12px;
  background: linear-gradient(145deg, #071a2c, #061321);
  box-shadow: 0 28px 90px #000b, 0 0 35px #0785ff24;
}

.tv-settings-card header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 24px;
}

.tv-settings-card header span { color: #2198ff; font-size: 14px; letter-spacing: .09em; }
.tv-settings-card h2 { margin: 7px 0 0; font: 700 30px Manrope, sans-serif; }
.tv-settings-card .icon-button { width: 44px; height: 44px; border-radius: 50%; background: #10283d; }

.tv-connection-status {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 17px;
  border: 1px solid #4c2c35;
  border-radius: 8px;
  background: #241119;
}

.tv-connection-status.connected { border-color: #166442; background: #08261c; }
.tv-connection-status svg { width: 28px; color: #ff747e; }
.tv-connection-status.connected svg { color: #3bdd83; }
.tv-connection-status div { display: flex; flex-direction: column; gap: 5px; }
.tv-connection-status small { color: #91a6b9; }
.tv-settings-card label { display: flex; flex-direction: column; gap: 9px; margin: 24px 0 10px; color: #c8d3dd; font-size: 13px; }
.tv-settings-card input { height: 52px; padding: 0 15px; border: 1px solid #31516d; border-radius: 7px; background: #04111e; color: #fff; font: 16px ui-monospace, Consolas, monospace; }
.tv-settings-card > p { margin: 0; color: #8399ad; font-size: 13px; }
.tv-settings-card footer { display: flex; justify-content: flex-end; gap: 12px; margin-top: 28px; }
.tv-nav {
  min-height: 0;
  overflow-y: auto;
  padding-bottom: 62px;
  scroll-padding-bottom: 62px;
  scrollbar-width: none;
}
.tv-nav::-webkit-scrollbar { display: none; }

.tv-device-info {
  flex: 0 0 auto;
  margin-top: 10px;
  padding: 10px 12px 0;
  border-top: 1px solid #142b40;
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #506b82;
  font-size: 10px;
  letter-spacing: .02em;
}
.tv-device-info strong { color: #6f8da5; font-size: 11px; font-weight: 600; }
.tv-device-info span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.parental-pin-divider {
  display: grid;
  gap: 4px;
  margin: 22px 0 2px;
  padding-top: 16px;
  border-top: 1px solid #1c3a51;
  color: #86a0b4;
}
.parental-pin-divider strong { color: #43aaff; font-size: 11px; letter-spacing: .09em; }
.parental-pin-divider span { font-size: 12px; }

.tv-nav button.focused {
  border-color: #43aaff;
  background: #0b3768;
  box-shadow: 0 0 20px #0785ff88, inset 0 0 0 1px #5bb5ff;
}

.channel-list { overflow-y: auto; scrollbar-width: none; }
.channel-list,
.schedule-panel {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.channel-list::-webkit-scrollbar { display: none; }
.channel-row { flex: 0 0 auto; }
.channel-row.current { background: #08192b; box-shadow: inset 3px 0 #1d72b9; }
.player-meta small { margin-left: auto; color: #8ca2b6; }

.settings-wide {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.settings-layout { display: grid; grid-template-columns: 255px 1fr; gap: 24px; min-height: 380px; }
.settings-menu { display: flex; flex-direction: column; gap: 8px; padding-right: 18px; border-right: 1px solid #23405a; }
.settings-menu button { min-height: 58px; padding: 0 15px; border: 1px solid transparent; border-radius: 8px; background: #081827; color: #cedae4; display: flex; align-items: center; gap: 13px; text-align: left; }
.settings-menu button svg { width: 21px; color: #87a1b8; }
.settings-menu button.focused { border-color: #148cff; background: #0a315b; box-shadow: 0 0 16px #0785ff55; color: #fff; }
.settings-menu button.focused svg { color: #35a8ff; }
.settings-menu button.remote-focused,
.settings-detail .remote-focused {
  outline: none;
  border-color: #43aaff !important;
  box-shadow: 0 0 20px #0785ff99, inset 0 0 0 1px #75c2ff;
}
.settings-detail button.remote-focused { transform: scale(1.02); }
.settings-detail { padding: 2px 4px; }
.settings-detail h3 { margin: 0 0 18px; font: 700 22px Manrope, sans-serif; }
.settings-detail > p { color: #92a7b9; line-height: 1.55; }
.settings-detail label { margin: 20px 0 12px; }
.settings-detail ul { padding-left: 19px; color: #a8bac9; line-height: 1.9; }
.settings-note { display: block; margin-top: 15px; color: #8399ad; }
.settings-message { margin-top: 18px; padding: 11px 13px; border-radius: 6px; background: #093522; color: #5be59a; }
.about-brand { display: flex; align-items: center; gap: 20px; padding: 22px; border: 1px solid #24435e; border-radius: 9px; background: #071827; }
.about-brand > span { color: #8ea5b8; }
.settings-wide footer { align-items: center; justify-content: space-between; }
.settings-wide footer > span { color: #7890a4; font-size: 12px; }

/* Configurações em coluna lateral: preserva o guia visível e troca apenas
   o conteúdo da própria coluna ao abrir uma opção. */
.settings-drawer-overlay {
  place-items: stretch start;
  width: 100%;
  background: linear-gradient(90deg, #020a13 0, #020a13f5 29%, #020a1370 48%, transparent 72%);
  pointer-events: none;
}
.settings-drawer {
  width: clamp(330px, 28vw, 470px);
  height: 100%;
  padding: clamp(18px, 2.2vw, 30px);
  border-right: 1px solid #17538a;
  background: linear-gradient(145deg, #071a2cf8, #061321fa);
  box-shadow: 18px 0 60px #0009;
  pointer-events: auto;
  overflow: hidden;
}
.settings-drawer header { margin-bottom: 18px; }
.settings-drawer header h2 {
  max-width: 260px;
  font-size: clamp(22px, 1.8vw, 28px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.settings-drawer .settings-layout {
  display: block;
  min-height: 0;
  height: calc(100% - 78px);
}
.settings-drawer .settings-menu {
  height: 100%;
  padding: 0;
  border: 0;
}
.settings-drawer .settings-detail {
  box-sizing: border-box;
  height: 100%;
  padding: 2px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-padding-block: 18px;
}
.settings-drawer.show-menu .settings-detail { display: none; }
.settings-drawer.show-detail .settings-menu { display: none; }
.settings-drawer .mobile-qr-grid,
.settings-drawer .mobile-only-layout .mobile-qr-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 10px;
  height: auto;
  margin-top: 4px;
}
.settings-drawer .mobile-pair-card,
.settings-drawer .mobile-qr-only .mobile-pair-card {
  min-width: 0;
  padding: 11px 7px;
}
.settings-drawer .mobile-qr-grid .mobile-pair-card img {
  width: min(128px, 10vw);
  height: min(128px, 10vw);
  min-width: 94px;
  min-height: 94px;
}
.settings-drawer .mobile-pair-card small { font-size: 11px; }
.settings-drawer .support-contact-card {
  grid-template-columns: 1fr;
  justify-items: center;
  text-align: center;
  gap: 14px;
}
.settings-drawer .support-contact-card img {
  width: min(190px, 15vw);
  height: min(190px, 15vw);
  min-width: 130px;
  min-height: 130px;
}
.settings-drawer .dns-settings-card {
  grid-template-columns: 1fr;
  align-content: start;
}
.settings-drawer .dns-settings-card h3,
.settings-drawer .dns-settings-card > p { grid-column: 1; }
.settings-drawer .dns-settings-card button { min-height: 92px; }
.settings-drawer footer {
  min-height: 46px;
  margin-top: 8px;
}
.settings-drawer footer > span { max-width: 230px; }
.settings-drawer.section-support.show-detail,
.settings-drawer.section-about.show-detail {
  height: 100vh;
  min-height: 100%;
  align-self: stretch;
}
.settings-drawer.section-support.show-detail > .settings-layout,
.settings-drawer.section-about.show-detail > .settings-layout {
  height: calc(100vh - 96px);
  min-height: 0;
}
.settings-drawer.section-support.show-detail .settings-detail,
.settings-drawer.section-about.show-detail .settings-detail {
  height: 100%;
  min-height: 0;
  padding-bottom: 28px;
  overflow-y: auto;
}
.settings-drawer.section-mobile.show-detail {
  width: 100%;
  max-width: none;
  padding: clamp(18px, 2.4vh, 34px) clamp(28px, 4vw, 72px);
  border-right: 0;
  background:
    radial-gradient(circle at 72% 0, #0b345455 0, transparent 38%),
    linear-gradient(145deg, #071a2c, #030d17);
}
.settings-drawer.section-mobile.show-detail header h2 { max-width: none; }
.settings-drawer.section-mobile.show-detail .settings-detail {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  justify-items: stretch;
  overflow: hidden;
}
.settings-drawer.section-mobile.show-detail .mobile-qr-grid,
.settings-drawer.section-mobile.show-detail .mobile-only-layout .mobile-qr-grid {
  width: min(100%, 980px);
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  align-self: center;
  justify-self: center;
  align-content: center;
  gap: clamp(22px, 3vw, 46px);
}
.settings-drawer.section-mobile.show-detail .mobile-pair-card {
  min-height: min(54vh, 430px);
  padding: clamp(18px, 2.2vw, 32px);
}
.settings-drawer.section-mobile.show-detail .mobile-pair-card img {
  width: min(250px, 23vh);
  height: min(250px, 23vh);
  min-width: 170px;
  min-height: 170px;
}
.settings-drawer.section-mobile.show-detail .mobile-pair-card > svg {
  width: min(190px, 19vh);
  height: min(190px, 19vh);
}
.settings-drawer.section-mobile.show-detail .mobile-pair-card strong {
  font-size: clamp(22px, 2.2vw, 34px);
}
.settings-drawer.section-mobile.show-detail > .settings-layout {
  height: calc(100% - 66px);
}
.settings-drawer.section-mobile.show-detail .secondary-button {
  min-width: 250px;
  justify-self: center;
  margin-top: 12px;
}
.settings-drawer.section-games.show-detail {
  width: 100%;
  max-width: none;
  padding: clamp(14px, 1.8vh, 24px) clamp(24px, 3vw, 52px);
  border-right: 0;
  background:
    radial-gradient(circle at 72% 0, #0b345455 0, transparent 38%),
    linear-gradient(145deg, #071a2c, #030d17);
}
.settings-drawer.section-games.show-detail header h2 { max-width: 920px; }
.settings-drawer.section-games.show-detail > .settings-layout { height: 100%; }
.settings-drawer.section-games.show-detail .settings-detail { overflow: hidden; }
.brazil-games-card { height: 100%; min-height: 0; display: flex; flex-direction: column; }
.games-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; }
.games-heading > svg { width: 34px; height: 34px; color: #299fff; }
.games-heading > div { min-width: 0; display: grid; gap: 2px; }
.games-heading > div > strong { font-size: 15px; color: #f0f7fc; }
.games-heading small { color: #8da5b9; }
.games-heading > span { margin-left: auto; padding: 5px 10px; border: 1px solid #245274; border-radius: 16px; background: #09243a; color: #77c9ff; font-size: 11px; font-weight: 800; white-space: nowrap; }
.games-filter-row { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: center; gap: 10px; margin-bottom: 7px; }
.games-filter-row > small { color: #577a96; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.games-region-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.games-region-tabs button { height: 36px; border: 1px solid #21435e; border-radius: 7px; background: #061522; color: #91aabd; font-size: 12px; font-weight: 800; }
.games-region-tabs button.active { border-color: #299fff; background: #0b3453; color: #fff; }
.games-series-tabs { max-height: 112px; overflow-y: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-bottom: 10px; padding-right: 3px; }
.section-games .games-series-tabs { grid-template-columns: repeat(5, minmax(0, 1fr)); max-height: 82px; gap: 6px; margin-bottom: 0; }
.games-series-tabs button { min-height: 36px; border: 1px solid #21435e; border-radius: 7px; background: #071827; color: #93abc0; font-weight: 700; display: grid; align-content: center; gap: 1px; text-align: left; padding: 4px 8px; }
.games-series-tabs button small { color: #577a96; font-size: 8px; letter-spacing: .06em; text-transform: uppercase; }
.games-series-tabs button span { overflow: hidden; line-height: 1.1; white-space: normal; font-size: 11px; }
.games-series-tabs button.active { border-color: #299fff; background: #0b3453; color: #fff; }
.games-series-tabs button.active small { color: #77c8ff; }
.games-day-tabs { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin-bottom: 0; }
.games-day-tabs button { height: 38px; display: grid; place-content: center; gap: 1px; border: 1px solid #21435e; border-radius: 7px; background: #061522; color: #8da7ba; text-align: center; }
.games-day-tabs button strong { font-size: 11px; text-transform: capitalize; }
.games-day-tabs button small { color: #5f7d94; font-size: 9px; }
.games-day-tabs button.active { border-color: #299fff; background: #0b3453; color: #fff; }
.games-day-tabs button.active small { color: #79caff; }
.games-content { min-height: 0; overflow-y: auto; display: grid; gap: 14px; padding-right: 3px; }
.section-games .games-content { flex: 1; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: start; gap: 20px; overflow-y: auto; scroll-behavior: auto; padding: 3px 10px 18px 0; border-top: 1px solid #16344b; }
.section-games .games-content > section { max-height: none; overflow: visible; padding-right: 8px; }
.section-games .games-list article { min-height: 64px; grid-template-columns: 92px 1fr; padding: 9px 14px; }
.section-games .games-list article strong { font-size: 15px; }
.section-games .standings-table > div { min-height: 39px; grid-template-columns: 38px minmax(0, 1fr) 42px 52px 42px; padding: 0 12px; }
.section-games .standings-table span { font-size: 13px; }
.games-content > section { min-width: 0; }
.games-content h4 { margin: 0 0 7px; color: #6d91ad; font-size: 11px; letter-spacing: .08em; }
.games-list { min-height: 0; overflow-y: auto; display: grid; gap: 7px; }
.games-list article { min-height: 58px; display: grid; grid-template-columns: 76px 1fr; align-items: center; gap: 11px; padding: 7px 10px; border: 1px solid #21435e; border-radius: 8px; background: #071827; }
.games-list time { display: grid; gap: 2px; color: #84a2ba; font-size: 11px; text-transform: uppercase; }
.games-list time b { color: #47b5ff; font-size: 15px; }
.games-list article > div { min-width: 0; display: grid; gap: 3px; }
.games-list article small { color: #7897b0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.games-list article strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.games-list article strong em { color: #4bb7ff; font-style: normal; padding: 0 3px; }
.games-list article span { color: #69869d; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.games-list article .match-broadcast { display: flex; align-items: center; gap: 5px; color: #70c5ff; font-size: 11px; font-weight: 700; }
.games-list article .match-broadcast.unavailable { color: #617d92; font-weight: 500; }
.games-list article .match-broadcast.detected { color: #62e4b3; }
.games-list article .match-broadcast > svg { width: 13px; height: 13px; flex: 0 0 13px; }
.games-list article .match-broadcast > img { width: 16px; height: 16px; flex: 0 0 16px; border-radius: 3px; object-fit: contain; background: #fff; }
.games-list article .match-broadcast > b { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.games-list article .match-broadcast > i { padding: 2px 5px; border-radius: 8px; background: #0c5842; color: #79ffd0; font-size: 8px; font-style: normal; letter-spacing: .06em; }
.games-list article.match-live { border-color: #1fc989; background: linear-gradient(100deg, #08241e, #071827 46%); box-shadow: inset 3px 0 #1fc989; }
.games-list article.match-live time span { width: max-content; padding: 3px 6px; border-radius: 10px; background: #13a874; color: #fff; font-size: 9px; font-weight: 900; letter-spacing: .04em; }
.games-list article.match-live time b { color: #5bffc6; }
.games-list article.match-finished time span, .games-list article.match-postponed time span { color: #8399aa; font-size: 9px; font-weight: 800; }
.games-list article.match-postponed { opacity: .72; }
.games-list article strong.match-teams { display: grid; grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr); align-items: center; gap: 8px; overflow: hidden; }
.games-list article strong.match-teams > span { display: flex; align-items: center; gap: 6px; min-width: 0; color: #f1f7fb; font-size: inherit; font-weight: 800; }
.games-list article strong.match-teams > span:last-child { justify-content: flex-end; text-align: right; }
.games-list article strong.match-teams > span > b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: inherit; }
.games-list article strong.match-teams .team-crest { width: 23px; height: 23px; flex: 0 0 23px; object-fit: contain; }
.games-list article strong.match-teams .team-crest-fallback { display: grid; place-items: center; border: 1px solid #3479a8; border-radius: 50%; background: linear-gradient(145deg, #123f60, #0a2438); color: #8fd5ff; font-size: 8px; font-style: normal; font-weight: 900; letter-spacing: -.03em; }
.games-list article strong.match-teams em { min-width: 58px; padding: 5px 7px; border-radius: 7px; background: #0c2d45; color: #64c4ff; text-align: center; font-size: 13px; }
.games-list article.match-live strong.match-teams em { background: #0b523e; color: #74ffd2; }
.games-scoreboard { display: grid; gap: 7px; }
.games-scoreboard > article { min-height: 64px; padding: 8px 11px; border: 1px solid #1d3d55; border-radius: 9px; background: #061522; overflow: hidden; }
.games-scoreboard > article > small { display: block; margin-bottom: 7px; color: #6689a3; font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.games-scoreboard > article > div { display: grid; grid-template-columns: minmax(0, 1fr) 66px minmax(0, 1fr); align-items: center; gap: 7px; }
.games-scoreboard > article span { min-width: 0; display: flex; align-items: center; gap: 6px; color: #eaf3f9; font-size: 11px; }
.games-scoreboard > article span:last-child { justify-content: flex-end; text-align: right; }
.games-scoreboard > article span > b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.games-scoreboard > article strong { padding: 5px 4px; border-radius: 7px; background: #0b2d46; color: #65c6ff; text-align: center; font-size: 12px; white-space: nowrap; }
.games-scoreboard .team-crest { width: 24px; height: 24px; flex: 0 0 24px; object-fit: contain; }
.games-scoreboard .team-crest-fallback { display: grid; place-items: center; border: 1px solid #3479a8; border-radius: 50%; background: #0d314b; color: #8fd5ff; font-size: 8px; font-style: normal; }
.games-scoreboard > article.score-live { border-color: #1dbb80; background: #07231d; }
.games-scoreboard > article.score-live strong { background: #0b513d; color: #7affd2; }
/* Central de jogos para TV: três colunas fixas e navegação horizontal por controle. */
.games-tv-app { overflow: hidden; }
.games-tv-columns {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(460px, 1.48fr) minmax(310px, 1fr);
  gap: 12px;
  contain: layout paint;
}
.games-tv-column {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #183b55;
  border-radius: 11px;
  background: linear-gradient(155deg, #071b2c, #04111d);
  opacity: .72;
  contain: layout paint;
  transition: none;
}
.games-tv-column.active-column {
  border-color: #299fff;
  box-shadow: 0 0 0 1px #299fff44, 0 0 24px #0785ff2e;
  opacity: 1;
}
.games-column-header {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 11px;
  border-bottom: 1px solid #183b55;
  background: #092238;
}
.games-column-header > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.games-column-header small {
  color: #5e8baa;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .09em;
}
.games-column-header strong {
  overflow: hidden;
  color: #edf7ff;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.games-column-header > span {
  color: #5f849f;
  font-size: 8px;
  font-weight: 800;
  white-space: nowrap;
}
.games-tv-column.active-column .games-column-header {
  background: linear-gradient(90deg, #0b3453, #092238);
}
.games-tv-column.active-column .games-column-header > span { color: #77c9ff; }
.games-competition-list,
.games-vertical-list,
.games-standings-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #2b6f9d #061522;
}
.games-column-matches .games-vertical-list {
  contain: layout paint style;
  align-content: start;
  overflow-anchor: none;
}
.games-competition-list { padding: 7px; }
.games-region-label {
  padding: 8px 7px 5px;
  color: #648ba8;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.games-competition-list button {
  width: 100%;
  min-height: 54px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 12px;
  align-items: center;
  gap: 8px;
  margin: 0 0 6px;
  padding: 7px 8px;
  border: 1px solid #17374e;
  border-radius: 8px;
  background: #061522;
  color: #9cb0c0;
  text-align: left;
}
.games-competition-list button > img,
.games-competition-list button > svg,
.games-competition-list button > .competition-emblem {
  width: 32px;
  height: 32px;
  padding: 4px;
  border-radius: 8px;
  background: #f2f7fa;
  color: #299fff;
  object-fit: contain;
}
.competition-emblem-fallback {
  display: grid;
  place-items: center;
}
.competition-emblem-fallback > svg {
  width: 20px;
  height: 20px;
}
.games-competition-list button > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.games-competition-list button small {
  color: #6084a0;
  font-size: 8px;
  font-weight: 800;
}
.games-competition-list button strong {
  overflow: hidden;
  color: #dce8f0;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.games-competition-list button i {
  overflow: hidden;
  font-size: 8px;
  font-style: normal;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.games-competition-list button i.has-games { color: #55c994; }
.games-competition-list button i.no-games { color: #60798c; }
.games-competition-list button > b {
  color: #426f8e;
  font-size: 21px;
}
.games-competition-list button.selected {
  border-color: #268fd8;
  background: linear-gradient(100deg, #0b3453, #082238);
}
.games-competition-list button.selected strong { color: #fff; }
.games-competition-list button.remote-focused {
  border-color: #53b8ff !important;
  box-shadow: 0 0 14px #168ee966, inset 3px 0 #53b8ff !important;
  transform: none;
}
.games-selected-competition {
  min-height: 44px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 7px 11px;
  border-bottom: 1px solid #16364e;
  background: #061827;
}
.games-selected-competition b {
  overflow: hidden;
  color: #e8f4fc;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.games-selected-competition small {
  color: #6a8ca5;
  font-size: 9px;
}
.games-selected-competition.with-emblem {
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  align-content: initial;
  column-gap: 8px;
}
.games-selected-competition.with-emblem > .competition-emblem {
  width: 28px;
  height: 28px;
  padding: 3px;
  border-radius: 7px;
  background: #f2f7fa;
  color: #299fff;
  object-fit: contain;
}
.games-selected-competition.with-emblem > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.games-seven-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 3px;
  padding: 6px 7px;
  border-bottom: 1px solid #16364e;
  background: #051522;
}
.games-seven-days > span {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 1px;
  padding: 4px 1px;
  border: 1px solid #17374e;
  border-radius: 5px;
  color: #8da8ba;
}
.games-seven-days b {
  overflow: hidden;
  max-width: 100%;
  font-size: 8px;
  text-overflow: ellipsis;
  text-transform: capitalize;
  white-space: nowrap;
}
.games-seven-days small { color: #5d7b92; font-size: 7px; }
.section-games .games-vertical-list {
  display: grid;
  align-content: start;
  gap: 6px;
  padding: 7px;
}
.section-games .games-vertical-list article {
  min-height: 76px;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 8px;
  padding: 7px 9px;
  contain: layout paint style;
  content-visibility: auto;
  contain-intrinsic-size: 76px;
}
.section-games .games-vertical-list article strong { font-size: 11px; }
.section-games .games-vertical-list article strong.match-teams {
  grid-template-columns: minmax(0, 1fr) 46px minmax(0, 1fr);
  gap: 5px;
}
.section-games .games-vertical-list article strong.match-teams em {
  min-width: 46px;
  padding: 4px;
  font-size: 11px;
}
.section-games .games-vertical-list article strong.match-teams .team-crest {
  width: 20px;
  height: 20px;
  flex-basis: 20px;
}
.section-games .games-vertical-list article .match-broadcast { font-size: 9px; }
.section-games .games-vertical-list article.remote-focused {
  border-color: #53b8ff !important;
  box-shadow: 0 0 14px #168ee966, inset 3px 0 #53b8ff !important;
  opacity: 1;
  outline: none;
}
.section-games .games-vertical-list article .match-broadcast.watchable {
  color: #7cf2bd;
  font-weight: 800;
}
.games-column-matches > .games-status {
  flex: 0 0 auto;
  margin: 0 7px 7px;
  padding: 9px;
  font-size: 10px;
}
.games-standings-scroll { padding: 7px; }
.games-standings-scroll > h4 {
  margin: 5px 2px 7px;
  color: #6d91ad;
  font-size: 9px;
  letter-spacing: .08em;
}
.games-standings-scroll > .games-status {
  margin-bottom: 8px;
  padding: 9px;
  font-size: 9px;
}
.games-standings-note {
  margin: 0 0 7px;
  padding: 7px 8px;
  border: 1px solid #1c536f;
  border-radius: 6px;
  background: #082234;
  color: #83bddc;
  font-size: 8px;
}
.games-column-standings .standings-table {
  width: 100%;
  overflow: visible;
}
.section-games .games-column-standings .standings-table > div {
  min-height: 34px;
  grid-template-columns: 24px minmax(0, 1fr) 22px 22px 32px 26px;
  gap: 3px;
  padding: 0 7px;
}
.section-games .games-column-standings .standings-table span { font-size: 10px; }
.section-games .games-column-standings .standings-table > div.remote-focused {
  border-color: #53b8ff;
  background: #0b3453;
  box-shadow: inset 3px 0 #53b8ff;
  outline: none;
}
.games-column-standings .standings-table img,
.games-column-standings .standings-table .team-crest {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  object-fit: contain;
}
.games-column-standings .standings-table .team-crest-fallback {
  display: grid;
  place-items: center;
  border: 1px solid #3479a8;
  border-radius: 50%;
  background: #0d314b;
  color: #8fd5ff;
  font-size: 7px;
  font-style: normal;
}
.games-column-standings .games-scoreboard {
  gap: 5px;
  margin-top: 2px;
}
.games-column-standings .games-scoreboard > article {
  min-height: 58px;
  padding: 7px 8px;
}
.games-column-standings .games-scoreboard > article > div {
  grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr);
  gap: 4px;
}
.games-column-standings .games-scoreboard > article span { font-size: 9px; }
.games-column-standings .games-scoreboard > article strong { font-size: 10px; }
.games-column-standings .games-scoreboard .team-crest {
  width: 20px;
  height: 20px;
  flex-basis: 20px;
}
.games-remote-help {
  min-height: 24px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  padding-top: 5px;
  color: #65839a;
  font-size: 8px;
}
.games-remote-help span:first-child { color: #65c2ff; }

/* Todas as logos usam o mesmo quadro, sem esticar ou cortar a imagem. */
.channel-logo {
  object-fit: contain !important;
  box-sizing: border-box;
  padding: 4px;
  border: 1px solid #294b65;
  border-radius: 14px !important;
  background: linear-gradient(145deg, #f7fbff, #dfeaf2);
}
.channel-logo.fallback {
  padding: 0;
  border-radius: 14px !important;
}
.channel-logo.large { padding: 7px; border-radius: 20px !important; }
.channel-logo.large.fallback { padding: 0; }
.square-channel-logos .channel-logo,
.square-channel-logos .channel-logo.fallback { border-radius: 5px !important; }
.square-channel-logos .channel-logo.large,
.square-channel-logos .channel-logo.large.fallback { border-radius: 7px !important; }

.app-config-panel { max-width: 1500px; padding-bottom: 100px; }
.app-config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 20px;
}
.app-config-card {
  min-width: 0;
  padding: 22px;
  border: 1px solid #234660;
  border-radius: 14px;
  background: linear-gradient(150deg, #071c2d, #04131f);
  box-shadow: 0 14px 34px #0004;
}
.app-config-card > header {
  display: flex;
  align-items: center;
  gap: 13px;
  padding-bottom: 17px;
  border-bottom: 1px solid #18384e;
}
.app-config-card > header > svg { width: 28px; height: 28px; color: #36aaff; }
.app-config-card h2 { margin: 0 0 4px; font-size: 19px; color: #f4f9fc; }
.app-config-card p { margin: 0; color: #7898ae; }
.app-config-options { display: grid; gap: 0; }
.app-config-options > label,
.app-config-inline-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 66px;
  border-bottom: 1px solid #153349;
}
.app-config-options > label:last-child { border-bottom: 0; }
.app-config-options span,
.app-config-inline-option span { display: grid; gap: 4px; }
.app-config-options strong,
.app-config-inline-option strong { color: #e8f1f7; font-size: 14px; }
.app-config-options small,
.app-config-inline-option small { color: #7897ad; line-height: 1.35; }
.p2p-master-switch {
  margin: 14px 0;
  padding: 0 18px;
  border: 1px solid #1a4664;
  border-radius: 12px;
  background: #071c2d;
}
.app-config-options.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 22px;
  margin-top: 8px;
}
.app-config-options.compact > label { min-height: 54px; }
.app-config-layout-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding-top: 18px;
}
.app-config-layout-grid.single { grid-template-columns: 1fr; }
.app-config-layout-grid label,
.app-config-number {
  display: grid;
  gap: 7px;
  color: #91aabd;
  font-size: 12px;
  font-weight: 700;
}
.app-config-layout-grid input,
.app-config-number select {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  border: 1px solid #29516d;
  border-radius: 8px;
  padding: 0 12px;
  background: #03101b;
  color: #e9f5fd;
}
.app-config-number { margin-top: 18px; }
.app-config-competitions { display:grid; gap:12px; margin-top:18px; padding-top:17px; border-top:1px solid #18384e; }
.app-config-competitions > div:first-child { display:grid; gap:4px; }
.app-config-competitions > div:first-child strong { color:#e8f1f7; font-size:14px; }
.app-config-competitions > div:first-child small { color:#7897ad; line-height:1.4; }
.app-config-competitions > div:nth-child(2) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:280px; overflow:auto; padding-right:4px; }
.app-config-competitions > div:nth-child(2) button { min-width:0; min-height:64px; padding:8px 10px; border:1px solid #244963; border-radius:9px; background:#061725; color:#a9bdcb; display:grid; grid-template-columns:36px minmax(0,1fr); grid-template-rows:auto auto; align-items:center; gap:2px 9px; text-align:left; cursor:pointer; }
.app-config-competitions > div:nth-child(2) button.selected { border-color:#259cff; background:#0a3354; box-shadow:inset 3px 0 #36aaff; color:#f0f8fe; }
.app-config-competitions button span { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; border-radius:8px; background:#eef6fc; }
.app-config-competitions button img,.app-config-competitions button svg { max-width:27px; max-height:27px; object-fit:contain; color:#197ec4; }
.app-config-competitions button b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.app-config-competitions button small { color:#7090a6; font-size:10px; }
.app-config-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 15px;
  padding: 12px 14px;
  border: 1px solid;
  border-radius: 9px;
}
.app-config-total.valid { color: #54d98e; border-color: #1d7348; background: #08271c; }
.app-config-total.invalid { color: #ff7e7e; border-color: #8d3434; background: #2c1014; }
.app-config-inline-option { margin-top: 10px; border-bottom: 0; }
.app-config-explanation {
  display: flex;
  gap: 11px;
  margin-top: 18px;
  padding: 14px;
  border: 1px solid #1f4c6a;
  border-radius: 9px;
  background: #08243a;
}
.app-config-explanation svg { width: 20px; min-width: 20px; color: #35a9ff; }
.app-config-explanation p { line-height: 1.45; }
.app-config-automation { grid-column: 1 / -1; }
.automation-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}
.automation-status-grid > div {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 13px 14px;
  border: 1px solid #26506d;
  border-radius: 9px;
  background: #061725;
}
.automation-status-grid span { color: #7897ad; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.automation-status-grid strong { overflow: hidden; color: #e9f5fd; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.automation-status-grid small { overflow: hidden; color: #7897ad; text-overflow: ellipsis; white-space: nowrap; }
.automation-status-grid .online { border-color: #216849; background: #08231a; }
.automation-status-grid .warning { border-color: #8a6928; background: #2a210d; }
.automation-status-grid .error { border-color: #8d3434; background: #2c1014; }
.automation-actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.automation-actions button { min-height: 42px; }
.automation-actions svg { width: 17px; }
.app-config-save { z-index: 4; }
@media (max-width: 1100px) {
  .app-config-grid { grid-template-columns: 1fr; }
  .app-config-automation { grid-column: auto; }
  .automation-status-grid { grid-template-columns: 1fr; }
}
.football-alerts-panel { max-width: 1180px; }
.football-alerts-panel > .panel-heading > svg { width: 42px; height: 42px; color: #299fff; }
.football-alerts-panel form { display: grid; gap: 20px; }
.football-alert-status { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border: 1px solid #245174; border-radius: 10px; background: #09233a; }
.football-alert-status div { display: grid; gap: 5px; }
.football-alert-status small, .football-alert-help { color: #8ea8bc; }
.football-alert-fields { display: grid; grid-template-columns: 1.3fr 1fr .55fr .8fr; gap: 14px; }
.football-alert-fields label { margin: 0; }
.football-alert-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.football-alert-options button { min-height: 76px; display: flex; align-items: center; gap: 13px; padding: 13px 16px; border: 1px solid #25445e; border-radius: 9px; background: #071827; color: #a7bac9; text-align: left; }
.football-alert-options button.selected { border-color: #299fff; background: #0a3152; color: #fff; }
.football-alert-options svg { width: 26px; color: #55b8ff; }
.football-alert-options span { display: grid; gap: 4px; }
.football-alert-options small { color: #88a1b5; }
.football-alerts-panel h2 { margin: 2px 0 -14px; font-size: 17px; }
.football-alert-help { margin: 0; }
.football-competition-grid { max-height: 270px; overflow-y: auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.football-competition-grid button { min-height: 58px; display: grid; gap: 4px; padding: 9px 11px; border: 1px solid #25445e; border-radius: 8px; background: #071827; color: #d8e3eb; text-align: left; }
.football-competition-grid button.selected { border-color: #299fff; background: #0a3152; }
.football-competition-grid small { color: #6591b0; text-transform: uppercase; font-size: 9px; }
.football-broadcast-heading { display: flex; align-items: center; justify-content: space-between; margin-top: 3px; }
.football-broadcast-heading h2 { margin: 0 0 5px; }
.football-broadcast-heading p { margin: 0; color: #829eb3; font-size: 12px; }
.football-broadcast-heading svg { width: 28px; color: #299fff; }
.football-broadcast-list { max-height: 310px; overflow-y: auto; display: grid; gap: 6px; padding-right: 4px; }
.football-broadcast-list > div { min-height: 62px; display: grid; grid-template-columns: 78px minmax(210px, 1fr) minmax(210px, .8fr) 92px; align-items: center; gap: 10px; padding: 7px 10px; border: 1px solid #1f3b52; border-radius: 8px; background: #061522; }
.football-broadcast-list time { display: grid; color: #7f9bb0; font-size: 10px; }
.football-broadcast-list time strong { color: #5fc1ff; font-size: 14px; }
.football-broadcast-list span { min-width: 0; display: grid; gap: 3px; }
.football-broadcast-list span small, .football-broadcast-list span strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.football-broadcast-list span small { color: #668aa5; font-size: 10px; }
.football-broadcast-list span strong { display: flex; align-items: center; gap: 6px; }
.football-broadcast-list span strong img { width: 20px; height: 20px; flex: 0 0 20px; object-fit: contain; }
.football-broadcast-list input { height: 38px; border: 1px solid #294157; border-radius: 6px; background: #071a2b; color: #fff; padding: 0 10px; }
.football-broadcast-list button { height: 38px; display: flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid #2879b5; border-radius: 6px; background: #0a3152; color: #fff; }
.football-broadcast-list button svg { width: 15px; }
.football-alert-meta { display: flex; flex-wrap: wrap; gap: 10px 24px; padding: 12px 15px; border-radius: 8px; background: #061522; color: #7894aa; font-size: 12px; }
.football-alert-meta strong { color: #ff8992; }
.football-alerts-panel footer { display: flex; justify-content: flex-end; gap: 11px; }

.client-messages-panel { max-width: 1180px; }
.client-message-form { display:grid; gap:16px; margin-bottom:22px; padding:20px; border:1px solid #234762; border-radius:12px; background:#071a2b; }
.client-message-form-main { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(420px,1.5fr); gap:14px; }
.client-message-form-main label { align-content:start; }
.client-message-form-main textarea { height:132px; min-height:132px; }
.client-message-form label { display:grid; gap:7px; color:#91a9bc; font-size:12px; }
.client-message-form input,.client-message-form select,.client-message-form textarea { width:100%; min-height:42px; padding:10px 12px; border:1px solid #294b64; border-radius:8px; background:#041421; color:#edf7ff; font:inherit; resize:vertical; }
.client-message-form-grid { display:grid; grid-template-columns:repeat(3,minmax(180px,1fr)); gap:12px; }
.client-message-options { display:flex; flex-wrap:wrap; gap:12px 28px; }
.client-message-options label { display:flex; flex-direction:row; align-items:center; gap:9px; }
.client-message-options input { width:17px; min-height:17px; }
.client-message-form footer { display:flex; justify-content:flex-end; gap:10px; }
.client-message-list { display:grid; gap:10px; }
.client-message-list article { display:grid; grid-template-columns:48px minmax(0,1fr) auto 42px 42px; align-items:center; gap:13px; padding:15px; border:1px solid #27465d; border-left:4px solid #299fff; border-radius:10px; background:#071a2a; }
.client-message-list article.severity-warning { border-left-color:#f2b84b; }
.client-message-list article.severity-critical { border-left-color:#ff5968; }
.client-message-list article.severity-success { border-left-color:#42d58a; }
.client-message-list article.inactive { opacity:.58; }
.client-message-list-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#0c2a42; color:#57b8ff; }
.client-message-list article.severity-warning .client-message-list-icon { color:#f2b84b; }
.client-message-list article.severity-critical .client-message-list-icon { color:#ff7180; }
.client-message-list article.severity-success .client-message-list-icon { color:#42d58a; }
.client-message-list article > div:nth-child(2) { display:grid; gap:4px; }
.client-message-list article small,.client-message-list article span { color:#7894aa; font-size:11px; }
.client-message-list article strong { color:#edf7ff; font-size:16px; }
.client-message-list article p { margin:0; color:#b6c9d8; line-height:1.45; }
.client-message-list article > button { width:40px; height:40px; display:grid; place-items:center; border:1px solid #2a4b64; border-radius:8px; background:#092137; color:#76c8ff; }
.client-message-list article > button:last-child { color:#ff7e89; }
.client-message-empty { min-height:180px; display:grid; place-items:center; align-content:center; gap:7px; color:#718da3; border:1px dashed #2a4960; border-radius:10px; }

.client-message-overlay { position:fixed; inset:0; z-index:20000; display:grid; place-items:center; padding:32px; background:rgba(0,9,18,.82); backdrop-filter:blur(8px); }
.client-message-overlay section { width:min(620px,92vw); display:grid; justify-items:center; gap:12px; padding:34px 38px; border:2px solid #299fff; border-radius:18px; background:linear-gradient(145deg,#09243a,#04111d); color:#fff; text-align:center; box-shadow:0 24px 80px rgba(0,0,0,.55); }
.client-message-overlay section > svg { width:58px; height:58px; color:#5bc0ff; }
.client-message-overlay section > span { color:#65c5ff; font-size:13px; font-weight:900; letter-spacing:.16em; }
.client-message-overlay h2 { margin:0; font-size:30px; }
.client-message-overlay p { margin:0; color:#c9d9e5; font-size:18px; line-height:1.5; white-space:pre-line; }
.client-message-overlay small { color:#83a0b5; }
.client-message-overlay button { min-width:190px; min-height:50px; margin-top:8px; border:0; border-radius:9px; background:#168fea; color:#fff; font-weight:900; font-size:16px; }
.client-message-warning section { border-color:#f2b84b; }
.client-message-warning section > svg,.client-message-warning section > span { color:#f2c35d; }
.client-message-warning button { background:#d89216; }
.client-message-critical section { border-color:#ff5968; }
.client-message-critical section > svg,.client-message-critical section > span { color:#ff7180; }
.client-message-critical button { background:#df3548; }
.client-message-success section { border-color:#42d58a; }
.client-message-success section > svg,.client-message-success section > span { color:#4ee29a; }
.client-message-success button { background:#18a862; }

@media(max-width:1100px){
  .client-message-form-main,.client-message-form-grid{grid-template-columns:1fr 1fr}
  .client-message-list article{grid-template-columns:44px minmax(0,1fr) 42px 42px}
  .client-message-list article .switch{grid-column:2}
}
@media(max-width:680px){
  .client-message-form-main,.client-message-form-grid{grid-template-columns:1fr}
  .client-message-list article{grid-template-columns:40px minmax(0,1fr) 40px}
  .client-message-list article .switch{grid-column:2}
  .client-message-overlay{padding:16px}
  .client-message-overlay section{padding:28px 20px}
  .client-message-overlay h2{font-size:24px}
  .client-message-overlay p{font-size:16px}
}
.games-status { padding: 13px; border-radius: 7px; background: #0b2235; color: #a9c0d2; }
.standings-table { overflow: hidden; border: 1px solid #21435e; border-radius: 8px; background: #071827; }
.standings-table > div { min-height: 34px; display: grid; grid-template-columns: 30px minmax(0, 1fr) 32px 42px 34px; align-items: center; gap: 5px; padding: 0 9px; border-top: 1px solid #132f44; }
.standings-table > div:first-child { border-top: 0; }
.standings-table .standings-head { min-height: 29px; background: #0b2235; color: #7897b0; font-size: 10px; }
.standings-table span { min-width: 0; display: flex; align-items: center; gap: 7px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; }
.standings-table img { width: 20px; height: 20px; object-fit: contain; }
.standings-table small, .standings-table > div > strong { text-align: center; }
.standings-table > div > strong { color: #4bb7ff; }

@media(max-width: 980px) {
  .settings-drawer.section-mobile.show-detail .mobile-qr-grid,
  .settings-drawer.section-mobile.show-detail .mobile-only-layout .mobile-qr-grid {
    width: min(100%, 760px);
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 16px;
  }
  .settings-drawer.section-mobile.show-detail .mobile-pair-card {
    min-height: 0;
    padding: 14px;
  }
  .settings-drawer.section-games.show-detail { width: 100%; }
  .section-games .games-series-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .games-day-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .section-games .games-content { grid-template-columns: 1fr; }
}

.pin-overlay { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: #010711ed; backdrop-filter: blur(7px); }
.pin-card { width: min(470px, 84vw); padding: 34px; border: 1px solid #1b6096; border-radius: 12px; background: #071827; text-align: center; box-shadow: 0 25px 80px #000c; }
.pin-card > svg { width: 46px; height: 46px; color: #32a7ff; }
.pin-card h2 { margin: 15px 0 7px; }
.pin-card p { margin: 0 0 22px; color: #91a6b8; }
.pin-card input { width: 190px; height: 58px; padding: 0 15px; border: 1px solid #3b6382; border-radius: 8px; background: #020d17; color: white; text-align: center; font: 700 27px ui-monospace, monospace; letter-spacing: .35em; }
.pin-card > small { display: block; margin-top: 10px; color: #ff7f8a; }
.pin-card > div { display: flex; justify-content: center; gap: 12px; margin-top: 25px; }

@media(max-width: 900px) {
  .settings-layout { grid-template-columns: 210px 1fr; }
  .settings-wide { padding: 22px; }
}

/* Escala o modo TV para televisores de 720p, 1080p e 4K sem cortar a navegação. */
.tv-app { grid-template-columns: clamp(190px, 17.5vw, 310px) minmax(0, 1fr); }
.tv-sidebar { padding: clamp(16px, 2.2vh, 30px) clamp(14px, 1.7vw, 28px); }
.tv-main { padding: 0 clamp(12px, 1.8vw, 32px) clamp(17px, 2.3vh, 28px); }
.tv-content { grid-template-columns: minmax(0, 1.34fr) minmax(290px, 1fr); gap: clamp(10px, 1vw, 18px); }
.tv-nav button { height: clamp(38px, 5.1vh, 52px); font-size: clamp(13px, 1vw, 17px); }
.channel-row { grid-template-columns: clamp(52px, 4.4vw, 74px) minmax(0, 1fr) clamp(34px, 3vw, 48px); padding-left: clamp(10px, 1.3vw, 22px); }
.channel-copy h2 { font-size: clamp(15px, 1.2vw, 21px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.channel-copy p { font-size: clamp(11px, .9vw, 15px); white-space: nowrap; overflow: hidden; }
.schedule-panel { padding: clamp(15px, 1.6vw, 28px); }

@media (max-height: 680px) {
  .tv-header { height: 68px; }
  .tv-content { height: calc(100vh - 94px); }
  .channel-row { min-height: calc((100vh - 96px)/7); padding-top: 5px; padding-bottom: 5px; }
  .channel-copy h2 { margin-bottom: 3px; }
  .channel-copy p { margin-bottom: 4px; }
  .remote-hint { display: none; }
}

@media (min-width: 1900px) and (min-height: 1000px) {
  .tv-header { height: 105px; }
  .tv-content { height: calc(100vh - 142px); }
  .brand { font-size: 25px; }
  .brand-mark { width: 54px; height: 54px; }
  .schedule-list div { height: 48px; font-size: 16px; }
}

@media (max-width: 980px) {
  .tv-content { grid-template-columns: minmax(0, 1fr); }
  .schedule-panel { display: none; }
  .remote-hint span:nth-last-child(-n+2) { display: none; }
}

@media (max-width: 760px) {
  .tv-app { grid-template-columns: 76px minmax(0, 1fr); }
  .tv-sidebar { padding: 16px 9px; }
  .tv-nav button { font-size: 0; justify-content: center; padding: 0; }
  .startup-progress { width: min(520px, 76vw); }
  .tv-device-info { padding: 8px 2px 0; text-align: center; }
  .tv-device-info span { display: none; }
}

@media (max-width: 1100px) {
  .edit-drawer { z-index: 30; }
}

.brand-logo { object-fit: contain; padding: 0; background: #fff; border-radius: 9px; }
.startup-logo { display:block; width: 148px; height: 148px; max-width: 18vw; max-height: 18vw; width: clamp(112px, 12vw, 170px); height: clamp(112px, 12vw, 170px); object-fit: contain; box-shadow: none; }
.startup-brand { gap: 12px; }
.admin-sidebar { overflow-y: auto; }
.admin-sidebar nav button { min-height: 44px; height: 44px; }
@media (min-width:761px) {
  .admin-sidebar {
    padding:12px 13px 11px;
    overflow:hidden;
  }
  .admin-sidebar .brand {
    gap:9px;
    padding:0 5px;
    font-size:22px;
  }
  .admin-sidebar .brand-mark {
    width:36px;
    height:36px;
    border-radius:8px;
  }
  .admin-sidebar .rail-label {
    margin:12px 8px 6px;
    font-size:9px;
  }
  .admin-sidebar nav {
    gap:1px;
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color:#294b65 transparent;
  }
  .admin-sidebar nav::-webkit-scrollbar { width:5px; }
  .admin-sidebar nav::-webkit-scrollbar-thumb {
    border-radius:10px;
    background:#294b65;
  }
  .admin-sidebar nav button {
    height:31px;
    min-height:31px;
    gap:9px;
    padding:0 9px;
    font-size:11px;
  }
  .admin-sidebar nav button svg { width:16px; }
  .admin-sidebar .sync-chip {
    min-height:29px;
    margin:5px 0;
    padding:5px 9px;
    font-size:10px;
  }
  .admin-sidebar .tv-mode-button {
    height:36px;
    min-height:36px;
    font-size:11px;
  }
  .admin-sidebar .logout-panel-button { margin-top:5px; }
}
.admin-global-search { position:sticky; top:0; z-index:30; padding:13px 28px; border-bottom:1px solid #173047; background:#03101beF; backdrop-filter:blur(14px); }
.admin-global-search-box { width:min(760px,100%); min-height:44px; display:flex; align-items:center; gap:10px; padding:0 12px; border:1px solid #294b65; border-radius:9px; background:#071a2b; box-shadow:0 8px 28px #0002; }
.admin-global-search-box:focus-within { border-color:#1595ed; box-shadow:0 0 0 3px #1595ed20; }
.admin-global-search-box > svg { width:19px; color:#64baf6; }
.admin-global-search-box input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:#eff8ff; font-size:13px; }
.admin-global-search-box button { width:31px; height:31px; display:grid; place-items:center; border:0; border-radius:6px; background:#122b3e; color:#a9c0d1; cursor:pointer; }
.admin-global-search-box button svg { width:15px; }
.admin-global-search-box kbd { padding:3px 7px; border:1px solid #38536a; border-radius:5px; color:#7690a4; background:#0a2031; font:10px ui-monospace,monospace; }
.admin-search-status { width:min(760px,100%); margin-top:8px; display:flex; align-items:flex-start; gap:12px; color:#8099ac; font-size:11px; }
.admin-search-status > span { padding-top:7px; white-space:nowrap; }
.admin-search-status > div { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.admin-search-status small { color:#648096; font-size:9px; letter-spacing:.08em; }
.admin-search-status button { min-height:29px; display:inline-flex; align-items:center; gap:6px; padding:0 9px; border:1px solid #2b506c; border-radius:6px; background:#09243a; color:#bfe2fa; cursor:pointer; font-size:11px; }
.admin-search-status button svg { width:14px; }
.admin-search-scope [data-search-hidden] { display:none!important; }
.admin-search-empty { margin:18px 28px 0; padding:18px; display:grid; grid-template-columns:auto 1fr; gap:3px 12px; align-items:center; border:1px solid #714d1f; border-radius:9px; background:#2b1d0b; color:#f1c47a; }
.admin-search-empty svg { grid-row:1/3; width:24px; }
.admin-search-empty span { color:#ba9c71; font-size:12px; }
.admin-search-scope > .channels-workspace { min-height:calc(100vh - 71px); }
@media(max-width:760px){.admin-global-search{padding:10px 14px}.admin-global-search-box kbd{display:none}.admin-search-status{flex-direction:column;gap:3px}.admin-search-status>span{white-space:normal}.admin-search-empty{margin:12px 14px 0}}
.overview-wide { max-width: 1400px; }
.overview-strip { grid-template-columns: repeat(5, minmax(150px, 1fr)); }
.overview-strip div { min-height: 145px; }

.version-policy { margin-bottom: 24px; }
.version-policy .status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid rgba(87, 190, 255, .35);
  border-radius: 999px;
  color: #79cfff;
  background: rgba(34, 151, 230, .1);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  white-space: nowrap;
}
.version-policy .status-badge.active {
  border-color: rgba(255, 143, 92, .55);
  color: #ffad83;
  background: rgba(255, 103, 48, .12);
}
.version-policy .overview-strip {
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  margin: 18px 0;
}
.version-policy .overview-strip div {
  min-height: 110px;
  padding: 18px;
}
.version-policy > label textarea {
  min-height: 86px;
  height: 86px;
  font-family: inherit;
}
.version-policy > .primary-button { margin-top: 4px; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.panel-heading h1 { margin-bottom: 5px; }
.panel-heading p { margin: 0; color: #93a7b9; }
.smart-routes-panel { min-height:100%; }
.routing-master { margin-bottom:20px; padding:18px 20px; border:1px solid #235073; border-radius:10px; background:#082139; display:flex; align-items:center; justify-content:space-between; }
.routing-master>div { display:flex; flex-direction:column; gap:5px; }.routing-master span { color:#91a9bc; }
.detected-isps { margin-bottom:20px; padding:19px; border:1px solid #23415a; border-radius:11px; background:#061827; }
.detected-isps>header { display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; }.detected-isps h2 { margin:0 0 4px; }.detected-isps header p { margin:0; color:#91a9bc; }
.detected-isps .notice { margin-bottom:14px; }
.isp-assignment-table { border:1px solid #23415a; border-radius:8px; overflow:hidden; }.isp-assignment-head,.isp-assignment-table>div { min-height:58px; padding:8px 13px; display:grid; grid-template-columns:minmax(240px,1fr) 110px 90px minmax(210px,.8fr); align-items:center; gap:12px; border-bottom:1px solid #19364d; }.isp-assignment-table>div:last-child { border-bottom:0; }.isp-assignment-head { min-height:38px!important; color:#849caf; font-size:11px; }.isp-assignment-table span { display:flex; flex-direction:column; gap:4px; }.isp-assignment-table small { color:#829bae; }.isp-assignment-table select { height:39px; padding:0 10px; border:1px solid #2b4a62; border-radius:7px; background:#071d2e; color:#fff; }
.routes-list { display:flex; flex-direction:column; gap:15px; }
.routes-list article { padding:19px; border:1px solid #23415a; border-radius:11px; background:#061827; }
.routes-list article.disabled { opacity:.62; }
.routes-list article>header { display:flex; align-items:center; justify-content:space-between; margin-bottom:17px; }
.routes-list article>header>div { display:grid; grid-template-columns:25px 1fr; align-items:center; gap:2px 9px; }.routes-list article>header svg { grid-row:1/3; color:#38bb76; }.routes-list article>header small { color:#88a2b6; }
.route-form-grid { display:grid; grid-template-columns:1.2fr .45fr 1.4fr 1.4fr 1fr 1fr; gap:10px; }
.route-form-grid label { display:flex; flex-direction:column; gap:7px; color:#b8c8d5; font-size:12px; }
.route-form-grid input { width:100%; height:42px; padding:0 10px; border:1px solid #29465d; border-radius:7px; background:#071d2e; color:#fff; }
.routes-list article>footer { display:flex; gap:9px; margin-top:15px; }.routes-list article>footer .danger-button { margin-left:auto; }
.routes-save { position:sticky; bottom:0; margin-top:20px; padding:14px; border:1px solid #254158; border-radius:10px; background:#04121eee; display:flex; align-items:center; gap:17px; }.routes-save p { margin:0; color:#9eb4c5; }
@media(max-width:1200px){.route-form-grid{grid-template-columns:1fr 150px}.route-form-grid label:nth-child(n+3){grid-column:auto}}
.channel-title-actions { display:flex; align-items:center; gap:10px; }
.bulk-domain-help { margin:0; color:#91a9bc; line-height:1.5; }
.domain-preview-count { min-height:92px; padding:16px; border:1px solid #294157; border-radius:9px; background:#071a2b; display:flex; align-items:center; gap:15px; }
.domain-preview-count.ready { border-color:#167bc2; background:#09243c; }
.domain-preview-count strong { color:#35a8ff; font-size:34px; }
.domain-preview-count span { color:#b9cbd9; }
.domain-preview-list { display:flex; flex-direction:column; gap:9px; padding:13px; border:1px solid #213d55; border-radius:8px; background:#051522; }
.domain-preview-list div { display:grid; grid-template-columns:1fr; gap:3px; padding-bottom:9px; border-bottom:1px solid #17334a; }
.domain-preview-list div:last-of-type { border-bottom:0; }
.domain-preview-list small { overflow:hidden; color:#8fa9bd; text-overflow:ellipsis; white-space:nowrap; }
.domain-preview-list span { color:#35a8ff; }
.domain-preview-list p { margin:2px 0 0; color:#8fa9bd; }
.device-summary { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; margin: 22px 0; }
.device-summary > div { padding: 20px; border: 1px solid #213c55; border-radius: 9px; background: #07192a; display: grid; grid-template-columns: auto 1fr; gap: 4px 13px; align-items: center; }
.device-summary > button { width:100%; min-height:92px; padding:20px; border:1px solid #213c55; border-radius:9px; background:#07192a; color:inherit; display:grid; grid-template-columns:auto 1fr; gap:4px 13px; align-items:center; text-align:left; cursor:pointer; transition:border-color .16s,background .16s,transform .16s; }
.device-summary > button:hover,.device-summary > button:focus-visible { border-color:#258ed0; background:#0a2135; }
.device-summary > button.selected { border-color:#24a4ff; background:#0b2942; box-shadow:0 0 0 1px rgba(36,164,255,.25); transform:translateY(-1px); }
.device-summary svg { grid-row: span 2; width: 26px; color: #279fff; }
.device-summary strong { font: 700 28px Manrope,sans-serif; }
.device-summary span { color: #8fa5b8; }
.device-summary .device-problem-summary { grid-template-columns:auto 1fr; }
.device-summary .device-problem-summary svg { color:#ff8a72; }
.device-summary .device-problem-summary small { grid-column:2; color:#a98f91; font-size:10px; }
.device-summary .device-problem-summary.selected { border-color:#ff6c78; background:#30141c; box-shadow:0 0 0 1px rgba(255,108,120,.22); }
.device-search-result { display:flex; align-items:center; gap:11px; margin:16px 0 10px; padding:13px 15px; border:1px solid #2877a8; border-radius:8px; background:#08243a; color:#a9c6da; }
.device-search-result svg { width:20px; color:#55b7f6; }
.device-search-result strong,.device-search-result b { color:#e6f4fd; }
.device-version-summary { margin:18px 0 22px; padding:18px; border:1px solid #24445f; border-radius:10px; background:#061725; }
.device-version-summary > div:first-child h2 { margin:0 0 4px; font-size:18px; }
.device-version-summary > div:first-child p { margin:0; color:#849caf; font-size:12px; }
.device-version-cards { display:flex; gap:9px; margin-top:14px; overflow-x:auto; padding-bottom:4px; }
.device-version-cards button { min-width:145px; min-height:82px; padding:12px 14px; border:1px solid #284860; border-radius:9px; background:#081c2c; color:#dce8f1; display:grid; grid-template-columns:1fr auto; gap:4px 10px; text-align:left; cursor:pointer; }
.device-version-cards button:hover,.device-version-cards button:focus-visible { border-color:#2b9de6; }
.device-version-cards button.selected { border-color:#24a4ff; background:#0b2942; box-shadow:0 0 0 1px rgba(36,164,255,.22); }
.device-version-cards b { color:#62bcf5; font-size:12px; }
.device-version-cards strong { grid-row:span 2; align-self:center; font:700 25px Manrope,sans-serif; }
.device-version-cards small { color:#839aad; white-space:nowrap; }
.devices-panel { width:100%; max-width:none; padding:28px 30px 40px; }
.device-table { width:100%; border: 1px solid #213c55; border-radius: 9px; overflow: hidden; }
.device-table-head,.device-row { display: grid; grid-template-columns: minmax(280px,1.7fr) minmax(135px,.68fr) minmax(100px,.5fr) minmax(150px,.76fr) minmax(108px,.55fr) 72px minmax(220px,1fr); align-items: center; gap: 12px; padding: 0 16px; }
.device-table-head { height: 42px; color: #879bad; font-size: 10px; background: #061421; }
.device-row { min-height: 152px; border-top: 1px solid #173047; font-size: 12px; }
.device-row > div:first-child { display: flex; align-items: center; gap: 11px; }
.device-row > div:first-child svg { width: 22px; color: #329fff; }
.device-row > div:first-child span { display: flex; flex-direction: column; gap: 4px; }
.device-row small { color: #8096a9; }
.device-row code { color: #9fb3c3; font-size: 11px; }
.device-version-value { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.device-version-value b { padding:6px 9px; border:1px solid #216491; border-radius:999px; background:#082a43; color:#63c1ff; white-space:nowrap; }
.device-version-value.unknown b { border-color:#48525d; background:#202833; color:#a4b0ba; }
.device-version-value small { line-height:1.25; }
.mac-inventory-lock { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:20px 0; padding:18px; border:1px solid #31526a; border-radius:10px; background:#071825; }
.mac-inventory-lock > div { display:flex; align-items:center; gap:13px; }
.mac-inventory-lock > div > svg { width:28px; color:#64c0f9; }
.mac-inventory-lock span { display:flex; flex-direction:column; gap:4px; }
.mac-inventory-lock strong { color:#e5f0f7; font-size:14px; }
.mac-inventory-lock small { color:#8299aa; }
.mac-inventory-lock button { flex:0 0 auto; }
@media(max-width:760px){.mac-inventory-lock{align-items:stretch;flex-direction:column}.mac-inventory-lock button{width:100%}}
.device-expiry-input { width: 132px; height: 34px; padding: 0 7px; border: 1px solid #294157; border-radius: 6px; background: #071a2b; color: #dce8f1; font-size: 11px; }
.device-delete { color: #ff7782; }
.device-functions { min-width:0; display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:10px; }
.device-functions > span { display:flex; align-items:center; justify-content:flex-start; gap:8px; }
.device-functions small { min-width:52px; white-space:nowrap; }
.device-action-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.device-action-buttons .icon-button { width:34px; height:34px; border:1px solid #294157; border-radius:7px; background:#071a2b; color:#55aff2; }
.device-action-buttons .icon-button svg { width:16px; }
.device-action-buttons .device-renew { color:#55d995; border-color:#265944; background:#08251b; }
.device-functions .device-delete { width:36px; height:36px; border:1px solid #49303b; border-radius:7px; background:#25131a; }
.device-functions .device-delete svg { width:17px; }
.device-expiry-value { color:#dce8f1; }
.device-edit-form { display:grid; grid-template-columns:minmax(190px,1.2fr) minmax(170px,1fr) minmax(170px,1fr) 150px 120px auto; align-items:end; gap:12px; margin:18px 0; padding:18px; border:1px solid #168ddd; border-radius:10px; background:#072039; }
.device-edit-form > div:first-child { display:flex; flex-direction:column; gap:4px; align-self:center; }
.device-edit-form > div:first-child small { color:#88a2b6; }
.device-edit-form label { display:flex; flex-direction:column; gap:6px; color:#9fb3c3; font-size:11px; }
.device-edit-form input,.device-edit-form select { width:100%; height:40px; padding:0 10px; border:1px solid #294f6c; border-radius:7px; background:#061726; color:#fff; }
.device-edit-form .device-edit-active { min-height:40px; flex-direction:row; align-items:center; padding:0 10px; border:1px solid #294f6c; border-radius:7px; }
.device-edit-form .device-edit-active input { width:16px; height:16px; }
.device-edit-form > div:last-child { display:flex; gap:7px; }
@media(max-width:1450px){.device-edit-form{grid-template-columns:repeat(3,minmax(180px,1fr))}.device-edit-form>div:last-child{justify-content:flex-end}}
.device-row.device-clone-alert { background:#2b1118; box-shadow:inset 4px 0 #ff5364; }
.clone-warning { color:#ff7b88!important; font-weight:800; }
.device-identity-evidence { margin-top:3px; padding:7px 9px; border:1px solid #7e404b; border-radius:7px; background:#190c11; color:#d8bac0; }
.device-identity-evidence summary { color:#ff9da7; cursor:pointer; font-weight:700; }
.device-identity-evidence > div { margin-top:8px; }
.device-identity-evidence strong { color:#fff; }
.device-identity-evidence p { margin:4px 0 8px; color:#c8a3a9; line-height:1.4; }
.device-identity-evidence dl { display:grid; gap:5px; margin:0; }
.device-identity-evidence dl > div { display:grid; grid-template-columns:105px 1fr; gap:7px; }
.device-identity-evidence dt { color:#a98189; }
.device-identity-evidence dd { min-width:0; margin:0; overflow-wrap:anywhere; color:#e0cbd0; }
.device-identity-evidence.likely-same { border-color:#806a2f; background:#211a08; }
.device-identity-evidence.likely-same summary { color:#f1c56b; }
.device-identity-evidence.divergent { border-color:#b64655; }
.identity-ok { color:#54d890!important; }
.status-danger { color:#ff6675; }
.device-functions .device-rebind { min-height:34px; padding:0 9px; font-size:10px; }
.device-profile-panel { margin:18px 0; padding:18px; border:1px solid #28506e; border-radius:10px; background:#061625; }
.device-profile-panel .panel-heading { margin-bottom:14px; }
.device-profile-panel .panel-heading h2 { margin:0 0 4px; font-size:18px; }
.device-profile-panel .panel-heading p { margin:0; color:#8fa7b9; }
.device-profile-panel .panel-heading > svg { width:28px; color:#54d890; }
.device-profile-form { display:grid; grid-template-columns:minmax(220px,1.3fr) minmax(180px,1fr) 150px 150px 150px 160px auto; gap:10px; align-items:end; }
.device-profile-form label { display:grid; gap:6px; color:#91a8ba; font-size:10px; }
.device-profile-form input,.device-profile-form select { min-height:40px; padding:0 9px; border:1px solid #294157; border-radius:7px; background:#071a2b; color:#e1edf6; }
.device-profile-form label small { color:#667f93; }
.device-profile-form .profile-check { min-height:40px; display:flex; flex-direction:row; align-items:center; gap:8px; padding:0 8px; border:1px solid #294157; border-radius:7px; }
.device-profile-form .profile-check input { width:16px; min-height:16px; }
.device-profile-empty { margin:12px 0 0; color:#ffb862; }
.device-profile-list { display:grid; gap:8px; margin-top:14px; }
.device-profile-list article { display:grid; grid-template-columns:1fr auto 42px; align-items:center; gap:14px; padding:12px; border:1px solid #1f3a50; border-radius:8px; background:#071a2b; }
.device-profile-list article > div { display:grid; gap:3px; }
.device-profile-list article strong { color:#e6f2fa; }
.device-profile-list article span,.device-profile-list article small { color:#819aae; }
.device-profile-list article > span { display:flex; align-items:center; gap:8px; }
@media(max-width:1500px){.device-profile-form{grid-template-columns:repeat(3,minmax(180px,1fr))}.device-profile-form button{min-height:42px}}
@media(max-width:1250px){.device-summary{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:700px){.device-summary{grid-template-columns:1fr}}
.table-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; color:#8fa5b8; font-size:12px; }
.table-pagination > div { display:flex; align-items:center; gap:10px; }
.table-pagination button { height:36px; padding:0 13px; border:1px solid #294157; border-radius:7px; background:#071a2b; color:#dce8f1; cursor:pointer; }
.table-pagination button:disabled { opacity:.4; cursor:not-allowed; }
.table-pagination strong { min-width:110px; color:#c9d7e2; text-align:center; }
.channels-workspace .table-head,.channels-workspace .table-row { grid-template-columns:minmax(250px,1.5fr) minmax(100px,.8fr) minmax(145px,1fr) 90px 112px; }
.channels-workspace .table-row { cursor:default; }
.channels-workspace .row-actions { gap:2px; }
.channels-workspace .row-actions button:first-child { color:#39a9ff; }
.channels-workspace .row-actions button:disabled { opacity:.28; cursor:not-allowed; }
.channels-workspace { grid-template-columns:1fr; }
.channel-source-link { text-decoration:none; white-space:nowrap; }
.channel-readonly-notice { margin:-8px 0 20px; }
.readonly-channel-table .table-head,.readonly-channel-table .table-row { grid-template-columns:minmax(280px,1.5fr) minmax(120px,.75fr) minmax(190px,1fr) 130px 72px; }
.readonly-channel-table .table-head { padding-left:14px; }
.channel-source-badge { width:max-content; padding:6px 9px; border:1px solid #235170; border-radius:999px; color:#74c4ff; background:#08243b; font-size:11px; }
.readonly-channel-status { font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:.04em; }
.readonly-channel-status.active { color:#3edf8a; }
.readonly-channel-status.inactive { color:#ff8290; }
.status-online { color: #45df8b; }.status-offline { color: #8297a9; }
.empty-admin { padding: 35px; text-align: center; color: #8297a9; }
.health-list { border: 1px solid #213c55; border-radius: 9px; overflow: hidden; }
.health-list > div { display: grid; grid-template-columns: 14px 1fr 150px 90px; gap: 12px; align-items: center; min-height: 54px; padding: 0 16px; border-bottom: 1px solid #173047; }
.health-list > div:last-child { border: 0; }
.health-list span,.health-list time { color: #8fa5b8; font-size: 12px; }
.health-dot { width: 8px; height: 8px; border-radius: 50%; }.health-dot.online { background: #2fd47a; box-shadow: 0 0 8px #2fd47a88; }.health-dot.offline,.health-dot.invalid { background: #ff5a68; }
.spinning { animation: spin .8s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } }
.error-message { color: #ff818a; }
.backup-actions { display: flex; gap: 12px; margin-top: 24px; }
.upload-backup { position: relative; cursor: pointer; }.upload-backup input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.brand-preview { display: flex; align-items: center; gap: 25px; margin-top: 25px; padding: 28px; border: 1px solid #213c55; border-radius: 12px; background: #07192a; }
.brand-preview img { width: 150px; height: 150px; object-fit: contain; background:#fff; border-radius:16px; }
.brand-preview h2 { font: 700 32px Manrope,sans-serif; margin: 0 0 8px; }
.preference-button { width: 100%; min-height: 74px; margin: 8px 0; padding: 12px 17px; border: 1px solid #27465f; border-radius: 9px; background: #081827; color: #d7e2eb; display: flex; align-items: center; gap: 15px; text-align: left; }
.preference-button.enabled { border-color: #157bc1; background: #0a2b4a; }
.preference-button svg { width: 23px; color: #35a8ff; }
.preference-button span { display: flex; flex-direction: column; gap: 5px; }.preference-button small { color: #86a0b4; }
.update-link { display: inline-flex; margin-top: 12px; color: #42adff; }
.device-blocked { position: fixed; inset: 0; z-index: 200; background: #020a13f5; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.device-blocked svg { width: 58px; height: 58px; color: #ff6672; }.device-blocked h2 { font-size: 30px; margin: 18px 0 7px; }.device-blocked p { color: #91a6b8; }
.adult-mark { width: 16px; height: 16px; margin-left: 8px; color: #ff8b94; vertical-align: middle; }
.timeshift-mark { width: 17px; height: 17px; margin-left: 8px; color: #34a8ff; vertical-align: middle; }
.timeshift-channel-config { display:grid; grid-template-columns:1.35fr .65fr; gap:12px; padding:14px; border:1px solid #1d4667; border-radius:8px; background:#071c2e; }
.timeshift-channel-config label { margin:0; }
.timeshift-channel-config select { height:42px; border:1px solid #294157; background:#071a2b; color:#fff; border-radius:6px; padding:0 10px; }
.timeshift-lookup { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:9px; }
.timeshift-lookup label { min-width:0; }
.timeshift-lookup button { min-height:42px; }
.timeshift-result { grid-column:1/-1; }
.timeshift-test { grid-column:1/-1; display:flex; align-items:center; gap:10px; }
.timeshift-test button { flex:0 0 auto; }
.timeshift-test small { color:#7fadc9; line-height:1.4; }
.epg-status.with-timeshift { color:#57baff; }
.epg-status.with-timeshift > svg { width:15px; flex:0 0 auto; }
@media(max-width:760px){.timeshift-channel-config{grid-template-columns:1fr}.timeshift-lookup{grid-template-columns:1fr}.timeshift-test{align-items:flex-start;flex-direction:column}}
.epg-now { margin: -8px 0 18px; padding: 12px; border: 1px solid #16476d; border-radius: 10px; background: #071f35; display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 13px; min-height: 118px; }
.epg-artwork { min-height: 112px; border-radius: 8px; overflow: hidden; background: linear-gradient(145deg,#0b3150,#061521); display: grid; place-items: center; }
.epg-artwork > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.epg-artwork .channel-logo.large { width: 72px; height: 72px; object-fit: contain; }
.epg-now-copy { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.epg-now-copy > span { color: #36a9ff; font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.epg-now-copy > strong { font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.epg-now-copy > em { color: #62baff; font-size: 10px; font-style: normal; text-transform: uppercase; }
.epg-now-copy > small { color: #86a3b9; }
.epg-progress { height: 4px; background: #203a50; border-radius: 4px; overflow: hidden; }
.epg-progress i { display: block; height: 100%; background: #1596ff; }
.epg-now p { margin: 3px 0 0; color: #829bb0; font-size: 12px; }.epg-now p b { color: #c7d6e1; }
.epg-description { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.3; }
.player-reconnecting { position: absolute; top: 20px; left: 20px; display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 6px; background: #082743dd; color: #8dccff; }.player-reconnecting svg { width: 18px; animation: spin .8s linear infinite; }
.update-toast { position: fixed; right: 28px; top: 80px; z-index: 40; min-height: 44px; padding: 0 16px; border: 1px solid #268ddb; border-radius: 8px; background: #082845ee; color: #bfe5ff; display: flex; align-items: center; gap: 9px; box-shadow: 0 10px 35px #0008; }.update-toast svg { width: 18px; }

@media(max-width:1100px){.overview-strip{grid-template-columns:repeat(2,1fr)}.device-table{overflow-x:auto}.device-table-head,.device-row{min-width:1240px}.channels-workspace .table-head,.channels-workspace .table-row{grid-template-columns:minmax(240px,1.5fr) 120px 145px 75px 112px}.readonly-channel-table .table-head,.readonly-channel-table .table-row{grid-template-columns:minmax(280px,1.5fr) 120px 190px 130px 72px}}

/* Palco fixo 16:9: evita distorção causada por densidade, overscan e WebViews de TV Box. */
.tv-stage { position: fixed; inset: 0; overflow: hidden; background: #000; }
.native-start-bridge { position:fixed; inset:0; overflow:hidden; background:#000; display:grid; place-items:center; color:#fff; }
.native-start-card { width:min(560px,86vw); display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; padding:34px; border:1px solid #27435b; border-radius:18px; background:#07131ee8; box-shadow:0 24px 80px #000a; }
.native-start-card .brand { margin-bottom:4px; }
.native-start-card .brand-mark { width:72px; height:72px; }
.native-start-card h1 { margin:0; font:700 28px Manrope,sans-serif; }
.native-start-card p { min-height:24px; margin:0; color:#b5cadc; font-size:17px; }
.native-start-card small { color:#6f8da6; }
.native-start-card button { margin-top:8px; min-width:190px; height:44px; border:1px solid #2a86d1; border-radius:9px; background:#0b65ae; color:#fff; font-weight:700; }
.native-start-spinner { width:36px; height:36px; border:3px solid #1f3e58; border-top-color:#36a9ff; border-radius:50%; animation:native-start-spin .9s linear infinite; }
@keyframes native-start-spin { to { transform:rotate(360deg); } }
.connection-alert { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; background: #010711e8; }
.connection-alert > div { width: min(520px, 72vw); padding: 34px 38px; border: 1px solid #244a69; border-radius: 16px; background: #061827; color: #fff; text-align: center; box-shadow: 0 26px 90px #000b; }
.connection-alert svg { width: 44px; height: 44px; color: #ffb54a; }
.connection-alert h2 { margin: 14px 0 8px; font-size: 28px; }
.connection-alert p { margin: 0 auto 24px; color: #a9bdcd; font-size: 17px; line-height: 1.5; }
.connection-alert button { min-width: 190px; height: 48px; border: 1px solid #42aaff; border-radius: 9px; background: #087be2; color: #fff; font-size: 16px; font-weight: 800; outline: 3px solid #8ed0ff; outline-offset: 3px; }
.mobile-pair-card { display: flex; align-items: center; gap: 22px; margin: 18px 0 24px; padding: 18px; border: 1px solid #234966; border-radius: 12px; background: #fff; color: #061827; }
.mobile-pair-card img { width: 190px; height: 190px; image-rendering: pixelated; }
.mobile-pair-card > svg { width: 120px; height: 120px; color: #087be2; }
.mobile-pair-card div { display: grid; gap: 8px; }
.mobile-pair-card strong { font: 800 34px ui-monospace, monospace; letter-spacing: .12em; }
.mobile-pair-card small { color: #486174; }
.mobile-qr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 14px 0; }
.mobile-qr-grid .mobile-pair-card { display: grid; justify-items: center; gap: 8px; margin: 0; padding: 12px; text-align: center; }
.mobile-qr-grid .mobile-pair-card img { width: 145px; height: 145px; }
.mobile-qr-grid .mobile-pair-card > svg { width: 100px; height: 100px; }
.mobile-qr-grid .mobile-pair-card div { gap: 4px; }
.mobile-qr-grid .mobile-pair-card b { color: #087be2; font-size: 14px; }
.mobile-qr-grid .mobile-pair-card strong { font-size: 20px; }
.mobile-qr-only { height: 100%; align-content: center; margin: 0; }
.settings-layout.mobile-only-layout { grid-template-columns: 1fr; }
.mobile-only-layout .settings-detail { padding: 6px 34px; }
.mobile-only-layout .mobile-qr-grid { grid-template-columns: repeat(2, minmax(0, 320px)); justify-content: center; gap: 30px; }
.mobile-only-layout .mobile-pair-card img { width: 210px; height: 210px; }
.mobile-only-layout .mobile-pair-card > svg { width: 150px; height: 150px; }
.mobile-qr-only .mobile-pair-card { padding: 20px 14px; }
.support-contact-card { height: 100%; display: grid; grid-template-columns: 220px 1fr; align-content: center; align-items: center; gap: 28px; padding: 24px; border: 1px solid #234966; border-radius: 14px; background: #fff; color: #061827; }
.support-contact-card img { width: 220px; height: 220px; image-rendering: pixelated; }
.support-contact-card div { display: grid; gap: 12px; }
.support-contact-card b { color: #087be2; font-size: 13px; letter-spacing: .1em; }
.support-contact-card strong { font-size: 27px; }
.support-contact-card a { color: #087be2; font-size: 18px; text-decoration: none; }
.support-contact-card small { color: #486174; line-height: 1.5; }
.about-brand > strong { color: #fff; font-size: 34px; letter-spacing: .06em; }
.vpn-settings-card { height: 100%; display: grid; grid-template-columns: 86px 1fr; align-content: center; align-items: center; gap: 22px; max-width: 760px; margin: auto; }
.vpn-settings-card > svg { width: 72px; height: 72px; color: #299fff; }
.vpn-settings-card h3 { margin: 0 0 10px; }
.vpn-settings-card p { margin: 0 0 14px; color: #9eb3c4; line-height: 1.55; }
.vpn-settings-card strong { color: #ffb45c; }.vpn-settings-card strong.active { color: #48d99b; }
.vpn-settings-card button { grid-column: 2; justify-self: start; }
.dns-settings-card { height: 100%; display: grid; grid-template-columns: 1fr 1fr; align-content: center; gap: 16px; max-width: 780px; margin: auto; }
.dns-settings-card h3,.dns-settings-card > p { grid-column: 1 / -1; text-align: center; }.dns-settings-card > p { margin: 0 0 12px; color: #9eb3c4; }
.dns-settings-card button { min-height: 150px; display: grid; place-items: center; gap: 7px; border: 1px solid #285272; border-radius: 14px; background: #092038; color: #fff; }
.dns-settings-card button strong { font-size: 22px; }.dns-settings-card button span { color: #43adff; font-size: 28px; font-weight: 800; }.dns-settings-card button small { color: #9eb3c4; font-size: 15px; }
.dns-settings-card button.selected { border-color: #42aaff; background: #0a3d68; }

.mobile-app, .mobile-player { min-height: 100dvh; background: #03101c; color: #fff; font-family: Manrope, Arial, sans-serif; }
.mobile-app header { position: sticky; top: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; height: 66px; padding: 0 16px; background: #03101cf2; border-bottom: 1px solid #17334a; }
.mobile-app header .brand-mark { width: 38px; height: 38px; border-radius: 9px; }
.mobile-app header .brand span { font-size: 24px; }
.mobile-app header > span { color: #65baff; font-size: 13px; }
.mobile-app nav { display: flex; gap: 8px; overflow-x: auto; padding: 14px 12px; scrollbar-width: none; }
.mobile-app nav button { flex: 0 0 auto; height: 38px; padding: 0 15px; border: 1px solid #24435c; border-radius: 20px; background: #0a2133; color: #bad0e0; }
.mobile-app nav button.active { border-color: #219cff; background: #087be2; color: #fff; }
.mobile-channels { display: grid; gap: 9px; padding: 0 12px 24px; }
.mobile-channels > button { min-height: 72px; display: grid; grid-template-columns: 52px 1fr 24px; align-items: center; gap: 12px; padding: 10px 13px; border: 1px solid #17364e; border-radius: 12px; background: #081c2c; color: #fff; text-align: left; }
.mobile-channels .channel-logo { width: 52px; height: 52px; border-radius: 9px; object-fit: contain; }
.mobile-channels span { min-width: 0; display: grid; gap: 5px; }
.mobile-channels strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; }
.mobile-channels small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #7f9bb1; }
.mobile-status { min-height: calc(100dvh - 66px); display: grid; place-content: center; justify-items: center; padding: 30px; text-align: center; }
.mobile-status svg { width: 54px; height: 54px; color: #219cff; }
.mobile-status p { max-width: 360px; color: #9bb1c2; line-height: 1.55; }
.mobile-update-overlay { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 22px; background: #01070dcc; backdrop-filter: blur(8px); }
.mobile-update-overlay section { width: min(420px,100%); padding: 28px; border: 1px solid #245170; border-radius: 20px; background: #071a2a; text-align: center; box-shadow: 0 24px 80px #000b; }
.mobile-update-overlay section > svg { width: 48px; height: 48px; color: #219cff; }
.mobile-update-overlay span { display: block; margin-top: 12px; color: #219cff; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.mobile-update-overlay h2 { margin: 7px 0; }
.mobile-update-overlay p,.mobile-update-overlay strong { color: #9db5c7; font-size: 13px; }
.mobile-update-overlay section > div:last-child { display: flex; gap: 10px; margin-top: 22px; }
.mobile-update-overlay button { flex: 1; min-height: 46px; border: 1px solid #31536b; border-radius: 10px; background: #0b2437; color: #fff; }
.mobile-update-progress { height: 9px; margin: 20px 0 9px; overflow: hidden; border-radius: 9px; background: #183247; }
.mobile-update-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#087be2,#41b7ff); transition: width .2s linear; }
.tv-update-progress { width: 100%; height: 10px; margin: 14px 0 9px; overflow: hidden; border-radius: 10px; background: #183247; }
.tv-update-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#087be2,#41b7ff); box-shadow: 0 0 14px #159cff; transition: width .15s linear; }
.tv-update-overlay { position: fixed; inset: 0; z-index: 500; display: grid; place-items: center; background: #01070de8; }
.tv-update-overlay section { width: min(520px,72vw); padding: 36px; border: 1px solid #245170; border-radius: 18px; background: #071a2a; text-align: center; box-shadow: 0 25px 90px #000c; }
.tv-update-overlay svg { width: 50px; height: 50px; color: #219cff; }
.tv-update-overlay h2 { margin: 14px 0 22px; }
.tv-update-overlay strong { display: block; margin-top: 10px; color: #a9c4d7; }
.tv-update-overlay footer { display: flex; justify-content: center; gap: 12px; margin-top: 24px; }
.mobile-player { position: fixed; inset: 0; z-index: 50; overflow: hidden; background: #000; }
.mobile-player button { display: flex; align-items: center; gap: 7px; height: 42px; padding: 0 13px; border: 0; background: #071522cc; color: #fff; }
.mobile-player .mobile-player-back { position: absolute; z-index: 3; top: max(12px, env(safe-area-inset-top)); left: 12px; border-radius: 22px; }
.mobile-player video { width: 100%; height: 100%; object-fit: contain; background: #000; }
.mobile-player-meta { position: absolute; right: 0; bottom: 0; left: 0; padding: 44px 18px max(18px, env(safe-area-inset-bottom)); background: linear-gradient(transparent, #02070ce8); pointer-events: none; }
.mobile-player h2 { margin: 0 0 5px; }
.mobile-player p { margin: 0; color: #b9cad7; }
.mobile-player-meta button { position: absolute; right: 16px; bottom: max(18px, env(safe-area-inset-bottom)); border-radius: 22px; pointer-events: auto; }
.mobile-standalone-activation { min-height: 100dvh; display: flex; flex-direction: column; align-items: center; padding: 42px 22px; background: radial-gradient(circle at top,#0c2d49,#020b13 60%); color: #fff; text-align: center; }
.mobile-standalone-activation > svg { width: 54px; height: 54px; margin: 34px 0 8px; color: #219cff; }
.mobile-standalone-activation h1 { margin: 8px 0; font-size: 30px; }
.mobile-standalone-activation > p { max-width: 420px; color: #a9bfce; line-height: 1.5; }
.mobile-standalone-activation > label,.mobile-standalone-activation form { width: min(440px,100%); }
.mobile-standalone-activation label { display: grid; gap: 8px; margin-top: 20px; color: #8da7b9; font-size: 12px; text-align: left; }
.mobile-standalone-activation code,.mobile-standalone-activation input { width: 100%; min-height: 58px; display: grid; place-items: center; padding: 0 14px; border: 1px solid #28506e; border-radius: 10px; background: #081a2a; color: #fff; font: 700 19px ui-monospace,monospace; letter-spacing: .08em; text-align: center; }
.mobile-standalone-activation button { width: 100%; justify-content: center; margin-top: 16px; }
.mobile-standalone-activation .mobile-camera-login { width: min(440px,100%); }
.mobile-standalone-activation > span { margin-top: 18px; color: #59d991; }
.mobile-standalone-activation > small { max-width: 420px; margin-top: 26px; color: #758fa2; }
.tv-stage .tv-app {
  position: absolute;
  width: 1280px;
  height: 720px;
  min-height: 720px;
  transform-origin: 0 0;
  grid-template-columns: 224px minmax(0, 1fr) !important;
}
.tv-stage .tv-sidebar { height: 720px; padding: 20px 18px 16px !important; }
.tv-stage .tv-main { height: 720px; padding: 0 20px 20px !important; }
.tv-stage .tv-header { height: 78px !important; }
.tv-stage .tv-content { height: 616px !important; grid-template-columns: minmax(0, 1.34fr) minmax(300px, 1fr) !important; gap: 13px; }
.tv-stage .schedule-panel { display: block !important; padding: 18px 21px; }
.tv-stage .tv-nav button { height: 42px; padding: 0 10px; justify-content: flex-start !important; font-size: 14px !important; }
.tv-stage .tv-nav { contain: layout paint; }
.tv-stage .tv-nav button { transition: none !important; }
.tv-stage .tv-nav button.active,
.tv-stage .tv-nav button.focused { box-shadow: inset 0 0 0 1px #43aaff; }
.tv-stage .tv-sidebar .brand span:last-child { display: inline !important; font-size: inherit !important; }
.tv-stage .tv-sidebar .rail-label { display: block !important; font-size: 10px !important; }
.tv-stage .channel-list { contain: layout paint; }
.tv-stage .channel-row { min-height: 88px; grid-template-columns: 62px minmax(0,1fr) 42px; padding: 7px 12px 7px 16px; transition: none !important; contain: layout paint style; }
.tv-stage .channel-row.selected { box-shadow: inset 0 0 0 1px #0b8bff; }
.tv-stage .channel-copy h2 { font-size: 18px; }
.tv-stage .channel-copy p { font-size: 13px; }
.tv-stage .remote-hint { display: flex !important; }

.link-test-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 14px; margin: 22px 0 16px; padding: 22px; border: 1px solid #1d4d72; border-radius: 10px; background: #071b2d; }
.link-test-card label { margin: 0; }
.link-test-card input { height: 48px; font-family: ui-monospace, Consolas, monospace; }
.link-test-card button { min-height: 48px; }
.single-health-result { display: flex; align-items: center; gap: 13px; margin-bottom: 20px; padding: 15px 17px; border: 1px solid #375069; border-radius: 8px; background: #071827; }
.single-health-result.online { border-color: #197749; background: #08291d; }
.single-health-result.offline,.single-health-result.invalid { border-color: #77323b; background: #2a1017; }
.single-health-result > div { display: flex; flex-direction: column; gap: 4px; }
.single-health-result small { color: #91a7b9; }

.published-update { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 18px; margin: 22px 0; padding: 20px; border: 1px solid #197749; border-radius: 10px; background: #08291d; }
.published-update > svg { width: 30px; color: #42d88a; }
.published-update > div { display: flex; flex-direction: column; gap: 5px; }
.published-update small { color: #8fbaa4; }
.published-update p { margin: 5px 0 0; color: #bad4c5; }
.update-form { margin-top: 24px; padding: 24px; border: 1px solid #213c55; border-radius: 10px; background: #07192a; }
.update-form label { margin: 0 0 18px; }
.update-form textarea { height: 130px; }
.update-form input[type="file"] { height: auto; min-height: 42px; padding: 9px 12px; }
.selected-apk { display: inline-block; margin-left: 14px; color: #8fa5b8; }

@media(max-width:760px){.link-test-card{grid-template-columns:1fr}.published-update{grid-template-columns:auto 1fr}.published-update .danger-button{grid-column:1/-1}.update-form .form-grid{grid-template-columns:1fr}}

.business-panel { max-width: 1180px; }
.business-panel input,.business-panel select { width:100%; min-width:0; height:42px; padding:0 12px; border:1px solid #294157; border-radius:6px; background:#071a2b; color:#fff; }
.business-panel a.secondary-button { display:inline-flex; align-items:center; gap:8px; color:#d7e2eb; text-decoration:none; }
.business-form,.activation-form,.credit-transfer { display:grid; grid-template-columns:repeat(3,minmax(140px,1fr)); gap:14px; align-items:end; margin:22px 0; padding:20px; border:1px solid #1d405c; border-radius:10px; background:#07192a; }
.business-form label,.activation-form label,.credit-transfer label { margin:0; }
.business-form button,.activation-form button,.credit-transfer button { min-height:44px; }
.activation-line-form { grid-template-columns:repeat(4,minmax(150px,1fr)) auto; align-items:end; }
.activation-form-heading { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:18px; padding-bottom:14px; border-bottom:1px solid #1b3951; }
.activation-form-heading>div { display:flex; flex-direction:column; gap:4px; }
.activation-form-heading strong { color:#f2f8fc; font-size:18px; }
.activation-form-heading span,.activation-form-heading small { color:#88a3b7; }
.activation-form-heading small { padding:8px 11px; border:1px solid #28506e; border-radius:7px; background:#082239; }
.activation-form-heading small b { color:#62c4ff; }
.activation-form-heading small.warning { color:#ffbf6b; border-color:#6d4e25; background:#2b1c0c; }
.activation-line-picker { grid-column:1/-1; display:grid; gap:9px; }
.activation-line-picker>b { color:#b9ccda; font-size:12px; }
.activation-line-picker>div { display:grid; grid-template-columns:repeat(3,minmax(180px,1fr)); gap:10px; }
.activation-line-picker button { min-height:72px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; padding:13px 16px; border:1px solid #2a4d67; border-radius:9px; background:#061625; color:#d9e8f2; cursor:pointer; text-align:left; }
.activation-line-picker button:hover,.activation-line-picker button:focus { border-color:#2f9ce2; background:#09243b; outline:none; }
.activation-line-picker button.selected { border-color:#38adf5; background:#0b3150; box-shadow:inset 0 0 0 1px #38adf5,0 0 18px #087fc326; }
.activation-line-picker button span { font-weight:800; }
.activation-line-picker button small { color:#88a3b7; }
.activation-line-picker button.selected small { color:#b9ddf5; }
.activation-line-form label { display:flex; flex-direction:column; gap:6px; color:#a9bfce; font-size:11px; }
.activation-line-form label>small { color:#7892a6; line-height:1.35; }
.activation-line-form .activation-submit { min-width:190px; }
.business-list,.transaction-table { border:1px solid #213c55; border-radius:9px; overflow:auto; }
.business-head,.business-row { min-width:850px; display:grid; grid-template-columns:1.3fr .6fr .7fr .8fr .8fr .7fr 38px; gap:12px; align-items:center; min-height:52px; padding:0 15px; border-bottom:1px solid #173047; }
.business-head { min-height:40px; background:#061421; color:#879bad; font-size:10px; }
.business-row input { height:34px; }
.master-balance { display:flex; align-items:center; gap:17px; width:270px; margin:22px 0; padding:20px; border:1px solid #197749; border-radius:10px; background:#08291d; }
.master-balance svg { color:#42d88a; width:32px; }.master-balance span { display:flex; flex-direction:column; color:#8fbaa4; }.master-balance strong { color:#fff; font-size:30px; }
.master-balance small { margin-top:3px; color:#75b993; }
.credit-overview { display:flex; align-items:stretch; gap:14px; margin:22px 0; }
.credit-overview .master-balance { margin:0; }
.credit-value-card { min-width:300px; padding:17px; display:flex; align-items:end; gap:12px; border:1px solid #28506e; border-radius:10px; background:#07192a; }
.credit-value-card label { flex:1; display:flex; flex-direction:column; gap:7px; color:#9eb2c1; font-size:11px; }
.transaction-table strong { display:flex; flex-direction:column; gap:3px; }
.transaction-table strong small { color:#79a58d; font-weight:500; }
.transaction-table>div { min-width:800px; display:grid; grid-template-columns:1.1fr .7fr .8fr .5fr 1.6fr; gap:12px; align-items:center; min-height:48px; padding:0 15px; border-bottom:1px solid #173047; }.transaction-table>div:first-child{background:#061421;color:#879bad;font-size:10px}
.package-list { display:grid; gap:10px; }.package-list article { display:grid; grid-template-columns:38px minmax(0,1fr) auto 38px 38px; gap:12px; align-items:center; padding:15px; border:1px solid #213c55; border-radius:9px; background:#071827; }.package-list article>svg{color:#35a8ff}.package-list article div{display:flex;flex-direction:column;gap:5px}.package-list article span{color:#8fa5b8;font-size:12px}
.package-list article small { color:#6f8ba1; }
.package-list .package-edit { color:#57b8ff; }
.package-presets { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:18px 0; }
.package-presets button { display:grid; gap:5px; padding:17px; border:1px solid #28506e; border-radius:9px; background:#071a2b; color:#dceaf4; text-align:left; cursor:pointer; }
.package-presets button:hover,.package-presets button:focus { border-color:#168ddd; background:#09243c; outline:none; }
.package-presets span { color:#86a0b4; font-size:11px; }
.package-line-form { grid-template-columns:repeat(6,minmax(120px,1fr)); }
.package-category-picker { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px 14px; padding:13px; border:1px solid #294157; border-radius:8px; background:#061522; }
.package-category-picker b { width:100%; color:#dceaf4; }
.package-category-picker label { display:flex!important; grid-template-columns:none!important; align-items:center; gap:6px!important; color:#9bb0c0!important; }
.package-category-picker input { width:15px; min-height:15px!important; }
.package-content-mode { grid-column:1/-1; display:grid; gap:9px; padding:13px; border:1px solid #294157; border-radius:8px; background:#061522; }
.package-content-mode>b { color:#dceaf4; }
.package-content-mode>div { display:flex; flex-wrap:wrap; gap:8px; }
.package-content-mode button { min-height:36px; padding:0 14px; border:1px solid #31516b; border-radius:7px; background:#081d2e; color:#9fb4c5; cursor:pointer; }
.package-content-mode button.selected { border-color:#168ddd; background:#0b3150; color:#fff; box-shadow:inset 0 0 0 1px #168ddd; }
.package-channel-picker { grid-column:1/-1; display:grid; gap:10px; padding:13px; border:1px solid #294157; border-radius:8px; background:#061522; }
.package-channel-picker>div:first-child { display:grid; grid-template-columns:1fr minmax(220px,360px); gap:12px; align-items:center; }
.package-channel-picker>div:first-child>b { color:#dceaf4; }
.package-channel-picker>div:first-child>input { min-height:38px; }
.package-channel-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; max-height:360px; overflow:auto; padding-right:5px; }
.package-channel-grid label { display:flex!important; grid-template-columns:none!important; align-items:center; gap:8px!important; min-width:0; padding:9px; border:1px solid #1d3549; border-radius:7px; background:#071a29; color:#b5c7d4!important; cursor:pointer; }
.package-channel-grid label:has(input:checked) { border-color:#168ddd; background:#0a2942; }
.package-channel-grid input { width:16px; min-height:16px!important; flex:0 0 auto; }
.package-channel-grid span { display:grid; min-width:0; gap:2px; }
.package-channel-grid strong,.package-channel-grid small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.package-channel-grid small { color:#718ca0; }
.package-form-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:10px; }
.package-line-form.editing { border-color:#168ddd; box-shadow:inset 3px 0 #168ddd; }
@media(max-width:1000px){.package-presets{grid-template-columns:1fr}.package-line-form{grid-template-columns:1fr 1fr}.package-channel-grid{grid-template-columns:1fr 1fr}}
.activation-code-form { grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) 120px 150px 150px auto; }
.activation-code-form label small { display:block; margin-top:4px; color:#718a9d; }
.activation-code-cost { min-height:42px; display:flex; flex-direction:column; justify-content:center; padding:6px 12px; border:1px solid #28506e; border-radius:7px; background:#061522; }
.activation-code-cost span,.activation-code-cost small { color:#7f9aaf; font-size:10px; }
.activation-code-cost strong { color:#52d990; }
.created-code-box { margin:15px 0; padding:17px; border:1px solid #197749; border-radius:10px; background:#08291d; }
.created-code-box > div { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.created-code-box textarea { width:100%; min-height:120px; padding:12px; border:1px solid #285844; border-radius:7px; background:#04180f; color:#8cffb9; font:700 16px ui-monospace,Consolas,monospace; line-height:1.6; letter-spacing:.08em; }
.activation-code-list { border:1px solid #213c55; border-radius:9px; overflow:auto; }
.activation-code-head,.activation-code-row { min-width:980px; display:grid; grid-template-columns:145px minmax(180px,1fr) 110px minmax(210px,1fr) 90px 90px; align-items:center; gap:12px; min-height:55px; padding:0 15px; border-bottom:1px solid #173047; }
.activation-code-head { min-height:40px; background:#061421; color:#879bad; font-size:10px; }
.activation-code-row code { color:#8fd4ff; font-size:14px; font-weight:800; letter-spacing:.06em; }
.activation-code-row span { display:flex; flex-direction:column; gap:3px; color:#bdccd7; font-size:12px; }
.activation-code-row small { color:#718a9d; }
.activation-code-row > div { display:flex; gap:6px; }
.code-status { padding:5px 7px; border-radius:5px; text-align:center; font-size:10px; }
.code-status.unused { color:#54dc91; background:#0b3523; }
.code-status.used { color:#67bfff; background:#0a2c49; }
.code-status.revoked,.code-status.expired { color:#ff8791; background:#3a171d; }
@media(max-width:1100px){.activation-code-form{grid-template-columns:1fr 1fr}.credit-overview{flex-direction:column}.credit-value-card{min-width:0}}
.access-mode { display:flex; justify-content:space-between; align-items:center; margin:18px 0; padding:16px; border:1px solid #1d405c; border-radius:9px; background:#07192a; }.access-mode>span{display:grid;grid-template-columns:30px 1fr;align-items:center}.access-mode svg{grid-row:1/3;color:#35a8ff}.access-mode small{color:#8fa5b8}
.form-message { color:#55d995; margin:10px 0 18px; }
.reseller-portal { min-height:100vh; padding:32px; background:radial-gradient(circle at top right,#0d3151,#020b13 55%); color:#e8f0f6; }
.reseller-login { width:min(430px,100%); margin:8vh auto; padding:34px; border:1px solid #1d527a; border-radius:16px; background:#061725dd; box-shadow:0 30px 80px #0008; }.reseller-login h1{margin:32px 0 6px}.reseller-login>p{color:#8fa5b8;margin-bottom:25px}.reseller-login button{width:100%;justify-content:center;margin-top:10px}
.reseller-dashboard { width:min(1180px,100%); margin:auto; }.reseller-dashboard>header{display:flex;align-items:center;gap:18px;padding:0 0 24px;border-bottom:1px solid #173047}.reseller-dashboard>header .brand{margin-right:auto}.reseller-dashboard>header>div{display:flex;flex-direction:column}.reseller-dashboard>header span{color:#76b8e8;font-size:12px}
.reseller-stats { display:grid;grid-template-columns:repeat(2,minmax(220px,320px));gap:16px;margin:24px 0}.reseller-stats article{display:flex;gap:15px;align-items:center;padding:20px;border:1px solid #1d405c;border-radius:11px;background:#07192a}.reseller-stats svg{color:#35a8ff}.reseller-stats span{display:flex;flex-direction:column;color:#8fa5b8}.reseller-stats strong{color:#fff;font-size:25px}
.portal-card { margin:18px 0;padding:22px;border:1px solid #1d405c;border-radius:12px;background:#061522dd}.portal-card h2{margin:0}.portal-card .activation-form{padding:0;border:0;background:none;grid-template-columns:repeat(5,minmax(130px,1fr))}
.portal-devices{display:grid;gap:8px;margin-top:16px}.portal-devices article{display:grid;grid-template-columns:35px minmax(0,1fr) 150px 75px;gap:12px;align-items:center;padding:14px;border-radius:8px;background:#081c2c}.portal-devices article>div{display:flex;flex-direction:column}.portal-devices span{color:#8fa5b8;font-size:12px}
@media(max-width:900px){.business-form,.activation-form,.credit-transfer,.portal-card .activation-form{grid-template-columns:1fr 1fr}.activation-line-picker>div{grid-template-columns:1fr}.activation-line-form .activation-submit{min-width:0}.reseller-stats{grid-template-columns:1fr}.portal-devices article{grid-template-columns:35px 1fr}.portal-devices article>span,.portal-devices article>b{grid-column:2}}

/* Painel comercial: grade segura para não cortar selects e botões em telas menores. */
.credit-transfer { grid-template-columns:minmax(240px,1.35fr) 150px minmax(220px,1fr) auto; width:100%; min-width:0; }
.credit-transfer label,.credit-transfer input,.credit-transfer select { width:100%; min-width:0; }
.credit-transfer .primary-button { min-width:150px; }

/* Portal completo da revenda */
.reseller-app { min-height:100vh; padding:0; display:grid; grid-template-columns:238px minmax(0,1fr); background:#f3f6fa; color:#152536; }
.reseller-sidebar { height:100vh; position:sticky; top:0; padding:24px 18px; display:flex; flex-direction:column; background:linear-gradient(180deg,#061523,#071c2d); color:#d7e3ed; box-shadow:8px 0 30px #07131f22; }
.reseller-sidebar .brand { padding:0 10px 24px; color:#fff; }
.reseller-sidebar nav { display:flex; flex-direction:column; gap:4px; }
.reseller-sidebar nav button { height:44px; padding:0 13px; border:0; border-radius:7px; background:transparent; color:#aebfcd; display:flex; align-items:center; gap:13px; text-align:left; cursor:pointer; }
.reseller-sidebar nav button svg { width:19px; }
.reseller-sidebar nav button.active { background:#0875e8; color:#fff; box-shadow:0 8px 24px #0875e844; }
.reseller-identity { margin-top:auto; padding:16px 13px 0; border-top:1px solid #1b3448; display:flex; flex-direction:column; gap:3px; }
.reseller-identity span { color:#57adf4; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.reseller-identity small { color:#7891a5; }
.reseller-page { min-width:0; }
.reseller-topbar { height:68px; padding:0 30px; display:flex; align-items:center; justify-content:flex-end; gap:18px; background:#fff; border-bottom:1px solid #dce4eb; }
.reseller-topbar>span { display:flex; align-items:center; gap:8px; font-weight:700; color:#0875e8; }.reseller-topbar>span svg{width:20px}
.reseller-topbar .secondary-button { height:38px; color:#42586a; border-color:#cad6df; }
.reseller-content { max-width:1400px; margin:auto; padding:30px; }
.portal-title { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.portal-title-actions,.panel-heading-actions { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.portal-title h1 { margin:0 0 5px; font:700 28px Segoe UI,sans-serif; color:#102435; }.portal-title p{margin:0;color:#718596}
.portal-metrics { display:grid; grid-template-columns:repeat(4,minmax(160px,1fr)); gap:16px; margin-bottom:20px; }
.portal-metrics article { min-height:118px; padding:20px; display:flex; align-items:center; gap:16px; border:1px solid #dce5ec; border-radius:11px; background:#fff; box-shadow:0 8px 24px #0a29420a; }
.portal-metrics article>svg { width:37px; height:37px; padding:9px; border-radius:9px; background:#e8f3ff; color:#0875e8; }
.portal-metrics span { display:flex; flex-direction:column; gap:4px; color:#718596; font-size:12px; }.portal-metrics strong{color:#152536;font-size:26px}
.portal-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.reseller-app .portal-card { margin:0 0 18px; padding:22px; border:1px solid #dce5ec; border-radius:11px; background:#fff; color:#22384a; box-shadow:0 8px 28px #0a29420a; }
.reseller-app .portal-card h2 { margin:0 0 18px; color:#183146; font-size:17px; }
.portal-table { overflow:auto; }
.portal-table>div { min-width:560px; min-height:48px; padding:0 12px; display:grid; grid-template-columns:1.4fr .8fr .8fr 1fr; gap:12px; align-items:center; border-bottom:1px solid #e5ebf0; font-size:12px; }
.portal-table>div:first-child { min-height:38px; background:#f7f9fb; color:#7a8d9c; font-size:10px; }
.portal-table>div:last-child { border-bottom:0; }.portal-table small{display:block;color:#8a9ba8;margin-top:3px}.portal-table code{color:#31536e}
.portal-grid .portal-table>div { min-width:0; grid-template-columns:1.5fr .8fr .7fr; }
.users-table>div { min-width:820px; grid-template-columns:1.3fr 1.2fr .8fr .8fr 70px; }
.billing-table>div { min-width:820px; grid-template-columns:.7fr .55fr 1.8fr 1fr; }
.portal-form { max-width:1050px; }
.portal-form-grid { display:grid; grid-template-columns:repeat(3,minmax(180px,1fr)); gap:16px; }
.portal-form label { display:flex; flex-direction:column; gap:7px; color:#536b7c; font-size:12px; }
.portal-form input,.portal-form select { width:100%; min-width:0; height:43px; padding:0 12px; border:1px solid #cbd8e2; border-radius:6px; background:#fff; color:#172b3c; }
.portal-form input:focus,.portal-form select:focus { border-color:#208bf0; outline:2px solid #208bf022; }
.portal-form footer { margin-top:22px; padding-top:18px; border-top:1px solid #e2e9ef; display:flex; justify-content:flex-end; gap:10px; }
.reseller-app .secondary-button { color:#3e5669; border-color:#c8d5df; }
.portal-message { margin-bottom:18px; padding:13px 16px; border:1px solid #9ad8b8; border-radius:8px; background:#e9f9f0; color:#237649; }
.reseller-app .portal-devices article { background:#f6f9fb; color:#243b4e; }.reseller-app .portal-devices span{color:#728899}

@media(max-width:1100px){.credit-transfer{grid-template-columns:1fr 160px}.portal-metrics{grid-template-columns:1fr 1fr}.portal-grid{grid-template-columns:1fr}.portal-form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.reseller-app{grid-template-columns:76px 1fr}.reseller-sidebar{padding:18px 9px}.reseller-sidebar .brand span,.reseller-sidebar nav button{font-size:0}.reseller-sidebar .brand{padding-left:8px}.reseller-sidebar nav button{justify-content:center}.reseller-identity{display:none}.reseller-content{padding:20px 14px}.reseller-topbar{padding:0 14px}.portal-metrics,.portal-form-grid,.credit-transfer{grid-template-columns:1fr}.portal-title{align-items:flex-start}.portal-title .primary-button{font-size:0}.credit-transfer .primary-button{min-width:0}}
.mobile-session-list { display: grid; gap: 12px; }
.mobile-session-list article { display: flex; align-items: center; gap: 14px; padding: 16px; border: 1px solid #d9dde5; border-radius: 12px; background: #fff; }
.mobile-session-list article > svg { width: 28px; height: 28px; color: #2457c5; }
.mobile-session-list article > div { display: grid; gap: 4px; flex: 1; }
.mobile-session-list article span { color: #6b7280; font-size: 13px; }
.mobile-session-list .danger-button { width: auto; margin: 0; padding: 9px 12px; }
.activation-gate { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; background: radial-gradient(circle at 50% 15%, #1d2d55 0, #080b12 55%, #030407 100%); color: #fff; }
.activation-card { width: min(560px, 88vw); display: grid; justify-items: center; gap: 18px; padding: 36px; border: 1px solid rgba(255,255,255,.16); border-radius: 24px; background: rgba(8,12,22,.92); box-shadow: 0 24px 70px #000; text-align: center; }
.activation-card > svg { width: 46px; height: 46px; color: #74a6ff; }
.activation-card h1, .activation-card p { margin: 0; }
.activation-card > label, .activation-card form, .activation-card form label { width: 100%; display: grid; gap: 9px; font-size: 12px; letter-spacing: .12em; text-align: left; }
.activation-card code { padding: 16px; border-radius: 10px; background: #111827; color: #dce8ff; font-size: 24px; letter-spacing: .08em; text-align: center; }
.activation-card input { padding: 16px; border: 2px solid #334155; border-radius: 10px; background: #0d1422; color: #fff; font-size: 22px; letter-spacing: .14em; text-align: center; }
.activation-card form { gap: 14px; }
.activation-message { min-height: 20px; color: #cbd5e1; }
.mac-inventory-panel { margin:20px 0; padding:21px; border:1px solid #24506f; border-radius:12px; background:linear-gradient(145deg,#071c2e,#061522); }
.mac-inventory-panel .panel-heading { margin-bottom:18px; }
.mac-inventory-panel h2,.mac-inventory-panel h3,.mac-inventory-panel p { margin:0; }
.mac-inventory-panel .panel-heading p,.mac-import-source p { margin-top:5px; color:#89a2b5; font-size:12px; line-height:1.5; }
.mac-inventory-total { min-width:170px; padding:12px 15px; border:1px solid #24618c; border-radius:9px; background:#09243a; display:flex; flex-direction:column; align-items:flex-end; }
.mac-inventory-total strong { color:#43afff; font:700 25px Manrope,sans-serif; }
.mac-inventory-total span { color:#8fa8ba; font-size:10px; }
.mac-import-grid { display:grid; grid-template-columns:1fr 1.2fr 1fr 1.05fr; gap:10px; }
.mac-import-grid>label { min-width:0; min-height:90px; margin:0; padding:11px; border:1px solid #203f57; border-radius:8px; background:#071a2b; display:flex; flex-direction:column; gap:7px; color:#b8cad7; font-size:11px; }
.mac-import-grid input,.mac-import-grid select { width:100%; height:39px; padding:0 9px; border:1px solid #2a4b64; border-radius:6px; background:#051522; color:#edf7ff; }
.mac-import-grid small { color:#6f899d; font-size:9px; line-height:1.35; }
.mac-import-grid .mac-secure-check { flex-direction:row; align-items:center; }
.mac-secure-check>input { width:18px; height:18px; flex:0 0 auto; }
.mac-secure-check>span { display:flex; flex-direction:column; gap:5px; }
.mac-import-source { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.5fr); gap:13px; margin-top:13px; padding:15px; border:1px solid #203f57; border-radius:9px; background:#061827; }
.mac-import-source>div { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.mac-import-source h3 { color:#e6f2fa; font-size:15px; }
.mac-import-source textarea { width:100%; min-height:132px; padding:12px; border:1px solid #2b4d66; border-radius:7px; resize:vertical; background:#03111d; color:#dceaf4; font:11px ui-monospace,Consolas,monospace; line-height:1.55; }
.mac-file-button { position:relative; margin-top:13px; cursor:pointer; }
.mac-file-button input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.mac-import-preview { display:grid; grid-template-columns:repeat(4,minmax(105px,1fr)) minmax(205px,1.15fr); gap:9px; margin-top:12px; }
.mac-import-preview>div { min-height:67px; padding:11px 13px; border:1px solid #203e55; border-radius:8px; background:#071a2b; display:flex; flex-direction:column; justify-content:center; gap:4px; }
.mac-import-preview span { color:#71899b; font-size:8px; font-weight:800; letter-spacing:.07em; }
.mac-import-preview strong { font:700 22px Manrope,sans-serif; }
.mac-import-preview .valid { border-color:#176343; background:#08251b; }
.mac-import-preview .valid strong { color:#4ddb8d; }
.mac-import-preview .warning { border-color:#75501e; background:#2b1c09; }
.mac-import-preview .warning strong { color:#ffbd58; }
.mac-import-preview>.primary-button { min-height:67px; justify-content:center; }
.mac-invalid-samples { margin:10px 2px 0!important; color:#e1a95b!important; font-size:10px; }
.mac-import-report { margin-top:13px; padding:13px 15px; border:1px solid #176343; border-radius:8px; background:#08251b; display:flex; align-items:center; gap:11px; }
.mac-import-report>svg { width:23px; color:#4ddb8d; }
.mac-import-report>div { display:flex; flex-direction:column; gap:4px; }
.mac-import-report span { color:#8db9a3; font-size:11px; }
.mac-line-list { margin-top:15px; border:1px solid #203f57; border-radius:9px; overflow:hidden; }
.mac-line-list article { min-height:78px; padding:11px 13px; border-bottom:1px solid #19364d; display:grid; grid-template-columns:28px minmax(240px,1fr) 90px 75px 128px 38px; align-items:center; gap:11px; }
.mac-line-list article:last-child { border-bottom:0; }
.mac-line-list article>svg { width:22px; color:#38a9fb; }
.mac-line-list article>div { min-width:0; display:flex; flex-direction:column; gap:4px; }
.mac-line-list article>div span,.mac-line-list article>div small { color:#8098ab; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mac-line-list article>b,.mac-line-list article>span { display:flex; flex-direction:column; gap:3px; color:#e5f0f7; }
.mac-line-list article>b small,.mac-line-list article>span small { color:#71899b; font-size:9px; font-weight:400; }
.mac-line-list .secondary-button { padding:0 10px; font-size:10px; }
@media(max-width:1250px){.mac-import-grid{grid-template-columns:1fr 1fr}.mac-import-preview{grid-template-columns:repeat(2,1fr)}.mac-import-preview>.primary-button{grid-column:1/-1}.mac-line-list article{grid-template-columns:28px minmax(220px,1fr) 80px 70px 115px 38px}}
@media(max-width:760px){.mac-inventory-panel{padding:15px}.mac-inventory-panel .panel-heading{align-items:flex-start;flex-direction:column}.mac-inventory-total{align-items:flex-start}.mac-import-grid,.mac-import-source,.mac-import-preview{grid-template-columns:1fr}.mac-import-preview>.primary-button{grid-column:auto}.mac-line-list{overflow-x:auto}.mac-line-list article{min-width:720px}}
.activation-card-wide { width: min(820px, 90vw); padding: 28px 34px; gap: 12px; }
.activation-methods { width: 100%; display: grid; grid-template-columns: 1fr 210px; gap: 22px; align-items: center; }
.activation-qr { display: grid; justify-items: center; gap: 5px; color: #dce8ff; }
.activation-qr img { width: 170px; height: 170px; padding: 8px; border-radius: 12px; background: #fff; image-rendering: pixelated; }
.activation-qr small { color: #8da3b9; }
.mobile-scan-button { display: flex; align-items: center; gap: 6px; margin-left: auto; padding: 8px 12px; border: 1px solid #315b7c; border-radius: 8px; background: #10283b; color: #fff; }
.mobile-scan-button svg { width: 18px; }
.mobile-activation { min-height: 100dvh; display: grid; place-content: center; justify-items: center; gap: 18px; padding: 30px; background: #07111b; color: #fff; text-align: center; }
.mobile-activation > svg { width: 58px; height: 58px; color: #4c91ff; }
.mobile-activation p { max-width: 380px; color: #9db0c0; }
.mobile-activation .primary-button { width: min(360px, 90vw); }
.mobile-activation span { max-width: 420px; color: #b9d7c5; }
.mobile-scanner { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: #000; color: #fff; }
.mobile-scanner video { width: 100%; height: 100%; object-fit: cover; }
.mobile-scanner > button { position: absolute; z-index: 2; top: 18px; left: 18px; display: flex; gap: 6px; padding: 10px 14px; border: 0; border-radius: 8px; background: #07111bd9; color: #fff; }
.mobile-scanner .scanner-frame { position: absolute; width: min(68vw, 320px); aspect-ratio: 1; border: 3px solid #36a1ff; border-radius: 18px; box-shadow: 0 0 0 9999px #0007; }
.mobile-scanner p { position: absolute; bottom: 32px; left: 20px; right: 20px; text-align: center; text-shadow: 0 2px 4px #000; }
