:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#2b241f;background:#faf7f2;font-synthesis:none;--accent:#b94f19;--line:#e7dacc;--muted:#726a65}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:inherit;padding:10px 16px;border-radius:8px;font-weight:600}button:hover{background:#f2eeeb}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--accent);border-color:var(--accent);color:white}.primary:hover{background:#513018}a{color:var(--accent)}.layout{min-height:100vh;display:grid;grid-template-columns:232px 1fr}.sidebar{background:#2b241f;color:#eeeae7;padding:36px 20px;display:flex;flex-direction:column;gap:36px}.brand{font-size:27px;letter-spacing:-1px;font-weight:750}.brand span{color:#b9a08e}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;text-transform:uppercase;color:var(--muted)}.sidebar .eyebrow{color:#b4aca7;margin-top:6px}nav{display:grid;gap:7px}nav button{text-align:left;background:transparent;border-color:transparent;color:#c5bdb8;padding:13px 16px}nav button:hover,nav button[aria-current=page]{color:#fff;background:#40332a}.sidebar footer{margin-top:auto;font-size:12px;color:#b4aca7;line-height:1.9}.main{min-width:0;padding:40px clamp(20px,4vw,60px)}header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:32px}h1{font-size:29px;font-weight:650;letter-spacing:-.8px;margin:7px 0}h2{font-size:18px;font-weight:650;margin:0 0 12px}p{color:var(--muted);line-height:1.75}header p{margin:8px 0 0;font-size:14px}.account{display:flex;gap:15px;align-items:center;font-size:13px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric,.panel{border:1px solid var(--line);border-radius:12px;background:#fff;padding:24px}.metric strong{display:block;font-size:36px;font-weight:550;letter-spacing:-1px;margin-top:20px;font-variant-numeric:tabular-nums}.metric .label{font-size:13px;color:var(--muted)}.panel{margin-top:20px}.panel p:last-child{margin-bottom:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.toolbar p{margin:0}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th{font-weight:550;color:var(--muted);background:#f3f0ed;font-size:12px;white-space:nowrap}td,th{padding:17px 20px;border-bottom:1px solid #ede9e6}tr:last-child td{border-bottom:none}td small{display:block;color:var(--muted);margin-top:5px;max-width:220px;overflow-wrap:anywhere}.badge{display:inline-block;border-radius:30px;padding:5px 10px;font-size:12px;background:#f1ebe7;color:#b94f19}.badge.off{color:#8d532f;background:#f7ece5}label{display:block;font-size:14px;line-height:1.6}input:not([type=checkbox]),select{display:block;border:1px solid #c9c1bc;border-radius:7px;padding:12px 13px;width:100%;background:#fff;color:inherit;margin-top:8px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);vertical-align:middle;margin-right:8px}.fields{display:grid;gap:20px;max-width:620px}.check{display:flex;gap:8px;align-items:center}.notice{padding:14px 18px;border-radius:8px;background:#f1ebe7;color:#633a1d;margin-bottom:22px;font-size:14px}.notice.error{background:#f8eae3;color:#91491f}.empty{padding:60px 20px;text-align:center;color:var(--muted)}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-aside{background:#2b241f;color:#fff;padding:60px;display:flex;flex-direction:column;justify-content:space-between}.login-aside h1{font-size:46px;line-height:1.35;font-weight:500}.login-aside p{color:#bbb3ad;max-width:370px}.login-form{display:flex;align-items:center;justify-content:center;padding:36px}.login-form form{max-width:370px;width:100%}.login-form label{margin:24px 0}.login-form .primary{width:100%;padding:13px}.login-form h1{font-size:27px}.form-help{font-size:12px;color:var(--muted);line-height:1.7}.actions{display:flex;gap:12px;margin-top:24px}.mono{font-family:ui-monospace,monospace;font-size:12px;overflow-wrap:anywhere}.source-list{line-height:2}.source-list li{margin:8px 0}@media(min-width:1400px){.metrics{grid-template-columns:repeat(5,1fr)}}@media(max-width:900px){.layout{grid-template-columns:180px 1fr}.sidebar{padding:24px 12px}.metrics{grid-template-columns:repeat(2,1fr)}.login-aside{padding:35px}.login-aside h1{font-size:32px}}@media(max-width:640px){.layout{display:block}.sidebar{padding:18px}.sidebar .brand{font-size:23px}.sidebar footer,.sidebar>.eyebrow{display:none}nav{display:flex;overflow-x:auto;gap:4px}nav button{white-space:nowrap;padding:9px}.sidebar{gap:18px}.main{padding:24px 16px}header{align-items:flex-start}.account{flex-direction:column;gap:8px;align-items:flex-end}.metric,.panel{padding:18px}.metric strong{font-size:30px}.login{display:block}.login-aside{padding:25px}.login-aside h1,.login-aside p{display:none}.login-form{padding:40px 24px}.toolbar{align-items:flex-start}td,th{padding:14px 12px}h1{font-size:25px}}

