.admin-body{background-color:#f7f5f0;min-height:100vh}.admin-container{max-width:960px;margin:0 auto;padding:1.5rem 1rem 4rem}.auth-wrapper{justify-content:center;align-items:center;min-height:80vh;padding:1rem;display:flex}.auth-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-cream-border);text-align:center;background:#fff;width:100%;max-width:400px;padding:2.5rem 2rem}.auth-icon{background:var(--color-forest-soft);width:64px;height:64px;color:var(--color-forest);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.25rem;display:flex}.auth-card h2{color:var(--color-forest-dark);margin-bottom:.5rem;font-size:1.65rem}.auth-card p{color:var(--color-text-muted);margin-bottom:1.75rem;font-size:.9rem}.pin-input-group{margin-bottom:1.5rem}.pin-input{letter-spacing:.5em;text-align:center;border:2px solid var(--color-cream-border);border-radius:var(--radius-md);width:100%;color:var(--color-forest-dark);outline:none;padding:.85rem;font-size:2rem;font-weight:700;transition:border-color .2s}.pin-input:focus{border-color:var(--color-forest)}.auth-remember{color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.85rem;display:flex}.admin-header{border-bottom:1px solid var(--color-cream-border);z-index:30;box-shadow:var(--shadow-sm);background:#fff;padding:1rem 0;position:sticky;top:0}.admin-header-inner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-brand{align-items:center;gap:.75rem;display:flex}.admin-badge{background:var(--color-forest);color:#fff;border-radius:var(--radius-full);padding:.25rem .65rem;font-size:.72rem;font-weight:700}.admin-nav{border-radius:var(--radius-lg);border:1px solid var(--color-cream-border);background:#fff;gap:.5rem;margin:1.5rem 0 2rem;padding:.4rem;display:flex;overflow-x:auto}.admin-nav-btn{border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.6rem;padding:.85rem 1rem;font-size:.92rem;font-weight:700;transition:all .2s;display:flex}.admin-nav-btn.active{background:var(--color-forest);color:#fff;box-shadow:var(--shadow-sm)}.admin-nav-btn:hover:not(.active){background:var(--color-cream-card);color:var(--color-forest-dark)}.admin-day-strip{-webkit-overflow-scrolling:touch;gap:.6rem;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.admin-day-card{border:2px solid var(--color-cream-border);border-radius:var(--radius-md);text-align:center;cursor:pointer;background:#fff;flex:0 0 135px;padding:.85rem .6rem;transition:all .2s;position:relative}.admin-day-card.active{border-color:var(--color-forest);background:var(--color-forest-soft)}.admin-day-card .day-name{color:var(--color-forest-dark);font-size:.95rem;font-weight:800}.admin-day-card .day-date{color:var(--color-text-muted);margin-top:.2rem;font-size:.75rem}.admin-day-card .day-items-count{border-radius:var(--radius-full);color:var(--color-text-muted);background:#0000000f;margin-top:.45rem;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.admin-day-card.active .day-items-count{background:var(--color-forest);color:#fff}.admin-day-card.is-closed{background:#fff9f6;border-style:dashed;border-color:#e5a587}.admin-day-card.is-closed .day-items-count{color:#c25f38;background:#fbe5db;font-weight:700}.admin-day-card.active.is-closed{background:#fdf2ec;border-color:#c25f38}.admin-day-status-banner{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.35rem;transition:all .2s;display:flex}.admin-day-status-banner.open{background:#f0f7f3;border:1.5px solid #c7e3d2}.admin-day-status-banner.closed{background:#fef5f0;border:1.5px solid #f5cfbd}.status-banner-content{align-items:center;gap:.85rem;display:flex}.status-banner-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.status-banner-icon.open{color:#1f7a4d;background:#d4ebd9}.status-banner-icon.closed{color:#c25f38;background:#fae0d3}.status-banner-text h4{margin-bottom:.15rem;font-size:.98rem;font-weight:800}.status-banner-text.open h4{color:#174b2f}.status-banner-text.closed h4{color:#923816}.status-banner-text p{color:var(--color-text-muted);font-size:.82rem}.reason-chip-group{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.reason-chip{border-radius:var(--radius-full);border:1px solid var(--color-cream-border);background:var(--color-cream);cursor:pointer;padding:.35rem .8rem;font-size:.82rem;font-weight:600;transition:all .15s}.reason-chip:hover,.reason-chip.selected{background:var(--color-terracotta);color:#fff;border-color:var(--color-terracotta)}.admin-actions-bar{border-radius:var(--radius-lg);border:1px solid var(--color-cream-border);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1.15rem 1.4rem;display:flex}.admin-actions-group{flex-wrap:wrap;gap:.6rem;display:flex}.admin-dish-list{flex-direction:column;gap:.9rem;display:flex}.admin-dish-card{border:1px solid var(--color-cream-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.15rem 1.35rem;transition:all .2s;display:flex}.admin-dish-card.sold-out{background:#fdf5f5;border-color:#f1cfcf}.admin-dish-info{flex:1;align-items:center;gap:1rem;display:flex}.admin-dish-thumb{border-radius:var(--radius-md);object-fit:cover;background:var(--color-cream-card);border:1px solid var(--color-cream-border);flex-shrink:0;width:60px;height:60px}.admin-dish-details h4{color:var(--color-forest-dark);font-size:1.05rem;font-family:var(--font-sans);margin-bottom:.2rem;font-weight:700}.admin-dish-details p{color:var(--color-text-muted);max-width:450px;font-size:.82rem;line-height:1.4}.admin-dish-meta{align-items:center;gap:.6rem;margin-top:.35rem;display:flex}.admin-dish-price{color:var(--color-terracotta);font-size:1.05rem;font-weight:800}.admin-dish-category{background:var(--color-forest-soft);color:var(--color-forest);border-radius:var(--radius-full);padding:.2rem .55rem;font-size:.72rem;font-weight:600}.admin-dish-controls{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.sold-out-toggle{border-radius:var(--radius-full);cursor:pointer;border:none;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.85rem;font-weight:700;transition:all .2s;display:inline-flex}.sold-out-toggle.available{background:var(--color-green-badge-bg);color:var(--color-green-badge);border:1px solid #1f7a4d40}.sold-out-toggle.available:hover{background:#d4eedd}.sold-out-toggle.sold{background:var(--color-red-sold-bg);color:var(--color-red-sold);border:1px solid #9e2a2b40}.sold-out-toggle.sold:hover{background:#f7dada}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0b1510a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-xl);width:100%;max-width:680px;max-height:85vh;box-shadow:var(--shadow-lg);border:1px solid var(--color-cream-border);background:#fff;flex-direction:column;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--color-cream-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h3{color:var(--color-forest-dark);font-size:1.25rem}.modal-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.35rem;display:flex}.modal-body{flex:1;padding:1.5rem;overflow-y:auto}.template-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.template-card{border:1px solid var(--color-cream-border);border-radius:var(--radius-md);cursor:pointer;background:#fff;align-items:flex-start;gap:.85rem;padding:.95rem;transition:all .2s;display:flex;position:relative}.template-card:hover{border-color:var(--color-forest);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.template-card.already-added{background:var(--color-forest-soft);border-color:var(--color-forest)}.template-thumb{border-radius:var(--radius-sm);object-fit:cover;background:var(--color-cream-card);flex-shrink:0;width:50px;height:50px}.template-info{flex:1}.template-info h5{color:var(--color-forest-dark);font-size:.92rem;font-family:var(--font-sans);margin-bottom:.2rem;font-weight:700}.template-info p{color:var(--color-text-muted);margin-bottom:.35rem;font-size:.78rem;line-height:1.35}.template-bottom{justify-content:space-between;align-items:center;display:flex}.template-price{color:var(--color-terracotta);font-size:.9rem;font-weight:800}.form-group{margin-bottom:1.25rem}.form-label{color:var(--color-forest-dark);margin-bottom:.4rem;font-size:.86rem;font-weight:700;display:block}.form-input,.form-select,.form-textarea{border:1.5px solid var(--color-cream-border);border-radius:var(--radius-md);width:100%;color:var(--color-text-main);background:#fff;outline:none;padding:.75rem .9rem;font-size:.92rem;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-forest)}.form-textarea{resize:vertical;min-height:85px}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.toast-notice{background:var(--color-forest-dark);color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);z-index:200;align-items:center;gap:.65rem;padding:.85rem 1.4rem;font-size:.9rem;font-weight:700;animation:.25s slide-up;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.admin-dish-card{flex-direction:column;align-items:flex-start}.admin-dish-controls{border-top:1px solid var(--color-cream-border);justify-content:space-between;width:100%;margin-top:.75rem;padding-top:.75rem}.admin-actions-bar{flex-direction:column;align-items:stretch}.admin-actions-group{justify-content:space-between}}
