:root{--wine:#922c35;--wine-dark:#742029;--ink:#282424;--muted:#706966;--paper:#fff;--sand:#f5f1ee;--line:#ddd5d0;--green:#187a45;--shadow:0 18px 50px rgba(35,22,18,.14)}*{box-sizing:border-box}body{margin:0;background:#f6f3f1;color:var(--ink);font-family:Arial,Helvetica,sans-serif}.admin-header{height:86px;padding:10px 32px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.admin-brand{display:flex;align-items:center;gap:18px;color:var(--wine);font-weight:800;text-decoration:none}.admin-brand img{width:105px}.admin-brand span{padding-left:18px;border-left:1px solid var(--line)}.admin-actions{display:flex;gap:9px;align-items:center}button,.secondary,.import{border:1px solid var(--wine);background:var(--wine);color:#fff;padding:11px 16px;font-weight:750;cursor:pointer;text-decoration:none;font-size:13px}.secondary,.import{background:#fff;color:var(--wine)}.import input{display:none}.admin-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 86px)}.admin-nav{padding:35px 20px;background:#2a2524;color:#fff}.admin-nav p{padding:0 14px;text-transform:uppercase;letter-spacing:.14em;color:#aa9e98;font-size:11px;font-weight:800}.admin-nav button{width:100%;display:block;text-align:left;border:0;background:transparent;color:#ddd3ce;padding:14px;border-radius:4px}.admin-nav button:hover,.admin-nav button.active{background:var(--wine);color:#fff}.admin-nav hr{border:0;border-top:1px solid #4c4542;margin:20px 0}.workspace{padding:45px clamp(30px,5vw,78px)}.workspace-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.eyebrow{margin:0 0 8px;color:var(--wine);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:850}.workspace h1{font-family:Georgia,serif;color:var(--wine);font-size:42px;font-weight:500;margin:0}.workspace-head p:last-child{color:var(--muted);margin-bottom:0}.item-list{display:grid;gap:12px}.item-card{display:grid;grid-template-columns:95px minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px;background:#fff;border:1px solid var(--line)}.item-card img{width:95px;height:75px;object-fit:contain;background:#faf9f8}.item-card h3{margin:0 0 5px;font-family:Georgia,serif;font-weight:500;font-size:21px}.item-card p{margin:0;color:var(--muted);font-size:13px}.item-actions{display:flex;gap:7px}.item-actions button{padding:8px 10px}.item-actions .delete{background:#fff;color:#a22;border-color:#d9a8a8}.empty{padding:55px;text-align:center;background:#fff;border:1px dashed var(--line);color:var(--muted)}#notice{min-height:24px;color:var(--green);font-weight:750}.settings-card{max-width:760px;background:#fff;padding:28px;border:1px solid var(--line)}.settings-card h2{font-family:Georgia,serif;color:var(--wine);font-weight:500}.settings-card p{color:var(--muted)}.settings-card button{margin-right:8px;margin-top:10px}.danger{background:#fff;color:#a22;border-color:#a22}dialog{width:min(720px,calc(100vw - 28px));max-height:90vh;border:0;padding:0;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(26,20,18,.62)}#edit-form{padding:30px}.dialog-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:22px}.dialog-head h2{font-family:Georgia,serif;color:var(--wine);font-size:32px;font-weight:500;margin:0 0 20px}.close{border:0;background:transparent;color:var(--ink);font-size:28px;padding:0 8px}.field{display:grid;gap:7px;margin:16px 0}.field span{font-weight:750;font-size:13px}.field input,.field textarea,.field select{width:100%;padding:12px;border:1px solid var(--line);font:inherit}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid rgba(146,44,53,.13);border-color:var(--wine)}.image-field{display:grid;grid-template-columns:100px 1fr;gap:14px;align-items:center}.image-field img{width:100px;height:80px;object-fit:contain;background:var(--sand)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:22px;border-top:1px solid var(--line);margin-top:25px}
@media(max-width:760px){.admin-header{height:auto;align-items:flex-start;padding:12px 15px}.admin-brand span{display:none}.admin-actions{flex-wrap:wrap;justify-content:flex-end}.admin-shell{grid-template-columns:1fr}.admin-nav{display:flex;overflow:auto;padding:8px}.admin-nav p,.admin-nav hr{display:none}.admin-nav button{width:auto;white-space:nowrap}.workspace{padding:28px 15px}.workspace-head{align-items:flex-start}.workspace h1{font-size:34px}.item-card{grid-template-columns:70px 1fr}.item-card img{width:70px;height:60px}.item-actions{grid-column:1/-1}.admin-actions button,.admin-actions a,.admin-actions label{padding:8px;font-size:11px}}
/* Tipografía única del panel: la misma familia Arial usada en la web. */
body,body *,button,input,textarea,select{font-family:Arial,Helvetica,sans-serif!important;font-variant-numeric:lining-nums tabular-nums}
/* Acceso seguro al panel */
.admin-locked{overflow:hidden}.login-screen{position:fixed;inset:0;z-index:100;background:#f5f3f2;display:grid;place-items:center;padding:24px}.login-card,.setup-card{width:min(460px,100%);background:#fff;border:1px solid #d8d1ce;padding:40px;box-shadow:0 20px 60px rgba(75,71,69,.12)}.login-card img,.setup-card>img{width:120px;height:auto;margin-bottom:24px}.login-card h1,.setup-card h1{font:36px/1.1 Calibri,Arial,sans-serif;color:#922c35;margin:8px 0 16px}.login-card label,.setup-card label{display:grid;gap:8px;margin:22px 0;font-weight:700}.login-card input,.setup-card input{font:20px Calibri,Arial,sans-serif;padding:13px;border:1px solid #b9b0ac}.login-card button,.setup-card button,.setup-button{display:inline-flex;justify-content:center;text-decoration:none;background:#922c35;color:#fff;border:1px solid #922c35;padding:13px 22px;font:700 16px Calibri,Arial,sans-serif}.login-card>a{display:block;margin-top:18px;color:#922c35}.setup-page{min-height:100vh;background:#f5f3f2;display:grid;place-items:center;padding:24px}.setup-card{margin:auto}.setup-message{padding:12px;border-left:4px solid #922c35;background:#f8eeee}.setup-button{margin-top:12px}

/* Importación masiva de productos */
.workspace-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.dialog-head{align-items:flex-start}.template-download{display:inline-flex}.field small{color:var(--muted);font-size:12px}.import-options{padding:12px 0}.import-options label{display:flex;align-items:center;gap:9px;font-weight:700}.import-preview{min-height:90px;margin:16px 0;padding:16px;border:1px solid var(--line);background:#faf9f8}.import-preview p{margin:4px 0}.import-preview ul{margin:10px 0 0;padding-left:20px}.import-preview .ok{color:var(--green);font-weight:800}.import-preview .warning{color:#9a5b00;font-weight:800}.import-preview .error{color:#a22;font-weight:800}.import-progress{height:8px;background:#e7dfdb;overflow:hidden}.import-progress span{display:block;width:0;height:100%;background:var(--wine);transition:width .2s}button:disabled{opacity:.5;cursor:not-allowed}#import-form{padding:30px}#import-dialog{width:min(820px,calc(100vw - 28px))}
@media(max-width:760px){.workspace-head{display:block}.workspace-actions{justify-content:flex-start;margin-top:18px}.dialog-actions{flex-wrap:wrap}.dialog-actions button{flex:1}}

/* Estándar tipográfico y cromático KAFFE SERVICE — octubre 2026. */
:root{
  --kaffe-font:Aptos,"Segoe UI",Arial,sans-serif;
  --ink:#282424;
  --muted:#4b4745;
  --green:#282424;
  --alert-red:#c83e3e;
}
body,body *,button,input,textarea,select{
  font-family:var(--kaffe-font)!important;
  font-variant-numeric:lining-nums tabular-nums;
}
#notice,.import-preview .ok{color:var(--ink)}
.import-preview .warning,.import-preview .error,
.danger,.item-actions .delete{color:var(--alert-red);border-color:var(--alert-red)}

/* Agrupación y orden de clases o modelos por categoría. */
.grouped-models{display:grid;gap:28px}
.category-group{display:grid;gap:12px}
.category-group-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:0 2px 9px;border-bottom:2px solid var(--wine)}
.category-group-head .eyebrow{margin-bottom:4px}
.category-group-head h2{margin:0;color:var(--wine);font-size:25px}
.category-group-head>span{color:var(--muted);font-size:14px;font-weight:700}
.order-controls{display:flex;gap:5px;margin-right:5px}
.order-controls button{min-width:38px;padding:8px 11px;font-size:17px;line-height:1}
@media(max-width:760px){.category-group-head{align-items:flex-start;flex-direction:column;gap:5px}.category-group-head h2{font-size:22px}.item-actions{align-items:center}.order-controls{margin-right:auto}}

/* Carga manual de varias fotografías por producto. */
.additional-images-field{padding-top:4px}
.additional-images-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:10px}
.additional-images-list>p{grid-column:1/-1;margin:0;color:var(--muted)}
.additional-image{position:relative;height:105px;border:1px solid var(--line);background:#faf9f8}
.additional-image img{width:100%;height:100%;object-fit:contain;padding:6px}
.additional-image button{position:absolute;right:4px;top:4px;width:28px;height:28px;padding:0;border-radius:50%;background:var(--alert-red);border-color:var(--alert-red);color:#fff;font-size:20px;line-height:1}
.additional-images-field>input[type="file"]{padding:12px;margin-top:3px;border:1px solid var(--line);background:#fff}
.document-field{display:grid;gap:10px}
.document-current{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;border:1px solid var(--line);background:#fff}
.document-current p{margin:0;color:var(--muted)}
.document-current a{color:var(--wine);font-weight:700}
.document-current .secondary{margin-left:auto;padding:8px 12px;border:1px solid var(--wine);background:#fff;color:var(--wine);font-weight:700;cursor:pointer}
.document-field small{color:var(--muted)}

/* Estándar global KAFFE: solo dos tamaños y dos colores tipográficos. */
html{font-size:16px!important}
body,body *,button,input,textarea,select,option,::file-selector-button{
  font-family:var(--kaffe-font)!important;
  font-size:16px!important;
  font-weight:400!important;
  color:var(--ink)!important;
}
h1,h2,h3,h4,h5,h6,.page-head h1,.category-group-head h2{
  font-size:20px!important;
  font-weight:700!important;
  color:var(--wine)!important;
}
.sidebar a,.top-actions a,.top-actions button,.eyebrow,.field>span,
.item-actions button,.order-controls button,button{
  font-weight:700!important;
  color:var(--wine)!important;
}
.import-preview .warning,.import-preview .error,.danger,.item-actions .delete{
  color:var(--alert-red)!important;
}
.admin-nav{background:var(--sand)!important;border-right:1px solid var(--line)}
.admin-nav p,.admin-nav button{color:var(--ink)!important}
.admin-nav button:hover,.admin-nav button.active{background:#fff!important;color:var(--wine)!important;box-shadow:inset 3px 0 0 var(--wine)}
button,.secondary,.import,.setup-button{
  background:#fff!important;
  border-color:var(--wine)!important;
  color:var(--wine)!important;
}
