:root{
  --bg:#090b10;--panel:#11151d;--panel2:#171c25;--line:#252c38;--text:#f4f7fb;--muted:#939dac;
  --accent:#4ef08d;--accent2:#21c96a;--warning:#ffb84d;--danger:#ff6b6b;--shadow:0 18px 60px rgba(0,0,0,.28)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at top,#121824 0,#090b10 42%);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(9,11,16,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between}.public-brand,.admin-brand,.auth-brand{display:flex;align-items:center;gap:12px}.public-brand span:last-child,.admin-brand span:last-child,.auth-brand div{display:flex;flex-direction:column}.public-brand b,.admin-brand b,.auth-brand b{font-size:17px}.public-brand small,.admin-brand small,.auth-brand small{color:var(--muted);font-size:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,var(--accent),var(--accent2));color:#06120a;font-weight:900;box-shadow:0 8px 28px rgba(78,240,141,.24)}.header-admin{padding:10px 14px;border:1px solid var(--line);border-radius:10px;color:#cbd3df;font-size:13px}.header-admin:hover{border-color:#3b4656;background:#121721}.hero{padding:80px 0 58px;border-bottom:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,rgba(78,240,141,.055),transparent)}.hero-inner{text-align:center}.eyebrow{display:inline-block;color:var(--accent);font-size:11px;letter-spacing:.18em;font-weight:800;margin-bottom:14px}.hero h1{font-size:clamp(34px,5vw,60px);line-height:1.03;margin:0 auto 16px;letter-spacing:-.035em;max-width:780px}.hero p{color:var(--muted);max-width:680px;margin:0 auto;font-size:17px;line-height:1.7}.hero-stats{margin-top:28px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero-stats span{padding:10px 14px;border-radius:999px;background:#11161f;border:1px solid var(--line);color:#aeb7c4;font-size:13px}.hero-stats b{color:#fff}.content-section{padding:34px 0 70px}.filters,.admin-search{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.search-box{flex:1;min-width:240px;display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.search-box input,.admin-search input{background:transparent;border:0;color:#fff;outline:none;width:100%;padding:13px 0}.admin-search input{padding:13px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;min-width:260px;flex:1}.filters select{background:var(--panel);border:1px solid var(--line);color:#fff;border-radius:12px;padding:0 38px 0 14px;min-height:46px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:12px 16px;background:linear-gradient(145deg,var(--accent),var(--accent2));color:#06120a;font-weight:800;cursor:pointer;transition:.18s transform,.18s filter}.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn.secondary{background:#202835;color:#fff;border:1px solid #303b4b}.btn.ghost{background:transparent;color:#c4ccd7;border:1px solid var(--line)}.apps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.app-card{position:relative;background:linear-gradient(180deg,#131821,#0f131a);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow);overflow:hidden}.app-card.featured{border-color:rgba(78,240,141,.45);box-shadow:0 20px 60px rgba(18,87,49,.18)}.featured-badge{position:absolute;top:14px;right:14px;color:#071009;background:var(--accent);font-size:9px;letter-spacing:.11em;font-weight:900;padding:6px 8px;border-radius:999px}.app-top{display:flex;gap:14px;align-items:center}.app-icon-wrap{flex:0 0 auto}.app-icon{width:66px;height:66px;object-fit:cover;border-radius:17px;border:1px solid #303847;background:#1a202a}.app-icon.placeholder{display:grid;place-items:center;font-size:26px;font-weight:900;color:#09110b;background:linear-gradient(145deg,#91f8b7,var(--accent2))}.app-heading{min-width:0}.app-heading h2{font-size:19px;margin:0 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:58px}.app-meta-line{display:flex;gap:6px;flex-wrap:wrap}.app-meta-line span{font-size:10px;color:#a7b0bd;background:#1a202a;border:1px solid #262e3a;border-radius:999px;padding:4px 7px}.app-description{color:#a8b0bd;font-size:13px;line-height:1.65;margin:18px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.codes-area{display:grid;gap:8px;margin-top:18px}.code-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 12px;border:1px solid #27303d;background:#0c1016;border-radius:12px}.code-row span{display:flex;flex-direction:column;min-width:0}.code-row small{font-size:9px;text-transform:uppercase;color:#7f8998;letter-spacing:.08em}.code-row b{font-size:15px;letter-spacing:.04em}.copy-btn{border:1px solid #334052;color:#d6dde7;background:#1a212b;border-radius:8px;padding:8px 10px;font-size:11px;cursor:pointer}.copy-btn.copied{color:#071108;background:var(--accent);border-color:var(--accent)}.download-btn{width:100%;margin-top:18px}.download-btn span{font-size:18px}.card-footer-meta{display:flex;justify-content:space-between;gap:10px;color:#858f9e;font-size:11px;margin-top:15px}.card-footer-meta b{color:#c9d1dc}.updated-line{font-size:10px;color:#697484;border-top:1px solid #202732;margin-top:13px;padding-top:12px}.empty-state{text-align:center;border:1px dashed #2b3442;background:#0f1319;border-radius:20px;padding:70px 20px}.empty-icon{font-size:34px;color:var(--accent)}.empty-state h2{margin:12px 0 6px}.empty-state p{color:var(--muted)}.site-footer{border-top:1px solid rgba(255,255,255,.05);color:#697484;font-size:12px;padding:28px 0;text-align:center}
/* Auth */.auth-body{display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,rgba(78,240,141,.08),transparent 35%),#090b10}.auth-card{width:min(430px,100%);padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.auth-brand{margin-bottom:24px}.form-stack,.app-form{display:grid;gap:16px}label{display:grid;gap:7px;color:#d5dce5;font-size:13px;font-weight:650}label span{color:var(--accent)}label small{color:#788393;font-weight:500}input,textarea,select{width:100%;border:1px solid #2b3442;background:#0b0f15;color:#fff;border-radius:10px;padding:12px 13px;outline:none}input:focus,textarea:focus,select:focus{border-color:rgba(78,240,141,.55);box-shadow:0 0 0 3px rgba(78,240,141,.07)}textarea{resize:vertical}.auth-back{display:block;text-align:center;color:#8e98a7;font-size:12px;margin-top:18px}.flash{padding:12px 14px;border-radius:10px;font-size:13px;margin-bottom:18px;border:1px solid}.flash.success{background:rgba(78,240,141,.08);border-color:rgba(78,240,141,.25);color:#9af6ba}.flash.error{background:rgba(255,107,107,.08);border-color:rgba(255,107,107,.25);color:#ffb0b0}
/* Admin */.admin-body{background:#0a0d12}.admin-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.admin-sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;background:#0d1117;border-right:1px solid var(--line);display:flex;flex-direction:column}.admin-brand{padding:0 8px 22px;border-bottom:1px solid #1f2630}.admin-nav{display:grid;gap:6px;margin-top:18px}.admin-nav a,.admin-logout{padding:11px 12px;border-radius:9px;color:#9aa5b4;font-size:13px}.admin-nav a:hover,.admin-nav a.active{background:#171d26;color:#fff}.admin-nav a.active{box-shadow:inset 3px 0 0 var(--accent)}.admin-logout{margin-top:auto;color:#ff9d9d}.admin-main{padding:34px;min-width:0}.admin-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.admin-page-head h1{font-size:31px;margin:0 0 8px}.admin-page-head p{color:var(--muted);margin:0;font-size:14px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat-card,.panel-card{background:var(--panel);border:1px solid var(--line);border-radius:16px}.stat-card{padding:20px}.stat-card small{color:#7e8998;font-size:11px;text-transform:uppercase;letter-spacing:.07em}.stat-card strong{display:block;font-size:31px;margin:9px 0 4px}.stat-card .stat-text{font-size:22px}.stat-card span{color:#7f8998;font-size:11px}.panel-card{padding:20px}.panel-card-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.panel-card h2{font-size:17px;margin:0}.panel-card-head p{font-size:12px;color:#788393;margin:4px 0 0}.panel-card-head a{font-size:12px;color:var(--accent)}.admin-app-list{display:grid}.admin-app-row{display:grid;grid-template-columns:46px minmax(0,1fr) 110px 70px 55px;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #202730}.admin-app-row:first-child{border-top:0}.admin-app-row-wide{grid-template-columns:46px minmax(220px,1fr) 100px 70px minmax(290px,auto)}.mini-app-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#222a35;color:var(--accent);font-weight:900;overflow:hidden}.mini-app-icon img{width:100%;height:100%;object-fit:cover}.admin-app-info{min-width:0;display:flex;flex-direction:column;gap:4px}.admin-app-info b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-app-info b em{font-style:normal;color:var(--accent)}.admin-app-info span,.admin-app-numbers span{font-size:10px;color:#788393}.admin-app-numbers{display:flex;flex-direction:column;text-align:right}.status-pill{font-size:10px;text-align:center;border-radius:999px;padding:6px 8px}.status-pill.on{background:rgba(78,240,141,.1);color:#8ef3b3}.status-pill.off{background:#252a33;color:#8e98a6}.icon-action{font-size:11px;color:#c3ccd8}.icon-action:hover{color:#fff}.icon-action.danger{color:#ff8e8e}.row-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center;flex-wrap:wrap}.row-actions form{margin:0}.button-link{border:0;background:transparent;padding:0;cursor:pointer}.empty-inline{color:#8792a1;padding:24px;text-align:center}.table-card{padding:8px 20px}.app-form{max-width:980px}.app-form hr{border:0;border-top:1px solid #252d38;width:100%;margin:4px 0}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.upload-box{padding:16px;border:1px dashed #344051;border-radius:13px;background:#0c1016}.upload-box input[type=file]{padding:9px;background:#111721}.current-image{display:flex;align-items:center;gap:12px}.current-image img{width:58px;height:58px;border-radius:12px;object-fit:cover}.check-line{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:8px;font-weight:500}.check-line input{width:auto}.switches{display:flex;gap:20px;flex-wrap:wrap;padding:12px 0}.form-actions{display:flex;gap:10px}.app-form>h2{margin-top:4px}
@media(max-width:980px){.apps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto;display:block}.admin-nav{grid-template-columns:repeat(4,1fr)}.admin-logout{display:block;margin-top:10px}.admin-main{padding:24px}.admin-app-row-wide{grid-template-columns:46px 1fr 80px 70px}.admin-app-row-wide .row-actions{grid-column:2/-1;justify-content:flex-start}.stats-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){.hero{padding:54px 0 38px}.apps-grid{grid-template-columns:1fr}.header-admin{display:none}.filters>*{width:100%}.filters .search-box{min-width:100%}.stats-grid{grid-template-columns:1fr}.admin-main{padding:18px 14px}.admin-page-head{flex-direction:column}.admin-page-head .btn{width:100%}.admin-nav{grid-template-columns:1fr 1fr}.form-grid.two,.upload-grid{grid-template-columns:1fr}.admin-app-row,.admin-app-row-wide{grid-template-columns:42px 1fr auto}.admin-app-row .admin-app-numbers{display:none}.admin-app-row .status-pill{grid-column:3}.admin-app-row>.icon-action{grid-column:2}.admin-app-row-wide .row-actions{grid-column:2/-1}.card-footer-meta{flex-direction:column;gap:5px}.app-heading h2{padding-right:0}.featured-badge{position:static;display:inline-block;margin-bottom:12px}}

/* ===== Tema dinâmico v2 ===== */
body{background:radial-gradient(circle at top,var(--panel2) 0,var(--bg) 42%);color:var(--text)}
.site-header{background:color-mix(in srgb,var(--bg) 84%,transparent);border-bottom-color:color-mix(in srgb,var(--line) 70%,transparent)}
.public-brand small,.admin-brand small,.auth-brand small,.hero p,.empty-state p,.admin-page-head p{color:var(--muted)}
.brand-mark{background:linear-gradient(145deg,var(--accent),var(--accent2));color:var(--bg);box-shadow:0 8px 28px color-mix(in srgb,var(--accent) 24%,transparent)}
.header-admin{border-color:var(--line);color:var(--text)}
.header-admin:hover{border-color:color-mix(in srgb,var(--line) 55%,var(--text));background:var(--panel2)}
.hero{border-bottom-color:color-mix(in srgb,var(--line) 55%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 6%,transparent),transparent)}
.hero-stats span,.search-box,.admin-search input,.filters select,.stat-card,.panel-card,.auth-card{background:var(--panel);border-color:var(--line)}
.hero-stats span,.app-description,.card-footer-meta,.updated-line,.empty-inline,.auth-back{color:var(--muted)}
.hero-stats b,.search-box input,.admin-search input,.filters select,input,textarea,select{color:var(--text)}
.btn{background:linear-gradient(145deg,var(--accent),var(--accent2));color:var(--bg)}
.btn.secondary{background:var(--panel2);color:var(--text);border-color:var(--line)}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--line)}
.app-card{background:linear-gradient(180deg,var(--panel2),var(--panel));border-color:var(--line)}
.app-card.featured{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));box-shadow:0 20px 60px color-mix(in srgb,var(--accent) 16%,transparent)}
.featured-badge{background:var(--accent);color:var(--bg)}
.app-icon,.app-meta-line span{background:var(--panel2);border-color:var(--line)}
.app-meta-line span{color:var(--muted)}
.app-icon.placeholder{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 65%,white),var(--accent2));color:var(--bg)}
.code-row{border-color:var(--line);background:color-mix(in srgb,var(--bg) 82%,var(--panel))}
.code-row small{color:var(--muted)}
.copy-btn{border-color:var(--line);color:var(--text);background:var(--panel2)}
.copy-btn.copied{color:var(--bg);background:var(--accent);border-color:var(--accent)}
.updated-line{border-top-color:var(--line)}
.empty-state{border-color:var(--line);background:var(--panel)}
.site-footer{border-top-color:color-mix(in srgb,var(--line) 60%,transparent);color:var(--muted)}
.auth-body{background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--accent) 8%,transparent),transparent 35%),var(--bg)}
label{color:var(--text)}label small{color:var(--muted)}
input,textarea,select{border-color:var(--line);background:color-mix(in srgb,var(--bg) 82%,var(--panel))}
input:focus,textarea:focus,select:focus{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}
.flash.success{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 25%,transparent);color:color-mix(in srgb,var(--accent) 72%,white)}
.flash.error{background:color-mix(in srgb,var(--danger) 8%,transparent);border-color:color-mix(in srgb,var(--danger) 25%,transparent);color:color-mix(in srgb,var(--danger) 60%,white)}
.admin-body{background:var(--bg)}
.admin-sidebar{background:color-mix(in srgb,var(--bg) 80%,var(--panel));border-right-color:var(--line)}
.admin-brand{border-bottom-color:var(--line)}
.admin-nav a,.admin-logout{color:var(--muted)}
.admin-nav a:hover,.admin-nav a.active{background:var(--panel2);color:var(--text)}
.admin-nav a.active{box-shadow:inset 3px 0 0 var(--accent)}
.admin-logout,.icon-action.danger{color:var(--danger)}
.stat-card small,.stat-card span,.panel-card-head p,.admin-app-info span,.admin-app-numbers span{color:var(--muted)}
.panel-card-head a,.mini-app-icon,.admin-app-info b em{color:var(--accent)}
.admin-app-row{border-top-color:var(--line)}
.mini-app-icon{background:var(--panel2)}
.status-pill.on{background:color-mix(in srgb,var(--accent) 11%,transparent);color:color-mix(in srgb,var(--accent) 70%,white)}
.status-pill.off{background:var(--panel2);color:var(--muted)}
.icon-action{color:var(--text)}
.app-form hr{border-top-color:var(--line)}
.upload-box{border-color:color-mix(in srgb,var(--line) 85%,var(--text));background:color-mix(in srgb,var(--bg) 84%,var(--panel))}
.upload-box input[type=file]{background:var(--panel2)}

