:root {
  --ink: #14211d;
  --muted: #69756f;
  --line: #dfe6e2;
  --panel: #ffffff;
  --canvas: #f5f7f6;
  --brand: #173f33;
  --brand-2: #2f705b;
  --accent: #d9b86c;
  --danger: #b53b45;
  --warning: #a76b12;
  --success: #27815d;
  --radius: 16px;
  --shadow: 0 10px 28px rgba(24, 45, 38, .07);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.app-body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  background: var(--canvas);
  color: var(--ink);
  font-family: "Aptos", "Segoe UI Variable Text", "Segoe UI", ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--brand-2); }

.app-layout { min-height: 100vh; }
.app-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 50;
  width: 250px;
  padding: 24px 16px;
  display:flex;
  flex-direction:column;
  overflow-y: auto;
  background: linear-gradient(180deg, #102d25 0%, #173f33 100%);
  color: #fff;
}
.app-brand { display: flex; align-items: center; gap: 12px; padding: 0 8px 22px; color:#fff; text-decoration:none; }
.app-brand-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 14px;
  background: var(--accent);
  color: #173328;
  font-weight: 900;
}
.app-brand strong { display: block; font-size: 17px; }
.app-brand small { display: block; margin-top: 2px; color: #bdd0c9; }
.app-nav { display: grid; gap: 5px; }
.app-nav-label { padding: 18px 12px 6px; color: #8fb0a5; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.app-nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  border-radius: 12px;
  color: #dce9e4;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.app-nav a:hover, .app-nav a.active { background: rgba(255,255,255,.11); color: #fff; }
.app-nav-icon { width: 23px; text-align: center; opacity: .9; }
.app-sidebar-footer { margin-top: 24px; padding: 14px 12px 0; border-top: 1px solid rgba(255,255,255,.12); color: #bdd0c9; font-size: 12px; }
.commercial-app .app-nav{display:flex;flex:1;flex-direction:column;gap:5px}.app-nav-spacer{flex:1;min-height:24px}.app-nav-logout{margin-top:auto;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}.app-nav-logout:hover{background:rgba(164,54,54,.26)!important}.security-card{max-width:760px}.password-rules{display:grid;gap:6px;margin:14px 0 0;padding:14px 16px;border-radius:13px;background:#f5f8f7;color:var(--muted);font-size:13px}.upload-panel{padding:16px;border:1px dashed var(--line);border-radius:14px;background:#fafcfb}.upload-panel input[type=file]{padding:8px;background:#fff}.upload-panel small{display:block;margin-top:7px;color:var(--muted)}

.app-main { margin-left: 250px; min-width: 0; }
.app-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 70px;
  padding: 14px 30px;
  border-bottom: 1px solid rgba(218,226,222,.85);
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(14px);
}
.app-topbar h1 { margin: 1px 0 0; font-size: 20px; letter-spacing:-.025em; line-height:1.15; }
.app-eyebrow { display:block; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.app-topbar-actions { display:flex; align-items:center; gap:9px; }
.quick-action { display:inline-flex; align-items:center; min-height:36px; padding:7px 11px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); font-size:12px; font-weight:800; text-decoration:none; }
.quick-action.primary { border-color:var(--brand); background:var(--brand); color:#fff; }
.online-dot { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; background:#63d3a5; box-shadow:0 0 0 3px rgba(99,211,165,.13); }
.app-topbar-user { color: var(--muted); font-size: 13px; }
.app-content { width: min(1560px, 100%); margin: 0 auto; padding: 28px 30px 50px; }

.page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.page-head h2 { margin: 0 0 7px; font-size: clamp(25px, 3vw, 34px); font-weight:780; letter-spacing: -.035em; line-height:1.12; }
.page-head p { margin: 0; color: var(--muted); }
.page-actions { display: flex; flex-wrap: wrap; gap: 9px; }

.card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}
.card-pad { padding: 22px; }
.card-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 17px; }
.card-head h3 { margin: 0; font-size: 17px; }
.card-head p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.grid { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }
.metric { padding: 20px; border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: 0 7px 22px rgba(26,47,40,.055); }
.metric-label { color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.metric-value { display: block; margin-top: 8px; font-size: 27px; font-weight: 900; letter-spacing: -.04em; }
.metric-note { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; }
.metric.success { border-color: #b9dfcf; background: #f5fbf8; }
.metric.warning { border-color: #ead9b2; background: #fffaf0; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  padding: 9px 15px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: var(--brand);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.btn:hover { filter: brightness(1.06); color: #fff; }
.btn.secondary { border-color: var(--line); background: #fff; color: var(--ink); }
.btn.gold { background: #b68c35; }
.btn.danger { background: var(--danger); }
.btn.small { min-height: 34px; padding: 6px 10px; font-size: 12px; }
.btn:disabled { cursor: not-allowed; opacity: .55; }

.filters { display: grid; grid-template-columns: repeat(6, minmax(130px, 1fr)); gap: 12px; align-items: end; }
.filters .wide { grid-column: span 2; }
.field { display: grid; gap: 6px; }
.field label { color: #43514b; font-size: 12px; font-weight: 800; }
.field input, .field select, .field textarea,
input.input, select.input, textarea.input {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #ccd7d1;
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 14px;
}
.field textarea, textarea.input { min-height: 100px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--brand-2); outline: 3px solid rgba(47,112,91,.12); }
.form-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }

.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; }
.data-table { width: 100%; border-collapse: collapse; background: #fff; }
.data-table th { padding: 12px 14px; background: #f6f8f7; color: #58655f; font-size: 11px; font-weight: 900; letter-spacing: .04em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.data-table td { padding: 13px 14px; border-top: 1px solid #e7ece9; font-size: 13px; vertical-align: middle; }
.data-table tr:hover td { background: #fbfcfb; }
.data-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.empty-state { padding: 40px 20px; color: var(--muted); text-align: center; }

.badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 9px; border-radius: 999px; background: #e9eeeb; color: #44524c; font-size: 11px; font-weight: 900; white-space: nowrap; }
.badge.success { background: #dff3e9; color: #176044; }
.badge.warning { background: #fff0cb; color: #81520c; }
.badge.danger { background: #fde5e7; color: #8f2530; }
.badge.info { background: #e1edf7; color: #24577c; }

.notice { margin: 0 0 18px; padding: 13px 15px; border: 1px solid #b7decd; border-radius: 12px; background: #eff9f4; color: #1b6046; }
.notice.error { border-color: #ecc2c6; background: #fff1f2; color: #8e2934; }
.notice.warning { border-color: #ead7a9; background: #fff9eb; color: #81520c; }

.client-hero { display: grid; grid-template-columns: 1.4fr 1fr; gap: 18px; margin-bottom: 20px; }
.client-title { display: flex; align-items: center; gap: 14px; }
.avatar { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 17px; background: #dcebe5; color: var(--brand); font-size: 18px; font-weight: 900; }
.definition-list { display: grid; grid-template-columns: 145px 1fr; gap: 9px 14px; margin: 0; }
.definition-list dt { color: var(--muted); font-size: 12px; font-weight: 800; }
.definition-list dd { margin: 0; font-size: 13px; }
.subtle { color: var(--muted); }
.text-success { color: var(--success); }
.text-danger { color: var(--danger); }
.nowrap { white-space: nowrap; }
.spacer-top { margin-top: 20px; }
.section-stack { display: grid; gap: 20px; }

.auth-shell { display: grid; min-height: 100vh; grid-template-columns: 1fr 1fr; }
.auth-visual { display: grid; place-items: center; padding: 45px; background: linear-gradient(145deg,#102d25,#2f705b); color: #fff; }
.auth-visual-inner { max-width: 470px; }
.auth-visual h1 { margin: 0 0 16px; font-size: clamp(38px,6vw,68px); line-height: .95; letter-spacing: -.055em; }
.auth-visual p { color: #d3e4dd; font-size: 17px; line-height: 1.6; }
.auth-panel { display: grid; place-items: center; padding: 34px; }
.auth-card { width: min(440px,100%); padding: 30px; }
.auth-card h2 { margin: 0 0 7px; font-size: 29px; }
.auth-card > p { margin: 0 0 24px; color: var(--muted); }

.check-row{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:14px;margin-top:10px;background:#fff;cursor:pointer}.check-row input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}.check-row span{display:grid;gap:3px}.check-row small{color:var(--muted);line-height:1.4}.check-row.danger-soft{border-color:#f0d2d2;background:#fff9f9}.credit-panel{border:1px solid var(--line);border-radius:18px;padding:20px;background:linear-gradient(145deg,#f8fafc,#fff)}.credit-panel.is-open{border-color:#b9dfcf;background:linear-gradient(145deg,#f0faf6,#fff)}.credit-panel.is-closed{border-color:#efd5a7;background:linear-gradient(145deg,#fff8eb,#fff)}.credit-panel>strong{display:block;font-size:20px;line-height:1.3;margin-top:6px}.metric-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-grid.compact .metric{padding:14px}.metric-grid.compact .metric-value{font-size:20px}.process-list{display:grid;gap:12px;margin-top:18px}.process-list>div{display:flex;gap:12px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}.process-list>div>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--brand);color:#fff;font-weight:800;flex:0 0 auto}.process-list p{margin:0;line-height:1.45}

/* Las pantallas operativas antiguas viven dentro del mismo panel y lenguaje visual. */
.legacy-admin-page .legacy-admin-content{width:100%;max-width:none;margin:0;padding:0;color:var(--ink);font-family:inherit}.legacy-admin-page .legacy-admin-content h1{margin:0;font-size:clamp(27px,3vw,38px);font-weight:780;letter-spacing:-.04em;line-height:1.1}.legacy-admin-page .legacy-admin-content h2{font-weight:750;letter-spacing:-.025em}.legacy-admin-page .page-title-row,.legacy-admin-page .products-page-head,.legacy-admin-page .messages-page-head,.legacy-admin-page .odoo-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 24px}.legacy-admin-page .page-subtitle,.legacy-admin-page .products-page-head p,.legacy-admin-page .messages-page-head p,.legacy-admin-page .odoo-page-head p{max-width:760px;margin:7px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.legacy-admin-page .card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.legacy-admin-page .button,.legacy-admin-page .admin-btn,.legacy-admin-page button:not(.icon-button){display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 14px;border:1px solid transparent;border-radius:11px;background:var(--brand);color:#fff;font:inherit;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}.legacy-admin-page .button.light,.legacy-admin-page .button.muted,.legacy-admin-page .admin-btn.secondary{border-color:var(--line);background:#fff;color:var(--ink)}.legacy-admin-page input,.legacy-admin-page select,.legacy-admin-page textarea{font-family:inherit}.legacy-admin-page input:focus,.legacy-admin-page select:focus,.legacy-admin-page textarea:focus{border-color:var(--brand-2)!important;outline:3px solid rgba(47,112,91,.12)!important}.legacy-admin-page table th{font-size:11px;letter-spacing:.045em}.legacy-admin-page table td{font-size:13px}.legacy-admin-page .notice{border-radius:12px}.legacy-admin-page .request-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#fff}.legacy-admin-page .request-tabs a{border-radius:9px;text-decoration:none}.legacy-admin-page .filter-chip{display:inline-flex;margin-top:9px;padding:5px 9px;border-radius:999px;background:#e4f2ec;color:#1b6248;font-size:11px;font-weight:800}
.request-reject-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.request-reject-form input{min-width:220px;min-height:40px;padding:8px 11px;border:1px solid var(--line);border-radius:10px}
.mobile-bottom-nav{display:none}.mobile-workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mobile-workflow>div{display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center;padding:10px;border-radius:13px;background:#f7f9f8}.mobile-workflow>div>span{grid-row:span 2;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--brand);color:#fff;font-weight:900}.mobile-workflow small{color:var(--muted)}.mobile-submit-dock{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#f8faf9}.mobile-submit-dock>div{display:grid}.mobile-submit-dock small{color:var(--muted)}.mobile-search .search-action{display:grid;grid-template-columns:1fr auto;gap:8px}.mobile-client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.mobile-client-card{padding:18px}.mobile-client-head{display:flex;align-items:center;gap:12px}.mobile-client-head h3{margin:0;font-size:17px}.mobile-client-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.mobile-client-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.mobile-client-facts>span{display:grid;gap:5px;padding:10px;border-radius:11px;background:#f6f8f7;font-size:12px}.mobile-client-facts small{color:var(--muted);font-weight:700}.mobile-client-note{min-height:42px;margin:0 0 12px;color:var(--warning);font-size:12px}.mobile-primary-action{width:100%}.proposal-list{display:grid;gap:8px}.proposal-list article{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px}.proposal-list article>div{display:grid}.proposal-list article small{color:var(--muted)}

@media (max-width: 1120px) {
  .metric-grid, .grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .mobile-client-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .app-sidebar { position: static; width: 100%; padding: 14px; }
  .app-brand { padding-bottom: 10px; }
  .app-nav { display: flex; overflow-x: auto; }
  .app-nav-label, .app-sidebar-footer { display: none; }
  .app-nav a { flex: 0 0 auto; }
  .app-main { margin-left: 0; }
  .app-topbar { padding: 12px 18px; }
  .app-topbar-user { display: none; }
  .app-topbar-actions .quick-action { display:none; }
  .app-content { padding: 22px 16px 40px; }
  .grid-2, .grid-3, .client-hero, .auth-shell { grid-template-columns: 1fr; }
  .auth-visual { min-height: 320px; }
  .mobile-bottom-nav{position:fixed;z-index:90;inset:auto 8px 8px;display:grid;grid-template-columns:repeat(5,1fr);padding:6px;border:1px solid rgba(20,33,29,.12);border-radius:17px;background:rgba(255,255,255,.96);box-shadow:0 12px 34px rgba(20,33,29,.2);backdrop-filter:blur(12px)}.mobile-bottom-nav a{display:grid;place-items:center;gap:1px;min-height:48px;padding:4px;border-radius:12px;color:var(--muted);text-decoration:none;text-align:center}.mobile-bottom-nav a>span{font-size:18px;font-weight:900}.mobile-bottom-nav small{font-size:9px;font-weight:800;line-height:1.1}.mobile-bottom-nav a.active{background:#e8f2ee;color:var(--brand)}.app-content{padding-bottom:94px}.mobile-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-client-grid{grid-template-columns:1fr}.proposal-list article{grid-template-columns:1fr auto}.proposal-list article>.subtle,.proposal-list article>.btn{grid-column:1/-1}
  .commercial-app .app-sidebar{display:none}.commercial-app .app-topbar{min-height:62px}.commercial-app .app-main{margin-left:0}
}
@media (max-width: 600px) {
  .metric-grid, .grid-4, .filters { grid-template-columns: 1fr; }
  .filters .wide { grid-column: auto; }
  .page-head { display: grid; }
  .definition-list { grid-template-columns: 1fr; }
  .definition-list dd { margin-bottom: 8px; }
  .legacy-admin-page .page-title-row,.legacy-admin-page .products-page-head,.legacy-admin-page .messages-page-head,.legacy-admin-page .odoo-page-head{display:grid}
  .legacy-admin-page .button,.legacy-admin-page .admin-btn,.legacy-admin-page button:not(.icon-button){min-height:44px}
  .mobile-workflow{grid-template-columns:1fr}.mobile-submit-dock{position:sticky;z-index:25;bottom:72px;margin:18px -10px -10px;padding:12px;border-radius:15px;background:rgba(255,255,255,.97);box-shadow:0 -8px 28px rgba(20,33,29,.12);backdrop-filter:blur(12px)}.mobile-submit-dock .metric-value{font-size:20px}.mobile-submit-dock .btn{min-height:48px}.mobile-client-facts{grid-template-columns:1fr 1fr}.mobile-client-facts>span:last-child{grid-column:1/-1}.mobile-search{position:sticky;z-index:20;top:72px}.mobile-search .search-action{grid-template-columns:1fr}.mobile-search .btn{width:100%}
  #commercial-order-form .table-wrap{overflow:visible;border:0;background:transparent}#commercial-order-form .data-table,#commercial-order-form .data-table tbody{display:block;background:transparent}#commercial-order-form .data-table thead{display:none}#commercial-order-form .data-table tr{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin-bottom:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(20,33,29,.05)}#commercial-order-form .data-table td{display:block;padding:0;border:0;background:transparent!important}#commercial-order-form .data-table td:nth-child(1){grid-column:1/-1;font-size:15px}#commercial-order-form .data-table td:nth-child(2){grid-column:1;color:var(--muted);font-size:11px}#commercial-order-form .data-table td:nth-child(3){grid-column:2;text-align:right;font-size:12px}#commercial-order-form .data-table td:nth-child(3)::before{content:"Stock ";color:var(--muted)}#commercial-order-form .data-table td:nth-child(4){grid-column:1;align-self:center;text-align:left}#commercial-order-form .data-table td:nth-child(5){grid-column:2;grid-row:3/5;align-self:end}#commercial-order-form .data-table td:nth-child(5)::before{content:"Cantidad";display:block;margin-bottom:4px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}#commercial-order-form [data-qty]{width:84px;min-height:48px;font-size:17px;text-align:center}#commercial-order-form .card-head{display:grid}#commercial-order-form .card-head .field{min-width:0!important}
}
.copy-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.copy-field input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.copy-button{white-space:nowrap}.temporary-access-card{width:min(760px,100%);margin:0 0 18px;padding:16px!important;border-color:#b9dfcf!important;background:linear-gradient(145deg,#f0faf6,#fff)!important;box-shadow:0 10px 28px rgba(20,70,52,.09)!important}.temporary-access-card .card-head{margin-bottom:10px}.temporary-access-card .card-head h3{font-size:17px}.temporary-access-card .card-head p{margin-top:2px;font-size:12px}.temporary-access-card .field label{font-size:11px}.temporary-access-card input{min-height:40px}.temporary-access-card .copy-button{min-height:40px;padding:7px 11px}.temporary-access-card .subtle{margin:10px 0 0;font-size:11px}.temporary-access-actions{margin-top:9px}@media(max-width:700px){.temporary-access-card .grid-2{grid-template-columns:1fr}.copy-field{grid-template-columns:minmax(0,1fr) auto}}


/* === Lygis compact professional UI refresh === */
:root {
  --radius: 14px;
  --shadow: 0 12px 34px rgba(20, 33, 29, .055);
}
body.app-body { font-size: 14px; background: #f7f9f8; }
.app-sidebar { width: 235px; padding: 20px 13px; }
.app-main { margin-left: 235px; }
.app-nav a { padding: 10px 12px; border-radius: 12px; font-size: 13px; }
.app-topbar { min-height: 64px; padding: 12px 26px; }
.app-content { width: min(1640px, 100%); padding: 24px 26px 44px; }
.card-pad { padding: 18px; }
.table-wrap { border-radius: 13px; box-shadow: 0 10px 28px rgba(20, 33, 29, .045); }
.data-table th, .legacy-admin-page table th { padding: 10px 12px; color: #4f5f58; font-size: 10.5px; }
.data-table td, .legacy-admin-page table td { padding: 10px 12px; font-size: 12.5px; }
.badge, .status-badge, .filter-chip, .request-status, .odoo-pill { letter-spacing: -.01em; }
.notice { border-radius: 13px; font-size: 13px; }
.notice.warning { border-color: #ead7a9; background: #fff9eb; color: #81520c; }
.legacy-admin-page .messages-page-head { margin-bottom: 18px; }
.legacy-admin-page .request-card { border: 1px solid #e1e8e4; border-radius: 16px; box-shadow: 0 10px 30px rgba(20, 33, 29, .05); overflow: hidden; }
.legacy-admin-page .request-card__head { padding: 14px 18px; background: linear-gradient(180deg, #fff, #fafcfb); }
.legacy-admin-page .request-card__body { grid-template-columns: 280px minmax(0, 1fr) 220px; }
.legacy-admin-page .request-panel { padding: 16px 18px; }
.legacy-admin-page .request-panel h3 { margin-bottom: 12px; font-size: 11px; letter-spacing: .08em; }
.legacy-admin-page .request-tabs a { min-height: 38px; padding: 8px 14px; }
@media (max-width: 820px) {
  .app-sidebar { width: 100%; }
  .app-main { margin-left: 0; }
}

/* === Lygis V4: tema interior más limpio + modal centrado === */
html.lygis-modal-open,
body.lygis-modal-open { overflow: hidden; }
.lygis-confirm-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(15, 23, 42, .48);
  backdrop-filter: blur(8px);
}
.lygis-confirm-backdrop[hidden] { display: none !important; }
.lygis-confirm-modal {
  width: min(460px, 100%);
  padding: 24px;
  border: 1px solid #e3e8f0;
  border-radius: 24px;
  background: #fff;
  color: #111827;
  box-shadow: 0 30px 90px rgba(15, 23, 42, .28);
  transform: translateY(0);
}
.lygis-confirm-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: #fff7ed;
  color: #9a3412;
  font-weight: 900;
}
.lygis-confirm-copy h2 {
  margin: 0 0 8px;
  color: #111827;
  font-size: 22px;
  letter-spacing: -.035em;
}
.lygis-confirm-copy p {
  margin: 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.55;
}
.lygis-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 22px;
}
.lygis-confirm-actions .btn {
  min-height: 42px;
  border-radius: 999px;
}

body.app-body {
  background: #f3f5f8;
  color: #111827;
}
.app-sidebar {
  background: #ffffff;
  color: #111827;
  border-right: 1px solid #e3e8f0;
  box-shadow: 8px 0 24px rgba(17,24,39,.025);
}
.app-brand { color: #111827; }
.app-brand small { color: #667085; }
.app-brand-mark {
  background: #111827;
  color: #fff;
  border-radius: 12px;
}
.app-nav-label {
  color: #98a2b3;
}
.app-nav a {
  color: #344054;
  border: 1px solid transparent;
  border-radius: 12px;
}
.app-nav a:hover,
.app-nav a.active {
  background: #f7f9fc;
  color: #111827;
  border-color: #e3e8f0;
  box-shadow: 0 8px 20px rgba(17,24,39,.04);
}
.app-sidebar-footer {
  border-top-color: #edf1f6;
  color: #667085;
}
.app-topbar {
  min-height: 76px;
  background: rgba(255,255,255,.94);
  border-bottom-color: #e3e8f0;
}
.app-eyebrow { color: #667085; }
.app-topbar h1,
.page-head h2 {
  color: #111827;
  letter-spacing: -.045em;
}
.app-content { max-width: 1500px; }
.card,
.metric,
.table-wrap {
  border-color: #e3e8f0;
  border-radius: 22px;
  box-shadow: 0 16px 38px rgba(17,24,39,.035);
}
.card-pad { padding: 24px; }
.btn,
.quick-action {
  border-radius: 999px;
}
.btn:not(.secondary):not(.danger):not(.gold),
.quick-action.primary {
  background: #111827;
  border-color: #111827;
}
.btn.secondary,
.quick-action {
  background: #fff;
  border-color: #d9e1ec;
  color: #111827;
}
.field input,
.field select,
.field textarea,
input.input,
select.input,
textarea.input {
  border-color: #d7dee8;
  border-radius: 13px;
  min-height: 44px;
}
.data-table th {
  background: #fff;
  color: #111827;
  font-size: 12px;
  letter-spacing: .045em;
  border-bottom: 1px solid #e3e8f0;
}
.data-table td {
  border-top-color: #edf1f6;
}
.badge {
  border-radius: 999px;
  padding: 6px 10px;
}
.temporary-access-card {
  border-radius: 22px !important;
  border-color: #c6f1dc !important;
  background: linear-gradient(135deg,#f0fdf4,#ffffff) !important;
}
@media (max-width: 820px) {
  .app-sidebar { border-right: 0; border-bottom: 1px solid #e3e8f0; }
  .lygis-confirm-backdrop { padding: 16px; align-items: flex-end; }
  .lygis-confirm-modal { border-radius: 22px; }
}



/* =========================================================
   Lygis Admin + Comercial V2 — cambio real de estructura visual
   ========================================================= */

:root {
  --ink: #0f172a;
  --muted: #64748b;
  --line: #dbe3ee;
  --panel: #ffffff;
  --canvas: #f3f6fb;
  --brand: #0f172a;
  --brand-2: #1e293b;
  --success: #067647;
  --warning: #a15c07;
  --danger: #b42318;
  --radius: 20px;
  --shadow: 0 20px 54px rgba(15, 23, 42, .075);
}

html { background: var(--canvas); }
body.app-body {
  margin: 0 !important;
  min-height: 100vh !important;
  background:
    radial-gradient(circle at top left, rgba(226,232,240,.95), transparent 34rem),
    linear-gradient(180deg, #f8fafc 0%, #eef3f9 100%) !important;
  color: var(--ink) !important;
  font-family: "Inter", "Aptos", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

/* ---------- Login nuevo ---------- */
.lygis-auth-page {
  background: #f5f7fb !important;
}

.lygis-auth-layout {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(420px, .98fr) minmax(420px, 1.02fr);
}

.lygis-auth-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 54px;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.18), transparent 16rem),
    radial-gradient(circle at 88% 80%, rgba(148,163,184,.26), transparent 18rem),
    linear-gradient(145deg, #0f172a 0%, #111827 46%, #1f2937 100%);
  color: #fff;
}

.lygis-auth-hero:after {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -120px;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
}

.lygis-auth-logo {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: baseline;
  gap: 9px;
  width: max-content;
  color: #fff;
  text-decoration: none;
  letter-spacing: -.03em;
}

.lygis-auth-logo span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 900;
}

.lygis-auth-logo small {
  padding-left: 9px;
  border-left: 1px solid rgba(255,255,255,.36);
  font-size: 16px;
  font-weight: 800;
}

.lygis-auth-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 560px;
}

.lygis-auth-kicker {
  display: inline-flex;
  margin-bottom: 14px;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #dbeafe;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.lygis-auth-hero h1 {
  margin: 0;
  font-size: clamp(42px, 5.4vw, 78px);
  line-height: .92;
  letter-spacing: -.075em;
}

.lygis-auth-hero p {
  max-width: 500px;
  margin: 22px 0 0;
  color: #cbd5e1;
  font-size: 16px;
  line-height: 1.65;
}

.lygis-auth-points {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.lygis-auth-points span {
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  color: #e2e8f0;
  font-size: 12px;
  font-weight: 800;
}

.lygis-auth-panel {
  display: grid;
  place-items: center;
  padding: 44px;
}

.lygis-auth-card {
  width: min(430px, 100%);
  padding: 30px;
  border: 1px solid #e2e8f0;
  border-radius: 30px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 30px 90px rgba(15,23,42,.12);
}

.lygis-auth-card-head {
  margin-bottom: 22px;
}

.lygis-auth-badge {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 7px 10px;
  border-radius: 999px;
  background: #eef2ff;
  color: #1e293b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.lygis-auth-card h2 {
  margin: 0 0 7px;
  color: #0f172a;
  font-size: 30px;
  line-height: 1.02;
  letter-spacing: -.055em;
}

.lygis-auth-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.lygis-auth-form {
  display: grid;
  gap: 15px;
}

.lygis-password-field {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
}

.lygis-password-field input {
  min-width: 0;
}

.lygis-password-field button {
  min-height: 42px;
  padding: 0 13px;
  border: 1px solid #dbe3ee;
  border-radius: 13px;
  background: #fff;
  color: #0f172a;
  font-weight: 850;
  cursor: pointer;
}

.lygis-auth-submit {
  width: 100%;
  min-height: 48px !important;
  margin-top: 4px;
}

.lygis-auth-back {
  justify-self: center;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

/* ---------- Shell admin/comercial nuevo ---------- */
.lygis-shell-layout {
  min-height: 100vh;
}

.lygis-shell-sidebar {
  position: fixed !important;
  inset: 18px auto 18px 18px !important;
  z-index: 50 !important;
  width: 264px !important;
  padding: 18px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid rgba(226,232,240,.92) !important;
  border-radius: 28px !important;
  background: rgba(255,255,255,.96) !important;
  color: var(--ink) !important;
  box-shadow: 0 24px 70px rgba(15,23,42,.10) !important;
  overflow-y: auto !important;
}

.lygis-shell-main {
  margin-left: 300px !important;
  min-width: 0 !important;
}

.lygis-shell-topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 40 !important;
  min-height: 76px !important;
  padding: 14px 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: 1px solid rgba(226,232,240,.9) !important;
  background: rgba(255,255,255,.88) !important;
  backdrop-filter: blur(18px) !important;
}

.lygis-shell-content {
  width: min(1800px, 100%) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 28px 34px 56px !important;
}

/* Marca */
.lygis-shell-brand {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  min-height: 54px !important;
  padding: 0 9px 14px !important;
  color: var(--ink) !important;
  text-decoration: none !important;
}

.app-brand-mark {
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 15px !important;
  background: #0f172a !important;
  color: #fff !important;
  font-weight: 950 !important;
  box-shadow: 0 12px 26px rgba(15,23,42,.18) !important;
}

.lygis-brand-copy strong {
  display: block;
  color: #0f172a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1;
  letter-spacing: -.03em;
}

.lygis-brand-copy small {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.lygis-user-card {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 10px;
  align-items: center;
  margin: 6px 4px 12px;
  padding: 10px;
  border: 1px solid #e5eaf2;
  border-radius: 18px;
  background: #f8fafc;
}

.lygis-user-avatar {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 14px;
  background: #e2e8f0;
  color: #0f172a;
  font-weight: 950;
}

.lygis-user-card strong {
  display: block;
  color: #0f172a;
  font-size: 13px;
  line-height: 1.15;
}

.lygis-user-card small {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 11px;
  font-weight: 750;
}

.lygis-shell-nav {
  display: grid !important;
  gap: 5px !important;
}

.app-nav-label {
  padding: 15px 12px 5px !important;
  color: #94a3b8 !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.lygis-shell-nav a {
  min-height: 42px !important;
  padding: 10px 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border: 1px solid transparent !important;
  border-radius: 15px !important;
  background: transparent !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

.lygis-shell-nav a:hover {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
  color: #0f172a !important;
}

.lygis-shell-nav a.active {
  background: #0f172a !important;
  border-color: #0f172a !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(15,23,42,.16) !important;
}

.lygis-shell-nav a.active .app-nav-icon {
  color: #fff !important;
}

.lygis-logout-link {
  margin-top: 4px;
  color: #b42318 !important;
  background: #fff7f6 !important;
  border-color: #fee4e2 !important;
}

.app-nav-icon {
  width: 22px !important;
  text-align: center !important;
  opacity: .9 !important;
}

/* Topbar */
.lygis-topbar-title h1,
.app-topbar h1 {
  margin: 2px 0 0 !important;
  color: #0f172a !important;
  font-size: 20px !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
}

.app-eyebrow {
  display: block !important;
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.app-topbar-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.app-topbar-user {
  color: #64748b !important;
  font-size: 13px !important;
}

/* Cabeceras de página */
.page-head {
  margin: 0 0 20px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
}

.page-head h2,
.legacy-admin-page .legacy-admin-content h1,
.legacy-admin-page .page-title-row h1,
.legacy-admin-page .products-page-head h1,
.legacy-admin-page .messages-page-head h1,
.legacy-admin-page .odoo-page-head h1 {
  margin: 0 0 7px !important;
  color: #0f172a !important;
  font-size: clamp(25px, 2.2vw, 34px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.055em !important;
  font-weight: 900 !important;
}

.page-head p,
.page-subtitle,
.legacy-admin-page .page-subtitle,
.card-head p {
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* Botones */
.btn,
.button,
.admin-btn,
.quick-action,
.legacy-admin-page .button,
.legacy-admin-page .admin-btn,
.legacy-admin-page button:not(.icon-button) {
  min-height: 39px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  font: inherit !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.btn:not(.secondary):not(.danger):not(.gold),
.quick-action.primary,
.legacy-admin-page .button:not(.light):not(.muted):not(.danger),
.legacy-admin-page .admin-btn:not(.secondary):not(.danger) {
  background: #0f172a !important;
  border-color: #0f172a !important;
  color: #fff !important;
}

.btn.secondary,
.quick-action,
.button.light,
.button.muted,
.admin-btn.secondary,
.legacy-admin-page .button.light,
.legacy-admin-page .button.muted,
.legacy-admin-page .admin-btn.secondary {
  background: #fff !important;
  border-color: #dbe3ee !important;
  color: #0f172a !important;
}

.btn.danger,
.legacy-admin-page .button.danger,
.legacy-admin-page .admin-btn.danger {
  background: #b42318 !important;
  border-color: #b42318 !important;
  color: #fff !important;
}

.btn.small {
  min-height: 32px !important;
  padding: 6px 10px !important;
  font-size: 11px !important;
}

/* Cards */
.card,
.metric,
.table-wrap,
.legacy-admin-page .card {
  border: 1px solid #e2e8f0 !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 18px 46px rgba(15,23,42,.06) !important;
}

.card-pad {
  padding: 20px !important;
}

.card-head {
  margin-bottom: 14px !important;
  align-items: flex-start !important;
}

.card-head h3,
.legacy-admin-page .card h2,
.legacy-admin-page .card h3 {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: 17px !important;
  line-height: 1.18 !important;
  letter-spacing: -.025em !important;
}

/* Métricas */
.metric-grid {
  gap: 12px !important;
  margin-bottom: 18px !important;
}

.metric {
  padding: 17px !important;
  background: linear-gradient(180deg,#fff 0%,#f8fafc 100%) !important;
}

.metric-label {
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
}

.metric-value {
  margin-top: 6px !important;
  color: #0f172a !important;
  font-size: clamp(20px, 2vw, 27px) !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
}

/* Formularios */
.field,
.form-field,
.shipping-field {
  gap: 6px !important;
}

.field label,
.form-field label,
.shipping-field label {
  color: #334155 !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .01em !important;
}

.field input,
.field select,
.field textarea,
.form-field input,
.form-field select,
.form-field textarea,
.shipping-field input,
.shipping-field select,
.shipping-field textarea,
input.input,
select.input,
textarea.input,
.legacy-admin-page input,
.legacy-admin-page select,
.legacy-admin-page textarea {
  width: 100% !important;
  min-height: 40px !important;
  padding: 8px 11px !important;
  border: 1px solid #d5deea !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #0f172a !important;
  font: inherit !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  box-shadow: none !important;
}

.field textarea,
.form-field textarea,
textarea.input,
.legacy-admin-page textarea {
  min-height: 94px !important;
}

.field input:focus,
.field select:focus,
.field textarea:focus,
.legacy-admin-page input:focus,
.legacy-admin-page select:focus,
.legacy-admin-page textarea:focus {
  border-color: #0f172a !important;
  outline: 3px solid rgba(15,23,42,.10) !important;
}

input[type="number"] {
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.form-actions,
.page-actions {
  gap: 8px !important;
}

/* Tablas */
.table-wrap {
  width: 100% !important;
  overflow-x: auto !important;
  border-radius: 22px !important;
}

.data-table,
.legacy-admin-page table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff !important;
}

.data-table th,
.legacy-admin-page table th {
  padding: 10px 12px !important;
  background: #fff !important;
  color: #0f172a !important;
  border-bottom: 1px solid #e2e8f0 !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  text-align: left !important;
}

.data-table td,
.legacy-admin-page table td {
  padding: 10px 12px !important;
  border-top: 1px solid #eef2f7 !important;
  color: #334155 !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  vertical-align: top !important;
  overflow-wrap: anywhere !important;
}

.data-table tr:hover td,
.legacy-admin-page table tr:hover td {
  background: #fbfcff !important;
}

.data-table .num,
.legacy-admin-page table .num {
  text-align: right !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}

/* Estados */
.badge,
.status-badge,
.status-pill,
.filter-chip,
.order-pill,
.odoo-pill {
  display: inline-flex !important;
  align-items: center !important;
  max-width: 100% !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  white-space: normal !important;
}

.badge.success,
.status-badge.success,
.status-pill.success {
  background: #dcfae6 !important;
  color: #067647 !important;
}

.badge.warning,
.status-badge.warning,
.status-pill.warning {
  background: #fef0c7 !important;
  color: #93370d !important;
}

.badge.danger,
.status-badge.danger,
.status-pill.danger {
  background: #fee4e2 !important;
  color: #b42318 !important;
}

.badge.info,
.status-badge.info,
.status-pill.info {
  background: #e0f2fe !important;
  color: #075985 !important;
}

/* Avisos */
.notice {
  margin: 0 0 16px !important;
  padding: 13px 15px !important;
  border-radius: 17px !important;
  border: 1px solid #bbf7d0 !important;
  background: #f0fdf4 !important;
  color: #067647 !important;
  font-size: 13px !important;
}

.notice.error {
  border-color: #fecdca !important;
  background: #fffbfa !important;
  color: #b42318 !important;
}

.notice.warning {
  border-color: #fedf89 !important;
  background: #fffcf5 !important;
  color: #93370d !important;
}

/* Área comercial */
.mobile-client-card {
  padding: 18px !important;
  border-radius: 24px !important;
}

.mobile-client-head h3 {
  font-size: 16px !important;
  line-height: 1.2 !important;
}

.mobile-client-facts > span {
  border: 1px solid #e7edf5 !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
}

.mobile-submit-dock {
  border: 1px solid #e2e8f0 !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 18px 46px rgba(15,23,42,.06) !important;
}

#commercial-order-form [data-qty] {
  width: 84px !important;
  min-height: 38px !important;
  text-align: center !important;
  font-weight: 950 !important;
  border-radius: 14px !important;
}

/* Accesos temporales */
.copy-field {
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 8px !important;
}

.copy-button {
  min-height: 40px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}

.temporary-access-card {
  width: min(860px, 100%) !important;
  border-radius: 26px !important;
  border-color: #bbf7d0 !important;
  background: linear-gradient(135deg,#f0fdf4,#fff) !important;
}

/* Modal */
.lygis-confirm-backdrop {
  align-items: center !important;
  justify-content: center !important;
  backdrop-filter: blur(8px) !important;
}

.lygis-confirm-modal {
  border-radius: 28px !important;
}

/* Legacy admin */
.legacy-admin-page .legacy-admin-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #0f172a !important;
}

.legacy-admin-page .form-grid,
.legacy-admin-page .grid,
.grid {
  gap: 14px !important;
}

/* Responsive */
@media (min-width: 1320px) {
  .grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  .grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
  .filters { grid-template-columns: repeat(6, minmax(130px,1fr)) !important; }
}

@media (max-width: 1120px) {
  .lygis-shell-sidebar {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    margin: 12px !important;
    border-radius: 24px !important;
  }

  .lygis-shell-main {
    margin-left: 0 !important;
  }

  .lygis-shell-content {
    padding: 22px 18px 46px !important;
  }

  .lygis-shell-nav {
    display: flex !important;
    overflow-x: auto !important;
    padding-bottom: 3px !important;
  }

  .app-nav-label,
  .lygis-user-card {
    display: none !important;
  }

  .lygis-shell-nav a {
    flex: 0 0 auto !important;
  }

  .grid-3,
  .grid-4,
  .metric-grid,
  .filters {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .lygis-auth-layout {
    grid-template-columns: 1fr !important;
  }

  .lygis-auth-hero {
    min-height: 420px;
  }
}

@media (max-width: 760px) {
  .lygis-shell-topbar {
    padding: 12px 16px !important;
  }

  .app-topbar-actions .quick-action {
    display: none !important;
  }

  .lygis-shell-content {
    padding: 18px 14px 92px !important;
  }

  .page-head {
    display: grid !important;
  }

  .grid-2,
  .grid-3,
  .grid-4,
  .metric-grid,
  .filters {
    grid-template-columns: 1fr !important;
  }

  .data-table,
  .legacy-admin-page table {
    min-width: 760px !important;
  }

  .lygis-auth-hero,
  .lygis-auth-panel {
    padding: 26px !important;
  }

  .lygis-auth-hero h1 {
    font-size: 42px !important;
  }

  .mobile-bottom-nav {
    display: grid !important;
  }

  .commercial-app .lygis-shell-sidebar {
    display: none !important;
  }
}




/* Lygis Admin + Comercial V3: menú izquierdo como portal + flujo SEPA profesional */
.lygis-shell-sidebar {
  padding: 20px 16px !important;
}

.lygis-user-card {
  margin: 8px 4px 22px !important;
  border-radius: 18px !important;
}

.lygis-shell-nav {
  gap: 8px !important;
}

.lygis-shell-nav .app-nav-label {
  padding: 18px 12px 4px !important;
}

.lygis-shell-nav a,
.commercial-app .lygis-shell-nav a,
.lygis-admin-page .lygis-shell-nav a {
  min-height: 48px !important;
  height: 48px !important;
  padding: 0 16px !important;
  border-radius: 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.lygis-shell-nav a.active,
.commercial-app .lygis-shell-nav a.active,
.lygis-admin-page .lygis-shell-nav a.active {
  min-height: 48px !important;
  height: 48px !important;
  background: #0f172a !important;
  color: #fff !important;
  box-shadow: 0 14px 28px rgba(15,23,42,.16) !important;
}

.lygis-shell-nav .lygis-logout-link {
  background: #fff7f6 !important;
  color: #b42318 !important;
  border-color: #fee4e2 !important;
}

.lygis-shell-nav .app-nav-icon {
  width: 22px !important;
  flex: 0 0 22px !important;
}

/* Evitar que reglas antiguas estiren el menú comercial */
.commercial-app .app-nav {
  display: grid !important;
  flex: initial !important;
}

/* Botones SEPA */
.sepa-workflow-card .btn {
  border-radius: 999px !important;
}

.sepa-workflow-card input,
.sepa-workflow-card textarea,
.sepa-workflow-card select {
  border-radius: 14px !important;
}

/* Historial SEPA más legible */
.sepa-workflow-card + .card .data-table td,
.sepa-workflow-card + .card .data-table th {
  font-size: 12px !important;
}

@media (max-width: 1120px) {
  .lygis-shell-nav a,
  .commercial-app .lygis-shell-nav a,
  .lygis-admin-page .lygis-shell-nav a {
    min-width: max-content !important;
  }
}