.brand{display:flex;align-items:center;gap:12px;letter-spacing:1px;font-weight:650}.brand img{flex-shrink:0}.brand span{color:#faf7f2}.login-aside .brand{font-size:29px}.sidebar .brand{font-size:25px}.sidebar .eyebrow{letter-spacing:1px;margin-top:12px}@media(max-width:640px){.brand img{width:36px;height:36px}.login-aside .brand{font-size:25px}}

::selection{background:#e8dcd4;color:#2b241f}input,textarea{caret-color:var(--accent)}:focus-visible{outline:3px solid #7d5131;outline-offset:3px}.customer-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.customer-intro h2{font-size:22px;margin:0}.customer-intro p{font-size:13px;margin:8px 0 0}.customer-filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:24px;padding:20px;background:#f1eeeb;border-radius:12px}.customer-filters label{font-size:12px;min-width:115px}.customer-search{flex:1;min-width:220px!important}.customer-filters input,.customer-filters select{margin-top:6px;padding:10px 12px}.filter-actions{display:flex;gap:8px}.customer-table{white-space:nowrap;font-variant-numeric:tabular-nums}.customer-table td,.customer-table th{padding:18px 16px}.customer-number{font-size:12px;font-weight:650;letter-spacing:.2px}.customer-identity{display:flex;align-items:center;gap:10px;min-width:150px}.customer-identity img,.avatar-placeholder{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#eee9e5;flex-shrink:0}.avatar-placeholder{display:grid;place-items:center;color:#715f52;font-size:14px}.customer-date{max-width:140px;white-space:normal;font-size:12px;color:var(--muted)}.row-actions{display:flex;gap:6px}.row-actions button{font-size:12px;padding:7px 10px}.pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;font-size:12px;color:var(--muted)}.pagination>div{display:flex;align-items:center;gap:14px}.customer-dialog{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(640px,100vw);max-width:100vw;border:0;padding:0;background:#fcfaf8;color:#2b241f;box-shadow:-12px 0 40px #2b241f20}.customer-dialog::backdrop{background:#2b241f66}.customer-dialog form{display:flex;flex-direction:column;height:100%}.drawer-heading,.drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;background:white}.drawer-heading{border-bottom:1px solid var(--line)}.drawer-heading h2{margin:0;font-size:22px}.drawer-heading p{font-size:12px;margin:6px 0 0}.drawer-body{padding:4px 28px 28px;overflow:auto;flex:1}.drawer-body h3{font-size:15px;margin:28px 0 16px}.customer-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full-field{grid-column:1/-1}textarea{font:inherit;color:inherit;display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #c9c1bc;border-radius:7px;resize:vertical}.drawer-footer{border-top:1px solid var(--line);justify-content:flex-end}.record-meta{display:grid;gap:8px;color:var(--muted);font-size:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}#customer-error:not(:empty){padding:14px;background:#f8eae3;color:#91491f;border-radius:8px;margin-top:20px}input[readonly]{background:#f0ecea;color:#726a65}@media(max-width:640px){.customer-intro{align-items:flex-start}.customer-filters{padding:16px;gap:12px}.customer-filters label{flex:1;min-width:120px}.filter-actions{width:100%}.pagination{align-items:flex-start;flex-direction:column}.customer-fields{grid-template-columns:1fr}.drawer-heading,.drawer-footer{padding:20px}.drawer-body{padding:0 20px 24px}}

.nutrition-food-table{min-width:900px;font-variant-numeric:tabular-nums}.food-identity{display:flex;align-items:center;gap:12px;min-width:160px}.food-identity img{object-fit:cover;border-radius:8px}.food-identity .badge{margin-top:8px}.nutrition-dialog{width:min(820px,100vw)}.nutrition-dialog-inner{height:100%;display:flex;flex-direction:column}.nutrition-error:not(:empty){padding:12px 16px;background:#f8eae3;color:#91491f;border-radius:8px;margin-top:20px}.nutrition-picker{border:1px solid var(--line);border-radius:8px;padding:14px;margin:18px 0}.nutrition-picker legend{font-weight:650;font-size:14px}.selected-foods,.food-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.selected-foods button{background:#f1ebe7;color:#633a1d}.food-options button{font-size:12px;padding:7px 10px}.food-options small{display:block;color:var(--muted);margin-top:3px}.nutrition-plan{padding:18px 0;border-bottom:1px solid var(--line)}.nutrition-plan h3{margin:0 0 16px}.nutrition-plan h4{margin:16px 0 6px}.nutrition-plan ul{line-height:1.8;padding-left:20px}.nutrition-plan p{font-size:13px}.nutrition-generate{display:flex;align-items:end;gap:14px}.nutrition-generate label{flex:1}.nutrition-dialog #saved-plans>button{margin-top:12px}.nutrition-dialog #plan-preview{margin-top:20px}.nutrition-dialog h3{margin-top:30px}.nutrition-dialog input[type=search]{margin-top:0} @media(max-width:640px){.nutrition-generate{align-items:stretch;flex-direction:column}}
.nutrition-allergens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.nutrition-allergens .check{font-size:13px}@media(max-width:640px){.nutrition-allergens{grid-template-columns:repeat(2,minmax(0,1fr))}}

.energy-admin-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;margin:20px 0}.energy-admin-summary div{padding:12px 0;border-bottom:1px solid var(--line,#e9ded2)}.energy-admin-summary dt{font-size:13px;color:var(--muted,#78685d)}.energy-admin-summary dd{margin:8px 0 0;font-size:22px;font-variant-numeric:tabular-nums}.energy-admin-summary dd small{margin-left:6px;font-size:12px}

/* 训程表：统一桌面管理界面的阅读与操作层级。 */
:root{--line:#e5e2df;--muted:#6d645d;background:#faf7f2;line-height:1.5}button{min-height:40px;border-radius:10px;padding:10px 18px;transition:background-color .16s,color .16s,border-color .16s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sidebar{position:sticky;top:0;align-self:start;min-height:100vh;padding:32px 20px;background:#35251b;gap:32px}.sidebar .brand{font-size:26px}.sidebar nav button{border-radius:12px;padding:13px 16px;color:#d1c8c1}.sidebar nav button:hover,.sidebar nav button[aria-current=page]{background:#4d3a2c;color:#fff}.main{width:100%;max-width:1680px;margin:0 auto;padding:36px clamp(24px,3.5vw,56px) 64px}header{padding-bottom:24px;margin-bottom:28px}h1{font-size:28px;line-height:1.3;letter-spacing:-.5px}h2{font-size:18px;line-height:1.5}.panel,.card{border-radius:16px}.metrics{gap:18px}.metrics>div,.metrics>article{border-radius:16px}.metrics strong{font-variant-numeric:tabular-nums;font-size:32px}table{font-size:14px}th{font-size:12px;letter-spacing:.2px;color:#6d645d;background:#f1eeeb}td{line-height:1.65}tbody tr:hover{background:#f8f5f3}input,select,textarea{border-radius:10px;border-color:#d5cfcb;min-height:42px;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.customer-filters{gap:14px;background:#f1eeeb;border-radius:16px}.drawer{border-radius:20px 0 0 20px}.drawer header{padding-bottom:20px}.empty{line-height:1.8;color:var(--muted)}
@media(max-width:900px){.main{padding:28px 24px 48px}.sidebar{padding:28px 16px}}
@media(max-width:640px){.sidebar{position:static;min-height:0;padding:20px;gap:20px}.main{padding:24px 18px 40px}header{align-items:flex-start;flex-wrap:wrap}h1{font-size:25px}.drawer{border-radius:0}.metrics{gap:12px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
.sidebar nav button{display:flex;align-items:center;gap:12px}.nav-icon{width:20px;height:20px;flex-shrink:0}.sidebar nav button[aria-current=page] .nav-icon{filter:brightness(1.2)}
/* 训程表 · 日光橙：与小程序保持同一品牌色。 */
button{color:var(--accent)}.primary{color:#fff;background:#b94f19;border-color:#b94f19}.primary:hover{background:#a74716}.sidebar nav button{color:#e9bb98}.sidebar nav button:hover{background:#6e3a20;color:#fff}.sidebar nav button[aria-current=page]{background:#a94818;color:#fff}.sidebar{background:#35251b}.login-aside{background:#35251b}