/* Configurações e armazenamento */
.settings-sections{display:grid;gap:18px;max-width:1060px}
.settings-section{display:grid;gap:20px}
.settings-title>div{display:flex;align-items:flex-start;gap:12px}
.settings-title h2{margin:0 0 5px;font-size:18px}.settings-title p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.settings-step{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:9px;background:color-mix(in srgb,var(--accent) 12%,var(--panel2));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--accent);font-size:12px;font-weight:900}
.storage-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:18px;align-items:stretch}
.info-box{margin-top:12px;padding:13px 14px;border-radius:11px;border:1px solid var(--line);background:var(--panel2);display:grid;gap:4px}.info-box b{font-size:12px}.info-box span{font-size:11px;line-height:1.55;color:var(--muted)}
.storage-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,var(--panel2),var(--panel));display:flex;flex-direction:column;justify-content:center}
.storage-card.warning{border-color:color-mix(in srgb,var(--warning) 55%,var(--line))}.storage-card.critical{border-color:color-mix(in srgb,var(--danger) 60%,var(--line))}
.storage-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px;color:var(--muted)}.storage-card-head b{color:var(--text)}
.storage-progress,.mini-progress{height:9px;border-radius:999px;background:color-mix(in srgb,var(--bg) 70%,var(--panel2));overflow:hidden;border:1px solid var(--line)}
.storage-progress{margin:15px 0 13px}.storage-progress i,.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:inherit;transition:width .25s ease}
.storage-card.warning .storage-progress i,.storage-mini-card.warning .mini-progress i{background:linear-gradient(90deg,color-mix(in srgb,var(--warning) 72%,white),var(--warning))}
.storage-card.critical .storage-progress i,.storage-mini-card.critical .mini-progress i{background:linear-gradient(90deg,var(--danger),#ff3f67)}
.storage-numbers{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.storage-numbers strong{font-size:26px}.storage-numbers span,.storage-status{color:var(--muted);font-size:11px}.storage-status{margin-top:7px}
.storage-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.storage-notes>div{padding:11px 12px;border:1px solid var(--line);background:var(--panel2);border-radius:10px;display:flex;justify-content:space-between;gap:10px;font-size:11px}.storage-notes>div span{color:var(--muted)}
.settings-help{margin:0;color:var(--muted);font-size:10px;line-height:1.6}
.stats-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.storage-mini-card .mini-progress{margin-top:12px;height:6px}.storage-alert{display:flex;align-items:center;gap:10px;padding:12px 14px;margin:-4px 0 20px;border-radius:11px;border:1px solid var(--line);background:var(--panel)}.storage-alert b{font-size:12px}.storage-alert span{font-size:11px;color:var(--muted);flex:1}.storage-alert a{font-size:11px;color:var(--accent)}.storage-alert.warning{border-color:color-mix(in srgb,var(--warning) 40%,var(--line))}.storage-alert.critical{border-color:color-mix(in srgb,var(--danger) 50%,var(--line))}

.locked-limit-card{padding:16px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--accent) 5%,var(--panel2));display:flex;gap:13px;align-items:flex-start}.locked-limit-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:10px;background:var(--panel);border:1px solid var(--line);font-size:17px}.locked-limit-card div{display:grid;gap:4px}.locked-limit-card small{font-size:9px;letter-spacing:.1em;color:var(--accent);font-weight:900}.locked-limit-card strong{font-size:24px}.locked-limit-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.theme-help{margin:0}
.theme-presets{display:flex;gap:8px;flex-wrap:wrap}.preset-btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:8px 11px;font-size:11px;cursor:pointer}.preset-btn:hover{border-color:var(--accent)}
.color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.color-field{border:1px solid var(--line);border-radius:12px;padding:13px;background:color-mix(in srgb,var(--bg) 45%,var(--panel))}.color-field-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.color-field-head b{font-size:12px}.color-field-head em{font-style:normal;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;color:var(--muted);text-transform:uppercase}.color-picker-row{display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:center}.color-picker-row input[type=color]{width:46px;height:38px;padding:3px;cursor:pointer;background:transparent}.color-picker-row small{font-size:10px;line-height:1.4;color:var(--muted)}
.theme-preview{border:1px dashed var(--line);border-radius:14px;padding:18px;background:var(--bg)}.preview-card{max-width:360px;padding:18px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--text)}.preview-card>span{font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--accent)}.preview-card h3{margin:8px 0 6px}.preview-card p{margin:0 0 14px;color:var(--muted);font-size:11px}.preview-card button{border:0;border-radius:9px;padding:9px 12px;background:linear-gradient(145deg,var(--accent),var(--accent2));color:var(--bg);font-weight:800}
.theme-reset-row{display:flex;justify-content:flex-end}.sticky-settings-save{position:sticky;bottom:16px;display:flex;justify-content:flex-end;padding:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-radius:14px;z-index:10}.sticky-settings-save .btn{min-width:240px}

