:root{--ink:#17253b;--muted:#687487;--paper:#f5fbfc;--card:#ffffff;--line:#d9e8eb;--brand:#16b8c3;--brand-dark:#1622a8;--accent:#f1a12b;--danger:#b7353f;--success:#16866f}*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:linear-gradient(135deg,#f7fcfd,#f4f7ff);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.side{position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;align-self:start;background:linear-gradient(165deg,#11198f,#1724bc 50%,#0ca7bd 135%);color:white;padding:24px 20px}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;letter-spacing:.04em;margin-bottom:30px}.brand-mark{display:grid;place-items:center;width:64px;height:64px;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 8px 24px #050b5f55}.brand-mark img{width:56px;height:56px;object-fit:cover;object-position:center}.brand small{display:block;font-size:10px;font-weight:700;letter-spacing:.13em;opacity:.76;margin-top:5px}.nav{display:grid;grid-gap:6px;gap:6px}.nav a{padding:11px 12px;border-radius:9px;color:#edf9ff;white-space:nowrap}.nav a:focus-visible,.nav a:hover,.nav a[aria-current=page]{background:#ffffff20;box-shadow:inset 3px 0 0 var(--accent)}.main{padding:34px;max-width:1500px;width:100%;min-width:0}.top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}h1,h2{margin:0;overflow-wrap:anywhere}h1{font-size:34px;letter-spacing:-.025em}h2{font-size:21px}.eyebrow{color:var(--brand-dark);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.card{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 7px 24px #17253b0a}.metric{font-size:30px;font-weight:800;margin-top:12px;overflow-wrap:anywhere}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:9px;background:linear-gradient(135deg,var(--brand-dark),#2639cf);color:#fff;padding:11px 16px;font-weight:700;cursor:pointer;text-align:center}.button:hover{filter:brightness(1.08)}.button.secondary{background:#eaf4f6;color:var(--ink)}.button.danger{background:var(--danger)}.button.disabled,.button:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.stack{display:grid;grid-gap:18px;gap:18px;min-width:0}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:15px;gap:15px}.field{display:grid;grid-gap:7px;gap:7px;min-width:0}.field label{font-weight:700;font-size:13px}.field input,.field select{width:100%;min-width:0;border:1px solid #c9dce0;background:white;padding:11px;border-radius:8px;min-height:44px}.field input:focus,.field select:focus{outline:3px solid #16b8c32b;border-color:var(--brand)}.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;min-width:760px}.table td,.table th{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:middle}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.table input,.table select{max-width:100%}.right{text-align:right!important}.notice{border-left:4px solid var(--accent);padding:14px 16px;background:#fff7e8;border-radius:6px}.actions{display:flex;gap:10px;flex-wrap:wrap}.align-end{align-items:end}.justify-end{justify-content:flex-end}.link-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--brand-dark);padding:0;cursor:pointer;font:inherit}.link-button:disabled{opacity:.45}.danger-text{color:var(--danger)}.status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.status.success{background:#e2f6f1;color:#08715c}.status.pending{background:#fff1d5;color:#875300}.status.error{background:#fde8e9;color:#9d2933}.status.muted-status{background:#edf0f4;color:#667080}.archived-row{opacity:.67;background:#f6f7f9}.empty{padding:44px;text-align:center;color:var(--muted)}.price-up{color:var(--danger);font-weight:700}.price-down{color:var(--success);font-weight:700}.product-search{position:relative;min-width:260px;width:100%}.product-fields{display:grid;grid-template-columns:1fr 1fr 1.5fr 1fr;grid-gap:8px;gap:8px}.product-results{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;padding:8px;max-height:320px;overflow-y:auto}.search-result{display:grid;width:100%;grid-gap:3px;gap:3px;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:10px;cursor:pointer}.search-result:hover{background:#f2f9fa}.search-result span{color:var(--muted);font-size:12px}.close-results{margin:10px}.compact{padding:16px}.missing-tariff{margin-top:8px;gap:7px;font-size:12px}.price-editor{display:grid;grid-gap:6px;gap:6px;min-width:110px}.price-editor input{width:110px}.catalog-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:15px;gap:15px}.note-lines-table{min-width:1200px}.product-table{min-width:1050px}.price-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.price-summary>div{display:grid;grid-gap:7px;gap:7px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.price-summary span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.price-summary strong{font-size:22px}.chart-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:linear-gradient(#fff,#f8fcfd);padding:10px}.price-chart{display:block;width:100%;min-width:620px;height:auto}.chart-grid{stroke:#dce9ec;stroke-width:1}.chart-line{fill:none;stroke:var(--brand-dark);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:var(--accent);stroke:#fff;stroke-width:3}.price-chart text{font-size:11px;fill:var(--muted)}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{position:relative;top:auto;height:auto;overflow:visible;padding:16px 18px}.brand{margin-bottom:14px}.nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.nav a{flex:0 0 auto}.main{padding:22px}.catalog-form-grid,.form-grid,.grid,.price-summary,.product-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.top{margin-bottom:22px}}@media(max-width:600px){.side{padding:14px 16px}.brand{font-size:23px}.brand small{font-size:11px}.nav{margin-inline:-4px}.nav a{padding:10px}.main{padding:16px 12px 24px}.catalog-form-grid,.form-grid,.grid,.price-summary,.product-fields{grid-template-columns:1fr}.top{align-items:stretch;flex-direction:column;gap:14px;margin-bottom:18px}.top .button{width:100%}h1{font-size:28px;line-height:1.1}h2{font-size:19px}.card{padding:16px;border-radius:11px}.metric{font-size:27px}.actions{display:grid;grid-template-columns:1fr}.actions .button{width:100%}.empty{padding:30px 14px}.product-search{min-width:220px}.table{font-size:14px}.table td,.table th{padding:10px 8px}}.price-confirm-input,.quantity-input{width:100%;min-width:96px;min-height:44px;border:1px solid #c9dce0;border-radius:8px;background:#fff;padding:11px;text-align:right}.price-confirm-input:focus,.quantity-input:focus{outline:3px solid #16b8c32b;border-color:var(--brand)}.price-confirm-input[readonly]{background:#f4f7f8;color:var(--ink)}.table-filters th{padding-top:6px;padding-bottom:10px;background:#f8fbfc}.table-filters input,.table-filters select{width:100%;min-width:72px;border:1px solid #c9dce0;border-radius:7px;background:#fff;padding:8px;text-transform:none;letter-spacing:normal}.table-filters input:focus,.table-filters select:focus{outline:2px solid #16b8c32b;border-color:var(--brand)}.chart-point{cursor:pointer}.chart-point:focus{outline:none;stroke:var(--brand-dark);stroke-width:4}.chart-selection{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 14px;background:#eef7ff;border-radius:8px;color:var(--ink)}.chart-selection strong{font-size:18px}.chart-help,.chart-selection span{color:var(--muted);margin:0;text-align:center}.incident-digest{display:block;color:var(--muted);margin-top:5px}.sort-header{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;padding:0;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;white-space:nowrap}.sort-header span{color:var(--brand-dark);font-size:10px}.recommendation-chip{border:1px solid #bfdde2;background:#f4fbfc;color:var(--ink);border-radius:999px;padding:9px 12px;cursor:pointer}.recommendation-chip:hover{border-color:var(--brand);background:#e9f8fa}.note-lines-table>tbody>tr>td:first-child{vertical-align:top;padding-top:33px}.quantity-input{display:block;height:44px;margin:0}.missing-tariff select,.price-editor input{width:100%;min-width:150px;min-height:44px;border:1px solid #c9dce0;border-radius:8px;background:#fff;padding:11px}.missing-tariff select:focus,.price-editor input:focus{outline:3px solid #16b8c32b;border-color:var(--brand)}.price-editor .link-button{min-height:36px;border-radius:8px;background:#eef5ff;padding:8px 12px;font-weight:700}.price-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.price-actions .button{min-height:42px;white-space:nowrap}.tariff-detail-table{min-width:1300px}.side-header{display:block}.side-content{display:flex;flex:1 1;min-height:0;flex-direction:column}.side-footer{display:grid;grid-gap:12px;gap:12px;margin-top:auto;padding-top:24px}.menu-toggle{display:none}.user-create-grid{display:grid;grid-template-columns:1.4fr 1.3fr auto;grid-gap:15px;gap:15px;align-items:end}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.users-table select{width:100%;min-width:160px;min-height:42px;border:1px solid #c9dce0;border-radius:8px;background:#fff;padding:8px}.users-table .button{min-height:40px;padding:8px 12px}@media(max-width:900px){.side{position:-webkit-sticky;position:sticky;z-index:50;top:0;height:auto;max-height:100vh;overflow:auto;padding:12px 16px;box-shadow:0 6px 20px #07106430}.side-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{margin:0;font-size:18px}.brand-mark{width:46px;height:46px;border-radius:11px}.brand-mark img{width:40px;height:40px}.menu-toggle{display:inline-flex;min-height:44px;align-items:center;gap:7px;border:1px solid #ffffff55;border-radius:9px;background:#ffffff18;color:#fff;padding:8px 12px;font-weight:700}.side-content{display:none}.side.menu-open .side-content{display:flex;padding-top:14px}.nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.nav a{white-space:normal}.side-footer{padding-top:14px}.user-create-grid{grid-template-columns:1fr 1fr}.user-create-grid .actions{grid-column:1/-1}}@media(max-width:600px){.side{padding:10px 12px}.brand{font-size:17px}.brand small{font-size:9px}.nav{grid-template-columns:1fr}.main{padding:16px 10px 24px}.user-create-grid{grid-template-columns:1fr}.product-search{min-width:0}.table-wrap{margin-inline:-4px;padding-bottom:4px}.table-wrap:has(.table):before{content:"Desliza horizontalmente para ver más →";display:block;position:-webkit-sticky;position:sticky;left:0;width:max-content;max-width:calc(100vw - 48px);margin:0 0 8px;padding:6px 9px;border-radius:7px;background:#eef5ff;color:var(--muted);font-size:11px}.section-heading{align-items:stretch;flex-direction:column}.section-heading .button{width:100%}.users-table{min-width:0}.users-table thead{display:none}.users-table,.users-table tbody,.users-table td,.users-table tr{display:block;width:100%}.users-table tr{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:12px}.users-table td{display:grid;grid-template-columns:110px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;border:0;padding:8px 4px}.users-table td:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.users-table td .button,.users-table td select{width:100%}}.auth-confirm-card{width:min(100%,560px);margin:70px auto}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--line)}.auth-brand img{width:62px;height:62px;object-fit:cover;border-radius:14px}.auth-brand span{display:block;color:var(--brand-dark);font-size:24px;font-weight:900;letter-spacing:.05em}.auth-brand small{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.13em;margin-top:4px}@media(max-width:600px){.auth-confirm-card{margin:20px auto;padding:18px}.auth-brand img{width:52px;height:52px}.auth-brand span{font-size:21px}}.side{display:flex;flex-direction:column}.session-controls{display:grid;grid-gap:9px;gap:9px;margin-top:auto;padding-top:28px}.session-controls small{color:#cbd9d2;line-height:1.35}.session-controls .button{width:100%}@media(max-width:900px){.session-controls{margin-top:14px;padding-top:0;max-width:none;grid-template-columns:minmax(150px,220px) 1fr;align-items:center}.session-controls small{max-width:320px}}@media(max-width:600px){.session-controls{grid-template-columns:1fr;gap:6px}.session-controls .button{width:100%}.session-controls small{text-align:center}}