:root{--bg:#f5f7fb;--card:#fff;--text:#1e293b;--muted:#64748b;--line:#e2e8f0;--accent:#0f766e;--accent2:#115e59;--danger:#b91c1c;--success:#15803d;--shadow:0 8px 26px rgba(15,23,42,.07)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:inherit;text-decoration:none}h1{margin:0 0 18px;font-size:clamp(1.55rem,2vw,2rem)}h2{margin:0 0 12px}.muted,small{color:var(--muted)}small{display:block;margin-top:4px}.topbar{height:60px;background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:20}.brand{font-weight:800;font-size:1.15rem;display:flex;align-items:center;gap:9px}.top-logo{width:34px;height:34px;object-fit:contain;border-radius:7px;background:#fff}.topuser{font-size:.9rem;color:#cbd5e1}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 60px)}.sidebar{background:#111827;padding:16px 12px;display:flex;flex-direction:column;gap:6px}.sidebar a{color:#e5e7eb;padding:11px 12px;border-radius:10px;font-size:.94rem}.sidebar a:hover{background:#1f2937}.sidebar .primary-nav{background:var(--accent);color:#fff;font-weight:750}.content{padding:24px;min-width:0}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px;margin-bottom:20px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.page-head h1{margin-bottom:4px}.btn{border:0;border-radius:10px;background:var(--accent);color:#fff;padding:10px 16px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn:hover{background:var(--accent2)}.btn.secondary{background:#e2e8f0;color:#334155}.btn.danger{background:var(--danger)}.btn-lg{width:100%;padding:13px}.btn-xl{width:100%;padding:16px;font-size:1.15rem}.alert{padding:12px 15px;border-radius:10px;margin-bottom:16px}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.stat span{display:block;color:var(--muted);font-size:.88rem}.stat strong{display:block;font-size:1.7rem;margin-top:8px}.table-wrap{overflow:auto}.table-wrap.card{padding:0}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:#f8fafc;color:#475569;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}td small{font-size:.76rem}.link,.link-button{color:var(--accent);font-weight:700}.link-button{border:0;background:none;cursor:pointer;padding:0}.danger-text{color:var(--danger);font-weight:800}.success-text{color:var(--success);font-weight:800}.toolbar{display:flex;gap:8px;margin-bottom:14px}.toolbar input{max-width:420px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label,.inline-form label,.pos-products label,.pos-cart label,.login-card label{display:flex;flex-direction:column;gap:6px;font-weight:650;font-size:.9rem}.span-2{grid-column:span 2}.check{flex-direction:row!important;align-items:center;gap:8px!important}.check input{width:auto}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 11px;background:#fff;color:#0f172a;font:inherit;outline:none}input:focus,select:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.12)}.actions{display:flex;gap:10px;align-items:center}.inline-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-form label{min-width:220px}.pagination{display:flex;gap:6px;justify-content:center;margin-top:16px}.pagination a{padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}.pagination a.active{background:var(--accent);color:#fff}.tabs{display:flex;gap:7px;flex-wrap:wrap}.tabs a{background:#fff;border:1px solid var(--line);padding:8px 10px;border-radius:8px}.login-bg{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#0f172a,#134e4a)}.login-card{width:min(420px,100%);background:#fff;padding:28px;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.3)}.login-card h1{margin-bottom:4px}.login-card label{margin:14px 0}.center-card{width:min(520px,calc(100% - 32px));margin:12vh auto;background:#fff;padding:30px;border-radius:18px;box-shadow:var(--shadow)}.search-results{display:none;position:relative;border:1px solid var(--line);border-radius:10px;background:#fff;max-height:260px;overflow:auto;z-index:10}.search-results.open{display:block}.search-item{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;padding:11px;cursor:pointer}.search-item:hover{background:#f1f5f9}.search-item span{display:block;color:var(--muted);font-size:.82rem;margin-top:3px}.logo-preview{max-height:80px;max-width:180px;object-fit:contain;margin-top:8px}.pos-grid{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(560px,1.4fr);gap:18px;align-items:start}.touch-input{font-size:1.05rem;padding:14px}.pos-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-height:62vh;overflow:auto}.product-tile{min-height:105px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:4px}.product-tile:hover{border-color:#0f766e;background:#f0fdfa}.product-tile:disabled{opacity:.45;cursor:not-allowed}.product-tile strong{font-size:1rem}.product-tile span{font-size:1.12rem;color:var(--accent);font-weight:800}.empty{color:var(--muted);padding:14px}.cart-head{display:flex;justify-content:space-between;align-items:center}.cart-head h2{margin:0}.cart-table{min-width:700px}.mini{min-width:86px;padding:8px}.icon-btn{border:0;background:#fee2e2;color:#991b1b;border-radius:8px;font-size:1.2rem;cursor:pointer;width:34px;height:34px}.totals{border-top:2px solid var(--line);margin-top:12px;padding-top:10px}.totals>div,.summary-card>div{display:flex;justify-content:space-between;padding:6px 2px}.totals .grand,.summary-card .grand{font-size:1.3rem;border-top:1px solid var(--line);margin-top:4px;padding-top:11px}.change-box{font-size:1.15rem;background:#ecfeff;border:1px solid #a5f3fc;border-radius:10px;padding:12px;margin:10px 0 12px}.summary-card{margin-left:auto;width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}
@media(max-width:1050px){.pos-grid{grid-template-columns:1fr}.pos-products{position:static}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{padding:0 14px}.topuser{display:none}.shell{display:block}.sidebar{position:sticky;top:60px;z-index:15;flex-direction:row;overflow:auto;padding:8px;background:#111827}.sidebar a{white-space:nowrap;padding:9px 11px}.content{padding:14px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.stats{grid-template-columns:1fr 1fr}.page-head{flex-direction:column}.pos-results{grid-template-columns:1fr 1fr}.card{padding:14px;border-radius:13px}.pos-cart .table-wrap{margin:0 -14px;padding:0 14px}.btn{min-height:42px}}
@media(max-width:480px){.stats{grid-template-columns:1fr}.pos-results{grid-template-columns:1fr}.content{padding:10px}.toolbar{flex-direction:column}.toolbar input{max-width:none}}
.logout-form{margin:0}.logout-form button{width:100%;border:0;background:transparent;color:#e5e7eb;padding:11px 12px;border-radius:10px;font:inherit;text-align:left;cursor:pointer}.logout-form button:hover{background:#1f2937}.status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.78rem;font-weight:800}.status.ok{background:#dcfce7;color:#166534}.status.void{background:#fee2e2;color:#991b1b}.void-form{margin-top:20px;display:flex;gap:12px;align-items:end}.void-form label{flex:1;display:flex;flex-direction:column;gap:6px;font-weight:650}@media(max-width:760px){.void-form{flex-direction:column;align-items:stretch}.logout-form{min-width:max-content}.logout-form button{white-space:nowrap;padding:9px 11px}}

/* v2.2 roles/import */
.roles-layout{display:grid;grid-template-columns:minmax(340px,1fr) minmax(420px,1.2fr);gap:18px;align-items:start}.permission-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.permission-groups fieldset{border:1px solid #d9dee7;border-radius:10px;padding:12px}.permission-groups legend{font-weight:700;padding:0 6px}.permission-item{align-items:flex-start;margin:8px 0}.permission-item small{display:block;margin-left:6px;color:#6b7280}.template-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.btn.small{padding:7px 10px;font-size:.9rem}.inline-form{display:inline}.row-actions{white-space:nowrap}.import-guide{margin-bottom:18px}.error-list{margin:0;padding-left:22px}.error-list li{margin:6px 0}.alert.info{background:#eef6ff;border:1px solid #c7defa;color:#1e4d7a}.alert.compact{padding:10px 12px;margin:12px 0}
@media(max-width:900px){.roles-layout{grid-template-columns:1fr}.permission-groups{grid-template-columns:1fr}}

/* v2.3 reports */
.report-tabs{margin-bottom:16px}.report-tabs a.active{background:var(--accent);color:#fff;border-color:var(--accent)}.report-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filter{display:grid;grid-template-columns:2fr 1.3fr 1.2fr auto;gap:12px;align-items:end}.report-filter label{display:flex;flex-direction:column;gap:6px;font-weight:650;font-size:.9rem}.warning-text{color:#b45309;font-weight:800}
@media(max-width:900px){.report-filter{grid-template-columns:1fr 1fr}.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.report-filter,.report-stats{grid-template-columns:1fr}}
@media print{.topbar,.sidebar,.no-print{display:none!important}.shell{display:block}.content{padding:0}.card,.stat{box-shadow:none}.report-tabs{display:none}body{background:#fff}.table-wrap{overflow:visible}table{min-width:0;font-size:11px}th,td{padding:6px 7px}.stats{break-inside:avoid}.card{break-inside:auto}}

/* v2.4 tablet / responsive UI only */
html,body{max-width:100%;overflow-x:hidden}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.menu-toggle{display:none;width:44px;height:44px;border:0;border-radius:10px;background:#1e293b;color:#fff;font-size:1.35rem;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.menu-toggle:hover{background:#334155}.nav-overlay{display:none}.sidebar{overflow-y:auto}.content{width:100%;max-width:100%}.pos-grid{grid-template-columns:minmax(280px,.78fr) minmax(0,1.5fr)}.pos-cart{min-width:0}.pos-cart .table-wrap{max-width:100%}.cart-table{width:100%}

@media(max-width:1100px){
  .menu-toggle{display:inline-flex}.topbar{padding-left:12px;padding-right:16px}.shell{display:block;min-height:calc(100vh - 60px)}
  .sidebar{position:fixed;top:60px;left:0;bottom:0;width:min(300px,86vw);z-index:45;transform:translateX(-105%);transition:transform .2s ease;box-shadow:12px 0 30px rgba(15,23,42,.25);padding:16px 12px;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}
  .sidebar a{white-space:normal;min-height:44px;display:flex;align-items:center}.logout-form button{min-height:44px;white-space:normal}
  body.menu-open .sidebar{transform:translateX(0)}body.menu-open{overflow:hidden}.nav-overlay{display:block;position:fixed;inset:60px 0 0 0;background:rgba(15,23,42,.48);z-index:40;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}body.menu-open .nav-overlay{opacity:1;visibility:visible;pointer-events:auto}
  .content{padding:18px}.topuser{max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

@media(min-width:921px) and (max-width:1100px){
  .pos-grid{grid-template-columns:minmax(260px,.72fr) minmax(0,1.45fr);gap:14px}.pos-results{grid-template-columns:1fr}.card{padding:16px}.cart-table{min-width:620px}.mini{min-width:72px;width:100%}th,td{padding:10px 9px}
}

@media(max-width:920px){
  .pos-grid{grid-template-columns:1fr}.pos-products,.pos-cart{width:100%}.pos-results{grid-template-columns:repeat(2,minmax(0,1fr));max-height:44vh}.cart-table{min-width:660px}.content{padding:14px}.card{margin-bottom:14px}.touch-input{min-height:48px}
}

@media(max-width:720px){
  .topbar{height:56px}.sidebar{top:56px}.nav-overlay{inset:56px 0 0}.shell{min-height:calc(100vh - 56px)}.brand{font-size:1rem}.top-logo{width:30px;height:30px}.topuser{display:none}.content{padding:10px}.card{padding:12px;border-radius:12px}.pos-results{grid-template-columns:1fr 1fr;max-height:38vh}.product-tile{min-height:92px;padding:11px}.cart-head{gap:8px}.cart-head h2{font-size:1.25rem}
  .pos-cart .table-wrap{overflow:visible;margin:0}.cart-table{min-width:0}.cart-table thead{display:none}.cart-table,.cart-table tbody,.cart-table tr,.cart-table td{display:block;width:100%}.cart-table tr{border:1px solid var(--line);border-radius:12px;padding:10px;margin:10px 0;background:#fff}.cart-table td{border:0;padding:6px 0;display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:center}.cart-table td::before{content:attr(data-label);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:800}.cart-table td:first-child{display:block;padding-top:2px;padding-bottom:9px;border-bottom:1px solid var(--line);margin-bottom:4px}.cart-table td:first-child::before{display:none}.cart-table .cart-remove{display:flex;justify-content:flex-end;padding-top:4px}.cart-table .cart-remove::before{display:none}.mini{width:100%;min-width:0;min-height:44px}.icon-btn{width:44px;height:44px}.totals{margin-top:8px}.totals>div{padding:7px 2px}.change-box{min-height:48px;display:flex;align-items:center;justify-content:space-between}.btn-xl{min-height:52px}.touch-input{font-size:1rem}
}

@media(max-width:430px){.pos-results{grid-template-columns:1fr}.product-tile{min-height:82px}.content{padding:8px}.card{padding:10px}.cart-table td{grid-template-columns:78px minmax(0,1fr)}}

/* Hybrid v3 login */
.login-logo{display:block;max-width:120px;max-height:80px;object-fit:contain;margin:0 auto 12px}.small{font-size:.82rem}

/* v3.2 updater */
.update-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.update-grid{display:grid;grid-template-columns:2fr repeat(4,minmax(120px,1fr));gap:12px;margin:14px 0}.update-grid>div{border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}.hash-line{display:block;overflow-wrap:anywhere;font-size:.78rem}.check-list{display:grid;gap:8px;margin:12px 0}.check-row{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;justify-content:space-between;gap:12px}.check-row.ok{background:#f0fdf4;border-color:#bbf7d0}.check-row.warn{background:#fffbeb;border-color:#fde68a}.check-row.bad{background:#fef2f2;border-color:#fecaca}.check-row span{color:var(--muted);text-align:right}.update-init{max-width:720px}.update-init form{max-width:520px}
@media(max-width:900px){.update-grid{grid-template-columns:1fr 1fr}.update-stats{grid-template-columns:1fr 1fr}.check-row{flex-direction:column}.check-row span{text-align:left}}
@media(max-width:560px){.update-grid,.update-stats{grid-template-columns:1fr}}


/* v3.3 SaaS plans/modules/subscriptions */
.module-picker{border-top:1px solid var(--line);padding-top:12px}.addon-grid{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}.compact-form{flex-wrap:nowrap}.compact-form select{min-width:120px}.subscription-alert{margin-bottom:18px}.status.warn{background:#fef3c7;color:#92400e}
@media(max-width:760px){.compact-form{flex-wrap:wrap}.addon-grid{flex-direction:column;gap:8px}}


/* v3.4 cash */
.cash-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.cash-session-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.cash-breakdown{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.cash-breakdown span{border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--muted);font-size:.85rem}.cash-breakdown strong{display:block;color:var(--text);font-size:1.05rem;margin-top:4px}.cash-open-card{max-width:760px}.cash-stats{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.cash-two-col{grid-template-columns:1fr}.cash-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.cash-breakdown,.cash-stats{grid-template-columns:1fr}}

/* v3.4.5 UI/UX responsive polish */
:root{
  --accent-soft:#ecfdf5;
  --accent-border:#99f6e4;
  --danger-soft:#fef2f2;
  --danger-border:#fecaca;
  --surface-soft:#f8fafc;
  --focus-ring:0 0 0 3px rgba(15,118,110,.14);
}

button,a,input,select,textarea{transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease,color .16s ease,transform .08s ease}
.btn{gap:7px;min-height:40px;box-shadow:0 1px 2px rgba(15,23,42,.08)}
.btn:active,.link-button:active{transform:translateY(1px)}
.btn:focus-visible,.link-button:focus-visible,.icon-btn:focus-visible,.action-menu summary:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.btn.secondary{border:1px solid #cbd5e1;background:#fff;color:#334155}
.btn.secondary:hover{background:#f8fafc;border-color:#94a3b8}
.btn.danger{border:1px solid #991b1b}
.btn.small{min-height:34px;padding:6px 10px;border-radius:9px;font-size:.84rem}

/* Acciones compactas: reemplaza los enlaces sueltos por controles consistentes. */
.row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;white-space:normal;min-width:0}
.row-actions .inline-form{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0;min-width:0}
.row-actions .compact-form{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:7px;align-items:center;width:min(330px,100%)}
.row-actions .compact-form select{min-width:0;width:100%}
.link-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 10px;border:1px solid var(--accent-border);border-radius:9px;background:var(--accent-soft);color:var(--accent2);font-size:.84rem;font-weight:800;line-height:1.15;cursor:pointer;white-space:normal;text-align:center}
.link-button:hover{background:#ccfbf1;border-color:#5eead4;color:#134e4a}
.link-button.danger-text,.danger-text.link-button{background:var(--danger-soft);border-color:var(--danger-border);color:#991b1b}
.link-button.danger-text:hover,.danger-text.link-button:hover{background:#fee2e2;border-color:#fca5a5}
.row-actions .muted.small{display:inline-flex;align-items:center;min-height:34px;padding:6px 9px;border-radius:9px;background:#f1f5f9;color:#64748b;margin:0}

/* Evita que controles y contenido fuerzen anchos innecesarios. */
input,select,textarea{min-width:0}
th,td{overflow-wrap:anywhere}
.table-wrap{max-width:100%;scrollbar-width:thin;scrollbar-color:#94a3b8 transparent}
.table-wrap::-webkit-scrollbar{height:8px;width:8px}
.table-wrap::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px}
.table-wrap::-webkit-scrollbar-track{background:transparent}
.table-wrap table:not(.cart-table){width:100%;min-width:0}
.table-wrap table:not(.cart-table) th,.table-wrap table:not(.cart-table) td{max-width:360px}
.table-wrap table:not(.cart-table) td.row-actions{max-width:420px}

/* Formularios inline mantienen layout flexible; el override histórico ya no los fuerza a display:inline. */
.card.inline-form,.report-filter.inline-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.card.inline-form label{min-width:min(260px,100%);flex:1 1 220px}
.card.inline-form .btn{flex:0 0 auto}

/* Tablas responsivas: app.js agrega data-label según encabezados. */
@media(max-width:900px){
  .table-wrap{overflow:visible}
  .responsive-table{display:block;width:100%;min-width:0!important;border-collapse:separate;border-spacing:0}
  .responsive-table thead{display:none}
  .responsive-table tbody{display:grid;gap:12px}
  .responsive-table tr{display:block;width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.04);overflow:hidden}
  .responsive-table td{display:grid;grid-template-columns:minmax(115px,34%) minmax(0,1fr);gap:12px;align-items:center;width:100%;max-width:none!important;border:0;border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
  .responsive-table td:last-child{border-bottom:0}
  .responsive-table td::before{content:attr(data-label);color:#64748b;font-size:.72rem;line-height:1.2;font-weight:850;text-transform:uppercase;letter-spacing:.035em}
  .responsive-table td[data-label=""],.responsive-table td[colspan]{display:block}
  .responsive-table td[data-label=""]::before,.responsive-table td[colspan]::before{display:none}
  .responsive-table td.row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
  .responsive-table td.row-actions::before{content:attr(data-label);flex:0 0 100%;margin-bottom:1px}
  .responsive-table td.row-actions .compact-form{width:100%;grid-template-columns:minmax(0,1fr) auto}
  .responsive-table td.row-actions .inline-form:not(.compact-form){display:inline-flex;width:auto}
  .responsive-table .link-button{min-height:38px;padding:8px 11px}
  .card.table-wrap{padding:14px}
  .card.table-wrap>h2,.card.table-wrap>.page-head{margin-bottom:12px}
}

@media(max-width:560px){
  .responsive-table td{grid-template-columns:1fr;gap:4px;padding:10px 11px}
  .responsive-table td::before{margin-bottom:2px}
  .responsive-table td.row-actions{display:grid;grid-template-columns:1fr 1fr}
  .responsive-table td.row-actions::before{grid-column:1/-1}
  .responsive-table td.row-actions>*{width:100%}
  .responsive-table td.row-actions .compact-form{grid-column:1/-1;grid-template-columns:1fr}
  .responsive-table td.row-actions .compact-form .btn{width:100%}
  .responsive-table td.row-actions .inline-form:not(.compact-form){display:block}
  .responsive-table td.row-actions .link-button{width:100%}
  .actions{flex-wrap:wrap}
  .actions>.btn,.actions>a.btn{flex:1 1 160px}
  .card.inline-form{align-items:stretch}
  .card.inline-form .btn{width:100%}
}

/* v3.5.0 bitácora y logs */
.audit-filter,.log-filter{display:grid;grid-template-columns:minmax(180px,1.6fr) repeat(4,minmax(140px,1fr));gap:12px;align-items:end}
.audit-filter label,.log-filter label{display:flex;flex-direction:column;gap:6px;font-weight:650;font-size:.88rem}
.audit-filter .actions,.log-filter .actions{align-self:end;flex-wrap:wrap}
.audit-detail summary{color:var(--accent);font-weight:800;cursor:pointer}.audit-detail pre{white-space:pre-wrap;word-break:break-word;max-width:520px;background:#f8fafc;border:1px solid var(--line);padding:9px;border-radius:9px;font-size:.76rem}.cursor-pagination{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.log-list{padding:0;overflow:hidden}.log-row{padding:14px 16px;border-bottom:1px solid var(--line);background:#fff}.log-row:last-child{border-bottom:0}.log-row pre{margin:8px 0 0;white-space:pre-wrap;word-break:break-word;font:500 .82rem/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.log-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.log-head code{font-size:.78rem;color:var(--muted)}.log-row.level-error,.log-row.level-critical{border-left:4px solid #dc2626}.log-row.level-warning{border-left:4px solid #d97706}.log-row.level-info{border-left:4px solid #0f766e}
@media(max-width:1050px){.audit-filter,.log-filter{grid-template-columns:1fr 1fr 1fr}.audit-filter .actions,.log-filter .actions{grid-column:1/-1}}
@media(max-width:700px){.audit-filter,.log-filter{grid-template-columns:1fr}.audit-filter .actions,.log-filter .actions{grid-column:auto}.cursor-pagination{flex-direction:column}.cursor-pagination .btn{width:100%}.log-head{align-items:flex-start;flex-direction:column}}

/* v3.5.1 dashboard empresarial y redondeo comercial */
.setting-section{border-top:1px solid var(--line);padding-top:8px;margin-top:2px}.setting-section h2{margin-bottom:4px}.rounding-example,.price-preview{border:1px solid var(--line);border-radius:12px;background:#f8fafc;padding:12px 14px;display:flex;flex-direction:column;justify-content:center;gap:3px}.rounding-example span,.price-preview span,.eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.045em;color:var(--muted);font-weight:850}.rounding-example strong,.price-preview strong{font-size:1.08rem}.dashboard-head{align-items:center}.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.business-overview{display:grid;grid-template-columns:1.4fr 1fr .8fr 1.15fr;gap:0;padding:0;overflow:hidden}.business-overview>div{padding:16px 18px;border-right:1px solid var(--line);min-width:0}.business-overview>div:last-child{border-right:0}.business-overview strong{display:block;margin-top:5px;font-size:1.08rem;overflow-wrap:anywhere}.business-overview small{margin-top:5px}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.dashboard-stack{display:grid;gap:18px}.dashboard-primary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px;align-items:start}.dashboard-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;align-items:stretch}.dashboard-card{margin-bottom:0;min-width:0}.dashboard-summary-grid>.dashboard-card{height:100%}.dashboard-wide-card{width:100%}.dashboard-chart-card{grid-column:span 2}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head h2{margin-bottom:3px}.sales-bars{height:235px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:end;padding-top:18px}.sales-bar-item{height:100%;display:grid;grid-template-rows:auto 1fr auto;gap:6px;min-width:0;text-align:center}.sales-bar-value{font-size:.72rem;font-weight:750;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sales-bar-track{height:100%;min-height:125px;background:#f1f5f9;border:1px solid var(--line);border-radius:10px;position:relative;overflow:hidden;display:flex;align-items:flex-end}.sales-bar-track span{display:block;width:100%;background:linear-gradient(180deg,#14b8a6,var(--accent));border-radius:9px 9px 0 0;min-height:4px}.sales-bar-item small{font-weight:750;margin:0}.rank-list{display:grid;gap:8px}.rank-row{display:flex;align-items:center;gap:11px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}.rank-number{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--accent-soft);color:var(--accent2);font-weight:900;flex:0 0 auto}.rank-row strong{display:block}.mini-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.mini-metrics>div{border:1px solid var(--line);border-radius:11px;padding:11px;background:#f8fafc}.mini-metrics>div:last-child:nth-child(odd){grid-column:1/-1}.mini-metrics span{display:block;color:var(--muted);font-size:.78rem}.mini-metrics strong{display:block;font-size:1.1rem;margin-top:4px}.compact-list{display:grid;border-top:1px solid var(--line)}.compact-list>a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line)}.compact-list>a:hover{color:var(--accent2)}.compact-list>a>span{min-width:0}.compact-list small{margin-top:2px}.compact-list strong{flex:0 0 auto}
@media(max-width:1050px){.business-overview{grid-template-columns:1fr 1fr}.business-overview>div{border-bottom:1px solid var(--line)}.business-overview>div:nth-child(2n){border-right:0}.business-overview>div:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:820px){.dashboard-grid,.dashboard-primary-grid,.dashboard-summary-grid{grid-template-columns:1fr}.dashboard-chart-card{grid-column:auto}.sales-bars{height:205px;gap:6px}.sales-bar-value{display:none}.quick-actions{width:100%}.quick-actions .btn{flex:1 1 140px}}
@media(max-width:560px){.business-overview{grid-template-columns:1fr}.business-overview>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.business-overview>div:last-child{border-bottom:0!important}.sales-bars{height:180px;gap:4px}.sales-bar-track{min-height:100px}.sales-bar-item small{font-size:.68rem}.mini-metrics{grid-template-columns:1fr 1fr}}

/* v3.5.2 presentaciones de producto */
.presentation-editor{border-top:1px solid var(--line);padding-top:16px;margin-top:6px}.presentation-editor .section-head{align-items:center}.presentation-list{display:grid;gap:12px;margin-top:14px}.presentation-row{display:grid;grid-template-columns:1.25fr .7fr 1fr 1fr .65fr .8fr .9fr auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.presentation-row label{min-width:0}.presentation-cost{border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:10px;min-height:62px}.presentation-cost span{display:block;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.presentation-cost strong{display:block;margin-top:5px}.callout.info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a5f;padding:11px 13px;border-radius:11px;margin-top:10px}.product-tile span{display:block}.product-tile small{display:block;margin-top:3px}.search-item span{display:block;color:var(--muted);font-size:.8rem;margin-top:3px}
@media(max-width:1200px){.presentation-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.presentation-row{grid-template-columns:repeat(2,minmax(0,1fr))}.presentation-row .presentation-remove{grid-column:span 2}.presentation-editor .section-head{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.presentation-row{grid-template-columns:1fr}.presentation-row .presentation-remove{grid-column:auto}}

/* v3.6.1 - estado visual de monto recibido */
.change-box.shortage{background:var(--danger-soft,#fef2f2);border-color:var(--danger-border,#fecaca);color:#991b1b}
.change-box.shortage strong{color:#991b1b}
.change-box.ready{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.change-box.ready strong{color:#166534}

/* v3.6.2 - selector de modo de Caja */
.cash-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.choice-card{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--border,#d7dce2);border-radius:12px;padding:14px;background:var(--card,#fff);cursor:pointer;min-width:0}
.choice-card:hover{border-color:#9aa7b6;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.choice-card input[type="radio"]{width:auto;min-width:auto;margin:3px 0 0;flex:0 0 auto}
.choice-card span{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:4px}
.choice-card strong{display:block;line-height:1.25;overflow-wrap:anywhere}
.choice-card small{color:var(--muted,#68707d);line-height:1.4;overflow-wrap:anywhere}
.choice-card:has(input:checked){border-color:var(--accent);background:var(--accent-soft,#ecfdf5);box-shadow:0 0 0 2px rgba(15,118,110,.08)}
@media(max-width:820px){.cash-mode-options{grid-template-columns:1fr}}

/* v3.6.3 - corrige radio inputs heredando width:100% en tarjetas de Caja */
@media(max-width:1100px) and (min-width:821px){.cash-mode-options{grid-template-columns:1fr 1fr}.cash-mode-options .choice-card:last-child{grid-column:1/-1}}

/* v3.6.4 - cierre pendiente por cambio de día + dashboard Superadmin */
/* v3.6.5 - optimización de rendimiento, cache corto e índices */
.alert.warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}
.cash-stale-alert{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #fecaca}
.cash-stale-alert strong{flex:0 0 auto}.cash-stale-alert span{flex:1 1 360px}.cash-stale-alert .btn{margin-left:auto}
.platform-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;overflow:hidden}
.platform-overview>div{padding:16px 18px;border-right:1px solid var(--line);min-width:0}
.platform-overview>div:last-child{border-right:0}.platform-overview strong{display:block;font-size:1.28rem;margin-top:5px}.platform-overview small{margin-top:5px}
.platform-alert-stats{grid-template-columns:repeat(5,minmax(150px,1fr))}
.platform-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.platform-company-list>a{align-items:flex-start}.platform-company-plan{text-align:right;min-width:130px}.platform-company-plan small{white-space:nowrap}
@media(max-width:1150px){.platform-alert-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-overview{grid-template-columns:1fr 1fr}.platform-overview>div{border-bottom:1px solid var(--line)}.platform-overview>div:nth-child(2n){border-right:0}.platform-overview>div:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:820px){.platform-dashboard-grid{grid-template-columns:1fr}.cash-stale-alert{align-items:flex-start}.cash-stale-alert .btn{margin-left:0}.platform-alert-stats{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.platform-overview{grid-template-columns:1fr}.platform-overview>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.platform-overview>div:last-child{border-bottom:0!important}.platform-alert-stats{grid-template-columns:1fr}.platform-company-list>a{flex-direction:column;align-items:flex-start}.platform-company-plan{text-align:left;min-width:0}}

/* v3.7.0 - módulo Compras + integración condicional con Farmacia */
.purchase-header{align-items:end}.purchase-search-label{display:flex;flex-direction:column;gap:7px;font-weight:700;position:relative}.purchase-search-results{position:absolute;left:0;right:0;top:74px;z-index:30;box-shadow:var(--shadow)}.purchase-lines-wrap{margin-top:14px}.purchase-lines{min-width:1120px}.purchase-lines td{vertical-align:top}.purchase-lines td:first-child{min-width:250px}.purchase-lines input,.purchase-lines select{min-width:105px}.purchase-lines td:first-child select{margin-top:7px;min-width:220px}.purchase-lot-cell{min-width:190px}.purchase-lot-cell input{margin-bottom:6px;min-width:170px}.purchase-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;overflow:hidden}.purchase-summary>div{padding:16px 18px;border-right:1px solid var(--line)}.purchase-summary>div:last-child{border-right:0}.purchase-summary span,.purchase-totals-detail span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;font-weight:800}.purchase-summary strong{display:block;font-size:1.22rem;margin-top:5px}.purchase-summary .purchase-grand{background:#f0fdfa}.purchase-summary .purchase-grand strong{font-size:1.45rem;color:var(--accent2)}.purchase-submit{justify-content:flex-end;margin-bottom:22px}.purchase-submit .btn{max-width:440px}.purchase-overview{grid-template-columns:repeat(4,minmax(0,1fr))}.purchase-totals-detail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.purchase-totals-detail>div{border:1px solid var(--line);border-radius:11px;padding:12px;background:#f8fafc}.purchase-totals-detail strong{display:block;font-size:1.15rem;margin-top:5px}.danger-zone{border-color:#fecaca}.danger-zone h2{color:#991b1b}
@media(max-width:820px){.purchase-summary,.purchase-overview,.purchase-totals-detail{grid-template-columns:1fr 1fr}.purchase-summary>div:nth-child(2){border-right:0}.purchase-summary>div{border-bottom:1px solid var(--line)}.purchase-summary>div:nth-last-child(-n+2){border-bottom:0}.purchase-submit .btn{max-width:none}}
@media(max-width:520px){.purchase-summary,.purchase-overview,.purchase-totals-detail{grid-template-columns:1fr}.purchase-summary>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.purchase-summary>div:last-child{border-bottom:0!important}}

/* v3.8.0 - Cuentas por Pagar + endurecimiento modular */
.ap-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.ap-toolbar select{max-width:190px}.ap-inline-payment{padding:0;border:0;background:transparent;box-shadow:none}.ap-payment-lines input{min-width:125px}.ap-payment-total{text-align:right}.ap-payment-total span{display:block;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.ap-payment-total strong{display:block;font-size:1.55rem;margin-top:5px;color:var(--accent2)}.ap-purchase-status .mini-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
@media(max-width:820px){.ap-overview,.ap-purchase-status .mini-metrics{grid-template-columns:1fr 1fr}.ap-toolbar select{max-width:none}}
@media(max-width:520px){.ap-overview,.ap-purchase-status .mini-metrics{grid-template-columns:1fr}}

/* v3.8.1 - diferenciación visual discreta de resultados POS (tablet-first) */
.product-tile{
  --tile-accent:var(--accent);
  --tile-wash:#f8fafc;
  border-left:4px solid var(--tile-accent);
  background:linear-gradient(90deg,var(--tile-wash) 0,#fff 58%);
  transition:border-color .14s ease,box-shadow .14s ease,background .14s ease,transform .08s ease;
}
.product-tile span{color:var(--tile-accent)}
.product-tile.product-tone-0{--tile-accent:#0f766e;--tile-wash:#f0fdfa}
.product-tile.product-tone-1{--tile-accent:#2563eb;--tile-wash:#eff6ff}
.product-tile.product-tone-2{--tile-accent:#7c3aed;--tile-wash:#f5f3ff}
.product-tile.product-tone-3{--tile-accent:#c2410c;--tile-wash:#fff7ed}
.product-tile.product-tone-4{--tile-accent:#be123c;--tile-wash:#fff1f2}
.product-tile.product-tone-5{--tile-accent:#4d7c0f;--tile-wash:#f7fee7}
.product-tile:hover{border-color:var(--tile-accent);background:var(--tile-wash)}
.product-tile:focus-visible{outline:3px solid rgba(15,118,110,.18);outline-offset:2px}
.product-tile:active:not(:disabled){transform:scale(.99)}
@media(hover:hover){.product-tile:hover:not(:disabled){box-shadow:0 5px 14px rgba(15,23,42,.09)}}
@media(max-width:920px){.product-tile{min-height:96px}}
@media(max-width:720px){.product-tile{min-height:88px;padding:10px 11px}.product-tile strong{font-size:.96rem}.product-tile span{font-size:1.04rem}}
@media(max-width:430px){.product-tile{min-height:78px}}


/* v3.8.2 - feedback discreto de cantidad/stock en carrito POS */
.pos-cart-notice{margin:10px 0 2px;padding:9px 11px;border-radius:9px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a5f;font-size:.86rem;font-weight:700}
.pos-cart-notice.warning{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.pos-cart-notice[hidden]{display:none!important}
@media(max-width:720px){.pos-cart-notice{font-size:.82rem;padding:8px 9px;margin-top:8px}}

/* v3.8.5 · Entrada multi-lote de Farmacia */
.entry-lot-panel{border-top:1px solid var(--line);padding-top:16px;margin-top:4px}.entry-lot-head{align-items:center}.entry-lot-table{min-width:760px;width:100%}.entry-lot-table th,.entry-lot-table td{vertical-align:top}.entry-lot-table input{min-width:145px}.entry-lot-table td:first-child input{min-width:120px}.entry-lot-table td:last-child{width:90px}.entry-lot-summary{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.entry-lot-summary span{font-size:.78rem;text-transform:uppercase;font-weight:800;color:var(--muted)}.entry-lot-summary strong{font-size:1.08rem}.entry-lot-summary small{flex-basis:100%;margin:0}.entry-lot-panel .alert.warning{margin-bottom:12px}
@media(max-width:760px){.entry-lot-head{align-items:flex-start;flex-direction:column}.entry-lot-head .btn{width:100%}.entry-lot-table{min-width:680px}}

/* v3.8.6 · rendimiento visual, paginación compacta, selectores y modales responsivos */
.pagination{flex-wrap:wrap;align-items:center}.pagination-ellipsis{padding:8px 4px;color:var(--muted);font-weight:800}.supplier-search{position:relative;min-width:0}.supplier-search .search-results{position:absolute;left:0;right:0;top:calc(100% + 5px);box-shadow:0 12px 28px rgba(15,23,42,.14);max-height:300px;z-index:35}.supplier-search .empty{padding:11px}.app-confirm-dialog{border:0;padding:0;border-radius:16px;width:min(520px,calc(100vw - 28px));box-shadow:0 24px 70px rgba(15,23,42,.34);background:transparent}.app-confirm-dialog::backdrop{background:rgba(15,23,42,.56)}.app-confirm-card{background:#fff;border-radius:16px;padding:22px;margin:0}.app-confirm-card h2{margin:0 0 9px}.app-confirm-card p{margin:0 0 20px;line-height:1.55;white-space:pre-line}.app-confirm-card .actions{justify-content:flex-end}.table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.toolbar{flex-wrap:wrap}.toolbar>*{min-width:0}
@media(max-width:760px){.pagination{justify-content:flex-start;overflow-x:auto;padding-bottom:4px;flex-wrap:nowrap}.pagination a,.pagination-ellipsis{flex:0 0 auto}.supplier-search .search-results{position:absolute;left:0;right:0;top:calc(100% + 5px);max-height:min(46vh,340px)}.app-confirm-card{padding:18px}.app-confirm-card .actions{display:grid;grid-template-columns:1fr 1fr}.app-confirm-card .btn{width:100%}.purchase-header .supplier-search{width:100%}}
@media(max-width:480px){.app-confirm-card .actions{grid-template-columns:1fr}.pagination{margin-left:-4px;margin-right:-4px}.table-wrap.card{border-radius:12px}.page-head .actions{width:100%}.page-head .actions .btn{flex:1 1 140px}}

.app-confirm-card [data-confirm-message]{white-space:pre-line;overflow-wrap:anywhere}

/* v3.8.7 · home comercial, login simplificado, soporte contextual y suscripción */
.company-slug-note{border:1px dashed #cbd5e1;border-radius:12px;padding:11px 12px;background:#f8fafc;align-self:end}.company-slug-note strong{display:block;font-size:.9rem}.company-slug-note small{margin-top:3px}
.home-login-bg{min-height:100vh;padding:clamp(18px,4vw,54px);background:radial-gradient(circle at 12% 10%,#d9f4f0 0,transparent 34%),linear-gradient(145deg,#edf8f7,#f8fafc 56%,#e6f2ff);display:grid;place-items:center}.home-login-shell{width:min(1420px,100%);min-height:min(760px,calc(100vh - 64px));display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.82fr);border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 28px 90px rgba(15,23,42,.18);border:1px solid rgba(148,163,184,.25)}.home-showcase{position:relative;overflow:hidden;padding:clamp(34px,5vw,68px);color:#fff;background:linear-gradient(145deg,#0f766e,#0d5f7a 62%,#164e63)}.home-showcase:before,.home-showcase:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:34px;transform:rotate(-12deg);pointer-events:none}.home-showcase:before{width:260px;height:260px;right:-80px;top:-76px}.home-showcase:after{width:170px;height:170px;right:20px;bottom:-55px}.home-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);border-radius:999px;font-weight:800;font-size:.82rem}.home-showcase h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:.98;letter-spacing:-.045em;margin:28px 0 16px;max-width:800px}.home-lead{max-width:760px;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7;color:#e6fffb;margin:0 0 28px}.home-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-feature-grid article{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid rgba(255,255,255,.14);background:rgba(5,46,52,.22);border-radius:15px}.home-feature-grid article>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.1);flex:0 0 auto}.home-feature-grid strong{display:block;font-size:.92rem}.home-feature-grid small{color:#d8f8f4;font-size:.76rem;line-height:1.42;margin-top:3px}.home-contact-block{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16)}.home-contact-block p{margin:0 0 9px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#bcece6}.home-contact-actions{display:flex;gap:10px;flex-wrap:wrap}.home-contact-actions a{display:flex;gap:7px;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(255,255,255,.07);font-size:.78rem}.home-contact-actions strong{color:#fff}.home-login-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,5vw,76px);position:relative}.home-brand-lockup{display:flex;align-items:center;gap:11px;margin-bottom:44px}.home-brand-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#ecfdf5;font-size:1.3rem}.home-brand-lockup strong{display:block;color:#0f766e;font-size:1.35rem}.home-brand-lockup small{font-size:.76rem}.home-login-copy>span{font-size:.72rem;letter-spacing:.11em;color:#0f766e;font-weight:900}.home-login-copy h2{font-size:clamp(2rem,3vw,2.7rem);margin:8px 0 5px;letter-spacing:-.035em}.home-login-copy p{margin:0 0 25px;color:var(--muted)}.home-login-form label{display:flex;flex-direction:column;gap:7px;margin:15px 0;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:#475569}.home-login-form input{padding:14px 15px;border-radius:12px}.home-login-button{width:100%;padding:14px 17px;margin-top:5px;justify-content:space-between;font-size:1rem}.home-login-security{text-align:center;font-size:.78rem;color:#64748b;margin-top:16px}.home-admin-link{margin-top:28px;text-align:center;color:#64748b;font-size:.78rem;text-decoration:underline;text-underline-offset:3px}.admin-login-bg{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(145deg,#0f172a,#134e4a)}.admin-login-shell{width:min(460px,100%)}.admin-login-card{width:100%}.admin-login-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#ecfdf5;font-size:1.4rem;margin-bottom:14px}.admin-back-link{display:block;text-align:center;margin-top:18px;color:#64748b;font-size:.84rem}
.commercial-agent{position:fixed;right:22px;bottom:20px;z-index:80}.commercial-agent-launcher,.support-launcher{border:0;cursor:pointer;background:#0f766e;color:#fff;box-shadow:0 12px 30px rgba(15,23,42,.24)}.commercial-agent-launcher{width:58px;height:58px;border-radius:50%;font-size:1.4rem}.commercial-agent-panel{position:absolute;right:0;bottom:70px;width:min(360px,calc(100vw - 28px));background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 22px 55px rgba(15,23,42,.25);overflow:hidden}.commercial-agent-head,.support-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px;background:#0f172a;color:#fff}.commercial-agent-head strong,.support-head strong{display:block}.commercial-agent-head small,.support-head small{color:#cbd5e1}.commercial-agent-head button,.support-head button{border:0;background:transparent;color:#fff;font-size:1.5rem;cursor:pointer}.commercial-agent-message{padding:15px 16px 8px}.commercial-agent-message p{margin:6px 0 0;color:#64748b;line-height:1.5}.commercial-agent-options{display:grid;gap:7px;padding:8px 12px}.commercial-agent-options button{border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:10px 11px;text-align:left;cursor:pointer;font:inherit;color:#334155}.commercial-agent-options button:hover{border-color:#99f6e4;background:#f0fdfa}.commercial-agent-whatsapp{margin:10px 12px 14px;width:calc(100% - 24px)}
.subscription-alert{display:flex;justify-content:space-between;align-items:center;gap:14px}.subscription-info-button{flex:0 0 auto}.subscription-modal{border:0;padding:0;background:transparent;width:min(590px,calc(100vw - 28px));border-radius:20px;box-shadow:0 28px 80px rgba(15,23,42,.32)}.subscription-modal::backdrop{background:rgba(15,23,42,.6)}.subscription-modal-card{position:relative;background:#fff;padding:30px;border-radius:20px}.subscription-modal-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:#f1f5f9;color:#475569;font-size:1.4rem;cursor:pointer}.subscription-modal-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:#fff7ed;font-size:1.5rem;margin-bottom:16px}.subscription-modal-kicker{font-size:.72rem;font-weight:900;letter-spacing:.09em;color:#b45309}.subscription-modal-card h2{font-size:1.65rem;margin:7px 0 10px}.subscription-modal-card p{line-height:1.6;color:#475569}.subscription-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.subscription-modal-actions>:last-child{grid-column:1/-1}
.support-assistant{position:fixed;right:22px;bottom:20px;z-index:70}.support-launcher{min-width:92px;height:48px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;font-weight:800}.support-panel{position:absolute;right:0;bottom:60px;width:min(410px,calc(100vw - 28px));max-height:min(690px,calc(100vh - 100px));overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 22px 55px rgba(15,23,42,.25)}.support-context{margin:14px 14px 8px;padding:10px 11px;border-radius:10px;background:#ecfdf5;color:#115e59;font-size:.83rem;line-height:1.45}.support-search-label{display:flex;flex-direction:column;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:800;color:#475569}.support-search-label input{padding:10px}.support-topics{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:8px 14px}.support-topics button{border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:10px;text-align:left;cursor:pointer;color:#334155;font:inherit;font-size:.84rem}.support-topics button:hover{background:#f0fdfa;border-color:#99f6e4}.support-answer{margin:8px 14px 14px;padding:14px;border:1px solid #ccfbf1;background:#f0fdfa;border-radius:12px}.support-answer>strong{display:block;color:#115e59;margin-bottom:8px}.support-answer ol{margin:0 0 12px;padding-left:20px;color:#334155}.support-answer li{margin:6px 0;line-height:1.4}.support-go{width:100%}.support-contact{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;border-top:1px solid var(--line);font-size:.78rem}.support-contact span{flex-basis:100%;color:#64748b}.support-contact a{font-weight:800;color:#0f766e}
@media(max-width:980px){.home-login-shell{grid-template-columns:1fr 430px}.home-showcase{padding:38px}.home-feature-grid{grid-template-columns:1fr}.home-feature-grid article:nth-child(n+5){display:none}.home-login-panel{padding:38px}.home-showcase h1{font-size:2.8rem}}
@media(max-width:760px){.home-login-bg{padding:0;background:#f8fafc;display:block}.home-login-shell{min-height:100vh;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column}.home-login-panel{order:-1;padding:30px 20px 26px}.home-brand-lockup{margin-bottom:26px}.home-showcase{padding:30px 20px 90px}.home-showcase h1{font-size:2.25rem}.home-feature-grid{grid-template-columns:1fr 1fr}.home-feature-grid article{padding:11px}.home-feature-grid article:nth-child(n+5){display:flex}.home-feature-grid small{display:none}.home-contact-actions{display:grid;grid-template-columns:1fr}.commercial-agent{right:14px;bottom:14px}.subscription-alert{align-items:flex-start;flex-direction:column}.subscription-modal-actions{grid-template-columns:1fr}.subscription-modal-actions>:last-child{grid-column:auto}.subscription-modal-card{padding:24px 18px}.support-assistant{right:12px;bottom:12px}.support-launcher{min-width:50px;width:50px;padding:0}.support-launcher span{display:none}.support-panel{right:0;bottom:58px;max-height:78vh}.support-topics{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.home-feature-grid{grid-template-columns:1fr}.home-showcase h1{font-size:2rem}.home-login-copy h2{font-size:2rem}.home-login-panel{padding-top:24px}.support-topics{grid-template-columns:1fr}.support-panel{width:calc(100vw - 20px);right:-2px}.commercial-agent-panel{right:-2px}.company-slug-note{grid-column:1/-1}}
.legacy-login-hint{padding:9px 11px;border-radius:10px;background:#eff6ff;color:#1e3a8a;font-size:.78rem;font-weight:800;margin-bottom:8px}

/* v3.8.8 · gestión centralizada de empresas */
.company-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}.company-filter-tabs{display:flex;gap:7px;flex-wrap:wrap}.company-filter-tabs a{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#475569;font-weight:750}.company-filter-tabs a span{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 6px;border-radius:999px;background:#f1f5f9;font-size:.76rem}.company-filter-tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}.company-filter-tabs a.active span{background:rgba(255,255,255,.16);color:#fff}.company-search{display:flex;gap:8px;align-items:center;min-width:min(520px,100%)}.company-search input{min-width:260px}.company-list-table .btn.small{min-height:34px}.company-manage-back{margin-bottom:7px}.company-manage-back a{color:var(--accent);font-weight:800;font-size:.84rem}.company-manage-actions{display:flex;gap:8px;flex-wrap:wrap}.company-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.company-summary-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:var(--shadow);min-width:0}.company-summary-card span{display:block;color:#64748b;font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.company-summary-card strong{display:block;margin-top:7px;font-size:1.1rem;overflow:hidden;text-overflow:ellipsis}.company-summary-card small{overflow:hidden;text-overflow:ellipsis}.company-manage-tabs{position:sticky;top:68px;z-index:10;display:flex;gap:6px;overflow:auto;padding:8px;margin:0 0 16px;border:1px solid var(--line);border-radius:13px;background:rgba(245,247,251,.94);backdrop-filter:blur(8px)}.company-manage-tabs a{white-space:nowrap;padding:8px 10px;border-radius:8px;background:#fff;border:1px solid var(--line);font-size:.84rem;font-weight:750;color:#475569}.company-manage-tabs a:hover{border-color:#99f6e4;color:#0f766e}.company-section{scroll-margin-top:128px}.company-subscription-current{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.company-subscription-current>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fafc}.company-subscription-current span{display:block;color:#64748b;font-size:.76rem}.company-subscription-current strong{display:block;margin-top:5px;font-size:.92rem}.company-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.company-action-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.company-mini-form{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:13px;padding:14px;background:#f8fafc}.company-mini-form h3{margin:0;font-size:1rem}.company-mini-form p{margin:0}.company-mini-form label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;font-weight:750}.company-inline-fields{display:grid;grid-template-columns:1.4fr .6fr;gap:8px}.company-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}.company-module-item{border:1px solid var(--line);border-radius:11px;padding:11px;background:#f8fafc;align-items:flex-start!important}.company-module-item span{min-width:0}.company-module-item strong{display:block}.company-module-readonly{display:flex;flex-wrap:wrap;gap:7px}.company-user-meter{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#ecfdf5;color:#115e59;font-weight:850;font-size:.82rem}.company-user-form{margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#f8fafc}.company-users-table{border:1px solid var(--line);border-radius:12px}.company-db-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}.company-db-grid>div{border:1px solid var(--line);border-radius:12px;padding:13px;background:#f8fafc}.company-db-grid dt{color:#64748b;font-size:.76rem;font-weight:800;text-transform:uppercase}.company-db-grid dd{margin:6px 0 0;font-weight:800;overflow-wrap:anywhere}.company-link-card{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#f8fafc}.company-link-card:hover{border-color:#99f6e4;background:#f0fdfa}.company-link-card strong{color:#0f766e}.company-link-card span{color:#64748b;font-size:.82rem;line-height:1.45}
@media(max-width:1100px){.company-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-action-grid{grid-template-columns:1fr 1fr}.company-module-grid{grid-template-columns:1fr 1fr}.company-db-grid{grid-template-columns:1fr 1fr}.company-subscription-current{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.company-list-toolbar{align-items:stretch;flex-direction:column}.company-search{min-width:0;width:100%;flex-wrap:wrap}.company-search input{min-width:0;flex:1 1 220px}.company-manage-actions{width:100%}.company-manage-actions .btn{flex:1 1 auto}.company-manage-tabs{top:60px;margin-left:-6px;margin-right:-6px}.company-action-grid,.company-action-grid.compact,.company-module-grid{grid-template-columns:1fr}.company-db-grid{grid-template-columns:1fr 1fr}.company-section{scroll-margin-top:118px}}
@media(max-width:480px){.company-summary-grid,.company-subscription-current,.company-db-grid{grid-template-columns:1fr}.company-filter-tabs{display:grid;grid-template-columns:1fr 1fr}.company-filter-tabs a{justify-content:space-between}.company-inline-fields{grid-template-columns:1fr}.company-search .btn{flex:1 1 auto}}
.company-renew-modules{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff}.company-renew-modules summary{cursor:pointer;font-weight:800;font-size:.82rem;color:#475569}.company-renew-modules p{margin:8px 0}.company-renew-module-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}.company-renew-module-list .check{font-size:.78rem;font-weight:650}
@media(max-width:480px){.company-renew-module-list{grid-template-columns:1fr}}

/* v3.8.9 · retoque visual ligero, consistente y responsive */
:root{--bg:#f4f7fb;--card:#fff;--line:#dfe6ee;--shadow:0 8px 24px rgba(15,23,42,.055);--shadow-soft:0 3px 12px rgba(15,23,42,.045)}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.topbar{background:linear-gradient(110deg,#0f172a,#111c31 72%,#102c2b);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 5px 18px rgba(15,23,42,.08)}.sidebar{background:linear-gradient(180deg,#111827,#0f172a);border-right:1px solid rgba(148,163,184,.08)}.sidebar a,.logout-form button{transition:background-color .15s ease,color .15s ease,border-color .15s ease}.sidebar a:hover,.logout-form button:hover{background:#1d2939;color:#fff}.sidebar .primary-nav{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.content{padding:clamp(16px,2.2vw,28px)}.card,.stat,.summary-card,.company-summary-card{border-color:#e3e9f0;box-shadow:var(--shadow)}.card{border-radius:17px}.stat{border-radius:15px}.stat strong{letter-spacing:-.025em}.btn{border:1px solid transparent;box-shadow:0 2px 7px rgba(15,118,110,.10);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.btn:hover{box-shadow:0 5px 13px rgba(15,118,110,.14)}.btn.secondary{box-shadow:none;border-color:#d8e0e8;background:#f1f5f9}.btn.secondary:hover{background:#e7edf3}.btn:focus-visible,.link-button:focus-visible,.sidebar a:focus-visible,.logout-form button:focus-visible{outline:3px solid rgba(45,212,191,.28);outline-offset:2px}input,select,textarea{border-color:#cfd8e3;background:#fff;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}input:hover,select:hover,textarea:hover{border-color:#b8c6d5}input:focus,select:focus,textarea:focus{background:#fff;border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.105)}table tbody tr{transition:background-color .12s ease}table tbody tr:hover td{background:#fbfdfd}th{background:#f7f9fc;color:#526173}.alert{border:1px solid transparent}.alert.success{border-color:#bbf7d0}.alert.error{border-color:#fecaca}.alert.info{border-color:#c7defa}.pagination a{box-shadow:var(--shadow-soft);transition:border-color .15s ease,background-color .15s ease}.pagination a:hover{border-color:#a7d9d2;background:#f0fdfa}
.home-login-bg{background:radial-gradient(circle at 8% 6%,#d7f1ee 0,transparent 31%),radial-gradient(circle at 94% 86%,#dcecff 0,transparent 27%),linear-gradient(145deg,#f2f8f8,#f8fafc 54%,#eef5fb)}.home-login-shell{border-radius:30px;box-shadow:0 24px 72px rgba(15,23,42,.16);border-color:rgba(148,163,184,.22)}.home-showcase{background:linear-gradient(145deg,#0b6f68 0,#0d6473 56%,#164e63 100%)}.home-showcase:before{background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.06),transparent 62%)}.home-badge{background:rgba(255,255,255,.09);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}.home-showcase h1{text-wrap:balance}.home-feature-grid article{background:rgba(5,46,52,.20);border-color:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.home-feature-grid article>span{background:rgba(255,255,255,.11)}.home-trust-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.home-trust-row span{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.13);font-size:.73rem;font-weight:800;color:#e6fffb}.home-contact-actions a{transition:background-color .15s ease,border-color .15s ease}.home-contact-actions a:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}.home-login-panel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(transparent,#dce5ec 18%,#dce5ec 82%,transparent)}.home-brand-icon{border:1px solid #d7f4ea;box-shadow:0 7px 18px rgba(15,118,110,.08)}.home-login-form input{background:#fbfdff}.home-login-button{box-shadow:0 10px 22px rgba(15,118,110,.18)}.home-login-button:hover{box-shadow:0 13px 28px rgba(15,118,110,.22)}.home-login-security{padding-top:2px}.commercial-agent-launcher,.support-launcher{background:linear-gradient(135deg,#0f766e,#0d6473);box-shadow:0 12px 28px rgba(15,23,42,.20);transition:transform .15s ease,box-shadow .15s ease}.commercial-agent-launcher:hover,.support-launcher:hover{transform:translateY(-1px);box-shadow:0 15px 32px rgba(15,23,42,.24)}.commercial-agent-panel,.support-panel{border-color:#dce5ec;box-shadow:0 20px 52px rgba(15,23,42,.20)}.commercial-agent-head,.support-head{background:linear-gradient(110deg,#0f172a,#14313a)}.commercial-agent-options button,.support-topics button{transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.commercial-agent-options button:hover,.support-topics button:hover{transform:translateY(-1px)}.support-context{border:1px solid #ccfbf1}.support-contact{background:#fbfcfe}.subscription-modal-card{border:1px solid #e7ebf0}.company-manage-tabs{box-shadow:0 4px 16px rgba(15,23,42,.04)}
@media(max-width:760px){.home-login-panel:before{display:none}.home-login-panel{border-bottom:1px solid #e7edf2}.home-trust-row{gap:6px}.home-trust-row span{font-size:.7rem}.topbar{box-shadow:0 3px 12px rgba(15,23,42,.08)}.content{padding:14px}.commercial-agent-launcher,.support-launcher{box-shadow:0 8px 20px rgba(15,23,42,.18)}}
@media(prefers-reduced-motion:reduce){.btn,.sidebar a,.logout-form button,.commercial-agent-launcher,.support-launcher,.commercial-agent-options button,.support-topics button,.pagination a{transition:none!important}}
/* v3.8.10 · Gestión de suscripciones */
.status.warning{background:#fef3c7;color:#92400e}.subscription-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.subscription-overview-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow);min-width:0}.subscription-overview-card span{display:block;color:#64748b;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.subscription-overview-card strong{display:block;margin-top:6px;font-size:1.55rem;letter-spacing:-.035em}.subscription-overview-card small{display:block;margin-top:5px;line-height:1.4;color:#64748b}.subscription-overview-card.warning{border-color:#fde68a;background:linear-gradient(180deg,#fff,#fffbeb)}.subscription-overview-card.grace{border-color:#bfdbfe;background:linear-gradient(180deg,#fff,#eff6ff)}.subscription-overview-card.danger{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff1f2)}.subscription-alert-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.subscription-status-section{min-width:0}.subscription-status-section .section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.subscription-status-section .section-head h2{margin:0}.compact-table table{min-width:650px}.subscription-create-card{scroll-margin-top:90px}.subscription-date-preview{display:flex;flex-direction:column;justify-content:center;border:1px solid #bfdbfe;background:#eff6ff;border-radius:12px;padding:11px 13px;min-height:72px}.subscription-date-preview span{color:#64748b;font-size:.76rem;font-weight:800;text-transform:uppercase}.subscription-date-preview strong{margin-top:4px;font-size:1rem;color:#0f172a}.subscription-date-preview small{margin-top:3px;color:#475569}.subscription-date-preview.compact{min-height:auto;padding:10px;background:#f8fafc;border-color:var(--line)}.subscription-company-search{margin-bottom:14px}.subscription-company-search input{min-width:min(420px,100%)}.subscription-history-summary{margin-bottom:16px}
@media(max-width:1100px){.subscription-overview-grid{grid-template-columns:1fr 1fr}.subscription-alert-grid{grid-template-columns:1fr}}
@media(max-width:620px){.subscription-overview-grid{grid-template-columns:1fr}.subscription-company-search{align-items:stretch}.subscription-company-search input{min-width:0;width:100%}.subscription-status-section .section-head{align-items:center}}

/* Recargas y Servicios */
.service-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.service-charge-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.service-charge-preview>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.service-charge-preview span{display:block;color:var(--muted);font-size:.82rem}.service-charge-preview strong{display:block;margin-top:5px;font-size:1.35rem}.service-charge-preview .service-preview-total{background:#ecfdf5;border-color:#a7f3d0}.service-catalog-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(420px,1.3fr);gap:18px}.service-checks{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.service-read-grid>div{padding:10px 0}.service-read-grid strong{display:block;margin-top:4px}.service-finance-stats{margin:10px 0 0}.service-report-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.service-catalog-grid{grid-template-columns:1fr}.service-charge-preview,.service-report-stats,.service-finance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.service-stats,.service-charge-preview,.service-report-stats,.service-finance-stats{grid-template-columns:1fr}}

/* v3.9.1 · cobros multiforma + panel operativo touch */
.payment-dialog{border:0;padding:0;background:transparent;width:min(980px,calc(100% - 24px));max-width:none}.payment-dialog::backdrop{background:rgba(15,23,42,.55);backdrop-filter:blur(2px)}.payment-card{background:#f8fbfd;border:1px solid #dbe4ec;border-radius:22px;box-shadow:0 24px 70px rgba(15,23,42,.28);overflow:hidden}.payment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 14px;background:#eaf7fb;border-bottom:1px solid #d5e4eb}.payment-head h2{margin:2px 0 0}.payment-close{border:0;background:transparent;font-size:1.8rem;line-height:1;cursor:pointer;color:#475569}.payment-total-line{display:flex;justify-content:center;align-items:baseline;gap:8px;padding:22px 18px 8px;font-size:1.35rem;color:#94a3b8}.payment-total-line strong{font-size:2rem;color:#334155}.payment-step-label{text-align:center;color:#94a3b8;text-transform:uppercase;font-weight:800;letter-spacing:.04em;margin:0 18px 16px;padding-bottom:10px;border-bottom:1px solid #d9e2ea}.payment-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:14px 18px 24px}.payment-method-grid button{min-height:128px;border:1px solid #d8e1e9;border-radius:14px;background:#fff;box-shadow:0 5px 14px rgba(15,23,42,.08);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#475569;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.payment-method-grid button:hover{transform:translateY(-2px);border-color:#86cfc7;box-shadow:0 9px 20px rgba(15,23,42,.1)}.payment-method-grid button>span{font-size:2rem}.payment-method-grid button>strong{text-transform:uppercase;font-size:1.05rem}.payment-method-grid .payment-method-mixed{grid-column:1/-1}.payment-detail{padding:18px 22px 22px}.payment-single,.payment-mixed{background:#fff;border:1px solid #dfe6ee;border-radius:16px;padding:18px}.payment-readout{display:flex;flex-direction:column;justify-content:center;border:1px solid #dfe6ee;background:#f8fafc;border-radius:10px;padding:10px 12px}.payment-readout span{font-size:.78rem;color:#64748b}.payment-readout strong{font-size:1.25rem;margin-top:4px}.payment-mixed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.payment-mixed-grid section{border:1px solid #dfe6ee;border-radius:13px;padding:14px;background:#fbfdff}.payment-mixed-grid h3{margin:0 0 12px}.payment-mixed-grid label{display:flex;flex-direction:column;gap:5px;margin-top:9px;font-weight:650;font-size:.86rem}.payment-mixed-summary{display:flex;justify-content:flex-end;gap:24px;margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0}.payment-mixed-summary span{color:#64748b}.payment-mixed-summary strong{color:#0f172a;margin-left:5px}.payment-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.payment-error{margin:14px 0 0}.payment-summary-list{display:grid;gap:0}.payment-summary-list>div{display:flex;justify-content:space-between;gap:16px;padding:11px 2px;border-bottom:1px solid #e8edf2}.payment-summary-list>div:last-child{border-bottom:0}.payment-summary-list>div>span:last-child{text-align:right}.payment-open{margin-top:12px}
.operator-dashboard{max-width:1180px;margin:0 auto}.operator-head{align-items:stretch;margin-bottom:18px}.operator-cash-state{min-width:190px;border:1px solid #dfe6ee;background:#fff;border-radius:16px;padding:13px 16px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow)}.operator-cash-state span{font-size:.8rem;color:#64748b;font-weight:800;text-transform:uppercase}.operator-cash-state strong{font-size:1.18rem;margin-top:4px}.operator-cash-state.is-open{border-color:#bbf7d0;background:#f0fdf4}.operator-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.operator-action{min-height:155px;background:#fff;border:1px solid #dfe6ee;border-radius:20px;box-shadow:0 9px 25px rgba(15,23,42,.07);padding:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.operator-action:hover{transform:translateY(-2px);border-color:#9bd5cf;box-shadow:0 13px 30px rgba(15,23,42,.10)}.operator-action-primary{background:linear-gradient(145deg,#0f766e,#0d6473);color:#fff;border-color:transparent}.operator-action-primary small{color:#d7f5f2}.operator-icon{font-size:2.2rem;line-height:1}.operator-action strong{font-size:1.35rem}.operator-action small{font-size:.88rem}
@media(max-width:760px){.payment-method-grid{grid-template-columns:1fr 1fr;gap:10px}.payment-method-grid .payment-method-mixed{grid-column:1/-1}.payment-method-grid button{min-height:110px}.payment-mixed-grid{grid-template-columns:1fr}.payment-detail{padding:14px}.operator-head{flex-direction:column}.operator-cash-state{min-width:0}.operator-actions{grid-template-columns:1fr 1fr;gap:12px}.operator-action{min-height:135px;padding:16px}.operator-action strong{font-size:1.1rem}}
@media(max-width:480px){.payment-method-grid{grid-template-columns:1fr}.payment-method-grid .payment-method-mixed{grid-column:auto}.payment-actions{flex-direction:column-reverse}.payment-actions .btn{width:100%}.operator-actions{grid-template-columns:1fr}.operator-action{min-height:118px}}

/* v3.9.2 — flujo de Caja orientado a turno/cajero y controles touch */
.cash-start-card{max-width:900px}.cash-start-card .cash-primary-action{min-height:50px;font-size:1.02rem}.cash-disabled-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.cash-disabled-actions .card{opacity:.78}.cash-movement-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.cash-action-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.cash-action-title h2,.cash-action-title h3{margin:0}.cash-action-title p{margin:.25rem 0 0}.cash-action-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:1.25rem;flex:0 0 auto}.cash-action-icon.income{background:#ecfdf5}.cash-action-icon.expense{background:#fff7ed}.cash-action-icon.close{background:#eff6ff}.cash-close-card{margin-top:18px}.cash-close-form{align-items:end}.cash-close-preview{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#f8fafc;display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center}.cash-close-preview span{color:var(--muted);font-size:.83rem;text-transform:uppercase;font-weight:800}.cash-close-preview strong{font-size:1.45rem;justify-self:end}.cash-close-preview small{grid-column:1/-1}.cash-focus{outline:3px solid rgba(13,148,136,.18);border-color:#5eead4!important;scroll-margin-top:90px}.operator-cash-state .btn{margin-top:9px;align-self:flex-start}.operator-action-cash{border-color:#bfdbfe;background:#f8fbff}.operator-action-compact{min-height:125px}.operator-cash-warning{margin-bottom:16px}
@media(max-width:900px){.cash-disabled-actions{grid-template-columns:1fr}.cash-movement-grid{grid-template-columns:1fr}}
@media(max-width:600px){.cash-close-preview{grid-template-columns:1fr}.cash-close-preview strong{justify-self:start}.cash-close-preview small{grid-column:auto}.cash-action-title{align-items:center}}
.cash-session-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.cash-session-meta>span{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:3px}.cash-session-meta small{color:var(--muted);font-weight:800;text-transform:uppercase}.cash-session-meta em{font-size:.8rem;color:var(--muted);font-style:normal}.cash-session-detail{margin-bottom:18px}@media(max-width:900px){.cash-session-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.cash-session-meta{grid-template-columns:1fr}}

/* v3.9.3 — navegación de Caja y arqueo rápido */
.sidebar .nav-group{display:flex;flex-direction:column;gap:3px}.sidebar .nav-group-main{font-weight:750}.sidebar .nav-submenu{display:flex;flex-direction:column;gap:2px;margin:-1px 0 4px 16px;padding-left:8px;border-left:1px solid rgba(148,163,184,.22)}.sidebar .nav-submenu a{font-size:.82rem;padding:7px 9px;color:#cbd5e1;border-radius:8px}.sidebar .nav-submenu a:hover{color:#fff;background:#1f2937}.cash-check-card{margin-top:18px;border-color:#c7d2fe;background:linear-gradient(180deg,#fff,#fbfcff)}.cash-action-icon.check{background:#eef2ff}.cash-check-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.cash-check-result>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.cash-check-result span{display:block;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.cash-check-result strong{display:block;margin-top:4px;font-size:1.2rem}.cash-check-note{font-size:.84rem;color:var(--muted)}
@media(max-width:820px){.cash-check-result{grid-template-columns:1fr}.sidebar .nav-submenu{margin-left:12px}.sidebar .nav-submenu a{min-height:40px}}
/* v3.9.5 — entrega formal de Caja y responsabilidad por turno */
.cash-handover-card{margin-top:18px;border-color:#bfdbfe;background:linear-gradient(180deg,#fff,#f8fbff)}.cash-action-icon.handover{background:#eff6ff}.cash-responsibility-alert{margin:16px 0}.cash-handover-summary{border-color:#bfdbfe}.cash-operator-options{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:780px){.cash-operator-options{grid-template-columns:1fr}.cash-handover-card .form-grid{grid-template-columns:1fr}.cash-handover-card .span-2{grid-column:1}}

/* v3.9.6 — identidad eFactPOS + separación visual Administración / Punto de Venta */
body.theme-admin{
  --accent:#cf1737;
  --accent2:#a90f2b;
  --accent-soft:#fff1f3;
  --accent-border:#fecdd3;
  --focus-ring:0 0 0 3px rgba(207,23,55,.14);
  --bg:#f6f7fa;
}
body.theme-pos{
  --accent:#1268d6;
  --accent2:#0b4ca8;
  --accent-soft:#edf5ff;
  --accent-border:#bfdbfe;
  --focus-ring:0 0 0 3px rgba(18,104,214,.15);
  --bg:#eef4fb;
}
.app-brand-logo{display:block;width:104px;height:52px;object-fit:contain}.brand{min-width:122px;height:50px;padding:2px 9px;border-radius:12px;background:#fff;border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 14px rgba(15,23,42,.10)}
.topuser{display:flex;align-items:center;gap:10px}.topuser>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-top-logo{width:34px;height:34px;object-fit:contain;border-radius:8px;background:#fff;border:1px solid rgba(148,163,184,.28);padding:3px}

/* Administración: barra roja tipo backoffice, navegación clara y contenido sobrio. */
body.theme-admin .topbar{height:66px;background:linear-gradient(105deg,#b90f2f 0,#d8173f 48%,#b90f2f 100%);border-bottom:1px solid #9f1239;box-shadow:0 5px 16px rgba(142,16,48,.18)}
body.theme-admin .topuser{color:#fff}
body.theme-admin .shell{grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 66px)}
body.theme-admin .sidebar{background:#fff;border-right:1px solid #e5e7eb;box-shadow:4px 0 18px rgba(15,23,42,.035);padding-top:18px}
body.theme-admin .sidebar a,body.theme-admin .logout-form button{color:#334155;border:1px solid transparent}
body.theme-admin .sidebar a:hover,body.theme-admin .logout-form button:hover{background:#fff1f3;color:#a90f2b;border-color:#ffe0e5}
body.theme-admin .sidebar .primary-nav{background:linear-gradient(135deg,#cf1737,#b90f2f);color:#fff;border-color:transparent;box-shadow:0 6px 14px rgba(207,23,55,.18)}
body.theme-admin .sidebar .nav-submenu{border-left-color:#fecdd3}
body.theme-admin .sidebar .nav-submenu a{color:#64748b}
body.theme-admin .sidebar .nav-submenu a:hover{color:#a90f2b;background:#fff1f3}
body.theme-admin .content{background:linear-gradient(180deg,#f8f9fb 0,#f4f6f9 100%)}
body.theme-admin .card,body.theme-admin .stat,body.theme-admin .summary-card{border-color:#e4e7ec;box-shadow:0 7px 22px rgba(15,23,42,.045)}
body.theme-admin h1{color:#172033}body.theme-admin .page-head{border-bottom:1px solid #e7e9ee;padding-bottom:14px}
body.theme-admin th{background:#faf5f6;color:#5f2431;border-bottom-color:#eadce0}
body.theme-admin table tbody tr:hover td{background:#fff8f9}
body.theme-admin .sales-bar-track span{background:linear-gradient(180deg,#ef5570,#c81035)}
body.theme-admin .rank-number{background:#fff1f3;color:#b90f2f}

/* POS: azul operacional, controles táctiles y jerarquía inspirada en terminales de venta. */
body.theme-pos .topbar{height:66px;background:#fff;color:#1e293b;border-bottom:3px solid #1268d6;box-shadow:0 4px 14px rgba(15,23,42,.08)}
body.theme-pos .brand{box-shadow:none;border-color:#e2e8f0}
body.theme-pos .topuser{color:#334155}
body.theme-pos .shell{grid-template-columns:202px minmax(0,1fr);min-height:calc(100vh - 66px)}
body.theme-pos .sidebar{background:linear-gradient(180deg,#0d5bb8 0,#0b4ca8 58%,#103c78 100%);border-right:0;padding:14px 10px;box-shadow:5px 0 18px rgba(10,61,122,.16)}
body.theme-pos .sidebar a,body.theme-pos .logout-form button{color:#eef6ff;border:1px solid transparent;padding:11px 12px}
body.theme-pos .sidebar a:hover,body.theme-pos .logout-form button:hover{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.08)}
body.theme-pos .sidebar .primary-nav{background:linear-gradient(135deg,#2e8bea,#1673d9);color:#fff;border:1px solid rgba(255,255,255,.22);box-shadow:0 8px 20px rgba(5,42,91,.20)}
body.theme-pos .sidebar .nav-submenu{border-left-color:rgba(255,255,255,.22)}
body.theme-pos .sidebar .nav-submenu a{color:#dcecff}
body.theme-pos .content{background:linear-gradient(180deg,#f4f8fd,#edf4fb);padding:18px 20px 24px}
body.theme-pos .card{border-color:#dbe7f5;box-shadow:0 8px 22px rgba(31,80,133,.07)}
body.theme-pos .btn{box-shadow:0 4px 12px rgba(18,104,214,.16)}
body.theme-pos input:focus,body.theme-pos select:focus,body.theme-pos textarea:focus{border-color:#1268d6;box-shadow:0 0 0 3px rgba(18,104,214,.12)}
body.theme-pos .product-tile:hover{border-color:#60a5fa;background:#f1f7ff;box-shadow:0 6px 14px rgba(18,104,214,.10)}
body.theme-pos .product-tile span{color:#0b5dc1}
body.theme-pos .payment-open{background:linear-gradient(135deg,#1268d6,#0b4ca8);min-height:58px;font-size:1.12rem;border-radius:13px}
body.theme-pos .payment-head{background:linear-gradient(135deg,#edf5ff,#f7fbff);border-bottom-color:#d6e6f8}
body.theme-pos .payment-method-grid button:hover{border-color:#93c5fd;background:#f7fbff}

.pos-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:14px 17px;background:#fff;border:1px solid #dbe7f5;border-radius:16px;box-shadow:0 7px 20px rgba(31,80,133,.06)}
.pos-workspace-head h1{margin:2px 0 2px;font-size:clamp(1.35rem,2vw,1.8rem);color:#17345d}.pos-workspace-head p{margin:0;color:#64748b;font-size:.88rem}.pos-kicker{display:block;font-size:.69rem;font-weight:900;letter-spacing:.10em;color:#1268d6}.pos-operator-chip{display:flex;flex-direction:column;align-items:flex-end;min-width:150px;padding:9px 12px;border-radius:12px;background:#edf5ff;border:1px solid #d6e6f8}.pos-operator-chip span{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:800}.pos-operator-chip strong{margin-top:3px;color:#17345d}
body.theme-pos .pos-grid{grid-template-columns:minmax(330px,.92fr) minmax(580px,1.38fr);gap:16px}.pos-products,.pos-cart{border-radius:16px!important}.pos-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pos-panel-head>div{display:flex;align-items:center;gap:10px}.pos-panel-head strong{display:block;font-size:1.03rem;color:#17345d}.pos-panel-head small{margin-top:2px}.pos-panel-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#edf5ff;color:#1268d6;font-size:1.35rem;font-weight:900}.pos-search-label{color:#475569}.pos-search-label .touch-input{background:#f9fbfe;border:1px solid #c9d9eb;border-radius:12px;padding:14px 15px}
body.theme-pos .pos-results{gap:9px;margin-top:10px}.product-tile{border-radius:12px;box-shadow:0 2px 8px rgba(15,23,42,.035)}
body.theme-pos .cart-head{margin:-2px 0 10px;padding-bottom:10px;border-bottom:1px solid #e2eaf4}.cart-head .pos-kicker{margin-bottom:2px}.cart-table th{background:#f3f7fc;color:#45617f}.cart-table tbody tr:hover td{background:#f8fbff}
body.theme-pos .totals{margin-top:14px;padding:12px 0 0;border-top:1px solid #d6e3f1}.totals>div{padding:7px 5px}.totals>div span{color:#64748b}.totals>div strong{font-variant-numeric:tabular-nums}.totals .grand{margin-top:8px;padding:13px 15px;border:0;border-radius:13px;background:linear-gradient(135deg,#e7f1ff,#dcecff);color:#0b4ca8;font-size:1.45rem}.totals .grand strong{font-size:1.65rem}

/* Login y recuperación con la nueva identidad visual. */
.home-login-bg{background:radial-gradient(circle at 8% 8%,#ffe2e7 0,transparent 30%),radial-gradient(circle at 92% 90%,#dcecff 0,transparent 28%),linear-gradient(145deg,#fff7f8,#f8fafc 52%,#f1f6fd)}
.home-showcase{background:linear-gradient(145deg,#b90f2f 0,#d8173f 42%,#155fab 100%)}
.home-showcase .home-lead,.home-feature-grid small,.home-trust-row span{color:#fff5f7}.home-feature-grid article{background:rgba(76,9,27,.18)}
.home-brand-lockup{align-items:center;margin-bottom:34px}.home-brand-logo{display:block;width:150px;height:auto;max-height:100px;object-fit:contain}.home-brand-lockup>div{padding-left:4px}.home-brand-lockup small{color:#64748b;font-weight:750}.home-login-copy>span{color:#b90f2f}.home-login-button{background:linear-gradient(135deg,#cf1737,#b90f2f);box-shadow:0 10px 22px rgba(185,15,47,.20)}.home-login-button:hover{background:#a90f2b;box-shadow:0 13px 28px rgba(185,15,47,.24)}
.admin-login-bg{background:linear-gradient(145deg,#710d23,#b90f2f 58%,#d8173f)}.admin-login-logo{display:block;width:155px;height:auto;margin:0 auto 12px}.admin-login-mark{background:#fff1f3;color:#b90f2f;border:1px solid #fecdd3;margin-left:auto;margin-right:auto}

@media(min-width:1450px){body.theme-pos .pos-results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){body.theme-pos .pos-grid{grid-template-columns:1fr}.pos-workspace-head{align-items:flex-start}.pos-operator-chip{min-width:0}}
@media(max-width:760px){body.theme-admin .topbar,body.theme-pos .topbar{height:58px}.app-brand-logo{width:82px;height:44px}.brand{min-width:96px;height:44px;padding:0 7px}.company-top-logo{width:30px;height:30px}body.theme-admin .shell,body.theme-pos .shell{min-height:calc(100vh - 58px)}body.theme-admin .sidebar,body.theme-pos .sidebar{top:58px}.pos-workspace-head{flex-direction:column}.pos-operator-chip{align-items:flex-start;width:100%}body.theme-pos .content{padding:12px}.home-brand-logo{width:132px}}

/* v3.9.7 — refinamiento de navegación, branding y tema de Caja */
/* El logo aprobado se muestra directamente sobre la barra; sin tarjeta blanca. */
.app-brand-logo{width:auto;height:58px;max-width:118px;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.13))}
.brand{min-width:118px;height:60px;padding:0;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible}
.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}

/* Tipografía y ritmo del menú: más jerarquía sin cambiar su estructura. */
.sidebar,.sidebar a,.logout-form button{font-family:"Segoe UI Variable","Segoe UI",Aptos,Inter,system-ui,-apple-system,sans-serif}
.sidebar a,.logout-form button{font-size:.94rem;font-weight:650;letter-spacing:.008em;line-height:1.18;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.sidebar a:hover,.logout-form button:hover{transform:translateX(2px)}
.sidebar .primary-nav,.sidebar .nav-group-main{font-weight:800;letter-spacing:.004em}
.sidebar .nav-submenu a{font-size:.845rem;font-weight:600;line-height:1.2}

/* Administración: el mismo rojo para Superadmin y administradores tenant. */
body.theme-admin .topbar{background:linear-gradient(100deg,#a90f2b 0%,#cf1737 46%,#e11d48 100%)!important;color:#fff!important;border-bottom:1px solid #97102a!important}
body.theme-admin .topuser{color:#fff!important;font-weight:600}
body.theme-admin .sidebar{background:#fff!important;border-right:1px solid #e7dfe2!important}
body.theme-admin .sidebar a,body.theme-admin .logout-form button{color:#334155!important}
body.theme-admin .sidebar a:hover,body.theme-admin .logout-form button:hover{background:#fff1f3!important;color:#a90f2b!important;border-color:#fecdd3!important;box-shadow:0 4px 12px rgba(185,15,47,.06)}
body.theme-admin .sidebar .primary-nav{background:linear-gradient(135deg,#d71942,#b90f2f)!important;color:#fff!important;box-shadow:0 7px 16px rgba(185,15,47,.20)}
body.theme-admin .sidebar .nav-group-main{color:#9f1239!important}
body.theme-admin .sidebar .nav-submenu{border-left:2px solid #fecdd3!important}
body.theme-admin .sidebar .nav-submenu a{color:#64748b!important}
body.theme-admin .sidebar .nav-submenu a:hover{color:#a90f2b!important;background:#fff1f3!important}
body.theme-admin .content{background:linear-gradient(180deg,#fafbfc 0%,#f5f6f8 100%)!important}
body.theme-admin h1,body.theme-admin h2{letter-spacing:-.018em}
body.theme-admin .btn{background:linear-gradient(135deg,#d71942,#b90f2f)}
body.theme-admin .btn:hover{background:#a90f2b}
body.theme-admin .btn.secondary{background:#f7f3f4;color:#5b3440;border:1px solid #eadde1}
body.theme-admin .link,body.theme-admin .link-button{color:#b90f2f}

/* POS y Caja: entorno operacional azul, incluido cash/* y sus subpantallas. */
body.theme-pos .topbar{background:linear-gradient(105deg,#073d82 0%,#0b5fb9 52%,#1379dc 100%)!important;color:#fff!important;border-bottom:1px solid #06356f!important;box-shadow:0 5px 16px rgba(6,58,122,.20)}
body.theme-pos .topuser{color:#fff!important;font-weight:600}
body.theme-pos .sidebar{background:linear-gradient(180deg,#0b4f9f 0%,#073f82 58%,#062f62 100%)!important}
body.theme-pos .sidebar a,body.theme-pos .logout-form button{color:#edf6ff!important}
body.theme-pos .sidebar a:hover,body.theme-pos .logout-form button:hover{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 4px 12px rgba(1,24,54,.10)}
body.theme-pos .sidebar .primary-nav{background:linear-gradient(135deg,#2388ed,#0f67c9)!important;color:#fff!important;box-shadow:0 8px 18px rgba(1,37,82,.24)}
body.theme-pos .sidebar .nav-group-main{color:#fff!important}
body.theme-pos .sidebar .nav-submenu{border-left:2px solid rgba(191,219,254,.34)!important}
body.theme-pos .sidebar .nav-submenu a{color:#dcecff!important}
body.theme-pos .content{background:linear-gradient(180deg,#f5f9fe 0%,#edf4fb 100%)!important}
body.theme-pos h1,body.theme-pos h2{letter-spacing:-.018em}
body.theme-pos .btn{background:linear-gradient(135deg,#1678df,#0b58b5)}
body.theme-pos .btn:hover{background:#084b9c}
body.theme-pos .btn.secondary{background:#eef5fd;color:#174a7d;border:1px solid #cfe0f3}
body.theme-pos .link,body.theme-pos .link-button{color:#0b5fb9}

/* Caja: las tarjetas de operación reciben la misma jerarquía azul del POS. */
body.theme-pos .cash-action-title h2,body.theme-pos .cash-action-title h3{color:#173e69}
body.theme-pos .cash-action-icon{border:1px solid #d6e6f8;background:#edf5ff!important;color:#0b5fb9}
body.theme-pos .cash-close-card,body.theme-pos .cash-check-card{border-color:#cfe0f3;background:linear-gradient(180deg,#fff,#f8fbff)}
body.theme-pos .cash-focus{outline:3px solid rgba(18,104,214,.14);border-color:#60a5fa!important}
body.theme-pos .operator-action-primary{background:linear-gradient(145deg,#147adf,#0a58b3)}
body.theme-pos .operator-action-primary small{color:#eaf4ff}
body.theme-pos .operator-action:hover{border-color:#93c5fd}

@media(max-width:760px){
  .app-brand-logo{height:50px;max-width:100px}.brand{height:52px;min-width:100px}
  .sidebar a,.logout-form button{font-size:.9rem;font-weight:650}
}


/* v4.3.16 — login refinado y superficies ligeras. */
.home-login-bg{position:relative;isolation:isolate;background:radial-gradient(circle at 9% 9%,rgba(253,164,175,.34) 0,transparent 28%),radial-gradient(circle at 91% 86%,rgba(147,197,253,.28) 0,transparent 27%),linear-gradient(145deg,#fff8f9 0,#f8fafc 51%,#eef5fc 100%)}
.home-login-ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.ambient-icon{position:absolute;display:grid;place-items:center;width:74px;height:74px;border:1px solid rgba(100,116,139,.11);border-radius:24px;color:rgba(71,85,105,.11);background:rgba(255,255,255,.25);font:800 2rem/1 system-ui;transform:rotate(-8deg)}.ambient-chart{left:3%;top:18%}.ambient-money{right:4%;top:13%;transform:rotate(9deg)}.ambient-doc{left:5%;bottom:12%;transform:rotate(7deg)}.ambient-calc{right:7%;bottom:18%;transform:rotate(-10deg)}.ambient-box{left:45%;top:4%;width:58px;height:58px}.ambient-trend{right:42%;bottom:4%;width:62px;height:62px}
.home-login-panel{background:linear-gradient(160deg,rgba(255,248,249,.94),rgba(255,255,255,.98) 46%,rgba(242,247,253,.94));box-shadow:inset 1px 0 0 rgba(148,163,184,.18)}.home-login-panel:after{content:"";position:absolute;right:28px;top:28px;width:110px;height:110px;border-radius:30px;background:linear-gradient(145deg,rgba(225,29,72,.045),rgba(37,99,235,.045));transform:rotate(12deg);pointer-events:none}.home-login-form{position:relative;z-index:1;padding:20px;border:1px solid rgba(226,232,240,.9);border-radius:18px;background:rgba(255,255,255,.72);box-shadow:0 14px 34px rgba(15,23,42,.055);backdrop-filter:blur(5px)}.home-login-form input{background:rgba(255,255,255,.96);border-color:#d6dee8}.home-login-form input:focus{border-color:#cf1737;box-shadow:0 0 0 3px rgba(207,23,55,.10)}
.commercial-agent-launcher{background:linear-gradient(135deg,#e11d48,#b90f2f)!important;box-shadow:0 12px 28px rgba(185,15,47,.24)!important}.commercial-agent-head{background:linear-gradient(110deg,#b90f2f,#e11d48)!important}.commercial-agent-options button:hover{border-color:#fecdd3;background:#fff1f3}.commercial-agent-whatsapp{background:linear-gradient(135deg,#cf1737,#b90f2f)!important}
@media(max-width:760px){.home-login-ambient{display:none}.home-login-form{padding:16px}.home-login-panel:after{display:none}}