@media(max-width:1100px){.stats-grid-four{grid-template-columns:repeat(2,1fr)}.color-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.storage-settings-grid,.storage-notes,.color-grid{grid-template-columns:1fr}.stats-grid-four{grid-template-columns:1fr}.storage-alert{align-items:flex-start;flex-direction:column}.sticky-settings-save .btn{width:100%;min-width:0}.theme-reset-row .btn{width:100%}}

/* Licenciamento */
.license-renew-alert{display:flex;align-items:center;gap:18px;margin:0 0 22px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--danger) 58%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--danger) 10%,var(--panel));box-shadow:0 12px 34px color-mix(in srgb,var(--danger) 8%,transparent)}
.license-renew-alert-text{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.license-renew-alert-text b{color:#fff;font-size:14px}.license-renew-alert-text span{color:var(--muted);font-size:11px;line-height:1.45}.license-renew-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border-radius:10px;background:var(--danger);color:#fff;font-size:12px;font-weight:900;letter-spacing:.035em;white-space:nowrap;box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 12%,transparent)}.license-renew-button:hover{filter:brightness(1.08)}
.license-renew-alert-expired{border-width:2px;background:color-mix(in srgb,var(--danger) 16%,var(--panel));box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 6%,transparent),0 18px 44px color-mix(in srgb,var(--danger) 14%,transparent)}
.license-renew-alert-expired .license-renew-alert-text b{color:var(--danger);font-size:15px;letter-spacing:.025em}.license-renew-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.license-check-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid color-mix(in srgb,var(--danger) 38%,var(--line));border-radius:10px;background:var(--surface);color:var(--text);font-size:11px;font-weight:850;letter-spacing:.03em;white-space:nowrap}.license-check-button:hover{border-color:var(--danger)}
@media(max-width:700px){.license-renew-alert{align-items:flex-start;flex-direction:column}.license-renew-actions{width:100%;flex-direction:column}.license-renew-button,.license-check-button{width:100%}}

