:root{--blue:#064b8e;--navy:#071f38;--yellow:#ffcb05;--bg:#f3f6f9;--line:#dfe6ed;--text:#1a2b3c;--muted:#6d7b89;--green:#159566;--red:#c33b4b}*{box-sizing:border-box}body{margin:0;font-family:Manrope,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#c4d2df;padding:26px 18px;position:fixed;inset:0 auto 0 0;width:250px}.sidebar-brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:23px;font-weight:800;margin:0 10px 35px}.sidebar-brand i{width:34px;height:34px;background:var(--yellow);border-radius:50%;display:block}.sidebar small{display:block;margin:0 12px 11px;color:#6f8ca6;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:1.5px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:12px 13px;border-radius:8px;font-size:13px;font-weight:700}.sidebar nav a:hover,.sidebar nav a.active{background:#12375a;color:#fff}.sidebar .logout{position:absolute;bottom:24px;left:18px;right:18px;color:#f4b5bb}.admin-main{grid-column:2;padding:28px 34px}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.admin-top h1{margin:0;font-size:28px}.admin-user{background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:9px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:28px}.stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px}.stat span{font-size:12px;color:var(--muted)}.stat strong{display:block;font-size:29px;margin:7px 0}.stat small{color:var(--green)}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px;margin-bottom:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel h2{font-size:18px;margin:0}.btn{border:0;border-radius:8px;padding:10px 15px;font-weight:800;font-size:12px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}.btn-primary{background:var(--blue);color:#fff}.btn-yellow{background:var(--yellow);color:var(--navy)}.btn-light{background:#eef2f5;color:var(--blue)}.btn-danger{background:#fcecee;color:var(--red)}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;padding:11px;border-bottom:1px solid var(--line)}.admin-table td{padding:13px 11px;border-bottom:1px solid #eef1f4;font-size:12px}.admin-table tr:last-child td{border-bottom:0}.product-cell{display:flex;gap:10px;align-items:center}.product-cell img{width:45px;height:45px;background:#f4f6f8;border-radius:7px;object-fit:contain}.badge{display:inline-block;padding:5px 9px;border-radius:20px;background:#eef2f6;font-size:10px;font-weight:800}.badge.pending{background:#fff5d6;color:#916d00}.badge.confirmed,.badge.ready{background:#e3f2ff;color:#0864a5}.badge.preparing{background:#f0e8ff;color:#6945a4}.badge.completed,.badge.active{background:#e4f7ef;color:#10754f}.badge.cancelled,.badge.low{background:#fce8eb;color:#a82b3c}.actions{display:flex;gap:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800}.field input,.field textarea,.field select{border:1px solid #cbd5df;border-radius:8px;padding:11px;background:#fff;outline:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(6,75,142,.09)}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;padding-top:8px}.notice{padding:13px 16px;border-radius:8px;margin-bottom:18px;font-size:12px}.notice.success{background:#e4f7ef;color:#0b714a}.notice.error{background:#fce8eb;color:#a72d3d}.login-page{min-height:100vh;background:linear-gradient(130deg,var(--navy),var(--blue));display:grid;place-items:center;padding:25px}.login-card{width:min(420px,100%);background:#fff;border-radius:18px;padding:38px;box-shadow:0 28px 80px rgba(0,0,0,.25)}.login-logo{font-weight:800;color:var(--blue);font-size:27px;margin-bottom:30px}.login-card h1{margin:0 0 8px}.login-card>p{color:var(--muted);font-size:13px;margin-bottom:25px}.login-card .field{margin-bottom:15px}.login-card .btn{width:100%;justify-content:center;padding:13px}.login-help{text-align:center;color:var(--muted);font-size:11px;margin-top:18px}.order-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.meta-list{display:grid;gap:12px}.meta-list div{display:flex;justify-content:space-between;border-bottom:1px solid #eef1f4;padding-bottom:9px;font-size:12px}.meta-list span{color:var(--muted)}@media(max-width:900px){.admin-shell{display:block}.sidebar{position:static;width:auto}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar .logout{position:static;margin-top:10px}.admin-main{padding:20px}.stats{grid-template-columns:1fr 1fr}.order-grid{grid-template-columns:1fr}}@media(max-width:560px){.sidebar nav{grid-template-columns:1fr 1fr}.stats,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.admin-top{align-items:flex-start;gap:12px}.admin-table{display:block;overflow:auto}}
.sidebar-brand img{width:170px;height:auto}.product-gallery-editor{border:1px solid #d9e2eb;border-radius:14px;padding:20px;background:linear-gradient(180deg,#fbfcfe 0%,#f5f8fb 100%);gap:16px}.gallery-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.gallery-editor-head label{display:block;font-size:15px!important;color:var(--navy);margin-bottom:5px}.gallery-editor-head small{display:block;color:var(--muted);line-height:1.55}.gallery-limit{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#fff6cf;color:#7d6200;border:1px solid #f1dc77;font-size:10px;font-weight:800}.admin-gallery-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.admin-image-slot{min-width:0;border:1px solid #dbe3eb;border-radius:13px;padding:12px;display:flex;flex-direction:column;gap:11px;background:#fff;box-shadow:0 3px 12px rgba(7,31,56,.04);transition:border-color .2s,box-shadow .2s,transform .2s}.admin-image-slot:hover{border-color:#aebfce;box-shadow:0 8px 24px rgba(7,31,56,.08);transform:translateY(-2px)}.image-slot-head{display:flex;align-items:center;gap:9px;min-height:36px}.image-slot-number{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:9px;background:#edf3f8;color:var(--blue);font-size:11px;font-weight:800}.image-slot-head>div{min-width:0;display:grid;gap:1px}.image-slot-head strong{font-size:11px;color:var(--navy)}.image-slot-head small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cover-badge{margin-left:auto;background:var(--yellow);color:var(--navy);font-size:9px;font-weight:800;padding:5px 7px;border-radius:999px}.image-preview{position:relative;display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;border:1px dashed #cbd6e0;border-radius:10px;background:linear-gradient(135deg,#f7f9fb,#eef3f7)}.image-preview img{width:100%;height:100%;object-fit:contain;padding:8px;background:#fff}.image-placeholder{display:grid;place-items:center;gap:7px;color:#8393a3;font-size:10px;font-weight:700}.image-placeholder-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #c6d2dc;border-radius:50%;background:#fff;color:#7890a5;font-size:24px;font-weight:400;line-height:1}.image-removed-label{position:absolute;inset:auto 8px 8px;padding:7px 9px;border-radius:7px;background:#fff0f1;color:var(--red);border:1px solid #f4c9ce;font-size:9px;font-weight:800;text-align:center}.admin-image-slot.is-removed .image-preview img{opacity:.2;filter:grayscale(1)}.admin-image-slot.is-removed{border-color:#efb9c0;background:#fffafa}.image-slot-actions{display:flex;gap:7px}.gallery-upload-button,.gallery-remove-button{min-height:36px;border-radius:8px;display:flex!important;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:10px!important;font-weight:800!important;transition:filter .2s,transform .2s}.gallery-upload-button{flex:1;background:var(--blue);color:#fff;padding:8px 10px}.gallery-upload-button:hover,.gallery-remove-button:hover{filter:brightness(.94);transform:translateY(-1px)}.gallery-upload-icon{display:inline-grid;place-items:center;width:16px;height:16px;font-size:16px;font-weight:400;line-height:1}.gallery-remove-button{background:#fff0f1;color:var(--red);padding:8px 10px}.gallery-remove-button input{position:absolute;opacity:0;pointer-events:none}.gallery-remove-button:has(input:checked){background:var(--red);color:#fff}.gallery-file-input{display:none!important}.image-file-name{margin:0;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.gallery-help{margin:0;padding:10px 12px;border-radius:9px;background:#eaf3fb;color:#46637c;font-size:10px;line-height:1.5}.gallery-help strong{color:var(--blue)}@media(max-width:1050px){.admin-gallery-inputs{grid-template-columns:1fr 1fr}.admin-image-slot:last-child{grid-column:1/-1;max-width:50%}}@media(max-width:700px){.product-gallery-editor{padding:15px}.gallery-editor-head{display:grid}.gallery-limit{justify-self:start}.admin-gallery-inputs{grid-template-columns:1fr}.admin-image-slot:last-child{grid-column:auto;max-width:none}.image-preview{aspect-ratio:16/10}}
.login-logo img{display:block;width:260px;max-width:100%;height:auto;margin:auto}
.btn-compact{padding:7px 11px}.subcategory-name{padding-left:34px!important}.subcategory-name>span{color:var(--muted)}.subcategory-name small{display:inline-block;margin-left:20px}.status-check{align-self:end;display:flex;align-items:center;gap:8px;min-height:42px;font-size:12px;font-weight:700}.status-check input{width:17px;height:17px;accent-color:var(--blue)}.edit-panel{border-top:4px solid var(--yellow);position:sticky;top:22px}.edit-panel .panel-head small{display:block;color:var(--blue);font-weight:800;text-transform:uppercase;font-size:10px;letter-spacing:.8px;margin-bottom:4px}@media(max-width:900px){.edit-panel{position:static}}@media(max-width:560px){.category-admin-grid .admin-table{min-width:650px}}

/* Panel adaptable para escritorio, tablet y teléfono */
html,body{max-width:100%;overflow-x:hidden}.admin-main,.panel,.field,.product-cell>div{min-width:0}.admin-table td,.admin-table th{overflow-wrap:anywhere}.panel-head>div{min-width:0}.panel-head small{color:var(--muted)}
@media(max-width:1180px){.admin-shell{grid-template-columns:220px 1fr}.sidebar{width:220px}.admin-main{padding:26px 24px}.stats{grid-template-columns:repeat(2,1fr)}.order-grid{grid-template-columns:1fr}.edit-panel{position:static}.admin-gallery-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-image-slot:last-child{grid-column:1/-1;max-width:50%}}
@media(max-width:900px){.admin-shell{display:block}.sidebar{position:sticky;top:0;z-index:100;width:100%;height:auto;padding:11px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:9px 14px;box-shadow:0 5px 20px rgba(0,0,0,.18)}.sidebar-brand{margin:0;flex:0 0 auto}.sidebar-brand img{width:126px;height:45px;object-fit:contain}.sidebar>small{display:none}.sidebar nav{order:3;flex:1 0 100%;display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:2px 0 1px}.sidebar nav a{flex:0 0 auto;white-space:nowrap;padding:9px 11px;font-size:11px}.sidebar .logout{position:static;margin:0 0 0 auto;white-space:nowrap;font-size:11px}.admin-main{padding:22px 18px}.admin-top{margin-bottom:20px}.admin-top h1{font-size:24px}.admin-user{font-size:10px}.order-grid{grid-template-columns:1fr}.category-admin-grid{display:flex;flex-direction:column}.category-admin-grid>aside{order:-1}.edit-panel{position:static}.notice{line-height:1.5}}
@media(max-width:720px){.admin-main{padding:18px 12px}.admin-top{gap:10px}.admin-top h1{font-size:21px;line-height:1.2}.admin-user{padding:7px 9px}.panel{padding:15px;border-radius:11px}.panel-head{align-items:flex-start;gap:10px}.panel-head .actions,.filter-actions{flex-wrap:wrap;justify-content:flex-end}.responsive-table{display:block!important;width:100%;overflow:visible!important}.responsive-table thead{display:none}.responsive-table tbody{display:grid;gap:12px}.responsive-table tr{display:block;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 3px 10px rgba(7,31,56,.04)}.responsive-table td{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:9px 0!important;border-bottom:1px solid #eef1f4!important;text-align:right}.responsive-table td:last-child{border-bottom:0!important}.responsive-table td:before{content:attr(data-label);color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.5px;text-align:left;text-transform:uppercase}.responsive-table td[data-label="Producto"],.responsive-table td[data-label="Categoría"],.responsive-table td[data-label="Subcategoría"]{align-items:start}.responsive-table td>*{min-width:0}.responsive-table .product-cell{text-align:left}.responsive-table .actions{justify-content:flex-end;flex-wrap:wrap}.responsive-table .subcategory-name{padding-left:0!important}.responsive-table .subcategory-name small{margin-left:0}.responsive-table .empty-row td{display:block;text-align:center}.responsive-table .empty-row td:before{display:none}.responsive-table .total-row td[colspan]{display:none}.form-actions{flex-wrap:wrap}.form-actions .btn{flex:1;min-width:130px}.meta-list div{gap:18px}.meta-list strong{text-align:right;overflow-wrap:anywhere}.admin-gallery-inputs{grid-template-columns:1fr}.admin-image-slot:last-child{grid-column:auto;max-width:none}}
@media(max-width:520px){.sidebar{padding:9px 11px}.sidebar-brand img{width:112px;height:40px}.sidebar .logout{font-size:0}.sidebar .logout:after{content:"Salir";font-size:10px}.sidebar nav a{padding:8px 9px}.admin-main{padding:16px 10px}.admin-top{align-items:flex-start}.admin-user{max-width:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats{grid-template-columns:1fr;gap:10px}.stat{padding:16px}.stat strong{font-size:25px}.panel-head{display:grid}.panel-head>.btn{width:100%;justify-content:center}.panel-head .actions,.filter-actions{justify-content:flex-start}.filter-actions .btn{flex:1;justify-content:center;padding-inline:8px}.responsive-table td{grid-template-columns:78px minmax(0,1fr)}.responsive-table .product-cell img{width:52px;height:52px}.actions .btn{padding:9px 10px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.field input,.field textarea,.field select{width:100%}.status-check{align-self:auto}.gallery-editor-head{display:grid}.gallery-limit{justify-self:start}.image-slot-actions{flex-wrap:wrap}.gallery-upload-button{min-width:130px}.login-card{padding:28px 20px}.login-logo img{width:220px}}
@media(max-width:720px){.responsive-table{min-width:0!important}}

/* Editor dinámico de especificaciones y ficha técnica */
.specs-editor,.datasheet-editor{padding:20px;border:1px solid #d9e2eb;border-radius:14px;background:#fbfcfe;gap:15px}.specs-editor-head,.datasheet-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.specs-editor-head label,.datasheet-editor-head label{display:block;margin-bottom:5px;color:var(--navy);font-size:15px!important}.specs-editor-head small,.datasheet-editor-head small{display:block;color:var(--muted);line-height:1.5}.specs-list{display:grid;gap:9px}.spec-row{display:grid;grid-template-columns:34px minmax(160px,.75fr) minmax(220px,1.25fr) 34px;align-items:end;gap:10px;padding:11px;border:1px solid #e0e6ec;border-radius:10px;background:#fff}.spec-row-number{align-self:center;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#edf3f8;color:var(--blue);font-size:10px;font-weight:800}.spec-row .field{gap:5px}.spec-row .field input{padding:9px 10px}.spec-remove{width:34px;height:37px;border:0;border-radius:8px;background:#fff0f1;color:var(--red);font-size:20px;cursor:pointer}.specs-editor-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.specs-editor-foot b{color:var(--blue)}.datasheet-visibility{flex:0 0 auto;padding:7px 10px;border-radius:999px;font-size:9px;font-weight:800}.datasheet-visibility.enabled{background:#e4f7ef;color:#10754f}.datasheet-visibility.disabled{background:#eef2f6;color:#637384}.datasheet-upload-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px;border:1px dashed #c7d4df;border-radius:11px;background:#fff}.pdf-mark{display:grid;place-items:center;width:48px;height:54px;border-radius:8px;background:#fff0f1;color:#ba3040;font-size:12px;font-weight:900;letter-spacing:.5px}.datasheet-copy{display:grid;gap:3px;min-width:0}.datasheet-copy strong{font-size:12px}.datasheet-copy small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.datasheet-copy a{color:var(--blue);font-size:9px;font-weight:800}.datasheet-upload-btn{min-height:38px;padding:10px 13px;border-radius:8px;background:var(--blue);color:#fff;display:flex!important;align-items:center;justify-content:center;cursor:pointer;font-size:10px!important;font-weight:800!important}.datasheet-file-input{display:none}.datasheet-remove{display:flex!important;align-items:center;gap:5px;color:var(--red);font-size:10px!important;white-space:nowrap}.datasheet-remove input{accent-color:var(--red)}
@media(max-width:800px){.spec-row{grid-template-columns:30px 1fr 34px}.spec-row .field:nth-of-type(2){grid-column:2}.datasheet-upload-card{grid-template-columns:auto 1fr}.datasheet-upload-btn,.datasheet-remove{grid-column:auto}.datasheet-upload-btn{grid-column:1/2}.datasheet-remove{grid-column:2}}
@media(max-width:520px){.specs-editor,.datasheet-editor{padding:14px}.specs-editor-head,.datasheet-editor-head{display:grid}.specs-editor-head .btn{width:100%;justify-content:center}.spec-row{grid-template-columns:28px 1fr 32px;padding:9px}.spec-row .field,.spec-row .field:nth-of-type(2){grid-column:1/-1}.spec-row-number{grid-column:1}.spec-remove{grid-column:3;grid-row:1;width:32px}.datasheet-visibility{justify-self:start}.datasheet-upload-card{grid-template-columns:48px 1fr}.datasheet-upload-btn,.datasheet-remove{grid-column:1/-1}.datasheet-upload-btn{width:100%}}

/* Editor compacto y carga rápida de especificaciones */
.specs-editor{padding:18px;background:linear-gradient(180deg,#fbfcfe,#f6f9fc)}.specs-editor-head{align-items:center}.specs-editor-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.specs-editor-actions .btn{min-height:39px;padding:9px 13px}.specs-list{gap:7px}.spec-row{grid-template-columns:32px minmax(180px,.72fr) minmax(280px,1.28fr) 36px;align-items:end;padding:8px 10px;border-radius:9px}.spec-row-number{width:30px;height:40px;align-self:end}.spec-row .field{gap:4px}.spec-row .field label{font-size:9px}.spec-row .field input{width:100%;height:40px;padding:8px 11px}.spec-remove{width:36px;height:40px}.specs-editor-foot{padding:2px 2px 0}.specs-bulk-panel{display:grid;gap:10px;padding:14px;border:1px solid #cddbe7;border-radius:11px;background:#fff;box-shadow:0 8px 22px rgba(7,31,56,.06)}.specs-bulk-panel[hidden]{display:none}.specs-bulk-copy{display:grid;gap:3px}.specs-bulk-copy strong{color:var(--navy);font-size:12px}.specs-bulk-copy span{color:var(--muted);font-size:10px;line-height:1.5}.specs-bulk-panel textarea{width:100%;min-height:145px;padding:12px;border:1px solid #bfcddb;border-radius:8px;background:#fbfcfe;line-height:1.65;resize:vertical;outline:0}.specs-bulk-panel textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(6,75,142,.09)}.specs-bulk-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.specs-bulk-actions>span{margin-left:auto;color:var(--muted);font-size:9px;font-weight:800}.specs-bulk-actions>span.success{color:var(--green)}.specs-bulk-actions>span.warning{color:#9a7100}.specs-bulk-actions>span.error{color:var(--red)}
@media(max-width:900px){.specs-editor-head{display:grid}.specs-editor-actions{justify-content:flex-start}.specs-editor-actions .btn{flex:1;justify-content:center}.spec-row{grid-template-columns:30px minmax(0,1fr) 34px}.spec-row .field:nth-of-type(1),.spec-row .field:nth-of-type(2){grid-column:2}.spec-row-number{grid-column:1;grid-row:1;height:40px}.spec-remove{grid-column:3;grid-row:1}.specs-bulk-actions>span{flex:1 0 100%;margin-left:0}}
@media(max-width:520px){.specs-editor{padding:12px}.specs-editor-actions{display:grid;grid-template-columns:1fr}.specs-editor-actions .btn{width:100%}.specs-bulk-panel{padding:11px}.specs-bulk-actions{display:grid}.specs-bulk-actions .btn{width:100%;justify-content:center}.specs-bulk-actions>span{margin-top:2px}.spec-row{grid-template-columns:32px 1fr 34px;gap:8px;padding:9px}.spec-row .field:nth-of-type(1),.spec-row .field:nth-of-type(2){grid-column:1/-1}.spec-row-number{grid-column:1;grid-row:1;height:34px}.spec-remove{grid-column:3;grid-row:1;height:34px}.spec-row .field input{height:42px}.specs-editor-foot{display:grid;gap:3px}}

/* Eliminación definitiva en productos y categorías */
.btn-delete{background:var(--red);color:#fff}.btn-delete:hover{background:#a92e3d}.actions form{margin:0}.product-admin-actions,.category-row-actions{flex-wrap:wrap;align-items:center}
@media(max-width:720px){.product-admin-actions,.category-row-actions{justify-content:flex-end}.product-admin-actions form,.category-row-actions form{display:inline-flex}}

/* Logotipo oficial: base clara para conservar el contraste en el panel oscuro */
.sidebar-brand{justify-content:center;margin:0 4px 26px;padding:7px 9px;border-radius:12px;background:#fff}.sidebar-brand img{width:180px;height:108px;object-fit:contain}.login-logo img{width:270px;height:176px;object-fit:contain}
@media(max-width:900px){.sidebar-brand{margin:0;padding:3px 6px;border-radius:9px}.sidebar-brand img{width:118px;height:50px}}
@media(max-width:520px){.sidebar-brand img{width:104px;height:44px}.login-logo img{width:230px;height:150px}}

/* Gestión visual de banners de la portada */
.banner-admin-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);gap:22px;align-items:start}.banner-editor-panel{position:sticky;top:22px}.banner-editor-panel .panel-head small{display:block;margin-bottom:4px;color:var(--blue);font-size:9px;font-weight:800;letter-spacing:1px}.banner-layout-note{display:grid;gap:3px;margin-bottom:18px;padding:12px 14px;border-left:4px solid var(--yellow);border-radius:7px;background:#f4f8fc}.banner-layout-note b{color:var(--blue-deep);font-size:11px}.banner-layout-note span{color:var(--muted);font-size:10px;line-height:1.5}.banner-admin-list{display:grid;gap:12px}.banner-admin-card{display:grid;grid-template-columns:155px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;border:1px solid #e1e7ed;border-radius:12px;background:#fff}.banner-admin-thumb{position:relative;height:88px;overflow:hidden;border-radius:9px;background:linear-gradient(115deg,#031f3e,#075197)}.banner-admin-thumb img{width:100%;height:100%;object-fit:contain;object-position:right center}.banner-admin-thumb span{position:absolute;left:7px;top:7px;min-width:23px;height:23px;padding:0 5px;border-radius:6px;background:var(--yellow);color:var(--navy);display:grid;place-items:center;font-size:9px;font-weight:800}.banner-admin-copy{min-width:0;display:grid;gap:4px}.banner-admin-copy small{color:var(--blue);font-size:8px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.banner-admin-copy strong{color:var(--navy);font-size:12px;line-height:1.35}.banner-admin-copy strong em{color:#b08700;font-style:normal}.banner-admin-copy>span{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:9px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.banner-admin-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:190px}.banner-admin-actions form{margin:0}.banner-admin-actions .badge{flex:1 0 100%;justify-self:end;text-align:center}.banner-admin-actions .btn{padding:7px 9px;font-size:9px}.banner-upload-field{padding:14px;border:1px solid #dbe4ec;border-radius:11px;background:#f8fafc}.banner-upload-preview{height:175px;overflow:hidden;border:1px dashed #becbd7;border-radius:10px;background:linear-gradient(115deg,#031f3e,#075197);display:grid;place-items:center;color:#d6e4f2;font-size:10px}.banner-upload-preview img{width:100%;height:100%;object-fit:contain;object-position:right center}.banner-upload-field input[type=file]{padding:8px;margin-top:2px;background:#fff}.banner-upload-field>small{color:var(--muted);font-size:9px;line-height:1.5}.empty-admin-state{display:grid;place-items:center;gap:5px;padding:52px 20px;border:1px dashed #cbd5df;border-radius:11px;color:var(--muted);font-size:11px}.empty-admin-state strong{color:var(--navy);font-size:15px}
@media(max-width:1180px){.banner-admin-grid{grid-template-columns:1fr}.banner-editor-panel{position:static;order:-1}.banner-admin-card{grid-template-columns:140px minmax(0,1fr) auto}}
@media(max-width:720px){.banner-admin-card{grid-template-columns:110px minmax(0,1fr)}.banner-admin-thumb{height:78px}.banner-admin-actions{grid-column:1/-1;max-width:none;justify-content:flex-start}.banner-admin-actions .badge{flex:0 0 auto;display:inline-flex;align-items:center}.banner-upload-preview{height:150px}}
@media(max-width:480px){.banner-admin-card{grid-template-columns:1fr}.banner-admin-thumb{height:130px}.banner-admin-actions{grid-column:auto}.banner-admin-actions .btn{padding:9px 10px}.banner-admin-actions .badge{flex:1 0 100%}}

/* Compositor visual compacto de banners */
.banner-composer{padding:14px;border:1px solid #d8e2eb;border-radius:12px;background:#f8fafc;gap:13px}.banner-composer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.banner-composer-head label{display:block;color:var(--navy);font-size:14px!important;margin-bottom:4px}.banner-composer-head small{display:block;color:var(--muted);font-size:9px;line-height:1.45;max-width:520px}.banner-composer-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.banner-composer-head .btn{flex:0 0 auto;padding:8px 10px;font-size:9px}.banner-live-preview{position:relative;width:100%;aspect-ratio:16/6;min-height:205px;max-height:270px;overflow:hidden;border:1px solid #1a4d78;border-radius:10px;background:radial-gradient(circle at 75% 50%,rgba(14,102,184,.45),transparent 38%),linear-gradient(112deg,#031f3e 0%,#06315d 58%,#031f3e 100%);box-shadow:0 10px 25px rgba(3,31,62,.16);isolation:isolate}.banner-live-preview:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(3,31,62,.22),transparent 45%)}.banner-preview-item{position:absolute;touch-action:none;user-select:none;cursor:grab}.banner-preview-item:active{cursor:grabbing}.banner-preview-item:hover{outline:1px dashed rgba(255,203,5,.85);outline-offset:4px}.banner-drag-label{position:absolute;left:0;top:-18px;z-index:8;padding:3px 6px;border-radius:5px;background:var(--yellow);color:var(--navy);font-size:7px;font-weight:900;line-height:1;opacity:0;transition:opacity .15s;white-space:nowrap}.banner-preview-item:hover .banner-drag-label{opacity:1}.banner-preview-copy{z-index:4;left:var(--preview-text-x);top:var(--preview-text-y);width:46%;color:#fff;display:grid;gap:4px}.banner-preview-copy>small{color:var(--yellow);font-size:7px;font-weight:900;letter-spacing:.9px;text-transform:uppercase}.banner-preview-copy>strong{font-size:clamp(13px,1.55vw,23px);line-height:1.06;letter-spacing:-.4px}.banner-preview-copy>strong em{display:inline;color:var(--yellow);font-style:normal}.banner-preview-copy>p{margin:0;color:#d8e7f4;font-size:clamp(7px,.72vw,11px);line-height:1.45;max-width:95%}.banner-preview-buttons{z-index:5;left:var(--preview-buttons-x);top:var(--preview-buttons-y);display:flex;gap:6px}.preview-btn{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:6px 10px;border-radius:5px;font-size:8px;font-weight:900;white-space:nowrap}.preview-btn.primary{background:var(--yellow);color:var(--navy)}.preview-btn.secondary{background:#0860ad;color:#fff}.banner-preview-media{z-index:1;left:var(--preview-image-x);top:var(--preview-image-y);width:var(--preview-image-width);height:90%;display:grid;place-items:center}.banner-preview-media:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle,rgba(22,111,190,.23),transparent 65%)}.banner-preview-media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.banner-image-placeholder{display:grid;place-items:center;width:100%;height:100%;border:1px dashed rgba(255,255,255,.38);border-radius:8px;color:#c8dced;font-size:9px}.banner-layout-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 13px}.banner-layout-controls>label{display:grid;gap:4px;padding:7px 9px;border:1px solid #e0e7ed;border-radius:8px;background:#fff}.banner-layout-controls>label>span{color:var(--navy);font-size:8px;font-weight:800}.banner-layout-controls>label>div{display:grid;grid-template-columns:1fr 34px;align-items:center;gap:7px}.banner-layout-controls input[type=range]{width:100%;padding:0;border:0;accent-color:var(--blue)}.banner-layout-controls output{color:var(--blue);font-size:8px;font-weight:900;text-align:right}.banner-upload-compact{padding:11px 13px}.banner-upload-compact input[type=file]{margin:0;padding:7px}.banner-upload-compact>small{margin-top:2px}.banner-upload-preview{display:none}
@media(max-width:1180px){.banner-live-preview{max-width:820px;margin:auto}.banner-layout-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.banner-composer{padding:10px}.banner-composer-head{display:grid}.banner-composer-actions{justify-content:flex-start}.banner-live-preview{min-height:180px;aspect-ratio:16/7}.banner-layout-controls{grid-template-columns:1fr 1fr}.banner-preview-copy>strong{font-size:15px}.banner-preview-copy>p{font-size:8px}.banner-preview-buttons{gap:4px}.preview-btn{min-height:24px;padding:5px 8px;font-size:7px}}
@media(max-width:480px){.banner-live-preview{min-height:165px}.banner-layout-controls{grid-template-columns:1fr}.banner-preview-copy{width:52%}.banner-preview-copy>strong{font-size:12px}.banner-preview-copy>p{display:none}.banner-preview-buttons{flex-wrap:wrap}.banner-drag-label{display:none}}
.banner-preview-media{top:var(--preview-image-y);height:min(var(--preview-image-height,90%),calc(100% - var(--preview-image-y)))}
.banner-preview-media img{position:absolute;left:50%;top:50%;right:auto;bottom:auto;display:block;width:var(--preview-image-scale,100%);height:var(--preview-image-scale,100%);min-width:0;min-height:0;max-width:none;max-height:none;object-fit:fill;object-position:center;transform:translate(-50%,-50%)}.banner-preview-media img[hidden]{display:none!important}

/* La vista previa reproduce el difuminado real de todos los bordes */
.banner-preview-media img{-webkit-mask-image:radial-gradient(ellipse 94% 92% at center,#000 52%,rgba(0,0,0,.96) 63%,rgba(0,0,0,.66) 77%,rgba(0,0,0,.22) 90%,transparent 100%);mask-image:radial-gradient(ellipse 94% 92% at center,#000 52%,rgba(0,0,0,.96) 63%,rgba(0,0,0,.66) 77%,rgba(0,0,0,.22) 90%,transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}

/* Control directo para reducir o ampliar la imagen */
.banner-resize-handle{position:absolute;z-index:10;right:2px;bottom:2px;width:25px;height:25px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:13px;font-weight:900;line-height:1;display:grid;place-items:center;cursor:nwse-resize;box-shadow:0 4px 12px rgba(3,31,62,.35);touch-action:none}.banner-resize-handle:hover{transform:scale(1.12)}.banner-preview-media:hover .banner-resize-handle{box-shadow:0 0 0 4px rgba(255,203,5,.24),0 4px 12px rgba(3,31,62,.35)}

/* Control visual de las imágenes de categorías */
.category-admin-name{display:flex;align-items:center;gap:11px;min-width:0}.category-admin-name>img{flex:0 0 54px;width:54px;height:46px;padding:4px;border:1px solid #e0e7ed;border-radius:9px;background:#f7f9fb;object-fit:contain}.category-admin-name>div{min-width:0}.category-admin-name strong,.category-admin-name small{display:block}.category-admin-name small{margin-top:3px;color:var(--muted);line-height:1.35}.category-image-editor{padding:14px;border:1px solid #d9e3eb;border-radius:12px;background:#f8fafc}.category-image-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.category-image-editor-head label{display:block;color:var(--navy);font-size:13px}.category-image-editor-head small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}.category-image-editor-head>span{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#eaf2f8;color:var(--blue);font-size:8px;font-weight:800}.category-image-preview{height:180px;margin-top:12px;overflow:hidden;border:1px dashed #bdcbd7;border-radius:10px;background:linear-gradient(135deg,#fff,#eef3f7);display:grid;place-items:center}.category-image-preview img{display:block;width:100%;height:100%;padding:10px;object-fit:contain}.category-image-controls{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 11px;margin-top:10px}.category-upload-button{position:relative;display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;padding:9px 13px;border-radius:8px;background:var(--blue);color:#fff;font-size:10px!important;font-weight:800!important;cursor:pointer;white-space:nowrap}.category-upload-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.category-image-controls>small{min-width:0;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-image-reset{grid-column:1/-1;display:flex!important;align-items:center;gap:7px;color:var(--red);font-size:9px!important;font-weight:700!important}.category-image-reset input{width:15px;height:15px;accent-color:var(--red)}
@media(max-width:720px){.category-admin-name{align-items:flex-start;text-align:left}.category-admin-name>img{width:58px;height:50px;flex-basis:58px}.category-image-preview{height:155px}}
@media(max-width:480px){.category-image-editor{padding:11px}.category-image-editor-head{display:grid;gap:8px}.category-image-editor-head>span{justify-self:start}.category-image-controls{grid-template-columns:1fr}.category-upload-button{width:100%}.category-image-reset{grid-column:auto}.category-image-preview{height:145px}}

/* Administración de la página Nosotros */
.about-admin-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr);gap:22px;align-items:start}.about-editor-panel{position:sticky;top:22px}.about-editor-panel .panel-head small{margin:0 0 4px;color:var(--blue);font-size:9px;letter-spacing:1px}.about-admin-list{display:grid;gap:12px}.about-admin-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid #e1e7ed;border-radius:12px}.about-admin-card>img{width:150px;height:105px;border-radius:9px;background:#eef3f7;object-fit:cover}.about-admin-card>div:nth-child(2){min-width:0;display:grid;gap:4px}.about-admin-card small{color:var(--blue);font-size:8px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.about-admin-card strong{color:var(--navy);font-size:12px}.about-admin-card p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:9px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.about-admin-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:190px}.about-admin-actions form{margin:0}.about-admin-actions .badge{flex:1 0 100%;text-align:center}.about-admin-actions .btn{padding:7px 9px;font-size:9px}.about-order{align-self:center;color:var(--muted);font-size:9px;font-weight:800}.about-image-editor{padding:13px;border:1px solid #dbe4ec;border-radius:11px;background:#f8fafc}.about-image-preview{height:190px;overflow:hidden;margin:3px 0 5px;border:1px dashed #bdcbd7;border-radius:9px;background:#eef3f7;display:grid;place-items:center;color:var(--muted);font-size:10px}.about-image-preview img{width:100%;height:100%;object-fit:cover}.about-image-editor input[type=file]{background:#fff}.about-image-editor>small{color:var(--muted);font-size:9px}
/* Bandeja de mensajes */
.messages-admin-grid{display:grid;grid-template-columns:minmax(430px,.9fr) minmax(390px,1.1fr);gap:22px;align-items:start}.message-detail-panel{position:sticky;top:22px}.message-filters{display:flex;gap:5px;flex-wrap:wrap}.message-filters a{padding:7px 9px;border-radius:7px;background:#eef2f5;color:var(--muted);font-size:9px;font-weight:800}.message-filters a.active{background:var(--blue);color:#fff}.message-list{display:grid;gap:8px}.message-list-item{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:10px;padding:13px;border:1px solid #e3e9ef;border-radius:10px;background:#fff}.message-list-item:hover,.message-list-item.selected{border-color:#8db2d3;background:#f6faff}.message-status-dot{width:8px;height:8px;margin-top:4px;border-radius:50%;background:#93a0ad}.message-list-item.new .message-status-dot{background:var(--yellow);box-shadow:0 0 0 3px rgba(255,203,5,.2)}.message-list-item.answered .message-status-dot{background:var(--green)}.message-list-item>div{min-width:0}.message-list-item strong,.message-list-item small,.message-list-item p{display:block}.message-list-item strong{font-size:11px}.message-list-item small{margin:3px 0;color:var(--blue);font-size:9px;font-weight:800}.message-list-item p{margin:0;overflow:hidden;color:var(--muted);font-size:9px;white-space:nowrap;text-overflow:ellipsis}.message-list-item time{color:var(--muted);font-size:8px;white-space:nowrap}.badge.new{background:#fff5d6;color:#8b6900}.badge.read{background:#e8f2fb;color:#0b619f}.badge.answered{background:#e4f7ef;color:#10754f}.message-detail-head{padding-bottom:17px;border-bottom:1px solid var(--line)}.message-detail-head h2{margin:11px 0 5px;font-size:20px}.message-detail-head small{color:var(--muted);font-size:9px}.message-contact-data{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.message-contact-data>div{padding:11px;border-radius:8px;background:#f4f7fa}.message-contact-data dt{margin-bottom:4px;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}.message-contact-data dd{margin:0;font-size:10px;font-weight:700;overflow-wrap:anywhere}.message-contact-data a{color:var(--blue)}.message-body{min-height:145px;padding:18px;border:1px solid #e1e7ed;border-radius:10px;color:#3d4d5d;font-size:12px;line-height:1.75;white-space:normal}.message-detail-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.message-detail-actions form{margin:0}.message-detail-actions .btn{padding:9px 10px;font-size:9px}
.sidebar{overflow-y:auto;padding-bottom:28px}.sidebar .logout{position:static;display:block;margin-top:18px}
@media(max-width:1180px){.about-admin-grid,.messages-admin-grid{grid-template-columns:1fr}.about-editor-panel,.message-detail-panel{position:static;order:-1}}
@media(max-width:720px){.about-admin-card{grid-template-columns:105px minmax(0,1fr)}.about-admin-card>img{width:105px;height:82px}.about-admin-actions{grid-column:1/-1;max-width:none;justify-content:flex-start}.about-admin-actions .badge{flex:0 0 auto}.message-contact-data{grid-template-columns:1fr}.message-list-item{grid-template-columns:8px minmax(0,1fr)}.message-list-item time{grid-column:2}}
@media(max-width:480px){.about-admin-card{grid-template-columns:1fr}.about-admin-card>img{width:100%;height:150px}.about-admin-actions{grid-column:auto}.about-image-preview{height:160px}.message-filters{margin-top:10px}.message-detail-actions .btn{width:100%;justify-content:center}.message-detail-actions form{width:100%}.message-detail-actions form .btn{width:100%}}

/* Flujo único y compacto para las especificaciones del producto */
.specs-mode-toggle{flex:0 0 auto;min-height:36px;padding:8px 12px;border:1px solid #cbdbe8;border-radius:8px;background:#e8f2fb;color:var(--blue);font-size:9px;font-weight:800;cursor:pointer}.specs-mode-toggle:hover,.specs-mode-toggle[aria-expanded="true"]{border-color:var(--blue);background:var(--blue);color:#fff}.specs-editor>.specs-bulk-panel{gap:8px;padding:12px;box-shadow:none}.specs-editor>.specs-bulk-panel textarea{height:125px;min-height:110px;max-height:190px;padding:10px 12px}.specs-editor>.specs-bulk-panel .specs-bulk-actions{min-height:36px}.specs-editor>.specs-bulk-panel .specs-bulk-actions>small{color:var(--muted);font-size:9px}.specs-preview-head{display:flex;align-items:end;justify-content:space-between;gap:15px;padding:2px 2px 0}.specs-preview-head>div{display:grid;gap:2px}.specs-preview-head strong{color:var(--navy);font-size:11px}.specs-preview-head span,.specs-preview-head>small{color:var(--muted);font-size:9px}.specs-preview-list{max-height:210px;overflow-y:auto;padding:7px;border:1px solid #d9e3eb;border-radius:10px;background:#eef3f7;scrollbar-width:thin}.specs-preview-list .spec-row{grid-template-columns:30px minmax(130px,.55fr) minmax(0,1.45fr);align-items:center;gap:10px;min-height:44px;padding:7px 9px;background:#fff}.specs-preview-list .spec-row-number{align-self:center;width:28px;height:28px}.spec-preview-title,.spec-preview-description{min-width:0;overflow-wrap:anywhere}.spec-preview-title{color:var(--navy);font-size:10px;text-transform:uppercase}.spec-preview-description{color:#536273;font-size:10px;line-height:1.45}.specs-empty{padding:32px 16px;color:var(--muted);font-size:10px;text-align:center}.specs-editor>.specs-editor-foot{display:flex;justify-content:space-between;padding-inline:2px}
@media(max-width:900px){.specs-mode-toggle{justify-self:start}.specs-preview-list{max-height:230px}.specs-preview-list .spec-row{grid-template-columns:28px minmax(115px,.65fr) minmax(0,1.35fr)}.specs-preview-list .spec-row-number{grid-column:1;grid-row:auto}.specs-bulk-actions .btn{flex:0 0 auto}}
@media(max-width:560px){.specs-editor>.specs-bulk-panel textarea{height:125px;max-height:180px}.specs-bulk-actions{display:grid}.specs-bulk-actions .btn{width:100%;justify-content:center}.specs-bulk-actions>small,.specs-bulk-actions>span{width:100%}.specs-preview-head{display:grid;gap:3px}.specs-preview-head>small{display:none}.specs-preview-list{max-height:180px;padding:6px}.specs-preview-list .spec-row{grid-template-columns:28px minmax(0,1fr);gap:3px 9px;padding:8px}.specs-preview-list .spec-row-number{grid-column:1;grid-row:1/3}.spec-preview-title{grid-column:2}.spec-preview-description{grid-column:2}.specs-editor>.specs-editor-foot{display:flex}}

