:root {
  --forest-950:#092b25; --forest-900:#0d3b32; --forest-800:#145244; --forest-700:#08745b;
  --mint-600:#09a778; --mint-500:#13c98d; --mint-400:#45d7a7; --mint-100:#dff8ee; --mint-50:#effbf7;
  --amber-600:#b86c13; --amber-500:#df922d; --amber-100:#fff1d9;
  --red-600:#c84646; --red-100:#fee8e6; --blue-100:#e8f2ff; --blue-600:#2c70b7;
  --ink:#132b27; --text:#24413b; --muted:#6d817c; --soft:#93a39f;
  --line:#dce8e4; --line-strong:#c6d9d3; --wash:#f4f8f6; --canvas:#eef4f1; --paper:#fff;
  --shadow-sm:0 4px 14px rgba(19,55,45,.06); --shadow-md:0 16px 42px rgba(14,55,45,.13); --shadow-lg:0 32px 80px rgba(5,37,29,.22);
  --radius-sm:9px; --radius:14px; --radius-lg:22px; --sidebar:248px;
  font-family:Inter,"SF Pro Display","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-width:1180px;min-height:100%;background:var(--canvas);color:var(--text)}
body{font-size:14px;line-height:1.5}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.48}
.is-hidden{display:none!important}
.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(540px,1.08fr) minmax(500px,.92fr);background:#fff}
.login-brand-panel{position:relative;overflow:hidden;min-height:760px;background:radial-gradient(circle at 74% 12%,rgba(62,214,164,.22),transparent 32%),linear-gradient(145deg,#062b25 0%,#0b493b 52%,#087258 100%);color:#fff}
.login-brand-panel:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 85%)}
.ambient{position:absolute;border:1px solid rgba(103,240,194,.23);border-radius:50%;filter:drop-shadow(0 0 30px rgba(24,210,146,.12))}
.ambient-a{width:560px;height:560px;right:-250px;top:80px}.ambient-b{width:340px;height:340px;right:-100px;top:190px}
.login-brand-inner{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;min-height:100vh;padding:48px clamp(54px,6vw,94px)}
.brand-lockup{display:flex;align-items:center;gap:12px;color:var(--forest-900)}
.brand-lockup>span:last-child{display:flex;flex-direction:column}.brand-lockup b{font-size:20px;letter-spacing:.02em}.brand-lockup small{margin-top:2px;font-size:9px;letter-spacing:.17em;opacity:.64}
.brand-lockup-light{color:#fff}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,var(--mint-400),var(--mint-600));box-shadow:inset 0 0 0 1px rgba(255,255,255,.32),0 8px 20px rgba(0,0,0,.14)}
.brand-mark svg{width:32px;fill:#fff}.brand-mark .brand-spark{fill:#f5b84f}
.brand-mark-img{display:block;width:38px;height:38px;flex:none;object-fit:cover;border-radius:9px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.login-brand-panel .brand-mark-img{width:48px;height:48px;border-radius:11px}
.login-mobile-logo .brand-mark-img{width:40px;height:40px;border-radius:9px}
.sidebar .brand-mark-img{width:37px;height:37px;border-radius:8px;box-shadow:none}
.login-promise{margin:auto 0;max-width:620px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:750;letter-spacing:.18em;text-transform:uppercase;color:#8cf2ce}.eyebrow.green{color:var(--mint-600)}
.login-promise h1{margin:22px 0 24px;font-family:"Songti SC","STSong",serif;font-size:clamp(42px,4.5vw,68px);line-height:1.18;letter-spacing:-.035em}.login-promise p{max-width:550px;margin:0;color:rgba(255,255,255,.72);font-size:17px;line-height:1.9}
.login-stat-row{display:grid;grid-template-columns:repeat(3,1fr);max-width:610px;margin-bottom:40px;padding:22px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.login-stat-row div{padding-left:24px;border-left:1px solid rgba(255,255,255,.15)}.login-stat-row div:first-child{padding-left:0;border-left:0}.login-stat-row strong{display:block;font-size:27px}.login-stat-row span{display:block;margin-top:4px;color:rgba(255,255,255,.54);font-size:12px}
.login-quote{margin:0;color:rgba(255,255,255,.5);font-size:13px}.login-form-panel{display:grid;place-items:center;padding:60px;background:linear-gradient(180deg,#fff,#fbfdfc)}
.login-card{width:min(430px,100%)}.login-mobile-logo{display:none}.login-heading{margin-bottom:36px}.login-heading h2{margin:13px 0 8px;color:var(--ink);font-size:34px;letter-spacing:-.04em}.login-heading p{margin:0;color:var(--muted)}
.field{margin-bottom:20px}.field>label{display:block;margin-bottom:8px;color:var(--ink);font-size:13px;font-weight:700}.input-shell{display:flex;align-items:center;min-height:52px;padding:0 15px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;transition:.18s}.input-shell:focus-within{border-color:var(--mint-600);box-shadow:0 0 0 4px rgba(19,201,141,.1)}.input-shell>span{display:grid;color:var(--soft)}.input-shell input{flex:1;min-width:0;padding:0 12px;border:0;outline:0;background:transparent}.field.has-error .input-shell{border-color:var(--red-600)}.field-error{display:none;margin-top:6px;color:var(--red-600)}.field.has-error .field-error{display:block}
.login-options{display:flex;align-items:center;justify-content:space-between;margin:2px 0 24px}.check-label{display:flex;align-items:center;gap:8px;color:var(--muted);cursor:pointer}.check-label input{position:absolute;opacity:0}.check-label span{width:17px;height:17px;border:1px solid var(--line-strong);border-radius:5px;background:#fff}.check-label input:checked+span{border-color:var(--mint-600);background:var(--mint-600);box-shadow:inset 0 0 0 4px #fff}.text-button{padding:0;border:0;background:none;color:var(--mint-600);font-weight:700}.login-error{display:none;margin:-10px 0 16px;padding:10px 12px;border-radius:9px;background:var(--red-100);color:var(--red-600);font-size:12px}.login-error.show{display:block}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 15px;border:1px solid transparent;border-radius:9px;background:#fff;font-weight:700;transition:.16s}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.button.primary{background:var(--forest-900);color:#fff;box-shadow:0 7px 18px rgba(13,59,50,.18)}.button.primary:hover{background:var(--forest-800)}.button.mint{background:var(--mint-500);color:var(--forest-950)}.button.secondary{border-color:var(--line-strong);color:var(--forest-800)}.button.secondary:hover{border-color:var(--mint-600);background:var(--mint-50)}.button.danger{background:var(--red-100);color:var(--red-600)}.button.ghost{background:transparent;color:var(--muted)}.button.small{min-height:31px;padding:0 11px;font-size:12px}.button.large{min-height:54px;border-radius:12px}.button.full{width:100%}
.demo-account{display:flex;align-items:center;width:100%;margin-top:16px;padding:13px 15px;border:1px dashed var(--line-strong);border-radius:12px;background:var(--mint-50);color:var(--forest-800);text-align:left}
.demo-account>span:first-child{display:grid;place-items:center;width:34px;height:34px;margin-right:11px;border-radius:9px;background:var(--mint-100);color:var(--mint-600)}.demo-account>span:nth-child(2){display:flex;flex:1;flex-direction:column}.demo-account b{font-size:13px}.demo-account small{color:var(--muted)}.login-help{margin:24px 0 0;text-align:center;color:var(--soft);font-size:11px}
.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;z-index:20;display:flex;flex-direction:column;height:100vh;padding:24px 15px 16px;background:var(--forest-950);color:#fff}.sidebar .brand-lockup{padding:0 10px 24px;color:#fff;border-bottom:1px solid rgba(255,255,255,.09)}.sidebar .brand-mark{width:37px;height:37px;border-radius:10px}.sidebar .brand-mark svg{width:28px}.sidebar .brand-lockup b{font-size:17px}.sidebar-nav{flex:1;overflow:auto;margin:17px -3px;padding:0 3px}.nav-section{margin:0 0 17px}.nav-label{display:block;margin:0 10px 7px;color:rgba(255,255,255,.34);font-size:10px;font-weight:750;letter-spacing:.14em}.nav-item{position:relative;display:flex;align-items:center;gap:11px;width:100%;min-height:40px;margin:2px 0;padding:0 11px;border:0;border-radius:9px;background:transparent;color:rgba(255,255,255,.61);text-align:left;transition:.15s}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:linear-gradient(100deg,rgba(30,208,148,.22),rgba(30,208,148,.09));color:#8ef1ce}.nav-item.active:before{content:"";position:absolute;left:-3px;width:3px;height:20px;border-radius:3px;background:var(--mint-400)}.nav-item svg{width:18px;height:18px}.nav-item span:nth-child(2){flex:1}.nav-badge{min-width:20px;padding:1px 6px;border-radius:20px;background:var(--amber-500);color:#fff;font-size:10px;text-align:center}.sidebar-profile{position:relative}.operator-button{display:flex;align-items:center;width:100%;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.045);color:#fff;text-align:left}.operator-avatar{display:grid;place-items:center;width:34px;height:34px;margin-right:10px;border-radius:9px;background:linear-gradient(145deg,var(--mint-400),var(--mint-600));color:var(--forest-950);font-weight:800}.operator-meta{display:flex;flex:1;flex-direction:column}.operator-meta b{font-size:12px}.operator-meta small{color:rgba(255,255,255,.42);font-size:10px}.profile-menu{position:absolute;bottom:58px;left:0;right:0;padding:6px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#143f36;box-shadow:var(--shadow-lg)}.profile-menu button{display:flex;gap:8px;width:100%;padding:9px;border:0;border-radius:7px;background:transparent;color:#dbe9e5}.profile-menu button:hover{background:rgba(255,255,255,.08)}
.app-main{min-width:0}.topbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;height:70px;padding:0 30px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(18px)}.breadcrumb small{display:block;color:var(--soft);font-size:10px;font-weight:700;letter-spacing:.08em}.breadcrumb h1{margin:2px 0 0;color:var(--ink);font-size:18px}.top-actions{display:flex;align-items:center;gap:10px}.global-search{display:flex;align-items:center;width:260px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--wash);color:var(--muted)}.global-search input{flex:1;min-width:0;padding-left:9px;border:0;outline:0;background:transparent;font-size:12px}.icon-button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted)}.icon-button:hover{border-color:var(--mint-600);color:var(--mint-600)}.icon-button.plain{width:28px;height:28px;border:0;background:transparent}.notification-button{position:relative}.notification-button:after{content:"";position:absolute;right:7px;top:7px;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:var(--amber-500)}.today-chip{padding:8px 11px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:11px}
.workspace{padding:26px 30px 42px;outline:0}.page{max-width:1600px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.page-head p{margin:0;color:var(--muted)}.page-actions{display:flex;gap:9px}
.hero-strip{position:relative;display:flex;align-items:center;justify-content:space-between;overflow:hidden;margin-bottom:20px;padding:23px 26px;border-radius:var(--radius-lg);background:linear-gradient(110deg,var(--forest-950),var(--forest-800));color:#fff;box-shadow:var(--shadow-md)}.hero-strip:after{content:"";position:absolute;right:-60px;width:280px;height:280px;border:42px solid rgba(77,225,176,.12);border-radius:50%}.hero-strip h2{position:relative;z-index:1;margin:0 0 5px;font-size:23px}.hero-strip p{position:relative;z-index:1;margin:0;color:rgba(255,255,255,.64)}.hero-strip .button{position:relative;z-index:1}
.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:13px;margin-bottom:18px}.metric-card{position:relative;overflow:hidden;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm);transition:.16s}.metric-card.clickable{cursor:pointer}.metric-card.clickable:hover{transform:translateY(-2px);border-color:#b9ddd1;box-shadow:var(--shadow-md)}.metric-card .metric-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:14px;border-radius:9px;background:var(--mint-100);color:var(--mint-600)}.metric-card.warn .metric-icon{background:var(--amber-100);color:var(--amber-600)}.metric-card.danger .metric-icon{background:var(--red-100);color:var(--red-600)}.metric-card label{display:block;color:var(--muted);font-size:11px}.metric-card strong{display:block;margin:4px 0 3px;color:var(--ink);font-size:26px;letter-spacing:-.03em}.metric-card small{color:var(--soft)}.positive{color:var(--mint-600)!important}.negative{color:var(--red-600)!important}
.grid-2{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:18px}.grid-equal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}.panel+.panel{margin-top:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 18px;border-bottom:1px solid var(--line)}.panel-head h3{margin:0;color:var(--ink);font-size:15px}.panel-head small{color:var(--soft)}.panel-body{padding:18px}.panel.no-pad .panel-body{padding:0}
.chart{display:flex;align-items:flex-end;gap:13px;height:215px;padding:20px 4px 0}.chart-column{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.chart-bar-wrap{display:flex;align-items:flex-end;gap:3px;width:70%;height:165px}.chart-bar{width:65%;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--mint-400),var(--mint-600))}.chart-bar.sub{width:35%;background:#dfeae6}.chart-column span{margin-top:9px;color:var(--soft);font-size:10px}.legend{display:flex;justify-content:center;gap:18px;margin-top:9px;color:var(--muted);font-size:10px}.legend i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:2px;background:var(--mint-500)}.legend i.gray{background:#dfeae6}
.progress-list{display:grid;gap:16px}.progress-row{display:grid;grid-template-columns:92px minmax(0,1fr) 45px;align-items:center;gap:10px}.progress-row>span{font-size:12px}.progress-track{height:7px;border-radius:10px;background:var(--wash);overflow:hidden}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint-600),var(--mint-400))}.progress-row b{text-align:right;font-size:12px}.risk-list,.activity-list{display:grid;gap:1px}.risk-item,.activity-item{display:flex;align-items:flex-start;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}.risk-item:last-child,.activity-item:last-child{border-bottom:0}.risk-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--amber-500);box-shadow:0 0 0 5px var(--amber-100)}.risk-item>div,.activity-item>div{flex:1}.risk-item b,.activity-item b{display:block;color:var(--ink);font-size:12px}.risk-item small,.activity-item small{color:var(--muted)}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);background:#fff}.toolbar-group{display:flex;align-items:center;gap:8px}.search-control{display:flex;align-items:center;width:230px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--wash)}.search-control input{flex:1;min-width:0;padding-left:7px;border:0;outline:0;background:transparent;font-size:12px}.select-control,.date-control{height:36px;padding:0 31px 0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text);font-size:12px}.filter-tabs{display:flex;padding:3px;border-radius:9px;background:var(--wash)}.filter-tabs button{min-height:29px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:11px}.filter-tabs button.active{background:#fff;color:var(--forest-800);box-shadow:0 2px 7px rgba(20,60,49,.08);font-weight:700}
.data-panel{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;white-space:nowrap}.data-table th{height:42px;padding:0 14px;border-bottom:1px solid var(--line);background:#f8faf9;color:var(--soft);font-size:10px;font-weight:750;letter-spacing:.05em;text-align:left}.data-table td{height:58px;padding:8px 14px;border-bottom:1px solid #edf2f0;color:var(--text);font-size:12px}.data-table tbody tr{transition:.12s}.data-table tbody tr:hover{background:#f9fcfb}.data-table tbody tr:last-child td{border-bottom:0}.data-table tr.pack-row td{background:#fff8e9}.data-table tr.error-row td{background:#fff4f2}.cell-title{display:block;color:var(--ink);font-weight:700}.cell-sub{display:block;margin-top:2px;color:var(--soft);font-size:10px}.cell-link{padding:0;border:0;background:none;color:var(--forest-700);font-weight:750}.cell-link:hover{text-decoration:underline}.table-actions{display:flex;justify-content:flex-end;gap:5px}.row-button{min-height:29px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--forest-700);font-size:11px}.row-button:hover{border-color:var(--mint-500);background:var(--mint-50)}.row-button.more{width:29px;padding:0;font-size:17px}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--line);color:var(--soft);font-size:11px}.pagination{display:flex;gap:5px}.pagination button{display:grid;place-items:center;min-width:29px;height:29px;border:1px solid var(--line);border-radius:7px;background:#fff}.pagination button.active{border-color:var(--forest-900);background:var(--forest-900);color:#fff}
.status{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:20px;background:var(--wash);color:var(--muted);font-size:10px;font-weight:700}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.success{background:var(--mint-100);color:var(--forest-700)}.status.warning{background:var(--amber-100);color:var(--amber-600)}.status.danger{background:var(--red-100);color:var(--red-600)}.status.info{background:var(--blue-100);color:var(--blue-600)}.tag{display:inline-flex;margin:2px;padding:3px 7px;border-radius:6px;background:var(--wash);color:var(--muted);font-size:10px}.tag.tag-type{background:var(--mint-100);color:var(--forest-700);font-weight:700}.tag-chip-group{display:flex;flex-wrap:wrap;gap:8px}.tag-chip{position:relative;cursor:pointer}.tag-chip input{position:absolute;opacity:0}.tag-chip span{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border:1px solid var(--line-strong);border-radius:20px;background:#fff;color:var(--muted);font-size:11px;transition:.15s}.tag-chip input:checked+span{border-color:var(--mint-600);background:var(--mint-50);color:var(--forest-700);font-weight:700}.tag-chip.is-off span{border-style:dashed;color:var(--soft);background:var(--wash)}.tag-chip.is-off input:checked+span{border-color:var(--red-400);background:var(--red-100);color:var(--red-600);font-weight:700}.tag-chip input:disabled+span{cursor:not-allowed;opacity:.6}.tag-manager{display:grid;gap:22px}.tag-manager-section{display:grid;gap:10px}.tag-manager-head{display:flex;align-items:center;justify-content:space-between}.tag-manager-head div{display:flex;flex-direction:column}.tag-manager-head b{color:var(--ink);font-size:13px}.brand-cell{display:flex;align-items:center;gap:10px}.brand-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--mint-100);color:var(--forest-700);font-size:15px;font-weight:800}.brand-avatar.amber{background:var(--amber-100);color:var(--amber-600)}.package-thumb{width:46px;height:34px;border-radius:7px;object-fit:cover}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;text-align:center}.empty-state .empty-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--wash);color:var(--soft)}.empty-state h3{margin:0;font-size:13px;font-weight:700;color:var(--forest-800)}.empty-state p{margin:0;font-size:11.5px;color:var(--muted)}
.tag-manager-table-scroll{max-height:622px;overflow-y:auto}
.tag-scene-home{background:var(--mint-100);color:var(--forest-700);font-weight:700}.tag-scene-plan{background:var(--blue-100);color:var(--blue-600);font-weight:700}.tag-scene-pick{background:var(--amber-100);color:var(--amber-600);font-weight:700}.tag-scene-order{background:var(--red-100);color:var(--red-600);font-weight:700}
.summary-ribbon{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));margin-bottom:18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}.summary-ribbon div{padding:16px 18px;border-right:1px solid var(--line)}.summary-ribbon div:last-child{border-right:0}.summary-ribbon span{display:block;color:var(--soft);font-size:10px}.summary-ribbon strong{display:block;margin-top:2px;color:var(--ink);font-size:20px}.brand-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}.brand-summary{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.brand-summary header{display:flex;align-items:center;justify-content:space-between}.brand-summary b{color:var(--ink);font-size:12px}.brand-summary small{color:var(--soft)}.brand-summary dl{display:grid;grid-template-columns:repeat(3,1fr);margin:13px 0 0}.brand-summary dt{color:var(--soft);font-size:9px}.brand-summary dd{margin:2px 0 0;color:var(--ink);font-size:15px;font-weight:750}.pack-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:6px;background:var(--amber-100);color:var(--amber-600);font-size:10px;font-weight:750}.suspect-tag{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:999px;background:var(--amber-100);color:var(--amber-600);font-size:10px;font-weight:700}.button:disabled{opacity:.55;cursor:not-allowed}
.tabs{display:flex;gap:2px;padding:0 18px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab-button{position:relative;padding:14px 15px;border:0;background:transparent;color:var(--muted);font-size:12px;flex:none;white-space:nowrap}.tab-button.active{color:var(--forest-700);font-weight:750}.tab-button.active:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:var(--mint-500)}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.content-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}.content-card img{width:100%;height:150px;object-fit:cover}.content-card-body{padding:15px}.content-card h3{margin:0 0 5px;color:var(--ink);font-size:15px}.content-card p{height:42px;margin:0;color:var(--muted);font-size:11px;overflow:hidden}.content-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.setting-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px}.setting-menu{padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;height:max-content}.setting-menu button{display:flex;width:100%;padding:10px;border:0;border-radius:8px;background:transparent;color:var(--muted);text-align:left}.setting-menu button.active{background:var(--mint-50);color:var(--forest-700);font-weight:750}.form-section{padding:21px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.form-section h3{margin:0 0 5px;color:var(--ink)}.form-section>p{margin:0 0 22px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field.wide{grid-column:1/-1}.form-field label{color:var(--ink);font-size:11px;font-weight:700}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;outline:0}.form-field textarea{min-height:82px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--mint-600);box-shadow:0 0 0 3px rgba(19,201,141,.09)}.form-hint{color:var(--soft);font-size:10px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}.switch{display:inline-flex;align-items:center;gap:8px}.switch input{position:absolute;opacity:0}.switch-track{position:relative;width:35px;height:20px;border-radius:20px;background:#ccd9d5;transition:.16s}.switch-track:after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.16s}.switch input:checked+.switch-track{background:var(--mint-600)}.switch input:checked+.switch-track:after{transform:translateX(15px)}
.req-star{color:var(--red-600);font-style:normal;margin-right:3px;font-weight:800}.form-group-head{grid-column:1/-1;display:flex;align-items:baseline;gap:9px;margin-top:6px;padding-top:16px;border-top:1px dashed var(--line)}.form-group-head:first-child{border-top:0;padding-top:0;margin-top:0}.form-group-head b{color:var(--forest-800);font-size:12px}.form-group-head small{color:var(--soft);font-size:10px}
.modal-backdrop,.drawer-backdrop{position:fixed;inset:0;z-index:90;background:rgba(5,27,22,.48);backdrop-filter:blur(4px);animation:fadeIn .16s}.modal-backdrop{display:grid;place-items:center;padding:30px;z-index:100}.modal{width:min(610px,calc(100vw - 60px));max-height:calc(100vh - 60px);overflow:hidden;border:1px solid rgba(255,255,255,.6);border-radius:19px;background:#fff;box-shadow:var(--shadow-lg);animation:popIn .2s}.modal.wide{width:min(850px,calc(100vw - 60px))}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:19px 21px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0;color:var(--ink);font-size:18px}.modal-body{max-height:calc(100vh - 200px);overflow:auto;padding:21px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 21px;border-top:1px solid var(--line);background:#fafcfb}.drawer-backdrop{display:flex;justify-content:flex-end}.drawer{display:flex;flex-direction:column;width:min(620px,calc(100vw - 80px));height:100%;background:#fff;box-shadow:var(--shadow-lg);animation:slideIn .22s}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}.drawer-head h3{margin:0;color:var(--ink);font-size:19px}.drawer-body{flex:1;overflow:auto;padding:22px}.drawer-foot{display:flex;justify-content:flex-end;gap:8px;padding:15px 22px;border-top:1px solid var(--line)}
.detail-hero{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding:17px;border-radius:13px;background:linear-gradient(120deg,var(--mint-50),#fff)}.detail-avatar{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:var(--forest-900);color:#fff;font-size:20px;font-weight:800}.detail-hero h4{margin:0;color:var(--ink);font-size:17px}.detail-hero p{margin:3px 0 0;color:var(--muted)}.detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;border:1px solid var(--line);border-radius:12px;background:var(--line);overflow:hidden}.detail-list div{padding:13px;background:#fff}.detail-list span{display:block;color:var(--soft);font-size:10px}.detail-list b{display:block;margin-top:4px;color:var(--text);font-size:12px}.timeline{margin:18px 0 0;padding-left:8px}.timeline-item{position:relative;padding:0 0 18px 21px;border-left:1px solid var(--line)}.timeline-item:last-child{border-left-color:transparent}.timeline-item:before{content:"";position:absolute;left:-5px;top:2px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:var(--mint-500);box-shadow:0 0 0 1px var(--mint-500)}.timeline-item b{display:block;color:var(--ink);font-size:11px}.timeline-item small{color:var(--soft)}
.detail-list .detail-section-title{grid-column:1/-1;padding:9px 13px 5px;background:var(--mint-50);color:var(--forest-700);font-size:11px;font-weight:750}.detail-list .detail-section-title b{display:inline;margin:0;color:inherit;font-size:inherit}
.drag-cell{width:76px;text-align:center}.drag-cell .grip{display:inline-flex;vertical-align:middle;color:var(--soft);cursor:grab}.drag-cell .move-stack{display:inline-flex;flex-direction:column;vertical-align:middle;margin-left:5px;gap:1px}.mini-btn{display:grid;place-items:center;width:16px;height:13px;border:0;border-radius:4px;background:transparent;color:var(--soft);cursor:pointer;padding:0}.mini-btn:hover{background:var(--mint-50);color:var(--mint-600)}
.brand-editor{display:grid;gap:14px}.editor-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.editor-toolbar .cell-sub{margin-left:4px}.editor-blocks{display:grid;gap:10px}.editor-block{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:.15s}.editor-block.dragging{opacity:.45}.editor-block.drag-before{box-shadow:0 -3px 0 var(--mint-600)}.editor-block.drag-after{box-shadow:0 3px 0 var(--mint-600)}.editor-grip{color:var(--soft);cursor:grab;margin-top:4px;flex:none}.editor-block-body{flex:1;min-width:0}.editor-block-body p{margin:0;color:var(--ink);font-size:12px;line-height:1.8;white-space:pre-wrap}.editor-block-img{width:120px;height:80px;border-radius:9px;object-fit:cover;display:block;margin-bottom:4px}.editor-block-ops{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.editor-preview-img{width:100%;max-height:180px;object-fit:cover;border-radius:10px;margin-bottom:8px}.editor-preview-text{margin:0 0 10px;color:var(--muted);font-size:12px;line-height:1.8;white-space:pre-wrap}.brand-intro-preview{padding:18px;background:var(--wash);border-radius:14px}.brand-editor-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:stretch;height:100%;min-height:0}.brand-editor-main{min-width:0;display:flex;flex-direction:column;min-height:0}.brand-editor-live{display:grid;gap:10px;align-content:start;overflow:auto;min-height:0}.brand-editor-live .live-label{color:var(--muted);font-size:11px;text-align:center}.brand-editor-live .mobile-preview{width:100%;margin:0}.editor-target-groups{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--wash)}.editor-target-label{color:var(--muted);font-size:11px;font-weight:700;flex:none}.editor-blocks{flex:1;overflow:auto;min-height:140px}.rich-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--wash)}.rich-toolbar select{min-height:30px;border:1px solid var(--line-strong);border-radius:8px;background:#fff}.rich-toolbar input[type="color"]{width:36px;height:30px;padding:2px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;cursor:pointer}.rich-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:30px;padding:0 8px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--forest-800);font-size:13px;cursor:pointer;user-select:none}.rich-btn input{position:absolute;opacity:0;pointer-events:none}.rich-btn:has(input:checked){border-color:var(--mint-600);background:var(--mint-50);color:var(--mint-700)}.rich-textarea{min-height:110px}.rich-live-preview{margin-top:2px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--wash)}.rich-live-preview p{margin:0;line-height:1.8;white-space:pre-wrap}.package-order-list{display:grid;gap:9px;margin-top:14px}.package-order-row{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.package-order-main{flex:1;min-width:0}.package-order-main b{display:block;color:var(--ink);font-size:13px}.package-order-main small{color:var(--muted);font-size:10px}.package-order-grip{color:var(--soft);cursor:grab;padding:6px 2px;flex:none}.package-order-row.dragging{opacity:.45}.package-order-row.drag-over{box-shadow:0 -3px 0 var(--mint-600)}.mini-btn:disabled{opacity:.35;cursor:not-allowed}.modal:has(.brand-editor){height:min(880px,calc(100vh - 40px));max-height:calc(100vh - 40px)}.modal:has(.brand-editor) .modal-body{max-height:calc(100vh - 128px);display:flex}.modal:has(.brand-editor) .modal-body>.brand-editor{flex:1;min-height:0}@media(max-width:1100px){.brand-editor-layout{grid-template-columns:1fr}.brand-editor-live .mobile-preview{max-width:300px;margin-inline:auto}}
.confirm-illustration{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 15px;border-radius:16px;background:var(--amber-100);color:var(--amber-600)}.confirm-copy{text-align:center}.confirm-copy h3{margin:0;color:var(--ink);font-size:20px}.confirm-copy p{margin:8px auto 0;max-width:430px;color:var(--muted)}.validation-box{margin-top:16px;padding:13px;border:1px solid #f3d1cc;border-radius:10px;background:#fff7f5}.validation-box b{display:block;color:var(--red-600)}.validation-box ul{margin:7px 0 0;padding-left:18px;color:var(--muted);font-size:11px}
.toast-stack{position:fixed;right:22px;top:84px;z-index:120;display:grid;gap:9px}.toast{display:flex;align-items:flex-start;gap:10px;width:320px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-md);animation:toastIn .2s}.toast-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--mint-100);color:var(--mint-600)}.toast.error .toast-icon{background:var(--red-100);color:var(--red-600)}.toast b{display:block;color:var(--ink);font-size:12px}.toast small{color:var(--muted)}
.mobile-preview{width:280px;margin:0 auto;padding:14px;border:8px solid var(--forest-950);border-radius:30px;background:#fff;box-shadow:var(--shadow-md)}.mobile-preview-head{padding:10px;text-align:center;color:var(--ink);font-weight:750}.phrase-preview{margin:8px 0;padding:18px;border:1px solid #a7e8d2;border-radius:14px;background:linear-gradient(135deg,#f3fff9,#dcf8ee);color:var(--forest-800);font-size:16px;font-weight:750;line-height:1.65}.login-loader{width:17px;height:17px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
svg.icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes popIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes slideIn{from{transform:translateX(100%)}to{transform:none}}@keyframes toastIn{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1280px){:root{--sidebar:220px}.workspace{padding:22px}.topbar{padding:0 22px}.metric-grid{grid-template-columns:repeat(3,1fr)}.brand-summary-grid{grid-template-columns:repeat(3,1fr)}.global-search{width:210px}.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.login-view{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{min-height:100vh}.login-mobile-logo{display:flex;margin-bottom:55px}}
.table-actions{flex-wrap:wrap;max-width:380px}
.order-row-actions{display:grid;grid-template-columns:repeat(2,max-content);justify-content:end;align-items:center}
.row-button.compact{min-height:26px;padding:0 8px;font-size:10.5px;border-radius:6px}
.row-button[disabled]{opacity:.45;cursor:not-allowed}
.sidebar-nav{overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}
.sidebar-nav::-webkit-scrollbar{display:none}
.nav-section{margin:0 0 8px}
.nav-label{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0 0 4px;padding:0 10px;background:transparent;border:0;color:rgba(255,255,255,.34);font-size:10px;font-weight:750;letter-spacing:.14em;text-align:left;cursor:pointer}
.nav-label svg{opacity:.7;transition:transform .15s}
.nav-label:hover{color:rgba(255,255,255,.55)}
.nav-item{min-height:30px;margin:1px 0;padding:0 10px;font-size:12px;gap:9px;border-radius:8px}
.nav-badge{min-width:18px;padding:0 5px;font-size:9px}
.brand-logo-img{width:36px;height:36px;border-radius:10px;object-fit:cover;background:#fff}
.detail-hero .brand-logo-img{width:50px;height:50px;border-radius:14px}
.image-picker{width:100%;min-height:40px;padding:8px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--text);font-size:12px}
.image-preview{display:none;max-width:180px;max-height:120px;margin-top:8px;border:1px solid var(--line);border-radius:8px;object-fit:cover}
/* === UI 规范：组件级统一（保留绿色主题）=== */
.button{min-height:36px;padding:0 14px;border-radius:9px;font-size:12px;font-weight:650}
.button.small{min-height:30px;padding:0 10px;font-size:11px}
.toolbar{min-height:44px;padding:0 14px}
.card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.content-card img{height:92px}
.content-card-body{padding:12px}
.content-card h3{font-size:13px}
.content-card p{height:32px;font-size:11px}
.content-card footer{margin-top:10px;padding-top:8px}
@media(max-width:1280px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 上传组件：虚线框 + 居中加号 */
.upload-box{position:relative;display:flex;align-items:center;justify-content:center;min-height:96px;border:1.5px dashed var(--line-strong);border-radius:10px;background:var(--wash);cursor:pointer;overflow:hidden;transition:border-color .15s,background .15s}
.upload-box:hover{border-color:var(--mint-500);background:#f0faf6}
.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--soft);font-size:12px}
.upload-placeholder svg{color:var(--mint-600)}
.upload-preview{display:none;width:100%;height:96px;object-fit:cover}
.upload-box.has-image .upload-placeholder{display:none}
.upload-box.has-image .upload-preview{display:block}
.upload-repick{display:none;position:absolute;right:6px;bottom:6px;padding:2px 8px;border-radius:6px;background:rgba(13,59,50,.72);color:#fff;font-size:10px}
.upload-box.has-image .upload-repick{display:inline-flex}
/* 工具栏两行结构：筛选行 + 新建操作行 */
.toolbar-stack{display:flex;flex-direction:column;gap:10px;padding:14px;border-bottom:1px solid var(--line);background:#fff}
.toolbar-stack .toolbar{border-bottom:0;padding:0}
.toolbar-actions{justify-content:flex-start}
/* 右上角用户信息 */
.top-actions{position:relative}
.top-operator{margin-left:10px;background:rgba(13,59,50,.06);border:1px solid transparent;border-radius:10px;padding:4px 10px;cursor:pointer}
.top-operator:hover{background:rgba(13,59,50,.1)}
.top-operator{width:auto;color:var(--ink);border:1px solid var(--line);background:#fff}
.top-operator .operator-meta b{color:var(--ink)}
.top-operator .operator-meta small{color:var(--muted)}
.top-profile-menu{position:absolute;right:0;top:48px;width:200px;padding:6px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-md);z-index:80}
.top-profile-menu button{display:flex;width:100%;align-items:center;gap:9px;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:12px;text-align:left;cursor:pointer}
.top-profile-menu button:hover{background:var(--wash)}
/* 角色权限矩阵 */
.role-perm-grid{display:grid;gap:12px}
.role-perm-group{border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.role-perm-group>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}
.role-perm-group b{color:var(--ink);font-size:11px}
.role-perm-grid .perm-check{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);font-size:10px;font-weight:400;cursor:pointer;white-space:nowrap}
.perm-check input{width:13px;height:13px;min-height:0;margin:0;flex:none;accent-color:var(--mint-600)}
.perm-check span{white-space:nowrap;line-height:1.4}
.perm-check.on{border-color:var(--mint-500);background:var(--mint-50);color:var(--forest-700)}
.perm-pill{display:inline-flex;padding:3px 9px;border-radius:999px;background:var(--wash);color:var(--muted);font-size:10px}
.perm-pill.on{background:var(--mint-100);color:var(--forest-700)}
/* 导航栏固定：切换菜单时页面不随内容滚动、导航不跳动 */
.app-shell{display:block;min-height:100vh;padding-left:var(--sidebar)}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);height:100vh;z-index:40}
/* 每周菜单 */
.menu-week-head{display:flex;align-items:center;justify-content:space-between;margin:14px 16px 12px}
.menu-week-head b{color:var(--ink);font-size:14px}
.menu-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 16px 16px}
.menu-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}
.menu-card.alert{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}
.menu-card.paused{opacity:.55}.menu-card.focused{outline:2px solid var(--mint-500);outline-offset:2px}
.menu-card header{display:flex;align-items:center;gap:9px;padding:12px;border-bottom:1px solid var(--line)}
.menu-card header b{display:block;color:var(--ink);font-size:12px}.menu-card.has-image header b{color:var(--muted)}
.menu-card header small{display:block;margin-top:2px;color:var(--soft);font-size:10px}
.menu-card-img{width:100%;height:150px;object-fit:cover;cursor:zoom-in}.menu-thumb{width:60px;height:40px;border-radius:8px;object-fit:cover;cursor:pointer;display:block;border:1px solid var(--line)}.menu-detail-img{width:100%;max-height:220px;object-fit:cover;border-radius:12px;cursor:pointer;display:block}.tab-badge{display:inline-flex;margin-left:6px;padding:1px 6px;border-radius:10px;font-size:9px;font-style:normal;font-weight:750;vertical-align:middle}.tab-badge.current{background:var(--mint-600);color:#fff}.tab-badge.next{background:var(--amber-500);color:#fff}.seg-group{display:inline-flex;padding:3px;border:1px solid var(--line-strong);border-radius:9px;background:var(--wash)}.seg-group button{padding:6px 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer}.seg-group button.active{background:#fff;color:var(--forest-800);box-shadow:0 1px 4px rgba(0,0,0,.08)}.menu-grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;padding:16px}.menu-grid-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;transition:.15s}.menu-grid-card:hover{box-shadow:var(--shadow-md)}.menu-grid-img{width:100%;height:130px;object-fit:cover;cursor:zoom-in;display:block}.menu-grid-meta{padding:10px 12px;display:grid;gap:5px}.menu-grid-meta b{color:var(--muted);font-size:13px}.menu-grid-meta small{color:var(--soft);font-size:10px}.menu-grid-ops{display:flex;gap:6px;padding:0 12px 12px}.menu-switch-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px;padding:13px 16px;border:1px solid var(--mint-100);border-radius:12px;background:linear-gradient(120deg,var(--mint-50),#fff)}.menu-switch-info{display:flex;flex-direction:column}.menu-switch-info b{color:var(--forest-800);font-size:13px}.menu-switch-info small{color:var(--muted);font-size:10px;margin-top:2px}.menu-switch-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.menu-switch-controls .time-control{min-height:38px;padding:0 11px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;outline:0}
.menu-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;height:150px;background:var(--wash);color:var(--soft)}
.menu-empty svg{color:var(--mint-600)}
.menu-card footer{display:flex;justify-content:flex-end;gap:6px;padding:10px 12px;border-top:1px solid var(--line)}
.menu-flag{padding:2px 8px;border-radius:999px;background:var(--red-100);color:var(--red-600);font-size:10px;font-weight:700}
.menu-flag.paused{background:var(--wash);color:var(--muted)}
@media(max-width:1280px){.menu-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.package-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--forest-900);color:#fff;font-size:14px;font-weight:800;flex:none}
.advantage-row{display:flex;align-items:center;gap:8px}
.advantage-row input{flex:1;min-height:36px;padding:8px 11px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;outline:0}
.advantage-row input:focus{border-color:var(--mint-600);box-shadow:0 0 0 3px rgba(19,201,141,.09)}
.advantage-row .mini-btn{width:22px;height:22px}
.assign-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.assign-col{display:grid;gap:9px}
.assign-col h4{margin:0;color:var(--ink);font-size:13px}
.assign-list{display:grid;gap:8px;max-height:340px;overflow:auto;padding-right:4px}
.assign-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fff}
.assign-row span{font-size:12px;color:var(--ink)}
.tabs-scroll-wrap{display:flex;align-items:center;border-bottom:1px solid var(--line)}
.tabs-scroll-wrap .tabs{flex:1;border-bottom:0;padding:0 6px}
.tab-arrow{flex:none;display:grid;place-items:center;width:32px;height:32px;margin:0 6px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);cursor:pointer}
.tab-arrow:hover{color:var(--mint-600);border-color:var(--mint-600)}
.delivery-slot-row{display:flex;align-items:center;gap:8px}
.delivery-slot-row .time-control{min-height:36px;padding:0 11px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;outline:0}
.delivery-slot-row .time-control:focus{border-color:var(--mint-600);box-shadow:0 0 0 3px rgba(19,201,141,.09)}
.delivery-slot-row .slot-suffix{color:var(--ink);font-size:12px;font-weight:700}
.delivery-slot-row .slot-meals{display:inline-flex;gap:6px;flex:none}
.slot-meal-option{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:11px;cursor:pointer;transition:.15s}
.slot-meal-option input{position:absolute;opacity:0;pointer-events:none}
.slot-meal-option.active,.slot-meal-option:has(input:checked){border-color:var(--mint-600);background:var(--mint-50);color:var(--forest-800);font-weight:700}
.delivery-slot-row .mini-btn{width:22px;height:22px}
.menu-actions-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:12px 16px;border:1px solid var(--mint-100);border-radius:12px;background:linear-gradient(120deg,var(--mint-50),#fff)}
.menu-actions-bar .time-control{min-height:34px;padding:0 10px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;outline:0}
.menu-actions-bar .bar-divider{width:1px;height:22px;background:var(--line)}
.menu-actions-bar .bar-label{font-size:12px;color:var(--forest-800);white-space:nowrap}.menu-grid-panel{display:flex;flex-direction:column}.menu-grid-panel .toolbar-stack{order:1}.menu-grid-panel .menu-grid-cards,.menu-grid-panel .table-footer{order:2}.plan-cal-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px}.plan-cal-calendar{min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.plan-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.plan-cal-head b{font-size:13px;color:var(--forest-800)}.plan-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.plan-cal-weekday{text-align:center;color:var(--soft);font-size:10px;font-weight:700;padding:4px 0}.plan-cal-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;padding:4px 2px;border:1px solid var(--line);border-radius:8px;background:var(--wash);color:var(--muted);font-size:12px;cursor:pointer}.plan-cal-cell b{color:var(--ink)}.plan-cal-cell small{font-size:9px;color:var(--mint-700)}.plan-cal-cell.selected{border-color:var(--mint-600);background:var(--mint-50);box-shadow:0 0 0 2px rgba(19,201,141,.15)}.plan-cal-cell.disabled{opacity:.35;cursor:not-allowed;background:transparent}.plan-cal-cell.empty{border:0;background:transparent;cursor:default}.plan-cal-detail{min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--wash)}.plan-cal-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.plan-cal-detail-head b{color:var(--forest-800);font-size:14px}.plan-cal-detail-head span{color:var(--muted);font-size:11px}.plan-cal-view-tabs{margin-bottom:10px}.plan-cal-table{margin-top:4px}.plan-form-grid .plan-rule-checks{display:flex;flex-wrap:wrap;gap:8px}.plan-rule-check{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--wash);color:var(--muted);font-size:11px;cursor:pointer}.plan-rule-check input{accent-color:var(--mint-600)}.plan-rule-radios{flex-wrap:wrap}.plan-weekday-wrap{display:none}.plan-weekday-wrap.show{display:flex;flex-direction:column;gap:8px}.plan-weekday-picker{display:flex;gap:6px}.plan-weekday-picker label{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:var(--wash);color:var(--muted);font-size:12px;cursor:pointer}.plan-weekday-picker input{position:absolute;opacity:0;pointer-events:none}.plan-weekday-picker label:has(input:checked){border-color:var(--mint-600);background:var(--mint-50);color:var(--forest-800);font-weight:700}.plan-delivery-unified,.plan-delivery-days{display:grid;gap:10px}.plan-delivery-mode{display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-delivery-mode b{font-size:12px;color:var(--forest-800)}.plan-perday-switch{display:flex;align-items:center;gap:8px}.plan-perday-switch small{color:var(--muted);font-size:10px}.plan-delivery-day{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.plan-delivery-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.plan-delivery-day-head b{color:var(--forest-800);font-size:12px}.plan-meal-count button{font-size:10px;padding:4px 8px}.plan-meal-type{display:flex;gap:6px;margin-bottom:8px}.plan-meal-type button{min-height:28px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:11px}.plan-meal-type button.active{border-color:var(--mint-600);background:var(--mint-50);color:var(--forest-800);font-weight:700}.plan-delivery-slot{display:flex;align-items:center;gap:8px;margin-bottom:8px}.plan-delivery-slot span{width:76px;color:var(--muted);font-size:11px}.plan-delivery-slot select{flex:1;min-width:0;min-height:34px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;background:#fff}.plan-addr-toggle{margin:2px 0 6px;padding:0;border:0;background:none;color:var(--mint-700);font-size:11px;cursor:pointer}.plan-addr-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;border:1px dashed var(--line);border-radius:9px;background:var(--wash)}.plan-addr-panel[hidden]{display:none}.plan-addr-panel select{min-height:32px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff}.plan-delivery-slot-merged{align-items:flex-end}.plan-time-group{display:flex;align-items:center;gap:7px;flex:1;min-width:0}.plan-time-group small{color:var(--soft);font-size:10px;flex:none}.plan-time-group select{flex:1;min-width:0}.plan-addr-item{display:flex;flex-direction:column;gap:5px}.plan-addr-item small{color:var(--soft);font-size:10px}.plan-rule-radios button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:46px;padding:6px 12px}.plan-rule-radios button small{font-size:9px;color:var(--soft);font-weight:600}.plan-rule-radios button.active small{color:var(--mint-700)}.plan-rule-summary{margin:8px 0 0;padding:7px 10px;border-radius:8px;background:var(--mint-50);color:var(--forest-700);font-size:11px;font-weight:700}.plan-delivery-unified.is-dimmed{opacity:.55}.plan-delivery-unified.is-dimmed .plan-delivery-day{pointer-events:none}
.menu-switch-settings{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}
.readonly-field{background:var(--wash)!important;color:var(--soft)!important;cursor:not-allowed}

.activity-cell{display:inline-flex;align-items:center}
.hint-icon{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:6px;border-radius:50%;background:var(--wash);color:var(--muted);font-size:10px;font-weight:800;cursor:help;position:relative}
.hint-tip{position:fixed;transform:translate(-50%,-100%);max-width:250px;padding:8px 10px;border-radius:8px;background:#143f36;color:#dbe9e5;font-size:10px;line-height:1.6;white-space:normal;z-index:300;pointer-events:none;box-shadow:var(--shadow-lg);display:none}
.delivery-slot-row .slot-suffix{white-space:nowrap;flex:none}
.delivery-slot-row+.delivery-slot-row{margin-top:8px}
.assign-row{min-height:50px}
.assign-row .button{white-space:nowrap}
.toolbar-actions .button{min-height:38px;padding:0 15px;font-size:12px}
.upload-box[data-upload-box="loginBg"]{min-height:340px}
.upload-box[data-upload-box="loginBg"] .upload-preview{height:340px;object-fit:cover}
.user-group-row td{background:var(--wash);font-weight:750;color:var(--forest-800)}
.user-group-row td .cell-sub{display:inline;margin-left:8px;color:var(--soft)}
.data-table th{text-align:center}
.data-table td{text-align:center}
.data-table td .table-actions{justify-content:center}
.data-table td .cell-title,.data-table td .cell-sub{text-align:center}
.user-group-row td{text-align:left}
@keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes ambientFloat{0%,100%{transform:translate(0,0) rotate(0deg)}50%{transform:translate(-20px,16px) rotate(3deg)}}
@keyframes ambientFloat2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(16px,-12px) scale(1.06)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes glowPulse{0%,100%{box-shadow:0 7px 18px rgba(13,59,50,.18)}50%{box-shadow:0 7px 26px rgba(19,201,141,.5)}}
.login-brand-panel{background-size:220% 220%;animation:gradientShift 16s ease-in-out infinite}
.login-brand-panel:before{content:"";position:absolute;width:420px;height:120%;left:-55%;top:-10%;background:linear-gradient(90deg,transparent,rgba(112,245,199,.09),transparent);transform:skewX(-18deg);animation:loginSweep 10s 1s ease-in-out infinite}
.ambient-a{animation:ambientFloat 9s ease-in-out infinite}
.ambient-b{animation:ambientFloat2 12s ease-in-out infinite}
.login-brand-inner .brand-lockup{animation:fadeUp .6s ease both}
.login-brand-inner .login-promise{animation:fadeUp .6s .12s ease both}
.login-brand-inner .login-quote{animation:fadeUp .6s .28s ease both}
@keyframes loginSweep{0%,45%{left:-55%;opacity:0}55%{opacity:1}75%,100%{left:125%;opacity:0}}
@media(prefers-reduced-motion:reduce){.login-brand-panel,.login-brand-panel:before,.ambient,.login-brand-inner .brand-lockup,.login-brand-inner .login-promise,.login-brand-inner .login-quote,.login-card,.login-card *{animation:none!important}}
.login-card{animation:popIn .5s ease both}
.login-card .login-heading{animation:fadeUp .45s ease both}
.login-card #account-field{animation:fadeUp .45s .08s ease both}
.login-card #password-field{animation:fadeUp .45s .16s ease both}
.login-card .login-options{animation:fadeUp .45s .24s ease both}
.login-card #login-submit{animation:fadeUp .45s .32s ease both,glowPulse 2.8s 1s ease-in-out infinite}
.number-unit-field{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:9px;background:#fff;overflow:hidden}
.number-unit-field:focus-within{border-color:var(--mint-600);box-shadow:0 0 0 3px rgba(19,201,141,.09)}
.number-unit-field input{flex:1;border:0;border-radius:0;box-shadow:none!important}
.number-unit-field span{padding:0 13px;border-left:1px solid var(--line);color:var(--muted);font-size:12px}
.brand-price-range{display:grid;grid-template-columns:auto minmax(70px,1fr) auto minmax(70px,1fr) auto;align-items:center;gap:8px}.brand-price-range input{min-width:0}.brand-price-range span,.brand-price-range b{color:var(--muted);font-size:12px}.brand-media-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.brand-media-row .form-field{min-width:0}.brand-logo-field>label small{margin-left:8px;color:var(--soft);font-weight:500}.brand-media-row .upload-box,.brand-description-field textarea{height:150px;min-height:150px}.brand-description-field textarea{resize:none}
.daily-time-filter{display:flex;align-items:center;gap:7px}.daily-time-filter input{min-height:36px;padding:0 9px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--ink)}.daily-time-filter span{color:var(--muted);font-size:11px}.daily-view-tabs{margin-left:auto}.brand-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}

/* 经营工作台 */
.dashboard-filterbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}
.dashboard-period-tabs{flex:none}.dashboard-custom-range{display:none;align-items:center;gap:8px}.dashboard-custom-range.show{display:flex}.dashboard-custom-range .date-control{min-height:36px;padding:0 10px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--ink)}
.dashboard-kpis{grid-template-columns:repeat(4,minmax(165px,1fr))}.dashboard-kpis .metric-card strong{font-size:22px}.dashboard-main-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:stretch}.dashboard-main-grid>.panel{min-width:0;margin-bottom:18px}
.dashboard-trend-controls{display:flex;align-items:center;gap:10px}.dashboard-trend-controls .select-control{width:auto;min-width:130px}.dashboard-chart{display:flex;align-items:flex-end;gap:8px;height:205px;overflow-x:auto;padding:16px 4px 2px;border-bottom:1px solid var(--line)}.dashboard-chart-column{display:flex;flex:1 0 32px;min-width:32px;height:100%;align-items:center;justify-content:flex-end;flex-direction:column;gap:6px}.dashboard-chart-column b{font-size:10px;color:var(--muted)}.dashboard-chart-column i{display:block;width:70%;max-width:30px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,var(--mint-400),var(--mint-600));box-shadow:0 4px 10px rgba(19,201,141,.15)}.dashboard-chart-column span{font-size:9px;color:var(--soft);white-space:nowrap}.brand-ranking .table-wrap{max-height:290px;overflow:auto}.brand-ranking .data-table{min-width:720px}
.dashboard-attention{align-items:stretch}.dashboard-attention>.panel{margin-bottom:0}.dashboard-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dashboard-signal-grid button,.dashboard-signal-grid>div{display:flex;min-width:0;min-height:74px;padding:12px;align-items:flex-start;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--wash);color:var(--ink);text-align:left}.dashboard-signal-grid button{cursor:pointer}.dashboard-signal-grid button:hover{border-color:var(--mint-500);background:var(--mint-50)}.dashboard-signal-grid span{color:var(--muted);font-size:11px}.dashboard-signal-grid b{color:var(--forest-800);font-size:18px;word-break:break-word}.dashboard-signal-grid.owner>div{flex-direction:column}.dashboard-signal-grid.owner b{font-size:15px}
@media(max-width:1280px){.dashboard-kpis{grid-template-columns:repeat(2,minmax(165px,1fr))}.dashboard-main-grid{grid-template-columns:1fr}.dashboard-filterbar{align-items:flex-start;flex-direction:column}.dashboard-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dashboard-section-title{display:flex;align-items:flex-end;justify-content:space-between;margin:22px 0 12px}.dashboard-section-title h2{margin:0;color:var(--ink);font-size:18px}.dashboard-section-title p{margin:4px 0 0;color:var(--muted);font-size:11px}.dashboard-global-kpis{display:flex;flex-wrap:wrap}.dashboard-global-kpis .metric-card{flex:1 1 0;min-width:170px}.dashboard-period-kpis{display:flex;flex-wrap:wrap}.dashboard-period-kpis .metric-card{flex:1 1 0;min-width:210px}.dashboard-business-card{min-height:155px}.dashboard-business-card strong{margin:8px 0 12px;font-size:25px}.dashboard-business-card.danger strong{color:var(--red-600)}.metric-breakdown{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.metric-breakdown span{display:flex;align-items:center;gap:5px;padding:5px 7px;border-radius:7px;background:var(--wash)}.metric-breakdown small{color:var(--muted);font-size:9px}.metric-breakdown b{color:var(--forest-800);font-size:10px}.dashboard-analysis-grid{align-items:start;margin-top:18px}.dashboard-analysis-grid>.panel{min-width:0;margin-bottom:18px}.dashboard-chart.dual .dashboard-chart-column{position:relative}.dashboard-chart.dual .dashboard-chart-column i{width:42%;transform:translateX(-28%)}.dashboard-chart.dual .dashboard-chart-column em{position:absolute;bottom:18px;left:54%;display:block;width:26%;max-width:13px;border-radius:6px 6px 2px 2px;background:#77a9e5}.chart-legend{display:flex;justify-content:center;gap:18px;padding-top:10px}.chart-legend span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.chart-legend i{width:8px;height:8px;border-radius:2px}.chart-legend .purchase{background:var(--mint-500)}.chart-legend .user{background:#77a9e5}.brand-trend-chart{padding:6px 4px 2px}.brand-line-svg{display:block;width:100%;height:250px;overflow:visible}.brand-line-legend{flex-wrap:wrap;gap:9px 16px;padding-top:8px}.age-login-chart{min-height:250px}.age-line{display:flex;align-items:flex-end;justify-content:space-around;height:190px;padding:20px 12px 28px;border-bottom:1px solid var(--line)}.age-point{position:relative;display:flex;flex:1;height:100%;align-items:center;justify-content:flex-end;flex-direction:column}.age-point:before{content:"";position:absolute;left:50%;bottom:calc(var(--point-y) * .95);width:100%;height:2px;background:var(--mint-300);transform:translateY(50%)}.age-point:last-child:before{display:none}.age-point i{position:absolute;z-index:2;left:50%;bottom:calc(var(--point-y) * .95);width:10px;height:10px;border:3px solid #fff;border-radius:50%;background:var(--mint-600);box-shadow:0 0 0 1px var(--mint-600);transform:translate(-50%,50%)}.age-point b{position:absolute;left:50%;bottom:calc(var(--point-y) * .95 + 10px);color:var(--forest-800);font-size:11px;transform:translateX(-50%)}.age-point span{position:absolute;bottom:-24px;color:var(--muted);font-size:9px;white-space:nowrap}.refund-pie-panel{margin-top:18px}.refund-pie-panel .select-control{width:auto;min-width:140px}.refund-pie-layout{display:flex;align-items:center;justify-content:center;gap:44px;min-height:250px}.refund-pie{display:grid;place-items:center;width:180px;height:180px;border-radius:50%}.refund-pie>span{display:flex;width:105px;height:105px;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}.refund-pie b{color:var(--ink);font-size:25px}.refund-pie small{color:var(--muted);font-size:10px}.refund-pie-legend{display:grid;min-width:250px;gap:10px}.refund-pie-legend>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}.refund-pie-legend i{width:9px;height:9px;border-radius:3px}.refund-pie-legend span{font-size:11px}.refund-pie-legend b{color:var(--forest-800);font-size:10px}.brand-ranking .data-table{min-width:1180px}.brand-trend-wrap{display:flex;gap:18px;align-items:stretch}.brand-trend-wrap .brand-trend-chart{flex:1;min-width:0;padding:0}.trend-panel .panel-body{padding-top:26px}.brand-trend-stats{flex:0 0 230px;min-width:0;display:grid;gap:10px;align-content:start}.brand-stats-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.brand-stats-row{display:grid;grid-template-columns:minmax(0,1fr) 62px 62px;gap:4px;align-items:center;padding:9px 11px;border-bottom:1px solid #edf2f0;font-size:11px}.brand-stats-row:last-child{border-bottom:0}.brand-stats-row.head{background:var(--wash);color:var(--muted);font-weight:700}.brand-stats-row.total{background:var(--mint-50);color:var(--forest-800);font-weight:750}.brand-stats-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.brand-stats-row b{text-align:right;font-weight:700;color:var(--forest-800)}.brand-stats-row.head b.active{color:var(--mint-700)}.trend-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;width:100%}.trend-head-left{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.trend-head-left h3{margin:0;color:var(--ink);font-size:15px;white-space:nowrap}.trend-dim-tabs{flex:none}.trend-custom-range{padding:10px 18px;border-bottom:1px solid var(--line)}.dashboard-user-card{min-width:260px}.dashboard-user-range-btn{margin-top:10px;align-self:flex-start}.dashboard-inline-tabs{margin-top:10px}.dashboard-inline-tabs button{min-height:24px;padding:2px 10px;font-size:10px}.dashboard-mini-range{display:none;align-items:center;gap:7px;margin-top:10px;flex-wrap:wrap}.dashboard-mini-range.show{display:flex}.dashboard-mini-range .date-control{min-height:30px;padding:0 8px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink);font-size:11px}.dashboard-mini-range span{color:var(--muted);font-size:10px}.dashboard-calendar-panel{margin-top:18px}.dashboard-calendar-panel .plan-cal-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-calendar-panel .plan-cal-calendar{background:var(--wash);border:1px solid var(--line);border-radius:14px;padding:14px}.dashboard-calendar-panel .plan-cal-detail{border:1px solid var(--line);border-radius:14px;padding:14px}.dashboard-calendar-panel .plan-cal-cell{border-radius:9px;transition:.15s}.dashboard-calendar-panel .plan-cal-cell:hover:not(.disabled):not(.empty){transform:translateY(-1px);box-shadow:var(--shadow-sm)}.dashboard-calendar-panel .plan-cal-cell small{background:var(--mint-100);border-radius:99px;padding:1px 7px;font-weight:700}.dashboard-calendar-panel .plan-cal-cell.selected small{background:#fff}.dashboard-calendar-panel .plan-cal-detail-inner{display:grid;gap:10px;overflow:auto}.dashboard-calendar-panel .plan-cal-table{background:#fff;border-radius:10px;overflow:hidden;white-space:normal}.dashboard-calendar-panel .plan-cal-table th,.dashboard-calendar-panel .plan-cal-table td{overflow-wrap:break-word;word-break:break-word;vertical-align:middle}.dashboard-calendar-panel .plan-cal-table .wrap-cell{white-space:normal;max-width:230px;word-break:break-all}@media(max-width:1000px){.brand-trend-wrap{flex-direction:column}.brand-trend-stats{flex:0 0 auto;grid-template-columns:1fr}.dashboard-calendar-panel .plan-cal-layout{grid-template-columns:1fr}.trend-head{flex-direction:column;align-items:flex-start}.trend-dim-tabs{align-self:flex-end}}
@media(max-width:1400px){.dashboard-global-kpis{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media(max-width:1000px){.dashboard-global-kpis .metric-card,.dashboard-period-kpis .metric-card{flex:1 1 46%}.dashboard-analysis-grid{grid-template-columns:1fr}.refund-pie-layout{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.dashboard-global-kpis .metric-card,.dashboard-period-kpis .metric-card{flex:1 1 100%}.refund-pie-layout{gap:22px}}
.brand-editor-page{height:calc(100vh - 230px);min-height:540px;background:#fff;border:1px solid var(--line);border-radius:14px 14px 0 0;padding:22px}.login-trend-chart{padding:6px 4px 2px}
.dashboard-analysis-grid>.panel+.panel{margin-top:0}
.dashboard-analysis-grid{align-items:stretch}.brand-editor-live{overflow:hidden}.brand-editor-live .mobile-preview{overflow:hidden}
.dash-grid{stroke:#d9e6e0;stroke-width:1;stroke-dasharray:4 4}.dashboard-calendar-panel .plan-cal-calendar{background:#fff;border-color:#d9eee6}.dashboard-calendar-panel .plan-cal-weekday{color:var(--mint-700);font-weight:800}.dashboard-calendar-panel .plan-cal-cell{background:#fff;border-color:#e5efe9;animation:calIn .35s both}.dashboard-calendar-panel .plan-cal-cell:not(.disabled):not(.empty):hover{transform:translateY(-2px);border-color:var(--mint-500);box-shadow:0 4px 12px rgba(19,201,141,.18)}.dashboard-calendar-panel .plan-cal-cell.selected{border-color:var(--mint-600);background:var(--mint-50);box-shadow:0 0 0 2px rgba(19,201,141,.16);animation:calIn .35s both,calPulse 2.4s 1s ease-in-out infinite}.dashboard-calendar-panel .plan-cal-cell.disabled{background:#fff;color:#cfd8d4;border-color:#f0f4f2}.dashboard-calendar-panel .plan-cal-detail{background:#fff;border-color:#d9eee6}.dashboard-calendar-panel .plan-cal-detail-head{background:linear-gradient(135deg,#f3fff9,#e7f8f1);border:1px solid #d9eee6;border-radius:12px;padding:10px 12px}.dashboard-calendar-panel .plan-cal-detail-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}.dashboard-calendar-panel .plan-cal-detail-head span{font-size:11px}.dashboard-calendar-panel .plan-cal-table{border:1px solid var(--line)}.dashboard-calendar-panel .plan-cal-table thead th{background:var(--mint-50);color:var(--forest-700)}@keyframes calIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes calPulse{0%,100%{box-shadow:0 0 0 2px rgba(19,201,141,.16)}50%{box-shadow:0 0 0 5px rgba(19,201,141,.07)}}
.table-wrap .data-table th:last-child,.table-wrap .data-table td:last-child{position:sticky;right:0;z-index:2}.table-wrap .data-table thead th:last-child{background:#f8faf9;box-shadow:-6px 0 10px -6px rgba(20,60,50,.14)}.table-wrap .data-table tbody td:last-child{background:#fff;box-shadow:-6px 0 10px -6px rgba(20,60,50,.14)}.table-wrap .data-table tbody tr:hover td:last-child{background:#f9fcfb}.table-wrap .data-table tr.pack-row td:last-child{background:#fff8e9}.table-wrap .data-table tr.error-row td:last-child{background:#fff4f2}.table-wrap .data-table tbody tr.pack-row:hover td:last-child{background:#fdf3dc}.table-wrap .data-table tbody tr.error-row:hover td:last-child{background:#fdedea}.batch-drop{display:grid;place-items:center;gap:6px;min-height:170px;margin-top:14px;padding:18px;border:2px dashed var(--mint-400);border-radius:14px;background:var(--mint-50);color:var(--forest-700);cursor:pointer;transition:.15s}.batch-drop:hover,.batch-drop.over{border-color:var(--mint-600);background:var(--mint-100)}.batch-drop b{color:var(--forest-800);font-size:13px}.batch-drop small{color:var(--muted);font-size:11px}.article-image-rows{display:grid;gap:9px;margin-top:8px}.article-image-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}.article-image-row .ai-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px}.article-image-row img{width:52px;height:40px;border-radius:8px;object-fit:cover}.article-image-row .tag-uploaded{background:var(--mint-100);color:var(--forest-700)}.batch-summary-list{display:grid;gap:5px;max-height:230px;overflow:auto;margin-top:10px}.batch-summary-list div{display:flex;gap:8px;font-size:11px;color:var(--muted)}.batch-summary-list b{color:var(--red-600);flex:none}
.plan-user-pick{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.plan-user-display{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.plan-user-display b{color:var(--ink);font-size:13px}.plan-user-display span{color:var(--muted);font-size:11px}.plan-user-picker{display:grid;gap:12px}.plan-user-picker .search-control{width:100%}.plan-user-list{display:grid;gap:7px;max-height:360px;overflow:auto}.plan-user-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.plan-user-option>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.plan-user-option b{color:var(--ink);font-size:13px}.plan-user-option span{color:var(--muted);font-size:11px}.plan-user-option:hover{border-color:var(--mint-400);background:var(--mint-50)}.weight-table-wrap{margin-top:10px;border:1px solid var(--line);border-radius:12px;overflow:auto;background:#fff}
.daily-custom-range{display:none;align-items:center;gap:7px;flex-wrap:wrap}.daily-custom-range.show{display:flex}.daily-custom-range .date-control{min-height:32px;padding:0 8px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink);font-size:11px}.daily-custom-range span{color:var(--muted);font-size:10px}
.page-sticky-actions{position:sticky;bottom:12px;display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;padding:12px 18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:var(--shadow-md);backdrop-filter:blur(6px);z-index:30}.brand-editor-page+.page-sticky-actions{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;margin-top:0;box-shadow:none}.plan-user-pick.no-user{border:2px dashed var(--mint-500);background:var(--mint-50);border-radius:12px;padding:14px}.plan-user-empty{flex:1;color:var(--muted);font-size:12px}
.dashboard-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-trend-stats{flex:0 0 340px}.brand-stats-row{grid-template-columns:minmax(0,1fr) 88px 88px}.brand-line-svg{height:280px}.plan-cal-cell.today{border:2px solid var(--mint-600)}.plan-cal-cell small.past{background:var(--mint-100);color:var(--forest-700)}.plan-cal-cell small.future{background:var(--amber-100);color:var(--amber-600)}.chart-hit{cursor:pointer}.chart-tip{position:fixed;z-index:9999;display:none;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:11px;font-weight:700;box-shadow:var(--shadow-md);pointer-events:none;white-space:nowrap}.login-total-badge{display:inline-flex;align-items:center;gap:4px;margin-bottom:8px;padding:6px 14px;border-radius:99px;background:var(--mint-100);color:var(--forest-700);font-size:15px;font-weight:800}.age-bar-chart{display:grid;gap:12px;padding:8px 0}.age-bar-row{display:grid;grid-template-columns:72px 1fr 60px;align-items:center;gap:10px}.age-bar-label{color:var(--muted);font-size:11px}.age-bar-track{height:16px;border-radius:99px;background:var(--wash);overflow:hidden}.age-bar-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#12b981,#63d8b2);transition:width .3s}.age-bar-value{color:var(--forest-800);font-size:12px;font-weight:700;text-align:right}
.brand-detail-page{max-width:960px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.brand-detail-page .editor-preview-img,.brand-detail-page .menu-detail-img{width:auto;max-width:70%;margin:8px auto;display:block;border-radius:10px}.brand-detail-page .detail-list{margin-top:14px}.brand-detail-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.brand-detail-page .tag{display:inline-flex;padding:4px 10px;margin:0;font-size:11px}.brand-detail-preview-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}.brand-detail-preview-card b{display:block;color:var(--ink);font-size:13px}.brand-detail-preview-card .cell-sub{margin-top:3px}.brand-detail-empty{margin-top:12px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff}.brand-detail-empty .cell-sub{margin:0}.ellipsis-cell{display:inline-block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.brand-editor-live .mobile-preview{min-height:560px}

/* 补录订单详情页 */
.manual-order-layout{display:grid;gap:16px;padding-bottom:88px}.manual-order-section{margin:0}.manual-order-section .panel-head>div{display:flex;align-items:center;gap:9px}.section-index{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--forest-900);color:#fff;font-size:11px;font-weight:800}.manual-order-section .panel-body{padding:18px}.manual-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.manual-choice-grid>div{display:grid;gap:9px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--wash)}.manual-choice-grid label{color:var(--muted);font-size:11px;font-weight:750}.selected-summary{display:flex;min-height:44px;flex-direction:column;justify-content:center}.selected-summary b{color:var(--ink);font-size:14px}.selected-summary span,.manual-empty{margin:3px 0 0;color:var(--soft);font-size:11px}.manual-order-footer{position:sticky;z-index:8;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 -8px 24px rgba(13,59,50,.08);backdrop-filter:blur(10px)}.manual-picker-search{display:flex;margin:14px 0}.manual-user-tabs{margin-bottom:4px}.manual-plan-editor{display:grid;gap:14px}.manual-plan-editor .form-section{margin:0}.rule-buttons,.meal-count-tabs,.setting-mode-tabs,.custom-weekdays{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.rule-buttons button,.meal-count-tabs button,.custom-weekdays button,.setting-mode-tabs button{padding:9px 13px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--muted);cursor:pointer}.rule-buttons button.active,.meal-count-tabs button.active,.custom-weekdays button.active,.setting-mode-tabs button.active{border-color:var(--mint-600);background:var(--mint-50);color:var(--forest-800)}.setting-mode-tabs button{display:flex;min-width:170px;flex-direction:column;text-align:left}.setting-mode-tabs button small{margin-top:2px;font-size:9px}.manual-order-page select,.manual-order-page input,.manual-order-page textarea{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--ink);outline:0}.manual-order-page textarea{min-height:78px;resize:vertical}.manual-order-page input:focus,.manual-order-page select:focus,.manual-order-page textarea:focus{border-color:var(--mint-600);box-shadow:0 0 0 3px rgba(19,201,141,.09)}
.daily-plan-row{display:grid;grid-template-columns:54px repeat(3,minmax(110px,1fr));align-items:center;gap:8px;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--wash)}.daily-plan-row b{color:var(--forest-800);font-size:12px}.daily-plan-row select{min-height:36px;padding:7px;border:1px solid var(--line-strong);border-radius:8px;background:#fff}
@media(max-width:1000px){.manual-choice-grid{grid-template-columns:1fr}}
/* Grouped address cards and categorized backend settings */
.dashboard-pie-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dashboard-pie-grid .panel{min-width:0}.dashboard-pie-grid .refund-pie-layout{grid-template-columns:minmax(120px,160px) minmax(0,1fr)}.dashboard-pie-grid .refund-pie{width:145px;height:145px}.age-line-svg{display:block;width:100%;height:245px;overflow:visible}.age-grid-line{stroke:#dbe7e3;stroke-width:1}.age-polyline{fill:none;stroke:var(--mint);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.age-svg-point circle{fill:#fff;stroke:var(--mint);stroke-width:3}.age-axis-label{font-size:11px;fill:var(--muted)}.age-value{font-size:12px;font-weight:700;fill:var(--ink)}.age-empty-note{text-align:center;color:var(--muted);margin:-35px 0 12px}.pause-limit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:8px}.pause-limit-grid label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.address-user-grid{display:grid;gap:16px;padding:18px}.address-user-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.address-user-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:var(--wash);border-bottom:1px solid var(--line)}.address-user-head>div{min-width:0}.address-user-head .cell-link{display:block;font-size:16px}.address-user-head span{display:block;color:var(--muted);font-size:12px;margin-top:4px;overflow-wrap:anywhere}.address-item-list{padding:0 18px}.address-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.address-item:last-child{border-bottom:0}.address-main{min-width:0}.address-main>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.address-main b{overflow-wrap:anywhere}.address-main p{margin:6px 0;color:var(--muted);overflow-wrap:anywhere}.backend-settings-tabs{margin:0 0 16px}.backend-settings-content .settings-data-section{margin-top:0}
@media(max-width:1000px){.dashboard-pie-grid{grid-template-columns:1fr}.pause-limit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.address-user-head,.address-item{align-items:flex-start;flex-direction:column}.address-item .table-actions{flex-wrap:wrap}.address-user-grid{padding:12px}.pause-limit-grid{grid-template-columns:1fr}}
.brand-line-svg{height:280px}

/* Interaction operations refinement */
.nav-section{margin-bottom:19px}.nav-label{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 12px);margin:0 6px 7px;padding:0 4px;border:0;background:transparent;color:rgba(255,255,255,.58);font-size:13px;font-weight:800;letter-spacing:.05em;text-align:left}.nav-item{padding-inline:13px;color:rgba(255,255,255,.65);font-size:12px;font-weight:500}.nav-item.active{font-weight:700}.nav-item svg{width:17px;height:17px}
.upload-box[data-upload-box="loginBg"]{width:225px;min-height:400px;aspect-ratio:750/1334;margin:0 auto}.upload-box[data-upload-box="loginBg"] .upload-preview{width:100%;height:100%;object-fit:cover}.upload-box[data-upload-box="refundQr"]{width:180px;min-height:180px;aspect-ratio:1;margin:0}.upload-box[data-upload-box="refundQr"] .upload-preview{width:100%;height:100%;object-fit:cover}.upload-clear{align-self:flex-start;font-size:11px}
.note-cell,.wrap-cell{display:block;max-width:190px;white-space:normal;overflow-wrap:anywhere;line-height:1.55}.cooperation-content{min-width:220px}.collaboration-table td{vertical-align:top}.collaboration-actions{align-items:center;flex-wrap:wrap;min-width:190px}.compact-switch{font-size:11px;white-space:nowrap}
.pause-limit-editor{display:grid;grid-template-columns:minmax(150px,240px) minmax(150px,240px);gap:12px}.pause-limit-editor select,.pause-limit-editor input{min-height:42px}.input-with-suffix{position:relative}.input-with-suffix input{padding-right:42px}.input-with-suffix span{position:absolute;right:13px;top:11px;color:var(--muted)}.pause-limit-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.pause-limit-summary span{padding:6px 10px;border-radius:8px;background:var(--wash);color:var(--muted);font-size:11px}.pause-limit-summary b{color:var(--forest-700)}

/* Technology-inspired login scene */
.tech-orbit{position:absolute;border:1px solid rgba(101,237,218,.2);border-radius:50%;animation:techRotate 22s linear infinite}.tech-orbit:before,.tech-orbit:after{content:"";position:absolute;border:1px dashed rgba(89,181,255,.16);border-radius:50%;inset:12%}.tech-orbit:after{inset:27%;border-style:solid}.orbit-a{right:-150px;top:42px;width:570px;height:570px}.orbit-b{left:-120px;bottom:-170px;width:390px;height:390px;animation-duration:30s;animation-direction:reverse}.tech-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:#55dcff;box-shadow:0 0 14px #55dcff}.tech-orbit i:nth-child(1){left:14%;top:20%}.tech-orbit i:nth-child(2){right:8%;top:48%;background:#65f0be;box-shadow:0 0 14px #65f0be}.tech-orbit i:nth-child(3){left:42%;bottom:-4px}.tech-scan{position:absolute;z-index:0;left:0;right:0;top:-2px;height:2px;background:linear-gradient(90deg,transparent,#66e8ff,transparent);box-shadow:0 0 18px rgba(86,224,255,.8);animation:techScan 7s ease-in-out infinite}.tech-particles i{position:absolute;width:3px;height:3px;border-radius:50%;background:#a2f7df;box-shadow:0 0 9px #75efd1;animation:particlePulse 3s ease-in-out infinite}.tech-particles i:nth-child(1){left:12%;top:17%}.tech-particles i:nth-child(2){left:28%;top:72%;animation-delay:.6s}.tech-particles i:nth-child(3){left:52%;top:14%;animation-delay:1.1s}.tech-particles i:nth-child(4){left:68%;top:64%;animation-delay:1.6s}.tech-particles i:nth-child(5){left:84%;top:23%;animation-delay:2.1s}.tech-particles i:nth-child(6){left:39%;top:44%;animation-delay:2.5s}.tech-particles i:nth-child(7){left:17%;top:88%;animation-delay:.9s}.tech-particles i:nth-child(8){left:75%;top:86%;animation-delay:1.9s}.login-promise:before{content:"SYSTEM · DELIVERY · GROWTH";display:block;margin-bottom:18px;color:rgba(112,225,255,.7);font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.24em}.login-promise h1{text-shadow:0 0 34px rgba(106,240,210,.12)}.login-options-single{justify-content:flex-start}
@keyframes techRotate{to{transform:rotate(360deg)}}@keyframes techScan{0%,100%{top:0;opacity:0}15%{opacity:.75}70%{opacity:.3}90%{top:100%;opacity:0}}@keyframes particlePulse{0%,100%{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.8)}}

/* Dashboard and table refinements */
.dashboard-global-kpis{display:flex;flex-wrap:wrap}.dashboard-global-kpis .metric-card{flex:1 1 0;min-width:145px}.dashboard-period-kpis{display:flex;flex-wrap:wrap}.dashboard-period-kpis .metric-card{flex:1 1 0;min-width:170px}.dashboard-period-kpis .metric-breakdown{max-height:72px;overflow:auto}.age-polyline{stroke:#3488df}.age-svg-point circle{stroke:#3488df}.dashboard-pie-grid .refund-pie-layout{display:flex;align-items:center;justify-content:center;gap:24px}.dashboard-pie-grid .refund-pie{flex:0 0 150px;width:150px;height:150px;aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}.dashboard-pie-grid .refund-pie>span{width:92px;height:92px}.dashboard-pie-grid .refund-pie b{font-size:20px}.dashboard-pie-grid .refund-pie-legend{min-width:0;flex:1}.meal-adjust-inline{display:block;margin-top:4px;font-size:10px}.daily-summary-table .wrap-cell{max-width:260px}.brand-identity-layout{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(320px,1.28fr);gap:20px;align-items:stretch}.brand-identity-layout .brand-logo-field{height:100%}.brand-identity-layout .brand-logo-field .upload-box{min-height:268px;height:calc(100% - 24px)}.brand-primary-fields{display:grid;grid-template-columns:1fr;gap:14px}.brand-primary-fields .brand-description-field textarea{min-height:128px}
.menu-upload-summary>div{min-width:150px}.menu-upload-summary small{display:block;margin-top:5px}.menu-date-range{display:flex;align-items:center;gap:7px;padding:0;border:0;border-radius:0;background:transparent}.menu-date-range>span{color:var(--muted);font-size:10px;white-space:nowrap}.menu-date-range>i{color:var(--soft);font-style:normal}.menu-date-range .date-control{width:128px;padding:7px 8px}
@media(max-width:1400px){.dashboard-global-kpis .metric-card{min-width:135px;padding:14px}.dashboard-global-kpis .metric-breakdown span{padding:4px 5px}.dashboard-period-kpis .metric-card{min-width:160px}}
@media(max-width:1100px){.dashboard-global-kpis .metric-card{min-width:170px}.dashboard-period-kpis .metric-card{min-width:220px}.brand-identity-layout{grid-template-columns:1fr}}
.dashboard-global-kpis .metric-card.danger strong{white-space:nowrap;font-size:22px}.finance-net-breakdown{white-space:normal}.daily-brand-view-tabs{margin-left:auto}.daily-status-tabs{flex-wrap:wrap}.daily-status-tabs button{min-height:29px;padding:0 12px;font-size:11px}.delivery-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px}.delivery-status-option{position:relative;display:flex;align-items:center;justify-content:center;min-height:54px;border:1px solid var(--line-strong);border-radius:11px;background:#fff;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;transition:.15s}.delivery-status-option input{position:absolute;opacity:0;pointer-events:none}.delivery-status-option span{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.delivery-status-option.active,.delivery-status-option:has(input:checked){border-color:var(--mint-600);background:var(--mint-50);color:var(--forest-800);box-shadow:0 0 0 2px rgba(19,201,141,.15)}
@media(prefers-reduced-motion:reduce){.tech-orbit,.tech-scan,.tech-particles i{animation:none!important}}

/* 赠送/扣除餐次：调整类型平铺选项。 */
.meal-adjust-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px}
.meal-adjust-type-option{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;transition:.15s}
.meal-adjust-type-option input{position:absolute;opacity:0;pointer-events:none}
.meal-adjust-type-option.active,.meal-adjust-type-option:has(input:checked){border-color:var(--mint-600);background:var(--mint-50);color:var(--forest-800);box-shadow:0 0 0 2px rgba(19,201,141,.15)}

/* Composite filters and revised brand/address layouts */
.multi-filter{position:relative;flex:none}.multi-filter-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:122px;cursor:pointer}.multi-filter-menu{position:absolute;z-index:120;top:calc(100% + 6px);left:0;display:grid;min-width:210px;max-height:300px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow-lg)}.multi-filter-menu[hidden]{display:none}.multi-filter-menu label{display:flex;align-items:center;gap:8px;padding:8px;border-radius:7px;color:var(--ink);font-size:12px;cursor:pointer}.multi-filter-menu label:hover{background:var(--wash)}.multi-filter-actions{display:flex;justify-content:space-between;padding:4px 5px 8px;border-bottom:1px solid var(--line)}.multi-filter-actions button{border:0;background:transparent;color:var(--mint-700);font-size:11px;cursor:pointer}.date-range-control,.range-filter{display:flex;align-items:center;gap:6px;min-height:38px;padding:4px 8px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--muted);font-size:10px;white-space:nowrap}.date-range-control input,.range-filter input{width:122px;min-height:28px;padding:4px 6px;border:0;background:transparent;outline:0;color:var(--ink)}.range-filter input{width:70px}.range-filter i{font-style:normal;color:var(--soft)}
.brand-form-grid>.brand-identity-layout{grid-column:1/-1;width:100%;min-width:0}.brand-identity-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 260px;gap:16px 20px}.brand-primary-fields{display:contents}.brand-primary-fields>.form-field:nth-child(1){grid-column:1;grid-row:1}.brand-primary-fields>.form-field:nth-child(2){grid-column:2;grid-row:1}.brand-primary-fields>.brand-description-field{grid-column:1;grid-row:2}.brand-identity-layout>.brand-logo-field{grid-column:2;grid-row:2;min-width:0}.brand-identity-layout .brand-logo-field .upload-box,.brand-primary-fields .brand-description-field textarea{width:100%;height:236px;min-height:236px}.brand-identity-layout .brand-logo-field .upload-box{min-height:236px}.menu-upload-summary>div:nth-child(2),.menu-upload-summary>div:nth-child(3){display:grid;grid-template-columns:auto auto auto;align-items:center;justify-content:start;gap:7px}.menu-upload-summary>div:nth-child(2)>span,.menu-upload-summary>div:nth-child(3)>span{grid-column:1/-1}.menu-upload-summary>div:nth-child(2)>small,.menu-upload-summary>div:nth-child(3)>small{display:inline-flex;margin:0;padding:4px 7px;border-radius:999px;background:var(--mint-50);font-size:9px}.menu-upload-summary>div:nth-child(2)>small.negative,.menu-upload-summary>div:nth-child(3)>small.negative{background:#fff0ef;color:var(--red-600)}
@media(max-width:900px){.brand-identity-layout{grid-template-columns:1fr;grid-template-rows:auto auto 220px 220px}.brand-primary-fields>.form-field:nth-child(1),.brand-primary-fields>.form-field:nth-child(2),.brand-primary-fields>.brand-description-field,.brand-identity-layout>.brand-logo-field{grid-column:1}.brand-primary-fields>.form-field:nth-child(1){grid-row:1}.brand-primary-fields>.form-field:nth-child(2){grid-row:2}.brand-primary-fields>.brand-description-field{grid-row:3}.brand-identity-layout>.brand-logo-field{grid-row:4}.brand-identity-layout .brand-logo-field .upload-box,.brand-primary-fields .brand-description-field textarea{height:196px;min-height:196px}}

/* Global list, action and detail experience */
.toolbar-stack{display:flex;flex-direction:column;gap:10px}.toolbar-stack .toolbar{width:100%}.toolbar-stack .toolbar-group{display:flex;flex:1;align-items:center;gap:8px;flex-wrap:wrap}.toolbar-stack .toolbar-filters{order:1}.toolbar-stack .toolbar-actions{order:2;justify-content:flex-start;padding-top:10px;border-top:1px dashed var(--line)}.toolbar-stack>.toolbar:not(.toolbar-actions){order:1}.search-control{width:var(--search-width,300px);max-width:100%;flex:0 1 var(--search-width,300px)}.search-control input{min-width:0}.search-control input::placeholder{color:var(--soft);opacity:1}.date-range-control,.range-filter,.menu-date-range,.daily-time-filter,.multi-filter{flex:none;break-inside:avoid}
html,body{max-width:100%;overflow-x:hidden}.app-shell,.app-main,.workspace,.page,.data-panel{min-width:0;max-width:100%}.table-wrap{min-width:0;max-width:100%;overflow-x:auto;padding-left:16px;scroll-padding-left:16px}.table-wrap .data-table{width:max-content;min-width:100%}.data-table th,.data-table td{padding-inline:16px;text-align:center;vertical-align:middle}.data-table td.text-left,.data-table td:has(.wrap-cell),.data-table td:has(.note-cell),.data-table td:has(.ellipsis-cell){text-align:left}.data-table th:first-child,.data-table td:first-child{padding-left:22px}.data-table th:last-child,.data-table td:last-child{padding-right:22px}.data-table td:last-child{text-align:center}.table-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:max-content;min-width:86px;max-width:none;margin-inline:auto}.action-button-row{display:grid;grid-template-columns:repeat(var(--action-columns),minmax(68px,1fr));align-items:center;justify-content:center;gap:5px;width:100%}.action-button-row>.row-button,.action-button-row>.button{width:100%;min-width:0;padding-inline:7px;white-space:nowrap}.data-table td>.row-button:only-child{display:block;min-width:86px;margin-inline:auto}.table-footer{margin-inline:16px}
.collaboration-status-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:7px}.collaboration-status-option{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer}.collaboration-status-option input{position:absolute;opacity:0;pointer-events:none}.collaboration-status-option.active,.collaboration-status-option:has(input:checked){border-color:var(--mint-600);background:var(--mint-50);color:var(--forest-800);box-shadow:0 0 0 2px rgba(19,201,141,.12)}
.drawer-backdrop{background:rgba(5,27,22,.38);backdrop-filter:blur(7px)}.drawer{width:min(720px,calc(100vw - 64px));background:var(--wash);border-left:1px solid rgba(255,255,255,.75);box-shadow:-24px 0 55px rgba(8,42,34,.18)}.drawer-head{position:sticky;z-index:5;top:0;display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:16px 26px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.drawer-head h3{margin:2px 0 0;font-size:20px}.drawer-eyebrow{color:var(--mint-700);font-size:10px;font-weight:800;letter-spacing:.12em}.drawer-body{padding:24px 26px 34px}.drawer-foot{position:sticky;z-index:5;bottom:0;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:15px 26px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);box-shadow:0 -8px 24px rgba(13,59,50,.07)}.drawer-summary-card{margin-bottom:18px}.drawer .detail-hero{margin-bottom:18px;padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#fff,var(--mint-50));box-shadow:var(--shadow-sm)}.drawer .detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 18px;padding:8px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}.drawer .detail-list>div{min-height:74px;padding:14px;border:0;border-bottom:1px solid #edf2f0}.drawer .detail-list>div:nth-last-child(-n+2){border-bottom:0}.drawer .detail-list .detail-section-title{grid-column:1/-1;min-height:auto;margin:0;padding:12px 14px 8px;border-bottom:1px solid var(--line);color:var(--forest-700);font-size:11px;letter-spacing:.08em}.drawer-body>h4,.drawer-section-heading{margin:20px 0 10px!important;color:var(--forest-800);font-size:14px}.drawer .risk-item,.drawer .form-section,.drawer .timeline{border:1px solid var(--line);border-radius:13px;background:#fff}.drawer .timeline{padding:14px}.drawer .table-wrap{padding:0;border:1px solid var(--line);border-radius:13px;background:#fff}
@media(max-width:760px){.toolbar-stack .toolbar-group{align-items:stretch;flex-direction:column}.toolbar-stack .toolbar-group>*{width:100%;max-width:100%}.search-control{width:100%;flex-basis:auto}.date-range-control,.range-filter,.menu-date-range,.daily-time-filter{flex-wrap:wrap}.data-table .table-actions{max-width:100%;gap:3px}.collaboration-status-options{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer{width:100vw;max-width:100vw}.drawer-body{padding:18px}.drawer-head,.drawer-foot{padding-inline:18px}.drawer .detail-list{grid-template-columns:1fr}.drawer .detail-list>div{grid-column:1!important}.drawer .detail-list>div:nth-last-child(2){border-bottom:1px solid #edf2f0}}

/* 配送计划详情：配送规则与每日配置使用独立信息层级。 */
.plan-detail-section{margin-top:20px}.plan-detail-section>h4{margin:0 0 10px;color:var(--forest-900);font-size:15px}.plan-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.plan-setting-grid.is-unified{grid-template-columns:1fr}.plan-setting-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.plan-setting-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--wash)}.plan-setting-card>header b{color:var(--forest-800)}.plan-setting-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.plan-setting-fields>div{display:flex;flex-direction:column;gap:5px;min-width:0;padding:12px 14px;border-right:1px solid #edf2f0;border-bottom:1px solid #edf2f0}.plan-setting-fields>div:nth-child(2n){border-right:0}.plan-setting-fields span{color:var(--soft);font-size:10px}.plan-setting-fields b{overflow-wrap:anywhere;color:var(--ink);font-size:12px}.plan-detail-section .detail-list{background:#fff}
@media(max-width:760px){.plan-setting-grid,.plan-setting-fields{grid-template-columns:1fr}.plan-setting-fields>div{border-right:0}}

/* 配送计划详情：配送日历。 */
.user-plan-calendar .plan-cal-layout{grid-template-columns:minmax(340px,.95fr) minmax(0,1.05fr)}
.user-plan-calendar .plan-cal-calendar,.user-plan-calendar .plan-cal-detail{background:#fff;border-color:#d9eee6;border-radius:14px;box-shadow:0 8px 22px rgba(20,60,49,.05)}
.user-plan-calendar .plan-cal-head{margin-bottom:12px;padding:2px 4px}
.user-plan-calendar .plan-cal-head b{font-size:14px;color:var(--forest-800)}
.user-plan-calendar .plan-cal-weekday{padding:5px 0;font-size:10px;color:var(--mint-700);font-weight:800}
.user-plan-calendar .plan-cal-cell{min-height:56px;border-radius:11px;font-weight:600;background:#fff;border-color:#e5efe9;transition:.18s}
.user-plan-calendar .plan-cal-cell:not(.disabled):not(.empty):hover{transform:translateY(-2px);border-color:var(--mint-500);box-shadow:0 4px 12px rgba(19,201,141,.18)}
.user-plan-calendar .plan-cal-cell.selected{border-color:var(--mint-600);background:var(--mint-50);box-shadow:0 0 0 2px rgba(19,201,141,.18)}
.user-plan-calendar .plan-cal-cell.disabled{background:#fff;color:#cfd8d4;border-color:#f0f4f2}
.user-plan-calendar .plan-cal-cell small{font-size:9px;padding:2px 7px;border-radius:99px}
.user-plan-calendar .plan-cal-cell small.past{background:var(--mint-100);color:var(--forest-700)}
.user-plan-calendar .plan-cal-cell small.future{background:var(--amber-100);color:var(--amber-600)}
.user-plan-calendar .plan-cal-detail-inner{display:grid;gap:10px;overflow:auto}
.user-plan-calendar .plan-cal-detail-head{background:linear-gradient(135deg,#f0fdf7,#e3f8ef);border:1px solid #d9eee6;border-radius:12px;padding:10px 12px}
.user-plan-calendar .plan-cal-detail-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.user-plan-calendar .plan-cal-detail-head span{font-size:11px}
.user-plan-calendar .plan-cal-table{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden;white-space:normal}
.user-plan-calendar .plan-cal-table thead th{background:var(--mint-50);color:var(--forest-700)}
@media(max-width:1000px){.user-plan-calendar .plan-cal-layout{grid-template-columns:1fr}}

/* 用户档案-核销明细表格卡片背景。 */
.redemption-table-wrap{min-width:0;max-width:100%;overflow:auto;padding:6px 16px 10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.redemption-table-wrap .data-table{width:max-content;min-width:100%}
.redemption-table-wrap .data-table th:first-child,.redemption-table-wrap .data-table td:first-child{padding-left:8px}

/* Topbar, user toolbar and backend-settings refinements. */
.today-chip{border:0}
.top-operator,.top-operator:hover{border:0}
.top-profile-menu{top:calc(100% + 6px);right:0;left:auto}
.settings-data-section .toolbar-actions{padding-top:0;border-top:0}
.users-toolbar-actions{justify-content:space-between!important;gap:14px;flex-wrap:wrap}
.users-toolbar-actions .subscribed-only-switch{margin-left:auto}
@media(max-width:760px){.users-toolbar-actions .subscribed-only-switch{width:auto;margin-left:auto}}
.page-head-back{align-items:center;gap:10px}.page-back{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);cursor:pointer;flex:none;transition:.15s}.page-back:hover{border-color:var(--mint-600);color:var(--mint-600);transform:translateY(-1px)}.tag.tag-blue{background:var(--blue-100);color:var(--blue-600)}.tag.tag-amber{background:var(--amber-100);color:var(--amber-600)}.tag.tag-purple{background:#efe8ff;color:#7a4dff}.tag.tag-teal{background:#d9f4ef;color:#0e8f80}.line-cell{display:block;white-space:normal;line-height:1.9}.settings-data-section .toolbar-actions{justify-content:space-between}.chip-tabs{flex-wrap:wrap;gap:4px;padding:3px;max-width:100%}.chip-tabs button{min-height:28px;padding:0 11px;font-size:11px;white-space:nowrap}.chip-tabs.full{flex-basis:100%}.address-card-list{display:grid;gap:9px;margin-top:6px}.address-card{position:relative;display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff}.address-card b{color:var(--ink);font-size:12px}.address-card span{color:var(--muted);font-size:11px;line-height:1.6}.address-card.default{border-color:var(--mint-500);background:var(--mint-50)}.address-default-badge{position:absolute;top:-9px;right:12px;padding:2px 9px;border-radius:99px;background:var(--mint-600);color:#fff;font-size:10px;font-weight:700}
.dashboard-calendar-panel .plan-cal-calendar{border-color:#d9eee6;box-shadow:0 8px 22px rgba(20,60,49,.05)}.dashboard-calendar-panel .plan-cal-head{margin-bottom:12px;padding:2px 4px}.dashboard-calendar-panel .plan-cal-head b{font-size:14px;color:var(--forest-800)}.dashboard-calendar-panel .plan-cal-cell{min-height:56px;border-radius:11px;font-weight:600;transition:.18s}.dashboard-calendar-panel .plan-cal-cell:not(.disabled):not(.empty):hover{transform:translateY(-2px);border-color:var(--mint-500);box-shadow:0 5px 14px rgba(19,201,141,.18)}.dashboard-calendar-panel .plan-cal-cell.selected{border-color:var(--mint-600);background:var(--mint-50);box-shadow:0 0 0 2px rgba(19,201,141,.18);animation:calIn .35s both,calPulse 2.4s 1s ease-in-out infinite}.dashboard-calendar-panel .plan-cal-cell.today{border:2px solid var(--mint-600);background:#f0fdf7;font-weight:800;box-shadow:0 2px 10px rgba(19,201,141,.2)}.dashboard-calendar-panel .plan-cal-cell.today.selected{background:var(--mint-100);box-shadow:0 0 0 3px rgba(19,201,141,.22),0 4px 12px rgba(19,201,141,.2)}.dashboard-calendar-panel .plan-cal-cell small{font-size:9px;padding:2px 7px;border-radius:99px}.dashboard-calendar-panel .plan-cal-weekday{padding:5px 0;font-size:10px}.dashboard-calendar-panel .plan-cal-detail{border-color:#d9eee6;box-shadow:0 8px 22px rgba(20,60,49,.05)}.dashboard-calendar-panel .plan-cal-detail-head{background:linear-gradient(135deg,#f0fdf7,#e3f8ef)}
/* User detail, filter grouping, and delivery-state refinements. */
.address-card .address-default-badge{color:#fff}
.filter-primary-row .toolbar-group{flex-wrap:wrap}
.filter-primary-row .date-range-control{white-space:nowrap}
.filter-secondary-row:has(.toolbar-group:empty){display:none}
.user-detail-hero{background:#fff!important;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.user-detail-panel{display:grid;gap:10px}
.user-related-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left;cursor:pointer;transition:.15s}
.user-related-card:hover{border-color:var(--mint-500);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.user-related-card .detail-avatar{width:42px;height:42px;font-size:15px}
.user-related-main{min-width:0}
.user-related-main b,.user-related-main small{display:block}
.user-related-main b{color:var(--ink);font-size:13px}
.user-related-main small{margin-top:4px;color:var(--muted);font-size:11px;white-space:normal}
.delivery-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
/* 套餐运营开关与生效范围 */
.package-switch-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr);gap:17px}
.package-switch-item{display:flex;flex-direction:column;gap:7px;min-width:0}
.package-once-line{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0}
.once-scope{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}
.once-scope[hidden]{display:none}
.once-scope-option{position:relative;display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:11px;cursor:pointer;transition:.15s}
.once-scope-option input{position:absolute;opacity:0;pointer-events:none}
.once-scope-option:has(input:checked){border-color:var(--mint-600);background:var(--mint-50);color:var(--forest-800);font-weight:700}
@media(max-width:900px){.package-switch-row{grid-template-columns:1fr}}
@media(max-width:560px){.package-once-line{flex-wrap:wrap}}
/* 每日配送明细：按餐别显示配送状态 */
.meal-status-row{display:flex;align-items:center;justify-content:center;gap:6px}
.meal-status-row+.meal-status-row{margin-top:5px}
.meal-status-row small{color:var(--soft);font-size:10px;font-weight:700}