/* Upload de aplicativos com progresso em tempo real */
.upload-progress-card{margin:18px 0 4px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 5%,var(--panel)),var(--panel));box-shadow:0 14px 38px rgba(0,0,0,.12)}
.upload-progress-card[hidden]{display:none!important}
.upload-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.upload-progress-head>div{display:flex;flex-direction:column;gap:4px}.upload-progress-head small{font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--accent)}.upload-progress-head strong{font-size:13px;line-height:1.4}.upload-progress-head>b{font-size:24px;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.upload-progress-track{height:12px;margin:16px 0;border-radius:999px;background:color-mix(in srgb,var(--bg) 72%,var(--panel2));border:1px solid var(--line);overflow:hidden}.upload-progress-track i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 18px color-mix(in srgb,var(--accent) 30%,transparent);transition:width .16s linear}
.upload-progress-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.upload-progress-metrics>div{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border-radius:10px;background:var(--panel2);border:1px solid var(--line);min-width:0}.upload-progress-metrics small{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.upload-progress-metrics b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.upload-progress-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px}.upload-progress-actions>span{font-size:10px;line-height:1.5;color:var(--muted)}.upload-cancel-btn{flex:0 0 auto;padding:9px 12px;font-size:10px}.upload-cancel-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.is-uploading{opacity:.65;cursor:wait;transform:none!important}
.upload-progress-card.success{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--panel))}.upload-progress-card.success .upload-progress-head>b{color:var(--accent)}
.upload-progress-card.error{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));background:color-mix(in srgb,var(--danger) 7%,var(--panel))}.upload-progress-card.error .upload-progress-head small,.upload-progress-card.error .upload-progress-head>b{color:var(--danger)}.upload-progress-card.error .upload-progress-track i{background:var(--danger);box-shadow:none}
@media(max-width:900px){.upload-progress-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.upload-progress-metrics{grid-template-columns:1fr}.upload-progress-actions{align-items:stretch;flex-direction:column}.upload-cancel-btn{width:100%}.upload-progress-head>b{font-size:20px}}


