:root{
--bg:#f6f8fc;--panel:#ffffff;--panel2:#f9faff;--line:#e6eaf2;
--text:#182033;--muted:#748096;--primary:#635bff;--primary2:#857dff;
--green:#159a68;--orange:#d98316;--red:#d94b59;--shadow:0 8px 30px rgba(28,38,68,.07)
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}button,input,select{font:inherit}
.wrap{max-width:1240px;margin:auto;padding:26px}
.top{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}
.brand{display:flex;align-items:center;gap:11px;font-size:25px;font-weight:850;letter-spacing:-.6px}
.brandmark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#6257ff,#8d78ff);display:grid;place-items:center;box-shadow:0 7px 18px rgba(99,91,255,.22)}
.brandmark svg{width:25px;height:25px}.brand b{color:var(--primary)}
.nav{display:flex;gap:8px;flex-wrap:wrap}
.nav a,.btn{background:#fff;border:1px solid var(--line);color:#2c3447;padding:10px 13px;border-radius:10px;box-shadow:0 2px 6px rgba(30,40,65,.03)}
.nav a:hover,.btn:hover{border-color:#cfd4ff}.btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary2));border:0;color:#fff;box-shadow:0 8px 18px rgba(99,91,255,.2)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:19px;box-shadow:var(--shadow)}
.card h3{margin-top:0}.muted{color:var(--muted)}.big{font-size:28px;font-weight:800;margin:9px 0}
.success{color:var(--green)}.alert{padding:13px;border-radius:10px;background:#fff2f3;color:#a63e49;border:1px solid #ffd7db;margin-bottom:15px}
.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}.table th{color:var(--muted);font-size:12px}
input,select{width:100%;padding:12px;background:#fff;border:1px solid #dfe4ee;border-radius:10px;color:var(--text);margin:6px 0 14px;outline:none}
input:focus,select:focus{border-color:#8b84ff;box-shadow:0 0 0 3px rgba(99,91,255,.09)}
.form{max-width:470px;margin:60px auto}.actions{display:flex;gap:8px;flex-wrap:wrap}
.hero{padding:35px;border-radius:20px;background:linear-gradient(135deg,#fff,#f2f1ff);border:1px solid #e3e1ff;box-shadow:var(--shadow)}
.hero h1{font-size:42px;letter-spacing:-1.5px;margin:0 0 10px}.hero p{font-size:17px;color:var(--muted)}
.stat-icon{width:42px;height:42px;border-radius:12px;background:#f0efff;display:grid;place-items:center;color:var(--primary);font-weight:800}
@media(max-width:800px){.grid{grid-template-columns:1fr 1fr}.top{align-items:flex-start;flex-direction:column}.hero h1{font-size:32px}}
@media(max-width:500px){.grid{grid-template-columns:1fr}.wrap{padding:15px}.nav{width:100%}.nav a{flex:1;text-align:center}.hero h1{font-size:28px}}

.app-shell{display:flex;min-height:100vh}.sidebar{width:245px;background:#fff;border-right:1px solid var(--line);padding:22px 15px;position:fixed;left:0;top:0;bottom:0;display:flex;flex-direction:column;z-index:10}.side-brand{display:flex;align-items:center;gap:10px;font-size:22px;margin-bottom:22px}.side-brand span,.mobile-top span{color:var(--primary)}.brandmark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#6257ff,#8d78ff);display:grid;place-items:center}.brandmark svg{width:25px;height:25px}.restaurant-mini{padding:11px 12px;background:#f6f7fb;border:1px solid var(--line);border-radius:10px;font-size:13px;margin-bottom:15px;overflow:hidden;text-overflow:ellipsis}.side-nav{display:flex;flex-direction:column;gap:5px}.side-nav a{padding:11px 12px;border-radius:10px;color:#5c6679}.side-nav a:hover,.side-nav .pos-link{background:#f0efff;color:var(--primary);font-weight:700}.side-nav a span{margin-left:7px}.side-logout{margin-top:auto;padding:11px 12px;color:#c44955}.main-area{margin-left:245px;width:calc(100% - 245px);padding:28px;max-width:1600px}.mobile-top{display:none}.pos-layout{display:grid;grid-template-columns:1fr 360px;gap:18px}.pos-products{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.product-tile{cursor:pointer;transition:.15s}.product-tile:hover{transform:translateY(-2px);border-color:#bdb8ff}.product-price{font-weight:800;font-size:18px;color:var(--primary)}.cart{position:sticky;top:20px;height:max-content}.cart-row{display:flex;justify-content:space-between;gap:8px;padding:11px 0;border-bottom:1px solid var(--line)}.qty{display:flex;gap:5px;align-items:center}.qty button{border:1px solid var(--line);background:#fff;border-radius:7px;width:28px;height:28px}.total-line{display:flex;justify-content:space-between;font-size:20px;font-weight:800;margin:15px 0}.report-grid{display:grid;grid-template-columns:2fr 1fr;gap:15px}.bar{height:10px;background:#eeeef5;border-radius:8px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#635bff,#9b8cff);border-radius:8px}@media(max-width:1000px){.pos-layout{grid-template-columns:1fr}.pos-products{grid-template-columns:repeat(2,1fr)}.cart{position:static}.sidebar{width:210px}.main-area{margin-left:210px;width:calc(100% - 210px)}}@media(max-width:700px){.sidebar{display:none}.main-area{margin:0;width:100%;padding:15px}.mobile-top{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:15px}.pos-products{grid-template-columns:1fr 1fr}.report-grid{grid-template-columns:1fr}}

html{scroll-behavior:smooth}
body{transition:background-color .35s ease,color .35s ease}
a,.btn,.nav a,.side-nav a,.product-tile,.card,.stat-icon,input,select,button{transition:transform .22s cubic-bezier(.22,.61,.36,1),background-color .25s ease,border-color .25s ease,box-shadow .25s ease,color .25s ease,opacity .25s ease}
.side-nav a{position:relative;overflow:hidden;transform:translateX(0)}
.side-nav a::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:10px;background:var(--primary);transform:scaleY(0);transform-origin:center;transition:transform .25s cubic-bezier(.22,.61,.36,1)}
.side-nav a:hover{transform:translateX(4px);background:#f3f2ff;color:var(--primary);box-shadow:0 5px 16px rgba(99,91,255,.08)}
.side-nav a:hover::before{transform:scaleY(1)}
.side-nav a:active{transform:translateX(2px) scale(.99)}
.btn:hover,.nav a:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(28,38,68,.09)}
.btn:active,.nav a:active{transform:translateY(0) scale(.98)}
.card:hover{border-color:#d9d7f7}
.product-tile:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(36,45,76,.10);border-color:#c9c4ff}
input,select{transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease}
input:hover,select:hover{border-color:#c9cce0}
input:focus,select:focus{transform:translateY(-1px)}
.topbar,.hero{animation:softIn .45s ease both}
.card{animation:softIn .42s ease both}
@keyframes softIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.page-head,.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.page-head .head-copy,.topbar>div:first-child{min-width:0}
.page-head h1,.topbar h1{font-size:28px;letter-spacing:-.7px}
.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-left:auto}
.page-actions .btn{white-space:nowrap}
.topbar .btn{margin-left:auto;white-space:nowrap}
.section-card{margin-top:15px}
.pos-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.pos-toolbar .search-wrap{flex:1}
.pos-toolbar input{margin:0}
.pos-toolbar .btn{white-space:nowrap}
.dashboard-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}
.card .top{margin-bottom:0}
.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:10px}
@media(max-width:700px){
 .page-head,.topbar{align-items:flex-start;flex-direction:column}
 .page-actions,.dashboard-actions{width:100%;justify-content:flex-start;margin-left:0}
 .topbar .btn{margin-left:0}
 .pos-toolbar{align-items:stretch;flex-direction:column}
 .pos-toolbar .btn{width:100%}
}

.hidden{display:none!important}.simple-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.simple-head h1{font-size:32px;margin:3px 0}.simple-head p{margin:0;color:#788196}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px;color:#8b92a3}.table-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:14px}.table-card{text-decoration:none;color:inherit;min-height:155px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:20px;display:flex;flex-direction:column;justify-content:space-between;transition:.22s ease;box-shadow:0 2px 8px rgba(30,35,60,.03)}.table-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(30,35,60,.1)}.table-card.free{border-top:4px solid #45b978}.table-card.busy{border-top:4px solid #ff9a4b}.table-number{font-size:30px;font-weight:800}.table-label{font-size:13px;color:#737d90}.table-total{font-size:18px;font-weight:800}.simple-center{min-height:70vh;display:grid;place-items:center}.open-table-card{width:min(400px,100%);text-align:center;padding:30px}.table-circle{width:90px;height:90px;border-radius:50%;display:grid;place-items:center;background:#f0efff;color:var(--primary);font-size:30px;font-weight:800;margin:0 auto 15px}.open-table-card .btn{display:block;margin-top:10px}.big-table-total{font-size:32px;font-weight:850}.table-actions-big{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:16px}.big-action{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;color:#202637;display:flex;flex-direction:column;gap:7px;transition:.2s ease}.big-action:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(30,35,60,.09)}.big-action span{font-size:13px;color:#7b8496}.primary-action{background:#625bff;color:#fff;border-color:#625bff}.primary-action span{color:#e7e5ff}.simple-order{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.simple-order div{display:flex;flex-direction:column;gap:4px}.simple-order span{font-size:12px;color:#7d8798}.empty-state{display:flex;flex-direction:column;align-items:center;gap:7px;padding:40px;color:#707a8d}.back-link{display:inline-block;margin-top:15px;color:#6d7281;text-decoration:none}.category-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:10px;margin-bottom:10px}.cat{border:1px solid var(--line);background:#fff;padding:10px 16px;border-radius:999px;white-space:nowrap;cursor:pointer;transition:.2s}.cat.active,.cat:hover{background:#625bff;color:#fff;border-color:#625bff}.menu-simple-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-bottom:100px}.menu-item{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;text-align:left;display:flex;flex-direction:column;gap:15px;min-height:110px;cursor:pointer;transition:.2s}.menu-item:hover{transform:translateY(-3px);border-color:#bdb8ff;box-shadow:0 10px 24px rgba(30,35,60,.08)}.menu-item b{color:#625bff;font-size:17px}.bottom-order-bar{position:fixed;left:245px;right:0;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:12px 28px;display:flex;align-items:center;justify-content:space-between;z-index:20}.bottom-order-bar div{display:flex;gap:18px;align-items:center}.bottom-order-bar b{font-size:20px}@media(max-width:1100px){.table-grid{grid-template-columns:repeat(4,1fr)}.menu-simple-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.simple-head{align-items:flex-start;flex-direction:column}.table-grid{grid-template-columns:repeat(2,1fr)}.table-actions-big{grid-template-columns:1fr}.menu-simple-grid{grid-template-columns:repeat(2,1fr)}.bottom-order-bar{left:0;padding:10px 15px}.bottom-order-bar .btn{padding:10px 13px}.bottom-order-bar div{gap:8px;flex-direction:column;align-items:flex-start}.simple-head h1{font-size:27px}}

.table-price-form{border-top:1px solid var(--line);margin-top:14px;padding-top:10px;display:flex;gap:7px;align-items:center}.table-price-form input{margin:0;min-width:0}.table-price-form .btn{white-space:nowrap;padding:9px 10px}.receipt-summary{margin-top:18px;border-top:1px solid var(--line);padding-top:10px}.receipt-summary>div{display:flex;justify-content:space-between;padding:7px 0}.receipt-summary .grand{font-size:20px;border-top:1px solid var(--line);margin-top:5px;padding-top:12px}.simple-sidebar .main-action{background:#f3f2ff;color:var(--primary)}@media(max-width:700px){.table-grid{grid-template-columns:repeat(2,1fr)}.table-price-form{flex-direction:column;align-items:stretch}.table-price-form input{width:auto!important}.table-price-form .btn{width:100%}}

.product-form{display:grid;gap:12px}.product-form label{display:grid;gap:6px;font-size:13px;font-weight:700}.two-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.menu-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-product{padding:0;overflow:hidden}.admin-product img,.product-placeholder{width:100%;height:170px;object-fit:cover;background:#f3f4f8;display:grid;place-items:center;font-size:50px}.admin-product-body{padding:16px}.admin-product-body h3{margin:5px 0}.admin-product-body p{color:#788196;min-height:38px}.old-price{text-decoration:line-through;color:#9aa1ae}.sale-price{color:#625bff}.order-panel{border:1px solid var(--line);border-radius:14px;padding:12px;margin:10px 0}.order-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.order-controls form{display:flex;gap:7px;margin:0}.order-controls input{margin:0;width:180px}.btn.danger{border-color:#ffd2d2;color:#d04444;background:#fff5f5}.edit-row{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.edit-row div:first-child{display:flex;flex-direction:column;gap:5px}.edit-row span{font-size:12px;color:#7d8798}.qty-editor{display:flex;align-items:center;gap:5px}.qty-editor button{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:8px}.qty-editor input{width:55px;text-align:center;margin:0}.menu-item span{display:flex;flex-direction:column;gap:5px}.menu-item small{color:#7c8495;font-size:12px;font-weight:400}.menu-item del{font-size:11px;color:#9aa1ae;font-weight:400}@media(max-width:900px){.menu-admin-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.two-inputs,.menu-admin-grid{grid-template-columns:1fr}.edit-row{grid-template-columns:1fr}.order-controls form{width:100%}.order-controls form input{flex:1}}

.compact-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.compact-head h1{font-size:27px;margin:2px 0}.compact-head p{margin:0;color:#7a8395;font-size:13px}.table-actions-compact{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:12px}.table-actions-compact .big-action{padding:14px 16px;border-radius:13px}.compact-order-list{padding:15px}.order-block{border:1px solid var(--line);border-radius:12px;margin-bottom:9px;overflow:hidden}.order-block-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:#fafbfc}.order-block-head>div:first-child{display:flex;flex-direction:column;gap:2px}.order-block-head span{font-size:11px;color:#8a92a2}.order-block-actions{display:flex;align-items:center;gap:6px}.order-block-actions form{margin:0}.edit-btn{background:#f5f4ff;border-color:#dedbff;color:#5b54e9}.line-items{padding:4px 12px}.line-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f0f1f4;font-size:13px}.line-item small{color:#7d8696}.order-subtotal{display:flex;justify-content:space-between;padding:9px 12px;background:#fafbfc}.compact-summary{margin-top:10px}.compact-item{display:grid;grid-template-columns:1fr auto auto;gap:15px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.compact-item .item-info{display:flex;flex-direction:column;gap:4px}.compact-item .item-info span{font-size:11px;color:#7d8698}.compact-total{display:flex;justify-content:space-between;padding:13px 0;font-size:16px}.compact-menu-grid{grid-template-columns:repeat(4,1fr);gap:10px}.compact-menu-item{min-height:92px;padding:14px;border-radius:13px}.compact-menu-item b{font-size:15px}@media(max-width:900px){.compact-menu-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.compact-head{align-items:flex-start}.table-actions-compact{grid-template-columns:1fr}.order-block-head{align-items:flex-start;flex-direction:column}.order-block-actions{width:100%}.order-block-actions .btn{flex:1}.compact-item{grid-template-columns:1fr auto}.compact-item>strong{grid-column:2;grid-row:1}.compact-menu-grid{grid-template-columns:repeat(2,1fr)}}

.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.category-card{aspect-ratio:1/1;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:.2s}.category-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(30,35,60,.1);border-color:#c9c5ff}.category-icon{width:58px;height:58px;border-radius:16px;background:#f1f0ff;color:#625bff;display:grid;place-items:center;font-size:27px;font-weight:800;margin-bottom:12px}.category-card h2{font-size:18px;margin:0 0 6px}.category-card span{font-size:12px;color:#80899a}.category-products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.square-product-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.square-product-card>img,.square-placeholder{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f3f4f8;display:grid;place-items:center;font-size:48px}.square-product-info{padding:12px}.square-product-info h3{margin:0 0 5px;font-size:16px}.square-product-info p{margin:0 0 8px;color:#7d8697;font-size:12px;min-height:30px}.price-row{display:flex;gap:7px;align-items:center;margin-bottom:10px}.price-row del{color:#9ca3af;font-size:11px}.price-row b{color:#625bff}.card-actions{display:flex;gap:6px}.card-actions .btn{flex:1;padding:8px 6px;font-size:12px}.card-actions form{display:flex;flex:1}.modal-backdrop{position:fixed;inset:0;background:rgba(25,30,45,.35);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:100;padding:18px}.modal-card{background:#fff;border-radius:18px;width:min(560px,100%);max-height:90vh;overflow:auto;padding:20px;box-shadow:0 25px 70px rgba(20,25,40,.22)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-head h2{margin:0}.modal-close{border:0;background:#f2f3f6;border-radius:9px;width:34px;height:34px;font-size:24px;cursor:pointer}.modal-card form{display:grid;gap:11px}.modal-card label{display:grid;gap:5px;font-size:12px;font-weight:700}.category-fixed{padding:10px 12px;background:#f6f6fb;border-radius:10px;font-size:13px}.table-price-form{display:none!important}@media(max-width:1100px){.category-grid{grid-template-columns:repeat(4,1fr)}.category-products-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:750px){.category-grid{grid-template-columns:repeat(2,1fr)}.category-products-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:450px){.category-products-grid{grid-template-columns:1fr}}

.category-grid{grid-template-columns:repeat(6,1fr);gap:10px}.category-card{border-radius:14px;padding:12px}.category-card h2{font-size:15px;margin:7px 0 4px}.category-card span{font-size:11px}.category-card-image{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px}.category-icon{width:48px;height:48px;border-radius:12px;font-size:23px;margin-bottom:7px}.category-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px}.category-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.category-form small{display:block;color:#7d8697;font-weight:400;margin-top:4px}.category-products-grid{grid-template-columns:repeat(5,1fr);gap:10px}.square-product-card{border-radius:13px}.square-product-info{padding:10px}.square-product-info h3{font-size:15px}.square-product-info p{font-size:11px;min-height:28px}.square-product-card>img,.square-placeholder{font-size:40px}@media(max-width:1100px){.category-grid{grid-template-columns:repeat(5,1fr)}.category-products-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:850px){.category-form{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(4,1fr)}.category-products-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.category-grid{grid-template-columns:repeat(3,1fr)}.category-products-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:420px){.category-grid{grid-template-columns:repeat(2,1fr)}}
