:root{--carbon:#171614;--terracota:#b4512a;--terracota-dark:#8a3a1c;--azafran:#e0a526;--azafran-soft:#f7e7c4;--mantel:#f3f1ed;--linea:#e2ded7;--linea-2:#d9d5ce;--gris:#5e5a54;--gris-claro:#bdb8af;--blanco:#ffffff;--ok:#3d6b3a;--error:#a3271b;--radius:16px;--sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;--serif:"Fraunces",Georgia,serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--sans);background:var(--mantel);color:var(--carbon);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--terracota)}a:hover{color:var(--terracota-dark)}img{max-width:100%;display:block}h1,h2,h3{line-height:1.2;margin:0}p{margin:0}.logo{display:inline-flex;align-items:center;text-decoration:none}.wordmark{font-style:italic;font-weight:600;letter-spacing:-.02em;line-height:1}.serif,.wordmark{font-family:var(--serif)}.sabrosia-badge{background:var(--terracota);flex:none}.btn,.sabrosia-badge{display:inline-flex;align-items:center;justify-content:center}.btn{gap:8px;min-height:44px;padding:0 18px;border-radius:12px;border:0;font:700 15px var(--sans);cursor:pointer;text-decoration:none;background:var(--carbon);transition:opacity .15s,background .15s}.btn,.btn:hover{color:var(--blanco)}.btn:hover{opacity:.9}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-accent{background:var(--terracota)}.btn-ghost{background:var(--blanco);color:var(--carbon);border:1px solid var(--linea-2)}.btn-ghost:hover{color:var(--carbon);background:#faf9f7}.btn-danger{background:var(--blanco);border:1px solid #e8c4bf}.btn-danger,.btn-danger:hover{color:var(--error)}.btn-sm{min-height:36px;padding:0 12px;font-size:14px;border-radius:10px}.btn-lg{min-height:52px;padding:0 24px;font-size:16px;border-radius:14px}.field{display:flex;flex-direction:column;gap:6px}.field label,.label{font-size:14px;font-weight:700}.hint{font-size:13px;color:var(--gris)}.input,.select,.textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--linea-2);background:var(--blanco);color:var(--carbon);font:500 15px var(--sans)}.textarea{min-height:80px;resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--terracota);outline-offset:1px;border-color:transparent}.error-msg{color:var(--error)}.error-msg,.ok-msg{font-size:14px;font-weight:600}.ok-msg{color:var(--ok)}.card{background:var(--blanco);border-radius:20px;padding:24px;border:1px solid var(--linea)}.stack{flex-direction:column}.row,.stack{display:flex}.row{align-items:center}.wrap{flex-wrap:wrap}.grow{flex:1 1;min-width:0}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.gap-32{gap:32px}.muted{color:var(--gris)}.small{font-size:13px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border-radius:999px;font-size:13px;font-weight:700;background:var(--mantel);color:var(--carbon);border:1px solid var(--linea);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.chip input{position:absolute;opacity:0;pointer-events:none}.chip.on,.chip:has(input:checked){background:var(--carbon);color:var(--blanco);border-color:var(--carbon)}.chip-ai{background:var(--azafran-soft);color:#6b4e0f;border-color:transparent}.chip-warn{background:#fbe9e4;color:#8a3a1c}.chip-ok,.chip-warn{border-color:transparent;cursor:default}.chip-ok{background:#e6efe2;color:var(--ok)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:100%;max-width:420px}.panel{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.side{background:var(--carbon);color:var(--blanco);padding:24px 16px;gap:28px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.side,.side nav{display:flex;flex-direction:column}.side nav{gap:4px}.side nav a{color:#d9d5ce;text-decoration:none;padding:10px 12px;border-radius:10px;font-weight:600;font-size:15px}.side nav a.active,.side nav a:hover{background:rgba(255,255,255,.08);color:var(--blanco)}.side .foot{margin-top:auto;font-size:13px;display:flex;flex-direction:column;gap:8px}.side .foot,.side .foot a{color:var(--gris-claro)}.main{padding:32px 40px 64px;max-width:1100px;width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-head h1{font-size:30px;font-weight:800;letter-spacing:-.02em}.sabrosia-card{background:var(--carbon);color:var(--blanco);border-radius:22px;padding:24px;display:flex;gap:16px;align-items:flex-start}.sabrosia-card .muted{color:#d9d5ce}.dish-row{display:grid;grid-template-columns:72px 1fr auto;grid-gap:14px;gap:14px;align-items:center;padding:12px;border-radius:14px;background:var(--blanco);border:1px solid var(--linea)}.thumb{width:72px;height:72px;border-radius:12px;object-fit:cover;background:var(--linea)}.thumb-empty{display:grid;place-items:center;font-size:11px;color:var(--gris);text-align:center}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.dropzone{border:2px dashed var(--linea-2);border-radius:18px;padding:28px;text-align:center;background:var(--blanco);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px}.dropzone:hover{border-color:var(--terracota)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.mobile-top{display:none}@media (max-width:860px){.panel{grid-template-columns:1fr}.side{position:static;height:auto;padding:16px;gap:12px}.side nav{flex-direction:row;overflow-x:auto}.side nav a{white-space:nowrap}.side .foot{display:none}.main{padding:20px 16px 48px}.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.dish-row{grid-template-columns:56px 1fr}.dish-row>:last-child{grid-column:1/-1}.thumb{width:56px;height:56px}}@media print{.no-print{display:none!important}body{background:#fff}}