/* ===== Identidade do cabeçalho v3.4 ===== */
.public-header-inner{justify-content:center}
.public-brand{justify-content:center}
.site-brand-mark{overflow:hidden;flex:0 0 42px}
.site-brand-mark.has-logo{padding:3px;background:var(--panel2);border:1px solid var(--line);box-shadow:0 8px 28px rgba(0,0,0,.18)}
.site-brand-mark img{display:block;width:100%;height:100%;object-fit:contain;border-radius:9px}
.site-logo-setting{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:18px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--bg) 50%,var(--panel))}
.site-logo-setting-copy{display:grid;gap:6px}.site-logo-setting-copy b{font-size:13px}.site-logo-setting-copy span{font-size:11px;line-height:1.55;color:var(--muted)}
.site-logo-setting-controls{display:flex;align-items:center;gap:14px;min-width:0}.site-logo-preview{width:64px;height:64px;flex:0 0 64px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,var(--accent),var(--accent2));color:var(--bg);font-size:22px;font-weight:900;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line))}.site-logo-preview.has-image{padding:4px;background:var(--panel2);border-color:var(--line)}.site-logo-preview img{width:100%;height:100%;object-fit:contain;border-radius:11px}.site-logo-file{display:grid;gap:9px;min-width:0;flex:1}.site-logo-file input[type=file]{padding:9px;background:var(--panel2)}.site-logo-remove{font-size:11px;color:var(--muted)}
@media(max-width:760px){.site-logo-setting{grid-template-columns:1fr}.site-logo-setting-controls{align-items:flex-start}.public-brand b{font-size:16px}.public-brand small{font-size:11px}}


