*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f5f6f8;color:#1e293b}button,input,select,textarea{font:inherit}button,a{cursor:pointer}header{position:sticky;top:0;z-index:5;background:#111827;color:white;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0002}header strong{display:block;font-size:1.15rem}header small{color:#cbd5e1}header nav{display:flex;gap:10px;align-items:center}header a{color:white;text-decoration:none;background:#ffffff18;padding:9px 12px;border-radius:9px}main{padding:18px;max-width:1400px;margin:auto}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#111827,#334155)}.login-card{width:min(92vw,420px);background:white;padding:28px;border-radius:18px;box-shadow:0 18px 60px #0005}.login-card h1{margin-top:0}form{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:600}input,select,textarea{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:10px;background:white}textarea{min-height:80px;resize:vertical}button{border:0;border-radius:10px;padding:11px 14px;background:#334155;color:white;font-weight:700}.primary{background:#2563eb}.secondary{background:#475569}.success{background:#16a34a}.danger{background:#dc2626}.wide{width:100%;font-size:1.05rem;padding:14px}.error{padding:10px;background:#fee2e2;color:#991b1b;border-radius:10px;margin-bottom:12px}.waiter-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);gap:18px}.waiter-layout>section:last-child{grid-column:2}.panel{background:white;border-radius:16px;padding:16px;box-shadow:0 3px 16px #0f172a12}.category-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:10px}.category-tabs button{white-space:nowrap;background:#e2e8f0;color:#334155}.category-tabs button.active{background:#2563eb;color:white}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.product-card{min-height:92px;background:white;color:#1e293b;border:1px solid #dbe2ea;box-shadow:0 2px 8px #0f172a0c;display:flex;flex-direction:column;justify-content:center;gap:7px}.product-card span{color:#2563eb}.cart{display:grid;gap:8px;min-height:100px}.cart-row,.recent-order,.admin-list>div{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #e2e8f0;padding:10px 0}.cart-row small,.recent-order small,.admin-list small{display:block;color:#64748b;margin-top:3px}.qty{display:flex;align-items:center;gap:8px}.qty button{padding:5px 11px;background:#e2e8f0;color:#1e293b;font-size:1.2rem}.total-row{display:flex;justify-content:space-between;font-size:1.2rem;padding:14px 0}.muted{color:#64748b}.status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.8rem;font-weight:800}.status.pending{background:#fef3c7;color:#92400e}.status.preparing{background:#dbeafe;color:#1d4ed8}.status.ready{background:#dcfce7;color:#166534}.status.served{background:#e2e8f0;color:#334155}.status.cancelled{background:#fee2e2;color:#991b1b}.kitchen-toolbar{display:flex;justify-content:space-between;align-items:center}.kitchen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.order-card{background:white;border-radius:16px;padding:16px;box-shadow:0 3px 15px #0f172a15;border-top:7px solid #f59e0b}.order-card.preparing{border-top-color:#3b82f6}.order-card.ready{border-top-color:#22c55e}.order-head{display:flex;justify-content:space-between;gap:10px}.order-head h2{margin:0}.order-head small{color:#64748b}.order-card ul{padding-left:20px;font-size:1.08rem}.order-card li{margin:9px 0}.order-notes{background:#fff7ed;padding:10px;border-radius:9px;color:#9a3412}.order-total{text-align:right;font-size:1.1rem;font-weight:800;padding:10px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{flex:1}.empty-state{grid-column:1/-1;text-align:center;padding:60px;background:white;border-radius:16px;color:#64748b;font-size:1.3rem}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-grid .full{grid-column:1/-1}#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#111827;color:white;padding:12px 18px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s;z-index:20}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:850px){.waiter-layout{grid-template-columns:1fr}.waiter-layout>section:last-child{grid-column:auto}.admin-grid{grid-template-columns:1fr}.admin-grid .full{grid-column:auto}}
.edit-reference{padding:6px 9px;font-size:.78rem;background:#e2e8f0;color:#334155;white-space:nowrap}

.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.summary-card{background:white;border-radius:16px;padding:20px;box-shadow:0 3px 16px #0f172a12}.summary-card small{display:block;color:#64748b;font-weight:700;margin-bottom:8px}.summary-card strong{font-size:2rem}.summary-statuses{margin-bottom:18px}.summary-statuses>div{display:flex;gap:8px;flex-wrap:wrap}.summary-table-wrap{overflow:auto}.summary-table{width:100%;border-collapse:collapse}.summary-table th,.summary-table td{text-align:left;padding:12px;border-bottom:1px solid #e2e8f0}.summary-table th:nth-child(2),.summary-table td:nth-child(2),.summary-table th:last-child,.summary-table td:last-child{text-align:right}.summary-note{color:#64748b;font-size:.9rem}@media(max-width:700px){.summary-cards{grid-template-columns:1fr}.summary-card strong{font-size:1.7rem}}

.button-link{display:inline-block;color:white;text-decoration:none;padding:11px 14px;border-radius:10px;font-weight:700}
.summary-date-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.summary-date-form label{min-width:220px}
.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
.summary-card{background:white;border-radius:16px;padding:20px;box-shadow:0 3px 16px #0f172a12}
.summary-card small{display:block;color:#64748b;margin-bottom:8px}
.summary-card strong{font-size:1.8rem}
.summary-statuses>div{display:flex;gap:8px;flex-wrap:wrap}
.summary-table-wrap{overflow:auto}
.summary-table{width:100%;border-collapse:collapse}
.summary-table th,.summary-table td{text-align:left;padding:11px;border-bottom:1px solid #e2e8f0;white-space:nowrap}
.success-message{padding:12px;background:#dcfce7;color:#166534;border-radius:10px}
.admin-edit-list{display:grid;gap:10px}
.admin-edit-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e2e8f0}
.inline-edit-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;flex:1}
.product-form{grid-template-columns:minmax(180px,1.4fr) minmax(150px,1fr) 110px auto}
@media(max-width:850px){
.summary-cards{grid-template-columns:1fr}
.admin-edit-row{align-items:stretch;flex-direction:column}
.inline-edit-form,.product-form{grid-template-columns:1fr}
}

.product-card small{color:#64748b;font-weight:500}
.modal{position:fixed;inset:0;background:#0f172a99;display:grid;place-items:center;padding:18px;z-index:30}
.modal.hidden{display:none}
.modal-card{width:min(92vw,460px);background:white;border-radius:18px;padding:20px;box-shadow:0 20px 60px #0005}
.modal-card h2{margin-top:0}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.extra-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #e2e8f0}
.extra-option input{width:auto}
.cart-row-rich{align-items:flex-start}
.kitchen-extra{margin:4px 0 0 20px;color:#1d4ed8;font-weight:700}
.kitchen-note{margin:4px 0 0 20px;color:#9a3412}
.product-admin-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.product-admin-form fieldset{grid-column:1/-1;border:1px solid #cbd5e1;border-radius:12px;padding:12px}
.product-admin-form>button{grid-column:1/-1}
.extra-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.extra-check{display:flex;align-items:center;gap:8px;background:#f8fafc;padding:9px;border-radius:9px}
.extra-check input{width:auto}
.extra-inline-form{grid-template-columns:minmax(180px,1fr) 110px auto}
.product-edit-row{align-items:flex-start}
.product-edit-form{flex:1}
@media(max-width:850px){
.product-admin-form{grid-template-columns:1fr}
.product-admin-form fieldset,.product-admin-form>button{grid-column:auto}
.extra-inline-form{grid-template-columns:1fr}
}


.category-tabs{display:flex;flex-wrap:wrap;overflow:visible}
.category-tabs button{flex:0 0 auto}
.empty-products{grid-column:1/-1;background:white;border:1px dashed #cbd5e1;border-radius:12px;padding:24px;text-align:center;color:#64748b}


.mobile-cart-bar{display:none}
@media(max-width:850px){
    body{padding-bottom:76px}
    .category-tabs{gap:7px}
    .category-tabs button{white-space:normal;flex:1 1 calc(50% - 7px);min-width:130px}
    .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .product-card{min-height:84px;padding:10px}
    .mobile-cart-bar{
        position:fixed;
        left:0;
        right:0;
        bottom:0;
        z-index:25;
        background:#111827;
        color:white;
        padding:10px 12px;
        display:none;
        grid-template-columns:1fr auto auto;
        gap:10px;
        align-items:center;
        box-shadow:0 -3px 18px #0004
    }
    .mobile-cart-bar.visible{display:grid}
    .mobile-cart-bar button{background:#2563eb;padding:9px 12px}
}

.inline-edit-form{grid-template-columns:minmax(180px,1fr) 90px auto}
.product-admin-form{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:850px){
    .inline-edit-form{grid-template-columns:1fr}
    .product-admin-form{grid-template-columns:1fr}
}

.payment-fieldset{border:1px solid #cbd5e1;border-radius:12px;padding:12px;margin-top:12px}
.payment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.payment-option{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;padding:11px;border-radius:10px;cursor:pointer}
.payment-option input{width:auto}
.payment-status{margin-top:12px;padding:10px;background:#f8fafc;border-radius:10px}
.payment-change{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}
.payment-mini{background:#e2e8f0;color:#334155;padding:8px;font-size:.85rem}
.payment-mini.active{background:#2563eb;color:white}
.payment-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.payment-summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px;display:grid;gap:6px}
.payment-summary-card span{font-size:1.3rem;font-weight:800}
.payment-summary-card small{color:#64748b}
@media(max-width:850px){
    .payment-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.payment-option:has(input:checked){background:#dbeafe;border-color:#2563eb}
.payment-option:has(input:checked) span{color:#1d4ed8;font-weight:800}
@media(max-width:850px){
    .payment-options{grid-template-columns:1fr}
    .payment-change{grid-template-columns:1fr}
}


/* Cocina compacta */
.kitchen-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:10px;
}
.compact-order-card{
    padding:12px;
    border-radius:14px;
    border-top:6px solid #f59e0b;
    display:flex;
    flex-direction:column;
    min-height:0;
}
.compact-order-head{
    align-items:flex-start;
    margin-bottom:8px;
}
.compact-order-head h2{
    font-size:1.35rem;
    line-height:1.1;
    margin:0;
}
.compact-order-head small{
    display:block;
    margin-top:3px;
    color:#64748b;
    font-size:.8rem;
}
.order-age{
    background:#fff7ed;
    color:#9a3412;
    border-radius:999px;
    padding:5px 8px;
    font-size:.78rem;
    font-weight:800;
    white-space:nowrap;
}
.compact-items{
    display:grid;
    gap:6px;
    margin:2px 0 10px;
}
.compact-item{
    padding:7px 0;
    border-bottom:1px solid #e2e8f0;
}
.compact-item:last-child{
    border-bottom:0;
}
.compact-item-main{
    display:flex;
    gap:7px;
    align-items:flex-start;
    font-size:1.05rem;
    line-height:1.2;
}
.compact-item-main b{
    min-width:28px;
    font-size:1.1rem;
}
.compact-extra{
    margin:4px 0 0 35px;
    color:#1d4ed8;
    font-size:.9rem;
    font-weight:700;
    line-height:1.2;
}
.compact-note{
    margin:4px 0 0 35px;
    color:#9a3412;
    font-size:.88rem;
    line-height:1.2;
}
.compact-order-notes{
    margin:4px 0 10px;
    padding:8px;
    font-size:.9rem;
}
.ready-only-button{
    width:100%;
    margin-top:auto;
    min-height:58px;
    font-size:1.25rem;
    border-radius:12px;
    background:#16a34a;
}
.ready-only-button:active{
    transform:scale(.99);
}
@media(max-width:700px){
    main{
        padding:10px;
    }
    .kitchen-toolbar{
        margin-bottom:8px;
    }
    .kitchen-toolbar h2{
        font-size:1.1rem;
        margin:4px 0;
    }
    .kitchen-grid{
        grid-template-columns:1fr;
        gap:8px;
    }
    .compact-order-card{
        padding:10px;
        border-radius:12px;
    }
    .compact-order-head h2{
        font-size:1.45rem;
    }
    .compact-item-main{
        font-size:1.08rem;
    }
    .ready-only-button{
        min-height:62px;
        font-size:1.35rem;
    }
}
@media(min-width:701px) and (max-width:1100px){
    .kitchen-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

/* Contador visible de pedidos pendientes en cocina */
.kitchen-summary-bar{
    position:sticky;
    top:58px;
    z-index:4;
    margin-bottom:10px;
}
.pending-counter{
    display:flex;
    align-items:center;
    gap:14px;
    background:#fff7ed;
    border:2px solid #f59e0b;
    border-radius:14px;
    padding:10px 16px;
    box-shadow:0 4px 14px #0f172a18;
}
.pending-counter>span{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    min-width:68px;
    height:68px;
    border-radius:12px;
    background:#f59e0b;
    color:white;
    font-size:2.7rem;
    line-height:1;
    font-weight:900;
}
.pending-counter>div{
    min-width:0;
    display:grid;
    gap:3px;
}
.pending-counter strong{
    font-size:1.35rem;
    line-height:1.1;
}
.pending-counter small{
    color:#64748b;
    font-size:.8rem;
}
.pending-counter.no-orders{
    background:#f0fdf4;
    border-color:#22c55e;
}
.pending-counter.no-orders>span{
    background:#16a34a;
}
.pending-counter.has-orders{
    background:#fff7ed;
    border-color:#f59e0b;
}
@media(max-width:700px){
    .kitchen-summary-bar{
        top:54px;
        margin-bottom:8px;
    }
    .pending-counter{
        gap:10px;
        padding:8px 10px;
        border-radius:12px;
    }
    .pending-counter>span{
        min-width:58px;
        height:58px;
        font-size:2.3rem;
    }
    .pending-counter strong{
        font-size:1.12rem;
    }
}

.ready-only-button:disabled{
    opacity:.7;
    cursor:wait;
}

.profit-box{
    background:#f0fdf4;
    border:1px solid #bbf7d0;
    border-radius:10px;
    padding:10px;
    display:grid;
    align-content:center;
    gap:2px;
}
.profit-box small{color:#64748b}
.profit-box strong{font-size:1.1rem;color:#166534}
.profit-box span{font-size:.85rem;color:#166534}
.detail-link{
    display:inline-block;
    white-space:nowrap;
    color:#2563eb;
    font-weight:700;
    text-decoration:none;
}
.detail-link:hover{text-decoration:underline}
.order-detail-cards{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.order-meta{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:18px;
}
.order-meta .full-row{grid-column:1/-1}
.detail-extras{
    display:grid;
    gap:2px;
    margin-top:5px;
    color:#1d4ed8;
    font-size:.88rem;
}
.detail-note{
    margin-top:5px;
    color:#9a3412;
    font-size:.88rem;
}
.order-detail-table td{
    vertical-align:top;
}
@media(max-width:850px){
    .order-detail-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
    .order-meta{grid-template-columns:1fr}
    .order-meta .full-row{grid-column:auto}
}

.waiter-order-summary{
    background:white;
    border:1px solid #e2e8f0;
    border-radius:12px;
    padding:12px;
    margin-bottom:10px;
}
.waiter-order-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
}
.waiter-order-head small{
    display:block;
    color:#64748b;
    margin-top:3px;
}
.waiter-order-items{
    display:grid;
    gap:5px;
    padding:10px 0;
    border-top:1px solid #e2e8f0;
    border-bottom:1px solid #e2e8f0;
    margin-top:8px;
}
.waiter-order-item{
    display:grid;
    gap:2px;
}
.waiter-order-item small{
    color:#1d4ed8;
    padding-left:22px;
}
.waiter-order-parts{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    margin-top:10px;
}
.drinks-ready-button{
    background:#0284c7;
    min-height:48px;
    flex:1;
}
.drinks-done-badge,.part-done,.part-pending{
    display:inline-block;
    padding:8px 10px;
    border-radius:9px;
    font-size:.85rem;
    font-weight:800;
}
.drinks-done-badge,.part-done{
    background:#dcfce7;
    color:#166534;
}
.part-pending{
    background:#fef3c7;
    color:#92400e;
}

/* Contador mínimo de cocina: solo el número */
.kitchen-summary-bar{
    display:flex;
    justify-content:flex-start;
    margin-bottom:6px;
}
.pending-counter-minimal{
    width:auto;
    min-width:64px;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}
.pending-counter-minimal>span{
    min-width:64px;
    width:64px;
    height:52px;
    border-radius:10px;
    font-size:2.25rem;
    box-shadow:0 2px 8px #0f172a20;
}
.pending-counter-minimal.no-orders>span{
    background:#16a34a;
}
.pending-counter-minimal.has-orders>span{
    background:#f59e0b;
}
@media(max-width:700px){
    .kitchen-summary-bar{
        margin-bottom:5px;
    }
    .pending-counter-minimal>span{
        min-width:56px;
        width:56px;
        height:46px;
        font-size:2rem;
        border-radius:9px;
    }
}

.order-actions-inline{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
}
.order-actions-inline form{
    display:inline;
}
.edit-link{
    color:#7c3aed;
    font-weight:700;
    text-decoration:none;
}
.compact-action-button{
    padding:6px 9px;
    font-size:.82rem;
}
.order-general-form{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.order-general-form .full-row{
    grid-column:1/-1;
}
.checkbox-admin{
    display:flex;
    align-items:center;
    gap:8px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:10px;
    padding:11px;
}
.checkbox-admin input{
    width:auto;
}
.editable-order-item{
    border:1px solid #dbe2ea;
    border-radius:14px;
    padding:14px;
    margin-bottom:14px;
    background:#f8fafc;
}
.editable-item-form{
    display:grid;
    grid-template-columns:90px minmax(180px,1.5fr) 130px 130px;
    gap:10px;
}
.editable-item-form .full-row{
    grid-column:1/-1;
}
.editable-extras{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin-top:12px;
}
.extra-chip-form{
    display:flex;
    align-items:center;
    gap:5px;
    background:#dbeafe;
    color:#1d4ed8;
    border-radius:999px;
    padding:4px 5px 4px 10px;
}
.extra-chip-form button{
    padding:2px 7px;
    border-radius:999px;
}
.add-extra-form{
    display:flex;
    gap:8px;
    margin-top:10px;
}
.add-extra-form select{
    flex:1;
}
.delete-line-form{
    margin-top:10px;
}
.add-product-order-form{
    display:grid;
    grid-template-columns:minmax(220px,2fr) 100px minmax(180px,1fr) auto;
    gap:10px;
    align-items:end;
}
.danger-zone{
    border:1px solid #fecaca;
    background:#fff7f7;
}
@media(max-width:850px){
    .order-general-form,
    .editable-item-form,
    .add-product-order-form{
        grid-template-columns:1fr;
    }
    .order-general-form .full-row,
    .editable-item-form .full-row{
        grid-column:auto;
    }
    .add-extra-form{
        flex-direction:column;
    }
}

.waiter-order-group{
    margin-top:10px;
    padding:9px 10px;
    background:#f8fafc;
    border-radius:10px;
}
.waiter-order-group h3{
    margin:0 0 7px;
    font-size:.95rem;
}
.waiter-order-total{
    white-space:nowrap;
    font-size:1.1rem;
}
.waiter-order-state{
    margin:10px 0;
}
.delivered-button{
    width:100%;
    min-height:54px;
    font-size:1.08rem;
    background:#16a34a;
}
.delivered-button:disabled{
    background:#94a3b8;
    cursor:not-allowed;
    opacity:.85;
}

/* =========================================================
   COCINA — máxima densidad y legibilidad
   ========================================================= */
body:has(#orders){
    background:#eef2f7;
}
body:has(#orders) main{
    max-width:none;
    padding:6px;
}
body:has(#orders) header{
    padding:8px 10px;
}
body:has(#orders) header strong{
    font-size:1rem;
}
body:has(#orders) header small{
    font-size:.72rem;
}
body:has(#orders) header nav{
    gap:6px;
}
body:has(#orders) header nav a,
body:has(#orders) header nav button{
    padding:7px 9px;
    font-size:.8rem;
}
body:has(#orders) .kitchen-summary-bar{
    margin-bottom:5px;
}
body:has(#orders) .kitchen-grid{
    grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
    gap:6px;
}
body:has(#orders) .compact-order-card{
    padding:0;
    overflow:hidden;
    border-radius:10px;
    border-top:0;
    box-shadow:0 2px 8px #0f172a18;
}
.kitchen-order-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    background:#111827;
    color:white;
    padding:8px 10px;
}
.kitchen-order-name{
    font-size:1.25rem;
    line-height:1.05;
    font-weight:900;
    overflow-wrap:anywhere;
}
.kitchen-order-meta{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:2px;
    flex:0 0 auto;
    font-size:.72rem;
    color:#cbd5e1;
    font-weight:700;
}
.kitchen-products{
    display:grid;
    gap:0;
    background:white;
}
.kitchen-product-line{
    padding:10px 10px 9px;
    border-bottom:2px solid #e2e8f0;
}
.kitchen-product-line:last-child{
    border-bottom:0;
}
.kitchen-product-main{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:8px;
    align-items:start;
}
.kitchen-qty{
    min-width:44px;
    color:#dc2626;
    font-size:1.7rem;
    line-height:1;
    font-weight:1000;
}
.kitchen-product-name{
    color:#111827;
    font-size:1.45rem;
    line-height:1.06;
    font-weight:950;
    letter-spacing:-.02em;
    overflow-wrap:anywhere;
}
.kitchen-product-extra{
    margin:5px 0 0 52px;
    color:#1d4ed8;
    font-size:1rem;
    line-height:1.15;
    font-weight:850;
}
.kitchen-product-note{
    margin:5px 0 0 52px;
    color:#9a3412;
    background:#fff7ed;
    border-radius:6px;
    padding:5px 7px;
    font-size:.95rem;
    line-height:1.15;
    font-weight:800;
}
.kitchen-order-note{
    margin:0;
    padding:8px 10px;
    background:#fef3c7;
    color:#92400e;
    font-size:.95rem;
    font-weight:800;
}
body:has(#orders) .ready-only-button{
    border-radius:0;
    margin:0;
    min-height:52px;
    font-size:1.25rem;
}
@media(max-width:700px){
    body:has(#orders) main{
        padding:4px;
    }
    body:has(#orders) .kitchen-grid{
        grid-template-columns:1fr;
        gap:5px;
    }
    .kitchen-order-title{
        padding:7px 9px;
    }
    .kitchen-order-name{
        font-size:1.3rem;
    }
    .kitchen-product-line{
        padding:9px 9px 8px;
    }
    .kitchen-qty{
        min-width:42px;
        font-size:1.75rem;
    }
    .kitchen-product-name{
        font-size:1.5rem;
    }
}

/* =========================================================
   BARRA — separación clara entre nombre, contenido y acción
   ========================================================= */
.optimized-waiter-order{
    padding:0;
    overflow:hidden;
    border-radius:14px;
    border:1px solid #cbd5e1;
    box-shadow:0 3px 12px #0f172a14;
}
.waiter-order-title-block{
    background:#111827;
    color:white;
    padding:11px 12px 9px;
}
.waiter-order-reference{
    font-size:1.3rem;
    line-height:1.05;
    font-weight:950;
    overflow-wrap:anywhere;
}
.waiter-order-meta-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-top:5px;
    color:#cbd5e1;
    font-size:.82rem;
}
.waiter-order-meta-row strong{
    color:white;
    font-size:1rem;
}
.waiter-order-body{
    padding:10px;
    background:#f8fafc;
}
.waiter-order-body .waiter-order-group{
    margin:0 0 8px;
    padding:9px 10px;
    background:white;
    border:1px solid #e2e8f0;
}
.waiter-order-body .waiter-order-group:last-child{
    margin-bottom:0;
}
.waiter-order-body .waiter-order-group h3{
    padding-bottom:6px;
    margin-bottom:7px;
    border-bottom:1px solid #e2e8f0;
    font-size:1rem;
}
.waiter-order-body .waiter-order-item{
    padding:5px 0;
    border-bottom:1px dashed #e2e8f0;
    font-size:1rem;
}
.waiter-order-body .waiter-order-item:last-child{
    border-bottom:0;
}
.waiter-order-footer{
    padding:9px 10px 10px;
    background:white;
    border-top:1px solid #e2e8f0;
}
.waiter-order-state{
    margin:0 0 8px;
}
.full-state{
    display:block;
    width:100%;
    text-align:center;
}
.delivered-button{
    min-height:56px;
    font-size:1.15rem;
}
@media(max-width:850px){
    .waiter-layout{
        gap:10px;
        padding:10px;
    }
    .optimized-waiter-order{
        margin-bottom:8px;
    }
    .waiter-order-title-block{
        padding:10px;
    }
    .waiter-order-reference{
        font-size:1.25rem;
    }
    .waiter-order-body{
        padding:8px;
    }
    .waiter-order-body .waiter-order-group{
        padding:8px;
    }
}

.selector-options{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.selector-option-button{
    min-height:70px;
    background:#f8fafc;
    color:#111827;
    border:2px solid #cbd5e1;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:4px;
}
.selector-option-button strong{
    font-size:1.05rem;
}
.selector-option-button span{
    color:#2563eb;
}
.selector-choice{
    color:#7c3aed !important;
    font-weight:800;
}
.kitchen-selector-choice{
    margin:5px 0 0 52px;
    color:#7c3aed;
    font-size:1.05rem;
    line-height:1.15;
    font-weight:900;
}
.selector-admin-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:16px;
}
.selector-inner-panel{
    box-shadow:none;
    border:1px solid #e2e8f0;
}
.selector-edit-row{
    background:#f8fafc;
}
.selector-form{
    grid-template-columns:minmax(180px,1fr) 180px auto;
}
.selector-options-admin{
    padding:0 0 12px 20px;
    display:grid;
    gap:7px;
}
.selector-option-admin-row{
    display:flex;
    gap:8px;
}
.option-form{
    flex:1;
    grid-template-columns:minmax(180px,1fr) 120px auto;
}
.detail-selector,
.editable-selector-choice{
    margin-top:5px;
    color:#7c3aed;
    font-weight:800;
}
@media(max-width:850px){
    .selector-options{
        grid-template-columns:1fr;
    }
    .selector-admin-grid{
        grid-template-columns:1fr;
    }
    .selector-form,
    .option-form{
        grid-template-columns:1fr;
    }
    .selector-option-admin-row{
        flex-direction:column;
    }
}

/* Administración visual y separada */
.admin-visual{
    max-width:1500px;
    margin:auto;
    padding:18px;
}
.admin-dashboard,
.admin-section{
    scroll-margin-top:78px;
}
.admin-dashboard{
    margin-bottom:24px;
}
.admin-dashboard h1{
    margin-bottom:4px;
}
.admin-shortcuts{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:12px;
    margin-top:18px;
}
.admin-shortcut{
    background:white;
    border:1px solid #e2e8f0;
    border-radius:14px;
    padding:16px;
    display:grid;
    gap:5px;
    text-decoration:none;
    color:#111827;
    box-shadow:0 3px 12px #0f172a10;
}
.admin-shortcut:hover{
    transform:translateY(-2px);
    box-shadow:0 6px 18px #0f172a18;
}
.admin-shortcut>span{
    font-size:1.8rem;
}
.admin-shortcut small{
    color:#64748b;
}
.admin-section{
    background:white;
    border-radius:18px;
    padding:18px;
    margin-bottom:20px;
    box-shadow:0 4px 18px #0f172a10;
}
.admin-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:14px;
    padding-bottom:14px;
    border-bottom:1px solid #e2e8f0;
    margin-bottom:16px;
}
.admin-section-head>div{
    display:grid;
    grid-template-columns:auto 1fr;
    column-gap:10px;
}
.admin-section-head h2{
    margin:0;
}
.admin-section-head p{
    grid-column:2;
    margin:4px 0 0;
    color:#64748b;
}
.admin-section-icon{
    grid-row:1/3;
    font-size:1.8rem;
}
.admin-count-badge{
    background:#e2e8f0;
    color:#334155;
    border-radius:999px;
    padding:7px 10px;
    font-size:.82rem;
    font-weight:800;
    white-space:nowrap;
}
.admin-two-columns{
    display:grid;
    grid-template-columns:1fr 1.5fr;
    gap:14px;
}
.admin-card{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:14px;
    padding:14px;
    box-shadow:none;
}
.admin-card h3{
    margin-top:0;
}
.visual-edit-list{
    display:grid;
    gap:8px;
}
.visual-edit-row{
    display:flex;
    gap:8px;
    align-items:center;
    background:white;
    border:1px solid #e2e8f0;
    border-radius:10px;
    padding:8px;
}
.visual-inline-form{
    flex:1;
    display:grid;
    grid-template-columns:minmax(160px,1fr) 90px auto;
    gap:8px;
}
.admin-create-panel{
    border:1px solid #cbd5e1;
    border-radius:12px;
    margin-bottom:14px;
    overflow:hidden;
}
.admin-create-panel summary{
    cursor:pointer;
    padding:12px 14px;
    font-weight:800;
    background:#f8fafc;
}
.visual-product-create{
    padding:14px;
}
.product-admin-cards{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:12px;
}
.product-admin-card{
    border:1px solid #dbe2ea;
    border-radius:14px;
    background:#f8fafc;
    overflow:hidden;
}
.product-admin-card-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
    padding:12px 14px;
    background:white;
    border-bottom:1px solid #e2e8f0;
}
.product-admin-card-head strong{
    font-size:1.08rem;
}
.product-admin-card-head small{
    display:block;
    color:#64748b;
    margin-top:3px;
}
.product-price-pill{
    background:#dcfce7;
    color:#166534;
    border-radius:999px;
    padding:6px 9px;
    font-weight:900;
    white-space:nowrap;
}
.product-profit-summary{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
    padding:10px 12px;
    font-size:.82rem;
}
.product-profit-summary span{
    background:white;
    border-radius:8px;
    padding:7px;
    text-align:center;
    border:1px solid #e2e8f0;
}
.product-edit-details{
    border-top:1px solid #e2e8f0;
}
.product-edit-details summary{
    cursor:pointer;
    padding:10px 12px;
    font-weight:800;
    color:#2563eb;
}
.visual-product-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:12px;
}
.visual-product-form fieldset,
.visual-product-form>button{
    grid-column:1/-1;
}
.delete-product-form{
    padding:0 12px 12px;
}
.selector-visual-list{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
    gap:12px;
    margin-top:16px;
}
.selector-visual-card{
    border:1px solid #dbe2ea;
    border-radius:14px;
    overflow:hidden;
    background:#f8fafc;
}
.selector-visual-head{
    padding:12px 14px;
    background:white;
    border-bottom:1px solid #e2e8f0;
}
.selector-visual-head strong{
    font-size:1.08rem;
}
.selector-visual-head small{
    display:block;
    color:#64748b;
    margin-top:3px;
}
.visual-selector-form{
    display:grid;
    grid-template-columns:minmax(160px,1fr) 150px auto;
    gap:8px;
    padding:12px;
}
.selector-option-chips{
    display:grid;
    gap:8px;
    padding:0 12px 12px;
}
.selector-option-chip{
    display:flex;
    gap:8px;
    background:white;
    border:1px solid #e2e8f0;
    border-radius:10px;
    padding:8px;
}
.visual-option-form{
    flex:1;
    display:grid;
    grid-template-columns:minmax(140px,1fr) 100px auto;
    gap:8px;
}
.delete-selector-form{
    padding:0 12px 12px;
}
@media(max-width:1100px){
    .admin-shortcuts{
        grid-template-columns:repeat(3,1fr);
    }
}
@media(max-width:850px){
    .admin-visual{
        padding:10px;
    }
    .admin-shortcuts{
        grid-template-columns:repeat(2,1fr);
    }
    .admin-two-columns{
        grid-template-columns:1fr;
    }
    .visual-inline-form,
    .visual-selector-form,
    .visual-option-form,
    .visual-product-form{
        grid-template-columns:1fr;
    }
    .visual-product-form fieldset,
    .visual-product-form>button{
        grid-column:auto;
    }
    .product-admin-cards,
    .selector-visual-list{
        grid-template-columns:1fr;
    }
    .product-profit-summary{
        grid-template-columns:1fr;
    }
    .visual-edit-row,
    .selector-option-chip{
        flex-direction:column;
        align-items:stretch;
    }
}

/* Complementos separados por tipo */
.scope-legend{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:10px;
}
.scope-legend span{
    padding:6px 9px;
    border-radius:999px;
    font-size:.8rem;
    font-weight:800;
}
.scope-food{
    background:#dcfce7;
    color:#166534;
}
.scope-drink{
    background:#dbeafe;
    color:#1d4ed8;
}
.scope-all{
    background:#ede9fe;
    color:#6d28d9;
}
.extra-scope-row{
    border-left:5px solid transparent;
}
.extra-scope-row.scope-food{
    border-left-color:#22c55e;
}
.extra-scope-row.scope-drink{
    border-left-color:#3b82f6;
}
.extra-scope-row.scope-all{
    border-left-color:#8b5cf6;
}
.extra-scope-form{
    grid-template-columns:minmax(150px,1fr) 100px 145px auto;
}
.extra-check[hidden]{
    display:none !important;
}
@media(max-width:850px){
    .extra-scope-form{
        grid-template-columns:1fr;
    }
}

/* Ordenación por arrastrar y posición */
.drag-handle{
    cursor:grab;
    user-select:none;
    font-size:1.25rem;
    color:#64748b;
    padding:4px 6px;
    flex:0 0 auto;
}
.drag-handle:active{
    cursor:grabbing;
}
.sortable-item.dragging{
    opacity:.45;
    outline:2px dashed #2563eb;
}
.sortable-list{
    position:relative;
}
.sort-saved-toast{
    position:fixed;
    left:50%;
    bottom:24px;
    transform:translateX(-50%);
    background:#111827;
    color:white;
    padding:10px 16px;
    border-radius:10px;
    z-index:100;
    box-shadow:0 6px 24px #0004;
}
.product-admin-card-head{
    align-items:center;
}
.selector-visual-head{
    display:flex;
    align-items:center;
    gap:8px;
}
.visual-edit-row{
    align-items:center;
}
.extra-scope-form{
    grid-template-columns:minmax(150px,1fr) 100px 145px 90px auto;
}
.visual-selector-form{
    grid-template-columns:minmax(160px,1fr) 90px 150px auto;
}
.visual-option-form{
    grid-template-columns:minmax(140px,1fr) 100px 90px auto;
}
@media(max-width:850px){
    .drag-handle{
        display:none;
    }
    .extra-scope-form,
    .visual-selector-form,
    .visual-option-form{
        grid-template-columns:1fr;
    }
}

.selector-multi-option{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:10px;
    min-height:58px;
    background:#f8fafc;
    color:#111827;
    border:2px solid #cbd5e1;
    border-radius:10px;
    padding:10px 12px;
    cursor:pointer;
}
.selector-multi-option input{
    width:auto;
    transform:scale(1.25);
}
.selector-multi-option:has(input:checked){
    background:#ede9fe;
    border-color:#7c3aed;
}
.selector-multi-option span{
    color:#2563eb;
    font-weight:800;
}
.detail-selector{
    display:grid;
    gap:2px;
}

#selectorConfirmWrap.hidden{
    display:none !important;
}

/* Sistema unificado: solo opciones de producto */
.extra-check,
.extra-option,
#extraModal{
    display:none !important;
}
.detail-legacy-options{
    display:grid;
    gap:2px;
    margin-top:5px;
    color:#64748b;
    font-size:.85rem;
}

/* Administración sin recargas */
.admin-ajax-toast{
    position:fixed;
    left:50%;
    bottom:24px;
    z-index:200;
    transform:translate(-50%, 20px);
    opacity:0;
    background:#111827;
    color:white;
    padding:11px 17px;
    border-radius:11px;
    font-weight:800;
    box-shadow:0 10px 30px #0004;
    transition:opacity .2s ease, transform .2s ease;
}
.admin-ajax-toast.visible{
    transform:translate(-50%, 0);
    opacity:1;
}
.admin-ajax-toast.error{
    background:#b91c1c;
}
.ajax-saved-highlight{
    animation:ajaxSavedHighlight 1.8s ease;
}
@keyframes ajaxSavedHighlight{
    0%, 35%{
        box-shadow:0 0 0 4px #22c55e55, 0 6px 20px #22c55e25;
        background:#f0fdf4;
    }
    100%{
        box-shadow:inherit;
    }
}
form button:disabled{
    opacity:.65;
    cursor:wait;
}

.required-state{
    color:#b45309;
    font-weight:800;
}
.optional-state{
    color:#166534;
    font-weight:800;
}

.delete-selector-option-form{
    flex:0 0 auto;
    display:flex;
    align-items:stretch;
}
.delete-option-button{
    white-space:nowrap;
    min-height:42px;
}
@media(max-width:850px){
    .delete-selector-option-form{
        width:100%;
    }
    .delete-option-button{
        width:100%;
    }
}

.visual-selector-form label{
    display:grid;
    gap:5px;
}
.visual-selector-form select[name="required"]{
    min-width:125px;
}
.delete-selector-option-form{
    display:flex;
    align-items:stretch;
}
.delete-selector-option-form .danger{
    min-height:42px;
    white-space:nowrap;
}
@media(max-width:850px){
    .delete-selector-option-form,
    .delete-selector-option-form .danger{
        width:100%;
    }
}

.required-direct-control{
    display:grid;
    gap:5px;
}
.required-direct-control>span{
    font-size:.85rem;
    font-weight:700;
}
.required-toggle-buttons{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px;
}
.required-toggle{
    background:#e2e8f0;
    color:#334155;
    padding:9px 10px;
}
.required-toggle.active{
    background:#2563eb;
    color:white;
}
.delete-option-direct{
    min-height:42px;
    white-space:nowrap;
    flex:0 0 auto;
}
@media(max-width:850px){
    .delete-option-direct{
        width:100%;
    }
}
