
:root{
  --bg:#f3f4f6;--panel:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;
  --primary:#2563eb;--primary-dark:#1d4ed8;--success:#15803d;--warning:#b45309;
  --warning-bg:#fffbeb;--danger:#b91c1c;--danger-bg:#fef2f2;--surface:#f8fafc;
  --radius:18px;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}
button{cursor:pointer}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:rgba(17,24,39,.97);color:#fff}
.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#111827;font-weight:900;font-size:20px}
.brand strong{display:block;font-size:17px}.brand span{display:block;font-size:12px;color:#cbd5e1}
.top-actions,.hero-actions,.inline-actions{display:flex;gap:10px;flex-wrap:wrap}
.shell{max-width:1240px;margin:0 auto;padding:22px 18px 100px}.view{display:none}.view.active{display:block}
.hero,.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.hero h1,.section-title h1{margin:2px 0 4px;font-size:clamp(26px,4vw,38px);line-height:1.05}
.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:var(--muted)}
.muted{color:var(--muted);margin:0}.help{display:block;color:var(--muted);font-size:12px;margin:6px 0 0}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi strong{display:block;font-size:30px;margin-top:4px}
.kpi.warning{background:var(--warning-bg);border-color:#fde68a}.kpi.warning strong{color:var(--warning)}
.kpi.danger{background:var(--danger-bg);border-color:#fecaca}.kpi.danger strong{color:var(--danger)}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.danger-panel{border-color:#fecaca}.warning-panel{border-color:#fde68a}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-head h2{margin:2px 0 0;font-size:22px}
.panel-mini-head{font-size:12px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
.badge{min-width:38px;height:38px;padding:0 10px;border-radius:999px;display:grid;place-items:center;font-weight:900}.danger-badge{background:#fee2e2;color:var(--danger)}.warning-badge{background:#fef3c7;color:var(--warning)}.neutral-badge{background:#e5e7eb;color:#374151}
.product-alert-list{display:grid;gap:9px;max-height:520px;overflow:auto}.alert-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:#fff}.alert-main{display:flex;align-items:center;gap:12px;min-width:0}.alert-main-text{min-width:0}.alert-main-text strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-main-text span{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.thumb{width:54px;height:54px;border-radius:12px;background:#f3f4f6;border:1px solid var(--line);object-fit:cover;display:block}.thumb.placeholder{display:grid;place-items:center;font-size:10px;color:var(--muted);font-weight:700}
.stock-pill{flex:0 0 auto;min-width:42px;text-align:center;border-radius:10px;padding:7px 8px;font-weight:900}.stock-pill.zero{background:#fee2e2;color:var(--danger)}.stock-pill.low{background:#fef3c7;color:var(--warning)}
.empty-state{padding:20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}
.btn{border:0;border-radius:12px;padding:11px 14px;font-weight:800}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-success{background:var(--success);color:#fff}.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2)}.btn-ghost-dark{background:#fff;color:#111827;border:1px solid #d1d5db}.btn-danger-soft{background:#fff5f5;color:var(--danger);border:1px solid #fecaca}.btn-large{width:100%;min-height:50px;font-size:16px}
.form-panel{max-width:860px}.field{position:relative;margin-bottom:16px}.field label{display:block;font-weight:800;font-size:13px;margin-bottom:7px}.field input,.field select{width:100%;min-height:48px;border:1px solid #d1d5db;border-radius:12px;padding:11px 12px;background:#fff;color:var(--text);outline:none}.field input:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.search-field{margin-bottom:8px}.suggestions{position:absolute;left:0;right:0;top:76px;z-index:35;background:#fff;border:1px solid #cbd5e1;border-radius:14px;box-shadow:0 14px 30px rgba(15,23,42,.12);max-height:320px;overflow:auto}.suggestion{display:flex;width:100%;align-items:center;gap:12px;text-align:left;border:0;background:#fff;padding:10px 12px;border-bottom:1px solid #f1f5f9}.suggestion:last-child{border-bottom:0}.suggestion:hover,.suggestion:focus{background:#eff6ff;outline:none}.suggestion strong{display:block}.suggestion small{color:var(--muted)}
.selected-card{border:1px solid #bfdbfe;background:#eff6ff;border-radius:14px;padding:14px;margin-bottom:16px}.selected-card.empty{border-style:dashed;background:#f9fafb;color:var(--muted)}.selected-top{display:flex;justify-content:space-between;gap:10px}.selected-meta{display:flex;gap:12px;align-items:flex-start}.selected-card h3{margin:0 0 4px;font-size:17px}.selected-card p{margin:0;color:var(--muted);font-size:13px}
.sale-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}.sale-main{display:grid;gap:16px}.sale-summary{position:sticky;top:82px}.sale-summary h2{margin:4px 0 18px}.summary-line{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.summary-line.total{font-size:20px;border-bottom:0;margin:8px 0 14px}.summary-line.total strong{font-size:25px}
.cart-list{display:grid;gap:10px}.cart-item{display:grid;grid-template-columns:minmax(220px,1.5fr) 100px 125px 105px 125px 42px;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:14px}.cart-product{display:flex;align-items:center;gap:10px;align-self:center;min-width:0}.cart-product-text{min-width:0}.cart-product-text strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-product-text small{color:var(--muted)}.cart-field label{display:block;font-size:10px;color:var(--muted);font-weight:800;margin-bottom:4px;text-transform:uppercase}.cart-field input{width:100%;height:40px;border:1px solid #d1d5db;border-radius:10px;padding:7px}.cart-total{height:40px;display:flex;align-items:center;justify-content:flex-end;font-weight:900}.remove-line{height:40px;width:40px;border:0;border-radius:10px;background:#fee2e2;color:var(--danger);font-size:18px;font-weight:900}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.product-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;display:flex;flex-direction:column}.product-card .card-image{aspect-ratio:4/3;background:#f3f4f6;border-bottom:1px solid var(--line);display:grid;place-items:center}.product-card .card-image img{width:100%;height:100%;object-fit:cover}.product-card .card-body{padding:14px}.product-card h3{margin:0 0 6px;font-size:17px}.meta-line,.price-line{display:flex;justify-content:space-between;gap:10px;margin:4px 0;font-size:13px}.badge-state{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.badge-state.ok{background:#dcfce7;color:#166534}.badge-state.low{background:#fef3c7;color:#92400e}.badge-state.zero{background:#fee2e2;color:#991b1b}.product-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.product-actions .btn{width:100%;min-width:0;min-height:44px;padding:10px 8px;white-space:normal;line-height:1.15;text-align:center}
.product-actions .archive-product-btn{grid-column:1/-1}
/* V9.8.1 · Imagen de producto moderna */
.product-image-editor{margin:0 0 20px;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc)}
.product-image-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.product-image-editor-head h2{margin:2px 0 4px;font-size:19px}
.image-status{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:900;white-space:nowrap}
.image-status.ready{background:#dcfce7;color:#166534}
.product-image-dropzone{position:relative;min-height:260px;border:2px dashed #cbd5e1;border-radius:18px;background:#fff;overflow:hidden;display:grid;place-items:center;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease;outline:none}
.product-image-dropzone:hover,.product-image-dropzone:focus-visible{border-color:#60a5fa;background:#f8fbff;box-shadow:0 0 0 4px rgba(37,99,235,.08)}
.product-image-dropzone.is-dragging{border-color:var(--primary);background:#eff6ff;box-shadow:0 0 0 4px rgba(37,99,235,.12);transform:translateY(-1px)}
.product-image-dropzone.has-image{border-style:solid;border-width:1px;background:#f8fafc}
.visually-hidden-file{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.product-image-preview{width:100%;min-height:260px;display:grid;place-items:center;background:#fff}
.product-image-preview img{display:block;width:100%;height:100%;max-height:520px;min-height:260px;object-fit:contain;background:#fff}
.product-image-placeholder{display:grid;place-items:center;gap:6px;padding:32px;text-align:center;color:#64748b;pointer-events:none}
.product-image-placeholder-icon{width:62px;height:62px;border-radius:18px;background:#eff6ff;color:var(--primary);display:grid;place-items:center;font-size:34px;font-weight:900;margin-bottom:4px}
.product-image-placeholder strong{color:#1f2937;font-size:16px}
.product-image-placeholder span{font-size:13px}
.product-image-placeholder small{margin-top:4px;color:#94a3b8;font-weight:700}
.product-image-actions{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid rgba(203,213,225,.9);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(15,23,42,.10);backdrop-filter:blur(8px)}
.product-image-actions[hidden]{display:none}
.product-image-hints{display:flex;gap:8px 14px;flex-wrap:wrap;margin:10px 2px 0;color:#64748b;font-size:11px;font-weight:800}
.image-url-panel{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.image-url-panel summary{cursor:pointer;color:#475569;font-size:12px;font-weight:900;user-select:none}
.image-url-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:12px}
.image-url-fields .field{margin-bottom:0}
.image-url-fields .btn{min-height:48px}
@media(max-width:720px){
  .product-image-editor{padding:12px}
  .product-image-editor-head{flex-direction:column}
  .product-image-dropzone,.product-image-preview{min-height:220px}
  .product-image-preview img{min-height:220px;max-height:420px}
  .product-image-actions{position:static;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;backdrop-filter:none}
  .product-image-actions .btn{flex:1 1 140px}
  .image-url-fields{grid-template-columns:1fr}
  .image-url-fields .btn{width:100%}
}
.notice{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;border-radius:12px;padding:11px 12px;margin-bottom:16px;font-size:13px}.form-msg{min-height:22px;margin:12px 0 0;font-weight:700}.form-msg.ok{color:var(--success)}.form-msg.error{color:var(--danger)}
.filter-panel{margin-bottom:16px}.event-groups{display:grid;gap:16px}.event-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.event-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px;background:#f8fafc;border-bottom:1px solid var(--line)}.event-head h2{margin:3px 0 4px;font-size:20px}.event-stats{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:13px}.event-actions{display:flex;gap:8px;flex-wrap:wrap}.sale-doc-list{display:grid}.sale-doc{padding:14px 16px;border-bottom:1px solid var(--line)}.sale-doc:last-child{border-bottom:0}.sale-doc-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.sale-doc-title strong{display:block}.sale-doc-title small{color:var(--muted)}.sale-doc-total{font-size:19px;font-weight:900;text-align:right}.sale-doc-meta{display:flex;gap:12px;flex-wrap:wrap;margin:9px 0;color:var(--muted);font-size:12px}.sale-doc-actions{display:flex;gap:8px;flex-wrap:wrap}.sale-doc-lines{margin-top:10px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.doc-line{display:grid;grid-template-columns:50px minmax(0,1fr) 90px 75px 95px;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);font-size:12px}.doc-line:last-child{border-bottom:0}.doc-line.header{font-weight:800;background:#f8fafc;color:#475569}
.bottom-nav{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:40;width:min(760px,calc(100% - 22px));display:grid;grid-template-columns:repeat(5,1fr);background:#111827;border:1px solid #374151;border-radius:20px;padding:7px;box-shadow:0 12px 30px rgba(15,23,42,.25)}.nav-btn{border:0;background:transparent;color:#9ca3af;border-radius:14px;padding:8px 4px;font-size:11px;font-weight:800}.nav-btn span{display:block;font-size:20px;line-height:1.1;margin-bottom:2px}.nav-btn.active{background:#fff;color:#111827}
@media(max-width:960px){.sale-layout{grid-template-columns:1fr}.sale-summary{position:static}.cart-item{grid-template-columns:1fr 80px 110px 90px 105px 42px}}
@media(max-width:780px){
  .shell{padding:16px 12px 98px}.hero,.section-title,.topbar{align-items:flex-start;flex-direction:column}.hero .btn,.section-title .btn{width:100%}
  .kpis{grid-template-columns:1fr 1fr}.dashboard-grid,.form-row{grid-template-columns:1fr}.panel{padding:14px}.product-alert-list{max-height:none}.topbar{padding:10px 12px}.top-actions{width:100%}
  .cart-item{grid-template-columns:1fr 1fr;align-items:start}.cart-product{grid-column:1/-1}.cart-field{min-width:0}.cart-total{justify-content:flex-start}.remove-line{align-self:end}
  .event-head,.sale-doc-head{flex-direction:column}.sale-doc-total{text-align:left}.doc-line{grid-template-columns:42px minmax(0,1fr) 70px}.doc-line > :nth-child(4),.doc-line > :nth-child(5){display:none}
}
@media(max-width:390px){.kpis{grid-template-columns:1fr}.bottom-nav{bottom:8px}}

.btn-inline{margin-top:8px;padding:8px 10px;font-size:12px}
.event-editor-panel{margin-bottom:16px;border-color:#bfdbfe}
.event-editor-panel[hidden]{display:none}
.event-info{display:flex;gap:10px 18px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-top:6px}
.event-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.event-kpi{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.event-kpi span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.event-kpi strong{display:block;font-size:20px;margin-top:3px}
.event-kpi.profit{background:#f0fdf4;border-color:#bbf7d0}.event-kpi.profit strong{color:#166534}
.event-kpi.cash{background:#fffbeb;border-color:#fde68a}.event-kpi.cash strong{color:#92400e}
.event-kpi.bizum{background:#eff6ff;border-color:#bfdbfe}.event-kpi.bizum strong{color:#1d4ed8}
.event-kpi.cost{background:#fff7ed;border-color:#fed7aa}.event-kpi.cost strong{color:#9a3412}
.event-section{padding:14px 16px;border-bottom:1px solid var(--line)}
.event-section:last-child{border-bottom:0}
.event-section h3{margin:0 0 10px;font-size:15px}
.product-breakdown{overflow:auto;border:1px solid var(--line);border-radius:12px}
.product-breakdown-row{display:grid;grid-template-columns:90px minmax(180px,1fr) 80px 110px 110px;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);font-size:12px}
.product-breakdown-row:last-child{border-bottom:0}
.product-breakdown-row.header{font-weight:800;background:#f8fafc;color:#475569}
.payment-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}
.payment-pill.cash{background:#fef3c7;color:#92400e}.payment-pill.bizum{background:#dbeafe;color:#1d4ed8}.payment-pill.unknown{background:#e5e7eb;color:#4b5563}
@media(max-width:780px){
  .event-kpis{grid-template-columns:1fr 1fr}
  .product-breakdown-row{grid-template-columns:70px minmax(160px,1fr) 60px}
  .product-breakdown-row > :nth-child(4),.product-breakdown-row > :nth-child(5){display:none}
}

.upcoming-panel{margin-top:18px}
.upcoming-events{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.upcoming-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;display:flex;flex-direction:column;gap:10px}
.upcoming-card.today{border-color:#93c5fd;background:#eff6ff}
.upcoming-card.soon{border-color:#fde68a;background:#fffdf5}
.upcoming-date{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.upcoming-date strong{font-size:15px}.upcoming-countdown{padding:5px 8px;border-radius:999px;background:#f3f4f6;color:#374151;font-size:11px;font-weight:900;white-space:nowrap}
.upcoming-card.today .upcoming-countdown{background:#dbeafe;color:#1d4ed8}
.upcoming-card.soon .upcoming-countdown{background:#fef3c7;color:#92400e}
.upcoming-card h3{margin:0;font-size:17px;line-height:1.25}
.upcoming-meta{display:grid;gap:5px;color:var(--muted);font-size:12px}
.upcoming-actions{display:flex;gap:8px;margin-top:auto}
.event-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
.event-detail-item{padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.event-detail-item span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.event-detail-item strong{display:block;font-size:13px;word-break:break-word}
@media(max-width:780px){
  .upcoming-events{grid-template-columns:1fr}
  .event-detail-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .event-detail-grid{grid-template-columns:1fr}
}

.prep-editor{margin-top:20px;padding-top:18px;border-top:2px solid var(--line)}
.prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.prep-box{border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:14px}
.prep-products-box{margin-bottom:16px}
.prep-box-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.prep-box-head h3{margin:2px 0 0;font-size:17px}
.prep-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:10px}
.prep-add-row input{min-height:44px;border:1px solid #d1d5db;border-radius:11px;padding:9px 10px;background:#fff}
.check-list{display:grid;gap:7px}
.check-item{display:grid;grid-template-columns:28px minmax(0,1fr) 36px;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:11px;background:#fff}
.check-item.done .check-text{text-decoration:line-through;color:var(--muted)}
.check-item input[type="checkbox"]{width:20px;height:20px}
.check-text{font-size:13px;word-break:break-word}
.check-remove{width:34px;height:34px;border:0;border-radius:9px;background:#fee2e2;color:var(--danger);font-weight:900}
.prep-product-list{display:grid;gap:8px}
.prep-product-row{display:grid;grid-template-columns:minmax(210px,1.4fr) 100px 100px 110px 40px;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.prep-product-name{display:flex;align-items:center;gap:9px;min-width:0}
.prep-product-name strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prep-product-name small{display:block;color:var(--muted)}
.prep-small-field label{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800;margin-bottom:4px}
.prep-small-field input{width:100%;height:38px;border:1px solid #d1d5db;border-radius:9px;padding:6px 7px}
.prep-progress-text{height:38px;display:flex;align-items:center;font-weight:800;font-size:12px}
.prep-summary{padding:14px 16px;border-bottom:1px solid var(--line);background:#fafafa}
.prep-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.prep-summary-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px}
.prep-summary-card span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.prep-summary-card strong{display:block;margin-top:4px;font-size:15px}
.prep-status-ok{color:#166534}.prep-status-warn{color:#92400e}.prep-status-danger{color:#991b1b}
.prep-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.prep-view-list{display:grid;gap:6px}
.prep-view-item{display:flex;gap:8px;align-items:flex-start;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:12px}
.prep-view-item.done{color:var(--muted);text-decoration:line-through}
.prep-products-table{overflow:auto;border:1px solid var(--line);border-radius:12px}
.prep-products-view-row{display:grid;grid-template-columns:85px minmax(180px,1fr) 80px 90px 90px;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);font-size:12px}
.prep-products-view-row:last-child{border-bottom:0}
.prep-products-view-row.header{font-weight:800;background:#f8fafc;color:#475569}
.progress-bar{height:8px;border-radius:999px;background:#e5e7eb;overflow:hidden;margin-top:7px}
.progress-bar > span{display:block;height:100%;background:#16a34a}
@media(max-width:780px){
  .prep-grid,.prep-summary-grid,.prep-detail-columns{grid-template-columns:1fr}
  .prep-product-row{grid-template-columns:1fr 1fr}
  .prep-product-name{grid-column:1/-1}
  .prep-product-row .check-remove{align-self:end}
  .prep-products-view-row{grid-template-columns:70px minmax(150px,1fr) 70px}
  .prep-products-view-row > :nth-child(4),.prep-products-view-row > :nth-child(5){display:none}
}

.cloud-status{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.18)}
.cloud-status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.cloud-status.online{color:#bbf7d0;background:rgba(22,163,74,.18)}
.cloud-status.syncing{color:#bfdbfe;background:rgba(37,99,235,.18)}
.cloud-status.offline{color:#fecaca;background:rgba(185,28,28,.18)}
button:disabled{opacity:.6;cursor:not-allowed}

/* ETEKU V7.1 · Imágenes uniformes */
.product-card .card-image{aspect-ratio:1/1;background:#fff}
.product-card .card-image .thumb,
.product-card .card-image img{width:100%;height:100%;border:0;border-radius:0;object-fit:cover}
.thumb{aspect-ratio:1/1;object-fit:cover}
.product-image-preview{background:#fff}
.product-image-preview img{object-fit:contain;background:#fff}

.crop-editor{margin:4px 0 20px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f8fafc}
.crop-editor[hidden]{display:none}
.crop-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.crop-editor-head h3{margin:2px 0 4px;font-size:17px}
.crop-layout{display:grid;grid-template-columns:minmax(240px,360px) minmax(220px,1fr);gap:18px;align-items:start}
.crop-stage{width:100%;aspect-ratio:1/1;background:#fff;border:1px solid #cbd5e1;border-radius:16px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(15,23,42,.03)}
.crop-stage canvas{display:block;width:100%;height:100%;background:#fff}
.crop-controls{min-width:0}
.crop-range{margin-bottom:15px}
.crop-range label{display:flex;justify-content:space-between;gap:10px}
.crop-range input[type="range"]{width:100%;min-height:auto;padding:0;border:0;background:transparent}
.crop-tip{display:grid;gap:3px;padding:11px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:12px;color:var(--muted)}
.crop-tip strong{color:var(--text)}
@media(max-width:720px){
  .crop-layout{grid-template-columns:1fr}
  .crop-stage{max-width:420px;margin:auto}
  .crop-editor-head{flex-direction:column}
}

/* ETEKU V7.2 · Anulación segura de ventas */
.sale-doc.voided{background:#fafafa;opacity:.88}
.sale-doc.voided .sale-doc-total{text-decoration:line-through;color:var(--muted)}
.sale-status-pill{display:inline-flex;vertical-align:middle;margin-left:6px;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.04em}
.sale-status-pill.voided{background:#fee2e2;color:#991b1b}
.void-reason{color:#991b1b;font-weight:700}

/* ETEKU V7.3 · Stock de filamento */
.bottom-nav{grid-template-columns:repeat(7,1fr);width:min(940px,calc(100% - 22px))}
.filament-kpis{margin-bottom:16px}
.filament-editor,.filament-move-panel{margin-bottom:16px;max-width:none}
.filament-filter-panel{margin-bottom:16px}
.filament-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:16px}
.filament-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.filament-card-head{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--line);background:#f8fafc}
.filament-swatch{width:58px;height:58px;border-radius:16px;border:1px solid rgba(15,23,42,.15);box-shadow:inset 0 0 0 4px rgba(255,255,255,.55)}
.filament-title{min-width:0}.filament-title h3{margin:0;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filament-title p{margin:3px 0 0;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.filament-stock{min-width:58px;text-align:center;padding:8px 9px;border-radius:13px;background:#dcfce7;color:#166534;font-weight:900}.filament-stock small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.filament-stock strong{display:block;font-size:22px;line-height:1}
.filament-stock.low{background:#fef3c7;color:#92400e}.filament-stock.zero{background:#fee2e2;color:#991b1b}
.filament-card-body{padding:14px;display:grid;gap:6px}.filament-meta-row{display:flex;justify-content:space-between;gap:12px;font-size:13px}.filament-meta-row span{color:var(--muted)}.filament-meta-row strong{text-align:right}
.filament-card-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:0 14px 14px}.filament-card-actions .btn{padding:10px 7px;font-size:12px}.filament-out-btn{background:#111827;color:#fff}.filament-out-btn:hover{background:#1f2937}.filament-out-btn:disabled{background:#e5e7eb;color:#9ca3af}
.filament-color-picker{display:flex;align-items:center;gap:10px;min-height:48px;border:1px solid #d1d5db;border-radius:12px;padding:6px 10px;background:#fff}.filament-color-picker input[type="color"]{width:56px;height:34px;border:0;padding:0;background:transparent}.filament-color-picker span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:800}
.filament-history-panel{margin-top:16px}.filament-movement-list{display:grid;gap:7px;max-height:460px;overflow:auto}.filament-movement{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#fff}.filament-movement-type{display:inline-flex;justify-content:center;padding:5px 7px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase}.filament-movement-type.in,.filament-movement-type.new{background:#dcfce7;color:#166534}.filament-movement-type.out{background:#fee2e2;color:#991b1b}.filament-movement-type.edit{background:#e5e7eb;color:#374151}.filament-movement-main{min-width:0}.filament-movement-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filament-movement-main span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.filament-movement-stock{text-align:right;font-size:12px}.filament-movement-stock strong{display:block;font-size:15px}
#filamentMoveSummary{margin-bottom:14px}.filament-move-summary{display:flex;align-items:center;gap:12px}.filament-move-summary .filament-swatch{width:44px;height:44px;border-radius:12px}.filament-move-summary strong{display:block}.filament-move-summary span{display:block;color:var(--muted);font-size:12px;margin-top:2px}
@media(max-width:620px){
  .bottom-nav{grid-template-columns:repeat(7,1fr);padding:6px}.bottom-nav .nav-btn{font-size:9px}
  .nav-btn{font-size:9px;padding:7px 2px}.nav-btn span{font-size:17px}
  .filament-grid{grid-template-columns:1fr}.filament-card-actions{grid-template-columns:1fr 1fr}.filament-card-actions .edit-filament-btn{grid-column:1/-1}
  .filament-movement{grid-template-columns:62px minmax(0,1fr)}.filament-movement-stock{grid-column:2;text-align:left}
}


/* ETEKU V7.4 · Preparación de productos para tienda online */
.field textarea{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:11px 12px;background:#fff;color:var(--text);outline:none;resize:vertical;font:inherit;line-height:1.45}.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.catalog-filter-row{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(140px,.75fr));gap:12px;align-items:end}
.shop-editor{margin:22px 0 18px;padding:18px;border:1px solid #bfdbfe;border-radius:18px;background:#f8fbff}
.shop-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.shop-editor-head h2{margin:2px 0 5px;font-size:20px}
.shop-toggle{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #bfdbfe;border-radius:999px;padding:10px 14px;font-weight:900;white-space:nowrap;cursor:pointer}.shop-toggle input{width:20px;height:20px;accent-color:var(--primary)}
.shop-readiness{margin:0 0 16px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:800}.shop-readiness.ready{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.shop-readiness.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}
.form-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.readonly-field{min-height:48px;display:flex;align-items:center;padding:11px 12px;border:1px solid #d1d5db;border-radius:12px;background:#f3f4f6;font-weight:900}
.shop-subtitle{margin:18px 0 12px;padding-top:14px;border-top:1px solid #dbeafe;font-weight:900;font-size:14px}
.shop-options{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0 8px}.shop-options label{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:13px;font-weight:800}.shop-options input{width:18px;height:18px;accent-color:var(--primary)}
.slug-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.slug-row>span{padding:11px 0;color:var(--muted);font-weight:800}.slug-row input{min-width:0}
.shop-card-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:7px 0 5px}.shop-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.shop-badge.online{background:#dcfce7;color:#166534}.shop-badge.draft{background:#e5e7eb;color:#475569}.shop-badge.incomplete{background:#fef3c7;color:#92400e}.shop-category{font-size:11px;color:var(--muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-price{font-size:12px;color:var(--muted);margin-top:4px}.shop-price strong{color:var(--text)}
@media(max-width:780px){.catalog-filter-row,.form-row.three,.form-row.four{grid-template-columns:1fr}.shop-editor-head{flex-direction:column}.slug-row{grid-template-columns:auto 1fr}.slug-row .btn{grid-column:1/-1}.shop-toggle{width:100%;justify-content:center}}

/* ETEKU V7.5 · Precio final con IVA fijo 21% */
.shop-price-editor{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:4px 0 14px}
.shop-price-entry{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}
.shop-price-entry .field{margin-bottom:10px}
.vat-breakdown{display:grid;gap:7px;padding-top:10px;border-top:1px solid var(--line)}
.vat-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}
.vat-breakdown strong{color:var(--text);font-variant-numeric:tabular-nums}
.vat-breakdown .vat-total{margin-top:2px;padding-top:8px;border-top:1px dashed var(--line);font-size:14px;color:var(--text)}
.vat-breakdown .vat-total strong{font-size:17px}
.vat-fixed-notice{margin:0 0 16px;background:#f0fdf4;color:#166534;border-color:#bbf7d0}
.shop-price small{font-size:10px;color:var(--muted);font-weight:700}
@media(max-width:720px){.shop-price-editor{grid-template-columns:1fr}}

/* ETEKU V7.6 · Filamento por gramos y foto */
.filament-photo-editor{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:start;margin:0 0 18px}
.filament-image-preview{aspect-ratio:1/1;border:1px dashed #cbd5e1;border-radius:16px;background:#fff;overflow:hidden;display:grid;place-items:center;color:var(--muted);font-weight:800}
.filament-image-preview img{width:100%;height:100%;object-fit:cover;display:block}
.filament-photo-fields{display:grid;gap:10px}
.filament-qty-row{display:grid;grid-template-columns:1fr minmax(125px,170px);gap:8px}
.filament-card-photo{aspect-ratio:16/9;background:#f8fafc;border-bottom:1px solid var(--line);overflow:hidden}
.filament-photo{width:100%;height:100%;object-fit:cover;display:block}
.filament-photo.placeholder{display:grid;place-items:end start;padding:12px;color:#fff;font-weight:900;text-shadow:0 1px 4px rgba(0,0,0,.45)}
.filament-photo.placeholder span{background:rgba(0,0,0,.35);padding:4px 8px;border-radius:9px}
.filament-stock strong{font-size:17px}
.filament-stock span{display:block;font-size:10px;margin-top:2px;opacity:.8}
.filament-move-photo{width:56px;height:56px;border-radius:12px;object-fit:cover;flex:0 0 auto}
.filament-move-photo.placeholder{display:grid;place-items:center;font-size:9px;color:var(--muted);background:#f3f4f6}
@media(max-width:650px){
  .filament-photo-editor{grid-template-columns:120px 1fr}
  .filament-qty-row{grid-template-columns:1fr}
}

/* ETEKU V7.7 · Promociones */
.promo-editor{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fafafa}
.promo-editor-head h2{margin:2px 0 4px}.promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.promo-option-card{display:grid;gap:10px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff;cursor:pointer}
.promo-check{display:flex;gap:9px;align-items:center}.promo-check input{width:20px;height:20px}.promo-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.promo-inline-fields span{display:grid;gap:5px}.promo-inline-fields small{font-weight:800;color:var(--muted)}
.product-promo-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.promo-badge,.cart-promo-label{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900}.promo-badge.qty,.cart-promo-label.qty{background:#ecfdf5;color:#047857}.promo-badge.bag,.cart-promo-label.bag{background:#fff7ed;color:#c2410c}.cart-promo-label.available{background:#eff6ff;color:#1d4ed8}
.bag-sale-controller{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:14px;padding:14px;border:1px dashed #f59e0b;border-radius:15px;background:#fffbeb}.bag-sale-controller>div{display:grid;gap:4px}.bag-sale-controller span{font-size:13px;color:var(--muted)}.btn-bag{background:#fff7ed;border:1px solid #fdba74;color:#9a3412}.btn-bag.active{background:#ea580c;color:#fff;border-color:#ea580c}
.cart-item.bag-line{border-color:#fdba74;background:#fffaf3}.cart-field.promo-fixed strong{display:flex;min-height:42px;align-items:center}.cart-offer-toggle{display:flex!important;align-items:center;gap:5px;margin-top:6px;font-size:11px!important;font-weight:800}.cart-offer-toggle input{width:auto!important}
@media(max-width:760px){.promo-grid{grid-template-columns:1fr}.promo-inline-fields{grid-template-columns:1fr 1fr}.bag-sale-controller{align-items:stretch;flex-direction:column}.bag-sale-controller .btn{width:100%}}

/* ETEKU V7.8 · Combinaciones / packs */
.btn-combo{background:#4338ca;color:#fff;border-color:#4338ca}
.btn-combo:hover{filter:brightness(.96)}
.combo-manager{margin-top:18px}
.combo-editor{border:1px solid #c7d2fe;background:#eef2ff;border-radius:16px;padding:16px;margin:12px 0 18px}
.combo-product-picker{margin-top:12px}
.combo-draft-items,.combo-list{display:grid;gap:10px}
.combo-draft-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 42px;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}
.combo-draft-product{display:flex;gap:10px;align-items:center;min-width:0}
.combo-draft-product .thumb{width:52px;height:52px;flex:0 0 auto}
.combo-draft-product div{min-width:0}
.combo-draft-product strong,.combo-draft-product small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.combo-draft-qty label{display:block;font-size:11px;color:var(--muted);font-weight:700}
.remove-combo-item{border:0;background:#fee2e2;color:#991b1b;border-radius:10px;font-size:22px;height:38px;cursor:pointer}
.combo-editor-actions{margin-top:12px}
.combo-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}
.combo-card.inactive{opacity:.68}
.combo-card-main{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.combo-card-main h3{margin:5px 0 4px}
.combo-card-main p{margin:0;color:var(--muted);font-size:13px}
.combo-status{display:inline-block;font-size:10px;font-weight:900;padding:3px 7px;border-radius:999px}
.combo-status.active{background:#dcfce7;color:#166534}
.combo-status.inactive{background:#e5e7eb;color:#4b5563}
.combo-card-price{text-align:right;white-space:nowrap}
.combo-card-price small,.combo-card-price span{display:block;color:var(--muted);font-size:11px}
.combo-card-price strong{font-size:20px}
.combo-notes{margin-top:8px;font-size:12px;color:var(--muted)}
.combo-card-actions{display:flex;gap:8px;margin-top:12px}
.combo-sale-controller{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:12px;padding:12px;border:1px solid #c7d2fe;background:#eef2ff;border-radius:14px}
.combo-sale-copy strong,.combo-sale-copy span{display:block}
.combo-sale-copy span{font-size:12px;color:#475569;margin-top:3px}
.combo-sale-actions{display:flex;gap:8px;align-items:center}
.combo-sale-actions select{min-width:230px}
.cart-promo-label.combo{background:#e0e7ff;color:#3730a3}
.cart-item.combo-line{border-color:#a5b4fc;background:#f5f7ff}
@media(max-width:760px){
  .combo-sale-controller{align-items:stretch;flex-direction:column}
  .combo-sale-actions{display:grid;grid-template-columns:1fr}
  .combo-sale-actions select{min-width:0;width:100%}
  .combo-draft-row{grid-template-columns:1fr 92px 38px}
  .combo-card-main{flex-direction:column}
  .combo-card-price{text-align:left}
}

/* ETEKU V7.9 · Vista combinada de packs */
.combo-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 4px}
.combo-metric{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px}.combo-metric span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.combo-metric strong{display:block;margin-top:5px;font-size:20px}.combo-metric.highlight{background:#eef2ff;border-color:#c7d2fe}.combo-metric.highlight strong{color:#3730a3}
.combo-card-layout{display:grid;grid-template-columns:126px minmax(0,1fr);gap:14px;align-items:start}
.combo-card-preview-wrap{display:flex;align-items:center;justify-content:center}
.combo-preview{position:relative;width:126px;height:96px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#f8fafc}.combo-preview.single .combo-preview-piece{position:absolute;inset:0}.combo-preview.double .combo-preview-piece{position:absolute;top:0;bottom:0;width:58%}.combo-preview.double .piece-1{left:0}.combo-preview.double .piece-2{right:0}.combo-preview.double .piece-1 .combo-preview-img{border-top-right-radius:0;border-bottom-right-radius:0}.combo-preview.double .piece-2 .combo-preview-img{border-top-left-radius:0;border-bottom-left-radius:0}
.combo-preview-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:16px}.combo-preview-img.placeholder{display:grid;place-items:center;font-size:10px;padding:6px;text-align:center}.combo-preview-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:800}.combo-preview-more{position:absolute;right:8px;bottom:8px;background:rgba(17,24,39,.82);color:#fff;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900}
.combo-card-metrics{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;color:#475569;font-size:12px}.combo-card-metrics span{padding:6px 9px;border-radius:999px;background:#f8fafc;border:1px solid var(--line)}
@media(max-width:780px){.combo-metrics{grid-template-columns:1fr}.combo-card-layout{grid-template-columns:1fr}.combo-card-preview-wrap{justify-content:flex-start}.combo-preview{width:100%;max-width:220px;height:120px}}


/* ETEKU V7.10 · Resumen de filamento en portada */
.home-filament-panel{margin-top:18px;border-color:#c7d2fe;background:linear-gradient(180deg,#fff 0%,#fafaff 100%)}
.home-filament-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.home-filament-kpi{padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}
.home-filament-kpi span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.home-filament-kpi strong{display:block;font-size:23px;margin-top:5px}
.home-filament-kpi.pla-warning-kpi{background:#fffbeb;border-color:#fde68a}
.home-filament-kpi.pla-warning-kpi strong{color:#b45309}
.home-pla-alert{border:1px solid #fde68a;background:#fffdf5;border-radius:16px;padding:13px}
.home-pla-alert-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.home-pla-alert-head h3{margin:2px 0 0;font-size:17px}
.home-pla-low-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}
.home-pla-low-item{width:100%;display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;border:1px solid #fde68a;border-radius:13px;background:#fff;padding:9px;cursor:pointer;color:var(--text)}
.home-pla-low-item:hover{border-color:#f59e0b;background:#fffbeb}
.home-pla-low-item.critical{border-color:#fdba74;background:#fff7ed}
.home-pla-low-item.zero{border-color:#fecaca;background:#fef2f2}
.home-filament-thumb{width:52px;height:52px;border-radius:11px;object-fit:cover;display:block;border:1px solid var(--line)}
.home-filament-thumb.placeholder{display:grid;place-items:center;font-size:9px;text-align:center;padding:4px;color:#fff}
.home-pla-low-main{min-width:0}
.home-pla-low-main strong,.home-pla-low-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-pla-low-main strong{font-size:13px}
.home-pla-low-main small{color:var(--muted);font-size:11px;margin-top:3px}
.home-pla-low-stock{font-weight:900;font-size:14px;color:#b45309;white-space:nowrap}
.home-pla-low-item.critical .home-pla-low-stock{color:#c2410c}
.home-pla-low-item.zero .home-pla-low-stock{color:var(--danger)}
.home-pla-ok{display:flex;gap:8px;align-items:center;padding:12px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:12px;color:#166534}
.home-pla-ok span{font-size:12px}
@media(max-width:780px){
  .home-filament-kpis{grid-template-columns:1fr 1fr}
  .home-pla-low-list{grid-template-columns:1fr}
}
@media(max-width:420px){
  .home-filament-kpis{grid-template-columns:1fr}
}


/* ETEKU V8.0 · Facturación España */
.brand-mark.has-logo{background:#fff;padding:3px;overflow:hidden}
.brand-mark.has-logo img{width:100%;height:100%;object-fit:contain;border-radius:8px}
.billing-settings-panel{margin-bottom:16px;border-color:#bfdbfe}
.billing-logo-editor{display:grid;grid-template-columns:210px 1fr;gap:16px;align-items:start;margin-bottom:18px}
.company-logo-preview{width:210px;height:120px;border:1px dashed #cbd5e1;border-radius:16px;background:#fff;display:grid;place-items:center;overflow:hidden;color:var(--muted);font-weight:800}
.company-logo-preview img{width:100%;height:100%;object-fit:contain;padding:8px}
.billing-series{padding-top:14px;margin-top:4px;border-top:1px solid var(--line)}
.form-row.three{grid-template-columns:repeat(3,1fr)}
.billing-retail-option{display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid #fde68a;background:#fffbeb;border-radius:14px;margin:4px 0 14px}
.billing-retail-option input{width:20px;height:20px;margin-top:2px}
.billing-retail-option span strong,.billing-retail-option span small{display:block}
.billing-retail-option span small{color:#6b7280;margin-top:3px;line-height:1.4}
.billing-vat-notice{display:grid;gap:3px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:14px;padding:12px;margin-bottom:14px}
.billing-vat-notice span{font-size:12px;line-height:1.4}
.fiscal-documents-panel{margin-bottom:16px;border-color:#ddd6fe}
.billing-compliance-notice{display:grid;gap:3px;padding:12px;border:1px solid #fcd34d;background:#fffbeb;border-radius:13px;margin-bottom:12px;color:#78350f}
.billing-compliance-notice span{font-size:12px;line-height:1.4}
.fiscal-document-list{display:grid;gap:9px}
.fiscal-document-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:11px;background:#fff}
.fiscal-document-main{display:flex;gap:10px;align-items:center;min-width:0}.fiscal-document-main div{min-width:0}.fiscal-document-main strong,.fiscal-document-main small{display:block}.fiscal-document-main small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.fiscal-type-pill{font-size:10px;font-weight:900;padding:6px 8px;border-radius:999px;white-space:nowrap}.fiscal-type-pill.full{background:#dbeafe;color:#1d4ed8}.fiscal-type-pill.simplified{background:#dcfce7;color:#166534}.fiscal-type-pill.rectificative{background:#fee2e2;color:#991b1b}
.fiscal-document-side{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.fiscal-status{font-size:10px;font-weight:900;padding:4px 7px;border-radius:999px}.fiscal-status.active{background:#dcfce7;color:#166534}.fiscal-status.replaced{background:#fef3c7;color:#92400e}.fiscal-status.rectified{background:#fee2e2;color:#991b1b}
.fiscal-issue-panel{margin-bottom:16px;border-color:#c7d2fe}
.btn-ticket{background:#047857;color:#fff}.btn-invoice{background:#1d4ed8;color:#fff}
.sale-fiscal-pill{display:inline-flex;align-items:center;margin-left:6px;padding:3px 7px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:10px;font-weight:900;vertical-align:middle}.sale-fiscal-pill.historical{background:#e5e7eb;color:#4b5563}
@media(max-width:780px){
  .billing-logo-editor{grid-template-columns:1fr}.company-logo-preview{width:100%;height:140px}.form-row.three{grid-template-columns:1fr}
  .fiscal-document-row{align-items:flex-start;flex-direction:column}.fiscal-document-side{justify-content:flex-start}
}


/* ETEKU V8.1 · Consumo automático de filamento */
.product-filament-recipe{margin:18px 0;padding:16px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:16px}
.product-filament-recipe-list{display:grid;gap:9px}
.product-filament-recipe-row{display:grid;grid-template-columns:60px minmax(0,1fr) 125px 42px;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:9px}
.recipe-filament-photo{width:58px;height:58px;border-radius:11px;object-fit:cover;border:1px solid var(--line)}
.recipe-filament-photo.placeholder{display:grid;place-items:center;background:#e5e7eb}
.recipe-filament-info{min-width:0}.recipe-filament-info strong,.recipe-filament-info small{display:block}.recipe-filament-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipe-filament-info small{color:var(--muted);font-size:11px;margin-top:3px}
.recipe-grams label{display:block;font-size:10px;font-weight:900;color:var(--muted);text-transform:uppercase;margin-bottom:4px}.recipe-grams input{width:100%;height:40px;border:1px solid #d1d5db;border-radius:10px;padding:7px}
.remove-recipe-filament{width:40px;height:40px;border:0;border-radius:10px;background:#fee2e2;color:#991b1b;font-size:20px;font-weight:900}
.product-filament-recipe-summary{display:grid;gap:2px;margin-top:10px;color:#166534}.product-filament-recipe-summary span{font-size:12px}
.add-filament-consumption{border:1px solid #bbf7d0;background:#f0fdf4;border-radius:14px;padding:12px;margin-bottom:16px}
.add-filament-consumption-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.add-filament-consumption-head div strong,.add-filament-consumption-head div span{display:block}.add-filament-consumption-head div span{font-size:12px;color:var(--muted);margin-top:2px}
.consumption-ok,.consumption-warning{font-size:11px;font-weight:900;padding:6px 9px;border-radius:999px}.consumption-ok{background:#dcfce7;color:#166534}.consumption-warning{background:#fee2e2;color:#991b1b}
.add-filament-consumption-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px;background:#fff;border:1px solid #d1fae5;border-radius:11px;margin-top:7px}
.add-filament-consumption-row.insufficient{border-color:#fecaca;background:#fef2f2}
.add-filament-thumb{width:48px;height:48px;border-radius:10px;object-fit:cover;border:1px solid var(--line)}.add-filament-thumb.placeholder{display:grid;place-items:center}
.add-filament-description{min-width:0}.add-filament-description strong,.add-filament-description small{display:block}.add-filament-description strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-filament-description small{font-size:11px;color:var(--muted);margin-top:2px}
.add-filament-need{text-align:right;white-space:nowrap}.add-filament-need strong,.add-filament-need span{display:block}.add-filament-need strong{color:#166534}.add-filament-need span{font-size:10px;color:var(--muted);margin-top:2px}.add-filament-consumption-row.insufficient .add-filament-need strong,.add-filament-consumption-row.insufficient .add-filament-need span{color:#991b1b}
@media(max-width:780px){.product-filament-recipe-row{grid-template-columns:54px minmax(0,1fr) 105px 38px}.recipe-filament-photo{width:52px;height:52px}.add-filament-consumption-head{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.product-filament-recipe-row{grid-template-columns:52px minmax(0,1fr) 38px}.recipe-grams{grid-column:2}.remove-recipe-filament{grid-column:3;grid-row:1/3;align-self:center}.add-filament-consumption-row{grid-template-columns:44px minmax(0,1fr)}.add-filament-need{grid-column:2;text-align:left}}


.product-card.loss-product{border-color:#fecaca;box-shadow:0 0 0 1px #fee2e2}
.product-loss-chip{display:block;margin:8px 0;padding:7px 9px;border:1px solid #fecaca;border-radius:10px;background:var(--danger-bg);color:var(--danger);font-size:11px;font-weight:900;text-align:center}
.product-loss-warning{margin:-6px 0 16px;padding:11px 12px;border:1px solid #fecaca;border-radius:12px;background:var(--danger-bg);color:var(--danger);font-size:13px;font-weight:900}
.loss-alert-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #fecaca;border-radius:14px;background:#fff;text-align:left}
.loss-alert-item:hover{background:#fff7f7}
.loss-alert-main{display:flex;align-items:center;gap:12px;min-width:0}
.loss-alert-main>span{min-width:0}
.loss-alert-main strong,.loss-alert-main small{display:block}
.loss-alert-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loss-alert-main small{margin-top:2px;color:var(--muted)}
.loss-alert-gap{flex:0 0 auto;color:var(--danger);font-weight:900}


.product-external-files{margin-top:22px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.external-folder-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.external-files-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px}
.external-files-head strong,.external-files-head small{display:block}
.external-files-head small{margin-top:3px;color:var(--muted)}
.product-external-files-list{display:grid;gap:10px}
.product-external-file-row{padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}
.external-file-main{display:grid;grid-template-columns:120px minmax(180px,.8fr) minmax(240px,1.4fr);gap:10px}
.external-file-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:8px}
.external-file-actions{display:flex;gap:8px;padding-bottom:2px}
@media(max-width:850px){
  .external-folder-card,.external-file-main,.external-file-bottom{grid-template-columns:1fr}
  .external-file-actions{justify-content:flex-start}
  .external-files-head{align-items:flex-start;flex-direction:column}
}


.onedrive-auto-card{margin:0 0 14px;padding:14px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff}
.onedrive-status-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.onedrive-status-line strong,.onedrive-status-line small{display:block}
.onedrive-status-line small{margin-top:3px;color:var(--muted)}
.onedrive-buttons,.external-folder-actions{display:flex;gap:8px;flex-wrap:wrap}
.onedrive-auto-toggle{margin:0;align-self:end}
.onedrive-badge-connected{background:#dcfce7;color:#166534}
.onedrive-badge-disconnected{background:#fee2e2;color:#991b1b}
.onedrive-badge-config{background:#fef3c7;color:#92400e}
@media(max-width:850px){
  .onedrive-status-line{align-items:flex-start}
  .external-folder-actions{justify-content:flex-start}
}

/* V9.3 · Pedidos y cobros */
.order-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.order-editor{margin-bottom:18px}
.order-add-line{display:grid;grid-template-columns:minmax(240px,1fr) 110px 130px auto;gap:10px;align-items:end;margin:16px 0}
.order-draft-lines{display:grid;gap:8px}
.order-draft-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 120px 120px 42px;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.order-draft-product strong,.order-draft-product small{display:block}.order-draft-product small{color:var(--muted)}
.order-editor-total{display:flex;justify-content:flex-end;gap:18px;align-items:center;padding:14px 0;font-size:18px}.order-editor-total strong{font-size:24px}
.order-filter-row{display:grid;grid-template-columns:1fr 260px;gap:12px;margin-bottom:14px}
.order-list{display:grid;gap:12px}
.order-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.order-card-head{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;background:#f8fafc;border-bottom:1px solid var(--line)}
.order-card-head h3{margin:3px 0;font-size:17px}.order-card-head small{display:block;color:var(--muted)}
.order-card-total{text-align:right}.order-card-total strong{display:block;font-size:22px}
.order-status,.collection-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:900;letter-spacing:.03em}
.order-status.pending{background:#fef3c7;color:#92400e}.order-status.in_production{background:#dbeafe;color:#1d4ed8}.order-status.ready{background:#dcfce7;color:#166534}.order-status.delivered{background:#e5e7eb;color:#374151}.order-status.cancelled{background:#fee2e2;color:#991b1b}
.collection-status.paid{background:#dcfce7;color:#166534}.collection-status.pending{background:#fee2e2;color:#991b1b}
.order-contact{display:flex;gap:10px 18px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.order-items{padding:8px 16px}
.order-item{display:grid;grid-template-columns:minmax(0,1fr) 95px 190px auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.order-item:last-child{border-bottom:0}
.order-item-main strong,.order-item-main small{display:block}.order-item-main small{color:var(--muted)}
.order-progress{font-size:12px}.order-progress strong{display:block}.order-progress-bar{height:7px;background:#e5e7eb;border-radius:999px;margin-top:5px;overflow:hidden}.order-progress-bar span{display:block;height:100%;background:#22c55e}
.order-card-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px;background:#f8fafc;border-top:1px solid var(--line)}
.production-order-link{padding:10px 12px;margin-bottom:12px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;color:#1e3a8a;font-weight:800}
.receivable-summary{display:inline-flex;gap:8px;align-items:center}
@media(max-width:900px){
  .order-kpis{grid-template-columns:1fr 1fr}
  .order-add-line,.order-filter-row{grid-template-columns:1fr}
  .order-item{grid-template-columns:1fr 90px}
  .order-item .order-progress,.order-item .order-item-action{grid-column:1/-1}
}
@media(max-width:600px){
  .order-kpis{grid-template-columns:1fr 1fr}
  .order-draft-row{grid-template-columns:1fr 70px}
  .order-draft-row .order-line-price,.order-draft-row .order-line-total{grid-column:1/2}
  .order-card-head{flex-direction:column}.order-card-total{text-align:left}
}

/* V9.3.1 · coste automático sincronizado con coste de pieza */
#editorCost.readonly-auto-cost{
  background:#f0fdf4;
  border-color:#86efac;
  font-weight:800;
  cursor:not-allowed;
}

/* V9.4 · clientes, cobros parciales y panel de tareas */
.home-tasks-panel{margin-bottom:18px}
.home-tasks-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.home-task{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;text-align:left;cursor:pointer}
.home-task:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(15,23,42,.08)}
.home-task strong{display:block;font-size:22px;margin:4px 0}
.home-task span,.home-task small{display:block}.home-task small{color:var(--muted)}
.home-task.urgent{border-color:#fecaca;background:#fff7f7}.home-task.warning{border-color:#fde68a;background:#fffbeb}.home-task.good{border-color:#bbf7d0;background:#f0fdf4}
.customer-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.customer-layout{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.45fr);gap:16px}
.customer-list{display:grid;gap:10px;margin-top:12px}
.customer-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.customer-card-head{display:flex;justify-content:space-between;gap:12px;padding:13px 14px;background:#f8fafc}
.customer-card-head h3{margin:0 0 4px}.customer-card-head small{color:var(--muted)}
.customer-card-body{padding:12px 14px}
.customer-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.customer-metric{padding:9px;border-radius:10px;background:#f8fafc}.customer-metric span,.customer-metric strong{display:block}.customer-metric span{font-size:11px;color:var(--muted)}
.customer-card-actions{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--line)}
.payment-history{display:grid;gap:5px;margin-top:10px}.payment-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:6px 8px;border-radius:8px;background:#f8fafc}.payment-row.voided{text-decoration:line-through;opacity:.6}
.money-progress{margin-top:7px}.money-progress-bar{height:7px;border-radius:999px;background:#e5e7eb;overflow:hidden}.money-progress-bar span{display:block;height:100%;background:#22c55e}
.payment-summary{display:inline-flex;gap:5px;align-items:center;flex-wrap:wrap}
.payment-balance{font-size:12px;font-weight:800;color:#991b1b}
@media(max-width:1050px){.home-tasks-list{grid-template-columns:repeat(3,1fr)}.customer-layout{grid-template-columns:1fr}}
@media(max-width:700px){.home-tasks-list{grid-template-columns:1fr 1fr}.customer-kpis{grid-template-columns:1fr 1fr}.customer-metrics{grid-template-columns:1fr 1fr}}

/* V9.4.1 · listado imprimible y borrado definitivo seguro */
#printProductListBtn{white-space:nowrap}
#deleteProductPermanentBtn{border-width:2px}

/* V9.5 · edición ventas, buscador producción e informes personalizados */
.sale-edit-lines{display:grid;gap:8px;margin:10px 0 14px}.sale-edit-line{display:grid;grid-template-columns:minmax(220px,2fr) 100px 110px 110px 110px 38px;gap:8px;align-items:end;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.sale-edit-line small{display:block;color:var(--muted);margin-top:3px}.sale-edit-line label{font-size:11px;color:var(--muted)}.sale-edit-line label input{margin-top:4px}.remove-sale-edit-line{border:0;background:#fee2e2;color:#991b1b;border-radius:9px;height:38px;font-size:20px;cursor:pointer}.sale-edit-summary{display:flex;gap:22px;justify-content:flex-end;flex-wrap:wrap;padding:12px;border-top:1px solid var(--line);margin-bottom:12px}.sale-edit-summary strong{font-size:17px;margin-left:5px}.sale-edit-add{max-width:720px}.custom-report-controls{display:grid;grid-template-columns:1.1fr repeat(2,.75fr) 1.2fr;gap:10px}.custom-report-fields{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.custom-report-fields label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:#fff;cursor:pointer}.custom-report-table-wrap{overflow:auto;margin-top:14px;max-height:560px}.custom-report-table{width:100%;border-collapse:collapse;font-size:12px}.custom-report-table th,.custom-report-table td{border-bottom:1px solid var(--line);padding:8px;vertical-align:top}.custom-report-table th{position:sticky;top:0;background:#f8fafc;text-align:left;z-index:1}.custom-report-table .num{text-align:right;white-space:nowrap}#productionProductSelected{display:block;margin-top:6px;font-weight:700}
@media(max-width:900px){.sale-edit-line{grid-template-columns:1fr 1fr}.sale-edit-line>div:first-child{grid-column:1/-1}.custom-report-controls{grid-template-columns:1fr 1fr}}@media(max-width:600px){.custom-report-controls{grid-template-columns:1fr}.sale-edit-line{grid-template-columns:1fr 1fr}}


/* V9.5.1 · navegación Gestión / Producción / Informes corregida */
.management-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 16px;
  padding:8px;
  background:#e5e7eb;
  border:1px solid #d1d5db;
  border-radius:16px;
}
.management-tab{
  border:1px solid transparent;
  border-radius:11px;
  padding:10px 13px;
  background:transparent;
  color:#374151;
  font-weight:850;
  cursor:pointer;
}
.management-tab:hover{
  background:#f8fafc;
}
.management-tab.active{
  background:#fff;
  color:#111827;
  border-color:#cbd5e1;
  box-shadow:0 2px 8px rgba(15,23,42,.08);
}
.management-pane{
  display:none;
}
.management-pane.active{
  display:block;
}
.management-grid{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.35fr);
  gap:16px;
  align-items:start;
}
.erp-list{
  display:grid;
  gap:9px;
}
.erp-list.compact{
  gap:6px;
}
.custom-report-panel{
  margin-top:16px;
  border-color:#bbf7d0;
}
.custom-report-panel .panel-head{
  align-items:flex-start;
}
@media(max-width:900px){
  .management-grid{grid-template-columns:1fr}
  .management-tabs{overflow-x:auto;flex-wrap:nowrap}
  .management-tab{white-space:nowrap;flex:0 0 auto}
}


/* V9.5.2 · Presupuestos */
.bottom-nav{
  overflow-x:auto;
  grid-template-columns:repeat(10,minmax(72px,1fr));
  width:min(1120px,calc(100% - 22px));
}
.quote-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.quote-editor{margin-bottom:16px}
.quote-line-mode{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 2px}.quote-line-mode small{color:var(--muted);margin-left:4px}
.quote-add-line{display:grid;grid-template-columns:minmax(280px,1.8fr) 110px 130px 100px auto;gap:10px;align-items:end;margin:14px 0}
.quote-draft-lines{display:grid;gap:7px;margin:10px 0}
.quote-draft-row{display:grid;grid-template-columns:minmax(260px,1.8fr) 90px 120px 95px 120px auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:9px;background:#fff}
.quote-draft-product strong,.quote-draft-product small{display:block}.quote-draft-product small{color:var(--muted);margin-top:2px}.quote-line-name{width:100%;font-weight:700}.quote-draft-row.manual-line{border-style:dashed;background:#fffdf2}
.quote-editor-total{display:flex;justify-content:flex-end;gap:12px;align-items:center;padding:11px 0;font-size:15px}.quote-editor-total strong{font-size:22px}
.quote-filter-row{display:grid;grid-template-columns:1.7fr .7fr;gap:12px}
.quote-list{display:grid;gap:10px;margin-top:12px}
.quote-card{border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}
.quote-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:13px 14px;background:#f8fafc}
.quote-card-head h3{margin:3px 0}.quote-card-head small{color:var(--muted)}
.quote-card-body{padding:12px 14px}.quote-items{display:grid;gap:5px;margin-top:8px}
.quote-item{display:flex;justify-content:space-between;gap:12px;padding:6px 8px;border-radius:8px;background:#f8fafc;font-size:12px}
.quote-card-actions{display:flex;gap:7px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--line)}
.quote-status{display:inline-flex;font-size:10px;font-weight:900;padding:5px 8px;border-radius:999px}
.quote-status.draft{background:#e5e7eb;color:#374151}.quote-status.sent{background:#dbeafe;color:#1d4ed8}.quote-status.accepted{background:#dcfce7;color:#166534}.quote-status.rejected{background:#fee2e2;color:#991b1b}.quote-status.expired{background:#fef3c7;color:#92400e}
@media(max-width:980px){
  .quote-add-line{grid-template-columns:1fr 1fr 1fr}
  .quote-add-line .search-field{grid-column:1/-1}
  .quote-draft-row{grid-template-columns:1fr 80px 100px 85px}
  .quote-draft-row .quote-line-total{grid-column:2/4}
}
@media(max-width:700px){
  .quote-kpis{grid-template-columns:1fr 1fr}
  .quote-filter-row{grid-template-columns:1fr}
  .quote-add-line{grid-template-columns:1fr 1fr}
  .quote-draft-row{grid-template-columns:1fr 1fr}
}

/* V9.6 UX */
:root{--eteku-yellow:#ffd400;--eteku-black:#090909;--sidebar-width:248px}
[hidden]{display:none!important}
.auth-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,rgba(255,212,0,.13),transparent 28%),linear-gradient(145deg,#080808,#151515 58%,#111827);color:#fff}
.auth-card{width:min(460px,100%);background:rgba(255,255,255,.98);color:#111827;border-radius:28px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.45);border:1px solid rgba(255,212,0,.35)}
.auth-logo{display:block;width:150px;height:150px;object-fit:cover;margin:0 auto 18px;border-radius:26px;background:#000}.auth-copy{text-align:center;margin-bottom:22px}.auth-copy h1{font-size:32px;margin:4px 0 6px}.auth-form{display:grid;gap:10px}
.auth-first-run{display:grid;gap:4px;padding:12px;border-radius:12px;background:#fff8cc;border:1px solid #fde047;margin-bottom:6px}.auth-first-run span{font-size:12px;color:#6b7280}
.brand-mark.has-logo{overflow:hidden;background:#000;padding:0}.brand-mark.has-logo img{width:100%;height:100%;object-fit:cover}
.global-search-wrap{position:relative;flex:1;max-width:620px;margin:0 14px}.global-search-wrap input{width:100%;border:1px solid #374151;background:#0b1220;color:#fff;border-radius:14px;padding:11px 15px 11px 38px;outline:none}.global-search-wrap input:focus{border-color:var(--eteku-yellow);box-shadow:0 0 0 3px rgba(255,212,0,.12)}.global-search-icon{position:absolute;left:13px;top:9px;font-size:19px;color:#94a3b8}
.global-search-results{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:90;background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:15px;box-shadow:0 18px 42px rgba(15,23,42,.25);max-height:420px;overflow:auto;padding:7px}
.global-result{width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;border:0;background:transparent;border-radius:10px;padding:10px;cursor:pointer}.global-result:hover{background:#f3f4f6}.global-result strong,.global-result small{display:block}.global-result small{color:#6b7280;margin-top:2px}.global-result-type{font-size:10px;font-weight:900;background:#111827;color:#fff;border-radius:999px;padding:4px 7px;height:max-content}.top-user{font-size:12px;font-weight:800;color:#fde047;white-space:nowrap}
.app-sidebar{display:none}.settings-brand-logo{width:94px;height:94px;border-radius:20px;object-fit:cover;background:#000}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-account{display:grid;gap:3px;padding:12px;border-radius:12px;background:#f8fafc;margin-bottom:12px}.settings-account span{font-size:12px;color:#6b7280}.settings-account strong{font-size:18px}.security-note{display:grid;gap:4px;margin-top:14px;padding:11px;border-radius:12px;background:#f0fdf4;border:1px solid #bbf7d0}.security-note span{font-size:12px;color:#4b5563}
.image-storage-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.image-storage-kpis div{padding:10px;border-radius:12px;background:#f8fafc}.image-storage-kpis span,.image-storage-kpis strong{display:block}.image-storage-kpis span{font-size:11px;color:#6b7280}.image-storage-kpis strong{font-size:24px;margin-top:2px}.settings-actions{display:grid;gap:9px}
@media(min-width:1050px){
 body{padding-bottom:0}.app-sidebar{display:flex;position:fixed;left:0;top:0;bottom:0;z-index:75;width:var(--sidebar-width);background:#0a0a0a;border-right:1px solid #262626;color:#fff;flex-direction:column}
 .sidebar-brand{display:flex;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid #262626}.sidebar-brand img{width:62px;height:62px;object-fit:cover;border-radius:14px;background:#000}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{font-size:20px;color:var(--eteku-yellow)}.sidebar-brand span{font-size:12px;color:#a3a3a3}
 .bottom-nav{position:static;left:auto;bottom:auto;transform:none;z-index:auto;width:auto;display:flex;flex-direction:column;gap:3px;background:transparent;border:0;border-radius:0;padding:10px;box-shadow:none;overflow-y:auto;flex:1}.nav-section-label{display:block;padding:13px 10px 5px;color:#737373;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.nav-btn{display:flex;align-items:center;gap:10px;text-align:left;color:#cbd5e1;border-radius:11px;padding:9px 10px;font-size:13px}.nav-btn span{display:inline-grid;place-items:center;width:25px;font-size:18px;margin:0}.nav-btn:hover{background:#171717;color:#fff}.nav-btn.active{background:var(--eteku-yellow);color:#050505}
 .sidebar-foot{display:flex;gap:8px;align-items:center;padding:13px 16px;color:#a3a3a3;font-size:11px;border-top:1px solid #262626}.sidebar-dot{width:8px;height:8px;border-radius:50%;background:#22c55e}
 .topbar{margin-left:var(--sidebar-width);padding:10px 20px;min-height:68px}.topbar .brand{display:none}.shell{max-width:none;margin-left:var(--sidebar-width);padding:24px 24px 38px}
}
@media(max-width:1049px){.nav-section-label,.sidebar-brand,.sidebar-foot{display:none}.app-sidebar{display:contents}.bottom-nav{grid-template-columns:repeat(12,minmax(76px,1fr));width:calc(100% - 16px);max-width:none;overflow-x:auto;left:8px;right:8px;transform:none}.global-search-wrap{order:3;max-width:none;width:100%;margin:6px 0 0}.topbar{flex-wrap:wrap}.settings-grid{grid-template-columns:1fr}}
@media(max-width:600px){.top-actions{width:100%;align-items:center}.top-user{margin-left:auto}#cloudStatus{display:none}.auth-card{padding:20px;border-radius:22px}.auth-logo{width:120px;height:120px}}

/* V9.6.1 · Ajustes OneDrive + administración de usuarios */
.onedrive-settings-inline{display:grid;grid-template-columns:1.3fr 1fr;gap:10px;align-items:end;margin:12px 0}
.onedrive-settings-actions{margin-bottom:8px}
.user-management-panel{grid-column:1/-1}
.user-create-form{padding:12px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;margin-bottom:12px}
.auth-users-list{display:grid;gap:8px}
.auth-user-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 120px 150px minmax(290px,1fr);gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:10px;background:#fff}
.auth-user-main strong,.auth-user-main small{display:block}.auth-user-main small{color:var(--muted);margin-top:2px}
.auth-user-role{font-size:11px;font-weight:900}.auth-user-state{font-size:11px;font-weight:900}
.auth-user-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.migration-failures{margin-top:9px;padding:10px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;font-size:12px}
.migration-failures strong{display:block;margin-bottom:5px}
.migration-failures ul{margin:0;padding-left:18px}
@media(max-width:900px){
  .onedrive-settings-inline{grid-template-columns:1fr}
  .auth-user-row{grid-template-columns:1fr 1fr}
  .auth-user-actions{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:600px){.auth-user-row{grid-template-columns:1fr}}

/* V9.6.8 · asociación de eventos */
.entity-event-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:850;padding:4px 8px;border-radius:999px;background:#fff7cc;color:#713f12;border:1px solid #fde68a;margin-left:5px}
.order-event-control{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.order-event-control label{font-size:11px;font-weight:800;color:var(--muted)}
.order-event-control select{min-width:190px;max-width:310px;padding:7px 9px;border-radius:9px;border:1px solid var(--line);background:#fff}

/* V9.6.9 · edición pedidos y presupuestos */
.order-edit-notice{margin:-2px 0 13px;padding:10px 12px;border-radius:11px;background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;font-size:12px}
.order-draft-lock{font-size:10px;font-weight:900;color:#92400e;margin-top:3px}
.quote-linked-edit-note{font-size:11px;color:#92400e;font-weight:750}

/* V9.6.12 · Tarjetas de producto legibles en cualquier ancho */
@media(max-width:360px){
  .product-card .card-body{padding:12px}
  .product-actions{gap:7px}
  .product-actions .btn{font-size:13px;padding:9px 6px}
}

/* V9.7 · stock bajo */
.low-stock-editor{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr);gap:14px;align-items:end;padding:12px 14px;margin:2px 0 14px;border:1px solid #fde68a;border-radius:14px;background:#fffbeb}
.low-stock-threshold-row{display:flex;align-items:center;gap:9px}
.low-stock-threshold-row input{width:105px}
.low-stock-threshold-row span{font-size:12px;color:var(--muted);font-weight:700}
.product-stock-alert{display:inline-flex;align-items:center;gap:5px;margin:5px 0 2px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;background:#fff7ed;border:1px solid #fdba74;color:#9a3412}
.product-stock-alert.out{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.product-stock-config{font-size:10px;color:var(--muted);font-weight:750}

/* V9.7 · descuentos */
.discount-control{display:grid;grid-template-columns:38px minmax(62px,1fr) 38px;gap:4px;align-items:center}
.discount-control button{height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;font-weight:900;cursor:pointer;padding:0}
.discount-control input{text-align:center;min-width:0}

/* V9.7 · productos vendidos */
.sales-product-summary-panel{margin-top:18px}
.sales-product-filters{display:grid;grid-template-columns:160px 160px minmax(180px,.8fr) minmax(220px,1.3fr);gap:12px;align-items:end}
.sales-product-period-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.sales-product-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.sales-product-kpi{padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.sales-product-kpi span{display:block;font-size:11px;color:var(--muted);font-weight:750}
.sales-product-kpi strong{display:block;margin-top:4px;font-size:18px}
.table-scroll{overflow:auto}
.sales-product-table{width:100%;border-collapse:collapse;min-width:760px}
.sales-product-table th,.sales-product-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}
.sales-product-table th{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em;position:sticky;top:0;background:#fff}
.sales-product-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.sales-product-table tr:hover td{background:var(--soft)}
.sales-product-name strong{display:block}.sales-product-name small{color:var(--muted)}
.sales-product-empty{text-align:center!important;padding:25px!important;color:var(--muted)}

@media(max-width:900px){
  .low-stock-editor,.sales-product-filters,.sales-product-kpis{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .low-stock-editor,.sales-product-filters,.sales-product-kpis{grid-template-columns:1fr}
}

/* V9.8.0 · Inventario inteligente y ranking por evento */
.inventory-intelligence,.event-ranking-panel{margin-top:18px}
.inventory-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.inventory-smart-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.inventory-smart-grid>article{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}
.smart-panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.smart-panel-title h3{margin:0;font-size:15px}
.smart-panel-title span{font-size:11px;color:var(--muted)}
.smart-panel-title select{max-width:120px}
.smart-list{display:grid;gap:8px}
.smart-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--soft)}
.smart-row strong,.smart-row small{display:block}
.smart-row small{margin-top:2px;color:var(--muted);font-size:10px}
.smart-row b{font-size:12px}
.smart-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.smart-empty{padding:20px;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:900px){.inventory-smart-grid,.inventory-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.inventory-smart-grid,.inventory-kpis{grid-template-columns:1fr}.smart-row{align-items:flex-start;flex-direction:column}.smart-row-actions{justify-content:flex-start}}

/* V9.8.1 REV2 · Ficha de producto simplificada + encuadre por botones */
#editorForm{max-width:1120px}
.product-editor-primary{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr);gap:16px;align-items:start;margin-bottom:14px}
.product-editor-primary .product-image-editor{margin:0;padding:14px;height:auto}
.product-basic-editor{padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff}
.product-basic-head{margin-bottom:14px}.product-basic-head h2{margin:2px 0 4px;font-size:19px}
.product-editor-primary .product-image-dropzone,.product-editor-primary .product-image-preview{min-height:250px}
.product-editor-primary .product-image-preview img{min-height:250px;max-height:360px}
.product-editor-primary .product-image-hints{margin-top:8px;gap:8px}
.product-editor-primary .product-image-hints span{padding:4px 7px;border-radius:999px;background:#f1f5f9;font-size:10px}
.basic-options-details{border-top:1px solid var(--line);margin-top:2px;padding-top:6px}
.basic-options-details>summary{list-style:none;cursor:pointer;padding:10px 2px;display:flex;align-items:center;justify-content:space-between;color:#334155}
.basic-options-details>summary::-webkit-details-marker{display:none}
.basic-options-details>summary span{display:flex;align-items:center;gap:8px}.basic-options-details>summary small{color:var(--muted);font-weight:700}
.basic-options-details>summary:after{content:"+";font-size:20px;font-weight:700;color:#64748b}.basic-options-details[open]>summary:after{content:"−"}
.basic-options-details .low-stock-editor{grid-template-columns:1fr;gap:8px;margin:0;padding:12px;border:0;border-radius:12px;background:#fffbeb}
.basic-options-details .low-stock-editor .field{margin-bottom:6px}

.editor-accordion{margin:10px 0;border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}
.editor-accordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;user-select:none;transition:background .15s ease}
.editor-accordion>summary::-webkit-details-marker{display:none}.editor-accordion>summary:hover{background:#f8fafc}
.editor-accordion>summary>span:first-child{display:grid;gap:2px}.editor-accordion>summary strong{font-size:14px;color:#1f2937}.editor-accordion>summary small{font-size:11px;color:var(--muted);font-weight:650}
.accordion-chevron{font-size:20px;color:#64748b;transition:transform .15s ease}.editor-accordion[open] .accordion-chevron{transform:rotate(180deg)}
.editor-accordion-body{padding:4px 16px 16px;border-top:1px solid #f1f5f9}
.editor-accordion-body>.product-external-files,.editor-accordion-body>.promo-editor,.editor-accordion-body>.shop-editor{margin:12px 0 0;padding:0;border:0;background:transparent;border-radius:0}
.editor-accordion-body>.product-cost-editor{padding-top:12px}
.editor-accordion-body>.product-filament-recipe{margin:14px 0 0}

.crop-editor{margin:10px 0 0;padding:0;border:1px solid #cbd5e1;border-radius:13px;background:#fff;overflow:hidden}
.crop-editor[hidden]{display:none}
.crop-summary{list-style:none;cursor:pointer;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f8fafc}
.crop-summary::-webkit-details-marker{display:none}.crop-summary>span:first-child{display:grid;gap:2px}.crop-summary strong{font-size:12px}.crop-summary small{font-size:10px;color:var(--muted)}
.crop-summary-action{font-size:10px;font-weight:900;color:var(--primary);text-transform:uppercase}
.crop-editor-body{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:12px;padding:12px}
.crop-stage{max-width:280px;margin:0 auto;border-radius:12px}.crop-controls-simple{display:grid;align-content:start;gap:10px}
.crop-presets{display:grid;grid-template-columns:1fr 1fr;gap:7px}.crop-presets .btn{padding:8px 6px;font-size:11px}
.crop-control-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);font-weight:800}.crop-control-label strong{color:var(--text)}.crop-control-label small{font-size:10px}
.crop-zoom-buttons{display:grid;grid-template-columns:46px minmax(90px,1fr) 46px;gap:7px}
.crop-control-btn,.crop-center-btn,.crop-move-pad button{border:1px solid #cbd5e1;background:#fff;border-radius:10px;min-height:40px;font-weight:900;color:#334155;cursor:pointer}.crop-control-btn{font-size:22px}.crop-center-btn{font-size:11px}.crop-control-btn:hover,.crop-center-btn:hover,.crop-move-pad button:hover{background:#eff6ff;border-color:#93c5fd}
.crop-move-pad{width:142px;display:grid;grid-template-columns:42px 42px 42px;grid-template-rows:38px 38px 38px;gap:5px;margin:0 auto}.crop-move-pad button{min-height:38px;font-size:18px;padding:0}.crop-move-pad #cropHomeBtn{font-size:12px;color:var(--primary)}
.crop-help{margin:0;padding:9px 10px;border-radius:10px;background:#f8fafc;color:var(--muted);font-size:10px;line-height:1.4}

@media(max-width:900px){
  #editorForm{max-width:860px}.product-editor-primary{grid-template-columns:1fr}.product-editor-primary .product-image-editor,.product-basic-editor{padding:14px}
  .product-editor-primary .product-image-dropzone,.product-editor-primary .product-image-preview{min-height:220px}.product-editor-primary .product-image-preview img{min-height:220px;max-height:420px}
}
@media(max-width:600px){
  .crop-editor-body{grid-template-columns:1fr}.crop-stage{max-width:320px}.crop-presets{grid-template-columns:1fr}
  .editor-accordion>summary{padding:13px}.editor-accordion-body{padding:3px 12px 13px}
}


/* V9.8.1 REV3 · Encuadre directo sobre la imagen */
.crop-editor-direct{display:block;padding:12px}
.crop-stage-interactive{position:relative;max-width:380px;margin:0 auto;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:contain}
.crop-stage-interactive.is-dragging{cursor:grabbing;box-shadow:0 0 0 3px rgba(37,99,235,.12),inset 0 0 0 1px rgba(15,23,42,.03)}
.crop-stage-interactive canvas{display:block;width:100%;height:100%;cursor:inherit;touch-action:none}
.crop-stage-tip{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);display:grid;gap:2px;text-align:center;padding:8px 12px;border-radius:999px;background:rgba(15,23,42,.82);color:#fff;box-shadow:0 4px 14px rgba(15,23,42,.18);pointer-events:none;transition:opacity .18s ease}
.crop-stage-tip strong{font-size:11px}.crop-stage-tip span{font-size:9px;opacity:.85}
.crop-stage-interactive.has-interacted .crop-stage-tip{opacity:0}
.crop-direct-bar{max-width:380px;margin:10px auto 0;display:flex;align-items:center;justify-content:space-between;gap:10px}
.crop-direct-zoom{font-size:11px;font-weight:800;color:var(--muted)}
.crop-direct-zoom strong{color:var(--text);margin-left:4px}
.crop-direct-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.crop-direct-actions .btn{min-height:34px;padding:6px 10px;font-size:10px}
.crop-help-direct{max-width:380px;margin:8px auto 0;text-align:center}
@media (max-width:640px){
  .crop-stage-interactive{max-width:100%}
  .crop-direct-bar{max-width:100%;align-items:flex-start}
  .crop-help-direct{max-width:100%;text-align:left}
  .crop-stage-tip{border-radius:12px;width:calc(100% - 24px)}
}


/* V9.8.2 · dashboard navegable hacia inventario */
.dashboard-stock-kpi{font:inherit;text-align:left;width:100%;cursor:pointer;appearance:none}.dashboard-stock-kpi:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,23,42,.08)}.dashboard-stock-kpi:focus-visible,.dashboard-product-alert:focus-visible,.product-card-openable:focus-visible,.dashboard-list-link:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}.dashboard-stock-kpi small{display:block;margin-top:6px;font-size:11px;font-weight:700;color:var(--muted)}
.panel-head-actions{display:flex;align-items:center;gap:10px}.dashboard-list-link{border:0;background:transparent;padding:6px 2px;color:#2563eb;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.dashboard-list-link:hover{text-decoration:underline}
.dashboard-product-alert{width:100%;font:inherit;text-align:left;cursor:pointer;appearance:none}.dashboard-product-alert:hover{background:#f8fafc;border-color:#cbd5e1}.dashboard-product-alert .stock-pill{margin-left:auto}.alert-open-arrow{font-size:18px;font-weight:800;color:#64748b;margin-left:2px}
.product-card-openable{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.product-card-openable:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(15,23,42,.09);border-color:#cbd5e1}.product-card-openable .product-actions{cursor:default}

/* V9.8.3 · Facturación filtrable + historial de cliente + ahorro D1 */
.billing-filter-panel .panel-mini-head{margin-bottom:10px}
.billing-filter-summary{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.billing-filter-summary span{display:inline-flex;gap:4px;align-items:center;padding:6px 9px;border-radius:999px;background:#f8fafc;border:1px solid var(--line)}
.billing-filter-summary .billing-paid{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
.billing-filter-summary .billing-pending{background:#fff7ed;color:#9a3412;border-color:#fed7aa}

.customer-card-clickable{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.customer-card-clickable:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(15,23,42,.08);border-color:#cbd5e1}
.customer-card-clickable:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}
.customer-pending-note,.customer-paid-note{margin:10px 0 0;padding:7px 9px;border-radius:9px;font-size:12px;font-weight:800}
.customer-pending-note{background:#fff7ed;color:#9a3412}
.customer-paid-note{background:#ecfdf5;color:#166534}

.customer-detail-panel{margin-bottom:16px;border-color:#bfdbfe;background:linear-gradient(180deg,#eff6ff 0,#fff 140px)}
.customer-detail-head{align-items:flex-start}
.customer-detail-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:12px 0 14px}
.customer-detail-kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 11px}
.customer-detail-kpi span,.customer-detail-kpi strong{display:block}
.customer-detail-kpi span{font-size:11px;color:var(--muted);margin-bottom:3px}
.customer-detail-kpi strong{font-size:17px}
.customer-detail-kpi.good{background:#ecfdf5;border-color:#bbf7d0}.customer-detail-kpi.good strong{color:#166534}
.customer-detail-kpi.warning{background:#fff7ed;border-color:#fed7aa}.customer-detail-kpi.warning strong{color:#9a3412}

.customer-history-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:5px;background:#e2e8f0;border-radius:12px;margin-bottom:10px}
.customer-history-tab{border:0;background:transparent;border-radius:9px;padding:8px 13px;font-weight:800;cursor:pointer;color:#475569}
.customer-history-tab.active{background:#fff;color:#0f172a;box-shadow:0 1px 4px rgba(15,23,42,.08)}
.customer-history-pane{display:none}.customer-history-pane.active{display:block}
.customer-history-list{display:grid;gap:8px;max-height:520px;overflow:auto;padding-right:2px}
.customer-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 11px}
.customer-history-main{min-width:0}.customer-history-main strong,.customer-history-main small{display:block}.customer-history-main small{margin-top:3px;color:var(--muted)}
.customer-history-side{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}

@media(max-width:1100px){
  .customer-detail-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .customer-detail-kpis{grid-template-columns:1fr 1fr}
  .customer-history-row{align-items:flex-start;flex-direction:column}
  .customer-history-side{justify-content:flex-start}
  .billing-filter-panel .form-row.four{grid-template-columns:1fr}
}
/* V9.8.4 · Importador de fichas de producto ETEKU */
.product-import-panel{margin:12px 0 14px;border:1px solid #93c5fd;border-radius:15px;background:#eff6ff;overflow:hidden}
.product-import-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;user-select:none}
.product-import-panel>summary::-webkit-details-marker{display:none}
.product-import-panel>summary>span:first-child{display:grid;gap:2px}.product-import-panel>summary strong{font-size:14px;color:#1e3a8a}.product-import-panel>summary small{font-size:11px;color:#475569;font-weight:650}
.product-import-panel[open] .accordion-chevron{transform:rotate(180deg)}
.product-import-body{padding:14px 15px 15px;border-top:1px solid #bfdbfe;background:#f8fbff}
.product-import-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}
#productImportJson{min-height:230px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;tab-size:2}
.product-import-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
@media(max-width:640px){.product-import-actions .btn{flex:1 1 calc(50% - 8px)}#productImportJson{min-height:260px}}


/* V9.8.5 · Exportación y completado seguro de fichas */
.product-import-mode{margin:0 0 12px;padding:10px 12px;border:1px solid #bfdbfe;border-radius:11px;background:#fff}
.product-import-mode .promo-check{margin:0}.product-import-mode .help{display:block;margin:5px 0 0 25px}
@media(max-width:640px){.product-import-mode .help{margin-left:0}}


/* V9.8.6 · Referencia/código/precio web sincronizados */
#editorShopReference[readonly],#editorShopBarcode[readonly],#editorShopOnlinePrice[readonly],#editorShopOfferPrice[readonly]{
  background:#f4f7fb;cursor:not-allowed;font-weight:700;color:#243447;
}

/* V9.8.8 · Fabricación por placas de impresión */
.product-print-plate-config{margin-top:10px;padding:12px 13px;border:1px solid #c7d2fe;border-radius:13px;background:#f8faff}
.product-print-plates-editor{margin-top:12px;padding-top:12px;border-top:1px solid #dbeafe}
.print-plates-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.print-plates-toolbar>div{display:grid;gap:2px}.print-plates-toolbar strong{font-size:13px}.print-plates-toolbar small{font-size:11px;color:var(--muted)}
.product-print-plate-list{display:grid;gap:12px}
.product-print-plate-card{border:1px solid #bfdbfe;border-radius:14px;background:#fff;padding:13px}
.print-plate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.print-plate-head>div:first-child{display:grid;grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:8px;flex:1}
.print-plate-number{display:inline-flex;align-items:center;min-height:32px;padding:5px 9px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:11px;font-weight:900;white-space:nowrap}
.print-plate-name{width:100%;min-height:40px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px;font-weight:800}
.print-plate-materials{display:grid;gap:8px;margin-top:4px;padding-top:10px;border-top:1px dashed #dbeafe}.print-plate-materials>strong{font-size:12px;color:#334155}
.print-plate-material-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 38px;gap:8px;align-items:end}
.print-plate-material-row select,.print-plate-material-row input{width:100%;min-height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 9px;background:#fff}
.print-plate-material-row .recipe-grams label{display:block;margin-bottom:4px;font-size:10px;font-weight:900;color:var(--muted);text-transform:uppercase}
.remove-print-plate-filament{width:38px;height:42px;border:0;border-radius:10px;background:#fee2e2;color:var(--danger);font-size:18px;font-weight:900}
.product-print-plate-summary{display:grid;gap:3px;margin-top:11px;padding:10px 12px;border:1px solid #bbf7d0;border-radius:12px;background:#f0fdf4;color:#166534}
.product-print-plate-summary strong{font-size:13px}.product-print-plate-summary span{font-size:11px;line-height:1.4}
.product-plate-chip{display:inline-flex;align-items:center;gap:4px;margin:7px 0 2px;padding:5px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:900}

.production-preview-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.production-preview-title strong,.production-preview-title span{display:block}.production-preview-title span{font-size:11px;color:var(--muted);text-align:right}
.production-preview-plate{margin:8px 0;padding:9px 10px;border:1px solid #dbeafe;border-radius:11px;background:#f8fbff}
.production-preview-plate-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:5px;font-size:12px}.production-preview-plate-head span{color:var(--muted);white-space:nowrap}
.production-preview-total{display:grid;grid-template-columns:1fr auto 1fr auto;gap:8px 12px;align-items:center;margin-top:9px;padding:9px 10px;border-radius:11px;background:#ecfdf5;color:#166534;font-size:12px}.production-preview-total.warning{background:#fff7ed;color:#9a3412}
.production-plates-progress{display:grid;gap:9px;margin:12px 0}
.production-plate-progress{padding:11px 12px;border:1px solid #fde68a;border-radius:13px;background:#fffdf5}.production-plate-progress.done{border-color:#bbf7d0;background:#f0fdf4}.production-plate-progress.retry-pending{border-style:dashed}
.production-plate-progress-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.production-plate-progress-head>div{min-width:0}.production-plate-progress-head strong,.production-plate-progress-head small{display:block}.production-plate-progress-head small{margin-top:3px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.production-plate-stats{display:flex;gap:8px 14px;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid rgba(148,163,184,.25);font-size:11px;color:#475569}.production-plate-stats strong{color:#0f172a}
.production-plate-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.production-plate-actions .btn{flex:1 1 170px}

@media(max-width:700px){
  .print-plate-head{flex-direction:column}.print-plate-head>div:first-child{width:100%;grid-template-columns:1fr}.print-plate-head .btn{width:100%}
  .print-plate-material-row{grid-template-columns:1fr 92px 38px}
  .production-preview-title,.production-plate-progress-head{flex-direction:column}.production-preview-title span{text-align:left}
  .production-preview-total{grid-template-columns:1fr auto}
}
@media(max-width:430px){
  .print-plate-material-row{grid-template-columns:1fr 38px}.print-plate-material-row .recipe-grams{grid-column:1/2}.print-plate-material-row .remove-print-plate-filament{grid-column:2/3;grid-row:1/3;align-self:end}
}


/* V9.8.12 · filtros rápidos de Producción */
.production-status-filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px;padding:6px;background:#f1f5f9;border:1px solid var(--line);border-radius:13px}
.production-status-filter{display:inline-flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:9px;padding:8px 11px;background:transparent;color:#475569;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.production-status-filter:hover{background:#fff}
.production-status-filter.active{background:#fff;color:#111827;border-color:#cbd5e1;box-shadow:0 1px 5px rgba(15,23,42,.08)}
.production-status-filter span{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;padding:0 6px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:11px}
.production-status-filter.active span{background:#dbeafe;color:#1d4ed8}
@media(max-width:600px){.production-status-filters{display:grid;grid-template-columns:1fr 1fr}.production-status-filter:last-child{grid-column:1/-1}.production-status-filter{justify-content:center}}


/* V9.9.0 · interfaz simplificada sin perder funciones */
.home-quick-actions-simple{gap:8px}.home-quick-actions-simple .btn{min-width:112px}
.home-summary-details{margin:0 0 16px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.home-summary-details>summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:900;color:#374151;display:flex;align-items:center;justify-content:space-between;gap:10px}
.home-summary-details>summary::-webkit-details-marker{display:none}.home-summary-details>summary:after{content:"⌄";font-size:18px;color:#6b7280;transition:.18s transform}.home-summary-details[open]>summary:after{transform:rotate(180deg)}
.home-summary-details .erp-home-kpis{padding:0 14px 14px;margin:0}
.nav-more{margin-top:3px}.nav-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;color:#cbd5e1;border-radius:11px;padding:9px 10px;font-size:13px;font-weight:800;user-select:none}.nav-more>summary::-webkit-details-marker{display:none}.nav-more>summary span{display:inline-grid;place-items:center;width:25px;font-size:16px;letter-spacing:1px}.nav-more>summary:hover,.nav-more[open]>summary{background:#171717;color:#fff}.nav-more-menu{display:grid;gap:3px;padding:4px 0 7px 14px;border-left:1px solid #2b2b2b;margin-left:21px}.nav-more-menu .nav-section-label{padding-left:10px}.nav-more-menu .nav-btn{width:100%}
@media(min-width:1050px){.bottom-nav-simple{padding-top:12px}.bottom-nav-simple>.nav-section-label{padding-top:5px}.bottom-nav-simple>.nav-btn{min-height:42px}.nav-more{width:100%}}
@media(max-width:1049px){.bottom-nav-simple{display:grid;grid-template-columns:repeat(7,minmax(74px,1fr));overflow:visible}.bottom-nav-simple>.nav-section-label{display:none}.bottom-nav-simple>.nav-btn{display:flex;flex-direction:column;justify-content:center;gap:2px;text-align:center}.bottom-nav-simple>.nav-btn span{display:block;width:auto;margin:0}.nav-more{position:relative;margin:0}.nav-more>summary{height:100%;display:flex;flex-direction:column;justify-content:center;gap:2px;text-align:center;padding:7px 4px;font-size:9px}.nav-more>summary span{width:auto;font-size:17px}.nav-more-menu{position:absolute;right:0;bottom:calc(100% + 10px);width:230px;max-height:65vh;overflow:auto;background:#111827;border:1px solid #374151;border-radius:16px;padding:8px;margin:0;box-shadow:0 16px 40px rgba(0,0,0,.35)}.nav-more-menu .nav-section-label{display:block;padding:9px 9px 4px}.nav-more-menu .nav-btn{display:flex;flex-direction:row;text-align:left;font-size:12px;padding:9px}.nav-more-menu .nav-btn span{display:inline-grid;width:25px;font-size:17px}.home-quick-actions-simple{display:grid;grid-template-columns:1fr 1fr;width:100%}.home-quick-actions-simple .btn{width:100%;min-width:0}}
@media(max-width:560px){.home-summary-details .erp-home-kpis{grid-template-columns:1fr 1fr}.bottom-nav-simple{grid-template-columns:repeat(7,minmax(64px,1fr))}}


/* V9.9.1 · Fase 2: fichas y listados simplificados sin perder funciones */
.simplified-hero-actions{align-items:center}
.action-menu,.inline-action-menu{position:relative;display:inline-block}
.action-menu>summary,.inline-action-menu>summary{list-style:none;cursor:pointer;user-select:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.action-menu>summary::-webkit-details-marker,.inline-action-menu>summary::-webkit-details-marker{display:none}
.action-menu>summary:after,.inline-action-menu>summary:after{content:"⌄";font-size:12px;margin-left:3px;transition:.15s transform}
.action-menu[open]>summary:after,.inline-action-menu[open]>summary:after{transform:rotate(180deg)}
.action-menu-popover,.inline-action-menu-popover{position:absolute;right:0;top:calc(100% + 7px);z-index:80;width:230px;display:grid;gap:6px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 14px 36px rgba(15,23,42,.18)}
.action-menu-popover .btn,.inline-action-menu-popover .btn{width:100%;text-align:left;justify-content:flex-start;min-height:38px}
.inline-action-menu-popover{width:210px}

.product-catalog-panel{padding-top:14px}.catalog-filter-row-primary{grid-template-columns:minmax(280px,2fr) minmax(180px,.75fr)}
.catalog-advanced-filters{margin:4px 0 14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
.catalog-advanced-filters>summary{list-style:none;cursor:pointer;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.catalog-advanced-filters>summary::-webkit-details-marker{display:none}.catalog-advanced-filters>summary>span:first-child{display:grid;gap:1px}.catalog-advanced-filters>summary strong{font-size:12px}.catalog-advanced-filters>summary small{font-size:10px;color:var(--muted)}
.catalog-advanced-filters[open] .accordion-chevron{transform:rotate(180deg)}.catalog-advanced-filter-body{padding:0 12px 12px}
.catalog-advanced-filter-body .catalog-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}

.workspace-section-details{padding:0;overflow:visible}.workspace-section-details>summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:inherit;background:#fff}
.workspace-section-details>summary::-webkit-details-marker{display:none}.workspace-section-details>summary>span:first-child{display:grid;gap:2px}.workspace-section-details>summary strong{font-size:15px}.workspace-section-details>summary small{font-size:11px;color:var(--muted)}
.workspace-section-details[open]>summary{border-bottom:1px solid var(--line);border-bottom-left-radius:0;border-bottom-right-radius:0}.workspace-section-details[open]>summary .accordion-chevron{transform:rotate(180deg)}
.workspace-section-details>.panel-head,.workspace-section-details>.inventory-kpis,.workspace-section-details>.inventory-smart-grid,.workspace-section-details>.combo-editor,.workspace-section-details>.combo-list{margin-left:16px;margin-right:16px}.workspace-section-details>.panel-head{margin-top:14px}.workspace-section-details>.combo-list,.workspace-section-details>.inventory-smart-grid{margin-bottom:16px}

.product-actions-simple{grid-template-columns:1fr 1fr;align-items:stretch}.product-actions-simple>.inline-action-menu{grid-column:1/-1;width:100%}.product-actions-simple>.inline-action-menu>summary{width:100%;min-height:40px}
.product-actions-simple .inline-action-menu-popover{left:0;right:0;width:auto}.product-card-more .inline-action-menu-popover{bottom:calc(100% + 7px);top:auto}

.customer-layout{grid-template-columns:1fr}.customer-layout>#customerForm{max-width:720px;margin:0 auto 2px;width:100%}
.customer-card-actions-simple{display:grid;grid-template-columns:1fr 1fr auto;align-items:center}.customer-card-actions-simple>.inline-action-menu>summary{min-height:40px}
.customer-card-more .inline-action-menu-popover{bottom:calc(100% + 7px);top:auto}

.sale-doc-actions-simple{align-items:center}.sale-doc-actions-simple>.inline-action-menu{margin-left:auto}.sale-doc-more .inline-action-menu-popover{bottom:calc(100% + 7px);top:auto}

.editor-primary-actions{position:sticky;bottom:10px;z-index:45;padding:10px;margin:14px -6px 0;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,.1);backdrop-filter:blur(8px)}
.editor-primary-actions .editor-danger-menu{margin-left:auto}.editor-danger-menu .inline-action-menu-popover{bottom:calc(100% + 7px);top:auto}

@media(max-width:760px){
  .catalog-filter-row-primary,.catalog-advanced-filter-body .catalog-filter-row{grid-template-columns:1fr}
  .action-menu-popover{position:fixed;left:12px;right:12px;top:auto;bottom:78px;width:auto;max-height:55vh;overflow:auto}
  .customer-card-actions-simple{grid-template-columns:1fr 1fr}.customer-card-actions-simple>.inline-action-menu{grid-column:1/-1}.customer-card-actions-simple>.inline-action-menu>summary{width:100%}
  .sale-doc-actions-simple>.inline-action-menu{margin-left:0}.inline-action-menu-popover{right:0;max-width:min(270px,calc(100vw - 36px))}
  .editor-primary-actions{bottom:72px;display:grid;grid-template-columns:1fr 1fr}.editor-primary-actions .editor-danger-menu{grid-column:1/-1;margin:0}.editor-primary-actions .editor-danger-menu>summary{width:100%}
}

/* V9.9.1 · menús dentro de tarjetas: se despliegan en el flujo para evitar recortes. */
.product-card-more,.customer-card-more{display:block}
.product-card-more .inline-action-menu-popover,.customer-card-more .inline-action-menu-popover{position:static;width:100%;margin-top:7px;box-shadow:none;background:#f8fafc;border-color:#e2e8f0}
.product-card-more .inline-action-menu-popover .btn,.customer-card-more .inline-action-menu-popover .btn{text-align:left}

/* V9.9.2 · Fase 3: venta rápida. Todas las funciones siguen disponibles, pero fuera del flujo principal. */
.sale-quick-title{align-items:flex-start}.sale-quick-title h1{margin-bottom:2px}.sale-quick-subtitle{margin:3px 0 0}
.sale-quick-layout{grid-template-columns:minmax(0,1fr) 290px}.sale-quick-main{gap:12px}.sale-quick-entry{padding-bottom:12px}
.sale-quick-search-head,.sale-cart-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sale-quick-search-head h2,.sale-cart-head h2{margin:2px 0 10px}.sale-quick-search{margin:0}.sale-quick-search input{font-size:17px;min-height:48px}.sale-quick-hint{margin:6px 0 12px}
.sale-quick-context{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:10px;padding-top:12px;border-top:1px solid var(--line)}.sale-quick-context .field{margin:0}.sale-quick-context label{font-size:11px}.sale-quick-context select{min-height:40px}
.sale-option-group{margin-top:10px;border:1px solid var(--line);border-radius:13px;background:#fafafa;overflow:visible}.sale-option-group>summary,.sale-analysis-details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:11px 13px}.sale-option-group>summary::-webkit-details-marker,.sale-analysis-details>summary::-webkit-details-marker{display:none}.sale-option-group>summary span:first-child,.sale-analysis-details>summary span:first-child{display:grid;gap:2px}.sale-option-group>summary small,.sale-analysis-details>summary small{font-weight:500;color:var(--muted)}.sale-option-group[open]>summary .accordion-chevron,.sale-analysis-details[open]>summary .accordion-chevron{transform:rotate(180deg)}
.sale-option-content{padding:4px 13px 13px;border-top:1px solid var(--line);background:#fff;border-radius:0 0 13px 13px}.sale-option-content .form-row{grid-template-columns:repeat(3,1fr);margin-top:10px}.sale-option-content .field{margin-bottom:0}.sale-promo-options .bag-sale-controller{margin-top:12px}.sale-promo-options .combo-sale-controller{margin-bottom:0}
.sale-cart-panel{min-height:185px}.sale-quick-summary{padding:16px}.sale-quick-summary h2{margin-bottom:10px}.sale-quick-summary .summary-line{padding:8px 0}.sale-quick-summary .summary-line.total{margin:5px 0 10px}.sale-quick-summary #confirmSaleBtn{width:100%}
.sale-analysis-details{margin-top:14px;padding:0}.sale-analysis-details>summary{padding:14px 16px}.sale-analysis-content{display:grid;gap:18px;padding:0 16px 16px;border-top:1px solid var(--line)}.sale-analysis-section{padding-top:16px}.sale-analysis-section+.sale-analysis-section{border-top:1px solid var(--line)}
@media(max-width:960px){.sale-quick-layout{grid-template-columns:1fr}.sale-quick-summary{position:sticky;bottom:8px;top:auto;z-index:20;box-shadow:0 -8px 28px rgba(15,23,42,.12)}.sale-quick-summary h2,.sale-quick-summary>.eyebrow,.sale-quick-summary .summary-line:not(.total){display:none}.sale-quick-summary .summary-line.total{display:flex;margin:0 0 8px;padding:0;border:0}.sale-quick-summary .summary-line.total strong{font-size:23px}.sale-quick-summary #saleMsg{margin-bottom:0}}
@media(max-width:760px){.sale-quick-subtitle{display:none}.sale-quick-context{grid-template-columns:1fr 1fr}.sale-quick-context .field:first-child{grid-column:1/-1}.sale-option-content .form-row{grid-template-columns:1fr}.sale-quick-search-head h2,.sale-cart-head h2{font-size:18px}.sale-quick-entry,.sale-cart-panel{padding:13px}.sale-analysis-content{padding:0 12px 12px}.sale-analysis-details>summary{padding:12px 13px}}

/* V9.9.3 · Fase 4: Producción y Pedidos simplificados */
.orders-quick-title,.production-quick-title{align-items:flex-start}.orders-quick-title .help,.production-quick-title .help{margin:3px 0 0}
.order-kpis-compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.order-kpi-filter{font:inherit;text-align:left;cursor:pointer;width:100%}.order-kpi-filter:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,23,42,.08)}
.order-editor-simplified,.production-editor-simplified{max-width:980px;margin:0 auto 16px;border-color:#bfdbfe;background:linear-gradient(180deg,#eff6ff 0,#fff 115px)}
.order-editor-simplified[hidden],.production-editor-simplified[hidden]{display:none!important}.btn-compact{padding:7px 10px;min-height:34px;font-size:11px}
.order-editor-main-grid{display:grid;grid-template-columns:1fr 1fr .65fr;gap:10px}.order-editor-main-grid .field{margin:0}
.order-editor-options,.production-editor-options,.order-items-details,.order-more-details,.production-plate-details{border:1px solid var(--line);border-radius:13px;background:#fafafa;overflow:visible;margin-top:12px}
.order-editor-options>summary,.production-editor-options>summary,.order-items-details>summary,.order-more-details>summary,.production-plate-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px}.order-editor-options>summary::-webkit-details-marker,.production-editor-options>summary::-webkit-details-marker,.order-items-details>summary::-webkit-details-marker,.order-more-details>summary::-webkit-details-marker,.production-plate-details>summary::-webkit-details-marker{display:none}
.order-editor-options>summary>span:first-child,.production-editor-options>summary>span:first-child,.order-items-details>summary>span:first-child,.production-plate-details>summary>span:first-child{display:grid;gap:2px}.order-editor-options>summary small,.production-editor-options>summary small,.order-items-details>summary small,.production-plate-details>summary small{font-size:10px;color:var(--muted)}
.order-editor-options[open]>summary .accordion-chevron,.production-editor-options[open]>summary .accordion-chevron,.order-items-details[open]>summary .accordion-chevron,.order-more-details[open]>summary .accordion-chevron,.production-plate-details[open]>summary .accordion-chevron{transform:rotate(180deg)}
.order-editor-options-body,.production-editor-options-body,.order-more-content{padding:12px 13px;border-top:1px solid var(--line);background:#fff;border-radius:0 0 13px 13px}
.order-lines-heading{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:16px 0 8px}.order-lines-heading h3{margin:2px 0 0}.order-lines-heading>strong{font-size:21px}.order-add-line-simplified{margin-top:0}.order-editor-actions{justify-content:flex-end;margin-top:10px}
.order-list-panel-simplified{padding-top:14px}.order-filter-row-simplified{grid-template-columns:minmax(280px,2fr) minmax(180px,.7fr)}
.order-card-simplified{padding:14px}.order-card-head-simplified{align-items:flex-start}.order-card-title-block h3{margin:5px 0 2px}.order-card-pills{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.order-card-total{min-width:160px;text-align:right}.order-card-total small{display:block}.order-items-details{margin-top:10px;background:#fff}.order-items-compact{padding:0 11px 10px}.order-item-compact{grid-template-columns:minmax(220px,1.4fr) minmax(100px,.7fr) auto;gap:10px;padding:10px 0}.order-progress-compact{min-width:110px}.order-line-ready{white-space:nowrap;color:#166534}.order-card-actions-primary{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.order-card-actions-primary .btn{min-height:38px}.order-more-details{margin-top:8px;background:#f8fafc}.order-more-details>summary{font-size:11px;font-weight:800;color:#475569}.order-card-actions-secondary{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:10px}.order-card-actions-secondary .order-event-control{min-width:210px}.order-more-content .payment-history{margin-top:8px}

.management-tools-menu .action-menu-popover{width:260px}.management-tools-popover{gap:8px}.management-tabs-menu{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:0;background:transparent;border:0}.management-tabs-menu .management-tab{width:100%;text-align:left;justify-content:flex-start;min-height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#334155}.management-tabs-menu .management-tab.active{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.management-tools-popover>#manualCloudBackupBtn{margin-top:2px}
.production-editor-primary-grid{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;align-items:start}.production-editor-primary-grid .field{margin:0}.production-preview-compact{margin-top:10px}.production-queue-panel{margin-top:0}.production-list-simplified{display:grid;gap:10px}.production-order-card-simplified{padding:13px 14px}.production-card-head-simplified{align-items:flex-start}.production-card-status-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:4px}.production-order-source{font-size:10px;font-weight:800;color:#475569;background:#f1f5f9;border-radius:999px;padding:4px 7px}.production-card-metric{text-align:right;min-width:130px}.production-card-metric small{display:block;color:var(--muted)}.production-plate-details{margin:10px 0 0;background:#fff}.production-plates-progress-compact{padding:0 10px 10px}.production-plates-progress-compact .production-plate-progress{margin-top:8px}.production-actions-primary{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.production-order-more{margin-left:auto}.production-order-more .inline-action-menu-popover{bottom:calc(100% + 7px);top:auto}.production-order-card-simplified .production-plate-stats{grid-template-columns:repeat(4,minmax(0,1fr))}

@media(max-width:900px){.order-kpis-compact{grid-template-columns:1fr 1fr}.order-editor-main-grid{grid-template-columns:1fr 1fr}.order-editor-main-grid .field:first-child{grid-column:1/-1}.order-item-compact{grid-template-columns:1fr auto}.order-progress-compact{grid-column:1/-1}.management-tools-menu .action-menu-popover{right:0;left:auto}}
@media(max-width:680px){.orders-quick-title .help,.production-quick-title .help{display:none}.order-kpis-compact{grid-template-columns:1fr 1fr}.order-kpis-compact .kpi{padding:10px}.order-editor-main-grid,.order-filter-row-simplified,.production-editor-primary-grid{grid-template-columns:1fr}.order-editor-main-grid .field:first-child{grid-column:auto}.order-add-line-simplified{grid-template-columns:1fr 76px 100px}.order-add-line-simplified #addOrderLineBtn{grid-column:1/-1;width:100%}.order-card-head-simplified{display:grid;gap:8px}.order-card-total{text-align:left;min-width:0}.order-item-compact{grid-template-columns:1fr}.order-progress-compact{grid-column:auto}.order-item-action .btn{width:100%}.order-card-actions-primary .btn{flex:1 1 145px}.production-card-head-simplified{display:grid;gap:8px}.production-card-metric{text-align:left;min-width:0}.production-actions-primary>.btn{flex:1 1 180px}.production-order-more{margin-left:0;width:100%}.production-order-more>summary{width:100%}.production-order-card-simplified .production-plate-stats{grid-template-columns:1fr 1fr}.management-tools-menu .action-menu-popover{position:fixed;left:12px;right:12px;bottom:78px;top:auto;width:auto;max-height:65vh;overflow:auto}.management-tabs-menu{grid-template-columns:1fr 1fr}}
