@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#35271e;background:#f8f5f0}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:11px 15px;background:#805c3e;color:#fff;font-weight:700}button:hover{background:#61442e}button.secondary{background:#eee5da;color:#60442e}button.danger{background:#a34232}button:disabled{opacity:.45;cursor:not-allowed}input,select{width:100%;padding:11px;border:1px solid #dacdbf;border-radius:9px;background:#fff;color:#35271e}label{font-size:13px;font-weight:700;display:block;margin:8px 0 5px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;margin:0 0 16px}h1{font-size:32px}h2{font-size:25px}h3{font-size:19px}.muted{color:#806f62;font-size:14px}.login{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 85% 15%,#f0d9b4,transparent 32%),#f8f5f0}.loginbox{max-width:1020px;width:100%;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 18px 60px #52391b20}.hero{background:#e9d5b9;padding:42px;display:flex;flex-direction:column;justify-content:center}.hero img{max-width:100%;max-height:340px;object-fit:contain;border-radius:14px}.hero p{line-height:1.6}.loginform{padding:45px}.roles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.roles button{background:#f7f1e8;color:#533c2c;border:2px solid transparent;text-align:left}.roles button.selected{border-color:#946841;background:#f4e7d3}.loginform form button{width:100%;margin-top:16px}.shell{max-width:1380px;margin:auto;padding:24px}.top{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:20px;border-bottom:1px solid #e9e0d7}.brand{display:flex;align-items:center;gap:14px}.brand img{height:58px;width:58px;object-fit:cover;border-radius:50%}.brand strong{font-family:Georgia,serif;font-size:22px}.nav{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.nav button{background:#eee7de;color:#654631}.nav button.current{background:#77543c;color:white}.panel,.card{background:#fff;padding:22px;border-radius:16px;box-shadow:0 3px 20px #35271e0a;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:16px}.metric{font-size:30px;font-weight:700;color:#805c3e}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row>*{flex:1}.row button{flex:0 0 auto}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{text-align:left;padding:11px;border-bottom:1px solid #eee7df}th{color:#836b59}td button{padding:7px 10px;margin:2px}.tag{display:inline-block;background:#f3e7d7;color:#705036;padding:4px 9px;border-radius:30px;font-size:12px;font-weight:bold}.notice{padding:12px 16px;background:#e5f3e6;border-radius:10px;margin:12px 0;color:#256034}.error{background:#fbe8e4;color:#a03828}.order{border-left:4px solid #b18a5d}.item{padding:10px 0;border-top:1px solid #eee;display:flex;justify-content:space-between;gap:10px;align-items:center}.item button{font-size:12px}small{display:block;color:#8a7767}.bottom{font-size:12px;color:#937f6d;margin-top:35px}@media(max-width:700px){.loginbox{grid-template-columns:1fr}.hero{padding:22px}.hero img{max-height:180px}.loginform{padding:24px}.shell{padding:15px}.top{align-items:flex-start}.brand strong{font-size:18px}.top button{font-size:12px}}
.hero img{width:100%;height:340px;object-fit:cover;object-position:center 35%;background:#fff}.brand img{object-fit:cover;object-position:center 35%}
/* El logotipo recibido es cuadrado: se centra dentro de un círculo. */
.hero img{width:min(100%,340px);height:340px;aspect-ratio:1;object-fit:cover;object-position:center;border-radius:50%;align-self:center;transform:scale(1.04)}
.brand img{height:58px;width:58px;object-fit:cover;object-position:center;border-radius:50%}
@media(max-width:700px){.hero img{width:180px;height:180px}}
.ready-banner{display:flex;flex-direction:column;gap:6px;background:#e4f4e8;color:#175834;border:2px solid #71b987;border-radius:14px;padding:17px 20px;margin:0 0 18px;line-height:1.5}.ready-banner strong{font-size:19px}.item-ready{background:#eff9ef;border-radius:8px;padding:10px}.item-ready .tag{background:#cdeccf;color:#175834}
.mobile-picker{display:none}.product-tile[hidden]{display:none}
@media(max-width:700px){
 .desktop-picker{display:none}.mobile-picker{display:block;margin-top:20px;border-top:1px solid #eee7df;padding-top:18px}
 .category-scroll{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:4px 0 12px;margin-bottom:12px}
 .category-chip{white-space:nowrap;flex:none;border-radius:22px;background:#f5eee6;color:#624831;padding:10px 13px;font-size:13px}
 .category-chip.selected{background:#805c3e;color:#fff}
 .product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}
 .product-tile{display:flex;flex-direction:column;gap:7px;align-items:flex-start;justify-content:space-between;min-height:100px;background:#faf6f0;border:2px solid #e8ded2;color:#35271e;text-align:left;padding:11px;font-size:14px}
 .product-tile.chosen{border-color:#805c3e;background:#f1e5d5}.product-tile span{color:#805c3e;font-weight:700}.product-tile small{font-size:11px;line-height:1.35}
 .mobile-add{border-radius:14px;background:#f5eee5;padding:15px;margin-top:15px}.mobile-add p{margin:0 0 12px}
 .stepper{display:flex;align-items:center;gap:8px}.stepper button{width:46px;min-width:46px;padding:10px}.stepper input{text-align:center}.add-to-order{width:100%;margin-top:15px}
}
