.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;box-sizing:border-box;background:radial-gradient(circle at 50% -10%,#16263a,#0a0e14 55%);color:#e8edf2;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.login-card{width:100%;max-width:380px;padding:2.5rem 2rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 24px 70px #00000073;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.login-logo{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin-bottom:2rem}.login-logo-img{width:160px;height:auto;margin-bottom:.6rem}.login-wordmark{font-size:1.3rem;font-weight:700;letter-spacing:.18em}.login-subtitle{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:#7d8aa0}.login-form{display:flex;flex-direction:column;gap:1.1rem}.login-field{display:flex;flex-direction:column;gap:.45rem;font-size:.78rem;letter-spacing:.05em;color:#9aa7bd}.login-field input{background:#0f1622;border:1px solid rgba(255,255,255,.1);color:#e8edf2;padding:.72rem .85rem;border-radius:9px;font-size:.95rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.login-field input::placeholder{color:#56627a}.login-field input:focus{border-color:#5ab0ff;box-shadow:0 0 0 3px #5ab0ff26}.login-button{margin-top:.4rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:.8rem;border-radius:9px;font-size:.95rem;font-weight:600;letter-spacing:.03em;cursor:pointer;transition:opacity .15s ease,transform .05s ease}.login-button:hover:not(:disabled){opacity:.92}.login-button:active:not(:disabled){transform:translateY(1px)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-error{margin:0;padding:.6rem .75rem;color:#ff9a9a;background:#ff505014;border:1px solid rgba(255,80,80,.25);border-radius:8px;font-size:.82rem}.login-footer{margin-top:1.5rem;font-size:.72rem;letter-spacing:.05em;color:#5a6678}.login-mode-toggle{display:flex;gap:12px;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:20px}.mode-button{flex:1;padding:10px 16px;background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff9;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.mode-button:hover{border-color:#fff6;color:#fffc}.mode-button.active{background:#3b82f633;border-color:#3b82f6;color:#3b82f6}.dash{min-height:100vh;background:radial-gradient(circle at 50% -10%,#16263a,#0a0e14 55%);color:#e8edf2;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.dash-top{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.07);background:#0a0e148c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.dash-logo{height:34px;width:auto}.dash-signout{background:transparent;border:1px solid rgba(255,255,255,.18);color:#c7d2e0;padding:.45rem .9rem;border-radius:8px;font-size:.85rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.dash-signout:hover{background:#ffffff0f;border-color:#ffffff4d}.dash-main{max-width:760px;margin:0 auto;padding:2rem 1.5rem 4rem}.dash-muted{color:#7d8aa0;font-size:.88rem}.dash-error{color:#ff9a9a;background:#ff505014;border:1px solid rgba(255,80,80,.25);padding:.7rem .85rem;border-radius:10px}.dash-pricelist{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 1.5rem;margin-bottom:2.5rem;border-radius:14px;background:linear-gradient(135deg,#3b82f624,#2563eb0d);border:1px solid rgba(90,176,255,.3)}.dash-pricelist-title{margin:0 0 .25rem;font-size:1.05rem}.dash-section{margin-bottom:2.5rem}.dash-h2{margin:0 0 1rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:#8c9ab2}.dash-block{margin-bottom:.8rem;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;background:#ffffff08}.dash-block-head{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:transparent;border:none;color:#e8edf2;font-size:1rem;text-align:left;cursor:pointer}.dash-block-head:hover{background:#ffffff08}.dash-block-title{font-weight:600}.dash-block-meta{display:flex;align-items:center;gap:.7rem;font-size:.82rem;color:#7d8aa0}.dash-chevron{display:inline-block;transition:transform .18s ease}.dash-chevron.open{transform:rotate(90deg)}.dash-files{list-style:none;margin:0;padding:0 .5rem .5rem}.dash-files--flat{padding:.5rem;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff08}.dash-file{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .85rem;border-radius:9px}.dash-file:hover{background:#ffffff0a}.dash-file-info{display:flex;flex-direction:column;gap:.3rem;min-width:0}.dash-file-name{font-size:.95rem}.dash-file-meta{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.dash-file-tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#5ab0ff}.dash-file-date{font-size:.75rem;color:#6f7c92}.dash-download{flex-shrink:0;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:.5rem .95rem;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .05s ease}.dash-download:hover:not(:disabled){opacity:.92}.dash-download:active:not(:disabled){transform:translateY(1px)}.dash-download:disabled{opacity:.6;cursor:not-allowed}.dash-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.08)}.dash-tab{flex:1 1 auto;min-width:120px;padding:.6rem 1rem;background:transparent;border:1px solid rgba(255,255,255,.18);color:#c7d2e0;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.dash-tab:hover{background:#ffffff0d;border-color:#ffffff4d}.dash-tab.active{background:#3b82f633;border-color:#3b82f6;color:#fff}.dash-block>.dash-block-title{margin:0;padding:.9rem 1.25rem .3rem;font-size:.95rem}.admin{min-height:100vh;display:flex;background:radial-gradient(circle at 50% -10%,#16263a,#0a0e14 55%);color:#e8edf2;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.admin-sidebar{position:sticky;top:0;align-self:flex-start;height:100vh;width:240px;flex-shrink:0;display:flex;flex-direction:column;padding:1.5rem 1rem;box-sizing:border-box;border-right:1px solid rgba(255,255,255,.07);background:#0a0e148c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.admin-brand{display:flex;align-items:center;gap:.6rem;padding:0 .5rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:1.25rem}.admin-logo{height:30px;width:auto}.admin-brand-tag{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:#5ab0ff;padding:.15rem .45rem;border:1px solid rgba(90,176,255,.35);border-radius:6px}.admin-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.admin-nav-item{text-align:left;background:transparent;border:none;color:#c7d2e0;padding:.65rem .85rem;border-radius:9px;font-size:.92rem;cursor:pointer;transition:background .15s ease,color .15s ease}.admin-nav-item:hover{background:#ffffff0d}.admin-nav-item.active{background:linear-gradient(135deg,#3b82f638,#2563eb1a);border:1px solid rgba(90,176,255,.3);color:#fff;font-weight:600}.admin-sidebar-footer{display:flex;flex-direction:column;gap:.4rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.07)}.admin-link{text-align:left;background:transparent;border:none;color:#7d8aa0;padding:.4rem .5rem;border-radius:7px;font-size:.82rem;cursor:pointer;transition:color .15s ease,background .15s ease}.admin-link:hover{color:#e8edf2;background:#ffffff0d}.admin-content{flex:1;min-width:0;padding:2.5rem 3rem 4rem}.admin-content-head{margin-bottom:2rem}.admin-title{margin:0 0 .4rem;font-size:1.6rem;font-weight:700;letter-spacing:.01em}.admin-subtitle{margin:0;color:#7d8aa0;font-size:.92rem}.admin-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;min-height:320px;padding:2rem;text-align:center;color:#7d8aa0;border:1px dashed rgba(255,255,255,.12);border-radius:16px;background:#ffffff05}.admin-placeholder-badge{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:#5ab0ff;padding:.25rem .6rem;border:1px solid rgba(90,176,255,.3);border-radius:999px}.admin-placeholder strong{color:#c7d2e0}.prod-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.prod-count{color:#7d8aa0;font-size:.88rem}.prod-btn{border-radius:8px;padding:.5rem .95rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .15s ease,background .15s ease,border-color .15s ease,transform .05s ease}.prod-btn--primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none}.prod-btn--primary:hover:not(:disabled){opacity:.92}.prod-btn--primary:active:not(:disabled){transform:translateY(1px)}.prod-btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.18);color:#c7d2e0}.prod-btn--ghost:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff4d}.prod-btn:disabled{opacity:.6;cursor:not-allowed}.prod-error{margin:0 0 1rem;padding:.6rem .8rem;color:#ff9a9a;background:#ff505014;border:1px solid rgba(255,80,80,.25);border-radius:8px;font-size:.85rem}.prod-empty{padding:2.5rem 1.5rem;text-align:center;color:#7d8aa0;border:1px dashed rgba(255,255,255,.12);border-radius:14px;background:#ffffff05}.prod-table{width:100%;border-collapse:collapse;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;background:#ffffff08}.prod-table thead th{text-align:left;padding:.75rem 1rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#8c9ab2;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff05}.prod-table tbody td{padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.05);font-size:.92rem}.prod-table tbody tr:last-child td{border-bottom:none}.prod-table tbody tr:hover td{background:#ffffff08}.prod-col-orden{width:80px;color:#7d8aa0}.prod-col-estado{width:120px}.prod-col-acciones{width:100px;text-align:right}.prod-name{font-weight:600}.prod-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600}.prod-badge.is-active{color:#6ee7b7;background:#10b9811f;border:1px solid rgba(16,185,129,.3)}.prod-badge.is-inactive{color:#94a3b8;background:#94a3b81a;border:1px solid rgba(148,163,184,.25)}.prod-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#05080c99;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.prod-modal{width:100%;max-width:420px;padding:1.75rem;background:#0f1622;border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 24px 70px #00000080}.prod-modal-title{margin:0 0 1.25rem;font-size:1.2rem;font-weight:700}.prod-form{display:flex;flex-direction:column;gap:1.1rem}.prod-field{display:flex;flex-direction:column;gap:.4rem;font-size:.78rem;letter-spacing:.04em;color:#9aa7bd}.prod-field input{background:#0a0e14;border:1px solid rgba(255,255,255,.1);color:#e8edf2;padding:.65rem .8rem;border-radius:9px;font-size:.95rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.prod-field input:focus{border-color:#5ab0ff;box-shadow:0 0 0 3px #5ab0ff26}.prod-hint{color:#56627a;font-size:.72rem;letter-spacing:0}.prod-check{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#c7d2e0;cursor:pointer}.prod-check input{width:16px;height:16px;accent-color:#3b82f6;cursor:pointer}.prod-modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.25rem}.prod-btn--danger{background:transparent;border:1px solid rgba(255,80,80,.3);color:#ff9a9a;margin-left:.4rem}.prod-btn--danger:hover:not(:disabled){background:#ff50501a;border-color:#ff505080}.prod-badge.is-transversal{color:#c4b5fd;background:#8b5cf61f;border:1px solid rgba(139,92,246,.3)}.rec-cat{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;color:#9fb4d4;background:#5ab0ff14;border:1px solid rgba(90,176,255,.2);text-transform:capitalize}.rec-col-categoria{width:160px}.rec-col-producto{width:180px;color:#c7d2e0}.rec-col-fecha{width:130px;color:#7d8aa0;font-size:.85rem}.rec-col-acciones{width:200px;text-align:right;white-space:nowrap}.rec-select{background:#0a0e14;border:1px solid rgba(255,255,255,.1);color:#e8edf2;padding:.65rem .8rem;border-radius:9px;font-size:.95rem;outline:none;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.rec-select:focus{border-color:#5ab0ff;box-shadow:0 0 0 3px #5ab0ff26}.rec-file{color:#c7d2e0;font-size:.85rem}.rec-file::file-selector-button{margin-right:.7rem;padding:.45rem .8rem;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#ffffff0a;color:#c7d2e0;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.rec-file::file-selector-button:hover{background:#ffffff14;border-color:#ffffff4d}.dist-col-email{color:#9fb4d4;font-size:.88rem}.dist-col-tier{width:110px}.dist-col-acciones{width:280px;text-align:right;white-space:nowrap}.dist-col-acciones .prod-btn{margin-left:.4rem}.dist-tier{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:capitalize;border:1px solid transparent}.dist-tier--gold{color:#f5d77a;background:#eab3081f;border-color:#eab30859}.dist-tier--silver{color:#cbd5e1;background:#94a3b81f;border-color:#94a3b859}.dist-tier--bronze{color:#e0a878;background:#b4784624;border-color:#b4784666}.dist-detalle-meta{display:flex;flex-wrap:wrap;gap:1.25rem;padding:.9rem 1rem;margin-bottom:1.25rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px}.dist-detalle-meta>div{display:flex;flex-direction:column;gap:.3rem}.dist-detalle-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#8c9ab2}.dist-ok{margin:0 0 1rem;padding:.6rem .8rem;color:#6ee7b7;background:#10b98114;border:1px solid rgba(16,185,129,.25);border-radius:8px;font-size:.85rem}.perm-tabs{display:flex;gap:.4rem;margin-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.perm-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:#7d8aa0;padding:.55rem .9rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease}.perm-tab:hover{color:#c7d2e0}.perm-tab.active{color:#fff;border-bottom-color:#5ab0ff}.perm-help{margin:0 0 1rem;color:#7d8aa0;font-size:.86rem}.perm-help strong{color:#c7d2e0}.perm-sub{display:block;margin-top:.2rem;color:#6b7790;font-size:.76rem;text-transform:capitalize}.perm-col-tier{width:110px;text-align:center}.perm-table thead .perm-col-tier{text-align:center}.perm-check{width:18px;height:18px;accent-color:#3b82f6;cursor:pointer}.perm-check:disabled{cursor:wait;opacity:.5}.perm-col-dice{width:120px}.perm-col-modo{width:220px}.perm-dice{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.74rem;font-weight:600}.perm-dice.is-yes{color:#6ee7b7;background:#10b9811f;border:1px solid rgba(16,185,129,.3)}.perm-dice.is-no{color:#94a3b8;background:#94a3b81a;border:1px solid rgba(148,163,184,.25)}.perm-modo{width:100%;padding:.45rem .6rem;font-size:.85rem}.perm-modo--forzar_si{border-color:#10b98173;color:#6ee7b7}.perm-modo--forzar_no{border-color:#ff505073;color:#ff9a9a}.perm-dist-picker{display:flex;align-items:flex-end;gap:1.25rem;margin-bottom:1.5rem;flex-wrap:wrap}.perm-field-inline{min-width:280px}.perm-tier-actual{color:#7d8aa0;font-size:.85rem;padding-bottom:.6rem}.desc-col-fecha{width:200px;color:#9fb4d4;font-size:.86rem;white-space:nowrap}@media (max-width: 720px){.admin{flex-direction:column}.admin-sidebar{position:static;height:auto;width:100%}.admin-nav{flex-direction:row;flex-wrap:wrap;flex:none}.admin-content{padding:1.75rem 1.25rem 3rem}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;color:#1a1a1a;background-color:#fff}body{margin:0}button{cursor:pointer;border-radius:6px;border:1px solid #ccc;padding:.4rem .8rem;background-color:#f5f5f5}button:hover{background-color:#e8e8e8}input{padding:.5rem;border-radius:6px;border:1px solid #ccc}
