:root{--navy:#182c47;--ink:#24344b;--muted:#667588;--line:#dce3ed;--bg:#f3f6fa;--white:#fff;--green:#1d8754;--blue:#1d66ab;--warn:#925c0b;--red:#ae3d46}*{box-sizing:border-box}html{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;min-height:100vh;font-size:14px}a{color:#235d9f;text-decoration:none}a:hover{text-decoration:underline}h1{font-size:clamp(24px,3vw,33px);margin:.25em 0 .3em}h2{font-size:18px;margin:0 0 17px}small,.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.12em;color:#5480a9;text-transform:uppercase;font-weight:800}.top{background:var(--navy);color:white;display:flex;align-items:center;gap:30px;padding:15px min(4vw,48px);position:sticky;top:0;z-index:5;box-shadow:0 2px 10px #1a365620}.brand{display:flex;align-items:center;color:white;gap:11px;font-size:16px;font-weight:800;white-space:nowrap}.brand:hover{text-decoration:none}.brand small{display:block;color:#b9cbe0;font-size:10px;margin-top:2px;font-weight:500}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#e8bb6a;color:#1f3049}.desktop-nav{display:flex;gap:16px;flex:1;flex-wrap:wrap}.desktop-nav a{color:#e6edf8;font-size:13px}.logout{margin-left:auto}.container{max-width:1440px;margin:auto;padding:27px min(4vw,44px) 60px}.context-bar{background:#e6edf5;border-bottom:1px solid #d3dfea;padding:10px min(4vw,48px)}.context-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:9px}.context-form label{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#4c5e73;font-weight:700}.context-form select,.context-form input{display:block;max-width:290px;min-width:76px;margin-top:4px;height:38px;font-size:13px}.context-form label:nth-child(2) select{min-width:180px}.context-form input[type=number]{max-width:82px}.mobile-nav{display:none}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px;flex-wrap:wrap}.heading p{margin:4px 0}.panel{background:white;border:1px solid var(--line);padding:22px;border-radius:15px;margin-bottom:18px;box-shadow:0 2px 15px #0e294b07}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-bottom:17px}.stat{background:white;border:1px solid var(--line);padding:19px;border-radius:13px}.stat span{display:block;font-size:12px;color:var(--muted);margin-bottom:9px}.stat strong{font-size:clamp(21px,2.6vw,28px);color:var(--navy);overflow-wrap:anywhere}.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.stack{display:grid;gap:14px;max-width:690px}.inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:9px;margin:8px 0}.inline-form>label{flex:1;min-width:125px}label{display:block;font-size:12px;font-weight:700;color:#465b74}input:not([type=checkbox]),select,textarea{width:100%;font:inherit;color:var(--ink);border:1px solid #c8d5e2;border-radius:8px;padding:10px 11px;background:white;outline-color:#70a6da;margin-top:5px}textarea{resize:vertical}.narrow{max-width:135px}.count-input{min-width:110px;max-width:135px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto!important;margin:0}.padded{padding:15px}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:39px;border:1px solid transparent;border-radius:9px;font-weight:700;font-size:12px;cursor:pointer;padding:10px 15px;white-space:normal;text-align:center;font-family:inherit}.btn.primary{background:var(--navy);color:white}.btn.primary:hover{background:#2a4f7e}.btn.outline{border-color:#bccbdb;background:#fff;color:#244a76}.btn.light{background:#2b4769;color:white}.btn.danger{background:#fff0ef;color:#a83445}.btn.small{min-height:29px;font-size:11px;padding:6px 10px}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.table-wrap{max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:500px}td,th{padding:11px 10px;border-bottom:1px solid #e8edf4;vertical-align:middle;text-align:left}th{background:#f5f8fb;font-size:12px;color:#536580}td{font-size:12px;overflow-wrap:anywhere}tr:hover td{background:#f9fbfd}.tag{display:inline-block;border-radius:30px;padding:5px 8px;font-size:11px;background:#e8eef5;color:#41617e}.tag.warn{background:#fff1d5;color:#835300}.tag.ok{background:#dff5e9;color:#155a35}.tag.bad{background:#ffeced;color:#982f43}.alert{border-radius:9px;padding:14px 18px;margin-bottom:18px;font-size:13px;border:1px solid}.alert.good{background:#e9f8ef;border-color:#c5ecd7;color:#236945}.alert.bad{background:#ffedf0;border-color:#efc5ce;color:#982d42}.alert.warn{background:#fff6e7;border-color:#f2dfbf;color:#7a5212}.alert ul{margin:8px 0 0;padding-left:18px}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:18px 0}.action-card{display:grid;background:white;gap:10px;padding:22px;border:1px solid var(--line);border-radius:14px;color:var(--ink)}.action-card:hover{border-color:#98b9d7;text-decoration:none;box-shadow:0 6px 16px #26456911}.action-card strong{font-size:15px}.action-card small{color:var(--muted);line-height:1.6}.emoji{font-size:26px}.login-card{max-width:470px;margin:6vh auto;padding:33px}.barline{display:grid;grid-template-columns:78px minmax(60px,1fr) 94px;align-items:center;gap:8px;margin:14px 0;font-size:11px}.barline b{text-align:right;font-size:11px}.bar-bg{height:10px;border-radius:8px;background:#eaf0f7;overflow:hidden}.bar-bg div{background:#2e78b4;height:10px;border-radius:8px}.mini-list{margin-top:14px;max-height:350px;overflow:auto}.pagination{margin:15px 0}footer{max-width:1440px;margin:auto;padding:5px 44px 35px;color:#8d9bad;font-size:11px}details summary{cursor:pointer;color:#286aa6;font-size:12px;font-weight:700;margin:12px 0}
@media(max-width:1070px){.desktop-nav{display:none}.mobile-nav{display:flex;overflow-x:auto;gap:8px;padding:8px 13px;background:white;border-bottom:1px solid var(--line);position:sticky;top:64px;z-index:4}.mobile-nav a{font-size:12px;white-space:nowrap;padding:8px;color:#244b73}.cols-2{grid-template-columns:1fr}.top{padding:11px 14px;min-height:62px}.context-bar{padding:12px}.container{padding:22px 14px 50px}}@media(max-width:600px){.context-form label:nth-child(1),.context-form label:nth-child(2){width:calc(50% - 6px)}.context-form select{max-width:100%;min-width:0!important}.heading{align-items:flex-start}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:12px}.stat strong{font-size:20px}.panel{padding:15px}.context-form input[type=number]{width:70px}.barline{grid-template-columns:56px minmax(60px,1fr) 84px}.brand{font-size:14px}.brand-mark{width:32px;height:32px}footer{padding:0 14px 70px}}

/* ===== ACTUALIZACIÓN UI 2.0 =====
   No requiere frameworks ni dependencias nuevas. Mantiene las clases de
   formularios/tablas anteriores y reorganiza encabezado, filtros y módulos. */
:root {--navy:#142c49;--ink:#20344d;--muted:#66778e;--line:#dce5ef;--bg:#f3f6fb;--blue:#255b96}
html {scroll-behavior:smooth}
body {background:var(--bg);line-height:1.48}
:focus-visible {outline:3px solid #77a7de;outline-offset:2px}
.ui-icon-library {position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.ui-icon {width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.site-shell {width:min(100% - 48px,1470px);margin:0 auto}
.app-header.top {position:relative;top:auto;z-index:3;padding:0;border-bottom:1px solid #ffffff16;background:linear-gradient(105deg,#10263e,#1a385d);box-shadow:0 2px 16px #182c4714}
.app-header-inner {display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.app-header .brand {font-size:18px;letter-spacing:-.02em;gap:13px}
.app-header .brand-mark {width:44px;height:44px;border-radius:13px;font-size:16px;box-shadow:inset 0 0 0 1px #ffffff38}
.app-header .brand small {margin-top:1px;font-size:11px;color:#c4d4e6;letter-spacing:0}
.header-account {display:flex;align-items:center;gap:10px;margin-left:auto}
.account-avatar {display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#345578;color:#eff7ff;font-weight:800}
.account-name {color:#eef5fc;font-size:13px;font-weight:650;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-header .logout {margin:0}
.btn.header-exit {display:flex;align-items:center;gap:8px;min-height:36px;padding:8px 12px;border:1px solid #acc3da52;background:#ffffff19;color:white;border-radius:10px;font-size:12px}
.btn.header-exit:hover {background:#ffffff2b}
.btn.header-exit .ui-icon {width:16px;height:16px}
.work-area {padding:22px 0 0;background:linear-gradient(180deg,#e9f0f9 0%,#f3f6fb 100%)}
.context-card {padding:20px 22px 22px;background:#fff;border:1px solid #dce5f0;border-radius:18px;box-shadow:0 5px 22px #112e500a}
.context-card-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}
.context-kicker {display:flex;align-items:center;gap:6px;font-weight:800;font-size:10px;letter-spacing:.12em;color:#4d749a}
.context-kicker .ui-icon {width:14px;height:14px}
.context-card-heading h2 {font-size:17px;color:#1c3855;font-weight:800;margin:4px 0 0;letter-spacing:-.02em}
.current-store {display:inline-flex;gap:8px;align-items:center;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #d7e9df;border-radius:100px;background:#effaf4;color:#1b6a45;padding:7px 11px;font-size:11px;font-weight:750}
.current-store.pending {border-color:#e3eaf2;background:#f6f8fb;color:#667789}
.current-store-dot {background:#26aa6a;width:7px;height:7px;border-radius:50%;flex:none}
/* Sustituye el flex anterior por columnas con anchos previsibles */
.context-card .context-form {display:grid;grid-template-columns:minmax(190px,1.65fr) minmax(170px,1.4fr) minmax(76px,.48fr) minmax(105px,.78fr) minmax(116px,.9fr) minmax(115px,.8fr);gap:12px;align-items:end;margin:0}
.context-card .context-form label {font-weight:750;font-size:11px;color:#4e6480;letter-spacing:.035em;text-transform:none;min-width:0;width:auto}
.context-card .context-form input,.context-card .context-form select {width:100%;max-width:none!important;min-width:0!important;height:44px;margin:6px 0 0;padding:9px 10px;border:1px solid #cfdae8;border-radius:10px;background:#fff;color:#243d5d;font-size:13px;letter-spacing:0}
.context-card .context-form select:disabled {background:#edf1f5;color:#8b98a8;cursor:not-allowed}
.context-card .context-form input:focus,.context-card .context-form select:focus {border-color:#6395c9;box-shadow:0 0 0 3px #4b93df20}
.btn.context-apply {min-height:44px;border-radius:10px;background:#19395c;color:white;box-shadow:0 5px 12px #163a6324;white-space:nowrap;font-size:12px;gap:9px}
.btn.context-apply:hover {background:#26537e}
.btn.context-apply span {font-size:17px;line-height:0}
.module-nav {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;align-items:stretch;padding:15px 0 17px}
.module-tab {display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 8px;min-height:48px;border:1px solid #dfE8f1;background:#fff;border-radius:12px;color:#38536f;font-size:12px;font-weight:750;text-align:center;box-shadow:0 2px 8px #102f4d07;transition:background .15s,border-color .15s,transform .15s;white-space:nowrap}
.module-tab:hover {background:#f4f9ff;border-color:#aac4df;color:#194e82;text-decoration:none;transform:translateY(-1px)}
.module-tab.is-active {background:#183757;border-color:#183757;color:white;box-shadow:0 5px 12px #14365327}
.module-tab.is-active:hover {background:#254b73;color:white}
.module-tab .ui-icon {width:18px;height:18px}
.container {max-width:1470px;padding:23px 24px 55px}
.heading {margin-bottom:20px}
.heading h1 {font-weight:800;letter-spacing:-.035em;color:#1e3551}
.heading .eyebrow {margin-bottom:7px}
.panel {border-radius:17px;border-color:#e0e8f1;box-shadow:0 3px 15px #163a6310}
.stat {border-radius:15px;box-shadow:0 3px 15px #163a630a}
input:not([type=checkbox]):focus,select:focus,textarea:focus {border-color:#699dcd;box-shadow:0 0 0 3px #4b93df1c}
.btn {transition:background .15s,box-shadow .15s}
.btn.primary {background:#19395c}
.btn.primary:hover {background:#28517c}
.action-card {border-radius:16px;transition:transform .15s,box-shadow .15s}
.action-card:hover {transform:translateY(-2px)}
.table-wrap {border-radius:10px;scrollbar-width:thin}
.table-wrap table {min-width:660px}
.table-wrap thead th {position:sticky;top:0;z-index:1;background:#f3f7fb}
footer {max-width:1470px}
/* Formulario de productos: compacto en escritorio, sin desbordamientos en móvil */
#product-editor.inline-form {display:grid;grid-template-columns:auto minmax(200px,2fr) minmax(160px,1fr) minmax(135px,.9fr) auto;gap:10px;align-items:center}
#product-editor.inline-form input:not([type=hidden]) {width:100%;min-width:0;margin-top:0;min-height:43px}
#product-editor.inline-form .btn {min-height:43px}
#product-editor.inline-form input[type=hidden] {display:none}
@media (max-width:1260px) {
  .context-card .context-form {grid-template-columns:repeat(6,minmax(0,1fr))}
  .context-company {grid-column:span 3}.context-store {grid-column:span 3}
  .context-year {grid-column:span 1}.context-month {grid-column:span 2}.context-half {grid-column:span 2}.context-apply {grid-column:span 1}
  .module-nav {display:flex;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity;padding-bottom:17px}
  .module-tab {flex:0 0 auto;padding-inline:17px;scroll-snap-align:start}
  #product-editor.inline-form {grid-template-columns:auto 1fr 1fr}
  #product-editor.inline-form input[name="sale_price"] {grid-column:2}
  #product-editor.inline-form button[type="submit"] {grid-column:3}
}
@media (max-width:760px) {
  .site-shell {width:min(100% - 28px,1470px)}
  .app-header-inner {min-height:66px}
  .app-header .brand {font-size:15px}
  .app-header .brand-mark {width:39px;height:39px}
  .account-name {display:none}
  .work-area {padding-top:13px}
  .context-card {padding:15px;border-radius:15px}
  .context-card-heading {gap:8px;align-items:flex-start}
  .context-card-heading h2 {font-size:15px}
  .current-store {max-width:38%;font-size:10px;white-space:normal;line-height:1.25}
  .context-card .context-form {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .context-company,.context-store {grid-column:span 2}
  .context-year,.context-month,.context-half {grid-column:span 1}
  .context-card .context-form .context-apply {grid-column:span 2;width:100%}
  .context-card .context-form input,.context-card .context-form select {height:43px}
  .module-nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 0 13px;overflow:visible}
  .module-tab {flex:auto;min-width:0;min-height:68px;white-space:normal;flex-direction:column;gap:5px;padding:9px 5px;font-size:11px;line-height:1.2;border-radius:11px}
  .module-tab .ui-icon {width:20px;height:20px}
  .container {padding:18px 14px 50px}
  .heading {gap:12px}
  #product-editor.inline-form {grid-template-columns:repeat(2,minmax(0,1fr))}
  #product-editor.inline-form button#clear-edit {grid-column:span 2;justify-self:start}
  #product-editor.inline-form input[name="name"] {grid-column:span 2}
  #product-editor.inline-form input[name="code"] {grid-column:span 2}
  #product-editor.inline-form input[name="sale_price"] {grid-column:span 2}
  #product-editor.inline-form button[type="submit"] {grid-column:span 2;width:100%}
  .panel {padding:17px}
  footer {padding:0 14px 30px}
}
@media (max-width:400px) {
  .app-header .brand {font-size:14px}
  .brand small {font-size:10px}
  .account-avatar {display:none}
  .context-card-heading {display:block}
  .current-store {display:inline-flex;max-width:100%;margin-top:9px}
  .module-nav {grid-template-columns:repeat(2,minmax(0,1fr))}
  .module-tab {min-height:53px;flex-direction:row;gap:7px}
  .cards {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce) {*,*::before,*::after {scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ========= D'ROSSI 3.0 · IDENTIDAD Y JERARQUÍA DE NAVEGACIÓN ========= */
:root {
  --navy: #8d150e;
  --ink: #322b29;
  --muted: #725f58;
  --line: #f1d9d0;
  --bg: #fff8f3;
  --blue: #bc2618;
  --white: #fff;
  --brand-red: #d51a10;
  --brand-orange: #ff7900;
  --brand-yellow: #ffea00;
}
html {background:var(--bg)}
body {background:var(--bg);color:var(--ink)}
a {color:#a62116}
a:hover {color:#75110b}
:focus-visible {outline:3px solid #ff9a40;outline-offset:2px}
.app-header.top {background:linear-gradient(112deg,#8a0b0b 0%,#d22110 60%,#f15b09 100%);border-bottom:3px solid #ff990b;box-shadow:0 4px 18px #7b230c20}
.app-header .brand {white-space:normal;min-width:0}
.brand-logo {display:block;flex:none;width:54px;height:54px;object-fit:contain;border-radius:50%;background:white;border:2px solid white;box-shadow:0 1px 7px #39070255}
.app-header .brand-copy {font-size:19px;color:white;line-height:1.2}
.app-header .brand small {color:#fff6e7;font-weight:600;letter-spacing:0;font-size:11px;margin-top:4px}
.account-avatar {background:#ffebbe;color:#822013;border:1px solid #ffffff8c}
.account-name {color:#fffdf5}
.btn.header-exit {border-color:#ffe7cf70;background:#8a0c0f66}
.btn.header-exit:hover {background:#fdb1494d}
.general-navigation-wrap {background:#fff;border-bottom:1px solid #f0dcd1;box-shadow:0 2px 8px #9e34100c}
.general-navigation {display:flex;gap:17px;align-items:center;flex-wrap:wrap;padding-top:11px;padding-bottom:11px}
.nav-caption {display:block;font-size:10px;letter-spacing:.13em;font-weight:850;color:#a14a31;white-space:nowrap}
.general-nav-items {display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.general-link,.store-jump {display:inline-flex;gap:8px;align-items:center;text-decoration:none;padding:10px 13px;font-size:12px;font-weight:750;border-radius:10px;color:#5f342b;border:1px solid transparent;transition:background .15s}
.general-link:hover {text-decoration:none;background:#fff0e5;border-color:#f5d1bb;color:#922319}
.general-link.is-active {background:#cf2415;border-color:#cf2415;color:#fff;box-shadow:0 3px 9px #b92a1f2e}
.general-link.is-active:hover {background:#ad2016;color:white}
.general-link .ui-icon,.store-jump .ui-icon {width:17px;height:17px}
.store-jump {margin-left:auto;background:#fff8ed;border:1px solid #f4d7ad;color:#8c3914}
.store-jump:hover {background:#ffe7c7;text-decoration:none;color:#792e10}
.work-area {background:linear-gradient(180deg,#fff0e5,#fff8f3);padding:18px 0 0}
.context-card {border-color:#f1dacc;box-shadow:0 5px 21px #8b2f120e}
.context-kicker,.heading .eyebrow {color:#b64017}
.context-card-heading h2 {color:#502d23}
.current-store {border-color:#eed6b9;background:#fff3df;color:#843c16}
.current-store-dot {background:#ed801e}
.context-card .context-form label {color:#73483a}
.context-card .context-form input,.context-card .context-form select {border-color:#e7c9b8;color:#4d342d}
.context-card .context-form input:focus,.context-card .context-form select:focus {border-color:#e77729;box-shadow:0 0 0 3px #f99c3e29}
.btn.context-apply,.btn.primary {background:linear-gradient(110deg,#c82214,#e83b0e);color:white;border-color:#c92615}
.btn.context-apply:hover,.btn.primary:hover {background:linear-gradient(110deg,#ad1d13,#c02b0b)}
.btn.outline {border-color:#e9beab;color:#a33319}
.btn.outline:hover {background:#fff2e8;color:#7c2510}
.btn.light {background:#8b2316}
.store-navigation {padding:15px 0 5px}
.store-navigation .nav-caption {margin-bottom:8px}
.module-nav {grid-template-columns:repeat(6,minmax(0,1fr));padding:0 0 16px;gap:10px}
.module-tab {border-color:#efd8c9;color:#713d2b;box-shadow:0 3px 10px #9e321209}
.module-tab:hover {background:#fff1e5;border-color:#edac84;color:#993118}
.module-tab.is-active {background:#cf2313;border-color:#cf2313;color:white;box-shadow:0 4px 12px #af221a29}
.module-tab.is-active:hover {background:#ac1a12}
.heading h1 {color:#4f271f}
.panel,.stat,.action-card {border-color:#f1ddd2;box-shadow:0 3px 15px #8c2f1409}
.stat strong {color:#8f271a}
input:not([type=checkbox]):focus,select:focus,textarea:focus {border-color:#f18531;box-shadow:0 0 0 3px #fcbb7c3d}
.table-wrap thead th,th {background:#fff3ea;color:#753d2e}
tr:hover td {background:#fff9f4}
.action-card:hover {border-color:#f5b38e;box-shadow:0 6px 16px #be6b2020}
.bar-bg div {background:linear-gradient(90deg,#fe8d21,#d52510)}
details summary {color:#a63619}
footer {color:#8f6a57}
.general-hero {border-radius:18px;background:linear-gradient(115deg,#941814,#e63d11 68%,#fd8520);color:#fff;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;overflow:hidden}
.general-hero h1 {color:white;margin:7px 0}
.general-hero p {color:#ffecde;margin:0;max-width:580px}
.general-hero .eyebrow {color:#fff0b0}
.general-hero-logo {width:115px;height:115px;object-fit:contain;background:white;border-radius:50%;padding:3px;border:3px solid #fff9e5;flex:none}
.general-hero .btn {background:#ffe36b;color:#6d1d0d;border:0}
.general-hero .btn:hover {background:#fff1a0;color:#5b1305}
.general-section-title {font-size:15px;color:#762d1a;font-weight:800;margin:20px 0 12px}
.general-section-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.config-wide {max-width:1050px}
.config-reason-row {display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.config-reason-row > input {flex:1;min-width:180px}
.config-reason-row > select {width:auto;min-width:125px}
@media(max-width:1000px) {
  .general-section-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .general-navigation {gap:8px}
  .store-jump {margin-left:0}
}
@media(max-width:760px) {
  .brand-logo {width:45px;height:45px}
  .app-header .brand-copy {font-size:15px}
  .general-navigation {align-items:stretch}
  .general-navigation .nav-caption {width:100%;padding-top:1px}
  .general-nav-items {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:7px}
  .general-link {justify-content:center;padding:10px 7px;text-align:center;font-size:11px}
  .general-link:last-child:nth-child(odd) {grid-column:span 2}
  .store-jump {width:100%;justify-content:center;padding:10px}
  .general-hero {padding:18px;flex-direction:column;align-items:flex-start}
  .general-hero-logo {display:none}
  .general-section-grid {grid-template-columns:1fr}
  .module-nav {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:420px) {
 .app-header .brand-copy {font-size:13px}
 .app-header .brand small {font-size:9px}
 .brand-logo {width:40px;height:40px}
 .module-nav {grid-template-columns:repeat(2,minmax(0,1fr))}
 .general-link {font-size:10px;padding-inline:5px}
}

/* ===== D'ROSSI V4: Centro ejecutivo, inventarios por rango, celular ===== */
.executive-hero {display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(115deg,#5a1812,#ce2914 55%,#ff7c13);border-radius:22px;padding:30px 32px;color:#fff;margin-bottom:20px;box-shadow:0 8px 30px #ab411020}
.executive-hero h1 {color:#fff;font-size:clamp(27px,3vw,43px);line-height:1.13;max-width:690px;margin:7px 0 12px}
.executive-hero p {color:#ffede4;line-height:1.65;max-width:700px;margin:0}
.executive-hero .eyebrow {color:#ffe280}
.executive-hero img {object-fit:contain;border-radius:50%;background:#fff;padding:3px;flex:0 0 auto;filter:drop-shadow(0 5px 14px #5f200850)}
.executive-filters {margin-bottom:16px}
.executive-filter-form {display:grid;grid-template-columns:minmax(190px,2fr) minmax(88px,.6fr) minmax(110px,1fr) minmax(160px,1.2fr) auto;gap:12px;align-items:end;margin-bottom:12px}
.executive-filter-form label,.inventory-form label {display:grid;gap:6px;min-width:0;font-weight:750;font-size:12px;color:#78402d}
.executive-filter-form :is(select,input),.inventory-form :is(input,select) {width:100%;min-width:0;margin:0;height:45px;border-radius:11px;border-color:#e5cbbd}
.executive-filter-form .btn {min-height:45px;white-space:nowrap}
.executive-kpis {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:16px 0}
.executive-kpi {display:flex;flex-direction:column;gap:8px;min-width:0;padding:20px 19px;background:#fff;border:1px solid #f3dfd3;border-radius:16px;box-shadow:0 4px 14px #9e36100b}
.executive-kpi>span {font-size:10px;font-weight:850;letter-spacing:.075em;color:#a35e43}
.executive-kpi strong {font-size:clamp(19px,2vw,29px);font-weight:850;line-height:1.1;color:#5d2518;overflow-wrap:anywhere}
.executive-kpi small {color:#8f7569;font-size:10px;line-height:1.4}
.executive-kpi.primary-kpi {background:linear-gradient(140deg,#d22b17,#f15b19);border-color:#d22b17;color:white}
.executive-kpi.primary-kpi :is(span,strong,small) {color:#fff}
.executive-kpi .negative {color:#bb231c}
.executive-grid {display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:15px;margin-bottom:17px}
.section-head {display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:14px}
.section-head h2 {margin:5px 0 0}
.store-rank-row {display:grid;grid-template-columns:minmax(100px,1.15fr) minmax(70px,1.6fr) minmax(100px,.9fr);align-items:center;gap:10px;margin:15px 0;font-size:12px}
.store-rank-name {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750;color:#593027}
.store-rank-bar {height:13px;border-radius:7px;background:#ffecdd;overflow:hidden}
.store-rank-bar>div {height:100%;border-radius:7px;background:linear-gradient(90deg,#ffaf25,#eb451b)}
.store-rank-row b {text-align:right;font-size:11px;color:#6f3223}
.decisions-panel {background:#fffdfb}
.decision-stat {display:flex;gap:13px;align-items:center;padding:14px 0;border-bottom:1px solid #f4e4d7}
.decision-stat strong {display:grid;place-items:center;flex:0 0 50px;height:50px;border-radius:12px;background:#fff0e2;color:#be3d1c;font-size:24px}
.decision-stat span {font-size:12px;line-height:1.55;color:#65524b}
.decision-help {font-size:11px;line-height:1.5;color:#94766b;margin-top:13px}
.general-matrix .table-wrap {max-width:100%;overflow-x:auto}
.comparison-table {min-width:1330px;font-variant-numeric:tabular-nums}
.comparison-table th {font-size:10px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.comparison-table td {white-space:nowrap}
.comparison-table td:first-child,.comparison-table th:first-child {position:sticky;left:0;z-index:2;background:#fff;min-width:145px;box-shadow:3px 0 5px #663b1c09}
.comparison-table th:first-child {background:#fff2e9;z-index:3}
.comparison-table tfoot th {background:#fff0dd;color:#843414}
.comparison-table .value-negative {background:#fff0ed;color:#bd2b22;font-weight:850}
.comparison-table .value-positive {background:#fff6d9;color:#8f5612;font-weight:850}
.inventory-flow {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 21px}
.inventory-flow>div {display:grid;grid-template-columns:38px minmax(0,1fr);gap:0 9px;align-items:center;padding:13px;border:1px solid #f0d8c9;border-radius:14px;background:white}
.inventory-flow b {font-size:12px;color:#713527}
.inventory-flow small {grid-column:2;font-size:10px;line-height:1.5;color:#947d71;margin-top:3px}
.step-num {grid-row:1 / span 2;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#d63418;color:#fff;font-size:13px;font-weight:850}
.inventory-form {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;align-items:end}
.inventory-form .inventory-notes {grid-column:span 3}
.inventory-form>.btn {min-height:45px}
.stock-task {align-self:stretch}
.step-badge {font-size:10px;letter-spacing:.08em;font-weight:850;color:#b83a19}
.stock-task p {line-height:1.55}
@media(max-width:1150px) {
 .executive-kpis {grid-template-columns:repeat(2,minmax(0,1fr))}
 .executive-filter-form {grid-template-columns:repeat(6,minmax(0,1fr))}
 .executive-filter-form label:first-child {grid-column:span 3}
 .executive-filter-form label:nth-child(2) {grid-column:span 1}
 .executive-filter-form label:nth-child(3) {grid-column:span 2}
 .executive-filter-form label:nth-child(4) {grid-column:span 4}
 .executive-filter-form>.btn {grid-column:span 2}
 .inventory-flow {grid-template-columns:repeat(2,minmax(0,1fr))}
 .inventory-form {grid-template-columns:repeat(2,minmax(0,1fr))}
 .inventory-form .inventory-notes {grid-column:span 2}
}
@media(max-width:700px) {
 .executive-hero {padding:22px}
 .executive-hero img {width:70px;height:70px}
 .executive-hero h1 {font-size:25px}
 .executive-grid {grid-template-columns:1fr}
 .executive-filter-form label:first-child {grid-column:span 6}
 .executive-filter-form label:nth-child(2) {grid-column:span 2}
 .executive-filter-form label:nth-child(3) {grid-column:span 4}
 .executive-filter-form label:nth-child(4) {grid-column:span 6}
 .executive-filter-form>.btn {grid-column:span 6}
 .inventory-form {grid-template-columns:1fr}
 .inventory-form .inventory-notes {grid-column:span 1}
 .store-rank-row {grid-template-columns:minmax(80px,1fr) minmax(50px,1fr) minmax(72px,.7fr)}
}
@media(max-width:420px) {
 .executive-hero img {display:none}
 .executive-kpis {grid-template-columns:1fr 1fr;gap:8px}
 .executive-kpi {padding:13px 11px}
 .executive-kpi strong {font-size:19px}
 .inventory-flow {grid-template-columns:1fr}
}

/* Gastos: descripciones visibles sin desplazamiento horizontal en móvil */
.expense-mobile-list{display:none}
.expense-mobile-card{border:1px solid #f0ded4;border-radius:13px;padding:14px;margin-bottom:10px;background:#fffcfa;overflow-wrap:anywhere}
.expense-mobile-card p{font-size:12px;line-height:1.6;margin:12px 0;color:#4a352e;white-space:pre-wrap}
.expense-mobile-card .section-head{margin-bottom:5px}
.expense-mobile-card strong{color:#9b331b}
@media(max-width:760px){.expense-mobile-list{display:block}.expenses-desktop-table{display:none}}

/* ===== D'ROSSI V5: FECHAS LIBRES E IMPORTACIÓN SIMPLE ===== */
.context-card .context-form.date-range-form {grid-template-columns:minmax(210px,1.5fr) minmax(175px,1.25fr) minmax(155px,.85fr) minmax(155px,.85fr) minmax(128px,.72fr);gap:12px;align-items:end}
.context-card .context-form.date-range-form .context-start,
.context-card .context-form.date-range-form .context-end {min-width:0}
.executive-filter-form.executive-dates {grid-template-columns:minmax(240px,1.5fr) minmax(160px,.8fr) minmax(160px,.8fr) auto;gap:12px}
.import-heading {margin-bottom:14px}.simple-import-panel {max-width:1040px}
.import-pickers {align-items:end}.import-pickers input[type=file] {min-height:46px;padding:9px;width:100%;min-width:0}
.import-template-box {display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:16px;border:1px solid #f0d2be;border-radius:13px;background:#fff8f1}
.import-template-box[hidden],.import-note[hidden],.import-inventory-fields[hidden],.check[hidden] {display:none!important}
.import-template-box p {margin:4px 0 0}.import-template-box .btn {white-space:normal}
.import-inventory-fields {padding:14px;background:#fffaf6;border:1px solid #f0dfd2;border-radius:12px}
.import-inventory-fields label {display:block;max-width:700px}
.import-inventory-fields select {width:100%;margin-top:6px}
.import-submit {width:min(100%,500px);justify-content:center}
@media(max-width:1100px){
 .context-card .context-form.date-range-form {grid-template-columns:repeat(4,minmax(0,1fr))}
 .context-card .date-range-form .context-company,.context-card .date-range-form .context-store {grid-column:span 2}
 .context-card .date-range-form .context-start,.context-card .date-range-form .context-end {grid-column:span 1}
 .context-card .date-range-form .context-apply {grid-column:span 2}
 .executive-filter-form.executive-dates {grid-template-columns:repeat(4,minmax(0,1fr))}
 .executive-filter-form.executive-dates label:first-child {grid-column:span 2}
 .executive-filter-form.executive-dates label:nth-child(2),.executive-filter-form.executive-dates label:nth-child(3) {grid-column:span 1}
 .executive-filter-form.executive-dates>.btn {grid-column:span 4}
}
@media(max-width:700px){
 .context-card .context-form.date-range-form {grid-template-columns:repeat(2,minmax(0,1fr))}
 .context-card .date-range-form .context-company,.context-card .date-range-form .context-store {grid-column:span 2}
 .context-card .date-range-form .context-start,.context-card .date-range-form .context-end {grid-column:span 1}
 .context-card .date-range-form .context-apply {grid-column:span 2}
 .executive-filter-form.executive-dates {grid-template-columns:repeat(2,minmax(0,1fr))}
 .executive-filter-form.executive-dates label:first-child {grid-column:span 2}
 .executive-filter-form.executive-dates label:nth-child(2),.executive-filter-form.executive-dates label:nth-child(3) {grid-column:span 1}
 .executive-filter-form.executive-dates>.btn {grid-column:span 2}
 .import-template-box {align-items:flex-start;flex-direction:column}
 .import-template-box .btn,.import-submit {width:100%}
}
@media(max-width:375px){
 .context-card .date-range-form .context-start,.context-card .date-range-form .context-end {grid-column:span 2}
 .executive-filter-form.executive-dates label:nth-child(2),.executive-filter-form.executive-dates label:nth-child(3){grid-column:span 2}
}
#physical-template-link[hidden],#physical-inventory-link[hidden]{display:none!important}

/* V6 - Dos stocks, un solo lugar. Conserva estilos y funciones de la V5. */
.inventory-unified .stock-columns{gap:18px;align-items:stretch}
.inventory-unified .stock-column{padding:18px;border:1px solid #efcfba;background:#fffdfa;border-radius:16px;min-width:0}
.inventory-unified .stock-column h3{margin:.65rem 0;font-size:1.14rem;color:#572817}
.inventory-unified .stock-column .btn{white-space:normal;text-align:center}
.stock-upload-form{margin:16px 0 0}
.stock-upload-form label{display:block}
.stock-upload-form input[type=file]{max-width:100%;box-sizing:border-box}
.physical-highlight{border-color:#e68243 !important;background:#fff4e9 !important}
.physical-highlight strong{color:#ab290f}
.inventory-report-overview{margin-bottom:18px}
.inventory-report-overview .stat strong{overflow-wrap:anywhere}
@media(max-width:780px){
 .inventory-unified .stock-columns{display:grid;grid-template-columns:minmax(0,1fr)}
 .inventory-unified .stock-column{padding:14px}
 .inventory-unified .stock-column .btn{width:100%;display:inline-flex;justify-content:center}
 .inventory-values{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
 .inventory-report-overview .section-head{align-items:start;flex-direction:column;gap:10px}
}

/* V7: ambas cargas de stock desde un único centro */
.import-quick-cut { margin-top: 16px; }
.import-quick-cut summary { cursor: pointer; padding: 8px 0; color: #9b3018; }
.import-quick-cut form { padding-top: 14px; }
.import-template-box[hidden], .import-inventory-fields[hidden], .import-quick-cut[hidden],
#import-no-template[hidden], #import-column-options[hidden], #import-replace-wrap[hidden] { display: none !important; }
.import-template-box { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
@media (max-width: 700px) {
 .import-template-box .btn { width: 100%; text-align: center; }
 .import-quick-cut .cols-2 { grid-template-columns: minmax(0,1fr); }
}
.quick-kind-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:14px 0 20px; }
.quick-kind { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:6px; cursor:pointer;
  background:#fff9f5; color:#782811; border:1px solid #f4c7b9; border-radius:14px; padding:15px 18px; font:inherit; text-align:left; transition:.18s ease; }
.quick-kind b { font-weight:800; }
.quick-kind small { color:#796158; }
.quick-kind.selected { border-color:#d82312; box-shadow:0 0 0 2px rgba(216,35,18,.13); background:#fff3ed; transform:translateY(-1px); }
.quick-kind:hover { border-color:#e76225; background:#fff4ec; }
.quick-kind:focus-visible { outline:3px solid #e76225; outline-offset:2px; }
@media(max-width:780px){.quick-kind-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.quick-kind-grid {grid-template-columns:minmax(0,1fr);}}
