:root{--lemon-yellow: #f8d842;--fresh-green: #77c94a;--deep-green: #1f3d2b;--ice-white: #fffdf3;--tea-gold: #d99a2b;--lemon-flesh: #fff38a;--ice-blue: #dff5f7;--leaf-green: #4ead5b;--cream: #fff8e8;--page: #f6f8ef;--surface: #ffffff;--line: #dde8d8;--muted: #6d7b70;--danger: #e95c4b;--shadow-card: 0 18px 44px rgba(31, 61, 43, .11);--shadow-float: 0 28px 70px rgba(31, 61, 43, .18);--radius: 8px;color:var(--deep-green);background:var(--page);font-family:Alibaba PuHuiTi,Source Han Sans SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;overflow-x:hidden}button,input,select,textarea{font:inherit;max-width:100%}@media(hover:none)and (pointer:coarse){button,select,.upload-btn{min-height:44px}}svg{flex:0 0 auto}body:before{animation:pageDrift 14s ease-in-out infinite alternate;background:radial-gradient(circle at 16% 16%,rgba(248,216,66,.34),transparent 23%),radial-gradient(circle at 82% 8%,rgba(223,245,247,.8),transparent 22%),linear-gradient(120deg,#fffdf3f2,#f6f8eff0);content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:fixed;z-index:-2}body:after{background-image:linear-gradient(135deg,rgba(119,201,74,.13) 0 1px,transparent 1px),radial-gradient(circle,rgba(31,61,43,.08) 1px,transparent 1.5px);background-size:54px 54px,26px 26px;content:"";top:0;right:0;bottom:0;left:0;opacity:.5;pointer-events:none;position:fixed;z-index:-1}button{align-items:center;background:linear-gradient(180deg,#ffe96b,var(--lemon-yellow));border:1px solid #ebc737;border-radius:var(--radius);color:var(--deep-green);cursor:pointer;display:inline-flex;font-weight:900;gap:8px;justify-content:center;min-height:40px;padding:0 15px;position:relative;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}button:hover{box-shadow:0 12px 24px #1f3d2b26;transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{cursor:wait;opacity:.65;transform:none}input,select,textarea{background:#ffffffeb;border:1px solid var(--line);border-radius:var(--radius);color:var(--deep-green);min-height:42px;outline:0;padding:0 12px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;width:100%}input:focus,select:focus,textarea:focus{background:#fff;border-color:var(--fresh-green);box-shadow:0 0 0 4px #77c94a29}textarea{min-height:88px;padding:10px 12px;resize:vertical}table{border-collapse:separate;border-spacing:0;min-width:680px;width:100%}th,td{border-bottom:1px solid #edf1ea;padding:13px 12px;text-align:left;vertical-align:top}th{background:#f1f6e9;color:var(--muted);font-size:13px;font-weight:900}tbody tr{transition:background .16s ease,transform .16s ease}tbody tr:hover{background:#f8d8421a}.login-page{display:grid;isolation:isolate;min-height:100dvh;min-height:100vh;overflow:hidden;place-items:center;position:relative}.login-page:before{background:radial-gradient(circle at 28% 24%,rgba(248,216,66,.56),transparent 18%),radial-gradient(circle at 78% 72%,rgba(119,201,74,.28),transparent 20%),linear-gradient(135deg,var(--ice-white),#edf7df 58%,var(--ice-blue));content:"";top:0;right:0;bottom:0;left:0;position:absolute;z-index:-2}.login-page:after{animation:trailMove 9s linear infinite;background:radial-gradient(circle at 10% 34%,rgba(255,255,255,.75) 0 7px,transparent 8px),radial-gradient(circle at 54% 68%,rgba(255,243,138,.9) 0 5px,transparent 6px),linear-gradient(100deg,transparent 18%,rgba(31,61,43,.12) 18% 19%,transparent 19% 100%);background-size:180px 120px,140px 120px,220px 160px;content:"";top:0;right:0;bottom:0;left:0;opacity:.6;position:absolute;z-index:-1}.login-flight{top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute;z-index:0}.login-flight span{animation:flyAcross 9s ease-in-out infinite;border:2px dashed rgba(31,61,43,.22);border-left:0;border-radius:0 999px 999px 0;height:110px;position:absolute;transform:rotate(-12deg);width:220px}.login-flight span:nth-child(1){right:8%;top:14%}.login-flight span:nth-child(2){animation-delay:-3s;left:8%;top:62%;transform:rotate(18deg)}.login-flight span:nth-child(3){animation-delay:-5s;right:24%;top:74%;transform:rotate(-5deg)}.login-panel,.panel,.editor,.stat-card{background:#ffffffe0;border:1px solid rgba(221,232,216,.96);border-radius:var(--radius);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-panel{animation:riseIn .55s ease both;display:grid;gap:17px;padding:30px;position:relative;width:min(408px,calc(100vw - 32px));z-index:1}.login-panel:before{background:linear-gradient(90deg,var(--lemon-yellow),var(--fresh-green),var(--ice-blue));border-radius:var(--radius) var(--radius) 0 0;content:"";height:5px;left:-1px;position:absolute;right:-1px;top:-1px}.login-panel h1,.login-panel p,.panel h2,.editor h2{margin:0}.login-panel h1{font-size:28px}.login-panel p,.topbar p,.panel-title p{color:var(--muted)}.login-panel label,.editor label{display:grid;gap:7px;font-weight:900}.brand-block{align-items:center;display:flex;gap:12px}.brand-block strong{display:block;font-size:25px;line-height:1}.brand-block small{color:var(--leaf-green);display:block;font-size:11px;font-weight:900;letter-spacing:1px;margin-top:5px}.sidebar .brand-block small{color:#fffdf3b8}.logo-mark{background:radial-gradient(circle at 34% 30%,var(--lemon-flesh) 0 21%,transparent 22%),linear-gradient(145deg,#ffe85f,var(--lemon-yellow));border:3px solid var(--deep-green);border-radius:50%;box-shadow:0 8px #1f3d2b1f;display:grid;flex:0 0 auto;font-size:27px;font-weight:900;height:50px;place-items:center;position:relative;width:50px}.logo-mark:after{background:var(--fresh-green);border:2px solid var(--deep-green);border-radius:999px 0;content:"";height:13px;position:absolute;right:-5px;top:4px;transform:rotate(22deg);width:23px}.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100dvh;min-height:100vh;position:relative}.shell-sky{background:radial-gradient(circle at 80% 9%,rgba(248,216,66,.2),transparent 16%),radial-gradient(circle at 58% 88%,rgba(223,245,247,.55),transparent 24%);top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.shell-sky:before,.shell-sky:after{animation:trailMove 16s linear infinite;border:2px dashed rgba(119,201,74,.2);border-left:0;border-radius:0 999px 999px 0;content:"";height:180px;position:absolute;right:8%;top:8%;transform:rotate(-10deg);width:340px}.shell-sky:after{animation-delay:-6s;left:42%;right:auto;top:70%;transform:rotate(18deg)}.sidebar{align-content:space-between;background:linear-gradient(180deg,#1f3d2bf5,#102818fa),radial-gradient(circle at 20% 10%,rgba(248,216,66,.24),transparent 30%);color:var(--ice-white);display:grid;gap:28px;overflow:hidden;padding:24px;position:sticky;top:0;height:100dvh;z-index:2}.sidebar:after{background-image:radial-gradient(circle,rgba(255,253,243,.16) 1px,transparent 1.5px);background-size:22px 22px;content:"";top:0;right:0;bottom:0;left:0;opacity:.35;pointer-events:none;position:absolute}.sidebar>*{position:relative;z-index:1}.sidebar nav{display:grid;gap:9px}.sidebar nav button,.ghost-button{background:transparent;border:1px solid transparent;color:#fffdf3c7;justify-content:flex-start}.sidebar nav button.active,.sidebar nav button:hover,.ghost-button:hover{background:#f8d8422e;border-color:#f8d84233;color:var(--ice-white);box-shadow:none}.workspace{min-width:0;padding:28px;position:relative;z-index:1}.topbar,.panel-title{align-items:center;display:flex;gap:16px;justify-content:space-between}.topbar{background:linear-gradient(135deg,#fffdf3e6,#ffffff9e),radial-gradient(circle at 86% 20%,rgba(248,216,66,.24),transparent 22%);border:1px solid rgba(221,232,216,.88);border-radius:var(--radius);box-shadow:0 14px 34px #1f3d2b14;margin-bottom:18px;overflow:hidden;padding:20px;position:relative}.topbar:after{background:linear-gradient(90deg,transparent,rgba(119,201,74,.28),transparent);content:"";height:2px;left:0;position:absolute;right:0;top:0}.topbar h1{font-size:30px;line-height:1.1;margin:0 0 5px}.eyebrow{color:var(--leaf-green);display:block;font-size:13px;font-weight:900;margin-bottom:6px}.secondary-button{background:#ffffffd1;border:1px solid var(--line);color:var(--deep-green)}.danger-button{background:#fff0ed;border:1px solid #f3b7ad;color:#bd3728}.link-button{background:transparent;border:0;color:#277a39;min-height:auto;padding:0}.link-button:hover{box-shadow:none;color:var(--deep-green);text-decoration:underline;transform:none}.compact{min-height:32px;padding:0 10px}.alert{border-radius:var(--radius);margin:12px 0;padding:11px 12px}.alert.error{background:#fff0ed;border:1px solid #f3b7ad;color:#bd3728}.alert.success{background:#eef8df;border:1px solid #bdd9c1;color:#277a39}.stats-grid{display:grid;gap:14px;grid-template-columns:repeat(5,minmax(150px,1fr));margin-bottom:16px}.stat-card{animation:riseIn .45s ease both;display:grid;gap:8px;min-height:136px;overflow:hidden;padding:18px;position:relative}.stat-card:after{background:radial-gradient(circle,rgba(248,216,66,.34),transparent 58%);content:"";height:110px;position:absolute;right:-35px;top:-35px;width:110px}.stat-card svg{color:var(--fresh-green);position:relative;z-index:1}.stat-card span{color:var(--muted);font-weight:900;position:relative;z-index:1}.stat-card strong{font-size:29px;line-height:1.1;position:relative;z-index:1}.grid,.content-grid,.order-layout,.dashboard-grid{display:grid;gap:16px}.grid{grid-template-columns:minmax(280px,.75fr) minmax(420px,1.25fr)}.dashboard-grid{grid-template-columns:minmax(320px,.82fr) minmax(460px,1.18fr)}.content-grid{grid-template-columns:minmax(280px,.62fr) minmax(520px,1.38fr)}.order-layout{grid-template-columns:minmax(560px,1.15fr) minmax(390px,.85fr)}.panel,.editor{animation:riseIn .38s ease both;min-width:0;overflow-x:auto;padding:18px}.panel h2,.editor h2{color:var(--deep-green);font-size:20px;line-height:1.2}.editor{align-content:start;display:grid;gap:12px}.form-actions,.row-actions,.status-actions,.badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.checkbox{align-items:center;display:flex!important}.checkbox input{width:auto}.field-title{display:grid;gap:4px}.field-title strong{color:var(--deep-green);font-size:14px}.field-title span{color:var(--muted);font-size:12px;font-weight:800}.cup-option-editor{background:#fbfff7;border:1px solid #e6eedb;border-radius:var(--radius);display:grid;gap:10px;padding:12px}.cup-option-row{align-items:center;background:#fbfff7;border:1px solid #e6eedb;border-radius:8px;display:grid;gap:8px;grid-template-columns:1fr auto;padding:5px 6px 5px 8px}.cup-option-row+.cup-option-row{margin-top:5px}.cup-option-row.disabled{opacity:.48}.cup-summary{background:#f8fbf3;border:1px solid #e6eedb;border-radius:8px;color:var(--deep-green)!important;font-size:11px;font-weight:900;margin-top:5px!important;padding:4px 8px}.category-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:#f1f6e9;border:1px solid transparent;border-radius:999px;color:var(--muted);cursor:pointer;font-size:13px;font-weight:800;min-height:34px;padding:0 14px;transition:all .18s ease}.chip:hover{background:#fff8d7;border-color:var(--lemon-yellow);color:var(--deep-green);box-shadow:none;transform:none}.chip-selected{background:var(--lemon-yellow);border-color:var(--tea-gold);color:var(--deep-green);box-shadow:0 4px 12px #d99a2b33}.image-upload-area label:first-child{display:block;font-size:13px;font-weight:600;margin-bottom:4px}.image-upload-row{align-items:center;display:flex;gap:8px}.image-upload-row input{flex:1}.upload-btn{align-items:center;background:#e6eedb;border:1px dashed #a0cc80;border-radius:var(--radius);cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:44px;justify-content:center;min-width:44px;transition:background .2s;width:44px}.upload-btn:hover{background:#d0e4c0}.upload-btn:active{background:#bdd6a8}.image-preview{background:#f8fbf3;border:1px solid #e6eedb;border-radius:var(--radius);display:grid;max-height:160px;overflow:hidden;place-items:center}.image-preview img{height:100%;max-height:160px;object-fit:cover;width:100%}.cup-option-left{align-items:center;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.cup-price-label{align-items:center;color:var(--muted);display:inline-flex;font-size:12px;font-weight:900;gap:4px}.cup-price-label input{font-size:13px;text-align:right}.cup-name-input{flex:0 1 auto;font-size:14px;min-width:0}.cup-total-hint{background:var(--lemon-yellow);border-radius:5px;color:var(--deep-green);display:inline-block;font-size:11px;font-weight:900;justify-self:start;padding:1px 6px;white-space:nowrap}.image-upload{margin-top:4px}.image-upload-placeholder{align-items:center;background:linear-gradient(135deg,#f8fbf3,#f0f7e8);border:2px dashed #b8d38b;border-radius:var(--radius);color:var(--muted);cursor:pointer;display:flex;flex-direction:column;font-size:14px;font-weight:900;gap:6px;justify-content:center;min-height:130px;padding:24px 16px;transition:all .18s ease;width:100%}.image-upload-placeholder:hover{background:linear-gradient(135deg,#fff8d7,#fff3cc);border-color:var(--lemon-yellow);color:var(--deep-green);transform:translateY(-1px);box-shadow:0 6px 20px #d99a2b1f}.image-upload-placeholder:disabled{cursor:wait;opacity:.7;transform:none}.image-upload-placeholder small{font-weight:400;font-size:11px;opacity:.45}.upload-icon{font-size:36px;line-height:1}.image-upload-preview{border-radius:var(--radius);box-shadow:0 4px 16px #1f3d2b14;display:grid;overflow:hidden;position:relative}.image-upload-preview img{aspect-ratio:4 / 3;height:auto;object-fit:cover;width:100%}.image-upload-replace,.image-upload-remove{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:800;padding:5px 10px;position:absolute}.image-upload-replace{background:var(--lemon-yellow);bottom:8px;color:var(--deep-green);left:8px}.image-upload-remove{background:var(--danger);color:#fff;right:8px;top:8px}.upload-error{color:var(--danger);font-size:12px;font-weight:800;margin-top:4px}.products-layout{display:flex;flex-direction:column;gap:var(--gap)}.showcase-row{display:grid;gap:16px;grid-template-columns:minmax(200px,.45fr) minmax(0,1fr)}.showcase-image{display:flex;flex-direction:column;gap:6px;min-width:0}.showcase-label{color:var(--deep-green);font-size:13px;font-weight:900}.showcase-desc{display:flex;flex-direction:column;gap:6px}.showcase-desc textarea{flex:1;min-height:130px;resize:vertical}.addon-select-grid{display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.addon-select-chip{align-items:center;background:#f8fbf3;border:1px solid #e6eedb;border-radius:8px;cursor:pointer;display:flex;gap:6px;min-height:38px;padding:5px 8px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.addon-select-chip:hover{background:#fff8d7;border-color:var(--lemon-yellow)}.addon-select-chip.selected{background:#fff8d7;border-color:var(--tea-gold);box-shadow:0 2px 6px #d99a2b26}.addon-select-chip input[type=checkbox]{accent-color:var(--tea-gold);height:16px;margin:0;width:16px}.addon-select-name{flex:1;font-size:13px;font-weight:900}.addon-select-price{color:var(--tea-gold);flex-shrink:0;font-size:12px;font-weight:900}.notice-list,.mini-list{display:grid;gap:10px;margin-top:14px}.metric-list{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0 18px}.metric-card{background:#fbfff7;border:1px solid #e6eedb;border-radius:var(--radius);display:grid;gap:6px;padding:14px}.metric-card span{color:var(--muted);font-weight:900}.metric-card strong{color:var(--deep-green);font-size:27px;line-height:1}.metric-card.ok{background:#eef8df}.metric-card.warn{background:#fff8d7}.metric-card.danger{background:#fff0ed}.metric-card.yellow{background:#fff8c8}.trend-list{display:grid;gap:10px;margin-top:14px}.trend-row{align-items:center;display:grid;gap:12px;grid-template-columns:54px minmax(100px,1fr) 150px}.trend-row span{color:var(--muted);font-size:13px;font-weight:900}.trend-row strong{color:var(--deep-green);font-size:13px;text-align:right}.trend-track{background:#edf3e7;border-radius:999px;height:12px;overflow:hidden}.trend-track i{background:linear-gradient(90deg,var(--lemon-yellow),var(--fresh-green));border-radius:inherit;display:block;height:100%}.notice-list span,.order-strip{background:linear-gradient(135deg,#fbfff7,#fff),radial-gradient(circle at right top,rgba(248,216,66,.2),transparent 38%);border:1px solid #e6eedb;border-radius:var(--radius);padding:12px}.order-strip{color:var(--deep-green);display:grid;grid-template-columns:1fr auto auto;justify-content:stretch;text-align:left}.badge{background:#eef2ea;border-radius:999px;color:var(--muted);display:inline-flex;font-size:12px;font-weight:900;padding:5px 9px;white-space:nowrap}.badge.ok,.badge.paid,.badge.completed{background:#e8f4e8;color:#277a39}.badge.warn,.badge.pending,.badge.pending_payment,.badge.making{background:#fff8d7;color:#8a5a00}.badge.danger,.badge.cancelled{background:#fff0ed;color:#bd3728}.badge.yellow{background:var(--lemon-yellow);color:var(--deep-green)}.badge.muted{background:#eef2ea;color:var(--muted)}.pickup-badge{background:var(--lemon-yellow);border:1px solid rgba(31,61,43,.18);border-radius:999px;color:var(--deep-green);display:inline-flex;font-size:15px;font-weight:950;letter-spacing:1px;padding:6px 10px}.selected-row{background:#f1f8ef}.empty,.empty-detail{color:var(--muted);padding:28px 12px;text-align:center}.order-detail{display:grid;gap:16px}.subtle{background:#f8fbf3;border:1px solid #e6eedb;border-radius:var(--radius);color:var(--muted);padding:10px 12px}.order-total{color:var(--tea-gold);font-size:21px;font-weight:900;text-align:right}.product-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.product-card{background:#fff;border:1px solid #e6eedb;border-radius:var(--radius);box-shadow:0 4px 12px #1f3d2b0d;display:grid;gap:10px;padding:14px 16px;transition:box-shadow .15s ease}.product-card:hover{box-shadow:0 8px 20px #1f3d2b1a}.product-card.sold-out{opacity:.55}.product-card.inactive{background:#fafafa;border-color:#e8e8e8}.product-card-status{align-items:center;display:flex;gap:6px;margin-bottom:4px}.product-group{margin-bottom:18px}.product-group-header{align-items:center;border-bottom:2px solid var(--deep-green);cursor:pointer;display:flex;gap:10px;margin-bottom:12px;padding:6px 0 10px;-webkit-user-select:none;user-select:none;transition:opacity .15s}.product-group-header:hover{opacity:.75}.product-group-arrow{color:var(--tea-gold);font-size:12px;width:16px}.product-group-name{color:var(--deep-green);font-size:16px;font-weight:900;letter-spacing:.02em}.product-group-count{background:#eef8df;border-radius:10px;color:var(--muted);font-size:11px;padding:2px 10px;margin-left:auto}.addon-select-area{margin:8px 0 16px}.addon-check-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.addon-check-chip{align-items:center;background:#f8fbf3;border:1px solid #e6eedb;border-radius:6px;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:6px 12px;transition:all .15s;-webkit-user-select:none;user-select:none}.addon-check-chip:hover{border-color:var(--tea-gold)}.addon-check-chip.selected{background:#eef8df;border-color:var(--deep-green);font-weight:600}.addon-check-chip input{display:none}.addon-price-hint{color:var(--tea-gold);font-size:11px;font-weight:600}.product-card-body{align-items:center;display:flex;gap:12px}.product-card-thumb{border-radius:8px;flex-shrink:0;height:60px;object-fit:cover;width:60px}.product-card-thumb.placeholder{background:linear-gradient(135deg,#eef8df,#f8fbf3);border:1px dashed #d0e0c0}.product-card-thumb.placeholder:after{content:"🍋";display:grid;font-size:22px;height:100%;opacity:.5;place-items:center;width:100%}.product-card-info{flex:1;min-width:0}.product-card-info h3{color:var(--deep-green);font-size:17px;line-height:1.3;margin:0 0 4px}.product-card-info p{color:var(--muted);font-size:12px;line-height:1.4;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}.product-card-body strong{color:var(--tea-gold);flex-shrink:0;font-size:20px;white-space:nowrap}.product-card-actions{border-top:1px solid #f1f6e9;display:flex;gap:6px;padding-top:8px}.product-card-actions .link-button.compact{font-size:12px;padding:4px 8px;border-radius:5px}.product-card-actions .link-button.compact:hover{background:#eef8df}.product-card-more{position:relative;margin-left:auto}.product-card-dropdown{background:#fff;border:1px solid #e6eedb;border-radius:8px;box-shadow:0 8px 28px #1f3d2b29;padding:6px;position:absolute;right:0;top:100%;z-index:10;min-width:120px}.drink-thumb{background:radial-gradient(circle at 24% 20%,rgba(255,243,138,.8),transparent 22%),linear-gradient(180deg,var(--ice-white),#eef8df);border-radius:var(--radius);display:grid;min-height:136px;place-items:center;position:relative}.drink-thumb:after{animation:bubbleFloat 2.8s ease-in-out infinite;background:radial-gradient(circle,var(--ice-blue) 0 4px,transparent 5px),radial-gradient(circle,var(--lemon-yellow) 0 5px,transparent 6px);content:"";height:64px;left:18px;position:absolute;top:18px;width:52px}.drink-thumb:before{background:#ffffff75;border:3px solid var(--deep-green);border-radius:12px 12px 21px 21px;content:"";height:86px;width:44px}.drink-thumb span{background:linear-gradient(180deg,#f1b03d,var(--tea-gold));border-radius:0 0 17px 17px;bottom:28px;height:40px;position:absolute;width:36px}.card-footer{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-top:12px}.card-footer strong{color:var(--tea-gold);font-size:22px}.pos-page{display:grid;gap:16px}.pos-toolbar{align-items:center;display:flex;gap:16px;justify-content:space-between}.pos-toolbar p{color:var(--muted);margin:6px 0 0}.pos-controls{align-items:center;display:grid;gap:10px;grid-template-columns:auto auto 130px 220px}.active-toggle,.active-chip{background:var(--lemon-yellow);border-color:var(--deep-green);color:var(--deep-green)}.pos-layout{display:grid;gap:16px;grid-template-columns:180px minmax(420px,1fr) 360px;min-height:calc(100vh - 230px)}.pos-categories{align-content:start;display:grid;gap:10px}.pos-categories button{background:#f1f6e9;border-color:transparent;justify-content:flex-start}.pos-categories button.active{background:#fff8d7;border-color:var(--lemon-yellow)}.pos-products{align-content:start;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.pos-product-card{background:#fff;border:1px solid #e6eedb;border-radius:var(--radius);box-shadow:0 10px 24px #1f3d2b0f;color:var(--deep-green);display:grid;gap:12px;grid-template-columns:82px minmax(0,1fr);justify-content:stretch;min-height:132px;padding:12px;text-align:left}.pos-product-card .drink-thumb{min-height:108px}.pos-product-thumb{border-radius:8px;height:82px;object-fit:cover;width:82px}.pos-product-thumb.placeholder{background:linear-gradient(135deg,#eef8df,#f8fbf3);border:1px dashed #d0e0c0}.pos-product-thumb.placeholder:after{content:"🍋";display:grid;font-size:28px;height:100%;opacity:.5;place-items:center;width:100%}.pos-product-card strong{display:block;font-size:18px;line-height:1.3}.pos-product-card p{color:var(--muted);line-height:1.4;margin:6px 0}.pos-product-card span{color:var(--tea-gold);font-size:20px;font-weight:900}.pos-cart{align-content:start;display:grid;gap:14px;position:sticky;top:20px}.pos-cart label,.pos-modal label{color:var(--deep-green);display:grid;gap:8px;font-weight:900}.pos-cart-list{display:grid;gap:10px;max-height:42vh;overflow:auto}.pos-cart-item{background:#fbfff7;border:1px solid #e6eedb;border-radius:var(--radius);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.pos-cart-item strong{color:var(--deep-green)}.pos-cart-item p{color:var(--muted);font-size:13px;line-height:1.35;margin:4px 0 0}.pos-cart-side{display:grid;gap:10px;justify-items:end}.qty-stepper{align-items:center;display:inline-flex;gap:8px}.qty-stepper button{border-radius:999px;min-height:30px;padding:0;width:30px}.qty-stepper.large button{min-height:38px;width:38px}.qty-stepper span{color:var(--deep-green);font-weight:900;min-width:24px;text-align:center}.pos-total{align-items:center;background:#fff8d7;border:1px solid #eedb75;border-radius:var(--radius);display:flex;justify-content:space-between;padding:14px}.pos-total span{color:var(--muted);font-weight:900}.pos-total strong{color:var(--tea-gold);font-size:26px}.pos-modal-mask{align-items:flex-end;background:#0f1f157a;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:28px;position:fixed;z-index:20}.pos-modal{animation:riseIn .22s ease both;display:grid;gap:16px;max-height:min(720px,calc(100vh - 56px));overflow:auto;width:min(720px,calc(100vw - 56px))}.pos-modal .panel-title strong{color:var(--tea-gold);font-size:24px}.pos-option-section{display:grid;gap:8px}.pos-option-section h3{color:var(--muted);font-size:13px;font-weight:900;margin:0}.pos-chip-row{display:flex;flex-wrap:wrap;gap:10px}.pos-addon-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.pos-addon-chip{align-items:center;background:#f8fbf3;border:1px solid #e6eedb;border-radius:10px;display:flex;justify-content:space-between;overflow:hidden;transition:all .15s ease}.pos-addon-chip.selected{background:#fff8d7;border-color:var(--lemon-yellow);box-shadow:0 2px 8px #d99a2b1f}.pos-addon-info{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex:1;gap:6px;min-height:40px;min-width:0;padding:6px 8px 6px 10px;text-align:left;transition:background .12s ease}.pos-addon-info:hover{background:#f8d8421f}.pos-addon-name{flex:1;font-size:13px;font-weight:900;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-addon-price{color:var(--tea-gold);flex-shrink:0;font-size:12px;font-weight:900}.pos-addon-chip .qty-stepper.compact{border-left:1px solid #e6eedb;padding:0 4px}.pos-addon-chip.selected .qty-stepper.compact{border-left-color:var(--lemon-yellow)}.pos-addon-chip .qty-stepper.compact button{height:28px;width:28px;font-size:14px;padding:0}.pos-addon-chip .qty-stepper.compact span{font-size:13px;min-width:20px;padding:0 2px}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pageDrift{0%{filter:hue-rotate(0deg);transform:scale(1)}to{filter:hue-rotate(5deg);transform:scale(1.02)}}@keyframes trailMove{0%{background-position:0 0,0 0,0 0}to{background-position:180px 60px,-140px 80px,220px 160px}}@keyframes flyAcross{0%,to{opacity:.35;transform:translate(0) rotate(-12deg)}50%{opacity:.8;transform:translate(-18px) rotate(-8deg)}}@keyframes bubbleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.grid,.content-grid,.order-layout{grid-template-columns:1fr}.pos-layout{grid-template-columns:150px minmax(0,1fr)}.pos-cart{grid-column:1 / -1;position:static}.pos-controls{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media(max-width:980px){.dashboard-grid{grid-template-columns:1fr}.order-strip{gap:6px;grid-template-columns:minmax(0,1fr)}.order-strip strong{justify-self:start}}@media(max-width:820px){button{min-height:44px}input,select,textarea{font-size:16px;min-height:44px}.app-shell{display:block;min-height:100dvh}.sidebar{align-content:start;align-items:center;border-radius:0 0 14px 14px;box-shadow:0 14px 34px #1f3d2b2e;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;height:auto;padding:10px 12px 8px;position:sticky;top:0;z-index:30}.sidebar .brand-block{min-width:0}.sidebar .logo-mark{border-width:2px;box-shadow:0 5px #1f3d2b1f;font-size:21px;height:40px;width:40px}.sidebar .logo-mark:after{height:9px;right:-4px;top:3px;width:17px}.sidebar .brand-block strong{font-size:20px}.sidebar .brand-block small{font-size:10px;margin-top:3px}.sidebar nav{display:flex;gap:8px;grid-column:1 / -1;margin:0 -12px;overflow-x:auto;padding:0 12px 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.sidebar nav::-webkit-scrollbar{display:none}.sidebar nav button{flex:0 0 auto;justify-content:center;min-height:38px;padding:0 12px;white-space:nowrap}.ghost-button{justify-self:end;min-height:36px;padding:0 10px;white-space:nowrap}.workspace{padding:12px max(10px,env(safe-area-inset-left)) calc(18px + env(safe-area-inset-bottom))}.topbar{margin-bottom:12px;padding:14px}.topbar,.panel-title{align-items:flex-start;display:grid}.topbar h1{font-size:24px}.topbar p{font-size:12px;line-height:1.45;overflow-wrap:anywhere}.topbar .secondary-button{width:100%}.alert{margin:10px 0}.panel,.editor{overflow-x:auto;padding:14px;-webkit-overflow-scrolling:touch}.panel h2,.editor h2{font-size:18px}.stats-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{gap:6px;min-height:112px;padding:14px}.stat-card span{font-size:13px}.stat-card strong{font-size:24px;overflow-wrap:anywhere}.dashboard-grid,.content-grid,.order-layout,.grid{gap:12px;grid-template-columns:1fr}.metric-list{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:12px}.metric-card strong{font-size:23px}.trend-row{gap:8px;grid-template-columns:48px minmax(0,1fr)}.trend-row strong{grid-column:2;text-align:left}.product-grid{grid-template-columns:1fr}.product-card{padding:12px 14px}.product-card-body strong{font-size:18px}.row-actions,.form-actions,.status-actions{align-items:stretch}.cup-option-row{align-items:center;gap:8px;grid-template-columns:1fr auto}.cup-option-left{flex-wrap:wrap;gap:4px}.category-chips{gap:6px}.chip{font-size:12px;min-height:32px;padding:0 10px}.editor label{gap:6px}.editor input,.editor select,.editor textarea{min-height:44px}.form-actions button,.status-actions button{flex:1 1 140px}.drink-thumb{min-height:106px}.pos-toolbar{align-items:stretch;display:grid}.pos-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-controls input,.pos-controls select{grid-column:1 / -1}.pos-layout{grid-template-columns:1fr}.pos-categories{display:flex;gap:8px;overflow-x:auto;padding:10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.pos-categories::-webkit-scrollbar{display:none}.pos-categories button{flex:0 0 auto;justify-content:center;min-width:96px}.pos-products{grid-template-columns:1fr}.pos-product-card{grid-template-columns:72px minmax(0,1fr);min-height:112px;padding:10px}.pos-product-thumb{height:72px;width:72px}.pos-cart{position:static}.pos-cart-list{max-height:none}.pos-modal-mask{padding:0}.pos-modal{border-radius:16px 16px 0 0;max-height:88dvh;padding:16px;width:100%}.pos-modal .panel-title strong{font-size:24px}.image-upload-placeholder{min-height:100px;padding:16px 12px}.upload-icon{font-size:28px}.image-upload-replace,.image-upload-remove{font-size:11px;padding:4px 8px}.showcase-row{grid-template-columns:1fr}.showcase-desc textarea{min-height:80px}}@media(max-width:560px){body:after{opacity:.32}.workspace{padding:10px max(8px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.sidebar nav button{font-size:13px;min-width:96px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:102px;padding:12px}.stat-card svg{width:20px}.stat-card strong{font-size:21px}.panel,.editor{overflow-x:auto;padding:12px}.login-panel{gap:14px;padding:22px;width:min(408px,calc(100vw - 24px))}.brand-block strong{font-size:21px}.logo-mark{height:44px;width:44px}.metric-list{gap:8px}.trend-row{grid-template-columns:44px minmax(0,1fr)}.order-strip{padding:10px}.product-card{border-radius:10px;padding:10px 12px}.product-card-info h3{font-size:15px}.product-card-body strong{font-size:17px}.drink-thumb{min-height:92px}.drink-thumb:before{height:66px;width:34px}.drink-thumb span{bottom:22px;height:30px;width:28px}.pos-layout{gap:10px}.pos-page{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.pos-cart{box-shadow:var(--shadow-float);max-height:calc(58dvh - env(safe-area-inset-bottom));overflow:auto;position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));z-index:12}.pos-cart .panel-title{align-items:center;display:flex}.pos-cart-list{max-height:22dvh}.pos-cart textarea{min-height:62px}.pos-cart>button:not(.link-button){width:100%}.pos-total{padding:12px}.pos-total strong{font-size:22px}.pos-chip-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pos-chip-row button{min-width:0;padding:0 10px}.pos-addon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-preview,.image-preview img{max-height:120px}}@media(max-width:390px){.stats-grid,.metric-list,.pos-controls,.pos-chip-row,.pos-addon-grid{grid-template-columns:1fr}.sidebar nav button{min-width:88px;padding:0 10px}.topbar h1{font-size:22px}.product-card-body strong{font-size:16px}.drink-thumb{min-height:82px}.sidebar{border-radius:0;gap:6px;padding:8px 8px 4px}.sidebar .brand-block strong{font-size:17px}.ghost-button{font-size:12px;min-height:32px;padding:0 8px}.sidebar nav{gap:4px;margin:0 -8px;padding:0 8px 2px}.sidebar nav button{font-size:12px;min-height:34px;min-width:78px}.order-detail{gap:12px}.order-detail .metric-list{grid-template-columns:repeat(2,minmax(0,1fr))}.qty-stepper button{min-height:36px;width:36px}.image-preview,.image-preview img{max-height:100px}}@media(max-width:820px){.panel{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}table{border-spacing:0 4px;min-width:640px}th,td{font-size:13px;padding:10px 8px;white-space:nowrap}tbody tr{border-radius:var(--radius);box-shadow:0 2px 6px #1f3d2b08}tbody tr td:first-child{border-radius:var(--radius) 0 0 var(--radius)}tbody tr td:last-child{border-radius:0 var(--radius) var(--radius) 0}}.nav-section{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.nav-section-label{display:block;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em;margin-bottom:6px;padding-left:14px;text-transform:uppercase}.nav-section button{align-items:center;background:transparent;border:none;border-radius:var(--radius);color:var(--muted);cursor:pointer;display:flex;font:inherit;font-size:15px;font-weight:600;gap:10px;padding:9px 14px;text-align:left;transition:all .15s;width:100%}.nav-section button:hover{background:#eef8df;color:var(--deep-green)}.nav-section button.active{background:var(--deep-green);color:#fff}.filter-chip{align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;color:var(--muted);cursor:pointer;display:inline-flex;font:inherit;font-size:12px;font-weight:700;padding:5px 14px;transition:all .15s}.filter-chip:hover{border-color:var(--tea-gold);color:var(--deep-green)}.filter-chip.active{background:var(--deep-green);border-color:var(--deep-green);color:#fff}.member-toolbar{align-items:flex-start;display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.member-search-row{align-items:center;display:flex;gap:10px;width:100%}.member-search-input{background:#fff;border:1px solid var(--line);border-radius:var(--radius);flex:1;font:inherit;max-width:360px;padding:9px 14px}.member-search-input:focus{border-color:var(--deep-green);outline:none}.member-level-tabs{display:flex;flex-wrap:wrap;gap:6px}.member-cell{align-items:center;display:flex;gap:10px}.member-avatar{align-items:center;border-radius:50%;display:flex;font-size:14px;font-weight:800;height:36px;justify-content:center;width:36px}.member-cell strong{display:block;font-size:14px;line-height:1.3}.member-cell small{color:var(--muted);font-size:12px}.member-level-tag{border-radius:4px;display:inline-block;font-size:11px;font-weight:800;padding:2px 8px}.modal-overlay{align-items:center;animation:fadeIn .15s ease;background:#1f3d2b59;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:1000}.modal{animation:slideUp .2s ease;background:#fff;border-radius:12px;box-shadow:var(--shadow-float);max-height:90vh;max-width:480px;overflow-y:auto;padding:28px;width:90%}.modal h2{font-size:20px;margin:0 0 20px}.modal label{display:block;font-size:13px;font-weight:700;margin-bottom:12px}.modal label input,.modal label select,.modal label textarea{background:#f8fbf3;border:1px solid var(--line);border-radius:6px;display:block;font:inherit;margin-top:4px;padding:8px 12px;width:100%}.modal label input:focus,.modal label select:focus,.modal label textarea:focus{border-color:var(--deep-green);outline:none}.form-row-2{display:grid;gap:10px;grid-template-columns:1fr 1fr}.pagination{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:16px;padding-top:12px}.pagination button{background:#fff;border:1px solid var(--line);border-radius:6px;cursor:pointer;font:inherit;font-size:13px;padding:6px 14px;transition:all .15s}.pagination button:hover:not(:disabled){border-color:var(--deep-green);color:var(--deep-green)}.pagination button:disabled{opacity:.4;cursor:default}.pagination span{color:var(--muted);font-size:13px}.row-inactive{opacity:.45}.text-sm{font-size:12px}.text-muted{color:var(--muted)}.ml-6{margin-left:6px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
