:root{--cr-primary:#c2410c;--cr-primary-dark:#9a3412;--cr-accent:#16a34a;--cr-bg:#faf7f2;--cr-side:#fff;--cr-card:#fff;--cr-border:#eadfd3;--cr-text:#2b211a;--bs-primary:#c2410c;--bs-primary-rgb:194,65,12;--bs-link-color:#c2410c;--bs-link-hover-color:#9a3412}
[data-bs-theme=dark]{--cr-bg:#1a1613;--cr-side:#221d19;--cr-card:#26211c;--cr-border:#3a322b;--cr-text:#efe7de;--bs-body-bg:#1a1613;--bs-body-color:#efe7de}
body{background:var(--cr-bg);color:var(--cr-text);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.btn-primary{--bs-btn-bg:var(--cr-primary);--bs-btn-border-color:var(--cr-primary);--bs-btn-hover-bg:var(--cr-primary-dark);--bs-btn-hover-border-color:var(--cr-primary-dark);--bs-btn-active-bg:var(--cr-primary-dark)}
.btn-outline-primary{--bs-btn-color:var(--cr-primary);--bs-btn-border-color:var(--cr-primary);--bs-btn-hover-bg:var(--cr-primary);--bs-btn-hover-border-color:var(--cr-primary)}
.text-primary{color:var(--cr-primary)!important}.bg-primary{background:var(--cr-primary)!important}
.cr-topbar{background:linear-gradient(90deg,#9a3412,#c2410c);min-height:54px}.cr-topbar .navbar-brand{color:#fff;font-weight:700;letter-spacing:.3px}
.cr-wrap{display:flex;min-height:calc(100vh - 54px)}
.cr-sidebar{width:230px;background:var(--cr-side);border-right:1px solid var(--cr-border);padding:1rem .75rem;flex-shrink:0;display:flex;flex-direction:column}
.cr-sidebar .nav-link{color:var(--cr-text);border-radius:8px;padding:.5rem .75rem;display:flex;align-items:center;gap:.6rem;font-size:.93rem}
.cr-sidebar .nav-link i{width:18px;text-align:center;opacity:.75}
.cr-sidebar .nav-link.active,.cr-sidebar .nav-link:hover{background:rgba(194,65,12,.1);color:var(--cr-primary)}
.cr-nav-sec{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#9a8b7d;padding:.9rem .75rem .3rem}
.cr-sidebar-foot{margin-top:auto;padding:.75rem}
.cr-main{flex:1;padding:1.25rem;min-width:0}
@media (max-width:991px){.cr-main{padding:.9rem}}
.cr-card,.card{background:var(--cr-card);border:1px solid var(--cr-border);border-radius:12px}
.card-header{background:transparent;border-bottom:1px solid var(--cr-border);font-weight:600}
.cr-kpi{border-radius:12px;padding:.9rem 1rem;background:var(--cr-card);border:1px solid var(--cr-border)}
.cr-kpi .v{font-size:1.5rem;font-weight:700;line-height:1.1}.cr-kpi .l{font-size:.78rem;color:#8a7b6e}
.cr-auth-body{background:var(--cr-bg)}
.table{--bs-table-bg:transparent}.table>:not(caption)>*>*{padding:.45rem .5rem}
.badge-fuente{font-size:.65rem}
.cr-menu-grid{display:grid;grid-template-columns:70px repeat(7,minmax(120px,1fr));gap:4px;overflow-x:auto}
.cr-menu-cell{background:var(--cr-card);border:1px solid var(--cr-border);border-radius:8px;min-height:80px;padding:.35rem;font-size:.8rem;position:relative}
.cr-menu-cell.hoy{border-color:var(--cr-primary);box-shadow:0 0 0 1px var(--cr-primary) inset}
.cr-menu-head{font-weight:600;font-size:.8rem;text-align:center;padding:.3rem}
.cr-menu-item{border-left:3px solid #999;padding:.2rem .35rem;margin-bottom:.25rem;border-radius:4px;background:rgba(0,0,0,.03)}
.cr-menu-item.planificado{border-color:#6c757d}.cr-menu-item.cocinado{border-color:#0d6efd}.cr-menu-item.servido{border-color:#16a34a}.cr-menu-item.omitido{border-color:#dc3545;opacity:.6;text-decoration:line-through}
.cr-caras{display:flex;gap:.4rem;justify-content:center}.cr-caras label{cursor:pointer;font-size:2rem;opacity:.35;transition:.15s;transform:scale(.9)}.cr-caras input{display:none}.cr-caras input:checked+label,.cr-caras label:hover{opacity:1;transform:scale(1.15)}
.cr-stars{color:#f59e0b}
.cr-photo{width:100%;height:220px;object-fit:cover;border-radius:10px}
.cr-thumb{width:64px;height:64px;object-fit:cover;border-radius:8px}
.cr-recipe-card img{height:150px;object-fit:cover;border-radius:12px 12px 0 0}
.cr-autocomplete{position:relative}.cr-autocomplete .list-group{position:absolute;z-index:1050;width:100%;max-height:260px;overflow:auto}
.cr-lista-item.comprado{opacity:.55}.cr-lista-item.comprado .nombre{text-decoration:line-through}
.progress{height:.6rem}
.semaforo{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:4px}
@media print{.cr-topbar,.cr-sidebar,.no-print,.btn{display:none!important}.cr-main{padding:0}}
