:root{color:#173e2c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#deead8e6,#0000 24%),radial-gradient(circle at 100% 12%,#efe1bf9e,#0000 24%),linear-gradient(#f8f4ea 0,#f3ecdf 46%,#efe7da 100%);font-family:Hiragino Sans GB,PingFang SC,Segoe UI,-apple-system,BlinkMacSystemFont,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{color:#173e2c;background:radial-gradient(circle at 12% 12%,#e2ecdcc7,#0000 20%),radial-gradient(circle at 88% 8%,#f1e5c99e,#0000 24%),linear-gradient(#f8f4ea 0,#f3ecdf 46%,#efe7da 100%)}button,input,select,textarea{font:inherit}img{max-width:100%}.login-shell,.admin-shell{min-height:100vh}.login-shell{place-items:center;padding:40px;display:grid}.login-card,.panel,.stat-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffcf7d1;border:1px solid #15382714;transition:transform .372s,box-shadow .372s,border-color .372s,background .372s;box-shadow:0 24px 64px #28201014}.login-card:hover,.message-bar:hover,.empty-state:hover,.upload-preview:hover,.upload-placeholder:hover{border-color:#2b6a4b29;transform:translateY(-4px);box-shadow:0 28px 56px #372d121f}.login-card{border-radius:32px;width:min(480px,100%);padding:36px}.eyebrow{color:#6f8069;letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:700}.login-card h1,.content-header h2,.panel h3{color:#173e2c;margin:10px 0 0}.login-card h1,.content-header h2{letter-spacing:-.04em;font-size:clamp(34px,3vw,46px);line-height:1.02}.login-card p,.sidebar-desc{color:#6c7268;margin-top:12px;line-height:1.6}.login-form,.form-grid{gap:16px;display:grid}.login-form{margin-top:24px}.login-form label,.form-grid label{color:#37513f;gap:8px;font-size:14px;font-weight:600;display:grid}.login-form input,.form-grid input,.form-grid select,.form-grid textarea,.inline-form input{color:#173e2c;width:100%;font:inherit;box-sizing:border-box;background:#fffffff2;border:1px solid #1538271a;border-radius:18px;box-shadow:inset 0 1px #ffffff5c}.login-form input,.form-grid input,.form-grid select,.inline-form input{height:52px;padding:0 16px}.form-grid textarea{resize:vertical;min-height:108px;padding:14px 16px}.login-form input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.inline-form input:focus{border-color:#2b6a4b59;outline:0;box-shadow:0 0 0 4px #2b6a4b17,inset 0 1px #ffffff5c}.solid-button,.ghost-button,.nav-item,.filter-chip{font:inherit;cursor:pointer;border:0;border-radius:999px;transition:transform .237s,box-shadow .237s,background .237s,border-color .237s,color .237s}.solid-button{color:#fff;background:linear-gradient(135deg,#2b6a4b 0,#173e2c 100%);justify-content:center;align-items:center;min-width:148px;height:48px;padding:0 22px;display:inline-flex;box-shadow:0 14px 28px #173e2c2e}.ghost-button,.nav-item,.filter-chip{color:#1f4b36;background:#ffffffd6;border:1px solid #1538271f;justify-content:center;align-items:center;min-width:88px;height:40px;padding:0 16px;display:inline-flex}.solid-button:hover,.ghost-button:hover,.nav-item:hover,.filter-chip:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 14px 26px #372d121f}.solid-button:hover{box-shadow:0 18px 30px #173e2c3d}.nav-item:hover,.nav-item-active:hover{box-shadow:inset 0 1px #ffffff14,0 14px 28px #00000029}.small-button{min-width:108px}.danger-button{color:#a44c32}.error-text,.message-bar{border-radius:16px;padding:12px 14px;font-size:14px;transition:transform .372s,box-shadow .372s,border-color .372s,background .372s}.error-text{color:#a44c32;background:#d65a311f}.message-bar{color:#1f4b36;background:#2b6a4b1a;margin-bottom:18px}.message-bar-floating{z-index:3;pointer-events:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);max-width:min(420px,100% - 68px);margin-bottom:0;position:absolute;top:28px;right:34px;box-shadow:0 16px 34px #40361c1a}.admin-shell{--pointer-x:18%;--pointer-y:12%;min-height:100vh;position:relative;overflow-x:hidden}.admin-shell:before{content:"";pointer-events:none;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),#fff7e361,transparent 18%),radial-gradient(circle at calc(var(--pointer-x) + 8%) calc(var(--pointer-y) + 6%),#b6d5ba2e,transparent 24%);z-index:0;transition:background-position .18s;position:fixed;inset:0}.sidebar{box-sizing:border-box;color:#edf4ee;z-index:2;background:radial-gradient(circle at 0 0,#7ca4861f,#0000 32%),linear-gradient(#173e2c 0,#0f2b1e 100%);flex-direction:column;justify-content:flex-start;gap:24px;width:280px;min-height:100vh;max-height:100vh;padding:26px 22px 24px;display:flex;position:fixed;top:0;left:0;overflow:hidden;box-shadow:inset -1px 0#ffffff0d}.sidebar .eyebrow,.sidebar-desc{color:#edf4eeb8}.sidebar-top{gap:16px;display:grid}.sidebar-top .eyebrow{letter-spacing:.14em;font-size:13px;line-height:1.2}.nav-list{gap:12px;display:grid}.sidebar-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:2px;display:grid}.nav-item{color:#edf4ee;letter-spacing:0;text-align:center;background:#ffffff12;border-color:#ffffff1c;justify-content:center;width:100%;min-width:0;height:46px;padding:0 16px;font-size:15px;font-weight:600;line-height:1.2;box-shadow:inset 0 1px #ffffff0a}.nav-item-active{background:linear-gradient(135deg,#bed6c233,#ffffff14);border-color:#deebe047;box-shadow:inset 0 1px #ffffff14,0 10px 22px #0000001f}.sidebar-footer{justify-items:stretch;gap:12px;width:100%;margin-top:auto;display:grid}.badge{color:#edf4ee;box-sizing:border-box;text-align:center;background:#ffffff1a;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;width:100%;max-width:none;height:48px;padding:0 18px;font-size:16px;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.sidebar-footer .ghost-button{width:100%;min-width:0;height:48px}.content{z-index:1;width:calc(100vw - 280px);min-width:0;max-width:calc(100vw - 280px);margin-left:280px;padding:34px 34px 34px 36px;position:relative;overflow-x:hidden}.content-menu{flex-direction:column;height:100vh;max-height:100vh;display:flex;overflow:hidden}.content-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:10px;display:flex}.content-heading{max-width:680px}.content-tools{flex:0 0 320px;max-width:320px}.menu-search-input{color:#173e2c;width:100%;height:52px;font:inherit;box-sizing:border-box;background:#ffffffe6;border:1px solid #1538271f;border-radius:999px;padding:0 18px;box-shadow:0 12px 26px #40361c0f,inset 0 1px #ffffff5c}.menu-search-input:focus{border-color:#2b6a4b59;outline:0;box-shadow:0 0 0 4px #2b6a4b17,0 12px 26px #40361c0f,inset 0 1px #ffffff5c}.content-menu .content-heading h2{margin-top:0;font-size:clamp(28px,2.4vw,40px);line-height:.98}.stat-card{border-radius:28px;padding:22px 22px 20px;animation:.42s cubic-bezier(.2,.8,.2,1) both rise-in;position:relative;overflow:hidden}.stat-card span{color:#6c7268;font-size:13px}.stat-card strong{color:#173e2c;margin-top:10px;font-size:34px;line-height:1;display:block}.stat-card em{color:#5f695d;margin-top:10px;font-size:13px;font-style:normal;display:block}.stat-card:after{content:"";background:radial-gradient(circle,#8bb7912e,#0000 72%);border-radius:50%;width:72px;height:72px;position:absolute;inset:auto -18px -24px auto}.sidebar-stat-card{background:#ffffffe6;border-radius:20px;min-height:0;padding:12px 10px 10px}.sidebar-stat-card span,.sidebar-stat-card em{color:#62705f}.sidebar-stat-card span{font-size:11px}.sidebar-stat-card strong{color:#173e2c;margin-top:6px;font-size:24px;line-height:.95}.sidebar-stat-card em{margin-top:5px;font-size:11px;line-height:1.25}.panel-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,420px);gap:22px;min-width:0;display:grid}.menu-workspace{align-items:start}.dual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{border-radius:32px;padding:24px;animation:.46s cubic-bezier(.2,.8,.2,1) both rise-in}.menu-list-panel,.menu-editor-panel{min-width:0}.panel-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.panel-head h3{letter-spacing:-.03em;margin:0;font-size:24px}.filter-row{flex-wrap:wrap;gap:10px;display:flex}.filter-chip-active{color:#fff;background:linear-gradient(135deg,#2b6a4b 0,#173e2c 100%);border-color:#0000}.item-list,.user-list,.simple-list,.order-list{gap:16px;display:grid}.item-card,.user-card,.simple-row,.order-card{background:#ffffffeb;border:1px solid #15382714;border-radius:26px;transition:transform .304s,box-shadow .304s,border-color .304s,background .304s;box-shadow:0 16px 34px #40361c0f}.panel:hover,.stat-card:hover,.item-card:hover,.simple-row:hover,.order-card:hover{background:#fffffffa;border-color:#2b6a4b38;transform:translateY(-5px);box-shadow:0 28px 56px #372d1224}.item-card{grid-template-columns:112px minmax(0,1fr) auto;gap:16px;padding:16px;display:grid}.user-card{grid-template-columns:64px minmax(0,1fr) auto;gap:16px;padding:18px;display:grid}.user-avatar{color:#1f4b36;background:linear-gradient(135deg,#2b6a4b29,#173e2c14);border-radius:22px;place-items:center;width:64px;height:64px;font-size:26px;font-weight:700;display:grid}.item-image-wrap{position:relative}.item-image{object-fit:cover;background:#eef3ed;border-radius:22px;width:112px;height:112px;transition:transform .372s}.item-card:hover .item-image{transform:scale(1.05)}.item-card:hover .status-pill,.order-card:hover .status-pill,.simple-row:hover .status-pill{transform:translateY(-1px)}.item-category-badge{color:#f4f5f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e2b1dc7;border-radius:999px;align-items:center;height:28px;padding:0 10px;font-size:12px;display:inline-flex;position:absolute;bottom:10px;left:10px}.item-main,.user-main{min-width:0}.item-title-row{align-items:center;gap:10px;display:flex}.item-title-row h4,.order-head h4{color:#173e2c;letter-spacing:-.03em;margin:0;font-size:18px}.item-main p,.user-main p,.order-head p{color:#6c7268;margin:10px 0 0;line-height:1.5}.item-main p{white-space:pre-line}.user-meta{color:#768173;flex-wrap:wrap;gap:10px 16px;margin-top:12px;font-size:13px;display:flex}.item-meta{color:#516053;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.item-meta-label{color:#768173;font-size:13px}.item-meta strong,.order-head-right strong{color:#1f4b36;font-size:20px}.item-actions,.order-actions{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.status-pill{color:#1f4b36;background:#2b6a4b1f;border-radius:999px;justify-content:center;align-items:center;min-width:76px;height:32px;padding:0 12px;font-size:13px;font-weight:600;transition:transform .27s,background .27s;display:inline-flex}.status-off{color:#a44c32;background:#a44c321f}.status-done{color:#2a7a4b;background:#479a6824}.order-complete-button{min-width:148px}.order-section-tabs{justify-content:flex-end}.order-section-count{background:#15382714;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;margin-left:8px;padding:0 6px;font-size:12px;line-height:1;display:inline-flex}.filter-chip-active .order-section-count{background:#ffffff38}.full-width{grid-column:1/-1}.upload-input-hidden{clip:rect(0 0 0 0);clip-path:inset(100%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.upload-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.upload-tip{color:#758072;font-size:13px}.upload-preview,.upload-placeholder{background:#f3f5f1;border:1px solid #15382714;border-radius:24px;width:100%;min-height:200px;margin-top:12px;transition:transform .372s,box-shadow .372s,border-color .372s,background .372s}.upload-preview{object-fit:cover;display:block;box-shadow:0 18px 30px #40361c14}.upload-placeholder{color:#7d877d;text-align:center;place-items:center;padding:24px;display:grid}.form-actions{justify-content:flex-end;padding-top:6px;display:flex}.inline-form{grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:16px;display:grid}.simple-row{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.order-card{padding:20px}.order-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.order-head-right{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.order-items{gap:8px;margin-top:14px;display:grid}.order-item{color:#516053;justify-content:space-between;align-items:center;gap:12px;display:flex}.order-actions{flex-flow:wrap;justify-content:flex-end;margin-top:16px}.empty-state{text-align:center;background:linear-gradient(#ffffff8f,#f5f1e9d1);border:1px dashed #2b6a4b2e;border-radius:28px;place-items:center;gap:8px;min-height:200px;padding:28px;transition:transform .372s,box-shadow .372s,border-color .372s,background .372s;display:grid}.list-reveal{opacity:0;animation:.71s cubic-bezier(.2,.8,.2,1) both list-reveal}.nav-item,.filter-chip,.sidebar-footer .ghost-button{animation:.608s both fade-slide-in}.nav-list .nav-item:first-child{animation-delay:68ms}.nav-list .nav-item:nth-child(2){animation-delay:.135s}.nav-list .nav-item:nth-child(3){animation-delay:.203s}.nav-list .nav-item:nth-child(4){animation-delay:.27s}.nav-list .nav-item:nth-child(5){animation-delay:.338s}.stats .stat-card:first-child{animation-delay:51ms}.stats .stat-card:nth-child(2){animation-delay:.152s}.stats .stat-card:nth-child(3){animation-delay:.254s}@keyframes rise-in{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes list-reveal{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-slide-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.login-card,.panel,.stat-card,.item-card,.simple-row,.order-card,.solid-button,.ghost-button,.nav-item,.filter-chip,.item-image,.status-pill{transition:none!important;animation:none!important}.admin-shell:before{display:none}}.empty-state strong{color:#173e2c;font-size:18px}.empty-state span{color:#6a7367;max-width:420px;line-height:1.65}.compact-empty{min-height:136px}.settings-panel{max-width:560px}.settings-form{max-width:420px}