*{box-sizing:border-box}
:root{
    color-scheme:dark;
    --bg:#090f1f;
    --bg-2:#0d1427;
    --panel:#121a2f;
    --panel-2:#172139;
    --border:#283653;
    --text:#f2f5fb;
    --muted:#91a0bd;
    --accent:#6f97ff;
    --accent-2:#8db0ff;
    --green:#46d190;
    --orange:#ffb65c;
    --red:#ff6d7c;
    --yellow:#f4d35e;
    --blue:#6ca7ff;
    --shadow:0 18px 45px rgba(0,0,0,.22);
}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{font-size:14px}
a{color:inherit}
button,input,select{font:inherit}
.app-shell{min-height:100vh}
.sidebar{
    position:fixed;inset:0 auto 0 0;width:245px;background:linear-gradient(180deg,#0d1427 0%,#0a1121 100%);
    border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;z-index:20;
    overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable
}
.brand-block{display:flex;align-items:center;gap:12px;padding:4px 10px 22px}
.brand-mark{
    width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#638cff,#91adff);
    color:#071023;font-weight:1000;font-size:21px;box-shadow:0 8px 25px rgba(99,140,255,.24)
}
.brand-name{font-weight:950;letter-spacing:.09em;font-size:13px}
.brand-sub{color:var(--muted);font-size:11px;margin-top:2px}
.nav{display:flex;flex-direction:column;gap:5px;flex:0 0 auto}
.nav-link{
    display:flex;align-items:center;gap:11px;text-decoration:none;color:#aab6cd;padding:10px 12px;border-radius:10px;
    font-weight:700;transition:.15s ease
}
.nav-link:hover{background:#162039;color:white}
.nav-link.active{background:linear-gradient(90deg,#1c315b,#1a2847);color:white;border:1px solid #2d4777}
.nav-icon{width:24px;text-align:center;font-size:16px;color:#86a8ff}
.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:8px;flex:0 0 auto}
.sidebar::-webkit-scrollbar{width:9px}
.sidebar::-webkit-scrollbar-track{background:transparent}
.sidebar::-webkit-scrollbar-thumb{background:#293a5b;border-radius:999px;border:2px solid #0b1223}
.sidebar::-webkit-scrollbar-thumb:hover{background:#3b527c}

.sidebar-live{font-size:12px;padding:10px 12px;color:var(--muted);display:flex;align-items:center;gap:8px}
.sidebar-live .dot{width:8px;height:8px;border-radius:50%;background:#68748c}
.sidebar-live.ok .dot{background:var(--green);box-shadow:0 0 0 4px rgba(70,209,144,.09)}
.sidebar-live.warn .dot{background:var(--orange)}
.nav-link.compact{padding-top:8px;padding-bottom:8px}
.main{margin-left:245px;min-height:100vh}
.topbar{
    min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;
    border-bottom:1px solid rgba(40,54,83,.72);background:rgba(9,15,31,.82);backdrop-filter:blur(12px);position:sticky;top:0;z-index:15
}
.topbar-left{display:flex;align-items:center;gap:12px}
.topbar h1{font-size:27px;margin:2px 0 0}
.eyebrow{font-size:11px;color:#7fa3ff;font-weight:900;letter-spacing:.11em}
.topbar-right{display:flex;align-items:center;gap:10px}
.topbar-logout-form{margin:0;display:flex}
.topbar-logout-btn{cursor:pointer}
.global-logout-corner{position:fixed;top:14px;right:18px;z-index:120;margin:0}
.global-logout-corner .ghost-btn{cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.22)}
.cloud-admin-body .topbar-right{padding-right:78px}

.clock{color:var(--muted);font-size:12px}
.menu-btn{display:none;border:1px solid var(--border);background:var(--panel);color:white;border-radius:9px;padding:8px 10px}
.page-content{padding:24px 28px 44px;max-width:1900px;margin:0 auto}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.stat-card{background:linear-gradient(180deg,var(--panel),#10172a);border:1px solid var(--border);border-radius:14px;padding:15px 16px;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.stat-card.success{border-color:#275b45}.stat-card.warning{border-color:#6c5125}.stat-card.danger{border-color:#6a2a37}
.stat-label{font-size:12px;color:var(--muted);font-weight:700}
.stat-value{font-size:26px;font-weight:950;margin-top:4px;letter-spacing:-.03em}
.stat-sub{color:var(--muted);font-size:11px;margin-top:4px}
.grid{display:grid;gap:16px;margin-bottom:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.panel{background:linear-gradient(180deg,var(--panel),#10172a);border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow);overflow:hidden}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px 18px 12px}
.panel-head h2{margin:0;font-size:17px}
.panel-head p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.wrap-head{flex-wrap:wrap}
.panel-link{font-size:12px;color:#9db8ff;text-decoration:none;font-weight:800}
.chart-panel{padding-bottom:8px}
.chart{display:block;width:100%;max-width:100%;padding:0 10px 8px}
.chart-tall{min-height:360px}
.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.input{border:1px solid #344361;background:#0c1428;color:white;border-radius:9px;padding:9px 11px;outline:none}
.input:focus{border-color:#6e95f4;box-shadow:0 0 0 3px rgba(110,149,244,.08)}
.search-input{min-width:260px}
.select-input{min-width:140px}
.ghost-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--border);background:#121b31;color:#c3cee2;border-radius:9px;padding:9px 11px;font-weight:800;font-size:12px}
.ghost-btn:hover{border-color:#49618d;color:white}
.btn{border:0;border-radius:8px;padding:8px 10px;font-weight:900;font-size:12px;cursor:pointer;white-space:nowrap}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-primary{background:#7398ff;color:#071022}
.btn-success{background:#23774e;color:#e9fff4}
.btn-lg{padding:11px 14px;font-size:13px}
.btn-block{width:100%}
.table-wrap{overflow:auto;border-top:1px solid rgba(40,54,83,.55)}
.table-count{padding:0 18px 12px;color:var(--muted);font-size:11px}
table{width:100%;border-collapse:collapse;min-width:1000px}
th,td{padding:10px 12px;border-bottom:1px solid rgba(40,54,83,.68);text-align:left;white-space:nowrap;font-size:12px;vertical-align:middle}
th{background:#172139;color:#aebbd2;font-size:11px;letter-spacing:.02em;position:sticky;top:0;z-index:2}
tbody tr:hover{background:#151f36}
.strong{font-weight:900}.muted{color:var(--muted)}.mono{font-family:"SFMono-Regular",Consolas,monospace;font-size:11px}
.text-danger{color:#ff98a3}.text-warning{color:#ffd08f}
.badge{display:inline-flex;align-items:center;justify-content:center;min-width:70px;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:950;border:1px solid transparent}
.badge-red{background:#451a25;color:#ffb2bc;border-color:#71303b}
.badge-orange{background:#472b14;color:#ffd09d;border-color:#6b4828}
.badge-yellow{background:#433813;color:#ffe685;border-color:#6e5f25}
.badge-green{background:#153a2a;color:#9ce9bf;border-color:#2a6047}
.badge-blue{background:#173151;color:#a8d2ff;border-color:#2a537d}
.badge-gray{background:#252e41;color:#bdc6d7;border-color:#39445d}
.stock-edit{display:flex;align-items:center;gap:6px}
.stock-number{width:90px;padding:7px 8px}
.compact-table table{min-width:0}
.health-list{padding:2px 18px 18px}
.health-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid rgba(40,54,83,.55)}
.health-row:last-child{border-bottom:0}
.notice-list{padding:2px 18px 18px;color:#bac5d8;line-height:1.65}
.notice-list>div{padding:5px 0}
.notice{margin:14px 18px 18px;padding:11px 12px;border-radius:10px;background:#111d34;color:#aab8d0;border:1px solid #2b3b5b;line-height:1.5;font-size:12px}
.action-row{display:flex;gap:9px;flex-wrap:wrap;padding:14px 18px 0}
.chip-list{display:flex;flex-wrap:wrap;gap:6px;padding:4px 18px 8px}
.chip{background:#1b2741;border:1px solid #334665;border-radius:999px;padding:6px 9px;font-size:11px;color:#c6d3e8}
.empty-state{padding:20px 18px;color:var(--muted)}
.log-box{margin:0 18px 18px;max-height:360px;overflow:auto;background:#080d18;border:1px solid #25324c;border-radius:10px;padding:12px;color:#c5d0e5;font-size:11px;line-height:1.55;white-space:pre-wrap}
.flash{padding:12px 14px;border-radius:11px;margin-bottom:14px;line-height:1.45;border:1px solid transparent}
.flash-success{background:#153727;border-color:#285e43;color:#a5ecc3}
.flash-info{background:#142b45;border-color:#28517a;color:#b8dcff}
.flash-warning{background:#423214;border-color:#745c23;color:#f3da8d}
.flash-error{background:#3a1820;border-color:#6d2635;color:#ffbdc6}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#18284f 0,#0a1020 38%,#070c18 100%)}
.login-card{width:min(430px,calc(100vw - 30px));background:rgba(18,26,47,.95);border:1px solid #31405f;border-radius:20px;padding:30px;box-shadow:0 28px 70px rgba(0,0,0,.4)}
.login-logo{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#638cff,#91adff);color:#071023;font-weight:1000;font-size:26px;margin-bottom:16px}
.login-card h1{margin:5px 0 8px;font-size:28px}
.login-card p{margin:0 0 22px;color:var(--muted)}
.field-label{display:block;margin-bottom:7px;font-size:12px;font-weight:800}
.login-input{width:100%;margin-bottom:10px;padding:12px}
.login-error{margin-top:12px}
@media(max-width:1150px){
    .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .grid-2{grid-template-columns:1fr}
}
@media(max-width:820px){
    .sidebar{transform:translateX(-100%);transition:.2s ease;box-shadow:20px 0 50px rgba(0,0,0,.4)}
    .sidebar.open{transform:translateX(0)}
    .main{margin-left:0}
    .menu-btn{display:inline-block}
    .page-content{padding:18px 14px 34px}
    .topbar{padding:14px}
    .clock{display:none}
    .search-input{min-width:0;width:100%}
    .toolbar{width:100%}
    .stock-edit{min-width:380px}
}
@media(max-width:520px){
    .stats-grid{grid-template-columns:1fr 1fr}
    .stat-value{font-size:22px}
    .topbar h1{font-size:23px}
}

.sidebar-user{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid rgba(40,54,83,.55);margin-top:8px}
.user-avatar{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#263b66;color:#dbe7ff;font-weight:950}
.user-name{font-size:12px;font-weight:900}.user-id{font-size:10px;color:var(--muted);font-family:Consolas,monospace;margin-top:2px}
.idle-indicator{font-size:11px;color:#95a5c2;border:1px solid #2b3a58;border-radius:999px;padding:6px 8px}
.form-stack{display:flex;flex-direction:column;gap:8px}.panel-form{padding:8px 18px 18px}.full-width{width:100%}
.form-grid{display:grid;gap:12px;margin-bottom:14px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 16px}
.permission-box{background:#0d1528;border:1px solid #2b3957;border-radius:11px;padding:11px}
.permission-box>strong{display:block;margin-bottom:8px;color:#dbe4f4}
.check-row{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#c3cde0;padding:5px 0}
.check-row input{margin-top:2px}.standalone-check{margin:12px 0}.important-check{background:#121e35;border:1px solid #304467;border-radius:10px;padding:10px}
.section-title{font-size:14px;margin:16px 0 6px}.inline-form{display:flex;gap:8px;align-items:flex-start}.inline-form .input{flex:1}
.inline-reset-form{border-top:1px solid rgba(40,54,83,.55);margin-top:4px}.btn-warning{background:#815a20;color:#fff3d3}.btn-danger{background:#812d3a;color:#ffe7eb}
.danger-panel{border-color:#67313a}.danger-inline{border-top:1px solid rgba(110,46,57,.7);display:flex;gap:8px;align-items:center}
.details-list{padding:4px 18px 18px}.details-list>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid rgba(40,54,83,.55)}
.details-list>div:last-child{border-bottom:0}.details-list span{color:var(--muted)}
.textarea{min-height:94px;resize:vertical}.small-textarea{min-height:58px}.member-chip{display:flex;align-items:center;gap:5px;background:#1b2741;border:1px solid #334665;border-radius:999px;padding:4px 7px 4px 10px;font-size:11px;color:#d0d9e9}
.member-chip form{margin:0}.chip-x{border:0;background:#47202b;color:#ffb8c2;border-radius:999px;width:20px;height:20px;cursor:pointer;padding:0}
.sku-group-panel{margin-top:14px}.audit-detail{max-width:520px;white-space:normal}.audit-detail code{font-size:10px;color:#bdc8db}
.user-panel{margin-top:14px}.filter-form{padding-top:0}
@media(max-width:1100px){.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.permission-grid,.form-grid-2,.form-grid-3,.form-grid-4{grid-template-columns:1fr}.inline-form,.danger-inline{flex-direction:column}.idle-indicator{display:none}.candidate-thumb-wrap{width:62px;height:62px;flex-basis:62px}.candidate-top-with-image{min-height:70px}}

.organizer-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr);gap:16px;margin-bottom:16px}
.organizer-inbox{min-width:0}.organizer-targets{display:flex;flex-direction:column;gap:12px;min-width:0}
.organizer-toolbar{padding:0 18px 12px}.candidate-list{display:flex;flex-direction:column;gap:9px;padding:0 14px 16px;max-height:780px;overflow:auto}
.candidate-card{border:1px solid #30405f;border-radius:12px;background:#0d162a;padding:12px;cursor:grab}
.candidate-card:active{cursor:grabbing}.candidate-card.dragging{opacity:.45}.candidate-card.needs-review{border-color:#70572b;background:#1b1720}
.candidate-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.candidate-top-with-image{min-height:82px}
.candidate-product-visual{display:flex;align-items:flex-start;gap:11px;min-width:0;flex:1}
.candidate-thumb-wrap{width:74px;height:74px;flex:0 0 74px;border-radius:10px;overflow:hidden;background:#fff;border:1px solid #344564;display:flex;align-items:center;justify-content:center}
.candidate-thumb{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.candidate-thumb-empty{display:flex;align-items:center;justify-content:center;font-size:27px;background:#14213a;color:#8fa1bf}
.candidate-product-copy{min-width:0;padding-top:2px}
.candidate-sku{font-size:13px}.candidate-title{color:#a7b3ca;font-size:11px;margin-top:4px;line-height:1.4}
.candidate-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:9px;color:#7f90ad;font-size:10px}
.candidate-warning{margin-top:9px;padding:8px;border-radius:8px;background:#3f3116;color:#f1d88d;font-size:11px;line-height:1.45}
.candidate-ready{margin-top:9px;color:#98dfb8;font-size:11px}.drag-hint{margin-top:9px;color:#7fa4ff;font-size:11px}
.candidate-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.mini-action{border:1px solid #33486d;background:#15233e;color:#cbd8ef;border-radius:7px;padding:6px 8px;font-size:10px;cursor:pointer}
.candidate-apply-form{margin-top:10px}.search-summary{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 16px;color:#a8b5cc;font-size:11px}.search-summary span{padding:5px 8px;border:1px solid #2a3957;border-radius:999px;background:#0d1628}
.drop-target{display:flex;align-items:center;gap:13px;padding:18px;border:1px dashed #40557b;border-radius:14px;background:#101a30;transition:.15s ease}
.drop-target strong{display:block;font-size:14px}.drop-target span{display:block;color:#96a6c2;font-size:11px;margin-top:4px;line-height:1.45}
.drop-target.featured{border-color:#436b5a;background:#101e1a}.drop-target.drag-over,.quick-group-drop.drag-over,.new-group-drop.drag-over,.group-drop-zone.drag-over{border-color:#7da1ff;background:#182849;transform:translateY(-1px)}
.drop-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#1b2a48;color:#9bb8ff;font-size:24px;font-weight:800;flex:0 0 auto}
.quick-groups-panel{margin-top:2px}.quick-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 14px 14px}
.quick-group-drop{border:1px dashed #344766;border-radius:10px;padding:10px;background:#0c1527}
.quick-group-drop strong{display:block;font-size:12px}.quick-group-drop span{display:block;font-size:10px;color:#8798b6;margin-top:4px}
.modal{border:0;padding:0;background:transparent;color:var(--text);max-width:min(720px,calc(100vw - 24px));width:100%}
.modal::backdrop{background:rgba(3,7,14,.76);backdrop-filter:blur(4px)}
.modal-card{background:#111a2f;border:1px solid #334362;border-radius:16px;padding:18px;box-shadow:0 28px 80px rgba(0,0,0,.5)}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-head h2{margin:3px 0 0}
.modal-close{border:1px solid #334362;background:#16213a;color:#cbd5e7;border-radius:9px;width:36px;height:36px;font-size:20px;cursor:pointer}
.modal-candidate{padding:10px 12px;border-radius:10px;background:#0b1324;border:1px solid #283956;color:#b8c5db;margin-bottom:14px}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.modal-separator{height:1px;background:#2c3a58;margin:16px 0}
.intake-fields[hidden]{display:none!important}.intake-fields h3{font-size:14px}
.sku-board{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(520px,1.28fr);gap:16px}
.sku-source-panel{min-width:0}.sku-source-list{display:flex;flex-direction:column;gap:7px;padding:0 14px 16px;max-height:900px;overflow:auto}
.sku-drag-card{border:1px solid #2d3f60;border-radius:10px;background:#0c1528;padding:10px;cursor:grab}.sku-drag-card.dragging{opacity:.45}
.sku-drag-card strong{display:block;font-size:12px}.sku-drag-card span{display:block;color:#8293b1;font-size:10px;margin-top:4px}
.sku-groups-column{min-width:0}.new-group-drop{display:flex;align-items:center;gap:12px;padding:15px;border:1px dashed #4b6592;border-radius:13px;background:#111c34;margin-bottom:12px}
.new-group-drop strong{display:block}.new-group-drop span{display:block;color:#8fa0bd;font-size:11px;margin-top:3px}
.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sku-group-card{border:1px solid #2c3b59;border-radius:13px;background:#10192d;padding:12px;min-width:0}.sku-group-card[draggable="true"]{cursor:grab}
.group-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.group-card-head>div>strong{display:block}.group-card-head span{display:block;color:#8fa0bd;font-size:10px;margin-top:4px}
.group-drop-zone{margin:11px 0;border:1px dashed #3a4d70;border-radius:9px;padding:9px;text-align:center;color:#8196ba;font-size:10px}
.member-chip-list{display:flex;flex-wrap:wrap;gap:6px}.group-more{margin-top:10px;border-top:1px solid rgba(40,54,83,.55);padding-top:8px}.group-more summary{cursor:pointer;color:#8fa7d3;font-size:11px;font-weight:800}
@media(max-width:1100px){.organizer-layout,.sku-board{grid-template-columns:1fr}.candidate-list,.sku-source-list{max-height:none}.group-grid{grid-template-columns:1fr}.quick-groups{grid-template-columns:1fr}}

.field-help{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.4}
.user-admin-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.55fr);gap:12px;border-top:1px solid rgba(40,54,83,.55)}
.delete-user-form{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-left:1px solid rgba(110,46,57,.55)}
.account-password-form{max-width:720px}
@media(max-width:900px){.user-admin-actions{grid-template-columns:1fr}.delete-user-form{border-left:0;border-top:1px solid rgba(110,46,57,.55);align-items:stretch;flex-direction:column}}

.intake-live-panel{margin-bottom:16px}
.intake-live-panel.safe{border-color:#315441}
.intake-live-panel.armed{border-color:#8a3443;background:linear-gradient(180deg,#26141b,#151628);box-shadow:0 0 0 1px rgba(255,109,124,.08),0 18px 45px rgba(0,0,0,.24)}
.intake-live-panel.armed h2{color:#ff9eaa}
.danger-eyebrow{color:#ff7f90}
.danger-confirm-box{display:flex;flex-direction:column;gap:5px;padding:12px 13px;margin-bottom:14px;border:1px solid #7b3240;background:#351923;border-radius:10px;color:#ffd3d9}
.danger-confirm-box span{font-size:11px;color:#e5aeb7;line-height:1.45}

.full-sales-panel{margin-bottom:16px;border-color:#30466d}
.full-sales-updated{margin-top:8px!important;color:#a9b9d5!important}
.period-filter{display:flex;flex-wrap:wrap;gap:7px;padding:0 18px 16px}
.period-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:8px 11px;border-radius:999px;border:1px solid #344562;background:#0c1528;color:#9eacc4;font-size:11px;font-weight:850;transition:.15s ease}
.period-btn:hover{border-color:#5773a7;color:white}
.period-btn.active{background:#284b8c;border-color:#537de0;color:white;box-shadow:0 0 0 3px rgba(83,125,224,.08)}
.full-sales-stats{padding:0 18px;margin-bottom:16px}
.full-sales-charts{padding:0 18px;margin-bottom:8px}
.chart-panel-inner{border:1px solid rgba(40,54,83,.7);border-radius:12px;background:#0d1528;overflow:hidden}
.subpanel-head{padding:14px 15px 4px}.subpanel-head h3{margin:0;font-size:14px}.subpanel-head p{margin:4px 0 0;color:var(--muted);font-size:11px}
.full-sales-table-head{border-top:1px solid rgba(40,54,83,.65);margin-top:8px}


/* ==========================================================
   V7 — filtros / tarjetas clickeables
   ========================================================== */

.stat-card-link{
    display:block;
    color:inherit;
    text-decoration:none;
    cursor:pointer;
    transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;
}
.stat-card-link:hover{
    transform:translateY(-2px);
    border-color:#5575ad;
    box-shadow:0 15px 34px rgba(0,0,0,.2);
}
.stat-card-link.active-filter{
    border-color:#6d95f6;
    box-shadow:0 0 0 2px rgba(109,149,246,.14),0 14px 32px rgba(0,0,0,.18);
}
.sales-filter-panel{margin-bottom:16px}
.sales-filter-form{padding-top:0}
.sales-kpi-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}
.filter-summary{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin:-2px 0 16px;
    padding:10px 12px;
    border:1px solid #2d3f5e;
    border-radius:11px;
    background:#0d172a;
    color:#a8b6cf;
    font-size:11px;
}
.filter-summary>span{
    border:1px solid #31425f;
    border-radius:999px;
    padding:5px 8px;
    background:#111c31;
}

/* ==========================================================
   V7 — SKU board multi-select / drag & drop
   ========================================================== */

.sku-board{
    display:grid!important;
    grid-template-columns:minmax(390px,.78fr) minmax(560px,1.22fr)!important;
    gap:16px!important;
    align-items:start;
}
.sku-source-panel,
.sku-groups-column{
    min-width:0;
}
.sku-filter-grid{
    display:grid;
    grid-template-columns:1.35fr .9fr .9fr .9fr;
    gap:8px;
    padding:0 14px 10px;
}
.sku-bulk-bar{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    padding:10px 14px;
    border-top:1px solid rgba(40,54,83,.55);
    border-bottom:1px solid rgba(40,54,83,.55);
    background:#0c1528;
}
.bulk-selected-count{
    min-width:105px;
    color:#aebbd1;
    font-size:11px;
}
.bulk-selected-count strong{
    color:#fff;
    font-size:15px;
}
.sku-bulk-add{
    display:flex;
    gap:7px;
    padding:10px 14px 2px;
}
.sku-bulk-add .input{flex:1}
.sku-source-list{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    padding:10px 14px 16px!important;
    max-height:900px;
    overflow:auto;
}
.sku-drag-card{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    border:1px solid #2d3f60!important;
    border-radius:10px!important;
    background:#0c1528!important;
    padding:9px 10px!important;
    cursor:grab!important;
    user-select:none;
}
.sku-drag-card:hover{
    border-color:#47628f!important;
    background:#101d35!important;
}
.sku-drag-card.selected{
    border-color:#6a91ed!important;
    background:#142444!important;
    box-shadow:0 0 0 2px rgba(106,145,237,.1);
}
.sku-drag-card.dragging{
    opacity:.42!important;
}
.sku-card-check{
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border-radius:7px;
    background:#101b30;
    border:1px solid #30425f;
    cursor:pointer;
}
.sku-card-check input{
    width:15px;
    height:15px;
    margin:0;
}
.sku-card-main{
    min-width:0;
}
.sku-card-main strong{
    display:block!important;
    font-size:12px!important;
    overflow:hidden;
    text-overflow:ellipsis;
}
.sku-card-main span{
    display:block!important;
    color:#8293b1!important;
    font-size:10px!important;
    margin-top:3px!important;
    overflow:hidden;
    text-overflow:ellipsis;
}
.sku-drag-handle{
    color:#6881aa;
    font-size:18px;
    letter-spacing:-5px;
    padding-right:4px;
}
.new-group-drop{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    padding:16px!important;
    border:1px dashed #4b6592!important;
    border-radius:13px!important;
    background:#111c34!important;
    margin-bottom:12px!important;
}
.group-filter-bar{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
}
.group-filter-bar .field-label{
    margin:0;
    white-space:nowrap;
}
.group-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
}
.sku-group-card{
    border:1px solid #2c3b59!important;
    border-radius:13px!important;
    background:#10192d!important;
    padding:12px!important;
    min-width:0!important;
}
.group-drop-zone{
    margin:11px 0!important;
    border:1px dashed #3a4d70!important;
    border-radius:9px!important;
    padding:10px!important;
    text-align:center!important;
    color:#8196ba!important;
    font-size:10px!important;
    transition:.14s ease;
}
.new-group-drop.drag-over,
.group-drop-zone.drag-over{
    border-color:#81a4ff!important;
    background:#1a2d52!important;
    box-shadow:0 0 0 3px rgba(129,164,255,.09);
}
.selected-sku-preview{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:14px;
    padding:10px;
    border:1px solid #2c3d5c;
    border-radius:10px;
    background:#0b1426;
}
.selected-preview-chip{
    display:inline-flex;
    border:1px solid #3a527a;
    border-radius:999px;
    padding:5px 8px;
    background:#162440;
    color:#cbd8ee;
    font-size:10px;
}

@media(max-width:1250px){
    .sku-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .sales-kpi-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}
}
@media(max-width:1100px){
    .sku-board{
        grid-template-columns:1fr!important;
    }
    .group-grid{
        grid-template-columns:1fr!important;
    }
    .sku-source-list{
        max-height:none;
    }
}
@media(max-width:700px){
    .sku-filter-grid{grid-template-columns:1fr}
    .sku-bulk-add{flex-direction:column}
    .sales-kpi-grid{grid-template-columns:1fr 1fr}
}


/* ==========================================================
   V8 — Stock prioritizado / Sin reposición
   ========================================================== */

.stock-toolbar{
    align-items:center;
    flex-wrap:wrap;
}
.stock-row-no-restock{
    opacity:.72;
    background:rgba(82,91,111,.06);
}
.stock-row-no-restock:hover{
    opacity:1;
}
.restock-toggle-form{
    margin:0;
}
.restock-check{
    display:inline-flex;
    align-items:center;
    gap:7px;
    cursor:pointer;
    user-select:none;
    color:#aeb9cc;
    font-size:10px;
    font-weight:800;
    white-space:nowrap;
}
.restock-checkbox{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.restock-box{
    width:22px;
    height:22px;
    border:2px solid #53627d;
    border-radius:5px;
    display:grid;
    place-items:center;
    background:#0b1425;
    color:white;
    font-size:16px;
    font-weight:950;
    line-height:1;
    transition:.12s ease;
}
.restock-check:hover .restock-box{
    border-color:#7b93bd;
}
.restock-check.checked{
    color:#c6cedb;
}
.restock-check.checked .restock-box{
    border-color:#69758c;
    background:#293246;
}
.restock-label{
    max-width:82px;
    line-height:1.2;
}
@media(max-width:900px){
    .restock-label{
        display:none;
    }
}


/* ==========================================================
   V10 — guardado diferido de SIN REPOSICION
   ========================================================== */

.restock-save-status{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 18px 10px;
    padding:8px 10px;
    border:1px solid #3b4b68;
    border-radius:9px;
    background:#101a2f;
    color:#afbdd4;
    font-size:11px;
    font-weight:750;
}
.restock-save-status[hidden]{
    display:none!important;
}
.restock-save-dot{
    width:8px;
    height:8px;
    border-radius:999px;
    background:#e4b45d;
    flex:0 0 auto;
}
.restock-save-status[data-mode="saving"]{
    border-color:#466a9f;
    color:#c5d7f2;
}
.restock-save-status[data-mode="saving"] .restock-save-dot{
    background:#77a6ef;
}
.restock-save-status[data-mode="saved"]{
    border-color:#356b52;
    color:#b7dfca;
}
.restock-save-status[data-mode="saved"] .restock-save-dot{
    background:#54bf88;
}
.restock-save-status[data-mode="error"]{
    border-color:#7a3743;
    color:#f0b7c0;
}
.restock-save-status[data-mode="error"] .restock-save-dot{
    background:#e16f7e;
}
.restock-check{
    transition:opacity .12s ease;
}
.restock-check.checked .restock-box{
    transform:scale(1.03);
}


/* CONTROL ST CLOUD v0.8 — only migration-state additions.
   Base UI above is copied directly from current stock.tiendafani.com.ar. */
.cloud-tenant-chip{
    margin:0 10px 10px;
    padding:9px 10px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--panel-2);
}
.cloud-tenant-chip strong{display:block;font-size:12px}
.cloud-tenant-chip span{display:block;margin-top:3px;color:var(--muted);font-size:9px}
.cloud-readonly-note{
    border:1px solid #775c2b;
    background:#271f10;
    color:#f1cc8f;
    padding:10px 12px;
    border-radius:9px;
    margin-bottom:14px;
    font-size:11px;
}
.cloud-disabled{
    opacity:.58;
    cursor:not-allowed!important;
}
.cloud-placeholder{
    min-height:180px;
    display:grid;
    place-items:center;
    text-align:center;
    color:var(--muted);
    border:1px dashed var(--border);
    border-radius:12px;
    padding:24px;
}
.cloud-owner-back{
    display:flex!important;
    width:100%;
    border:0;
    text-align:left;
    cursor:pointer;
    background:transparent;
}


/* CONTROL ST CLOUD v1.0 — live completion */
.cloud-sku-board{
    display:grid;
    grid-template-columns:minmax(300px,.8fr) minmax(0,1.6fr);
    gap:16px;
}
.cloud-sku-board .sku-groups-column{
    display:flex;
    flex-direction:column;
    gap:16px;
}
.group-actions-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:14px;
}
.group-actions-grid .mini-form{
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--panel-2);
    padding:12px;
}
.intake-config{
    margin-top:12px;
    border-top:1px solid var(--border);
    padding-top:10px;
}
.intake-config summary{
    cursor:pointer;
    font-weight:900;
    color:var(--accent);
}
.intake-mode-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:12px;
}
.intake-mode-grid .mini-form{
    border:1px solid var(--border);
    background:var(--panel-2);
    border-radius:11px;
    padding:13px;
}
.intake-mode-grid h3{
    margin:0 0 10px;
    font-size:13px;
}
.check-line{
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:8px;
    margin:10px 0;
}
.secret-once{
    margin-top:10px;
    padding:12px;
    border:1px solid #80662c;
    background:#16110a;
    border-radius:8px;
    overflow-wrap:anywhere;
    user-select:all;
}
.danger-zone{
    border:1px solid rgba(255,94,107,.35);
    background:rgba(255,94,107,.04);
    border-radius:12px;
    padding:14px;
    margin-top:14px;
}
.cloud-live-note{
    border-color:rgba(55,207,135,.35)!important;
    background:rgba(55,207,135,.08)!important;
    color:#a8f0c9!important;
}
.cloud-candidate-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.cloud-candidate-list .candidate-card{
    margin:0;
}
@media(max-width:1100px){
    .cloud-sku-board{grid-template-columns:1fr}
    .group-actions-grid,.intake-mode-grid,.cloud-candidate-list{grid-template-columns:1fr}
}


/* CONTROL ST CLOUD v1.0.1 — deep comparator detail */
.deep-comparator-panel{
    border-color:rgba(111,151,255,.28);
}
.deep-validation-action{
    padding-top:0;
}
.deep-run-meta{
    margin:0 18px 16px;
    padding:9px 11px;
    border:1px solid var(--border);
    border-radius:8px;
    color:var(--muted);
    background:var(--panel-2);
    font-size:11px;
}
.deep-summary-grid{
    padding:0 18px 4px;
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.deep-difference-note{
    margin:14px 18px 4px;
}
.deep-difference-section{
    margin:18px;
    border:1px solid rgba(255,94,107,.28);
    background:rgba(255,94,107,.025);
    border-radius:12px;
    overflow:hidden;
}
.deep-difference-title{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:14px 16px;
    border-bottom:1px solid var(--border);
}
.deep-difference-title h3{
    margin:0;
    font-size:14px;
}
.deep-difference-title p{
    margin:5px 0 0;
    color:var(--muted);
    font-size:11px;
}
.deep-count-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px 18px;
    padding:12px 16px;
    color:var(--muted);
    font-size:11px;
    border-bottom:1px solid rgba(40,54,83,.45);
}
.deep-count-row strong{
    color:var(--text);
}
.deep-example-box{
    margin:12px 16px;
    padding:12px;
    border:1px solid var(--border);
    border-radius:9px;
    background:var(--panel-2);
}
.deep-example-box>strong{
    display:block;
    margin-bottom:9px;
}
.deep-key-list{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
.deep-key-list code{
    border:1px solid var(--border);
    background:#081121;
    padding:5px 7px;
    border-radius:6px;
    font-size:10px;
}
.deep-table-wrap{
    margin:12px 16px 16px;
    border:1px solid var(--border);
    border-radius:9px;
}
.deep-value-cell code,
.deep-json-cell code{
    white-space:pre-wrap;
    word-break:break-word;
    font-size:10px;
}
.deep-json-cell{
    min-width:520px;
    max-width:900px;
}
@media(max-width:1100px){
    .deep-summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:720px){
    .deep-summary-grid{
        grid-template-columns:1fr;
    }
    .deep-difference-title{
        flex-direction:column;
    }
    .deep-json-cell{
        min-width:340px;
    }
}


/* CONTROL ST CLOUD v1.0.3 — cutover reconciliation */
.cutover-reconciliation-note{
    margin:0 18px 14px;
}
.cutover-delta{
    display:inline-flex;
    align-items:center;
    min-width:34px;
    justify-content:center;
    padding:3px 7px;
    border-radius:999px;
    border:1px solid rgba(111,151,255,.35);
    background:rgba(111,151,255,.08);
    color:#a9c0ff;
    font-weight:850;
}


/* CONTROL ST CLOUD v1.0.4 — estados operativos de stock */
.badge-purple{
    color:#dcc8ff;
    background:rgba(154,109,255,.16);
    border-color:rgba(154,109,255,.48);
}
.stat-card.purple,
.stat-card-link.purple{
    border-color:rgba(154,109,255,.48);
}
.stat-card.purple .stat-value,
.stat-card-link.purple .stat-value{
    color:#dcc8ff;
}
.stat-card.attention,
.stat-card-link.attention{
    border-color:rgba(244,211,94,.46);
}
.stat-card.attention .stat-value,
.stat-card-link.attention .stat-value{
    color:#f4d35e;
}
.stock-row-no-restock{
    opacity:1;
    background:rgba(154,109,255,.055);
}
.stock-row-no-restock td{
    border-color:rgba(154,109,255,.10);
}
.stock-row-no-restock:hover{
    background:rgba(154,109,255,.09);
}
.stock-row-no-restock .restock-check.checked{
    color:#dcc8ff;
}
.stock-row-no-restock .restock-box{
    border-color:rgba(154,109,255,.72);
    background:rgba(154,109,255,.14);
    color:#e8dcff;
}
.stock-status-kpis .stat-card-link{
    cursor:pointer;
}
.stock-status-kpis .stat-card-link:hover{
    transform:translateY(-1px);
}


/* CONTROL ST CLOUD v1.0.5 — filtro Stock robusto por servidor */
.stock-filter-form{
    margin:0;
    display:inline-flex;
}
.stock-filter-form .select-input{
    min-width:190px;
}

/* CONTROL ST CLOUD v1.1.0 — PRECIO + observabilidad */
.price-tabs{
    display:flex;gap:7px;flex-wrap:wrap;margin:0 0 16px;padding:6px;
    border:1px solid var(--border);border-radius:13px;background:#0d1528
}
.price-tab{
    text-decoration:none;color:#9dadc7;border:1px solid transparent;border-radius:9px;
    padding:9px 13px;font-size:12px;font-weight:900
}
.price-tab:hover{color:white;background:#16213a}
.price-tab.active{color:white;background:#253b69;border-color:#3d5f9e}
.price-hero-panel{margin-bottom:16px;border-color:#304a79}
.price-summary-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}
.price-status-grid{grid-template-columns:repeat(5,minmax(150px,1fr))}
.stat-card.info-tone,.stat-card-link.info-tone{border-color:#315579}
.stat-card.attention,.stat-card-link.attention{border-color:#6e5f25}
.stat-card-link{text-decoration:none;display:block;transition:.15s ease}
.stat-card-link:hover{transform:translateY(-1px);border-color:#506a98}
.price-sku-link{color:#a9c2ff;font-weight:900;text-decoration:none}
.price-sku-link:hover{text-decoration:underline}
.price-detail-head{display:flex;align-items:center;gap:15px;margin-bottom:16px}
.price-detail-head>div:nth-child(2){flex:1}
.price-detail-head h2{margin:2px 0 0;font-size:24px}
.price-detail-grid{align-items:start}
.price-total-row{font-size:14px;background:rgba(111,151,255,.06);padding-left:8px!important;padding-right:8px!important}
.price-total-row strong{font-size:16px;color:#dce7ff}
.price-breakdown-panel{margin-bottom:16px}
.price-cost-editors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}
.price-cost-card{background:linear-gradient(180deg,#111a30,#0d1528);border:1px solid #2b3a58;border-radius:14px;overflow:hidden}
.price-cost-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid rgba(40,54,83,.6)}
.price-cost-head>div:first-child strong{display:block;font-size:14px}
.price-cost-head>div:first-child span{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.price-cost-current{text-align:right}.price-cost-current small{display:block;color:var(--muted);font-size:9px}.price-cost-current strong{display:block;margin-top:3px;color:#b6e8c9}
.price-cost-form{padding:14px 16px}
.price-cost-options{display:grid;grid-template-columns:1.2fr 1.4fr 1fr;gap:12px;align-items:center;margin-top:4px}
.price-inline-field{display:flex;flex-direction:column;gap:6px;color:#aab7cd;font-size:11px}.price-inline-field .input{width:100%}
.price-fx-inline{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px;padding:9px 10px;border:1px solid #2b3d5e;border-radius:9px;background:#0a1324;color:#aab7cf;font-size:10px}
.price-form-actions{display:flex;gap:8px;margin-top:12px}
.price-write-row td{background:rgba(129,45,58,.06);white-space:normal}
.price-write-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.price-write-form strong{margin-right:auto}
.price-write-form .input{min-width:170px}
.price-timeline{padding:0 18px 18px}
.price-timeline-row{display:grid;grid-template-columns:155px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(40,54,83,.55)}
.price-timeline-row:last-child{border-bottom:0}.price-timeline-date{font-size:10px;color:var(--muted);font-family:Consolas,monospace}
.price-timeline-row>div:nth-child(2) strong{display:block;font-size:12px}.price-timeline-row>div:nth-child(2) span{display:block;color:#9aa9c4;font-size:10px;margin-top:4px;white-space:normal;line-height:1.45}
.price-priority{padding:5px 18px 18px;display:flex;flex-direction:column;gap:8px}
.price-priority>div{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #2c3a58;border-radius:10px;background:#0c1528}
.price-priority>div strong{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#263d6a;color:#bed0ff}.price-priority span{font-weight:800;color:#c8d2e4}
.health-hero-panel{margin-bottom:16px;border-color:#315441}
.health-anomalies{padding:0 18px 18px}
.health-anomaly{display:flex;align-items:center;gap:12px;text-decoration:none;padding:12px 0;border-bottom:1px solid rgba(40,54,83,.55)}
.health-anomaly:last-child{border-bottom:0}.health-anomaly>div{flex:1}.health-anomaly strong{display:block;font-size:12px}.health-anomaly span{display:block;color:var(--muted);font-size:10px;margin-top:4px;line-height:1.45}.health-anomaly>b{color:#7fa5ff}
.tenant-health-line{margin-top:10px;padding-top:9px;border-top:1px solid rgba(40,54,83,.5);display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#8798b6}
.tenant-health-line.green strong{color:var(--green)}.tenant-health-line.orange strong{color:var(--orange)}.tenant-health-line.red strong{color:var(--red)}.tenant-health-line.gray strong{color:#9aa6bc}
@media(max-width:1280px){.price-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.price-cost-editors{grid-template-columns:1fr}.price-cost-options{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.price-summary-grid,.price-status-grid{grid-template-columns:1fr 1fr}.price-cost-options{grid-template-columns:1fr}.price-timeline-row{grid-template-columns:1fr}.price-write-form{align-items:stretch;flex-direction:column}.price-write-form .input{width:100%}}

/* ================================================================
   CONTROL ST CLOUD v1.1.1 — OWNER / PRE-APP SHELL
   El tenant_app usa .app-shell/.main y queda aislado de este bloque.
   ================================================================ */
.cloud-admin-body{
    min-height:100vh;
    background:
        radial-gradient(circle at 8% 0%,rgba(111,151,255,.08),transparent 28%),
        var(--bg);
}
.cloud-admin-shell{
    width:min(1480px,calc(100% - 32px));
    margin:0 auto;
    padding:0 0 48px;
}
.cloud-admin-shell>.topbar{
    position:static;
    min-height:72px;
    margin-bottom:18px;
    padding:14px 18px;
    border:1px solid var(--border);
    border-top:0;
    border-radius:0 0 14px 14px;
    background:rgba(13,20,39,.94);
    box-shadow:0 12px 35px rgba(0,0,0,.16);
}
.cloud-admin-shell .logo{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#eaf0ff;
    text-decoration:none;
    font-size:14px;
    font-weight:950;
    letter-spacing:.06em;
}
.cloud-admin-shell .logo::before{
    content:'C';
    width:34px;
    height:34px;
    border-radius:10px;
    display:grid;
    place-items:center;
    color:#071023;
    background:linear-gradient(135deg,#638cff,#91adff);
    font-size:18px;
    font-weight:1000;
}
.cloud-admin-shell>.topbar .topbar-right{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
.cloud-admin-shell .owner-context{
    color:#a9b8d1;
    font-size:11px;
    font-weight:850;
    letter-spacing:.04em;
}
.cloud-admin-shell .hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
    padding:22px 24px;
    border:1px solid var(--border);
    border-radius:16px;
    background:linear-gradient(180deg,var(--panel),#10172a);
    box-shadow:var(--shadow);
}
.cloud-admin-shell .hero h1{
    margin:4px 0 5px;
    font-size:30px;
    line-height:1.1;
    letter-spacing:-.03em;
}
.cloud-admin-shell .hero p{margin:0;line-height:1.5}
.cloud-admin-shell .version{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:72px;
    padding:7px 10px;
    border:1px solid #34496f;
    border-radius:999px;
    background:#121e35;
    color:#a9c0ff;
    font-size:11px;
    font-weight:900;
}
.cloud-admin-shell .stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}
.cloud-admin-shell .stat{
    min-width:0;
    padding:15px 16px;
    border:1px solid var(--border);
    border-radius:13px;
    background:linear-gradient(180deg,var(--panel),#10172a);
}
.cloud-admin-shell .stat span{
    display:block;
    margin-bottom:4px;
    color:var(--muted);
    font-size:11px;
    font-weight:750;
}
.cloud-admin-shell .stat strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#fff;
    font-size:23px;
    line-height:1.15;
}
.cloud-admin-shell>.panel,
.cloud-admin-shell>.action-grid,
.cloud-admin-shell>.flash{
    margin-bottom:16px;
}
.cloud-admin-shell .panel>.panel-head+form.form-grid,
.cloud-admin-shell .panel>form.form-grid{
    padding:0 18px 18px;
}
.cloud-admin-shell .panel>.panel-head+form.form-grid.compact,
.cloud-admin-shell .panel>form.form-grid.compact{
    margin-bottom:0;
}
.cloud-admin-shell .panel>h2{
    margin:0;
    padding:18px 18px 4px;
    font-size:18px;
}
.cloud-admin-shell .panel>p.muted{
    margin:0;
    padding:0 18px 16px;
}
.cloud-admin-shell .form-grid.compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.cloud-admin-shell .form-grid.one{grid-template-columns:1fr}
.cloud-admin-shell label{
    display:flex;
    flex-direction:column;
    gap:6px;
    color:#c5d0e4;
    font-size:12px;
    font-weight:750;
}
.cloud-admin-shell input:not([type="checkbox"]):not([type="radio"]),
.cloud-admin-shell select,
.cloud-admin-shell textarea{
    width:100%;
    min-height:39px;
    border:1px solid #344361;
    border-radius:9px;
    background:#0c1428;
    color:#fff;
    padding:9px 11px;
    outline:none;
}
.cloud-admin-shell input:focus,
.cloud-admin-shell select:focus,
.cloud-admin-shell textarea:focus{
    border-color:#6e95f4;
    box-shadow:0 0 0 3px rgba(110,149,244,.08);
}
.cloud-admin-shell .primary,
.cloud-admin-shell .secondary,
.cloud-admin-shell .ghost,
.cloud-admin-shell .primary-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    border-radius:9px;
    padding:9px 13px;
    font-weight:900;
    font-size:12px;
    text-decoration:none;
    cursor:pointer;
    transition:.15s ease;
}
.cloud-admin-shell .primary{
    border:1px solid #7398ff;
    background:#7398ff;
    color:#071022;
}
.cloud-admin-shell .primary:hover{filter:brightness(1.06)}
.cloud-admin-shell .secondary{
    border:1px solid #3b4c6d;
    background:#17223a;
    color:#d6deed;
}
.cloud-admin-shell .secondary:hover,
.cloud-admin-shell .ghost:hover{border-color:#58709c;color:#fff}
.cloud-admin-shell .ghost{
    border:1px solid #2f3f5d;
    background:transparent;
    color:#aebbd2;
}
.cloud-admin-shell .primary-link{
    border:1px solid #4166a8;
    background:#1d3159;
    color:#dbe7ff;
}
.cloud-admin-shell .small{min-height:32px;padding:6px 9px;font-size:11px}
.cloud-admin-shell button:disabled{opacity:.48;cursor:not-allowed}
.cloud-admin-shell .warning-box{
    margin:0 18px 18px;
    padding:12px 13px;
    border:1px solid #6b5222;
    border-radius:10px;
    background:#352a13;
    color:#f2d98c;
    font-size:12px;
    line-height:1.55;
}
.cloud-admin-shell .tenant-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    padding:0 18px 18px;
}
.cloud-admin-shell .tenant-card{
    display:block;
    min-width:0;
    padding:15px;
    border:1px solid #30415f;
    border-radius:12px;
    background:#0d1629;
    color:inherit;
    text-decoration:none;
    transition:.15s ease;
}
.cloud-admin-shell .tenant-card:hover{
    transform:translateY(-1px);
    border-color:#506d9f;
    background:#111d34;
}
.cloud-admin-shell .tenant-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:8px;
}
.cloud-admin-shell .tenant-title strong{font-size:15px}
.cloud-admin-shell .tenant-id{
    color:#93a4c2;
    font-family:Consolas,"SFMono-Regular",monospace;
    font-size:10px;
}
.cloud-admin-shell .tenant-metrics{
    display:flex;
    flex-wrap:wrap;
    gap:6px 12px;
    margin-top:12px;
    color:#b4c0d6;
    font-size:11px;
}
.cloud-admin-shell .tenant-health-line{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:12px;
    padding-top:10px;
    border-top:1px solid #263652;
    color:#9dacC7;
    font-size:10px;
}
.cloud-admin-shell .tenant-health-line strong{font-size:10px}
.cloud-admin-shell .tenant-health-line.green strong{color:#7be3aa}
.cloud-admin-shell .tenant-health-line.orange strong,
.cloud-admin-shell .tenant-health-line.yellow strong{color:#ffd08f}
.cloud-admin-shell .tenant-health-line.red strong{color:#ff9aa5}
.cloud-admin-shell .action-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.cloud-admin-shell .action-grid>.panel{
    margin:0;
    padding:18px;
}
.cloud-admin-shell .action-grid>.panel h2{
    margin:0 0 5px;
    padding:0;
    font-size:17px;
}
.cloud-admin-shell .action-grid>.panel p{margin:0 0 14px}
.cloud-admin-shell .nested-panel{box-shadow:none;background:#0d1629}
.cloud-admin-shell .badge.active,
.cloud-admin-shell .badge.green{
    background:#153a2a;
    color:#9ce9bf;
    border-color:#2a6047;
}
.cloud-admin-shell .badge.setup,
.cloud-admin-shell .badge.maintenance{
    background:#433813;
    color:#ffe685;
    border-color:#6e5f25;
}
.cloud-admin-shell .badge.suspended,
.cloud-admin-shell .badge.red{
    background:#451a25;
    color:#ffb2bc;
    border-color:#71303b;
}
.cloud-admin-shell .flash.success{
    background:#153727;
    border-color:#285e43;
    color:#a5ecc3;
}
.cloud-admin-shell .flash.error{
    background:#3a1820;
    border-color:#6d2635;
    color:#ffbdc6;
}
.cloud-admin-shell .flash.warning{
    background:#423214;
    border-color:#745c23;
    color:#f3da8d;
}
.cloud-admin-shell .danger-confirm{
    flex-direction:row;
    align-items:flex-start;
    gap:9px;
    padding:11px;
    border:1px solid #6a3340;
    border-radius:9px;
    background:#2d1720;
}
.cloud-admin-shell .danger-confirm input{width:auto;margin-top:2px}
.cloud-admin-shell .divider{height:1px;background:#293854;margin:4px 0}
.cloud-admin-shell .span-2{grid-column:span 2}
.cloud-admin-shell .empty{
    grid-column:1/-1;
    padding:18px;
    border:1px dashed #34445f;
    border-radius:10px;
    color:var(--muted);
    text-align:center;
}
.cloud-login-page .cloud-admin-shell,
.cloud-status-page .cloud-admin-shell{
    width:100%;
    min-height:100vh;
    padding:24px;
    display:grid;
    place-items:center;
}
.cloud-login-page .login-card,
.cloud-status-page .login-card{
    margin:0;
}
.cloud-login-page .login-card .brand-mark,
.cloud-status-page .login-card .brand-mark{margin-bottom:14px}
.cloud-login-page .login-card .form-grid{margin:18px 0 0}
.cloud-login-page .login-card .primary{width:100%}
.cloud-install-page .cloud-admin-shell{padding-top:32px;padding-bottom:32px}
@media(max-width:1050px){
    .cloud-admin-shell .tenant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cloud-admin-shell .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
    .cloud-admin-shell{width:min(100% - 20px,1480px)}
    .cloud-admin-shell>.topbar{align-items:flex-start}
    .cloud-admin-shell .hero{align-items:flex-start;padding:18px}
    .cloud-admin-shell .hero h1{font-size:25px}
    .cloud-admin-shell .form-grid.compact,
    .cloud-admin-shell .action-grid,
    .cloud-admin-shell .tenant-grid{grid-template-columns:1fr}
    .cloud-admin-shell .span-2{grid-column:auto}
    .cloud-admin-shell .tenant-health-line{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
    .cloud-admin-shell .stats{grid-template-columns:1fr 1fr}
    .cloud-admin-shell>.topbar .topbar-right{align-items:flex-end;flex-direction:column}
}


/* CONTROL ST CLOUD v1.1.2 — simulador sin ventas + regla de envío */
.price-fallback-alert{
    border-color:rgba(245,181,70,.52)!important;
    background:rgba(245,181,70,.08)!important;
}
.shipping-choice-box{
    margin:14px 0;
    padding:12px 14px;
    border:1px solid rgba(111,151,255,.24);
    border-radius:10px;
    background:rgba(111,151,255,.045);
}
.shipping-average-card{
    min-height:86px;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:10px;
    background:rgba(255,255,255,.018);
    display:flex;
    flex-direction:column;
    gap:4px;
    justify-content:center;
}
.shipping-average-card strong{font-size:18px;color:var(--text)}
.shipping-average-card small{color:var(--muted)}

/* CONTROL ST v1.2.0 — SaaS onboarding, demo, ayuda y ciclo de vida */
.auth-v120-page .cloud-admin-shell{max-width:1180px}
.auth-v120-shell{display:grid;grid-template-columns:1.15fr .85fr;min-height:78vh;border:1px solid rgba(255,255,255,.08);border-radius:28px;overflow:hidden;background:rgba(8,14,28,.78);box-shadow:0 28px 80px rgba(0,0,0,.35)}
.auth-v120-brand{padding:64px;background:radial-gradient(circle at 15% 10%,rgba(77,124,255,.24),transparent 38%),linear-gradient(160deg,rgba(14,25,52,.96),rgba(7,13,28,.96));display:flex;flex-direction:column;justify-content:center}
.brand-mark.large{width:64px;height:64px;font-size:30px;margin-bottom:22px}
.auth-v120-brand h1{font-size:clamp(34px,5vw,58px);line-height:1.02;max-width:720px;margin:10px 0 18px}
.auth-v120-brand p{max-width:680px;font-size:18px;line-height:1.65;color:var(--muted)}
.auth-benefits{display:grid;gap:10px;margin-top:28px;font-weight:750}
.auth-v120-card{padding:46px;display:flex;flex-direction:column;justify-content:center;background:rgba(10,16,32,.92)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:4px;margin-bottom:26px}
.auth-tabs a{padding:11px;text-align:center;text-decoration:none;color:var(--muted);border-radius:10px;font-weight:800}
.auth-tabs a.active{background:rgba(92,131,255,.16);color:#fff}
.google-auth-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.14);text-decoration:none;color:#fff;font-weight:800;background:rgba(255,255,255,.035)}
.google-auth-btn:hover{background:rgba(255,255,255,.075)}
.google-auth-btn.not-configured{opacity:.55;cursor:help}
.google-g{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#1b1f2a;font-weight:900}
.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0;color:var(--muted)}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:rgba(255,255,255,.1);flex:1}
.auth-switch,.micro-note{font-size:13px;color:var(--muted);text-align:center;margin-top:14px}
.trial-promise{margin-top:22px;padding:16px;border:1px solid rgba(85,214,143,.22);background:rgba(85,214,143,.07);border-radius:14px;display:grid;gap:4px}

.demo-global-banner{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;margin-bottom:18px;border-radius:16px;border:1px solid rgba(151,107,255,.48);background:linear-gradient(90deg,rgba(115,73,220,.16),rgba(55,121,255,.08))}
.demo-global-banner>div:first-child{display:grid;gap:5px}.demo-global-banner span,.demo-global-banner small{color:var(--muted)}
.demo-banner-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.demo-banner-actions form{margin:0}
.sidebar-live.demo{border-color:rgba(151,107,255,.4);background:rgba(151,107,255,.08);color:#dacbff}
.idle-indicator.demo{border-color:rgba(151,107,255,.4);color:#dacbff}
.help-toggle-btn.on{border-color:rgba(76,205,141,.38)!important;color:#bff6d6!important}.help-toggle-btn.off{opacity:.66}
.conceptual-tooltip{position:fixed;z-index:99999;max-width:320px;padding:10px 12px;border-radius:10px;border:1px solid rgba(116,149,255,.32);background:rgba(12,18,34,.98);color:#eef3ff;font-size:13px;line-height:1.45;box-shadow:0 15px 35px rgba(0,0,0,.4);pointer-events:none}

.help-search{display:flex;gap:10px}.help-search .input{flex:1}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.help-card{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px;background:rgba(255,255,255,.025)}.help-card h3{margin:0 0 8px}.help-card p{color:var(--muted);line-height:1.55}.help-example{margin-top:14px;padding:12px;border-radius:12px;background:rgba(84,123,255,.08);display:grid;gap:5px;font-size:13px}
.status-v120-card{max-width:720px;margin:8vh auto;padding:34px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(11,17,32,.92);display:grid;gap:18px}.recovery-box{display:grid;gap:8px;padding:16px;border-radius:14px;background:rgba(75,146,255,.08);border:1px solid rgba(75,146,255,.24)}
.lifecycle-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-link{text-decoration:none;color:inherit}.stat-link:hover{transform:translateY(-1px);border-color:rgba(94,135,255,.36)}
.badge.lifecycle-demo{color:#ddceff;background:rgba(151,107,255,.14);border-color:rgba(151,107,255,.4)}
.badge.lifecycle-trial{color:#ffe2a4;background:rgba(255,176,65,.12);border-color:rgba(255,176,65,.35)}
.badge.lifecycle-paid{color:#baf5d1;background:rgba(63,193,119,.12);border-color:rgba(63,193,119,.35)}
.badge.lifecycle-courtesy,.badge.lifecycle-unlimited{color:#c9ddff;background:rgba(81,137,255,.12);border-color:rgba(81,137,255,.35)}
.badge.lifecycle-closed,.badge.lifecycle-archived{color:#d6d8e0;background:rgba(141,146,160,.12);border-color:rgba(141,146,160,.3)}
.owner-subscription-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.owner-danger-actions{margin-top:16px}.danger-delete-form{display:grid;gap:8px;max-width:440px}.account-status-list{display:grid;gap:10px;margin-bottom:14px}.account-status-list>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.danger-zone{border-color:rgba(255,91,91,.28)}

@media (max-width:900px){.auth-v120-shell{grid-template-columns:1fr}.auth-v120-brand{padding:34px}.auth-v120-card{padding:30px}.help-grid,.owner-subscription-actions{grid-template-columns:1fr}.lifecycle-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-global-banner{align-items:flex-start;flex-direction:column}}


/* Control ST v1.2.1 — navegación accesible y salida siempre visible */
@media(max-width:820px){
    .global-logout-corner{top:10px;right:10px}
    .cloud-admin-body .topbar-right{padding-right:68px}
}

/* ========================================================================== 
   Suscripción vencida / acceso bloqueado
   ========================================================================== */
.cloud-subscription-locked-note {
    border-color: rgba(248, 113, 113, .45) !important;
    background: rgba(127, 29, 29, .22) !important;
    color: #fecaca !important;
}

.subscription-lock-wrap {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    border-radius: 18px;
}

.subscription-lock-preview {
    filter: blur(8px);
    opacity: .34;
    pointer-events: none;
    user-select: none;
    transform: scale(1.01);
    transform-origin: center;
}

.subscription-lock-overlay {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 12px;
    padding: 28px;
    background: rgba(5, 13, 31, .52);
    backdrop-filter: blur(1.5px);
}

.subscription-lock-overlay h2 {
    margin: 2px 0 0;
    max-width: 720px;
    font-size: clamp(26px, 4vw, 44px);
}

.subscription-lock-overlay p {
    margin: 0;
    max-width: 720px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.55;
}

.subscription-lock-overlay strong {
    margin-top: 5px;
    letter-spacing: .04em;
}

.subscription-lock-overlay .primary-link {
    margin-top: 8px;
    font-size: 15px;
    padding: 12px 18px;
}

.locked-chart-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, .8fr);
    gap: 16px;
    margin-top: 16px;
}

.locked-chart-card {
    min-height: 240px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
}

.locked-chart-bars {
    width: 84%;
    height: 170px;
    background:
        linear-gradient(to top, rgba(112, 154, 255, .55) 0 100%) 0 55% / 9% 45% no-repeat,
        linear-gradient(to top, rgba(112, 154, 255, .55) 0 100%) 14% 25% / 9% 75% no-repeat,
        linear-gradient(to top, rgba(112, 154, 255, .55) 0 100%) 28% 40% / 9% 60% no-repeat,
        linear-gradient(to top, rgba(112, 154, 255, .55) 0 100%) 42% 10% / 9% 90% no-repeat,
        linear-gradient(to top, rgba(112, 154, 255, .55) 0 100%) 56% 35% / 9% 65% no-repeat,
        linear-gradient(to top, rgba(112, 154, 255, .55) 0 100%) 70% 18% / 9% 82% no-repeat,
        linear-gradient(to top, rgba(112, 154, 255, .55) 0 100%) 84% 48% / 9% 52% no-repeat;
    border-bottom: 1px solid rgba(148, 163, 184, .28);
}

.locked-chart-donut {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    border: 28px solid rgba(112, 154, 255, .45);
    box-shadow: inset 0 0 0 14px rgba(16, 185, 129, .26);
}

.locked-table-card {
    margin-top: 16px;
    display: grid;
    gap: 14px;
}

.locked-line {
    height: 24px;
    border-radius: 8px;
    background: rgba(148, 163, 184, .22);
}

.locked-line.short {
    width: 62%;
}

.help-toggle-btn:disabled {
    opacity: .55;
    cursor: not-allowed;
}

@media (max-width: 800px) {
    .locked-chart-grid {
        grid-template-columns: 1fr;
    }
    .subscription-lock-wrap {
        min-height: 620px;
    }
}

/* Mercado Libre virtual kits */
.candidate-kit-inline-badge{display:inline-flex;align-items:center;margin-top:7px;padding:4px 8px;border:1px solid #7357c9;border-radius:999px;background:#241b45;color:#cdbdff;font-size:10px;font-weight:800;letter-spacing:.04em}
.candidate-virtual-kit{margin-top:12px;padding:12px;border:1px solid #51407f;border-radius:11px;background:#12172a}
.candidate-virtual-kit-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.candidate-virtual-kit-head strong{display:block;color:#d8ccff;font-size:13px}.candidate-virtual-kit-head small{display:block;color:#95a4c0;margin-top:3px;line-height:1.4}
.candidate-kit-count{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#2b2150;border:1px solid #6550a5;color:#d9ceff;font-size:10px;font-weight:800}
.candidate-kit-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.candidate-kit-component{display:flex;gap:9px;min-width:0;padding:9px;border:1px solid #2d3a58;border-radius:9px;background:#0e1728}
.candidate-kit-component-thumb{width:52px;height:52px;flex:0 0 52px;border-radius:8px;overflow:hidden;border:1px solid #31405e;background:#fff;display:flex;align-items:center;justify-content:center}.candidate-kit-component-thumb img{display:block;width:100%;height:100%;object-fit:contain}.candidate-kit-component-thumb span{font-size:22px;background:#15213a;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.candidate-kit-component-copy{min-width:0;flex:1}.candidate-kit-component-title{display:flex;gap:7px;align-items:center;flex-wrap:wrap;color:#eef2ff;font-size:11px;line-height:1.35}.candidate-kit-main{padding:2px 6px;border-radius:999px;background:#184b38;border:1px solid #287157;color:#9cf0c8;font-size:8px;font-weight:900}.candidate-kit-component-upid{margin-top:3px;color:#8294b5;font-size:9px;overflow-wrap:anywhere}
.candidate-kit-sources{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:6px}.candidate-kit-source-label{color:#91a0bb;font-size:9px}.candidate-kit-source-chip{padding:3px 6px;border-radius:7px;background:#17233b;border:1px solid #2e4165;color:#b8c7e4;font-size:9px;overflow-wrap:anywhere}
@media(max-width:900px){.candidate-kit-components{grid-template-columns:1fr}.candidate-virtual-kit-head{flex-direction:column}.candidate-kit-count{align-self:flex-start}}


/* Virtual kits: automatic SKU resolution + explicit ignore action */
.candidate-kit-resolved-sku {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text, #eef4ff);
}
.compact-warning {
    margin-top: 6px;
    padding: 7px 9px;
    font-size: 11px;
}
.candidate-kit-ignore-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,.08);
}
.danger-ghost {
    border-color: rgba(255, 99, 99, .45) !important;
    color: #ffb4b4 !important;
}


/* Nuevas publicaciones: miniaturas uniformes + acceso a la publicación original ML */
.candidate-card .candidate-thumb-link{
    display:block;
    width:96px !important;
    height:96px !important;
    flex:0 0 96px !important;
    border-radius:10px;
    text-decoration:none;
}
.candidate-card .candidate-thumb-wrap{
    width:96px !important;
    height:96px !important;
    min-width:96px !important;
    max-width:96px !important;
    min-height:96px !important;
    max-height:96px !important;
    flex:0 0 96px !important;
    box-sizing:border-box;
}
.candidate-card img.candidate-thumb,
.candidate-card .candidate-thumb-empty{
    display:flex !important;
    width:96px !important;
    height:96px !important;
    min-width:96px !important;
    max-width:96px !important;
    min-height:96px !important;
    max-height:96px !important;
    object-fit:contain !important;
    box-sizing:border-box;
}
.candidate-ml-link{
    color:inherit;
    text-decoration:none;
}
.candidate-thumb-link .candidate-thumb-wrap{
    transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.candidate-thumb-link:hover .candidate-thumb-wrap{
    border-color:#709aff;
    box-shadow:0 0 0 2px rgba(112,154,255,.15);
    transform:translateY(-1px);
}
.candidate-title-link:hover,
.candidate-item-link:hover{
    color:#8fb2ff;
    text-decoration:underline;
    text-underline-offset:2px;
}
.candidate-item-link{
    cursor:pointer;
}

@media(max-width:720px){
    .candidate-card .candidate-thumb-link,
    .candidate-card .candidate-thumb-wrap,
    .candidate-card img.candidate-thumb,
    .candidate-card .candidate-thumb-empty{
        width:78px !important;
        height:78px !important;
        min-width:78px !important;
        max-width:78px !important;
        min-height:78px !important;
        max-height:78px !important;
        flex-basis:78px !important;
    }
}
\n\n/* 2026-09-21 - Nuevas publicaciones: miniatura fija y datos al costado */\n.candidate-card .candidate-top-with-image{min-height:96px !important;}\n.candidate-card .candidate-product-visual{display:flex !important;align-items:flex-start !important;gap:12px !important;min-width:0 !important;flex:1 1 auto !important;}\n.candidate-card .candidate-thumb-link{display:block !important;width:88px !important;height:88px !important;min-width:88px !important;max-width:88px !important;min-height:88px !important;max-height:88px !important;flex:0 0 88px !important;}\n.candidate-card .candidate-thumb-wrap{display:flex !important;align-items:center !important;justify-content:center !important;width:88px !important;height:88px !important;min-width:88px !important;max-width:88px !important;min-height:88px !important;max-height:88px !important;flex:0 0 88px !important;overflow:hidden !important;border-radius:9px !important;box-sizing:border-box !important;background:#fff !important;}\n.candidate-card img.candidate-thumb{display:block !important;width:88px !important;height:88px !important;min-width:88px !important;max-width:88px !important;min-height:88px !important;max-height:88px !important;object-fit:contain !important;object-position:center !important;margin:0 !important;padding:0 !important;box-sizing:border-box !important;background:#fff !important;}\n.candidate-card .candidate-thumb-empty{width:88px !important;height:88px !important;min-width:88px !important;max-width:88px !important;min-height:88px !important;max-height:88px !important;flex:0 0 88px !important;}\n.candidate-card .candidate-product-copy{flex:1 1 auto !important;min-width:0 !important;padding-top:0 !important;}\n.candidate-card .candidate-meta-inline{margin-top:7px !important;display:flex !important;flex-wrap:wrap !important;align-items:center !important;gap:5px 10px !important;line-height:1.35 !important;}\n.candidate-card .candidate-meta-inline span,.candidate-card .candidate-meta-inline a{white-space:normal;}\n@media(max-width:720px){\n  .candidate-card .candidate-thumb-link,.candidate-card .candidate-thumb-wrap,.candidate-card img.candidate-thumb,.candidate-card .candidate-thumb-empty{width:76px !important;height:76px !important;min-width:76px !important;max-width:76px !important;min-height:76px !important;max-height:76px !important;flex-basis:76px !important;}\n  .candidate-card .candidate-top-with-image{min-height:84px !important;}\n}\n\n\n/* ===== Configuración inicial guiada ===== */\n.setup-guide-card{\n    margin:0 0 14px;\n    padding:14px 16px;\n    border:1px solid rgba(245,158,11,.42);\n    border-radius:14px;\n    background:linear-gradient(135deg,rgba(245,158,11,.10),rgba(18,30,54,.94));\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    gap:18px;\n}\n.setup-guide-card.ready{\n    border-color:rgba(34,197,94,.45);\n    background:linear-gradient(135deg,rgba(34,197,94,.10),rgba(18,30,54,.94));\n}\n.setup-guide-main{min-width:0;flex:1;display:grid;gap:5px}\n.setup-guide-main strong{font-size:15px}\n.setup-guide-main span{font-size:12px;color:var(--muted,#9fb0d0)}\n.setup-guide-main small{font-size:10px;color:var(--muted,#9fb0d0)}\n.setup-guide-kicker{font-size:10px;font-weight:800;letter-spacing:.08em;color:#fbbf24}\n.setup-guide-card.ready .setup-guide-kicker{color:#4ade80}\n.setup-guide-progress{height:7px;max-width:560px;border-radius:999px;overflow:hidden;background:rgba(148,163,184,.17);margin-top:3px}\n.setup-guide-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#f59e0b,#fbbf24);transition:width .25s ease}\n.setup-guide-card.ready .setup-guide-progress-bar{background:linear-gradient(90deg,#16a34a,#4ade80)}\n.setup-guide-actions{flex:0 0 auto}\n.setup-guide-btn{white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}\n.setup-finish-panel{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:rgba(245,158,11,.38)}\n.setup-finish-panel.ready{border-color:rgba(34,197,94,.45);background:rgba(34,197,94,.055)}\n.setup-finish-panel h2{margin:3px 0 4px}\n.setup-finish-panel p{margin:0;color:var(--muted,#9fb0d0)}\n@media(max-width:760px){\n  .setup-guide-card,.setup-finish-panel{align-items:stretch;flex-direction:column}\n  .setup-guide-actions,.setup-guide-actions form,.setup-guide-btn,.setup-finish-panel form,.setup-finish-panel button{width:100%}\n}\n
/* ===== 2026-09-21 · SETUP cerrado y guiado ===== */
.setup-guide-checklist{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:4px;
}
.setup-guide-checklist span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 8px;
    border-radius:999px;
    border:1px solid rgba(148,163,184,.22);
    background:rgba(7,13,28,.28);
    font-size:10px;
    font-weight:700;
}
.setup-guide-checklist span.done{
    color:#86efac;
    border-color:rgba(34,197,94,.34);
    background:rgba(34,197,94,.07);
}
.setup-guide-checklist span.pending{
    color:#fde68a;
    border-color:rgba(245,158,11,.34);
    background:rgba(245,158,11,.07);
}
.setup-guide-actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    min-width:210px;
}
.setup-guide-actions form{margin:0}
.setup-guide-actions .btn-ghost{background:transparent;border:1px solid rgba(148,163,184,.25);color:var(--muted,#9fb0d0)}
@media(max-width:760px){
  .setup-guide-checklist{display:grid;grid-template-columns:1fr}
  .setup-guide-actions{min-width:0}
}

/* ================================================================
   PUESTA EN MARCHA GUIADA
   ================================================================ */
.launch-wizard{max-width:980px;margin:0 auto;display:grid;gap:16px}
.launch-hero{padding:28px}
.launch-hero.ready{border-color:rgba(57,199,121,.45);box-shadow:0 0 0 1px rgba(57,199,121,.08) inset}
.launch-hero.blocked{border-color:rgba(244,184,73,.5)}
.launch-step-kicker{font-size:12px;font-weight:900;letter-spacing:.14em;color:#80a7ff;margin-bottom:8px}
.launch-hero h2{font-size:30px;line-height:1.12;margin:0 0 10px}
.launch-hero p{max-width:760px;margin:0;color:var(--muted);line-height:1.55}
.launch-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}
.launch-check{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.018)}
.launch-check>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:900;flex:0 0 28px}
.launch-check.done>span{background:rgba(57,199,121,.16);color:#7cf0ad;border:1px solid rgba(57,199,121,.45)}
.launch-check.warn>span{background:rgba(244,184,73,.14);color:#ffd071;border:1px solid rgba(244,184,73,.45)}
.launch-check strong{display:block;margin-bottom:4px}
.launch-check small{display:block;color:var(--muted);line-height:1.4}
.launch-problems ul{margin:12px 0 18px;padding-left:22px}
.launch-problems li{margin:8px 0;color:#ffd071}
.launch-will-do{display:grid;gap:10px;margin:8px 0 20px;padding:16px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.018)}
.launch-will-do>div{display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.launch-will-do>div>span{color:#7cf0ad;font-weight:900}
.launch-consent{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid rgba(114,149,255,.35);border-radius:14px;background:rgba(114,149,255,.07);line-height:1.45;cursor:pointer}
.launch-consent input{width:20px;height:20px;margin-top:1px;flex:0 0 20px}
.launch-main-button{width:100%;margin-top:14px;min-height:54px;font-size:16px}
.btn-xl{padding:15px 22px;font-size:16px}
@media (max-width:800px){
  .launch-checks{grid-template-columns:1fr}
  .launch-hero{padding:20px}
  .launch-hero h2{font-size:25px}
}

/* ==========================================================
   2026-09-24 — Grupos SKU: relaciones compactas y visuales
   Mantiene el tablero original y evita tablas técnicas gigantes.
   ========================================================== */
.sku-mode-switch{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin:0 0 16px;
    padding:5px;
    border:1px solid var(--border,#2b3a57);
    border-radius:12px;
    background:#0c1528;
}
.sku-mode-switch .btn,
.sku-mode-switch .ghost-btn{
    min-height:38px;
    border-radius:9px;
    margin:0;
}

.sku-relations-panel{
    border-color:rgba(108,145,232,.28)!important;
    background:linear-gradient(180deg,rgba(18,31,55,.96),rgba(12,21,40,.96))!important;
}
.sku-relations-head{
    margin-bottom:0!important;
}
.sku-relations-head h2{
    margin-bottom:4px;
}
.sku-relations-head p{
    max-width:820px;
}
.sku-relations-details{
    margin-top:12px;
    border:1px solid rgba(65,87,128,.72);
    border-radius:12px;
    overflow:hidden;
    background:#0b1426;
}
.sku-relations-details>summary{
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:13px 15px;
    cursor:pointer;
    user-select:none;
    font-weight:900;
    color:#dce6fa;
    background:#101b31;
}
.sku-relations-details>summary::-webkit-details-marker{display:none}
.sku-relations-details>summary::after{
    content:'＋';
    flex:0 0 auto;
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:8px;
    border:1px solid #34496e;
    color:#9bb5ee;
    background:#0c1528;
    font-size:16px;
}
.sku-relations-details[open]>summary::after{content:'−'}
.sku-relations-details>summary span{display:block}
.sku-relations-details>summary small{
    display:block;
    margin-left:auto;
    color:#8194b4;
    font-size:10px;
    font-weight:700;
}
.sku-relations-content{
    padding:14px;
    border-top:1px solid rgba(49,67,101,.75);
}
.sku-relation-section-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:2px 0 10px;
}
.sku-relation-section-title>div>strong{
    display:block;
    font-size:13px;
    color:#eef4ff;
}
.sku-relation-section-title>div>span{
    display:block;
    margin-top:2px;
    color:#8799b8;
    font-size:10px;
}
.sku-relation-section-title.component-title{
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid rgba(49,67,101,.55);
}
.sku-relation-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.sku-relation-card{
    min-width:0;
    padding:12px;
    border:1px solid #2b3b5b;
    border-radius:12px;
    background:#10192d;
}
.sku-relation-card:hover{
    border-color:#45628f;
    background:#111e36;
}
.sku-relation-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
}
.sku-relation-card-head strong{
    display:block;
    margin-top:3px;
    color:#f0f5ff;
    font-size:12px;
}
.relation-kicker,
.relation-label{
    display:block;
    color:#7187ad;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.relation-label{
    margin:10px 0 6px;
}
.relation-component-list{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.relation-component-list>span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-width:0;
    padding:5px 8px;
    border:1px solid #35496c;
    border-radius:999px;
    background:#14213a;
    color:#d7e2f5;
    font-size:10px;
    font-weight:800;
}
.relation-component-list small{
    color:#8ca1c4;
    font-size:9px;
    font-weight:700;
}
.relation-footnote{
    margin-top:9px;
    color:#7f91ae;
    font-size:9px;
}
.relation-pair{
    display:grid;
    grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);
    align-items:stretch;
    gap:8px;
}
.relation-product{
    min-width:0;
    padding:9px;
    border:1px solid #2c3d5d;
    border-radius:10px;
    background:#0c1528;
}
.relation-product>span{
    display:block;
    color:#7187ad;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}
.relation-product>strong{
    display:block;
    margin-top:3px;
    color:#edf3ff;
    font-size:11px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.relation-product>small{
    display:block;
    margin-top:4px;
    color:#7488aa;
    font-size:8px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.relation-link-icon{
    align-self:center;
    justify-self:center;
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border:1px solid #40577f;
    border-radius:999px;
    background:#162544;
    color:#9fbbf6;
    font-size:15px;
    font-weight:900;
}
.relation-explanation{
    margin-top:10px;
    padding-top:9px;
    border-top:1px solid rgba(49,67,101,.55);
    color:#9aabc5;
    font-size:10px;
    line-height:1.45;
}
.sku-relation-note,
.sku-desarmar-relation-note{
    margin-top:12px!important;
}

@media(max-width:900px){
    .sku-relation-grid{grid-template-columns:1fr}
    .sku-relations-details>summary{align-items:flex-start}
    .sku-relations-details>summary small{display:none}
}
@media(max-width:600px){
    .sku-mode-switch{display:grid;grid-template-columns:1fr 1fr;width:100%}
    .sku-mode-switch .btn,.sku-mode-switch .ghost-btn{width:100%;justify-content:center}
    .relation-pair{grid-template-columns:1fr}
    .relation-link-icon{transform:rotate(90deg);margin:0 auto}
}

/* 2026-09-24 · buscador SKU + acceso directo desde Stock */
.stock-publication-link {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dashed rgba(123, 167, 255, .55);
    transition: color .16s ease, border-color .16s ease;
}
.stock-publication-link:hover,
.stock-publication-link:focus-visible {
    color: #8eb4ff;
    border-bottom-color: currentColor;
}
#skuSearchEmpty {
    margin-top: 10px;
}


/* 2026-09-24 · FIX v2: el display:grid!important de las tarjetas impedía ocultarlas al filtrar */
.sku-drag-card[hidden],
.sku-drag-card.sku-filter-hidden {
    display: none !important;
}

/* 2026-09-24 · Grupos SKU explícitos: KIT vs mismo producto físico */
.group-stock-expression{
    display:block;
    margin-top:4px;
    font-size:12px;
    font-weight:800;
    line-height:1.45;
    overflow-wrap:anywhere;
}
.group-meaning-note{
    margin:10px 0;
    padding:10px 12px;
    border:1px solid #314463;
    border-radius:10px;
    background:#101c31;
    font-size:11px;
    line-height:1.5;
}
.group-relation-section{margin-top:12px}
.group-type-options{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.group-relation-choice{
    display:flex;
    align-items:flex-start;
    gap:9px;
    padding:12px;
    border:1px solid #314463;
    border-radius:11px;
    background:#101b2f;
    cursor:pointer;
}
.group-relation-choice input{margin-top:3px}
.group-relation-choice strong,
.group-relation-choice small{display:block}
.group-relation-choice small{margin-top:4px;line-height:1.4;opacity:.8}
.group-config-block{
    margin-top:14px;
    padding:12px;
    border:1px solid #2e405e;
    border-radius:11px;
    background:#0d1729;
}
.group-config-block[hidden],
#supplierFxBlock[hidden]{display:none!important}
.kit-quantity-list{
    display:grid;
    gap:8px;
    margin:8px 0 10px;
}
.kit-member-qty-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 110px;
    align-items:center;
    gap:10px;
}
.kit-member-qty-row>span{
    min-width:0;
    overflow-wrap:anywhere;
    font-weight:800;
}
.kit-member-qty-row .input{width:100%}
.kit-expression-preview{
    margin:10px 0 14px;
    padding:10px 12px;
    border:1px dashed #40587f;
    border-radius:9px;
}
.kit-expression-preview span,
.kit-expression-preview strong{display:block}
.kit-expression-preview span{font-size:10px;opacity:.75}
.kit-expression-preview strong{margin-top:4px;font-size:13px;overflow-wrap:anywhere}
.group-option-title{font-weight:900;margin-bottom:6px}
.group-destination-panel{border-top:1px solid #2b3c58;padding-top:14px!important}
.supplier-fx-block{
    margin-top:14px;
    padding:12px;
    border:1px solid #2e405e;
    border-radius:11px;
    background:#0d1729;
}
@media(max-width:700px){
    .group-type-options{grid-template-columns:1fr}
    .kit-member-qty-row{grid-template-columns:minmax(0,1fr) 92px}
}

/* Supplier-centered pricing / catalog matching */
.supplier-import-grid{align-items:stretch}
.supplier-import-grid .mini-panel{border:1px solid var(--border,#dfe4ea);border-radius:12px;padding:16px;background:var(--panel-soft,#fafbfc)}
.supplier-import-grid .mini-panel h3{margin:0 0 6px}
.supplier-local-filter{margin-bottom:12px}
.supplier-suggestions{display:grid;gap:10px;margin:12px 0 18px}
.supplier-suggestion-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(120px,.5fr) auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--border,#dfe4ea);border-radius:12px;background:var(--panel-soft,#fafbfc)}
.supplier-suggestion-card>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.supplier-suggestion-card>div:first-child strong{overflow-wrap:anywhere}
.supplier-suggestion-card>div:first-child span{font-size:12px;opacity:.7}
.supplier-catalog-search{margin:12px 0}
.supplier-catalog-search .input{min-width:min(520px,70vw)}
@media(max-width:850px){.supplier-suggestion-card{grid-template-columns:1fr}.supplier-catalog-search .input{min-width:0;width:100%}}

/* v4 PRUEBA */
.cst-sandbox-banner{position:sticky;top:0;z-index:9999;background:#f6bf57;color:#241a02;font:800 12px/1.2 Inter,system-ui,sans-serif;letter-spacing:.06em;text-align:center;padding:6px 12px}
.regime-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:14px}
.regime-option{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid rgba(120,150,230,.35);border-radius:12px;cursor:pointer}
.regime-option:has(input:checked){border-color:#7398ff;background:rgba(115,152,255,.10)}
.regime-option span{display:flex;flex-direction:column;gap:4px}
.regime-option small{opacity:.78;line-height:1.4}
.cst-sandbox-banner a{color:#241a02;text-decoration:underline}
.nav-group{margin-top:10px;border-top:1px solid rgba(140,160,210,.14);padding-top:6px}
.nav-group-title{cursor:pointer;list-style:none;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.6;padding:8px 12px;user-select:none}
.nav-group-title::-webkit-details-marker{display:none}
.nav-group-title::after{content:" ▸";opacity:.7}
.nav-group[open] .nav-group-title::after{content:" ▾"}
/* v4 · ficha de SKU simplificada */
.sku-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0}
.sku-hero-card{background:rgba(17,27,49,.9);border:1px solid rgba(120,150,230,.22);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:6px}
.sku-hero-card span{font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.sku-hero-card strong{font-size:26px;line-height:1.1}
.sku-hero-card strong.neg{color:#ff7d8a}
.sku-hero-card small{opacity:.7;font-size:12.5px}
.sku-hero-card.tone-danger{border-color:rgba(255,109,122,.6)}
.sku-hero-card.tone-warning{border-color:rgba(246,191,87,.6)}
.sku-hero-card.tone-success{border-color:rgba(59,209,138,.6)}
.sku-reco{border-color:rgba(115,152,255,.45)}
.sku-reco-main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:start}
.sku-reco-main h2{font-size:22px;line-height:1.3;margin:4px 0 6px}
.sku-reco-price{color:#9db6ff;white-space:nowrap}
.sku-reco-main p{opacity:.8;margin:0}
.sku-reco-breakdown{display:grid;gap:6px;background:rgba(7,16,31,.5);border-radius:12px;padding:12px 14px}
.sku-reco-breakdown div{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.sku-reco-breakdown div span{opacity:.75}
.sku-reco-breakdown .total{border-top:1px solid rgba(140,160,210,.25);padding-top:6px;font-size:15px}
.sku-reco-note{margin:12px 0 0;opacity:.75;font-size:13.5px}
.calc-details{padding:0}
.calc-details>summary{cursor:pointer;list-style:none;padding:16px 18px;display:flex;flex-direction:column;gap:3px}
.calc-details>summary::-webkit-details-marker{display:none}
.calc-details>summary strong::before{content:"▸ "}
.calc-details[open]>summary strong::before{content:"▾ "}
.calc-details>summary span{opacity:.65;font-size:13px}
.calc-details[open]{padding-bottom:16px}
.calc-details>*:not(summary){margin-left:16px;margin-right:16px}
@media(max-width:760px){.sku-reco-main{grid-template-columns:1fr}.sku-hero-card strong{font-size:22px}}
/* v4 · Inicio */
.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-bottom:18px}
.home-card{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:16px;text-decoration:none;color:inherit;background:rgba(17,27,49,.92);border:1px solid rgba(120,150,230,.25);transition:transform .15s,border-color .15s}
.home-card:hover{transform:translateY(-2px);border-color:#7398ff}
.home-card .home-q{font-size:14px;opacity:.8;font-weight:700}
.home-card strong{font-size:40px;line-height:1}
.home-card .home-a{font-size:13px;opacity:.75}
.home-card.ok{border-color:rgba(59,209,138,.5)}.home-card.ok strong{color:#5fe0a1}
.home-card.warn{border-color:rgba(246,191,87,.55)}.home-card.warn strong{color:#f6bf57}
.home-card.bad{border-color:rgba(255,109,122,.6)}.home-card.bad strong{color:#ff7d8a}
/* logo cST */
.brand-mark{width:46px;font-size:16px;letter-spacing:-.04em}
.brand-mark.large{width:78px;font-size:28px}
/* v4.2 · promociones y umbral */
.thr-compare{margin:0 0 16px;padding:14px 16px;border-radius:14px;line-height:1.5;font-size:14.5px}
.thr-compare.better{background:rgba(59,209,138,.10);border:1px solid rgba(59,209,138,.5)}
.thr-compare.worse{background:rgba(115,152,255,.08);border:1px solid rgba(115,152,255,.35)}
.promo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:12px}
.promo-card{border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;background:rgba(7,16,31,.45);border:1px solid rgba(120,150,230,.25)}
.promo-card span{font-size:12px;opacity:.75;text-transform:uppercase;letter-spacing:.05em}
.promo-card strong{font-size:22px}
.promo-card small{font-size:13px}
.promo-card.ok{border-color:rgba(59,209,138,.55)}.promo-card.bad{border-color:rgba(255,109,122,.55)}
.promo-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:6px 0 14px}
.promo-facts div{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:12px;border:1px dashed rgba(140,160,210,.3)}
.promo-facts span{font-size:12.5px;opacity:.75}.promo-facts strong{font-size:20px}.promo-facts small{opacity:.65;font-size:12px}
.promo-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.promo-apply-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.promo-apply-form label{display:flex;align-items:center;gap:6px;font-size:14px}
.promo-apply-form .input{width:70px}
.discard-old-form{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:10px 0 14px;padding:12px 14px;border-radius:12px;border:1px solid rgba(246,191,87,.5);background:rgba(246,191,87,.08)}
.discard-old-form div{display:flex;flex-direction:column;gap:3px;flex:1 1 280px}
.discard-old-form span{font-size:13px;opacity:.8}
.discard-old-form label{display:flex;gap:8px;align-items:center;font-size:13px}
/* v4.3 · promociones ML */
.promo-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.promo-filter .muted{margin-left:auto;font-size:13px}
.ml-promo-group h3{margin:0 0 4px}
.ml-promo-join-bar{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:14px;background:rgba(17,27,49,.97);border:1px solid rgba(115,152,255,.5);margin-top:12px}
.ml-promo-join-bar span{font-size:13px;opacity:.8}

/* v4.4 · cambios sin guardar */
.cst-dirty{background:#4a3f12 !important;border-color:#f4d35e !important;box-shadow:0 0 0 1px #f4d35e inset}
tr.cst-dirty-row>td{background:rgba(244,211,94,.10)}
.cst-unsaved-banner{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:9999;background:#433813;color:#ffe685;border:1px solid #f4d35e;border-radius:10px;padding:10px 16px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.4);max-width:calc(100% - 32px)}
.cst-busy-btn,.cst-busy-btn:disabled{background:#b3261e !important;border-color:#e0443a !important;color:#fff !important;opacity:1 !important;cursor:wait !important;animation:cstBusyPulse 1.2s ease-in-out infinite}
@keyframes cstBusyPulse{0%,100%{box-shadow:0 0 0 0 rgba(224,68,58,.55)}50%{box-shadow:0 0 0 6px rgba(224,68,58,0)}}
.cst-version-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;border:1px solid #2d3b59;background:#111b31;color:#9db6ff;font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap}

/* v4.5 · promos: faltan traer más */
.btn-promo-pending{background:#d9a400;color:#1d1600;font-weight:700}
.btn-promo-pending:hover{background:#f0b800}