/* ===== Header público V3.6: texto central + logo grande abaixo ===== */
/* Como o cabeçalho agora é maior, ele deixa de ficar preso no topo durante a rolagem. */
.site-header{position:relative;top:auto}
.public-header-inner{width:min(1180px,calc(100% - 32px));min-height:0;height:auto;padding:24px 0 26px;display:flex;align-items:center;justify-content:center}
.public-brand{width:100%;max-width:1100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}
.public-brand > span:last-child{order:1;width:100%;min-width:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.public-brand b{font-size:22px;line-height:1.15;letter-spacing:-.02em}.public-brand small{margin-top:4px;font-size:12px;line-height:1.35}
.public-brand .site-brand-mark.has-logo{order:2;width:min(96%,1000px);max-width:1000px;height:clamp(180px,22vw,320px);flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:0;margin:2px auto 0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.public-brand .site-brand-mark.has-logo img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center center;border-radius:0}
.public-brand .site-brand-mark:not(.has-logo){order:2;width:58px;height:58px;flex:0 0 58px;margin-top:4px}
@media(max-width:760px){.public-header-inner{width:min(100% - 24px,1180px);padding:18px 0 20px}.public-brand{gap:10px}.public-brand b{font-size:19px}.public-brand small{font-size:11px}.public-brand .site-brand-mark.has-logo{width:100%;height:clamp(145px,42vw,230px)}}
@media(max-width:430px){.public-header-inner{padding:15px 0 17px}.public-brand b{font-size:18px}.public-brand .site-brand-mark.has-logo{width:100%;height:150px}}

/* ===== Logos dos aplicativos adaptativas v3.8 ===== */
.app-icon-wrap{
  width:118px;
  height:88px;
  flex:0 0 118px;
  display:grid;
  place-items:center;
  padding:6px;
  border:1px solid var(--line);
  border-radius:17px;
  background:var(--panel2);
  overflow:hidden;
}
.app-icon{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  border:0;
  border-radius:11px;
  background:transparent;
}
.app-icon.placeholder{
  width:100%;
  height:100%;
  border:0;
}
.app-top{align-items:center}

/* Miniaturas administrativas também preservam a imagem inteira */
.mini-app-icon{padding:4px}
.mini-app-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:8px;
}
.current-image img{
  object-fit:contain;
  object-position:center;
  padding:4px;
  background:var(--panel2);
  border:1px solid var(--line);
}

@media(max-width:700px){
  .app-icon-wrap{width:100px;height:78px;flex-basis:100px;padding:5px}
}
