/* Identidade visual compartilhada entre painel e aplicativo */
.panel-body{position:relative;background:#070b14}.app-shell{position:relative;isolation:isolate}.has-app-background .app-shell:before{content:"";position:fixed;inset:0;background-image:linear-gradient(120deg,rgba(3,7,18,.94),rgba(5,10,22,.82)),var(--app-bg-image);background-size:cover;background-position:center;background-attachment:fixed;z-index:-2}.has-app-background .app-shell:after{content:"";position:fixed;inset:0;background:radial-gradient(circle at 82% 8%,rgba(79,124,255,.18),transparent 28%),linear-gradient(180deg,rgba(2,6,23,.12),rgba(2,6,23,.58));z-index:-1;pointer-events:none}.has-app-background .main{background:rgba(4,8,18,.36)}

.sidebar{background:linear-gradient(180deg,rgba(8,13,25,.97),rgba(7,11,21,.94));box-shadow:20px 0 60px rgba(0,0,0,.25)}.brand{padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:18px}.brand-logo{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 12px 34px rgba(0,0,0,.25);overflow:hidden;flex:0 0 auto}.brand-logo img,.brand img{width:100%;height:100%;object-fit:contain;border-radius:0;background:transparent;padding:6px}.brand strong{font-size:14px;letter-spacing:.01em}.brand span{font-size:11px}.sidebar nav{gap:6px}.sidebar nav a{font-size:13px;font-weight:600;border:1px solid transparent}.sidebar nav a:hover,.sidebar nav a.active{border-color:rgba(107,132,255,.22);box-shadow:inset 0 0 24px rgba(79,124,255,.08)}.nav-icon{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.055);font-size:15px}.sidebar-foot{gap:14px}.sidebar-user{display:grid;gap:3px}.sidebar-user span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#65758f}.sidebar-user strong{font-size:13px;color:#e7edff}.logout-link{display:flex;justify-content:center;padding:10px 12px!important;border:1px solid rgba(255,84,112,.18);border-radius:10px;color:#ff9aaa!important;background:rgba(255,84,112,.06)}

