:root{--ink:#152b38;--muted:#64747e;--teal:#096c66;--teal-soft:#e9f5f0;--line:#e1e7e7;--paper:#fff;--canvas:#f6f8f8;--amber:#8d5c17;--amber-soft:#fff3da;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);font-size:14px;background:var(--canvas)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:var(--teal)}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;padding:32px 20px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:5}.brand{text-decoration:none;display:flex;gap:11px;align-items:center;color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.6px}.brand-mark{display:grid;place-items:center;background:var(--teal);color:#fff;border-radius:12px;width:41px;height:43px;font-size:29px;font-family:Georgia,serif}.brand small{display:block;font-size:9px;letter-spacing:2.4px;margin-top:5px;color:var(--muted)}.nav-caption{font-size:10px;letter-spacing:1.8px;color:#8c989e;margin:48px 12px 18px;font-weight:700}.nav-item{border:0;background:none;color:#61717c;display:flex;gap:12px;text-align:left;width:100%;padding:14px 13px;border-radius:8px;margin-bottom:7px;font-weight:600}.nav-item.active{background:var(--teal-soft);color:var(--teal)}.nav-item span{font-size:18px;line-height:1}.sidebar-bottom{margin-top:auto;padding:20px 9px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.sidebar-bottom a{display:block;margin-top:22px;text-decoration:none}.dot{display:inline-block;background:#129074;border-radius:50%;width:7px;height:7px;margin-right:7px}main{margin-left:242px}.topbar{height:77px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.75);font-size:12px;color:var(--muted)}.environment{border:1px solid var(--line);border-radius:20px;background:white;padding:7px 13px;font-size:11px;font-weight:600}.page{max-width:1460px;padding:26px 38px 60px;margin:auto}.demo-banner{background:#fff9e9;border:1px solid #eadfb8;border-radius:8px;padding:11px 15px;margin-bottom:28px;display:flex;align-items:center;gap:13px;font-size:11px;color:#7a632e}.demo-banner strong{white-space:nowrap}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--teal);margin-bottom:13px}h1{font-size:32px;line-height:1.2;letter-spacing:-1.1px;margin:0 0 11px;font-weight:650}h2{font-size:16px;line-height:1.4;letter-spacing:-.25px;margin:0}h3{font-size:17px;margin:12px 0 8px}p{line-height:1.65;color:var(--muted);margin:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:6px 0 30px}.page-heading p{font-size:13px}.button{border-radius:7px;min-height:41px;padding:10px 15px;border:1px solid var(--line);font-weight:600;white-space:nowrap;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:12px}.primary{background:var(--teal);border-color:var(--teal);color:white;box-shadow:0 2px 3px #1637340b}.primary:hover{background:#075953}.subtle{background:#fff;color:#52656f}.wide{width:100%;margin-top:22px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:26px}.metrics article{background:white;border:1px solid var(--line);border-radius:11px;padding:20px 22px}.metric-label{font-size:12px;display:flex;align-items:center;justify-content:space-between;color:#516670;font-weight:600}.metric-icon{color:var(--teal);background:var(--teal-soft);border-radius:8px;width:29px;height:29px;display:grid;place-items:center;font-size:17px}.metrics strong{display:block;font-size:33px;font-weight:600;margin:6px 0;letter-spacing:-1px}.metrics article>span{font-size:11px;color:var(--muted)}.inbox-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:23px}.panel{border:1px solid var(--line);border-radius:11px;background:white;overflow:hidden}.panel-heading{padding:22px 23px;display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-heading p{font-size:11px;margin-top:7px}.filters{padding:0 22px 16px;border-bottom:1px solid var(--line);display:flex;gap:7px;flex-wrap:wrap;align-items:center}.filter{font-size:11px;font-weight:600;color:var(--muted);border:0;background:transparent;padding:8px 10px;border-radius:6px}.filter.active{background:#edf3f2;color:var(--teal)}#case-count{margin-left:auto;color:var(--muted);font-size:11px}.case-row{padding:20px 22px;display:grid;grid-template-columns:35px minmax(0,1fr);gap:12px;border-bottom:1px solid #edf0f0}.case-row:last-child{border-bottom:0}.case-symbol{height:34px;width:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--teal);background:#fafcfc;font-size:17px}.case-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.case-title{font-size:13px;font-weight:650;margin:0;line-height:1.5}.case-meta{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}.case-problem{font-size:12px;line-height:1.6;margin-top:10px;color:#53656f;overflow-wrap:anywhere}.case-bottom{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:13px;flex-wrap:wrap}.case-bottom small{font-size:10px;color:var(--muted)}.text-button{background:transparent;border:0;color:var(--teal);padding:4px 0;font-weight:650;font-size:11px}.badge{padding:4px 8px;border-radius:20px;font-size:9px;font-weight:650;white-space:nowrap;line-height:1.5}.badge.online{color:var(--amber);background:var(--amber-soft)}.badge.review{color:var(--teal);background:var(--teal-soft)}.badge.imported{color:#496187;background:#edf1f9}.protection{padding:25px 22px}.shield{display:grid;place-items:center;background:var(--teal-soft);color:var(--teal);height:39px;width:39px;border-radius:12px;font-weight:bold;font-size:19px;margin-bottom:19px}.protection h2{font-size:20px;line-height:1.4;letter-spacing:-.6px}.protection>p{font-size:11px;line-height:1.8;margin-top:12px}.steps{list-style:none;margin:25px 0 22px;padding:0}.steps li{display:flex;gap:12px;margin:0;padding-bottom:19px;position:relative}.steps li:not(:last-child):before{content:"";position:absolute;top:25px;left:11px;bottom:0;border-left:1px solid var(--line)}.steps li>span{display:grid;place-items:center;flex-shrink:0;width:23px;height:23px;background:#f3f7f6;border:1px solid var(--line);border-radius:50%;font-size:10px;color:var(--teal);z-index:1}.steps strong{font-size:11px;font-weight:650;display:block;margin:3px 0 5px}.steps small{display:block;color:var(--muted);font-size:10px;line-height:1.5}.steps li:last-child{padding-bottom:0}.safe-note{padding:11px;border-radius:6px;background:#f5f8f7;font-size:10px;line-height:1.6;color:#54706c}.receipt{padding:20px 22px;background:var(--teal-soft);border-radius:10px;margin-top:16px}.receipt .eyebrow{font-size:9px}.receipt p{font-size:11px;color:#436d66}.demo-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;color:var(--muted);font-size:11px}.demo-actions .button{min-height:33px;font-size:10px}.empty{padding:38px 24px;text-align:center;color:var(--muted);font-size:12px;line-height:1.7}.notice{border:1px solid #c5e0d6;background:#edf8f2;color:#235d49;border-radius:8px;padding:13px 16px;font-size:12px;line-height:1.6;margin-bottom:22px}.notice.error{background:#fff1ed;color:#9a3d26;border-color:#eecdc3}.seller-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}.form-panel{padding:25px}.form-panel h2{display:flex;align-items:center;gap:9px;margin-bottom:21px}.step-label{background:var(--teal-soft);color:var(--teal);border-radius:50%;display:grid;place-items:center;width:24px;height:24px;font-size:12px}label{display:block;font-size:12px;font-weight:600;margin:17px 0}input,select,textarea{display:block;width:100%;padding:11px;border:1px solid #d8e0e1;border-radius:6px;color:var(--ink);background:white;margin-top:8px;font-weight:400;min-width:0}input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:var(--teal)}input[type=file]{font-size:11px}.help{font-size:11px;line-height:1.7;color:var(--muted)}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.section-space{margin-top:32px}.products{border:1px solid var(--line);border-radius:8px;margin:18px 0;overflow:hidden}.product-row{display:grid;grid-template-columns:20px minmax(0,1fr) 85px;align-items:center;gap:11px;padding:14px;border-bottom:1px solid var(--line);font-size:12px}.product-row:last-child{border-bottom:0}.product-row label{margin:0}.product-row small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.product-row input[type=number]{margin:0;width:85px}.upload-zone{border:1px dashed #a8c5bd;background:#f8fbfa;border-radius:8px;padding:21px 12px;text-align:center}.upload-zone>span{display:block;font-size:25px;color:var(--teal);margin-bottom:8px}.upload-zone strong{font-size:12px}.upload-zone small{display:block;font-size:10px;color:var(--muted);margin-top:8px}.upload-zone input{font-size:10px;border:0;background:none;padding:9px 0 0}.file-item{font-size:11px;padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.seller-note{padding:24px 7px;font-size:12px}.seller-note p{font-size:11px;margin-top:8px}.invoice-summary{background:#f3f7f6;border-radius:7px;padding:13px;font-size:12px;line-height:1.7}.success-panel{max-width:650px;margin:30px auto;padding:40px;text-align:center}.success-panel .shield{margin:0 auto 20px}.success-panel h2{font-size:24px;margin-bottom:10px}.success-panel code{display:block;color:var(--muted);font-size:11px;margin:18px 0;overflow-wrap:anywhere}.success-panel button{margin:6px}.login-panel{max-width:410px;margin:30px auto;padding:30px}.login-panel p{font-size:12px;margin-top:8px}.login-panel button{width:100%;margin-top:7px}.customer-results button{width:100%;display:block;text-align:left;background:#f8fbfa;border:1px solid var(--line);border-radius:5px;padding:9px 12px;margin:5px 0;font-size:12px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{font-size:10px;display:flex;align-items:center;gap:8px;background:var(--teal-soft);border-radius:6px;padding:7px 9px}.chip button{border:0;background:none;color:var(--teal)}.setup-status{background:#f5f8f7;border-radius:6px;padding:14px;margin:20px 0;font-size:12px;color:var(--teal);line-height:1.7}dialog{border:1px solid var(--line);border-radius:12px;width:min(700px,94vw);padding:27px;color:var(--ink);max-height:90vh}dialog::backdrop{background:#16302f66}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.dialog-heading .eyebrow{font-size:9px}.dialog-heading h2{font-size:21px}.icon-button{border:0;background:#f1f5f4;border-radius:50%;width:30px;height:30px;font-size:22px}.detail-block{margin:18px 0;padding-bottom:17px;border-bottom:1px solid var(--line)}.detail-block h3{font-size:12px;margin:0 0 8px;color:var(--muted)}.detail-block p{font-size:13px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.detail-block a{display:block;font-size:12px;padding:6px 0}.detail-item{font-size:12px;padding:8px 0;line-height:1.6}.dialog-actions{display:flex;justify-content:flex-end;margin-top:20px}.portal-only .sidebar,.portal-only .topbar{display:none}.portal-only main{margin-left:0}.portal-only .page{max-width:1100px;padding-top:40px}
@media(min-width:1550px){h1{font-size:38px}.page{padding-top:34px}.inbox-layout{grid-template-columns:minmax(0,1fr) 310px}.protection{padding:29px}.case-row{padding:24px}.metrics article{padding:24px}}
@media(max-width:1120px){.sidebar{width:210px;padding:28px 15px}main{margin-left:210px}.page{padding:24px}.topbar{padding:0 24px}.inbox-layout{grid-template-columns:minmax(0,1fr)}.right-column{display:grid;grid-template-columns:1fr;gap:15px}.protection{display:none}.seller-layout{grid-template-columns:minmax(0,1fr) 270px}.demo-banner{align-items:flex-start;flex-direction:column;gap:4px}.page-heading{align-items:flex-start}h1{font-size:29px}.metrics{gap:10px}.metrics article{padding:17px}}
@media(max-width:760px){.sidebar{position:static;width:100%;padding:18px 16px 10px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:18px}.brand-mark{width:32px;height:34px;font-size:24px}.brand small{font-size:8px}.nav-caption,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:5px;margin-top:18px;overflow-x:auto}.nav-item{white-space:nowrap;width:auto;padding:11px 10px;font-size:11px;flex:1;justify-content:center}.nav-item span{display:none}main{margin-left:0}.topbar{height:48px;padding:0 17px;font-size:10px}.environment{font-size:9px;padding:5px 9px}.page{padding:19px 16px 40px}.page-heading{display:block;margin-bottom:22px}.page-heading>.button{margin-top:18px;width:100%}h1{font-size:29px;letter-spacing:-.9px}.eyebrow{font-size:9px;margin-bottom:10px}.page-heading p{font-size:12px}.demo-banner{margin-bottom:23px;font-size:10px;padding:10px 12px}.demo-banner strong{white-space:normal}.metrics{gap:8px;margin-bottom:18px}.metrics article{padding:13px 10px;border-radius:8px}.metric-label{font-size:10px;line-height:1.5}.metric-icon{display:none}.metrics strong{font-size:27px;margin:6px 0}.metrics article>span{font-size:9px;line-height:1.5;display:block}.panel-heading{padding:18px 16px}.panel-heading p{font-size:10px}.panel-heading .button{padding:7px 10px;font-size:10px;min-height:34px}.panel-heading h2{font-size:15px}.filters{padding:0 12px 12px;gap:3px}.filter{font-size:10px;padding:7px 8px}#case-count{font-size:9px}.case-row{padding:17px 14px;grid-template-columns:28px minmax(0,1fr);gap:9px}.case-symbol{width:28px;height:30px;font-size:14px}.case-title{font-size:12px}.case-meta{font-size:10px}.badge{font-size:8px;padding:3px 7px}.case-problem{font-size:11px}.case-bottom small{font-size:9px}.case-top{gap:7px}.seller-layout{grid-template-columns:1fr;gap:18px}.form-panel{padding:20px 17px}.two-fields{gap:11px}.form-panel h2{font-size:15px}.product-row{grid-template-columns:18px minmax(0,1fr) 70px;gap:8px;padding:12px}.product-row input[type=number]{width:70px}.success-panel{padding:28px 20px}.demo-actions{flex-wrap:wrap}.demo-actions .button{width:100%}.login-panel{padding:24px}.portal-only .page{padding-top:24px}dialog{padding:21px 17px}.dialog-actions .button{width:100%}}
.quantity-inputs{display:flex;flex-direction:column;gap:8px}.quantity-inputs .certificate-field{font-size:9px;margin:0}.quantity-inputs .certificate-field input{margin-top:4px}.dialog-actions{flex-wrap:wrap;gap:9px}#warehouse-dialog h2{font-size:20px}#warehouse-status-message{margin-top:12px}.task-actions{display:flex;gap:9px;flex-wrap:wrap}.portal-only .sidebar{display:block;position:static;width:100%;padding:14px 24px}.portal-only .sidebar .brand,.portal-only .sidebar .nav-caption,.portal-only .sidebar-bottom,.portal-only #nav-inbox,.portal-only #nav-catalog{display:none}.portal-only .sidebar nav{display:flex;max-width:1050px;margin:auto;gap:10px}.portal-only .sidebar .nav-item{width:auto;margin-bottom:0}.portal-only #nav-warehouse{display:flex}
.case-title,.case-meta,.dialog-heading h2{overflow-wrap:anywhere}

/* Full Proyect identity, shared with templates/base.html and incidencias.css.
   Keep the portal standalone so the same assets work in the downloadable ZIP. */
:root {
  --primary-950: #050b1d;
  --primary-900: #0f172a;
  --primary-800: #1e293b;
  --primary-500: #2563eb;
  --primary-400: #4f8dff;
  --accent-500: #22d3ee;
  --font-body: "Manrope", "Segoe UI", Tahoma, sans-serif;
  --font-display: "Space Grotesk", "Segoe UI", Tahoma, sans-serif;
  --ink: var(--primary-900);
  --muted: #64748b;
  --teal: var(--primary-500);
  --teal-soft: #edf3ff;
  --line: #dce5ef;
  --canvas: #f4f7fb;
  --sidebar-width: 290px;
  font-family: var(--font-body);
  font-size: 14px;
}
body {
  min-height: 100vh;
  font-family: var(--font-body);
  line-height: 1.5;
  background: radial-gradient(circle at 10% 20%, rgba(37,99,235,.14), transparent 40%),
              radial-gradient(circle at 80% 0%, rgba(34,211,238,.18), transparent 45%),
              linear-gradient(145deg, #f4f7fb 0%, #e6ecf7 100%);
  background-attachment: fixed;
}
h1, h2, h3, .brand strong, .metrics strong { font-family: var(--font-display); }
h1 { font-size: clamp(2rem, 3.4vw, 3rem); font-weight: 600; letter-spacing: -.01em; }
h2 { font-size: 18px; font-weight: 600; }
p { color: #475569; }
button, a, input, select, textarea { transition: background 200ms ease, border-color 200ms ease, box-shadow 200ms ease; }
button:focus-visible, a:focus-visible { outline: 3px solid #68a1f4; outline-offset: 3px; }
button:disabled { cursor: not-allowed; }
.sidebar, .portal-only .sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--sidebar-width);
  padding: 36px 28px;
  background: linear-gradient(160deg, rgba(8,12,33,.98), rgba(15,23,42,.94));
  color: white;
  border-right: 1px solid rgba(255,255,255,.06);
  box-shadow: 12px 0 30px -20px rgba(15,23,42,.8);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}
.brand, .portal-only .sidebar .brand { display: flex; gap: 14px; color: white; letter-spacing: normal; }
.brand-mark {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #38bdf8, #2563eb);
  box-shadow: 0 8px 20px rgba(37,99,235,.5);
}
.brand small { margin: 0 0 4px; color: rgba(255,255,255,.65); font-size: 9px; letter-spacing: 2.6px; font-weight: 500; }
.brand strong { display: block; font-size: 18px; font-weight: 600; }
.nav-caption, .portal-only .sidebar .nav-caption { display: block; margin: 42px 12px 16px; color: #a6b5cd; font-size: 9px; letter-spacing: 1.8px; line-height: 1.7; }
.sidebar nav, .portal-only .sidebar nav { display: flex; flex-direction: column; gap: 6px; width: 100%; max-width: none; margin: 0; overflow: visible; }
.nav-item, .portal-only .sidebar .nav-item { width: 100%; min-height: 46px; margin: 0; padding: 12px 13px; border: 1px solid transparent; border-radius: 12px; color: #c6d1e3; font-size: 12px; }
.nav-item:hover { background: rgba(255,255,255,.08); color: white; }
.nav-item.active { background: linear-gradient(120deg, rgba(79,141,255,.14), rgba(37,99,235,.32)); border-color: rgba(255,255,255,.2); color: white; box-shadow: inset 0 0 0 1px rgba(255,255,255,.04); }
.sidebar-bottom { border-color: rgba(255,255,255,.12); color: #b7c4db; font-size: 11px; line-height: 1.7; }
.sidebar-bottom a { color: #bfd7ff; }
.dot { background: #22d3ee; }
main, .portal-only main { margin-left: var(--sidebar-width); min-width: 0; }
.topbar, .portal-only .topbar { display: flex; height: 74px; padding: 0 40px; background: rgba(255,255,255,.45); border-color: rgba(15,23,42,.07); color: #64748b; }
.environment { padding: 7px 13px; border-color: rgba(37,99,235,.15); background: rgba(255,255,255,.85); color: #315b9d; }
.page, .portal-only .page { max-width: 1600px; padding: 32px 40px 64px; }
.page-heading { align-items: flex-start; margin: 0 0 28px; }
.page-heading > div, .panel-heading > div, .seller-layout > *, .two-fields > *, .case-top > * { min-width: 0; }
.page-heading p { font-size: 14px; max-width: 720px; }
.eyebrow { color: #667c99; font-size: 10px; font-weight: 700; letter-spacing: 2.8px; margin-bottom: 10px; }
.button { min-height: 42px; border-radius: 999px; padding: 11px 19px; font-size: 12px; }
.primary { border: 1px solid transparent; background: linear-gradient(135deg, #2563eb, #38bdf8); box-shadow: 0 12px 24px -18px rgba(37,99,235,.7); }
.primary:hover { background: linear-gradient(135deg, #1d4ed8, #22d3ee); box-shadow: 0 14px 28px -18px rgba(37,99,235,.85); }
.subtle { background: rgba(255,255,255,.78); color: #2563eb; border-color: rgba(37,99,235,.22); }
.subtle:hover { background: #edf3ff; border-color: #8cb4f6; }
.panel, .metrics article { border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.95); box-shadow: 0 25px 70px -40px rgba(15,23,42,.35); }
.metrics article { padding: 22px; }
.metrics strong { color: #172a44; font-size: 36px; }
.metric-icon { border-radius: 10px; }
.panel-heading { padding: 24px; }
.panel-heading p { font-size: 12px; line-height: 1.7; }
.case-row { padding: 22px 24px; border-color: #eaf0f6; }
.case-symbol { border-radius: 10px; background: #f4f7ff; }
.case-title { color: #172a44; font-size: 14px; font-weight: 700; }
.case-meta { font-size: 12px; }
.case-problem { color: #475569; font-size: 13px; }
.case-bottom small, .text-button { font-size: 11px; }
.badge { padding: 5px 10px; font-size: 10px; }
.badge.imported { color: #166534; background: #edf8f0; }
.filter.active { background: #edf3ff; }
.seller-layout { grid-template-columns: minmax(0,1fr) 310px; gap: 24px; align-items: start; }
.form-panel { padding: 26px; }
.form-panel h2 { font-size: 18px; gap: 10px; margin-bottom: 22px; }
.step-label { width: 26px; height: 26px; flex-shrink: 0; border-radius: 7px; background: #e9f0ff; color: #315cc0; font: 700 12px var(--font-body); }
label { font-size: 12px; color: #435570; font-weight: 700; }
input, select, textarea { min-height: 44px; padding: 11px 13px; border-color: #cfdbe8; border-radius: 9px; box-shadow: inset 0 1px 2px rgba(15,23,42,.04); font-size: 13px; }
input:focus, select:focus, textarea:focus { border-color: #68a1f4; outline: 2px solid transparent; box-shadow: 0 0 0 3px rgba(37,99,235,.12); }
input[type=checkbox] { min-height: 17px; box-shadow: none; }
input[type=file] { max-width: 100%; padding: 9px; font-size: 11px; }
input[type=file]::file-selector-button { margin-right: 8px; padding: 7px 10px; border: 1px solid #c9daf5; border-radius: 7px; background: #edf3ff; color: #315b9d; font: inherit; cursor: pointer; }
textarea { min-height: 130px; resize: vertical; }
.help { font-size: 11px; line-height: 1.7; }
.products { border-radius: 10px; }
.product-row { background: #fcfdff; font-size: 12px; }
.product-row input[type=number] { padding: 9px; }
.quantity-inputs .certificate-field { font-size: 10px; }
.invoice-summary { border: 1px solid #d5e5fd; border-radius: 10px; padding: 15px; background: #edf5ff; color: #263b58; }
.upload-zone { border-color: #b3c9ec; border-radius: 12px; background: #f8fbff; padding: 22px 14px; }
.upload-zone > span { width: 40px; height: 40px; display: grid; place-items: center; margin: 0 auto 12px; border-radius: 12px; background: #e9f0ff; color: #315cc0; }
.upload-zone strong { font-size: 13px; color: #172a44; }
.upload-zone small { font-size: 11px; }
.upload-zone input { padding: 10px 0 0; box-shadow: none; }
.seller-note { padding: 22px 8px; color: #435570; }
.seller-note strong { color: #172a44; }
.seller-note p { line-height: 1.8; }
.safe-note, .setup-status, .steps li > span { background: #f2f6fd; color: #435570; border-radius: 8px; }
.customer-results button { background: #f8fbff; border-radius: 8px; }
.receipt { background: #edf3ff; border: 1px solid #d5e5fd; border-radius: 14px; }
.receipt p { color: #435570; }
.notice { border-radius: 12px; }
.demo-banner { border-radius: 12px; margin-bottom: 26px; flex-wrap: wrap; }
.login-panel { max-width: 440px; padding: 32px; }
.login-panel h2 { color: #172a44; font-size: 24px; }
.login-panel p { font-size: 13px; }
.success-panel { border-radius: 20px; }
dialog { width: min(700px,94vw); border-radius: 20px; border-color: #dce5ef; padding: 28px; background: #fff; box-shadow: 0 35px 90px rgba(15,23,42,.25); }
dialog::backdrop { background: rgba(5,11,29,.55); backdrop-filter: blur(4px); }
.icon-button { color: #435570; background: #edf3ff; flex-shrink: 0; }
.detail-block p { color: #263b58; }
.portal-only #nav-inbox, .portal-only #nav-catalog, .portal-only .sidebar-bottom { display: none; }
@media (max-width: 1200px) {
  :root { --sidebar-width: 240px; }
  .sidebar, .portal-only .sidebar { padding: 30px 20px; }
  .page, .portal-only .page { padding: 28px; }
  .topbar, .portal-only .topbar { padding: 0 28px; }
  .seller-layout { grid-template-columns: minmax(0,1fr) 270px; gap: 20px; }
}
@media (max-width: 992px) {
  .sidebar, .portal-only .sidebar { position: static; width: 100%; padding: 24px 28px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); overflow: visible; }
  .nav-caption, .portal-only .sidebar .nav-caption { display: none; }
  .sidebar nav, .portal-only .sidebar nav { flex-direction: row; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
  .nav-item, .portal-only .sidebar .nav-item { flex: 1 1 calc(50% - 8px); width: auto; justify-content: center; white-space: normal; }
  .nav-item span { display: inline; }
  .sidebar-bottom { display: none; }
  main, .portal-only main { margin-left: 0; }
  .topbar, .portal-only .topbar { height: 56px; }
  h1 { font-size: 34px; }
}
@media (max-width: 760px) {
  .sidebar, .portal-only .sidebar { padding: 22px 20px 20px; }
  .brand-mark { width: 40px; height: 40px; border-radius: 12px; }
  .brand strong { font-size: 18px; }
  .brand small { font-size: 9px; }
  .sidebar nav, .portal-only .sidebar nav { margin-top: 20px; }
  .nav-item, .portal-only .sidebar .nav-item { min-height: 43px; padding: 10px 9px; font-size: 11px; }
  .nav-item span { display: none; }
  .topbar, .portal-only .topbar { padding: 0 20px; gap: 12px; font-size: 10px; }
  .environment { font-size: 9px; padding: 5px 9px; }
  .page, .portal-only .page { padding: 24px 20px 42px; }
  .page-heading { margin-bottom: 24px; }
  h1 { font-size: 32px; line-height: 1.15; letter-spacing: -.02em; }
  .page-heading p { font-size: 13px; line-height: 1.7; }
  .eyebrow { font-size: 9px; letter-spacing: 2px; }
  .seller-layout { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .form-panel { padding: 22px 18px; }
  .form-panel h2 { font-size: 17px; }
  .button { font-size: 12px; padding: 11px 16px; }
  .panel-heading { padding: 20px 18px; }
  .panel-heading h2 { font-size: 17px; }
  .panel-heading p { font-size: 11px; }
  .case-row { padding: 20px 16px; }
  .case-title { font-size: 13px; }
  .case-meta, .case-problem { font-size: 11px; }
  .badge { font-size: 9px; padding: 4px 8px; }
  .metrics article { padding: 16px 10px; border-radius: 14px; }
  .metrics strong { font-size: 29px; }
  .metric-label { font-size: 10px; }
  .metrics article > span { font-size: 9px; }
  .two-fields { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  input, select, textarea { font-size: 16px; }
  .product-row input[type=number] { font-size: 16px; }
  .upload-zone input { font-size: 10px; }
  dialog { padding: 24px 18px; }
  .login-panel { margin-top: 24px; padding: 26px 22px; }
  .demo-banner { margin-bottom: 24px; }
}
@media (max-width: 640px) {
  .two-fields { grid-template-columns: minmax(0,1fr); gap: 0; }
}
.portal-links { display: grid; gap: 12px; margin: 24px 0; padding-top: 20px; border-top: 1px solid var(--line); }
.portal-links h3 { font-size: 16px; margin: 0; }
.portal-links .button { white-space: normal; text-align: center; }
.access-result { padding: 16px; border: 1px solid var(--line); border-radius: 12px; }
.access-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.access-actions .button { white-space: normal; }
.catalog-paging { margin: 0 0 18px; }
.tracking-panel, .publication-sync { margin-bottom: 24px; }
.publication-sync .panel-heading { flex-wrap: wrap; gap: 16px; }
.publication-sync .panel-heading > div { min-width: 0; flex: 1 1 280px; }
.association-issues { margin: 0 24px 20px; font-size: 12px; }
.association-issues summary { cursor: pointer; color: #214b86; font-weight: 600; }
.association-issues ul { max-height: 300px; overflow-y: auto; padding-left: 18px; }
.association-issues li { margin-top: 14px; overflow-wrap: anywhere; }
.association-issues strong { display: block; margin-bottom: 4px; }
.seller-section-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
#seller-case-list { max-height: min(65vh,650px); overflow-y: auto; overscroll-behavior: contain; }
.tracking-panel .panel-heading { flex-wrap: wrap; gap: 16px; }
.tracking-status { padding: 0 24px; }
.tracking-paging { padding: 0 24px 20px; }
.tracking-paging:has(button[hidden]) { display: none; }
.case-observation { white-space: pre-wrap; overflow-wrap: anywhere; }
.case-observation-label { display: block; margin-top: 12px; font-size: 11px; color: #526781; }
.task-current-summary { margin-bottom: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #f3f8ff; }
.task-current-summary h3 { margin: 0 0 8px; font-size: 15px; }
.task-current-summary p { white-space: pre-wrap; overflow-wrap: anywhere; }
.warehouse-case-detail { margin-bottom: 22px; }
.warehouse-case-detail h3 { font-size: 15px; margin-top: 18px; }
.case-context { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 14px 0; }
.case-context > div { min-width: 0; }
.case-context dt { font-size: 10px; color: #526781; margin-bottom: 4px; }
.case-context dd { margin: 0; font-size: 12px; overflow-wrap: anywhere; white-space: pre-wrap; }
.warehouse-items { max-height: 340px; overflow-y: auto; border: 1px solid var(--line); border-radius: 12px; }
.warehouse-item { padding: 14px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.warehouse-item:last-child { border-bottom: 0; }
.warehouse-item h4 { font-size: 13px; margin: 0 0 8px; }
.warehouse-item p { font-size: 12px; margin: 5px 0; }
.promotion-fields, .return-extra { margin: 18px 0; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: #f7faff; }
.return-extra h3 { font-size: 16px; margin: 0 0 12px; }
.return-result, .return-extra-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 12px; }
.return-result > span, .return-extra-row > div { flex: 1 1 180px; min-width: 0; overflow-wrap: anywhere; }
.return-extra-row input { width: 100%; }
.return-extra-row label { flex: 0 1 100px; margin: 0; }
@media (max-width: 640px) { .case-context { grid-template-columns: minmax(0,1fr); } }
#warehouse-task-change .button { white-space: normal; }
#publish-all-catalog { margin-top: 12px; white-space: normal; }
.incidencias-embedded .sidebar, .incidencias-embedded .topbar { display: none !important; }
.incidencias-embedded main { margin-left: 0; min-height: 0; }
.incidencias-embedded .page { max-width: none; padding: 4px 0 20px; }
.incidencias-embedded .page-heading h1, .incidencias-embedded .page-heading .eyebrow { display: none; }
.incidencias-embedded .page-heading { margin-bottom: 18px; }
.portal-only .page-heading { flex-wrap: wrap; }
.portal-only .page-heading > div { flex: 1 1 400px; }
.portal-only #refresh-tasks:disabled { display: none; }
.capacity-panel { margin-bottom: 24px; }
.capacity-panel .panel-heading { gap: 16px; align-items: center; }
.capacity-panel h2 .badge { margin-left: 8px; vertical-align: middle; }
.capacity-content { padding: 0 24px 20px; }
.capacity-content > .help { margin-top: 0; }
.capacity-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.capacity-grid article { padding: 18px; background: #f5f8fe; border: 1px solid var(--line); border-radius: 12px; min-width: 0; }
.capacity-grid strong { display: block; margin: 12px 0; color: #172a44; font-family: 'Space Grotesk',sans-serif; font-size: 23px; overflow-wrap: anywhere; }
.capacity-grid progress { display: block; width: 100%; height: 9px; border: 0; border-radius: 8px; overflow: hidden; accent-color: #3466cd; background: #dfe8f7; }
.capacity-grid progress::-webkit-progress-bar { background: #dfe8f7; border-radius: 8px; }
.capacity-grid progress::-webkit-progress-value { background: #3466cd; border-radius: 8px; }
.capacity-grid progress.capacity-high { accent-color: #bd6c15; }
.capacity-grid progress.capacity-high::-webkit-progress-value { background: #bd6c15; }
.capacity-grid .help { margin-bottom: 0; }
.capacity-summary { margin-top: 18px; padding-top: 4px; }
.capacity-summary > p { font-size: 12px; line-height: 1.7; color: #435570; }
.capacity-summary > #capacity-release { color: #214b86; }
.capacity-footnote { color: #66768e; }
.capacity-footnote a { color: #315b9d; text-decoration: underline; }
.portal-only #capacity-panel { display: none; }
@media (max-width: 760px) {
  .capacity-panel .panel-heading { flex-wrap: wrap; }
  .capacity-panel h2 .badge { display: table; margin: 8px 0 0; }
  .capacity-content { padding: 0 18px 18px; }
  .capacity-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .capacity-grid strong { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

