:root{font-family:Comfortaa,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark;--brand:#ff3300;--bg:#101218;--surface:#1b2029;--border:#39414c;--muted:#a9b4c2}
*,*::before,*::after{box-sizing:border-box}html{min-width:320px}body{margin:0;min-height:100vh;background:var(--bg);color:#f5f6f9;font-size:14px}
[hidden]{display:none!important}button,input,textarea,select{font:inherit}button{cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
a{color:inherit;text-decoration:none}.topbar{min-height:72px;padding:15px max(20px,3vw);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);background:#171b23}
.brand{font-size:1.25rem;letter-spacing:-.05em;font-weight:800;white-space:nowrap}.brand b{color:var(--brand)}.brand span{font-size:.75rem;color:#adb5c0;font-weight:500}
.top-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.env{font-size:.64rem;padding:8px 10px;border:1px solid #bd5943;background:#ff330014;color:#ffc2b2;border-radius:40px;font-weight:700}
#who{font-size:.75rem;color:#b8c2d0}.primary,.secondary,.quiet{padding:11px 16px;border-radius:9px;border:1px solid #5b6471}
.primary{background:var(--brand);border-color:var(--brand);color:white;font-weight:800}.secondary{background:#29313e;color:white}.quiet{background:transparent;border-color:#59606e;color:#d7deea}
.primary:hover:not(:disabled),.secondary:hover:not(:disabled),.quiet:hover:not(:disabled){filter:brightness(1.15)}
.full{display:block;width:100%}h1{font-size:clamp(1.3rem,3vw,1.8rem);letter-spacing:-.04em;margin:12px 0}h2{font-size:1rem;letter-spacing:-.025em}p{line-height:1.65;color:var(--muted)}
label{display:block;font-size:.76rem;margin:14px 0 7px;color:#dfe3ea}input,select,textarea{width:100%;min-width:0;padding:12px 13px;border:1px solid #4c5665;border-radius:9px;background:#11161e;color:#fff}
input[type="checkbox"]{width:auto;accent-color:var(--brand)}input[type="color"]{height:45px;padding:4px}textarea{min-height:105px;resize:vertical}
.login{padding:clamp(30px,6vw,80px) 20px}.login-card{width:min(460px,100%);padding:32px;background:var(--surface);border-radius:20px;border:1px solid var(--border);margin:auto;box-shadow:0 18px 55px #0005}
.login-card h1{text-align:center}.login-card>p{text-align:center}.login form button{margin-top:23px}
.mark{display:grid;place-items:center;border:2px solid var(--brand);border-radius:24px;margin:0 auto 20px;width:73px;height:73px;font-size:2rem;font-weight:800}.mark span{color:var(--brand)}
.fine{font-size:.7rem}.message{font-size:.8rem;color:#f4d0c7;min-height:20px;line-height:1.5}
.workspace{display:grid;grid-template-columns:228px minmax(0,1fr);max-width:1700px;margin:0 auto;min-height:calc(100vh - 155px)}
.sidebar{background:#151920;border-right:1px solid var(--border);padding:22px 13px;display:flex;flex-direction:column;gap:9px}
.nav{border:0;background:transparent;color:#bac5d4;padding:14px 12px;text-align:left;border-radius:8px;min-width:0}
.nav.selected,.nav:hover{background:#ff33001a;color:#ffa187}.side-note{margin-top:auto;padding:14px 6px;border-top:1px solid var(--border);font-size:.73rem;color:#9ba6b7;line-height:1.7}
main{width:100%;min-width:0;padding:clamp(17px,3vw,32px)}.heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.heading h1{margin:10px 0 8px}.heading p{margin:0 0 10px}
.heading input{width:min(300px,100%)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:22px 0}.metrics>div{background:var(--surface);padding:17px;border:1px solid var(--border);border-radius:12px}.metrics small{font-size:.67rem;color:var(--muted)}.metrics strong{display:block;font-size:1.6rem;margin-top:9px}
.list{display:grid;gap:10px}.app-card{display:flex;align-items:center;gap:15px;justify-content:space-between;border:1px solid var(--border);border-radius:13px;background:var(--surface);padding:17px;flex-wrap:wrap}
.app-card h2{margin:0 0 6px}.app-card small{color:var(--muted);font-size:.72rem}.app-card .actions{display:flex;gap:10px;align-items:center}.status{display:inline-block;padding:7px 10px;border-radius:22px;background:#193a2c;color:#9ee5bc;font-size:.7rem}.status.off{background:#492727;color:#ffbab0}
.buttons{display:flex;gap:9px;align-items:center}.tabs{display:flex;overflow-x:auto;gap:6px;padding:15px 0;border-bottom:1px solid var(--border);margin-bottom:16px}
.tab{background:transparent;border:0;color:#aab6c5;padding:12px 13px;border-radius:8px;white-space:nowrap;font-size:.74rem}.tab.active{background:#ff330026;color:#ffb09b}
.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);align-items:start;gap:17px}
.form-card,.detail-card{min-width:0;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:14px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 17px}.field.wide{grid-column:1/-1}
.field.help{color:var(--muted);font-size:.7rem}.field.check{display:flex;align-items:center;gap:11px;margin:11px 0}.field.check label{margin:0}
.image-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.image-previews figure{min-width:0;margin:8px 0}.image-previews img{display:block;width:100%;max-height:160px;object-fit:contain;border-radius:10px;background:#0a0e14}.image-previews figcaption{font-size:.7rem;color:var(--muted);text-align:center;margin-top:7px}
.notice{padding:13px 15px;border-left:3px solid var(--brand);background:#32251f;font-size:.73rem;line-height:1.65;color:#f7d7c6;border-radius:8px;margin-top:15px}
.info-grid{display:grid;gap:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:15px;border-radius:8px;border:1px solid #444f5f;background:#11161c;font-size:.75rem;line-height:1.65}
.copy{margin-top:10px}footer{padding:18px 22px;text-align:center;border-top:1px solid var(--border);font-size:.68rem;color:#9da8b8}
@media(max-width:1060px){.editor-layout{grid-template-columns:1fr}.detail-card{max-width:100%}}
@media(max-width:700px){.workspace{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;overflow-x:auto;padding:10px;border-right:0;border-bottom:1px solid var(--border)}.nav{white-space:nowrap}.side-note{display:none}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics>div{padding:10px}.metrics strong{font-size:1.1rem}.form-grid{grid-template-columns:1fr}.topbar{padding:12px}.env{display:none}.buttons{flex-wrap:wrap}}

/* Independent billing/manual/security controls remain private in staging. */
.holds-grid{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.holds-grid button{width:auto;min-height:44px;text-align:left}
@media(max-width:600px){.holds-grid{display:grid;grid-template-columns:1fr}.holds-grid button{width:100%}}

/* High-contrast, keyboard-accessible test account/app creation. */
#new-view .form-card{display:flex;flex-direction:column;gap:12px;
  max-width:660px;margin:16px 0;padding:22px;border-radius:18px}
#new-view input,#new-view select{width:100%;min-height:44px;max-width:100%}
#new-view form label{font-weight:600;margin-top:4px}
#new-view button{min-height:43px}
#demo-reseller-tools{margin-top:25px}
#demo-reseller-tools form{display:flex;flex-direction:column;gap:11px}
#demo-reseller-code{font-size:.87rem;white-space:pre-wrap;overflow-wrap:anywhere;
  user-select:all;padding:14px;border:1px dashed currentColor;border-radius:12px}
#new-app-status,#demo-reseller-status{min-height:22px}

.list-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.list-tools input,.list-tools select{width:min(280px,100%)}
.reseller-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border:1px solid var(--border);border-radius:13px;background:var(--surface);padding:17px}
.reseller-card h2{margin:0 0 6px}.reseller-card small{color:var(--muted);font-size:.72rem}.reseller-card .meta{display:flex;gap:8px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#252d39;color:#cbd5e3;font-size:.68rem}
.live-preview{display:block;width:100%;height:520px;border:1px solid var(--border);border-radius:14px;background:#0b0e13;margin:8px 0 10px}
.access-box{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#121720}
.access-secret{user-select:all;font-size:.9rem;border-style:dashed}
.example-note{padding:12px 14px;border-radius:10px;background:#151b24;border:1px dashed #4b5665;color:#b9c5d5;font-size:.72rem;line-height:1.6;margin:8px 0 14px}
.device-copy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.device-copy button{width:100%}
@media(max-width:700px){.list-tools{width:100%}.list-tools input,.list-tools select{width:100%}.device-copy{grid-template-columns:1fr}.live-preview{height:600px}}

.readonly-hint{padding:12px 13px;border:1px dashed #59606e;border-radius:9px;background:#11161e;color:#d7deea;font-size:.76rem}

.password-reveal{margin-top:4px;padding:16px;border:1px solid #ff6a45;border-radius:12px;background:#2d1c18}
.password-reveal strong{display:block;font-size:.9rem;color:#fff;margin-bottom:4px}
.password-reveal p{margin:3px 0 10px;color:#ffc6b7}
.password-reveal .access-secret{font-size:1.05rem;font-weight:800;letter-spacing:.08em;background:#0d1118;color:#fff}
.access-ok{color:#9ee5bc}.access-off{color:#ffbab0}

.wave-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.wave-choice{display:grid;gap:9px;justify-items:center;padding:12px 10px;border:1px solid #4c5665;border-radius:12px;background:#11161e;color:#dfe5ee}
.wave-choice.selected{border-color:var(--brand);box-shadow:0 0 0 2px #ff330028;background:#251812}
.wave-choice>span:last-child{font-size:.7rem}
.wave-demo{width:100%;height:44px;display:flex;align-items:center;justify-content:center;gap:3px}
.wave-demo i{display:block;width:4px;border-radius:9px;background:var(--brand);height:12px}
.wave-demo[data-wave="1"] i:nth-child(3n){height:28px}.wave-demo[data-wave="1"] i:nth-child(2n){height:19px}
.wave-demo[data-wave="2"] i:nth-child(odd){height:34px}.wave-demo[data-wave="2"] i:nth-child(even){height:16px}
.wave-demo[data-wave="3"] i{height:10px}.wave-demo[data-wave="3"] i:nth-child(5),.wave-demo[data-wave="3"] i:nth-child(6){height:38px}.wave-demo[data-wave="3"] i:nth-child(4),.wave-demo[data-wave="3"] i:nth-child(7){height:26px}
.wave-demo[data-wave="4"] i:nth-child(1){height:9px}.wave-demo[data-wave="4"] i:nth-child(2){height:16px}.wave-demo[data-wave="4"] i:nth-child(3){height:24px}.wave-demo[data-wave="4"] i:nth-child(4){height:34px}.wave-demo[data-wave="4"] i:nth-child(5){height:40px}.wave-demo[data-wave="4"] i:nth-child(6){height:34px}.wave-demo[data-wave="4"] i:nth-child(7){height:27px}.wave-demo[data-wave="4"] i:nth-child(8){height:20px}.wave-demo[data-wave="4"] i:nth-child(9){height:14px}.wave-demo[data-wave="4"] i:nth-child(10){height:9px}
.wave-demo[data-wave="5"] i{width:6px}.wave-demo[data-wave="5"] i:nth-child(3n+1){height:36px}.wave-demo[data-wave="5"] i:nth-child(3n+2){height:24px}.wave-demo[data-wave="5"] i:nth-child(3n){height:14px}
.wave-demo[data-wave="6"] i{height:6px}.wave-demo[data-wave="6"] i:nth-child(5),.wave-demo[data-wave="6"] i:nth-child(6){height:16px}
@media(max-width:780px){.wave-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:560px){.image-previews{grid-template-columns:1fr}.image-previews img{max-height:220px}}

/* Compact application list and high-contrast file upload controls. */
input[type="file"]{background:#fff;color:#17202b;border-radius:10px;padding:8px}
input[type="file"]::file-selector-button{background:#fff;color:#17202b;border:1px solid #c9ced6;border-radius:8px;padding:9px 12px;margin-right:10px;font-weight:800;cursor:pointer}
input[type="file"]::-webkit-file-upload-button{background:#fff;color:#17202b;border:1px solid #c9ced6;border-radius:8px;padding:9px 12px;margin-right:10px;font-weight:800;cursor:pointer}
.app-card{padding:12px 14px}
.app-card h2{font-size:.98rem;margin-bottom:4px}
.app-card .actions.compact-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end}
.app-card .compact-action{padding:7px 9px;min-height:32px;border-radius:7px;font-size:.66rem}
.app-card .status{padding:5px 8px;font-size:.64rem}
.manual-hold-action.suspend{border-color:#b7554e;color:#ffd1cc}
.manual-hold-action.reactivate{border-color:#3f8e68;color:#bdf0d0}
@media(max-width:760px){
 .app-card{align-items:flex-start}
 .app-card .actions.compact-actions{width:100%;justify-content:flex-start}
 .app-card .compact-action{flex:0 0 auto}
}

/* Administration center additions. */
.flow-steps{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.flow-steps span{padding:8px 12px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.72rem}
.flow-steps span.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:800}
.bulk-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.bulk-actions strong{margin-right:auto;font-size:.75rem}
.app-card-main{display:flex;align-items:center;gap:10px;min-width:260px}
.bulk-check{width:18px;height:18px;accent-color:var(--brand);flex:none}
.activity-list{display:grid;gap:9px}
.activity-row{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(220px,2fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}
.activity-row strong{font-size:.76rem}.activity-row span{font-size:.72rem;color:var(--muted)}.activity-row time{font-size:.66rem;color:var(--muted);white-space:nowrap}
.technical-score{display:inline-block;margin:4px 0 14px;padding:8px 11px;border-radius:9px;background:#1f2936;font-size:.76rem;font-weight:800}
.technical-check{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:7px 0;border-radius:9px;border:1px solid var(--border)}
.technical-check strong{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-size:.8rem}
.technical-check.ok strong{background:#163f2e;color:#a9edc6}.technical-check.warn strong{background:#4a2f1d;color:#ffd3a8}
#account-summary{max-width:720px}
#account-summary h2{font-size:.72rem;color:var(--muted);margin:14px 0 4px}
#account-summary pre{margin:0;font-size:.9rem;white-space:pre-wrap}
@media(max-width:760px){
 .list-tools{width:100%}.list-tools input,.list-tools select{min-width:0;flex:1 1 140px}
 .activity-row{grid-template-columns:1fr}.activity-row time{white-space:normal}
 .bulk-actions strong{width:100%;margin-right:0}
 .app-card-main{min-width:100%}
}

/* Android / Play Store private build console. */
.android-capabilities{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}
.android-capabilities span{padding:7px 10px;border-radius:999px;font-size:.68rem;font-weight:800;border:1px solid var(--border)}
.android-capabilities .cap-ok{background:#153c2d;color:#baf0ce;border-color:#2e704f}
.android-capabilities .cap-off{background:#48281f;color:#ffd0bb;border-color:#86513c}
.android-form{margin:12px 0 8px}
.android-jobs{display:grid;gap:8px;margin-top:10px}
.android-job{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.android-job>div:first-child{display:grid;gap:4px}
.android-build-status{display:inline-flex;width:max-content;padding:4px 7px;border-radius:999px;font-size:.62rem;font-weight:900;letter-spacing:.03em}
.android-build-status.completed{background:#153c2d;color:#baf0ce}
.android-build-status.building,.android-build-status.queued{background:#3b3518;color:#ffe79b}
.android-build-status.failed{background:#48231f;color:#ffc7c0}
.android-build-status.not_queued{background:#27313c;color:#c7d3df}
.android-job small{color:var(--muted);font-size:.66rem}
.android-job .build-error{color:#ffb9ae;max-width:420px}
.android-job a{text-decoration:none;display:inline-flex;align-items:center}
@media(max-width:760px){.android-job{align-items:flex-start;flex-direction:column}.android-job .actions{width:100%}}

.editor-section-heading{margin:18px 0 10px;padding-top:16px;border-top:1px solid var(--border)}
.editor-section-heading:first-child{margin-top:0;padding-top:0;border-top:0}
.editor-section-heading h2{margin:0 0 5px;font-size:.95rem}
.editor-section-heading p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.45}
/* 06/10/2026 · conservar consola completa y ajustar disposición solicitada. */
.app-heading{align-items:flex-end}
.app-heading .list-filters{display:grid;grid-template-columns:repeat(3,minmax(145px,190px));gap:10px}
.app-heading .list-filters select{width:100%}
.search-row{display:flex;margin:14px 0}
.search-row input{width:min(520px,100%);min-height:44px}
.media-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 6px;padding-top:22px;border-top:1px solid var(--border)}
.media-upload-grid .field{min-width:0;padding:14px;border:1px solid #323b47;border-radius:12px;background:#141922}
.media-upload-grid .field label{margin-top:0}
@media(max-width:900px){.app-heading .list-filters{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.app-heading .list-filters,.media-upload-grid{grid-template-columns:1fr}.search-row input{width:100%}}


/* 06/10/2026 · Dashboard operativo MiAplicación V2. */
.dashboard-heading{align-items:flex-end}.dashboard-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dashboard-heading-actions small{color:var(--muted);font-size:.68rem}
.dashboard-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:20px 0}
.metric-card{min-width:0;display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,#1d232d,#171c24)}
.metric-card .metric-icon{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:11px;background:#ff33001c;color:#ff8f72;font-size:1rem;font-weight:900}
.metric-card .metric-icon.ok{background:#153c2d;color:#9ee5bc}.metric-card .metric-icon.warn{background:#462823;color:#ffb7a7}
.metric-card>div{min-width:0}.metric-card small{display:block;color:var(--muted);font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.metric-card strong{display:block;font-size:1.55rem;line-height:1.05;margin:5px 0 4px;letter-spacing:-.04em}
.metric-card div>span{display:block;color:#8f9baa;font-size:.59rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quota-mini{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px}
.quota-mini[hidden]{display:none!important}
.quota-mini>span{display:grid!important;gap:2px;min-width:0;padding:6px 7px;border:1px solid #303946;border-radius:8px;background:#111820;overflow:visible!important;white-space:normal!important}
.quota-mini small{font-size:.52rem!important;color:#8793a2!important}
.quota-mini b{font-size:.76rem;color:#f2f5f8;line-height:1}
.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:13px;align-items:start}
.dashboard-panel{min-width:0;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.dashboard-panel.server-panel,.dashboard-panel.activity-panel{grid-column:1/-1}
.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.panel-title h2{margin:0 0 4px;font-size:.94rem}.panel-title p{margin:0;font-size:.67rem}.panel-badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#252d39;color:#cbd5e3;font-size:.62rem;font-weight:800;white-space:nowrap}
.panel-badge.good{background:#153c2d;color:#baf0ce}.panel-badge.bad{background:#48231f;color:#ffc7c0}
.summary-row{display:grid;grid-template-columns:90px minmax(90px,1fr) 46px;gap:10px;align-items:center;margin:13px 0;font-size:.7rem}.summary-row>span{color:#ccd5df}.summary-row>strong{text-align:right;font-size:.67rem}
.summary-track,.resource-track{height:8px;border-radius:999px;background:#0f141b;overflow:hidden;border:1px solid #2f3845}.summary-track i,.resource-track i{display:block;height:100%;width:0;background:var(--brand);border-radius:999px;transition:width .25s ease}.summary-track i.healthy{background:#3d9a6a}
.dashboard-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}
.dashboard-alerts{display:grid;gap:9px}.dashboard-alert{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid #56412e;border-radius:10px;background:#30251c}.dashboard-alert.critical{border-color:#783d38;background:#351d1d}.dashboard-alert.success{border-color:#285b44;background:#152a21}.dashboard-alert>b{width:24px;height:24px;flex:none;display:grid;place-items:center;border-radius:50%;background:#78482f;color:#fff}.dashboard-alert.critical>b{background:#8f3833}.dashboard-alert>div{display:grid;gap:3px}.dashboard-alert strong{font-size:.7rem}.dashboard-alert span{font-size:.64rem;color:#c8d0da;line-height:1.45}
.dashboard-empty{margin:4px 0;color:var(--muted);font-size:.7rem}
.resource-row{display:grid;grid-template-columns:minmax(170px,.85fr) minmax(180px,1fr) minmax(160px,.65fr);gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #2d3540}.resource-row:last-of-type{border-bottom:0}.resource-row>div:first-child{display:grid;gap:4px}.resource-row span{font-size:.66rem;color:var(--muted)}.resource-row strong{font-size:.78rem}.resource-row>small{font-size:.63rem;color:#aab5c3;text-align:right}
.server-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.server-facts>div{padding:12px;border-radius:10px;background:#141922;border:1px solid #303846}.server-facts small{display:block;color:var(--muted);font-size:.6rem;margin-bottom:5px}.server-facts strong{font-size:.78rem}
.health-dot{font-size:.64rem;color:#9ee5bc;white-space:nowrap}
.service-list{display:grid;gap:7px}.service-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #2d3540}.service-row:last-child{border-bottom:0}.service-row span{font-size:.69rem}.service-row strong{font-size:.63rem}.service-ok{color:#9ee5bc}.service-off{color:#ffb4aa}
.factory-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.factory-stats>div{padding:12px 10px;border-radius:10px;background:#141922;border:1px solid #303846;text-align:center}.factory-stats small{display:block;color:var(--muted);font-size:.58rem}.factory-stats strong{display:block;font-size:1.15rem;margin-top:6px}
.dashboard-recent{display:grid;gap:7px}.recent-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #2d3540}.recent-row:last-child{border-bottom:0}.recent-dot{width:7px;height:7px;border-radius:50%;background:var(--brand)}.recent-row>div{display:grid;gap:3px}.recent-row strong{font-size:.69rem}.recent-row small{font-size:.62rem;color:var(--muted)}.recent-row time{font-size:.59rem;color:#8e9aaa;white-space:nowrap}
@media(max-width:1320px){.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.dashboard-layout{grid-template-columns:1fr}.dashboard-panel.server-panel,.dashboard-panel.activity-panel{grid-column:auto}}
@media(max-width:700px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:12px;gap:9px}.metric-card .metric-icon{width:32px;height:32px}.metric-card strong{font-size:1.25rem}.resource-row{grid-template-columns:1fr}.resource-row>small{text-align:left}.server-facts{grid-template-columns:1fr}.factory-stats{grid-template-columns:repeat(2,1fr)}.recent-row{grid-template-columns:10px 1fr}.recent-row time{grid-column:2;white-space:normal}.dashboard-heading-actions{width:100%;justify-content:space-between}}


/* 06/10/2026 · Equipo por fichas + acceso Android controlado. */
.android-access-action.enabled{border-color:#3f8e68;color:#bdf0d0;background:#183027}
.team-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:8px 0 20px}
.team-editor-card{min-width:0;padding:15px;border:1px solid #343d49;border-radius:14px;background:#141922}
.team-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.team-editor-head h3{margin:0;font-size:.84rem}.team-editor-head span{font-size:.6rem;color:var(--muted)}
.team-editor-preview{position:relative;display:grid;place-items:center;aspect-ratio:4/3;border:1px dashed #465160;border-radius:12px;background:#0d1218;overflow:hidden;margin-bottom:12px}
.team-editor-preview img{width:100%;height:100%;object-fit:cover;display:block}
.team-preview-empty{color:#788494;font-size:.67rem}
.team-editor-fields{display:grid;grid-template-columns:1fr;gap:0}.team-editor-fields .field{min-width:0}
.team-photo-upload{padding-top:10px;border-top:1px solid #303846}.team-photo-upload label{margin-top:0}
@media(max-width:1080px){.team-editor-grid{grid-template-columns:1fr}}


/* 06/10/2026 · marca blanca de proveedor. */
.brand-zone{display:flex;align-items:center;gap:16px;min-width:0}
.provider-brand-logo{display:block;max-width:210px;max-height:48px;object-fit:contain;object-position:left center}
.login-brand-logo{display:block;max-width:240px;max-height:92px;object-fit:contain;margin:0 auto 20px}
.panel-support{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #2b7f52;border-radius:999px;background:#153528;color:#d4f7df;font-size:.68rem;font-weight:700}
.panel-support svg{width:18px;height:18px;fill:#25d366;flex:none}
.panel-support strong{font-weight:800}
.workspace-main{position:relative;isolation:isolate}
.workspace-main>section{position:relative;z-index:1}
.brand-watermark{position:fixed;z-index:0;right:6vw;bottom:5vh;width:min(34vw,520px);max-height:34vh;object-fit:contain;opacity:.035;filter:grayscale(1);pointer-events:none;user-select:none}
.branding-settings{margin-top:18px}
.branding-editor{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(280px,1.1fr);gap:24px;align-items:start}
.branding-logo-box,.branding-support-form{display:grid;gap:10px}
.branding-preview-shell{display:grid;place-items:center;min-height:150px;padding:18px;border:1px dashed #465160;border-radius:14px;background:#0e131a}
.branding-preview-shell img{max-width:100%;max-height:120px;object-fit:contain}
.branding-preview-shell span{font-size:.68rem;color:#7f8b99}
.branding-login-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid #343d49}
.branding-login-link code{overflow:auto;padding:10px;border-radius:8px;background:#0d1218;color:#dbe3ee;font-size:.65rem}
@media(max-width:900px){
 .branding-editor{grid-template-columns:1fr}
 .branding-login-link{grid-template-columns:1fr}
 .top-right{gap:8px}
 .panel-support span{display:none}
 .provider-brand-logo{max-width:150px;max-height:40px}
}

/* Producción 1.0: snapshots de recuperación quedan como mecanismo interno. */
#approve-preview,#release-state,#release-actions{display:none!important}


/* 07/10/2026 · Administración y vista simulada de revendedores. */
.reseller-card{gap:18px}
.reseller-card .actions.compact-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end}
.reseller-card .compact-action{min-height:34px;padding:7px 10px;font-size:.65rem}

.reseller-view-banner{
 display:flex;align-items:center;justify-content:space-between;gap:18px;
 margin:0 0 16px;padding:13px 15px;border:1px solid #7a542c;
 border-radius:12px;background:#2a2118;color:#f4dfc5
}
.reseller-view-banner strong{font-size:.75rem;white-space:nowrap}
.reseller-view-banner span{font-size:.65rem;color:#d8c1a7;text-align:right}

.reseller-preview-metrics{
 display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 16px
}
.reseller-preview-metrics article{
 min-width:0;padding:14px;border:1px solid var(--border);border-radius:12px;
 background:linear-gradient(145deg,#1d232d,#171c24)
}
.reseller-preview-metrics small{display:block;color:var(--muted);font-size:.61rem}
.reseller-preview-metrics strong{display:block;margin-top:7px;font-size:1.35rem;letter-spacing:-.035em}
.reseller-preview-apps{display:grid;gap:8px}
.reseller-preview-app{
 display:flex;align-items:center;justify-content:space-between;gap:14px;
 padding:11px 12px;border:1px solid #303946;border-radius:10px;background:#121820
}
.reseller-preview-app>div{display:grid;gap:4px;min-width:0}
.reseller-preview-app strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reseller-preview-app small{font-size:.62rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.reseller-admin-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px;align-items:start}
.reseller-admin-layout .form-card{margin:0}
.reseller-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:4px 0 18px}
.reseller-facts>div{
 min-width:0;padding:12px;border:1px solid #303946;border-radius:10px;background:#121820
}
.reseller-facts small{display:block;color:var(--muted);font-size:.59rem;margin-bottom:6px}
.reseller-facts strong{display:block;font-size:.73rem;overflow-wrap:anywhere}
.reseller-admin-actions{padding-top:15px;border-top:1px solid #303946}
.admin-only-future{border-color:#5a4630;background:linear-gradient(145deg,#1d1a17,#17191e)}
.future-feature-toggle{
 display:flex;align-items:flex-start;gap:12px;margin:8px 0 16px;padding:14px;
 border:1px solid #5f4c36;border-radius:11px;background:#241e18;cursor:pointer
}
.future-feature-toggle input{width:19px;height:19px;margin:2px 0 0;accent-color:var(--brand);flex:none}
.future-feature-toggle span{display:grid;gap:5px}
.future-feature-toggle strong{font-size:.73rem;line-height:1.4}
.future-feature-toggle small{font-size:.63rem;color:#c6b69f;line-height:1.5}

@media(max-width:1050px){
 .reseller-admin-layout{grid-template-columns:1fr}
 .reseller-preview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
 .reseller-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .reseller-card .actions.compact-actions{width:100%;justify-content:flex-start}
 .reseller-view-banner{align-items:flex-start;flex-direction:column}
 .reseller-view-banner span{text-align:left}
 .reseller-preview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .reseller-facts{grid-template-columns:1fr}
 .reseller-preview-app{align-items:flex-start;flex-direction:column}
}


/* Edición de cuenta reseller. */
.reseller-edit-layout{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start
}
.reseller-edit-layout .form-card{margin:0}
.reseller-edit-commercial{grid-column:1/-1}
#reseller-edit-form{display:grid;gap:10px}
#reseller-edit-form label{margin:0}
#reseller-password-result{margin-top:14px}
#reseller-password-result .access-secret{margin:10px 0}
@media(max-width:850px){
 .reseller-edit-layout{grid-template-columns:1fr}
 .reseller-edit-commercial{grid-column:auto}
}


/* Edición administrativa completa del revendedor. */
.reseller-edit-layout>.form-card{
 display:grid;
 gap:10px;
 align-content:start;
}
.reseller-edit-layout textarea{
 width:100%;
 resize:vertical;
 min-height:150px;
 padding:12px 13px;
 border:1px solid var(--border);
 border-radius:10px;
 background:#11161d;
 color:var(--text);
 font:inherit;
 line-height:1.5;
}
.reseller-edit-usage{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:9px;
 margin-top:2px;
}
.reseller-edit-usage>div,
.protected-status{
 padding:11px 12px;
 border:1px solid #303946;
 border-radius:10px;
 background:#121820;
}
.reseller-edit-usage small,
.protected-status small{
 display:block;
 color:var(--muted);
 font-size:.59rem;
 margin-bottom:5px;
}
.reseller-edit-usage strong,
.protected-status strong{
 display:block;
 font-size:.73rem;
 overflow-wrap:anywhere;
}
.reseller-edit-save{
 border-color:#68422c!important;
 background:linear-gradient(145deg,#211a17,#17191e)!important;
}
.reseller-edit-save .primary{
 width:100%;
 min-height:44px;
}
#reseller-edit-view input[type="number"],
#reseller-edit-view input[type="text"],
#reseller-edit-view input[type="email"]{
 width:100%;
}


/* 07/10/2026 · navegación desplegable Aplicaciones / Revendedores. */
.nav-group{
 display:grid;
 gap:4px;
 min-width:0;
}
.nav-parent{
 width:100%;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
}
.nav-parent-label{
 display:inline-flex;
 align-items:center;
 gap:8px;
 min-width:0;
}
.nav-parent-label>span:last-child{
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.nav-arrow{
 flex:none;
 width:28px;
 height:28px;
 display:grid;
 place-items:center;
 border:1px solid #46505f;
 border-radius:8px;
 background:#202631;
 color:#d6deea;
 font-size:.82rem;
 line-height:1;
 transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.nav-parent:hover .nav-arrow{
 border-color:#ff6a45;
 background:#2b221f;
 color:#ffb09b;
}
.nav-group.open .nav-arrow{
 transform:rotate(180deg);
 border-color:#ff6a45;
 background:#2b221f;
 color:#ffb09b;
}
.nav-submenu{
 display:grid;
 gap:3px;
 padding:2px 0 3px 14px;
 margin-left:11px;
 border-left:1px solid #39414c;
}
.nav-submenu[hidden]{display:none!important}
.nav-child{
 min-height:36px;
 padding:9px 10px;
 font-size:.7rem;
 color:#9eabbc;
}
.nav-child.selected{
 background:#ff330014;
 color:#ffaf9b;
}
.nav-parent.selected{
 background:#ff330012;
 color:#ff9b82;
}
@media(max-width:700px){
 .nav-group{position:relative;display:block;flex:0 0 auto}
 .nav-submenu{
   position:absolute;
   z-index:80;
   top:calc(100% + 7px);
   left:0;
   width:max-content;
   min-width:190px;
   margin:0;
   padding:7px;
   border:1px solid var(--border);
   border-radius:10px;
   background:#151920;
   box-shadow:0 14px 35px #0008;
 }
 .nav-submenu .nav{width:100%}
}


/* Mis clientes: cuentas de acceso, no duplicado de Aplicaciones. */
.client-account-list{gap:10px}
.client-account-card{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 flex-wrap:wrap;
 padding:16px;
 border:1px solid var(--border);
 border-radius:13px;
 background:var(--surface);
}
.client-account-main{display:grid;gap:5px;min-width:min(360px,100%);flex:1}
.client-account-main h2{margin:0;font-size:.92rem}
.client-account-main>small{color:var(--muted);font-size:.68rem}
.client-app-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.client-app-tags span{
 display:inline-flex;
 padding:5px 8px;
 border-radius:999px;
 border:1px solid #3b4654;
 background:#141a22;
 color:#bec9d6;
 font-size:.61rem;
}
.client-account-card>.actions{display:flex;gap:7px;flex-wrap:wrap}
.client-password-result{
 flex:1 0 100%;
 display:grid;
 gap:8px;
 margin-top:3px;
 padding:12px;
 border:1px solid #6d4b36;
 border-radius:10px;
 background:#251b16;
}
.client-password-result strong{font-size:.7rem}
.client-password-result .access-secret{margin:0;font-size:.9rem}
.client-password-result button{width:max-content}
.client-pending-note{
 padding:11px 13px;
 border:1px solid #5f5034;
 border-radius:10px;
 background:#282317;
 color:#dbcda9;
 font-size:.67rem;
 line-height:1.5;
}
@media(max-width:700px){
 .client-account-card{align-items:flex-start}
 .client-account-card>.actions{width:100%}
 .client-account-main{min-width:100%}
}


/* 07/10/2026 · Dashboard 2.0: servidor en vivo, Factory operativo y alertas accionables. */
.server-live-panel{
 margin:18px 0 16px;
 padding:20px;
 border-color:#3a4655;
 background:
  radial-gradient(circle at 12% 0%,#24303c88,transparent 32%),
  linear-gradient(145deg,#1a2029,#151a21);
}
.server-live-title{margin-bottom:17px}
.server-live-title h2{font-size:1rem}
.server-live-title p{font-size:.65rem}
.server-live-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:12px;
}
.server-gauge-card{
 display:grid;
 grid-template-columns:112px minmax(0,1fr);
 align-items:center;
 gap:15px;
 min-width:0;
 padding:15px;
 border:1px solid #34404d;
 border-radius:14px;
 background:#11171eaa;
}
.server-gauge{
 --gauge-angle:0%;
 --gauge-color:#42a772;
 position:relative;
 width:104px;
 height:104px;
 display:grid;
 place-items:center;
 align-content:center;
 border-radius:50%;
 background:conic-gradient(var(--gauge-color) var(--gauge-angle),#29323d 0);
 box-shadow:0 10px 30px #0004;
 isolation:isolate;
}
.server-gauge::before{
 content:"";
 position:absolute;
 inset:9px;
 z-index:0;
 border-radius:50%;
 background:#151b23;
 border:1px solid #34404d;
}
.server-gauge>span,.server-gauge>small{position:relative;z-index:1}
.server-gauge[data-level="warning"]{--gauge-color:#d79242}
.server-gauge[data-level="critical"]{--gauge-color:#d45d53}
.server-gauge>span{
 display:block;
 font-size:1.15rem;
 font-weight:900;
 line-height:1;
 letter-spacing:-.04em;
}
.server-gauge>small{
 margin-top:5px;
 color:#8f9baa;
 font-size:.55rem;
 text-transform:uppercase;
 letter-spacing:.08em;
}
.server-gauge-copy{
 min-width:0;
 display:grid;
 gap:5px;
}
.server-gauge-copy>strong{font-size:.76rem}
.server-gauge-copy>span{
 min-height:16px;
 color:#9aa6b5;
 font-size:.61rem;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.server-spark{
 width:100%;
 height:42px;
 margin-top:5px;
 overflow:visible;
}
.server-spark polyline{
 fill:none;
 stroke:#ff5b32;
 stroke-width:2;
 vector-effect:non-scaling-stroke;
 stroke-linecap:round;
 stroke-linejoin:round;
 filter:drop-shadow(0 0 4px #ff330055);
}
.server-live-facts{
 display:grid;
 grid-template-columns:repeat(5,minmax(0,1fr));
 gap:8px;
 margin-top:12px;
}
.server-live-facts>div{
 min-width:0;
 padding:11px 12px;
 border:1px solid #303a47;
 border-radius:10px;
 background:#11171d;
}
.server-live-facts small{
 display:block;
 margin-bottom:5px;
 color:#7f8c9b;
 font-size:.57rem;
}
.server-live-facts strong{
 display:block;
 font-size:.69rem;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.health-dot{
 display:inline-flex;
 align-items:center;
 gap:6px;
 padding:6px 9px;
 border-radius:999px;
 background:#143428;
 color:#9ee5bc;
}

.alerts-panel{
 border-color:#6f5033;
 background:linear-gradient(145deg,#211c17,#1a1c21);
}
.dashboard-alert{
 align-items:center;
}
.dashboard-alert>div{
 min-width:0;
 flex:1;
 grid-template-columns:minmax(0,1fr) auto;
 align-items:center;
 column-gap:12px;
}
.dashboard-alert>div>strong,
.dashboard-alert>div>span{
 grid-column:1;
}
.dashboard-alert .alert-action{
 grid-column:2;
 grid-row:1/3;
 align-self:center;
 white-space:nowrap;
}
#dash-alert-panel[hidden]{display:none!important}

.factory-panel{
 background:linear-gradient(145deg,#1a2028,#161a21);
}
.factory-overview{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:9px;
 margin-bottom:10px;
}
.factory-primary-stat{
 min-width:0;
 padding:13px;
 border:1px solid #35404d;
 border-radius:11px;
 background:#11171e;
}
.factory-primary-stat small{
 display:block;
 color:#8d99a8;
 font-size:.58rem;
}
.factory-primary-stat strong{
 display:block;
 margin:5px 0 3px;
 font-size:1.3rem;
 line-height:1;
 letter-spacing:-.04em;
}
.factory-primary-stat span{
 display:block;
 color:#7f8a98;
 font-size:.56rem;
 line-height:1.4;
}
.compact-factory-stats{
 grid-template-columns:repeat(3,minmax(0,1fr));
}
.factory-recent-wrap{
 margin-top:12px;
 padding-top:12px;
 border-top:1px solid #303946;
}
.factory-recent-title{
 display:flex;
 justify-content:space-between;
 gap:10px;
 align-items:baseline;
 margin-bottom:7px;
}
.factory-recent-title strong{font-size:.68rem}
.factory-recent-title span{color:#7f8a98;font-size:.56rem}
.factory-recent{display:grid;gap:5px}
.factory-job-row{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 padding:8px 9px;
 border:1px solid #2f3945;
 border-radius:9px;
 background:#121820;
}
.factory-job-row>div{display:grid;gap:2px;min-width:0}
.factory-job-row strong{
 font-size:.64rem;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.factory-job-row small{
 color:#798696;
 font-size:.54rem;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.factory-job-status{
 flex:none;
 padding:4px 7px;
 border-radius:999px;
 font-size:.54rem;
 font-weight:800;
}
.factory-job-status.ok{background:#163528;color:#9ee5bc}
.factory-job-status.bad{background:#48231f;color:#ffc2ba}
.factory-job-status.working{background:#193246;color:#a9d9ff}
.factory-job-status.pending{background:#3b321d;color:#edd39b}

@media(max-width:1180px){
 .server-live-grid{grid-template-columns:1fr}
 .server-gauge-card{grid-template-columns:100px minmax(0,1fr)}
 .server-gauge{width:92px;height:92px}
 .server-live-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 .server-live-panel{padding:14px}
 .server-gauge-card{grid-template-columns:82px minmax(0,1fr);padding:11px}
 .server-gauge{width:74px;height:74px}
 .server-gauge>span{font-size:.9rem}
 .server-live-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .factory-overview{grid-template-columns:1fr}
 .dashboard-alert>div{grid-template-columns:1fr}
 .dashboard-alert .alert-action{
  grid-column:1;
  grid-row:auto;
  width:max-content;
  margin-top:5px;
 }
}


/* 07/10/2026 · Dashboard 2.1: Factory junto a Aplicaciones + pendientes útiles. */
.dashboard-layout{align-items:stretch}
.dashboard-layout>.dashboard-panel{height:100%}
.apps-overview-panel,.factory-panel{align-self:stretch}
#dash-alert-panel{grid-column:1/-1}

.configuration-panel{
 background:linear-gradient(145deg,#1a2028,#171b22);
}
.configuration-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:8px;
}
.configuration-item{
 min-width:0;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 padding:12px;
 border:1px solid #35404d;
 border-radius:10px;
 background:#11171e;
 color:var(--text);
 text-align:left;
 cursor:pointer;
}
.configuration-item:hover{
 border-color:#566476;
 background:#151c24;
}
.configuration-item span{
 min-width:0;
 display:grid;
 gap:4px;
}
.configuration-item small{
 color:#8c98a7;
 font-size:.58rem;
 line-height:1.35;
}
.configuration-item strong{
 font-size:1.2rem;
 line-height:1;
 letter-spacing:-.04em;
}
.configuration-item b{
 flex:none;
 color:#c4cfdb;
 font-size:.56rem;
 font-weight:700;
 white-space:nowrap;
}
@media(max-width:760px){
 .configuration-grid{grid-template-columns:1fr}
 #dash-alert-panel{grid-column:auto}
}


/* Sesión temporal abierta por Zona Sinergia con permisos de revendedor. */
.impersonation-banner{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:18px;
 padding:10px 18px;
 border-bottom:1px solid #8a4c2e;
 background:linear-gradient(90deg,#4a2519,#2b1d18);
 color:#ffe0d6;
 box-shadow:0 8px 24px #0003;
}
.impersonation-banner[hidden]{display:none!important}
.impersonation-banner>div{
 display:flex;
 align-items:baseline;
 gap:10px;
 min-width:0;
}
.impersonation-banner strong{
 flex:none;
 color:#ff8a68;
 font-size:.72rem;
 text-transform:uppercase;
 letter-spacing:.05em;
}
.impersonation-banner>div span{
 min-width:0;
 font-size:.67rem;
 line-height:1.4;
}
.impersonation-admin-note{
 flex:none;
 color:#d5b5a9;
 font-size:.58rem;
 white-space:nowrap;
}
@media(max-width:760px){
 .impersonation-banner{
  align-items:flex-start;
  flex-direction:column;
  gap:5px;
  padding:9px 12px;
 }
 .impersonation-banner>div{
  align-items:flex-start;
  flex-direction:column;
  gap:3px;
 }
 .impersonation-admin-note{white-space:normal}
}


/* 07/10/2026 · Usuario final: editor directo, sin dashboard/sidebar. */
.workspace.client-focus{grid-template-columns:minmax(0,1fr);max-width:1500px}
.workspace.client-focus .sidebar{display:none!important}
.workspace.client-focus .workspace-main{padding-left:clamp(14px,2.5vw,34px);padding-right:clamp(14px,2.5vw,34px)}
.workspace.client-focus #back{display:none!important}
.client-app-switcher{
 display:inline-grid;
 grid-template-columns:auto minmax(180px,360px);
 gap:8px;
 align-items:center;
 margin:0 0 10px;
 color:var(--muted);
 font-size:.68rem;
}
.client-app-switcher select{min-width:180px}
.client-app-switcher[hidden]{display:none!important}

/* Mis clientes: la radio es el dato principal, el email queda explícito. */
.client-radio-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.client-radio-title strong{font-size:.92rem}
.client-email-line{font-size:.7rem;color:var(--muted)}
.client-email-line b{color:var(--text);font-weight:600}

/* Historial de aplicación: lectura clara y evidencia inmutable. */
.app-history{display:grid;gap:9px}
.app-history-row{
 display:grid;
 grid-template-columns:minmax(180px,1fr) minmax(220px,2fr) auto;
 gap:12px;
 align-items:start;
 padding:12px 14px;
 border:1px solid var(--border);
 border-radius:11px;
 background:var(--surface);
}
.app-history-row strong{font-size:.72rem}
.app-history-row span{font-size:.68rem;color:var(--muted);line-height:1.45}
.app-history-row time{font-size:.64rem;color:var(--muted);white-space:nowrap}
.audit-kind{
 display:inline-flex;
 width:max-content;
 margin-bottom:3px;
 padding:3px 7px;
 border:1px solid #414b59;
 border-radius:999px;
 font-size:.56rem;
 color:#c7d1dc;
}
.audit-immutable-note{
 padding:10px 12px;
 border:1px solid #365447;
 border-radius:10px;
 background:#15231c;
 color:#b9dbc8;
 font-size:.66rem;
 line-height:1.45;
}
@media(max-width:700px){
 .client-app-switcher{grid-template-columns:1fr;width:100%}
 .client-app-switcher select{width:100%;min-width:0}
 .app-history-row{grid-template-columns:1fr}
 .app-history-row time{white-space:normal}
}


/* 07/10/2026 · URL e instalación: tres tarjetas en línea + iframe. */
.install-share-url{display:grid;gap:10px;margin-bottom:4px}
.install-share-url pre{margin:0}
.install-share-url button{width:max-content;max-width:100%}

.install-code-stack{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:14px;
 align-items:stretch;
}
.install-code-card{
 display:grid;
 grid-template-rows:auto minmax(0,1fr) auto auto;
 gap:11px;
 min-width:0;
 height:100%;
 padding:16px;
 border:1px solid var(--border);
 border-radius:14px;
 background:linear-gradient(180deg,#171d25,#131820);
}
.install-code-card-heading{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 flex-wrap:wrap;
}
.install-code-card-heading h3{margin:0;font-size:.9rem}
.install-code-card-heading span{
 padding:4px 8px;
 border:1px solid #3e4b5c;
 border-radius:999px;
 color:var(--muted);
 font-size:.58rem;
}
.install-code{
 margin:0;
 min-width:0;
 max-height:150px;
 overflow:auto;
 white-space:pre-wrap;
 overflow-wrap:anywhere;
 word-break:break-word;
 font-size:.68rem;
 line-height:1.55;
}
.install-code-preview{
 display:flex;
 align-items:center;
 justify-content:center;
 min-height:66px;
 padding:8px 0 2px;
}
.install-code-preview a{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 border-radius:10px;
 transition:transform .15s ease,filter .15s ease;
}
.install-code-preview a:hover{transform:translateY(-2px);filter:brightness(1.08)}
.install-code-preview img{display:block;width:150px;height:50px;object-fit:contain}
.install-code-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.install-code-actions button{width:max-content;max-width:100%}

.iframe-copy-card{
 display:grid;
 gap:11px;
 padding:16px;
 border:1px solid var(--border);
 border-radius:14px;
 background:var(--surface);
}
.iframe-copy-card .primary{width:max-content;max-width:100%}
.iframe-copy-card .fine{margin:0}

@media(max-width:820px){
 .install-code-stack{grid-template-columns:1fr}
}
@media(max-width:700px){
 .install-share-url button,
 .install-code-actions button,
 .iframe-copy-card .primary{width:100%}
 .install-code-card{padding:13px}
 .install-code-preview{justify-content:center}
}


/* 08/10/2026 · Estado + acceso temporal como primeras acciones. */
.compact-actions{
 align-items:center;
 max-width:100%;
}
.compact-actions .compact-status{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:34px;
 box-sizing:border-box;
 white-space:nowrap;
}
.access-as-action{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:34px;
 padding:7px 10px;
 border:1px solid #326b50;
 border-radius:7px;
 background:#193a2c;
 color:#9ee5bc;
 font:inherit;
 font-size:.65rem;
 font-weight:700;
 white-space:nowrap;
}
.access-as-action:hover:not(:disabled){
 background:#214b38;
 border-color:#438a68;
 color:#c2f4d5;
 filter:none;
}
.access-as-action:focus-visible{
 outline:3px solid #3f8e6870;
 outline-offset:2px;
}
.access-as-action:disabled{opacity:.55;cursor:wait}

.app-card .actions.compact-actions,
.reseller-card .actions.compact-actions{
 align-items:center;
 row-gap:7px;
}
.app-card .compact-action,
.reseller-card .compact-action{
 min-height:34px;
 box-sizing:border-box;
}
.app-card .status,
.reseller-card .status{
 min-height:34px;
 padding:5px 9px;
 display:inline-flex;
 align-items:center;
}

/* Modo usuario: copiar instaladores usa la misma señal verde de Disponible. */
.workspace.client-focus .install-code-actions .secondary{
 background:#193a2c;
 border-color:#326b50;
 color:#9ee5bc;
 font-weight:700;
}
.workspace.client-focus .install-code-actions .secondary:hover:not(:disabled){
 background:#214b38;
 border-color:#438a68;
 color:#c2f4d5;
 filter:none;
}

@media(max-width:1180px){
 .app-card .actions.compact-actions,
 .reseller-card .actions.compact-actions{
  flex:1 1 100%;
  width:100%;
  justify-content:flex-start;
 }
}


/* 08/10/2026 · Programación semanal profesional + medios sólo en Diseño. */
.weekly-schedule-editor{display:grid;gap:12px}
.weekly-schedule-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:10px;
}
.schedule-editor-day{
 min-width:0;
 padding:12px;
 border:1px solid var(--border);
 border-radius:12px;
 background:#141a22;
}
.schedule-editor-day-head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:8px;
 margin-bottom:9px;
}
.schedule-editor-day-head h3{margin:0;font-size:.76rem}
.schedule-editor-day-head .secondary{
 min-height:30px;
 padding:5px 8px;
 font-size:.61rem;
}
.schedule-editor-list{display:grid;gap:7px}
.schedule-editor-row{
 display:grid;
 grid-template-columns:92px minmax(0,1fr) 34px;
 gap:7px;
 align-items:center;
}
.schedule-editor-row input{min-width:0;padding:8px 9px}
.schedule-editor-row input[type="time"]{font-size:.66rem}
.schedule-remove{
 min-width:34px;
 min-height:34px;
 padding:0;
 font-size:1rem;
 line-height:1;
}
.schedule-editor-empty{
 margin:0;
 padding:8px 0;
 color:var(--muted);
 font-size:.63rem;
}
.legacy-schedule-note{
 padding:11px 12px;
 border:1px solid #65502f;
 border-radius:10px;
 background:#231d15;
 color:#e4d1ad;
 font-size:.66rem;
}
.legacy-schedule-note summary{cursor:pointer;font-weight:800}
.legacy-schedule-note p{margin:8px 0}
.legacy-schedule-note pre{
 max-height:150px;
 margin:7px 0 0;
 overflow:auto;
 white-space:pre-wrap;
 color:#cbbd9f;
 font-size:.6rem;
}

.appearance-image-previews{
 margin-top:12px;
 padding-top:14px;
 border-top:1px solid var(--border);
}
.appearance-image-previews figure{
 background:#10151c;
 border:1px solid #303946;
 border-radius:12px;
 padding:10px;
}
.appearance-image-previews img{max-height:210px}

@media(max-width:900px){
 .weekly-schedule-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
 .schedule-editor-row{grid-template-columns:82px minmax(0,1fr) 34px}
}


/* 08/10/2026 · Estadística única: instalaciones registradas. */
.install-stat-card{
 display:flex;
 align-items:center;
 gap:14px;
 width:max-content;
 max-width:100%;
 margin:4px 0 8px;
 padding:16px 20px;
 border:1px solid #326b50;
 border-radius:14px;
 background:#193a2c;
 color:#c9f1d8;
}
.install-stat-card strong{
 font-size:1.8rem;
 line-height:1;
 color:#b8f0cc;
}
.install-stat-card span{
 max-width:240px;
 font-size:.7rem;
 line-height:1.4;
 font-weight:700;
}

/* Acciones de aplicaciones: compactas y alineadas en escritorio. */
@media(min-width:1181px){
 .app-card{flex-wrap:nowrap;gap:10px}
 .app-card-main{flex:1 1 auto;min-width:0}
 .app-card-main>div{min-width:0}
 .app-card-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .app-card .actions.compact-actions{flex:0 0 auto;flex-wrap:nowrap;gap:5px;white-space:nowrap}
 .app-card .compact-action{padding:6px 7px;font-size:.62rem;white-space:nowrap}
 .app-card .status{padding:5px 7px}
}
.app-card .app-delete-action{
 background:transparent!important;border:1px solid #b94b4b!important;
 color:#ef4444!important;box-shadow:none!important;
 display:inline-flex;align-items:center;justify-content:center;
 padding:6px 8px!important;min-width:34px;
}
.app-card .app-delete-action:hover:not(:disabled){background:rgba(239,68,68,.09)!important;border-color:#ef4444!important}

/* Papelera roja de revendedores, idéntica a la de aplicaciones. */
.reseller-card .app-delete-action{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:6px 8px;background:transparent!important;border:1px solid #b94b4b!important;color:#ef4444!important;box-shadow:none!important}
.reseller-card .app-delete-action:hover:not(:disabled){background:rgba(239,68,68,.09)!important;border-color:#ef4444!important}

/* Alinear papelera de revendedores al alto y borde de las otras acciones. */
.reseller-card .actions.compact-actions{align-items:center}
.reseller-card .app-delete-action{height:34px!important;min-height:34px!important;min-width:34px!important;width:34px!important;padding:0!important;border-radius:7px!important;box-sizing:border-box!important;vertical-align:middle;flex:0 0 34px;align-self:center;line-height:1!important}
.reseller-card .app-delete-action svg{display:block;width:17px;height:17px;flex:none}