.topbar{height:92px;background:rgba(5,9,18,.74);border-bottom:1px solid rgba(255,255,255,.075)}.topbar h1{font-size:22px;margin-top:3px}.topbar-eyebrow,.section-kicker{display:block;color:#91a6ff;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.topbar-date{margin-left:auto;display:flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:#dce4f6;font-size:12px;background:rgba(255,255,255,.035)}.topbar-date span{color:#8fa0bb}.content{max-width:1680px;width:100%;margin:0 auto}.card{background:linear-gradient(145deg,rgba(17,24,39,.91),rgba(8,13,24,.94));border-color:rgba(106,124,164,.22);box-shadow:0 24px 60px rgba(0,0,0,.24)}.card-head h2{margin-top:5px}.card-head p{max-width:720px}.btn{font-weight:700;font-size:12px;min-height:42px}.btn.small{min-height:34px;padding:8px 11px;border-radius:9px}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.muted-text{color:var(--muted);font-size:12px}.activation-card{overflow:hidden}.activation-card:before{content:"";display:block;height:3px;margin:-20px -20px 18px;background:linear-gradient(90deg,var(--primary),var(--primary2),transparent)}

.dashboard-hero{min-height:250px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px;overflow:hidden;position:relative}.dashboard-hero:after{content:"";position:absolute;right:-80px;top:-120px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(79,124,255,.22),transparent 68%);pointer-events:none}.dashboard-hero>div:first-child{max-width:760px;position:relative;z-index:1}.dashboard-hero h2{font-size:31px;line-height:1.15;margin:10px 0 12px}.dashboard-hero p{color:#9eabc0;line-height:1.7;margin:0}.hero-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.hero-logo{width:175px;height:175px;border-radius:34px;display:grid;place-items:center;padding:22px;background:rgba(255,255,255,.95);box-shadow:0 30px 80px rgba(0,0,0,.3);position:relative;z-index:1;flex:0 0 auto}.hero-logo img{width:100%;height:100%;object-fit:contain}.stat-grid-3{grid-template-columns:repeat(3,1fr)}.stat{backdrop-filter:blur(14px)}.stat>span{font-weight:800}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr)}.quick-actions{display:grid;gap:10px}.quick-actions>a{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025);transition:.2s}.quick-actions>a:hover{border-color:rgba(79,124,255,.55);transform:translateY(-1px);background:rgba(79,124,255,.07)}.quick-actions>a>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(79,124,255,.13);color:#aebfff;font-size:18px}.quick-actions strong,.quick-actions small{display:block}.quick-actions small{margin-top:3px;color:var(--muted);font-size:11px}

.connection-editor{border-color:rgba(79,124,255,.38);box-shadow:0 24px 70px rgba(25,50,125,.16)}.editor-form{max-width:900px}.playlist-switcher{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 18px}.playlist-switcher a{padding:8px 11px;border:1px solid var(--line);border-radius:9px;color:#aebbd0;font-size:11px}.playlist-switcher a.active{background:rgba(79,124,255,.14);border-color:rgba(79,124,255,.5);color:#dbe4ff}.action-buttons{min-width:150px}.table-wrap{background:rgba(3,7,18,.28)}th{background:rgba(255,255,255,.035)}tbody tr{transition:.18s}tbody tr:hover{background:rgba(79,124,255,.035)}

.settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.settings-card{margin-bottom:0;scroll-margin-top:110px}.professional-preview{height:210px;min-height:210px}.professional-preview.logo-preview{background:linear-gradient(135deg,#fff,#edf2ff)}.professional-preview.logo-preview img{width:72%;height:72%;object-fit:contain}.professional-preview.bg-preview img{width:100%;height:100%;object-fit:cover}.asset-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.asset-preview{display:grid;gap:12px}.preview-box{min-height:150px;border:1px solid var(--line);border-radius:14px;background:rgba(2,6,23,.45);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--muted)}.preview-box img{width:100%;height:100%;object-fit:cover}.logo-preview{min-height:110px;background:#fff}.logo-preview img{width:75%;height:75%;object-fit:contain}.bg-preview span{padding:24px;text-align:center}

.public-body{background-size:cover;background-position:center;background-attachment:fixed}.public-wrap{padding-top:10px}.public-brand img{box-shadow:0 18px 45px rgba(0,0,0,.3)}.public-card{backdrop-filter:blur(18px)}

@media(max-width:1100px){.dashboard-grid,.settings-layout{grid-template-columns:1fr}.dashboard-hero h2{font-size:27px}}
@media(max-width:900px){.asset-grid{grid-template-columns:1fr}.dashboard-hero{padding:26px}.hero-logo{width:135px;height:135px;border-radius:26px}.stat-grid-3{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.topbar-date{display:none}.dashboard-hero{align-items:flex-start}.hero-logo{width:95px;height:95px;padding:13px;border-radius:20px}.dashboard-hero h2{font-size:24px}.stat-grid-3{grid-template-columns:1fr}.settings-layout{gap:14px}.professional-preview{height:170px;min-height:170px}.action-buttons{min-width:130px}}
@media(max-width:560px){.dashboard-hero{display:block}.hero-logo{margin-top:22px}.form-actions{display:grid}.form-actions .btn{width:100%}}

/* Tema IBO One: preto, verde e vidro escuro */
:root{
    --bg:#020705;
    --panel:#08120e;
    --panel2:#0d1b15;
    --line:rgba(112,168,140,.22);
    --text:#f4fbf7;
    --muted:#93a9a0;
    --primary:#00d084;
    --primary2:#00a96c;
    --success:#2ee69a;
    --danger:#ff617b;
    --warning:#f4bd50;
}
html,body{overflow-x:hidden;background:#020705}
.panel-body{background:#020705}
.app-shell,.main,.content,.card{min-width:0}
.has-app-background .app-shell:before{
    background-image:linear-gradient(115deg,rgba(0,5,3,.93),rgba(1,10,7,.73)),var(--app-bg-image);
    background-position:center;
}
.has-app-background .app-shell:after{
    background:radial-gradient(circle at 82% 8%,rgba(0,208,132,.16),transparent 30%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,4,2,.5));
}
.has-app-background .main{background:rgba(0,6,4,.22)}
.sidebar{
    background:linear-gradient(180deg,rgba(2,10,7,.97),rgba(1,7,5,.94));
    border-right-color:rgba(63,132,98,.24);
}
.brand{display:grid;gap:9px;align-items:center}
.brand-logo{
    width:145px;
    height:48px;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
}
.brand-logo img,.brand img{padding:0;object-fit:contain;object-position:left center}
.brand-copy strong{font-size:13px}.brand-copy span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#789087}
.sidebar nav a:hover,.sidebar nav a.active{
    background:linear-gradient(135deg,rgba(0,208,132,.2),rgba(0,125,81,.12));
    border-color:rgba(0,208,132,.28);
    box-shadow:inset 3px 0 0 var(--primary),0 8px 24px rgba(0,0,0,.14);
}
.nav-icon{background:rgba(0,208,132,.08);color:#7df3be}
.topbar{background:rgba(1,8,5,.78);border-bottom-color:rgba(77,146,111,.2)}
.topbar-eyebrow,.section-kicker{color:#67e9ae}
.topbar-date{border-color:rgba(0,208,132,.24);background:rgba(2,14,9,.58)}
.card{
    background:linear-gradient(145deg,rgba(8,20,14,.94),rgba(3,11,8,.92));
    border-color:rgba(81,148,115,.22);
    box-shadow:0 20px 55px rgba(0,0,0,.28);
    backdrop-filter:blur(16px);
}
.btn.primary{
    background:linear-gradient(135deg,var(--primary),var(--primary2));
    color:#001b11;
    font-weight:800;
    box-shadow:0 10px 28px rgba(0,208,132,.18);
}
.btn.primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.form-stack input,.form-stack select,.search input{
    background:rgba(1,10,7,.72);
    border-color:rgba(95,157,126,.28);
}
.form-stack input:focus,.form-stack select:focus,.search input:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(0,208,132,.12);
}
.table-wrap{border-color:rgba(91,151,121,.22)}
th{background:rgba(0,208,132,.045);color:#91b5a5}
td{border-bottom-color:rgba(92,146,119,.16)}
.icon-btn{background:rgba(3,19,12,.86);border-color:rgba(81,151,116,.28)}
.icon-btn:hover{border-color:var(--primary);color:#8af1c3}
.logout-link{border-color:rgba(255,97,123,.25)!important;background:rgba(255,97,123,.05)!important}

/* Página de ativações: tabela principal + modal */
.page-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:22px;
    margin-bottom:20px;
}
.page-heading h2{margin:5px 0 5px;font-size:25px;letter-spacing:-.025em}
.page-heading p{margin:0;color:var(--muted);font-size:13px}
.add-activation-btn{min-height:45px;padding-inline:18px;white-space:nowrap}
.activation-list-card{padding:0;overflow:hidden}
.list-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 20px;
    border-bottom:1px solid rgba(91,151,121,.18);
}
.list-summary{display:flex;align-items:baseline;gap:8px}
.list-summary strong{font-size:21px;color:#e9fff4}.list-summary span{font-size:12px;color:var(--muted)}
.activation-search{position:relative;max-width:390px;width:min(390px,100%)}
.activation-search input{padding-right:78px}
.search-clear{position:absolute;right:43px;top:50%;transform:translateY(-50%);color:#8fa99d;font-size:18px;padding:5px}
.activation-table-wrap{border:0;border-radius:0}
.activation-table{min-width:850px}
.activation-table th,.activation-table td{padding:15px 18px}
.table-actions-title{text-align:right}
.activation-actions{justify-content:flex-end}
.device-cell{display:flex;align-items:center;gap:10px}
.device-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:rgba(0,208,132,.1);color:#64e9ad}
.password-mask{font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.activation-empty{padding:54px 20px!important;display:grid;justify-items:center;gap:8px}
.activation-empty strong{font-size:16px;color:var(--text)}
.activation-empty span{font-size:12px;max-width:360px}
.activation-empty .btn{margin-top:8px}
.empty-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(0,208,132,.09);color:#65ebb0;font-size:24px;margin-bottom:4px}

.panel-modal{
    width:min(650px,calc(100% - 28px));
    max-height:calc(100vh - 32px);
    padding:0;
    border:1px solid rgba(75,156,113,.34);
    border-radius:22px;
    color:var(--text);
    background:transparent;
    box-shadow:0 35px 110px rgba(0,0,0,.62);
    overflow:hidden;
}
.panel-modal::backdrop{background:rgba(0,4,2,.78);backdrop-filter:blur(8px)}
.modal-shell{background:linear-gradient(145deg,rgba(8,22,15,.99),rgba(2,10,7,.99));padding:24px;max-height:calc(100vh - 32px);overflow:auto}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid rgba(88,151,119,.2)}
.modal-head h2{margin:5px 0 5px;font-size:22px}.modal-head p{margin:0;color:var(--muted);font-size:12px}
.modal-close{width:38px;height:38px;border-radius:11px;border:1px solid rgba(87,151,118,.25);background:rgba(255,255,255,.025);color:#cfe6da;font-size:23px;cursor:pointer;flex:0 0 auto}
.modal-close:hover{border-color:var(--primary);color:white}
.activation-form{gap:15px}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:5px;padding-top:17px;border-top:1px solid rgba(88,151,119,.18)}
.modal-actions .btn{min-width:140px}

@media(max-width:760px){
    .brand-logo{width:132px;height:43px}
    .page-heading{align-items:stretch;flex-direction:column;gap:16px}
    .page-heading h2{font-size:22px}
    .add-activation-btn{width:100%}
    .activation-list-card{margin-left:-2px;margin-right:-2px}
    .list-toolbar{align-items:stretch;flex-direction:column;padding:16px}
    .activation-search{max-width:none}
    .activation-table-wrap{overflow:visible}
    .responsive-table{min-width:0;display:block}
    .responsive-table thead{display:none}
    .responsive-table tbody{display:grid;gap:12px;padding:12px}
    .responsive-table tr{display:block;border:1px solid rgba(88,151,119,.2);border-radius:15px;background:rgba(2,13,9,.54);overflow:hidden}
    .responsive-table tr.empty-row{border:0;background:transparent}
    .responsive-table td{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:12px 14px;border-bottom:1px solid rgba(88,151,119,.13);text-align:right}
    .responsive-table td:before{content:attr(data-label);font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#789589;text-align:left;padding-top:3px;flex:0 0 102px}
    .responsive-table td:last-child{border-bottom:0}
    .responsive-table .device-cell{justify-content:flex-end}
    .responsive-table .activation-actions{justify-content:flex-end}
    .responsive-table .activation-empty{display:grid;text-align:center}
    .responsive-table .activation-empty:before{display:none}
    .panel-modal{width:100%;max-width:none;max-height:92vh;margin:auto 0 0;border-radius:22px 22px 0 0;border-bottom:0}
    .modal-shell{max-height:92vh;padding:20px 17px 18px}
    .modal-actions{position:sticky;bottom:-18px;background:linear-gradient(180deg,rgba(3,11,8,.94),rgba(3,11,8,1) 25%);margin-left:-17px;margin-right:-17px;padding:18px 17px}
    .modal-actions .btn{min-width:0;flex:1}
}

@media(max-width:460px){
    .content{padding:16px 13px}
    .activation-table th,.activation-table td{padding:11px 12px}
    .responsive-table td{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px}
    .responsive-table td:before{flex-basis:auto}
    .responsive-table td>*{min-width:0;overflow-wrap:anywhere}
    .modal-head h2{font-size:20px}
}

/* Login e ativação pública com a mesma identidade do aplicativo */
.login-body,.public-body{
    background-color:#020705;
    background-size:cover;
    background-position:center;
    background-attachment:fixed;
}
.login-card,.public-card{
    background:linear-gradient(145deg,rgba(7,20,14,.96),rgba(2,10,7,.95));
    border-color:rgba(81,157,117,.3);
    box-shadow:0 32px 90px rgba(0,0,0,.52);
}
.login-logo img{
    width:min(250px,85%);
    height:84px;
    object-fit:contain;
    background:transparent;
    border-radius:0;
    padding:0;
}
.public-brand img{
    width:150px;
    height:54px;
    object-fit:contain;
    object-position:left center;
    background:transparent;
    border-radius:0;
    padding:0;
}
.login-card h1,.public-brand h1{letter-spacing:-.02em}

/* Finalização MaxRebrands: logos transparentes e créditos no login */
.brand-logo,
.hero-logo,
.login-logo,
.public-brand,
.logo-preview,
.professional-preview.logo-preview{
    background:transparent!important;
    box-shadow:none!important;
}

.brand-logo img,
.hero-logo img,
.login-logo img,
.public-brand img,
.logo-preview img,
.professional-preview.logo-preview img{
    background:transparent!important;
}

.hero-logo{
    width:220px;
    height:130px;
    padding:0;
    border-radius:0;
    overflow:visible;
}
.hero-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    filter:drop-shadow(0 18px 32px rgba(0,0,0,.34));
}

.professional-preview.logo-preview,
.preview-box.logo-preview{
    background:linear-gradient(145deg,rgba(0,16,10,.82),rgba(2,8,5,.92))!important;
    border-color:rgba(0,208,132,.23);
}

.login-page-wrap{
    width:100%;
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:24px;
}
.login-card{
    width:min(470px,100%);
}
.login-logo{
    min-height:86px;
    display:grid;
    place-items:center;
}
.login-logo img{
    width:min(285px,90%);
    height:88px;
    filter:drop-shadow(0 14px 28px rgba(0,0,0,.35));
}

.developer-credits{
    margin-top:24px;
    padding-top:20px;
    border-top:1px solid rgba(93,166,128,.2);
}
.developer-title{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:13px;
}
.developer-title small,
.developer-title strong{
    display:block;
}
.developer-title small{
    color:#78958a;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.11em;
    margin-bottom:2px;
}
.developer-title strong{
    color:#effff7;
    font-size:14px;
}
.developer-badge{
    width:38px;
    height:38px;
    border-radius:11px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--primary),var(--primary2));
    color:#001b11;
    font-weight:900;
    font-size:11px;
    box-shadow:0 10px 24px rgba(0,208,132,.18);
}
.developer-links{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
.developer-links a{
    min-width:0;
    display:flex;
    align-items:center;
    gap:9px;
    padding:10px;
    border:1px solid rgba(91,159,124,.2);
    border-radius:12px;
    background:rgba(0,208,132,.035);
    transition:.2s ease;
}
.developer-links a:hover{
    border-color:rgba(0,208,132,.52);
    background:rgba(0,208,132,.08);
    transform:translateY(-1px);
}
.developer-links small,
.developer-links strong{
    display:block;
    min-width:0;
}
.developer-links small{
    color:#7f9a8e;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:2px;
}
.developer-links strong{
    color:#dff8eb;
    font-size:10px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.credit-icon{
    width:29px;
    height:29px;
    flex:0 0 auto;
    border-radius:9px;
    display:grid;
    place-items:center;
    color:#53e7aa;
    background:rgba(0,208,132,.09);
}
.credit-icon svg{
    width:16px;
    height:16px;
    fill:currentColor;
}

@media(max-width:760px){
    .hero-logo{width:150px;height:90px;margin-top:18px}
    .login-page-wrap{padding:16px}
    .developer-links{grid-template-columns:1fr}
    .developer-links strong{font-size:11px}
}

@media(max-width:460px){
    .login-card{padding:21px 17px}
    .login-logo img{height:72px}
    .developer-credits{margin-top:20px;padding-top:17px}
}
