.admin-shell{background:var(--bg);grid-template-columns:240px 1fr;min-height:100vh;display:grid}.admin-sidebar{background:var(--bg-deep);border-right:1px solid var(--line-soft);flex-direction:column;height:100vh;padding:32px 0;display:flex;position:sticky;top:0}.admin-brand{border-bottom:1px solid var(--line-soft);margin-bottom:16px;padding:0 24px 28px}.admin-brand .brand-name{font-size:18px}.admin-pill{letter-spacing:.3em;text-transform:uppercase;background:var(--green);color:#fff;border-radius:999px;margin-top:8px;padding:3px 8px;font-size:9px;display:inline-block}.admin-nav{flex-direction:column;flex:1;gap:2px;padding:8px 12px;display:flex}.admin-nav-link{letter-spacing:.04em;color:var(--ink-soft);border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;transition:background .2s,color .2s;display:flex}.admin-nav-link:hover{background:var(--bg-raise);color:var(--ink)}.admin-nav-link.active{background:var(--bg-raise);color:var(--green-bright)}.admin-nav-icon{opacity:.7;width:16px;height:16px}.admin-sidebar-foot{border-top:1px solid var(--line-soft);flex-direction:column;gap:10px;padding:16px 24px 0;display:flex}.admin-sidebar-foot a{color:var(--muted);letter-spacing:.04em;font-size:12px;transition:color .2s}.admin-sidebar-foot a:hover{color:var(--green-bright)}.admin-logout{color:var(--faint);letter-spacing:.04em;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;transition:color .2s}.admin-logout:hover{color:#e05}.admin-main{min-height:100vh;overflow:auto}.admin-topbar{border-bottom:1px solid var(--line-soft);z-index:10;background:var(--bg);justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.admin-topbar-title{font-family:var(--serif);font-size:22px}.admin-content{padding:32px}.admin-card{background:var(--bg-panel);border:1px solid var(--line-soft);border-radius:8px;overflow:hidden}.admin-card-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:14px;padding:18px 22px;transition:background .2s;display:flex}.admin-card-head:hover{background:var(--bg-raise)}.admin-card-body{border-top:1px solid var(--line-soft);padding:0 22px 22px}.admin-cat-name{font-family:var(--serif);flex:1;font-size:24px}.admin-badge{letter-spacing:.22em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:4px 10px;font-size:10px}.admin-badge-active{color:var(--green-bright);border-color:var(--green-bright);background:#6fb37714}.admin-badge-inactive{color:var(--faint);border-color:var(--faint)}.admin-badge-new{color:#fff;background:var(--green);border-color:var(--green)}.admin-group{margin-top:20px}.admin-group-label{letter-spacing:.3em;text-transform:uppercase;color:var(--green-bright);margin-bottom:8px;font-size:10px}.admin-item{border-bottom:1px solid var(--line-soft);grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;padding:10px 0;display:grid}.admin-item:last-child{border-bottom:none}.admin-item-name{color:var(--ink);font-size:14px}.admin-item-meta{color:var(--muted);font-size:12px}.admin-item-price{font-family:var(--serif);color:var(--ink-soft);white-space:nowrap;font-size:18px}.admin-specials-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;display:grid}.admin-special-card{background:var(--bg-panel);border:1px solid var(--line-soft);border-radius:8px;overflow:hidden}.admin-special-card.is-active{border-color:var(--green)}.admin-special-img{object-fit:cover;width:100%;height:180px}.admin-special-body{padding:18px}.admin-special-tag{letter-spacing:.28em;text-transform:uppercase;color:var(--green-bright);margin-bottom:8px;font-size:10px}.admin-special-title{font-family:var(--serif);margin-bottom:8px;font-size:22px}.admin-special-desc{color:var(--muted);margin-bottom:14px;font-size:13px;line-height:1.5}.admin-special-price{font-family:var(--serif);color:var(--green-soft);font-size:26px}.admin-special-was{color:var(--faint);margin-left:8px;font-size:14px;text-decoration:line-through}.admin-special-foot{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;display:flex}.admin-form{flex-direction:column;gap:14px;display:flex}.admin-row-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.admin-row-3{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.admin-field{flex-direction:column;gap:6px;display:flex}.admin-label{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-size:10px}.admin-input,.admin-select,.admin-textarea{background:var(--bg-raise);border:1px solid var(--line);color:var(--ink);font-family:var(--sans);border-radius:5px;padding:10px 13px;font-size:14px;font-weight:300;transition:border-color .2s}.admin-input:focus,.admin-select:focus,.admin-textarea:focus{border-color:var(--green-bright);outline:none}.admin-textarea{resize:vertical;min-height:80px}.admin-checkbox-row{color:var(--ink-soft);align-items:center;gap:8px;font-size:13px;display:flex}.admin-checkbox-row input{accent-color:var(--green);width:15px;height:15px}.admin-panel{background:var(--bg-raise);border:1px solid var(--line);border-radius:6px;margin-top:12px;padding:18px}.admin-panel-title{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-size:11px}.btn-sm{padding:7px 14px;font-size:11px}.btn-xs{letter-spacing:.18em;padding:5px 10px;font-size:10px}.admin-login{background:var(--bg-deep);place-items:center;min-height:100vh;display:grid}.admin-login-box{background:var(--bg-panel);border:1px solid var(--line-soft);border-radius:10px;width:100%;max-width:380px;padding:48px 40px}input[type=radio]:checked+.tone-swatch{outline:2px solid var(--green);border-color:var(--bg)!important}.tone-swatch:hover{outline:2px solid var(--line-soft)}.admin-empty{color:var(--faint);text-align:center;padding:20px 0;font-size:13px}.admin-divider{background:var(--line-soft);height:1px;margin:20px 0}.admin-error{color:#e05;margin-top:4px;font-size:13px}.admin-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}@media (max-width:760px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.admin-content{padding:20px 16px}.admin-row-2,.admin-row-3{grid-template-columns:1fr}.admin-item{grid-template-columns:1fr auto}}
