/* V4.1 05½/05¾/05⅚ + S: presentation only. m-/hf-/sp- map directly to the spec. */
:root{--m-gradient:linear-gradient(135deg,color-mix(in srgb,var(--seed-primary) 10%,var(--bg-surface)),color-mix(in srgb,var(--seed-accent) 6%,var(--bg-surface)));--m-divider:color-mix(in srgb,var(--line) 75%,transparent)}
body{background:var(--bg-page)}
/* V4.2 校准：仅工作台画布和主菜单，登录页及业务卡片沿用原样。 */
:root{--m-canvas:#F9F8FC;--m-nav-line:#EAE7F2}
html[data-theme="light"] body:has(#appView:not(.hidden)){
  background:var(--m-canvas);
  background-image:radial-gradient(circle at 8% -8%,#EEE8FD 0,transparent 36%),radial-gradient(circle at 96% 5%,#F9EAF5 0,transparent 34%);
  background-attachment:fixed;
}
html[data-theme="light"] #sidenav{
  background:radial-gradient(circle at 100% 0%,#FDF8FE 0,transparent 43%),radial-gradient(circle at 0% 64%,#F9F7FF 0,transparent 48%),linear-gradient(165deg,#FFF 0%,#FEFDFF 63%,#FBFAFE 100%);
  border-color:var(--m-nav-line);
  box-shadow:0 12px 32px rgba(66,51,110,.07);
}
html[data-theme="light"] #sidenav .sn-user{background:transparent;border-top:1px solid var(--m-nav-line)}
html[data-theme="light"] #sidenav .sn-item.on{background:var(--seed-primary);color:#FFF;box-shadow:0 8px 17px color-mix(in srgb,var(--seed-primary) 21%,transparent)}
html[data-theme="light"] #sidenav .sn-item.on .it{background:rgba(255,255,255,.18);color:#FFF}
html[data-theme="light"] #sidenav .sn-item:hover:not(.on){background:#F3F0FD;color:var(--seed-primary);transform:none}
html[data-theme="light"] #sidenav .sn-label{color:#8988A1}
html[data-theme="light"] #sidenav .sn-item:not(.on){color:#606078}
#mLegacyHooks{display:none!important}
#appView>.shell{padding:12px 0;min-height:100dvh}
#appView .shell-main{min-width:0;width:100%}
#appView .wrap{max-width:none;margin:0 auto;padding:0 20px 20px;overflow:visible;min-width:0}
#sidenav .sn-brand{height:84px;display:block;position:relative;padding:12px 10px 8px;border:0}
.m-brand-row{display:flex;gap:8px;align-items:center}
.m-brand-row{justify-content:center}
#sidenav .sn-mark{display:none;width:30px;height:30px;border-radius:10px;background:var(--seed-primary);color:var(--on-primary);font-size:14px;letter-spacing:0}
@media(min-width:761px){.nav-folded:not(.nav-peek) #sidenav .sn-mark{display:flex}}
#sidenav .sn-brand-copy{gap:1px;flex:1}.sn-brand-copy b{font-size:12px!important}.sn-brand-copy span{font-size:9px!important}
#sidenav .m-brand-logo{height:30px;min-width:0;background:var(--cooktime-logo) center/contain no-repeat}
[data-theme="dark"] #sidenav .m-brand-logo{filter:brightness(0) invert(1)}
.m-brand-sub{text-align:center;letter-spacing:.14em;font-size:10.5px;color:var(--txt-2);margin-top:8px;white-space:nowrap}
#sidenav .sn-toggle{width:20px;height:24px;position:absolute;right:10px;top:50%;transform:translateY(-50%);background:var(--bg-soft)}
#sidenav .sn-user{padding:10px 9px;gap:5px;border:0;box-shadow:none}
#sidenav .sn-profile{min-width:0;gap:6px;flex:1;padding:0}
#sidenav .sn-avatar{width:30px;height:30px;flex:none;font-size:12px}
#sidenav .sn-user-copy b{font-size:11px}#sidenav .sn-user-copy span{font-size:9px}
.m-quick{display:flex;align-items:center;gap:1px;flex:none}
.m-quick .icon-btn,.m-quick .top-profile{width:24px;height:30px;min-width:0;padding:3px;border:0;background:transparent;box-shadow:none;color:var(--txt-2);display:grid;place-items:center;border-radius:8px}
.m-quick svg{width:18px;height:18px;stroke-width:1.7}.m-quick .bell-dot{top:-3px;right:-2px;font-size:8px;min-width:12px;height:12px;padding:0 3px}
.m-quick button:hover{background:var(--bg-soft)}.m-quick button:focus-visible{outline:2px solid var(--seed-primary)}
#topAvatar{display:none}
#notifPanel{position:fixed;top:auto;bottom:82px;left:248px;right:auto;width:min(360px,calc(100vw - 28px));max-height:65dvh;overflow:auto;z-index:85}
.m-sync{padding:12px 18px;color:var(--txt-3);font-size:11.5px}.m-sync .sync-badge{background:var(--bg-soft);color:var(--txt-2);box-shadow:none}
#page-home.v4-home-active>.m-sync{display:block!important}
.m-page .v4-loop-step{border:0;background:var(--bg-soft);border-radius:16px}
.m-page .v4-todo-head.m-card-head{border-bottom:1px solid var(--m-divider);padding:16px 0 11px}
@media(min-width:761px){.nav-folded:not(.nav-peek) #sidenav .m-brand-sub,.nav-folded:not(.nav-peek) #sidenav .m-quick{display:none!important}.nav-folded:not(.nav-peek) #sidenav .sn-brand{padding:12px 0}.nav-folded:not(.nav-peek) .m-brand-row{justify-content:center}.nav-folded:not(.nav-peek) #sidenav .sn-toggle{opacity:0;position:absolute;inset:12px auto auto 12px;width:30px;height:30px}.nav-folded:not(.nav-peek) #sidenav .sn-toggle:focus-visible{opacity:1}.nav-folded:not(.nav-peek) #sidenav .sn-user{justify-content:center;padding:10px 12px}.nav-folded:not(.nav-peek) .sn-profile{flex:0!important}}
@media(min-width:761px){
  .nav-folded:not(.nav-peek) #sidenav .sn-brand{height:64px;padding:0;display:grid;place-items:center}
  .nav-folded:not(.nav-peek) #sidenav .m-brand-row{width:100%;justify-content:center;gap:0}
  .nav-folded:not(.nav-peek) #sidenav .sn-mark{display:grid;place-items:center}
  .nav-folded:not(.nav-peek) #sidenav .sn-toggle{inset:17px auto auto 12px;transform:none}
  .nav-folded:not(.nav-peek) #sidenav .sn-user{height:64px;min-height:64px;padding:0;display:grid;place-items:center;gap:0}
  .nav-folded:not(.nav-peek) #sidenav .sn-profile{width:30px;height:30px;display:grid;place-items:center;gap:0;flex:none!important}
}
.m-card,.m-page :is(.panel,.r2-surface,.r3-surface,.ap-section,.r6-card,.mp-group,.profile-shell,.v4-empty){background:var(--bg-surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);margin-bottom:16px;min-width:0}
.m-first{overflow:clip}.m-first>.m-hero{border-radius:17px 17px 0 0}
.m-page .m-hero{display:flex;align-items:center;gap:11px;padding:18px 20px;margin:0;border:0;box-shadow:none;background:var(--m-gradient);min-width:0;flex-wrap:wrap}
.m-hero::before{content:'';width:5px;height:24px;border-radius:3px;background:var(--seed-primary);flex:none}
.m-page .m-hero :is(h1,h2,.panel-title){font-size:21px;font-weight:800;line-height:1.25;margin:0;color:var(--txt-1)}
.m-hero>.hf-copy,.m-hero>div:has(>h1){flex:1;min-width:120px}.m-hero p{font-size:12px;color:var(--txt-3);margin:4px 0 0}
.m-page .m-hero .panel-title::before,.m-page .m-hero .panel-title .no{display:none}
.m-page .m-hero :is(.r2-head-actions,.r3-head-actions,.mp-actions,.ap-actions){width:auto;max-width:100%;margin-left:auto}
.m-page :is(.panel-head,.r2-toolbar,.r3-section-head,.filter-bar,.toolbar,.pf-section-head,.layer-head,.layer-foot){border-top:0;border-bottom:0}
.m-page .m-card-head{display:flex;align-items:center;gap:9px;margin:0 18px 12px;padding:16px 0 11px;border:0;border-bottom:1px solid var(--m-divider);background:transparent}
.m-card-head::before{content:'';width:3.5px;height:18px;border-radius:2px;background:var(--seed-primary);flex:none}
.m-card-head :is(h2,h3,.panel-title){font-size:14px;font-weight:750;margin:0}.m-card-head .panel-title::before{display:none}.m-card-head p{font-size:11.5px;color:var(--txt-3);margin:3px 0 0}
.m-page :is(.r2-kpis,.r3-kpis,.v4-loop,.v4-four,.ap-kpis){padding:16px 18px;margin:0;gap:12px}
.m-page :is(.r2-kpi,.r3-kpi,.v4-loop-card,.v4-four-card,.ap-kpi){border:0;box-shadow:none;background:var(--bg-soft);border-radius:16px}
.m-page .r2-kpi strong{font-size:22px}.m-first>.mp-strip,.m-first>.r3-alert{margin:12px 18px;border:0}.m-first>.mp-tabs,.m-first>.ap-list-head{padding:12px 18px;margin:0}
/* H1/H3 absorbed tool rows: the hero-to-toolbar gap is a measurable 12px. */
.m-card>.m-hero+:is(.ap-list-head,.mp-tabs,.r6-tools){margin-top:12px;padding-top:0}
.m-card>.m-hero+.panel-body:has(>.r6-tools:first-child){padding-top:12px}
.m-card>.ap-list-head>.t1-tabs{border-bottom:0}
.m-card>:is(.ap-list-section,.mp-strip,.r6-pending){border:0;border-radius:0;box-shadow:none;background:inherit}
.m-page :is(.r3-section-body,.panel-body){padding:16px 18px}.m-page .b0-layout{gap:16px}.m-page .b0-tree{width:170px;border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:18px}
.m-page .b0-layout{grid-template-columns:170px minmax(0,1fr)}
.m-page .r2-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.m-page .m-first .r2-kpis{margin:0}
.m-page .hf-empty{border:0;box-shadow:none;margin:0;border-radius:0 0 18px 18px}.m-first>.r6-tools{padding:16px 18px;margin:0}.m-first>.r6-pending{margin:0 18px 16px}
.m-page .r2-toolbar{padding:14px 18px}.m-page .r3-form-subtitle{border:0}
.m-page .b0-context.m-card-head{background:transparent;border-radius:0;margin:0 0 12px;padding:0 0 11px;border-bottom:1px solid var(--m-divider)}
.m-page .v4-welcome{border:0;border-radius:0;margin:0}.m-page .v4-metrics{margin:16px 0;gap:16px}
.m-page .v4-metric{border-radius:18px;box-shadow:var(--shadow-sm)}
.m-page .ap-list-section{border:0;margin:0}.m-page .mp-group{padding:16px 18px}.m-page .mp-group>summary{border:0;border-bottom:1px solid var(--m-divider);margin-bottom:12px}
.sp-crumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;font-size:12px;color:var(--txt-3)}
.sp-crumb button{border:0;background:transparent;color:var(--seed-primary);padding:6px 0;cursor:pointer}
.m-page .sp-hero{background:var(--m-gradient);padding:16px 18px;border:0;border-radius:17px 17px 0 0;margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sp-hero::before{content:'';width:4px;height:20px;flex:none;border-radius:3px;background:var(--seed-primary)}
.m-page .sp-hero :is(h1,h2){font-size:18px;margin:0;font-weight:800}
.sp-hero>div:first-of-type{flex:1;min-width:160px}.sp-hero [data-ap="list"]{display:none}.sp-hero .ap-actions{margin-left:auto}
.sp-editor .ap-form,.pf-shell{max-width:640px!important;margin-left:auto;margin-right:auto}
.sp-editor .ap-form-footer{position:sticky;bottom:0;background:var(--bg-surface);padding:14px 18px;border:0;box-shadow:var(--shadow-sm);z-index:5}
.layer,.r6-drawer{width:min(820px,100vw)!important;max-width:100vw;border-radius:18px 0 0 18px!important;box-shadow:var(--shadow-lg);background:var(--bg-surface);overflow-x:hidden}
#mask,.r6-shade{background:color-mix(in srgb,var(--seed-fg) 40%,transparent)!important}
.layer-head,.layer-foot,.r6-drawer>.r6-head{border:0!important}.layer-head,.r6-drawer>.r6-head{background:var(--m-gradient)}
.sp-close-foot{margin:16px 18px}.pf-topbar{display:none}.pf-shell{margin-top:12px}.pf-hero{background:var(--m-gradient)}
.sp-suspended{display:none!important}.sp-steps{display:flex;gap:6px;overflow-x:auto;padding:12px 0;margin-bottom:12px}.sp-step{border:0;border-radius:12px;background:var(--bg-soft);color:var(--txt-2);padding:9px 12px;white-space:nowrap;cursor:pointer}.sp-step.on{background:var(--seed-primary);color:var(--on-primary)}
.pf-identity{padding:0;overflow:hidden}.pf-identity-head.sp-hero{background:var(--m-gradient);padding:16px 18px;border:0;display:flex;gap:10px}.pf-identity-head.sp-hero .pf-title{font-size:18px}.pf-identity-grid{padding:16px 18px}.pf-eyebrow{display:none}.pf-section{border-radius:18px}.pf-section-head{border:0!important}.pf-actions{max-width:640px;border:0!important}.pf-theme{flex:none}
@media(max-width:760px){#appView .wrap{padding:0 14px 18px}#appView>.shell{padding-top:56px;margin-left:0}#navMobileBtn{position:fixed;left:14px;top:12px;width:32px;height:32px;background:var(--bg-surface);border:1px solid var(--line);z-index:40}#notifPanel{left:14px;bottom:82px;z-index:90}.m-page .m-hero{padding:16px 14px;gap:9px}.m-page .m-hero :is(.r2-head-actions,.r3-head-actions,.mp-actions,.ap-actions){width:100%;margin-left:0;flex-wrap:wrap}.m-page .r2-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.m-page .b0-layout{grid-template-columns:1fr}.m-page .b0-tree{width:100%}.m-page .m-card-head{margin-left:14px;margin-right:14px}.m-page :is(.r2-kpis,.r3-kpis){padding:14px}.layer,.r6-drawer{width:100vw!important}.sp-editor .ap-form{width:100%}.sp-crumb{padding:0 2px}}
