/* Menu cards and gentle motion across the prototype. */
.admin-menu-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px;align-items:stretch}
.admin-menu-card{display:flex;flex-direction:column;min-width:0;min-height:204px;padding:13px;background:#fffefa;border:1px solid #e2dacc;box-shadow:0 2px 7px rgba(49,39,27,.025);transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease}
.admin-menu-card:hover{transform:translateY(-3px);border-color:#cdb9a3;box-shadow:0 12px 28px rgba(49,39,27,.09)}
.admin-menu-card-top{display:grid;grid-template-columns:90px minmax(0,1fr);gap:13px;flex:1}
.admin-menu-photo{display:grid;place-items:center;width:90px;height:90px;overflow:hidden;background:#eee7da;border:1px solid #e6ddce}
.admin-menu-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.admin-menu-card:hover .admin-menu-photo img{transform:scale(1.055)}
.admin-menu-photo-placeholder{display:grid;place-items:center;width:100%;height:100%;color:#b3a792;font:500 11px/1 Manrope,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.admin-menu-card-details{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.admin-menu-card .admin-dish-number{display:block;min-width:0;margin:0 0 3px;color:#a18a71;font:italic 600 15px/1 'Cormorant Garamond',Georgia,serif}
.admin-menu-card h3{margin:0 0 4px;color:#2b2c27;font:500 21px/1.08 'Cormorant Garamond',Georgia,serif;overflow-wrap:anywhere}
.admin-menu-card-details small{color:#9b9184;font-size:10px;line-height:1.25;overflow-wrap:anywhere}
.admin-menu-category{margin-top:8px;color:#77766e;font-size:10px;line-height:1.3}
.admin-menu-card .price{margin-top:auto;padding-top:7px;font-size:13px}
.admin-menu-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:13px;padding-top:11px;border-top:1px solid #eee7dc}
.admin-menu-card-footer .badge{font-size:10px;padding:5px 8px}
.admin-menu-card-footer .actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.admin-menu-card-footer .actions button{min-height:30px;padding:5px 7px;border-radius:4px;font-size:10px;white-space:nowrap}
.admin-menu-card-footer .actions button[data-action^="move"]{min-width:29px;padding:5px}

.top-nav a,.admin-side button,.waiter-categories button,.category-strip button,.primary,.secondary,.ghost,.small-link,.qty button,.add-button,.order-bar-button,.table-card,.order-record,.waiter-item{transition:background-color .24s ease,color .24s ease,border-color .24s ease,box-shadow .28s ease,transform .28s cubic-bezier(.2,.7,.2,1)}
.primary:not(:disabled):hover,.secondary:hover,.ghost:hover,.order-bar-button:hover{transform:translateY(-2px)}
.primary:not(:disabled):active,.secondary:active,.ghost:active,.order-bar-button:active,.add-button:active{transform:translateY(0) scale(.98)}
.table-card:hover,.order-record:hover,.waiter-item:hover{transform:translateY(-2px);border-color:#cdb9a3;box-shadow:0 10px 23px rgba(49,39,27,.07)}
.waiter-item:active{transform:scale(.99)}
.admin-side button:hover{transform:translateX(2px)}
.view-enter .hero,.view-enter .waiter-banner,.view-enter .admin-heading,.view-enter .admin-main-head{animation:soft-appear .42s cubic-bezier(.2,.7,.2,1) backwards}
.view-enter .admin-menu-card,.view-enter .product-card,.view-enter .waiter-item,.view-enter .order-record,.view-enter .table-card{animation:card-appear .48s cubic-bezier(.2,.7,.2,1) backwards}
.view-enter .admin-menu-card:nth-child(2),.view-enter .product-card:nth-child(2),.view-enter .waiter-item:nth-child(2),.view-enter .order-record:nth-child(2),.view-enter .table-card:nth-child(2){animation-delay:45ms}
.view-enter .admin-menu-card:nth-child(3),.view-enter .product-card:nth-child(3),.view-enter .waiter-item:nth-child(3),.view-enter .order-record:nth-child(3),.view-enter .table-card:nth-child(3){animation-delay:90ms}
.view-enter .admin-menu-card:nth-child(4),.view-enter .product-card:nth-child(4),.view-enter .waiter-item:nth-child(4),.view-enter .order-record:nth-child(4),.view-enter .table-card:nth-child(4){animation-delay:135ms}
.view-enter .admin-menu-card:nth-child(5),.view-enter .product-card:nth-child(5),.view-enter .waiter-item:nth-child(5),.view-enter .order-record:nth-child(5),.view-enter .table-card:nth-child(5){animation-delay:180ms}
.view-enter .admin-menu-card:nth-child(6),.view-enter .product-card:nth-child(6),.view-enter .waiter-item:nth-child(6),.view-enter .order-record:nth-child(6),.view-enter .table-card:nth-child(6){animation-delay:225ms}
.modal-backdrop,.cart-overlay{animation:overlay-appear .25s ease-out both}
.modal{animation:dialog-appear .35s cubic-bezier(.2,.7,.2,1) both}
.cart-drawer{animation:drawer-appear .36s cubic-bezier(.2,.7,.2,1) both}
@keyframes soft-appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes card-appear{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes overlay-appear{from{opacity:0}to{opacity:1}}
@keyframes dialog-appear{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes drawer-appear{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:800px){.admin-menu-list{gap:10px}}
@media(max-width:540px){.admin-menu-card{min-height:183px}.admin-menu-card-top{grid-template-columns:78px minmax(0,1fr);gap:11px}.admin-menu-photo{width:78px;height:78px}.admin-menu-card h3{font-size:19px}.admin-menu-card-footer{margin-top:9px;padding-top:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
