.configuracion-page{background:var(--color-surface);min-width:0;margin:24px;padding:0 12px 20px;border-block:1px solid var(--color-border)}.configuracion-tabs{border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:0 24px}.configuracion-tabs button{align-items:center;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--color-muted);display:inline-flex;font-size:.875rem;font-weight:650;gap:8px;min-height:52px;padding:10px 0}.configuracion-tabs button[aria-selected=true]{border-bottom-color:var(--color-acento);color:var(--color-acento)}.configuracion-tabs button:hover{color:var(--color-ink)}.configuracion-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;padding:22px 0 14px}.configuracion-heading h2{font-size:1rem;font-weight:600;margin:0}.configuracion-toolbar{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.configuracion-toolbar .search-field{flex:1;max-width:300px;min-width:0}.configuracion-toolbar-actions{align-items:center;display:flex;gap:10px}.configuracion-toolbar .primary-button{min-height:40px;width:auto}.configuracion-table{border-collapse:collapse;font-size:.875rem;table-layout:fixed;width:100%}.configuracion-table .config-uso{width:120px}.configuracion-table .config-acciones{width:100px}.configuracion-table th,.configuracion-table td{border-bottom:1px solid #e9ece9;padding:12px 10px;text-align:left}.configuracion-table td{overflow-wrap:anywhere}.configuracion-parentesco{display:block;margin-top:4px;color:var(--color-muted);font-size:.75rem}.configuracion-table th{background:#f7f8f7;color:var(--color-muted);font-size:.78rem;font-weight:550}.configuracion-table tbody tr:hover{background:#f5f9f7}.configuracion-table .table-action-button:disabled{cursor:not-allowed;opacity:.35}.configuracion-table .table-action-button:disabled:hover{background:transparent;border-color:var(--color-border);color:var(--color-muted)}.configuracion-table .configuracion-empty{color:var(--color-muted);padding:42px 12px;text-align:center}.configuracion-notice{align-items:center;color:var(--color-success);display:flex;font-size:.875rem;gap:7px;margin-bottom:14px}.config-dialog{margin:auto;width:min(480px,calc(100% - 32px))}.config-dialog::backdrop{background:#1112116b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.config-dialog .modal-heading h2{font-size:1.15rem}.config-dialog .field,.config-dialog input{min-width:0}.configuracion-delete-name{font-weight:700;overflow-wrap:anywhere}.dashboard-shell .config-dialog .config-danger-button,.dashboard-shell .config-dialog .config-danger-button:hover:not(:disabled){background:var(--color-danger);border-color:var(--color-danger)}@media(max-width:1100px){.configuracion-page{margin:20px}.configuracion-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}.configuracion-tabs button{text-align:left;line-height:1.4}.configuracion-tabs button svg{flex-shrink:0}}@media(max-width:600px){.configuracion-page{margin:20px 16px;padding:0 0 16px;background:transparent;border:0}.configuracion-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.configuracion-tabs button{min-height:46px}.configuracion-toolbar{align-items:stretch;flex-direction:column;gap:12px}.configuracion-toolbar .search-field{flex:auto;max-width:none;width:100%}.configuracion-toolbar-actions{justify-content:flex-end}.configuracion-table .config-uso{width:68px}.configuracion-table .config-acciones{width:88px}.configuracion-table th,.configuracion-table td{padding:12px 4px}.configuracion-table th,.configuracion-table .table-sort-button{font-size:.7rem}.configuracion-table .table-sort-button{gap:2px;flex-wrap:wrap}.configuracion-table .table-actions{gap:0}.configuracion-table{background:var(--color-surface)}}.fotos-cabecera{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.fotos-entrada{display:none}.fotos-grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(132px,100%),1fr));gap:12px;align-items:start}.fotos-contador{color:var(--color-muted);font-size:.8rem;font-variant-numeric:tabular-nums}.editor-fotos button:disabled{opacity:.45;cursor:not-allowed}.foto-tarjeta{min-width:0;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;background:var(--color-surface)}.foto-vista{display:grid;width:100%;aspect-ratio:1;border:0;padding:0;position:relative;background:#000;cursor:zoom-in;color:#fff}.foto-vista img,.foto-ampliada-imagen img,.producto-foto-boton img{width:100%;height:100%;object-fit:contain;min-height:0;background:#000}.foto-zoom{position:absolute;bottom:8px;right:8px;filter:drop-shadow(0 1px 3px #000)}.foto-pie{display:grid;gap:8px;padding:8px;font-size:.8rem;font-weight:650}.foto-acciones{display:flex;gap:6px}.foto-aviso{font-size:.7rem;color:#865900}.dashboard-shell .foto-pie .icon-button{width:32px;height:32px;min-width:0;flex-shrink:0}.foto-estado,.fotos-vacio{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}.foto-estado{color:#eee;min-width:0;font-size:.72rem}.fotos-vacio{border:1px dashed var(--color-border);border-radius:6px;color:var(--color-muted);min-height:110px;font-size:.875rem}.foto-ampliada{padding:0;border:1px solid #444;border-radius:8px;width:min(850px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);background:#000;overflow:hidden}.foto-ampliada::backdrop,.fotos-dialogo::backdrop{background:#000000a6}.foto-ampliada>.icon-button{position:absolute;top:10px;right:10px;z-index:1;background:#fff}.foto-ampliada-imagen{height:min(850px,calc(100dvh - 34px));display:grid}.modal.product-modal.fotos-dialogo{margin:auto;width:min(560px,calc(100vw - 24px));color:var(--color-ink)}.fotos-dialogo:not([open]){display:none}.fotos-dialogo .modal-heading h2{overflow-wrap:anywhere;font-size:1.15rem}.fotos-dialogo .modal-heading>div{min-width:0}.producto-con-foto{display:flex;align-items:center;gap:10px;min-width:0}.producto-foto-boton{position:relative;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;padding:0;border:1px solid var(--color-border);border-radius:5px;overflow:hidden;background:#000;color:#fff;cursor:pointer}.producto-foto-boton .foto-estado span{display:none}.foto-cargando{animation:foto-giro 1s linear infinite}@keyframes foto-giro{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.foto-cargando{animation:none}}@media(max-width:440px){.fotos-dialogo{padding:0}.fotos-dialogo .form-actions{flex-direction:row;padding:12px}}@media(max-width:600px){.fotos-grilla{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.foto-pie{padding:6px}.foto-acciones{gap:4px}}:root{--color-graphite-950: #111211;--color-graphite-900: #181916;--color-graphite-800: #252722;--color-graphite-700: #34372f;--color-ink: #171717;--color-muted: #66706b;--color-soft: #8a918d;--color-border: #d9ded9;--color-border-strong: #c8cec8;--color-surface: #ffffff;--color-surface-warm: #fbfaf6;--color-bg: #f1f0ea;--color-bg-strong: #e7ece8;--color-gold: #d8a900;--color-gold-bright: #ffca0a;--color-gold-soft: #f5e8b7;--color-success-bg: #e9f6ef;--color-success: #17613a;--color-danger-bg: #fff1ed;--color-danger: #9d2915;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--shadow-soft: 0 18px 48px rgba(29, 33, 29, .1);--shadow-panel: 0 1px 2px rgba(29, 33, 29, .04), 0 20px 56px rgba(29, 33, 29, .08);--focus-ring: 0 0 0 4px rgba(216, 169, 0, .22);color:var(--color-ink);background:var(--color-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;letter-spacing:0;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:min(320px,100%)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}h1,h2,p{margin-top:0}.login-shell{align-items:center;background:radial-gradient(circle at 16% 14%,rgba(216,169,0,.14),transparent 28%),linear-gradient(135deg,#f7f5ef,#e8ece7);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:clamp(18px,4vw,56px);position:relative}.login-shell:before{background:linear-gradient(90deg,rgba(17,18,17,.04) 1px,transparent 1px),linear-gradient(180deg,rgba(17,18,17,.032) 1px,transparent 1px);background-size:72px 72px;content:"";inset:0;opacity:.52;position:absolute}.login-shell:after{background:linear-gradient(90deg,transparent,var(--color-gold-bright),transparent);bottom:0;content:"";height:4px;left:0;position:absolute;right:0}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 34px 90px #1d211d2e;display:grid;grid-template-columns:minmax(320px,420px) minmax(340px,450px);min-height:560px;overflow:hidden;position:relative;width:min(940px,100%);z-index:1}.login-brand{background:radial-gradient(circle at top left,rgba(255,202,10,.16),transparent 34%),linear-gradient(180deg,#1d1f1b,#111211);color:var(--color-surface);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:36px 34px;position:relative}.login-brand:before{background:linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.042) 1px,transparent 1px);background-size:56px 56px;content:"";inset:0;opacity:.55;position:absolute}.login-brand:after{background:url(/brand/aberturas-mark-inverted.svg) center / contain no-repeat;bottom:-78px;content:"";height:360px;opacity:.1;position:absolute;right:-108px;width:360px}.brand-lockup,.brand-heading{position:relative;z-index:1}.brand-lockup{align-items:center;display:flex;min-height:64px}.brand-logo{display:block;height:auto;object-fit:contain;width:208px}.brand-heading span{color:var(--color-gold-bright);display:block;font-size:.78rem;font-weight:800;margin-bottom:14px}.brand-heading h1{color:var(--color-surface);font-size:clamp(2.35rem,4vw,3.2rem);line-height:.96;margin-bottom:18px}.brand-heading p{color:#ffffffb8;font-size:.95rem;line-height:1.5;margin:0;max-width:260px}.login-panel{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:52px 48px}.panel-heading{margin-bottom:28px}.access-pill{align-items:center;background:var(--color-surface-warm);border:1px solid #ead99a;border-radius:999px;color:var(--color-graphite-900);display:inline-flex;gap:7px;font-size:.78rem;font-weight:750;height:32px;margin-bottom:16px;padding:0 13px}.panel-heading h2{color:var(--color-ink);font-size:2rem;letter-spacing:0;margin-bottom:8px}.panel-heading p{color:var(--color-muted);font-size:.95rem;line-height:1.5;margin-bottom:0}.login-form{display:grid;gap:18px}.field{display:grid;gap:8px}.field span{color:var(--color-graphite-800);font-size:.9rem;font-weight:720}.input-shell{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-muted);display:flex;gap:10px;height:46px;padding:0 14px;transition:border-color .16s ease,box-shadow .16s ease}.input-shell:focus-within{border-color:var(--color-graphite-900);box-shadow:var(--focus-ring)}.input-shell input{background:transparent;border:0;color:var(--color-ink);min-width:0;outline:0;width:100%}.form-error{background:var(--color-danger-bg);border:1px solid #e7b7aa;border-radius:var(--radius-sm);color:var(--color-danger);margin:0;padding:12px 14px}.primary-button,.icon-button,.secondary-button,.ghost-button,.table-action-button{align-items:center;display:inline-flex;justify-content:center}.primary-button{background:var(--color-graphite-950);border:1px solid var(--color-graphite-950);border-radius:var(--radius-sm);color:var(--color-surface);gap:10px;height:46px;font-weight:760;padding:0 18px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.primary-button:hover:not(:disabled){background:var(--color-graphite-800);border-color:var(--color-graphite-800);transform:translateY(-1px)}.primary-button:disabled{cursor:progress;opacity:.72}.secondary-button,.ghost-button{border-radius:var(--radius-sm);font-weight:760;gap:8px;height:40px;padding:0 13px;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.secondary-button{background:var(--color-graphite-950);border:1px solid var(--color-graphite-950);color:var(--color-surface)}.secondary-button:hover{background:var(--color-graphite-800);border-color:var(--color-graphite-800);transform:translateY(-1px)}.ghost-button{background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-ink)}.ghost-button:hover{background:var(--color-surface-warm);border-color:var(--color-border-strong)}.dashboard-shell{--color-ink: #242b29;--color-muted: #606d69;--color-soft: #74817c;--color-border: #dfe5e2;--color-border-strong: #bbc7c1;--color-surface-warm: #f5f7f6;--color-bg: #f3f5f4;--color-graphite-950: #202725;--color-graphite-900: #29322f;--color-graphite-800: #35433d;--color-graphite-700: #46554e;--color-acento: #216653;--color-acento-suave: #e9f3ee;--color-success: #236344;--color-success-bg: #eaf5ee;--color-danger: #ac3838;--color-danger-bg: #fceeee;--radius-sm: 6px;--radius-md: 8px;--focus-ring: 0 0 0 3px rgb(33 102 83 / 15%);background:var(--color-bg);color:var(--color-ink);display:grid;gap:0;grid-template-columns:216px minmax(0,1fr);min-height:100vh;padding:0;position:relative;letter-spacing:0}.dashboard-shell :is(button,input,select,textarea){font-size:.875rem}.dashboard-shell :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--color-acento);outline-offset:3px}.dashboard-shell :is(.primary-button,.secondary-button){background:var(--color-acento);border-color:var(--color-acento);font-weight:600;height:40px;min-height:40px}.dashboard-shell :is(.primary-button,.secondary-button):hover:not(:disabled){background:#194f41;border-color:#194f41;transform:none}.dashboard-shell .ghost-button{font-weight:600}.dashboard-shell .icon-button{height:36px;width:36px;flex-shrink:0}.dashboard-shell .icon-button:hover{transform:none}.dashboard-shell .field{gap:6px}.dashboard-shell .field>span{font-size:.8125rem;font-weight:600}.dashboard-shell input[type=checkbox]{accent-color:var(--color-acento);height:17px;width:17px;flex-shrink:0}.dashboard-shell .eyebrow{font-size:.75rem;font-weight:500;margin-bottom:5px}.icon-button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-ink);height:42px;width:42px;transition:background .16s ease,border-color .16s ease,transform .16s ease}.icon-button:hover{background:var(--color-surface-warm);border-color:var(--color-border-strong);transform:translateY(-1px)}.table-action-button{background:var(--color-surface);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-ink);height:34px;width:34px;transition:background .16s ease,border-color .16s ease,color .16s ease}.table-action-button:hover{background:var(--color-acento-suave);border-color:var(--color-border);color:var(--color-acento)}.table-action-button:disabled{cursor:progress;opacity:.58}.table-action-button.danger-action:hover{background:var(--color-danger-bg);border-color:transparent;color:var(--color-danger)}.table-action-button.success-action:hover{background:var(--color-success-bg);border-color:transparent;color:var(--color-success)}.admin-sidebar,.admin-main{position:relative;z-index:1}.admin-sidebar{background:#202725;color:#f4f7f5;display:flex;flex-direction:column;height:100dvh;min-height:0;overflow-y:auto;padding:20px 12px 16px;position:sticky;top:0}.sidebar-contenido{display:flex;flex:1;flex-direction:column}.menu-movil-boton{display:none}.admin-brand,.side-menu,.sidebar-session{position:relative;z-index:1}.admin-brand{align-items:center;display:flex;min-height:54px;padding:0 6px}.admin-brand-logo{display:block;height:auto;object-fit:contain;width:180px}.side-menu{display:grid;gap:4px;margin-top:32px}.side-menu-label{color:#a0b0a8;font-size:.75rem;font-weight:500;letter-spacing:0;margin:0 0 10px 12px}.side-menu-item{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:#c5cfc9;display:flex;font-weight:500;gap:11px;min-height:44px;padding:9px 12px;position:relative;text-align:left;transition:background .16s ease,border-color .16s ease,color .16s ease;width:100%}.side-menu-item:hover{background:#2c3631;color:#fff}.side-menu-item.active{background:#344a3f;border-color:#425c4e;color:#f2fff6}.dashboard-shell .admin-sidebar button:focus-visible{outline-color:#a6d7bf}.side-menu-icon{align-items:center;color:inherit;display:inline-flex;flex:0 0 auto;height:22px;justify-content:center;width:22px}.side-menu-item span:last-child,.side-menu-item strong{display:block}.side-menu-item strong{color:inherit;font-size:.875rem;font-weight:550;line-height:1.4}.sidebar-session{border-top:1px solid #3a4540;margin-top:auto;padding-top:16px}.sidebar-bottom{display:grid;gap:18px;margin-top:auto;padding-top:24px}.sidebar-bottom .sidebar-session{margin-top:0}.sidebar-user-card{align-items:flex-start;display:flex;gap:10px;min-width:0;padding:6px}.sidebar-avatar{align-items:center;background:#394740;border-radius:50%;color:#d7e9dd;display:inline-flex;flex:0 0 auto;height:36px;justify-content:center;width:36px}.sidebar-user-card span:last-child{min-width:0}.sidebar-user-card strong,.sidebar-user-card small{display:block;overflow-wrap:anywhere}.sidebar-user-card strong{color:#f4f7f5;font-size:.8125rem;font-weight:600;line-height:1.5}.sidebar-user-card small{color:#bdccc3;font-size:.76rem;font-weight:400;line-height:1.4;margin-top:2px}.sidebar-user-card .sidebar-version{color:#9baca2;font-size:.7rem;font-weight:400;line-height:1.4;overflow-wrap:anywhere;white-space:normal}.admin-main{display:flex;flex-direction:column;gap:0;min-width:0;padding:0}.admin-header{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;gap:18px;justify-content:space-between;min-height:82px;padding:18px 28px}.admin-title{display:flex;align-items:center;gap:12px;min-width:0}.admin-modulo-icono{display:grid;place-items:center;color:var(--color-acento);background:var(--color-acento-suave);border-radius:6px;flex:0 0 36px;height:36px}.admin-title h1{color:var(--color-ink);font-size:1.375rem;font-weight:650;line-height:1.3;overflow-wrap:anywhere;margin:0}.admin-header-actions{align-items:center;display:flex;gap:10px;margin-left:auto}.data-panel{background:var(--color-surface);border-block:1px solid var(--color-border);margin:24px;min-width:0}.data-panel>.form-error{margin:16px}.panel-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.record-count{background:var(--color-surface-warm);border:1px solid var(--color-border);border-radius:999px;color:var(--color-ink);font-size:.82rem;font-weight:800;padding:7px 11px;white-space:nowrap}.table-toolbar{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;gap:12px;justify-content:space-between;padding:16px 12px}.table-toolbar-primary,.table-toolbar-actions{align-items:center;display:flex;gap:10px;min-width:0}.table-toolbar-primary{flex:1}.toolbar-meta{color:var(--color-muted);flex:0 0 auto;font-size:.8125rem;font-weight:400;font-variant-numeric:tabular-nums}.search-field{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-muted);display:flex;gap:10px;height:40px;max-width:300px;min-width:0;padding:0 12px;width:min(300px,100%)}.search-field:focus-within{border-color:var(--color-acento);box-shadow:var(--focus-ring)}.search-field input{background:transparent;border:0;color:var(--color-ink);min-width:0;outline:0;width:100%}.search-field input::placeholder{color:var(--color-soft)}.ghost-button.compact{height:38px}.data-table-wrap{min-width:0}.data-table{border-collapse:collapse;min-width:0;table-layout:fixed;width:100%}.data-table th,.data-table td{border-bottom:1px solid #e8edeb;color:var(--color-ink);font-size:.82rem;overflow:hidden;padding:12px 8px;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.data-table th{background:#f5f7f6;color:var(--color-muted);font-size:.78rem;font-weight:550;text-transform:none;white-space:normal}.table-sort-button{align-items:center;background:transparent;border:0;color:inherit;display:inline-flex;font:inherit;font-weight:inherit;gap:5px;justify-content:flex-start;max-width:100%;overflow-wrap:anywhere;padding:0;text-overflow:ellipsis;text-transform:inherit}.table-sort-button svg{flex-shrink:0;color:var(--color-soft)}.dashboard-shell .table-sort-button{font-size:inherit;white-space:nowrap;overflow-wrap:normal;gap:4px}.orden-grilla{display:none}.users-table .col-id{width:48px}.users-table .col-nick{width:7%}.users-table .col-nombre,.users-table .col-apellido{width:9%}.users-table .col-mail{width:18%}.users-table .col-telefono{width:13%}.users-table .col-roles{width:11%}.users-table .col-estado{width:8%}.users-table .col-creacion{width:10%}.users-table .col-acciones{width:88px}.table-sort-button:hover{color:var(--color-ink)}.data-table tbody tr:hover{background:#f5f9f7}.table-actions{align-items:center;display:inline-flex;gap:4px;white-space:nowrap}.phone-link{align-items:center;border-radius:var(--radius-xs);color:var(--color-graphite-800);display:inline-flex;font-weight:500;gap:6px;max-width:100%;overflow:hidden;padding:4px 0;text-decoration:none;text-overflow:ellipsis;transition:background .16s ease,color .16s ease}.phone-link svg{flex:0 0 auto}.phone-link:hover{background:var(--color-success-bg);color:var(--color-success)}.table-state{align-items:center;color:var(--color-muted);display:flex;font-weight:400;justify-content:center;min-height:150px;padding:24px;text-align:center}.empty-state{margin:0}.status{border-radius:999px;display:inline-flex;font-size:.76rem;font-weight:550;padding:4px 8px}.status.active{background:var(--color-success-bg);color:var(--color-success)}.status.inactive{background:var(--color-danger-bg);color:var(--color-danger)}.modal-backdrop{align-items:center;background:#141f1a75;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:20}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 20px 70px #141f1a33;max-height:calc(100dvh - 40px);overflow:auto;padding:24px;width:min(720px,100%)}.modal-heading{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;margin:-4px 0 22px;padding-bottom:18px}.modal-heading h2{font-size:1.25rem;font-weight:650;margin-bottom:0;overflow-wrap:anywhere}.user-form,.product-form{display:flex;flex-direction:column;min-height:0}.user-form-fields,.product-form-fields{display:grid;gap:20px;min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 24px;scrollbar-gutter:stable}.product-form-campos{border:0;display:grid;gap:20px;margin:0;min-width:0;padding:0}.form-section{display:grid;gap:14px;min-width:0}.form-section+.form-section{border-top:1px solid var(--color-border);padding-top:20px}.form-section-heading{align-items:center;color:var(--color-acento);display:flex;gap:9px}.form-section-heading h3{color:var(--color-ink);font-size:.875rem;font-weight:650;line-height:1.2;margin:0}.form-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.field>input:not([type=checkbox]),.field select,.field textarea{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-ink);outline:0;width:100%}.field>input:not([type=checkbox]),.field select{height:40px;padding:0 12px}.field textarea{line-height:1.45;min-height:86px;padding:11px 12px;resize:vertical}.field>input:not([type=checkbox]):focus,.field select:focus,.field textarea:focus{border-color:var(--color-acento);box-shadow:var(--focus-ring)}.readonly-field input[readonly]{background:var(--color-surface-warm);color:var(--color-muted);cursor:default}.wide-field{grid-column:1 / -1}.user-modal,.product-modal{display:flex;flex-direction:column;max-height:calc(100dvh - 40px);overflow:hidden;padding:0;width:min(820px,100%)}.user-modal{margin:auto;width:min(720px,calc(100% - 24px))}.user-modal:not([open]){display:none}.user-modal::backdrop{background:#141f1a75;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.user-modal .modal-heading,.product-modal .modal-heading{flex-shrink:0;margin:0;padding:16px 24px}.product-modal .modal-heading .eyebrow{margin-bottom:4px}.user-modal .form-actions,.product-modal .form-actions{background:var(--color-surface-warm);border-top:1px solid var(--color-border);flex-shrink:0;padding:14px 24px}.product-modal .field{min-width:0}.product-modal .field span{line-height:1.4}.product-modal .toggle-field{font-size:.875rem;font-weight:600;line-height:1.4;min-height:36px}.product-modal input[type=checkbox]{accent-color:var(--color-acento);flex-shrink:0;height:18px;margin:0;width:18px}.visually-hidden,.product-modal .pintura-interruptor input{border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pintura-interruptor{align-items:center;cursor:pointer;display:inline-flex;gap:10px;min-height:44px;position:relative;width:fit-content}.pintura-interruptor>span:not(.pintura-pista){color:var(--color-muted);font-size:.8rem;font-weight:500}.pintura-interruptor>span.elegida{color:var(--color-ink);font-weight:700}.pintura-pista{background:var(--color-acento);border:1px solid var(--color-acento);border-radius:12px;flex:0 0 40px;height:24px;position:relative;width:40px}.pintura-pista:after{background:#fff;border-radius:50%;content:"";height:18px;left:2px;position:absolute;top:2px;transition:transform .12s ease;width:18px}.pintura-interruptor input:checked+.pintura-pista:after{transform:translate(16px)}.pintura-interruptor input:focus-visible+.pintura-pista{outline:2px solid var(--color-acento);outline-offset:3px}.pintura-interruptor input:disabled+.pintura-pista{opacity:.6}@media(prefers-reduced-motion:reduce){.pintura-pista:after{transition:none}}.product-condition-options{border-block:1px solid #edf0ed;display:grid;gap:12px 16px;grid-template-columns:repeat(2,minmax(0,1fr));padding-block:12px}.products-table{min-width:0}.products-table th,.products-table td{border-bottom-color:#d5dfd9;padding-inline:8px}.products-table th{background:#e4ece8;color:#344c42;font-weight:650}.products-table tbody tr:nth-child(2n){background:#f2f6f4}.products-table tbody tr:hover,.products-table tbody tr:focus-within{background:#e7f0eb}@media(min-width:1201px){.products-table{border:1px solid #d5dfd9}.products-table th:not(:last-child),.products-table td:not(:last-child){border-right:1px solid #dfe7e2}}.products-table .table-sort-button{flex-wrap:wrap;gap:3px;white-space:normal}.products-table .table-sort-button svg{flex-shrink:0}.products-table .col-modelo{width:auto}.products-table .col-tipo{width:7%}.products-table .col-proveedor{width:10%}.products-table .col-material,.products-table .col-marco,.products-table .col-hoja{width:8%}.products-table .col-paso{width:7%}.products-table .col-calibre{width:76px}.products-table .col-terminacion{width:13%}.products-table .col-estado{width:78px}.products-table .col-acciones{width:56px}.producto-eliminar-dialog{margin:auto;width:min(480px,calc(100% - 32px))}.producto-eliminar-dialog[open]{display:grid;gap:18px}.producto-eliminar-dialog::backdrop{background:#1112116b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.producto-eliminar-dialog .modal-heading{margin:0}.producto-eliminar-dialog p{line-height:1.5;margin:0;overflow-wrap:anywhere}.producto-eliminar-nombre{font-weight:700}.dashboard-shell .primary-button.producto-eliminar-boton{background:var(--color-danger);border-color:var(--color-danger)}.dashboard-shell .primary-button.producto-eliminar-boton:hover:not(:disabled){background:#812211;border-color:#812211}.product-name-cell{display:grid;gap:3px;min-width:0}.producto-editable{cursor:pointer}.producto-nombre-boton{background:none;border:0;color:inherit;display:block;min-width:0;padding:0;text-align:left;width:100%}.producto-nombre-boton:hover strong,.producto-nombre-boton:focus-visible strong{text-decoration:underline;text-underline-offset:3px}.product-name-cell strong,.product-name-cell small{display:block;overflow-wrap:anywhere}.product-name-cell strong{color:var(--color-ink);font-size:.8125rem;font-weight:600}.product-name-cell small{color:var(--color-muted);font-size:.78rem}.money-cell{font-weight:780;white-space:nowrap}.form-row{display:flex;flex-wrap:wrap;gap:12px}.toggle-field,.role-option{align-items:center;color:var(--color-graphite-800);display:inline-flex;font-size:.875rem;font-weight:500;gap:8px}.roles-fieldset{border:0;border-top:1px solid var(--color-border);margin:0;padding:14px 0 0}.roles-fieldset legend{color:var(--color-muted);font-size:.78rem;font-weight:600;padding:0 6px}.roles-options{display:flex;flex-wrap:wrap;gap:12px 18px}.form-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end}.session-card h2{font-size:1.6rem;margin-bottom:12px}.session-meta{display:flex;flex-wrap:wrap;gap:10px}.session-meta span{background:var(--color-gold-soft);border-radius:999px;color:var(--color-ink);font-weight:700;padding:8px 12px}.eyebrow{color:var(--color-muted);font-size:.78rem;font-weight:720;margin:0 0 8px}.loading-screen{align-items:center;background:var(--color-bg);display:flex;justify-content:center;min-height:100vh}.loader{animation:spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-gold-bright);height:42px;width:42px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:840px){.login-shell{align-items:flex-start;overflow:auto}.auth-card{grid-template-columns:1fr;min-height:0}.login-brand{min-height:260px;padding:24px}.login-brand:after{bottom:-76px;height:230px;right:-58px;width:230px}.brand-logo{width:198px}.brand-heading h1{font-size:2.35rem}.login-panel{padding:30px 24px}}@media(max-width:1200px){.orden-grilla{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:16px}.orden-grilla label{display:flex;align-items:center;gap:10px;color:var(--color-muted);font-size:.8125rem}.orden-grilla select{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:6px;color:var(--color-ink);min-height:40px;padding:6px 8px;max-width:160px}.dashboard-shell{grid-template-columns:192px minmax(0,1fr)}.admin-brand-logo{width:156px}.admin-header{padding-inline:20px}.data-panel{margin:20px;background:transparent;border:0}.table-toolbar{flex-wrap:wrap;padding:0 0 16px;background:transparent}.table-toolbar-primary{flex-wrap:wrap;gap:8px 12px}.table-toolbar-primary .search-field{width:100%}.data-table{display:block}.data-table colgroup,.data-table thead{display:none}.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:16px;align-items:start}.data-table tbody tr{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.data-table th,.data-table td{white-space:normal}.data-table td{border-bottom:1px solid #edf1ef;display:grid;gap:5px;align-content:start;min-height:60px;padding:10px 12px;text-align:left;min-width:0;font-size:.875rem}.data-table td:last-child{border-bottom:0;grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;min-height:48px;background:var(--color-surface-warm);padding-block:6px}.users-table td[data-label=Mail],.users-table td[data-label=Teléfono],.users-table td[data-label=Creación],.products-table td[data-label=Producto],.products-table td[data-label=Terminación]{grid-column:1 / -1}.data-table td .status{justify-self:start}.products-table td:is([data-label=Calibre],[data-label=Estado]){grid-column:1 / -1;display:flex;align-items:center;gap:10px;min-height:38px;padding-block:8px}.products-table td[data-label=Producto]{background:#e4ece8;border-bottom-color:#d5dfd9}.data-table tbody tr:has(td[colspan]){display:block;grid-column:1 / -1}.data-table td:before{color:var(--color-muted);content:attr(data-label);font-size:.75rem;font-weight:500;text-align:left}.data-table td[colspan]{display:block;padding:0;text-align:center}.data-table td[colspan]:before{content:none}.phone-link{padding:0}}@media(max-width:760px){.dashboard-shell{display:block}.admin-sidebar{position:relative;height:auto;padding:8px 16px}.admin-brand{min-height:48px;justify-content:space-between;padding:0}.admin-brand-logo{width:162px}.menu-movil-boton{display:grid;place-items:center;background:transparent;color:#e2eae6;border:1px solid #526059;border-radius:6px;width:40px;height:40px}.sidebar-contenido{display:none}.menu-abierto .sidebar-contenido{display:flex;padding-bottom:8px}.side-menu{margin-top:16px}.side-menu-label{display:none}.sidebar-bottom{padding-top:4px;gap:12px}.admin-header{min-height:72px;padding:16px}.data-panel{margin:20px 16px}.admin-title h1{font-size:1.25rem}.dashboard-shell :is(.table-action-button,.icon-button){height:40px;width:40px}}@media(max-width:600px){.data-table tbody{grid-template-columns:1fr}.table-toolbar{display:grid;grid-template-columns:1fr auto;align-items:center}.table-toolbar-primary{display:contents}.table-toolbar-primary .search-field{grid-column:1 / -1;max-width:none}.table-toolbar-actions{justify-content:flex-end}.dashboard-shell :is(.primary-button,.secondary-button,.ghost-button){min-height:42px}.modal-backdrop{padding:12px}.modal{max-height:calc(100dvh - 24px);padding:20px}.modal.product-modal,.modal.user-modal{padding:0}.form-grid,.product-modal .form-grid,.product-condition-options{grid-template-columns:1fr}}@media(max-width:480px){.login-shell{padding:18px}.brand-lockup{gap:12px}.brand-logo{width:188px}.brand-heading span{font-size:.76rem;margin-bottom:10px}.brand-heading h1{font-size:2.05rem}.login-panel{padding:22px}.product-modal-backdrop{padding:10px}.product-modal{max-height:calc(100dvh - 20px);padding:0}.user-modal{padding:0}.user-modal .modal-heading,.product-modal .modal-heading,.user-form-fields,.product-form-fields{padding:16px}.form-actions{flex-direction:row}.user-modal .form-actions,.product-modal .form-actions{padding:12px 16px}.product-modal .form-actions .ghost-button{width:auto}.product-modal .form-actions .primary-button{flex:1;min-width:0;width:auto}}
