*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: #050e1a;--foreground: #ecf3f8;--card: #0d1928;--card-foreground: #ecf3f8;--primary: #00ccf9;--primary-foreground: #000514;--secondary: #162537;--secondary-foreground: #e6edf2;--muted: #142030;--muted-foreground: #b5c2cc;--accent: #00394f;--accent-foreground: #e4f5fb;--border: rgba(37, 52, 71, .7);--input: #1b2a3c;--ring: #00ccf9;--success: #12cb76;--danger: #ff4f59;--warning: #f59e0b;--radius: .625rem;--radius-lg: .875rem;--surface-glass: rgba(5, 14, 26, .76);--surface-glass-strong: rgba(5, 14, 26, .94);--shadow-cyan: 0 2px 8px rgba(0, 4, 12, .28);--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", monospace}*{border-color:var(--border)}html{scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;display:none}body:after{content:"";position:fixed;inset-inline:0;top:0;height:1px;pointer-events:none;z-index:0;display:none}::-moz-selection{background:#00ccf93d;color:var(--foreground)}::selection{background:#00ccf93d;color:var(--foreground)}*{scrollbar-width:thin;scrollbar-color:rgba(0,204,249,.42) rgba(9,20,35,.75)}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:#091423bf}*::-webkit-scrollbar-thumb{border-radius:4px;background:#40546a;border:2px solid rgba(9,20,35,.75)}button,a,input,select,textarea{transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .12s ease}button:active,a:active{transform:translateY(1px)}input,select,textarea{border-color:#4a5b70c7!important;background:#0a1523!important;color:var(--foreground)!important}input::-moz-placeholder,textarea::-moz-placeholder{color:#9aadb8bd}input::placeholder,textarea::placeholder{color:#9aadb8bd}input:hover,select:hover,textarea:hover{border-color:#748aa2db!important}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.card-soft{position:relative;border-radius:8px;box-shadow:0 1px 2px #00040c3d;background:#0d1928;border:1px solid rgba(61,78,98,.72);color:#f1f5f9;transition:box-shadow .25s ease-out,border-color .25s ease-out,background .25s ease-out;overflow:hidden}.card-soft:before{display:none}.card-soft>*{position:relative;z-index:1}.card-soft:hover{box-shadow:0 2px 8px #00040c47;border-color:#5a6f87d1}.card-link{cursor:pointer}.card-link:hover{border-color:#7087a0e0}.card-link:active{box-shadow:0 1px 3px #00040c59;transform:scale(.995);transition:transform .08s ease-in}.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-primary-btn{box-shadow:none}.ui-primary-btn:hover{filter:brightness(1.04);box-shadow:none}.ui-ghost-btn{background:#111f30;border-color:#4a5b70c7}.ui-ghost-btn:hover{background:#162537f2;border-color:#00ccf973}table{border-collapse:separate;border-spacing:0}tbody tr{transition:background-color .16s ease}thead tr{box-shadow:0 1px #4a5b7080}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes progressGrow{0%{width:0%}}@keyframes pulseGlow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}@keyframes countIn{0%{opacity:.5}to{opacity:1}}.animate-in{animation:fadeInUp .5s ease-out both}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.progress-bar{height:6px;background:var(--secondary);border-radius:9999px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:9999px;animation:progressGrow 1s ease-out both}.ring-glow-success,.ring-glow-danger{filter:none}.pulse-dot{animation:none}.card-top-glow{position:relative;overflow:hidden}.card-top-glow:before{display:none}.btn-export{display:inline-flex;align-items:center;gap:6px;padding:0 12px;height:32px;font-size:12px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--muted-foreground);cursor:pointer;transition:all .2s}.btn-export:hover{background:var(--secondary);color:var(--foreground);border-color:var(--primary)}.skip-link{position:fixed;left:1rem;top:.75rem;z-index:60;transform:translateY(-140%);border-radius:.625rem;background:var(--primary);color:var(--primary-foreground);padding:.5rem .75rem;font-size:.8125rem;font-weight:600}.skip-link:focus{transform:translateY(0)}.app-route-loader{display:inline-flex;align-items:center;gap:.65rem;border:1px solid rgba(0,204,249,.28);border-radius:.75rem;background:#020816c7;padding:.75rem 1rem;box-shadow:var(--shadow-cyan);font-size:.875rem}.app-route-loader-mark{width:.55rem;height:.55rem;border-radius:999px;background:var(--primary);box-shadow:0 0 16px #00ccf9bf;animation:pulseGlow 1.4s ease-in-out infinite}.text-micro{font-size:12px;line-height:1.5}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.toolbar-group{display:flex;align-items:center;gap:.5rem;min-width:0}.toolbar-wrap{flex-wrap:wrap}.kpi-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:.75rem}@media(min-width:640px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1280px){.kpi-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.table-card{overflow:hidden;max-width:100%}.table-scroll{overflow:auto;max-width:100%;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:separate;border-spacing:0}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-2{top:.5rem;bottom:.5rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-3{right:.75rem}.top-0{top:0}.top-12{top:3rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-\[128px\]{top:128px}.top-\[64px\]{top:64px}.top-\[72px\]{top:72px}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[1\]{z-index:1}.order-last{order:9999}.col-span-12{grid-column:span 12 / span 12}.col-span-4{grid-column:span 4 / span 4}.col-span-8{grid-column:span 8 / span 8}.col-span-full{grid-column:1 / -1}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.-mr-2{margin-right:-.5rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-1\.5{width:.375rem;height:.375rem}.size-10{width:2.5rem;height:2.5rem}.size-12{width:3rem;height:3rem}.size-2{width:.5rem;height:.5rem}.size-2\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-\[140px\]{width:140px;height:140px}.size-\[18px\]{width:18px;height:18px}.size-full{width:100%;height:100%}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-28{height:7rem}.h-3{height:.75rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[320px\]{height:320px}.h-\[72px\]{height:72px}.h-full{height:100%}.h-screen{height:100vh}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-\[260px\]{max-height:260px}.max-h-\[280px\]{max-height:280px}.max-h-\[320px\]{max-height:320px}.max-h-\[340px\]{max-height:340px}.max-h-\[3rem\]{max-height:3rem}.max-h-\[420px\]{max-height:420px}.max-h-\[70vh\]{max-height:70vh}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-14{min-height:3.5rem}.min-h-\[112px\]{min-height:112px}.min-h-\[172px\]{min-height:172px}.min-h-\[184px\]{min-height:184px}.min-h-\[190px\]{min-height:190px}.min-h-\[320px\]{min-height:320px}.min-h-\[34px\]{min-height:34px}.min-h-\[520px\]{min-height:520px}.min-h-\[88px\]{min-height:88px}.min-h-screen{min-height:100vh}.w-0\.5{width:.125rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-36{width:9rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-\[72px\]{width:72px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-32{min-width:8rem}.min-w-44{min-width:11rem}.min-w-56{min-width:14rem}.min-w-64{min-width:16rem}.min-w-8{min-width:2rem}.min-w-\[1180px\]{min-width:1180px}.min-w-\[1260px\]{min-width:1260px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[260px\]{min-width:260px}.min-w-\[520px\]{min-width:520px}.min-w-\[700px\]{min-width:700px}.min-w-\[760px\]{min-width:760px}.min-w-\[820px\]{min-width:820px}.min-w-\[920px\]{min-width:920px}.min-w-\[96px\]{min-width:96px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-40{max-width:10rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[1680px\]{max-width:1680px}.max-w-\[230px\]{max-width:230px}.max-w-\[420px\]{max-width:420px}.max-w-\[96px\]{max-width:96px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.scroll-mt-24{scroll-margin-top:6rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-y-1{row-gap:.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-border>:not([hidden])~:not([hidden]){border-color:#253447b3}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.625rem}.rounded-md{border-radius:.5rem}.rounded-sm{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-\[rgba\(18\,203\,118\,\.30\)\]{border-color:#12cb764d}.border-\[rgba\(245\,158\,11\,0\.35\)\]{border-color:#f59e0b59}.border-\[rgba\(255\,79\,89\,\.32\)\]{border-color:#ff4f5952}.border-\[var\(--danger\)\]{border-color:var(--danger)}.border-\[var\(--success\)\]{border-color:var(--success)}.border-border{border-color:#253447b3}.border-border\/60{border-color:#25344799}.border-border\/70{border-color:#253447b3}.border-border\/80{border-color:#253447cc}.border-cyan-400{--tw-border-opacity: 1;border-color:rgb(34 211 238 / var(--tw-border-opacity, 1))}.border-cyan-400\/25{border-color:#22d3ee40}.border-cyan-400\/30{border-color:#22d3ee4d}.border-cyan-400\/40{border-color:#22d3ee66}.border-emerald-400{--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1))}.border-emerald-400\/30{border-color:#34d3994d}.border-emerald-500\/25{border-color:#10b98140}.border-emerald-500\/30{border-color:#10b9814d}.border-muted-foreground\/30{border-color:#b5c2cc4d}.border-primary{--tw-border-opacity: 1;border-color:rgb(0 204 249 / var(--tw-border-opacity, 1))}.border-primary\/20{border-color:#00ccf933}.border-primary\/25{border-color:#00ccf940}.border-primary\/30{border-color:#00ccf94d}.border-primary\/35{border-color:#00ccf959}.border-primary\/40{border-color:#00ccf966}.border-primary\/45{border-color:#00ccf973}.border-primary\/60{border-color:#00ccf999}.border-primary\/70{border-color:#00ccf9b3}.border-red-400\/30{border-color:#f871714d}.border-red-500\/25{border-color:#ef444440}.border-red-500\/30{border-color:#ef44444d}.border-slate-500{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity, 1))}.border-yellow-300\/30{border-color:#fde0474d}.border-yellow-400{--tw-border-opacity: 1;border-color:rgb(250 204 21 / var(--tw-border-opacity, 1))}.border-yellow-400\/25{border-color:#facc1540}.border-yellow-400\/30{border-color:#facc154d}.border-yellow-400\/40{border-color:#facc1566}.border-yellow-400\/45{border-color:#facc1573}.border-yellow-400\/60{border-color:#facc1599}.bg-\[\#07111d\]{--tw-bg-opacity: 1;background-color:rgb(7 17 29 / var(--tw-bg-opacity, 1))}.bg-\[\#0d1928\]{--tw-bg-opacity: 1;background-color:rgb(13 25 40 / var(--tw-bg-opacity, 1))}.bg-\[rgba\(18\,203\,118\,\.06\)\]{background-color:#12cb760f}.bg-\[rgba\(18\,203\,118\,0\.1\)\]{background-color:#12cb761a}.bg-\[rgba\(245\,158\,11\,0\.08\)\]{background-color:#f59e0b14}.bg-\[rgba\(255\,79\,89\,\.07\)\]{background-color:#ff4f5912}.bg-\[rgba\(255\,79\,89\,0\.08\)\]{background-color:#ff4f5914}.bg-\[rgba\(255\,79\,89\,0\.1\)\]{background-color:#ff4f591a}.bg-\[var\(--danger\)\]{background-color:var(--danger)}.bg-\[var\(--success\)\]{background-color:var(--success)}.bg-accent{--tw-bg-opacity: 1;background-color:rgb(0 57 79 / var(--tw-bg-opacity, 1))}.bg-background{--tw-bg-opacity: 1;background-color:rgb(5 14 26 / var(--tw-bg-opacity, 1))}.bg-background\/35{background-color:#050e1a59}.bg-background\/40{background-color:#050e1a66}.bg-background\/45{background-color:#050e1a73}.bg-border{background-color:#253447b3}.bg-card{--tw-bg-opacity: 1;background-color:rgb(13 25 40 / var(--tw-bg-opacity, 1))}.bg-card\/25{background-color:#0d192840}.bg-card\/35{background-color:#0d192859}.bg-card\/40{background-color:#0d192866}.bg-card\/45{background-color:#0d192873}.bg-card\/80{background-color:#0d1928cc}.bg-cyan-400\/10{background-color:#22d3ee1a}.bg-cyan-400\/15{background-color:#22d3ee26}.bg-cyan-400\/5{background-color:#22d3ee0d}.bg-cyan-400\/\[0\.03\]{background-color:#22d3ee08}.bg-cyan-500\/15{background-color:#06b6d426}.bg-emerald-400\/15{background-color:#34d39926}.bg-emerald-400\/5,.bg-emerald-400\/\[0\.05\]{background-color:#34d3990d}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/15{background-color:#10b98126}.bg-emerald-500\/5{background-color:#10b9810d}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(0 204 249 / var(--tw-bg-opacity, 1))}.bg-primary\/10{background-color:#00ccf91a}.bg-primary\/15{background-color:#00ccf926}.bg-primary\/20{background-color:#00ccf933}.bg-primary\/5{background-color:#00ccf90d}.bg-primary\/\[0\.06\]{background-color:#00ccf90f}.bg-red-400\/15{background-color:#f8717126}.bg-red-400\/\[0\.05\]{background-color:#f871710d}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-red-500\/5{background-color:#ef44440d}.bg-secondary{--tw-bg-opacity: 1;background-color:rgb(22 37 55 / var(--tw-bg-opacity, 1))}.bg-secondary\/20{background-color:#16253733}.bg-secondary\/25{background-color:#16253740}.bg-secondary\/30{background-color:#1625374d}.bg-secondary\/35{background-color:#16253759}.bg-secondary\/40{background-color:#16253766}.bg-secondary\/50{background-color:#16253780}.bg-secondary\/60{background-color:#16253799}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-800\/90{background-color:#1e293be6}.bg-slate-950\/80{background-color:#020617cc}.bg-slate-950\/95{background-color:#020617f2}.bg-transparent{background-color:transparent}.bg-yellow-300\/10{background-color:#fde0471a}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.bg-yellow-400\/10{background-color:#facc151a}.bg-yellow-400\/15{background-color:#facc1526}.bg-yellow-400\/5{background-color:#facc150d}.bg-yellow-400\/\[0\.03\]{background-color:#facc1508}.fill-foreground{fill:#ecf3f8}.fill-primary{fill:#00ccf9}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[clamp\(2\.25rem\,10vw\,3rem\)\]{font-size:clamp(2.25rem,10vw,3rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-6{line-height:1.5rem}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[var\(--danger\)\]{color:var(--danger)}.text-\[var\(--success\)\]{color:var(--success)}.text-\[var\(--warning\)\]{color:var(--warning)}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-cyan-100{--tw-text-opacity: 1;color:rgb(207 250 254 / var(--tw-text-opacity, 1))}.text-cyan-200{--tw-text-opacity: 1;color:rgb(165 243 252 / var(--tw-text-opacity, 1))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity, 1))}.text-emerald-100{--tw-text-opacity: 1;color:rgb(209 250 229 / var(--tw-text-opacity, 1))}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity, 1))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.text-foreground{--tw-text-opacity: 1;color:rgb(236 243 248 / var(--tw-text-opacity, 1))}.text-muted-foreground{--tw-text-opacity: 1;color:rgb(181 194 204 / var(--tw-text-opacity, 1))}.text-muted-foreground\/40{color:#b5c2cc66}.text-primary{--tw-text-opacity: 1;color:rgb(0 204 249 / var(--tw-text-opacity, 1))}.text-primary-foreground{--tw-text-opacity: 1;color:rgb(0 5 20 / var(--tw-text-opacity, 1))}.text-primary\/80{color:#00ccf9cc}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.text-secondary-foreground{--tw-text-opacity: 1;color:rgb(230 237 242 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-100{--tw-text-opacity: 1;color:rgb(254 249 195 / var(--tw-text-opacity, 1))}.text-yellow-200{--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity, 1))}.text-yellow-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-\[0_18px_50px_rgba\(2\,8\,22\,\.55\)\]{--tw-shadow: 0 18px 50px rgba(2,8,22,.55);--tw-shadow-colored: 0 18px 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_24px_rgba\(0\,4\,12\,\.45\)\]{--tw-shadow: 0 8px 24px rgba(0,4,12,.45);--tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-primary\/25{--tw-ring-color: rgb(0 204 249 / .25)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.count-up-active{animation:countIn .3s ease-out}@media(max-width:768px){.grid-cols-12,.grid-cols-3{grid-template-columns:repeat(1,1fr)!important}.mobile-kpi-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid-cols-4{grid-template-columns:repeat(2,1fr)!important}.mobile-kpi-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.col-span-8,.col-span-7,.col-span-6,.col-span-5,.col-span-4,.col-span-3,.col-span-2{grid-column:span 12!important}.gap-4{gap:.75rem!important}.gap-6{gap:1rem!important}.mb-6,.mb-8{margin-bottom:1rem!important}nav{overflow-x:auto;-webkit-overflow-scrolling:touch}nav a{white-space:nowrap}nav img{height:2rem!important}.card-soft{padding:.75rem!important;border-radius:.75rem!important}.card-soft .text-3xl,.card-soft .text-4xl{font-size:1.25rem!important}.card-soft .text-2xl{font-size:1.1rem!important}.card-soft .text-xl{font-size:.95rem!important}.table-scroll{overflow:auto;-webkit-overflow-scrolling:touch}.data-table{font-size:.78rem}.data-table th,.data-table td{padding:.5rem .65rem}.page-toolbar{align-items:flex-start;flex-direction:column}.toolbar-group{width:100%;flex-wrap:wrap}.toolbar-group.ml-auto{margin-left:0!important}.section-head{flex-direction:column}.hide-mobile{display:none!important}}.review-native-root{width:100%;max-width:1680px;margin-inline:auto;display:flex;flex-direction:column;gap:1rem}.review-native-root,.review-native-root *{box-sizing:border-box}.review-native-root *{min-width:0}.review-native-root .review-panel{position:relative;max-width:100%;border-radius:1rem;border:1px solid rgba(0,204,249,.26);background:radial-gradient(circle at 12% 0%,rgba(0,204,249,.1),transparent 22rem),linear-gradient(180deg,#0f1d2fb8,#020816b8);box-shadow:0 12px 36px #0206174d,inset 0 1px #ffffff0a;backdrop-filter:blur(12px) saturate(1.05);-webkit-backdrop-filter:blur(12px) saturate(1.05);overflow:hidden}.review-native-root .review-panel>*{position:relative;z-index:1;min-width:0}.review-native-root .review-panel>.lvzai-hero-mascot{position:absolute;right:.75rem;top:1rem;bottom:auto;width:64px;min-width:64px;max-width:64px;height:64px;min-height:64px;max-height:64px;z-index:1;pointer-events:none}.review-native-root .review-panel>.lvzai-hero-mascot img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:bottom;object-position:bottom}@media(min-width:768px){.review-native-root .review-panel>.lvzai-hero-mascot{right:1.25rem;top:.75rem;bottom:auto;width:70px;min-width:70px;max-width:70px;height:70px;min-height:70px;max-height:70px}}.review-native-root .review-panel:before{content:"";position:absolute;inset-inline:.875rem;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,204,249,.52),transparent);pointer-events:none}.review-native-root .review-panel:has(table),.review-native-root .overflow-auto,.review-native-root .overflow-x-auto{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.review-native-root table{width:100%;min-width:-moz-max-content;min-width:max-content;border-collapse:separate;border-spacing:0}.review-native-root thead{position:sticky;top:0;z-index:2}.review-native-root th{background:#0f172af5;color:#cbd5e1db;font-weight:600;white-space:nowrap}.review-native-root td{vertical-align:top}.review-native-root tbody tr:hover{background:#00ccf914}.review-native-root input,.review-native-root select,.review-native-root textarea{max-width:100%;min-width:0}.review-native-root button,.review-native-root a{min-width:0}.review-native-root img{max-width:100%}.review-native-root .grid>*,.review-native-root [class*=grid-cols]>*,.review-native-root [class*="xl:grid-cols"]>*,.review-native-root [class*="lg:grid-cols"]>*,.review-native-root [class*="md:grid-cols"]>*{min-width:0}.review-native-root [class*=justify-between]{min-width:0}.review-native-root :where(h1,h2,h3){letter-spacing:-.01em}.review-native-root :where(.rounded-lg,.rounded-xl){max-width:100%}.review-native-root :where(.truncate){min-width:0}.review-native-root :where([class*=bg-slate-900],[class*=bg-slate-950]){box-shadow:inset 0 1px #ffffff06}.review-native-root .review-log-card{display:flex;flex-direction:column;gap:.875rem;max-width:100%}.review-native-root .review-log-card-main{min-width:0;flex:1 1 auto}.review-native-root .review-log-card>:last-child{flex:0 0 auto}.review-native-root .review-workbench-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;width:100%;max-width:100%}.review-native-root .review-workbench-main,.review-native-root .review-workbench-aside,.review-native-root .review-workbench-stat-card{min-width:0;max-width:100%}.review-native-root .review-workbench-stat-icon{width:3rem;height:3rem;flex:0 0 3rem}.review-native-root .review-center-table-wrap{display:none!important;max-width:100%;border-radius:1rem;border:1px solid rgba(0,204,249,.16);background:#0f172a7a;-webkit-overflow-scrolling:touch}.review-native-root .review-center-table{min-width:1280px}.review-native-root .review-center-mobile-list{display:flex!important;flex-direction:column;gap:.875rem;max-width:100%}.review-native-root .review-center-mobile-card{max-width:100%;min-width:0;border-radius:1rem;border:1px solid rgba(0,204,249,.16);background:#0f172ab8;padding:.875rem;box-shadow:0 16px 40px #0f172a38}.review-native-root .review-center-mobile-card *{min-width:0}@media(min-width:640px){.review-native-root .review-workbench-stat-icon{width:3.25rem;height:3.25rem;flex-basis:3.25rem}}@media(min-width:1024px){.review-native-root .review-log-card{flex-direction:row;align-items:flex-start;justify-content:space-between}}@media(min-width:1280px){.review-native-root .review-workbench-shell{grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:start}.review-native-root .review-panel{border-radius:1.125rem}.review-native-root .review-center-table-wrap{display:block!important}.review-native-root .review-center-mobile-list{display:none!important}}@media(max-width:768px){.review-native-root{gap:.75rem}.review-native-root .review-panel{border-radius:.875rem}.review-native-root .review-panel[class*=p-4],.review-native-root .review-panel[class*=p-5],.review-native-root .review-panel[class*=p-6],.review-native-root .review-panel[class*=p-8]{padding:.875rem!important}.review-native-root :where(.text-3xl,.text-4xl){font-size:1.35rem!important;line-height:1.2!important}.review-native-root :where(.text-2xl){font-size:1.15rem!important;line-height:1.25!important}.review-native-root :where(.text-xl){font-size:1rem!important;line-height:1.35!important}.review-native-root :where([class*="w-["],[class*="max-w-["],[class*="min-w-["]){max-width:100%!important}.review-native-root table{font-size:.78rem}.review-native-root th,.review-native-root td{padding:.5rem .65rem!important}.review-native-root .review-panel:has(table){margin-inline:-.125rem}}@media print{@page{size:A4;margin:16mm}body{background:#fff!important;color:#111827!important;padding:0!important}body:before,header,nav,.no-print,button{display:none!important}main{max-width:none!important;padding:0!important;margin:0!important}.card-soft{background:#fff!important;color:#111827!important;border:1px solid #d1d5db!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.text-muted-foreground{color:#374151!important}.text-primary{color:#075985!important}.print-report{border-left:4px solid #075985!important;page-break-inside:avoid}.print-report section{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid;margin-bottom:14px}}.last\:border-0:last-child{border-width:0px}.last\:pb-0:last-child{padding-bottom:0}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[rgba\(255\,79\,89\,0\.55\)\]:hover{border-color:#ff4f598c}.hover\:border-primary:hover{--tw-border-opacity: 1;border-color:rgb(0 204 249 / var(--tw-border-opacity, 1))}.hover\:border-primary\/50:hover{border-color:#00ccf980}.hover\:border-slate-500:hover{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity, 1))}.hover\:bg-\[rgba\(255\,79\,89\,0\.06\)\]:hover{background-color:#ff4f590f}.hover\:bg-\[rgba\(255\,79\,89\,0\.1\)\]:hover{background-color:#ff4f591a}.hover\:bg-border:hover{background-color:#253447b3}.hover\:bg-cyan-400\/10:hover{background-color:#22d3ee1a}.hover\:bg-cyan-400\/15:hover{background-color:#22d3ee26}.hover\:bg-cyan-400\/20:hover{background-color:#22d3ee33}.hover\:bg-emerald-500\/10:hover{background-color:#10b9811a}.hover\:bg-primary:hover{--tw-bg-opacity: 1;background-color:rgb(0 204 249 / var(--tw-bg-opacity, 1))}.hover\:bg-primary\/10:hover{background-color:#00ccf91a}.hover\:bg-primary\/15:hover{background-color:#00ccf926}.hover\:bg-primary\/\[0\.06\]:hover{background-color:#00ccf90f}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(22 37 55 / var(--tw-bg-opacity, 1))}.hover\:bg-secondary\/20:hover{background-color:#16253733}.hover\:bg-secondary\/30:hover{background-color:#1625374d}.hover\:bg-secondary\/35:hover{background-color:#16253759}.hover\:bg-secondary\/40:hover{background-color:#16253766}.hover\:bg-secondary\/45:hover{background-color:#16253773}.hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-800\/60:hover{background-color:#1e293b99}.hover\:bg-yellow-400\/10:hover{background-color:#facc151a}.hover\:text-\[var\(--danger\)\]:hover{color:var(--danger)}.hover\:text-foreground:hover{--tw-text-opacity: 1;color:rgb(236 243 248 / var(--tw-text-opacity, 1))}.hover\:text-primary:hover{--tw-text-opacity: 1;color:rgb(0 204 249 / var(--tw-text-opacity, 1))}.hover\:text-primary-foreground:hover{--tw-text-opacity: 1;color:rgb(0 5 20 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[0_16px_40px_rgba\(0\,204\,249\,0\.12\)\]:hover{--tw-shadow: 0 16px 40px rgba(0,204,249,.12);--tw-shadow-colored: 0 16px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-primary:focus{--tw-border-opacity: 1;border-color:rgb(0 204 249 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-primary:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 204 249 / var(--tw-ring-opacity, 1))}.focus\:ring-primary\/50:focus{--tw-ring-color: rgb(0 204 249 / .5)}.focus-visible\:underline:focus-visible{text-decoration-line:underline}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-primary\/60:focus-visible{--tw-ring-color: rgb(0 204 249 / .6)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-primary{--tw-bg-opacity: 1;background-color:rgb(0 204 249 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:text-primary{--tw-text-opacity: 1;color:rgb(0 204 249 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-primary-foreground{--tw-text-opacity: 1;color:rgb(0 5 20 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}@media(min-width:640px){.sm\:static{position:static}.sm\:order-none{order:0}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:hidden{display:none}.sm\:max-h-none{max-height:none}.sm\:w-16{width:4rem}.sm\:w-20{width:5rem}.sm\:w-24{width:6rem}.sm\:w-auto{width:auto}.sm\:flex-1{flex:1 1 0%}.sm\:flex-none{flex:none}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:.75rem}.sm\:gap-6{gap:1.5rem}.sm\:bg-slate-950\/60{background-color:#02061799}.sm\:p-5{padding:1.25rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-1{padding-top:.25rem;padding-bottom:.25rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media(max-width:768px){.sm\:grid-cols-4{grid-template-columns:repeat(2,1fr)!important}.sm\:gap-6{gap:1rem!important}.card-soft .sm\:text-2xl{font-size:1.1rem!important}}}@media(min-width:768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:grid{display:grid}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}@media(max-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(1,1fr)!important}.md\:grid-cols-4{grid-template-columns:repeat(2,1fr)!important}.md\:col-span-2{grid-column:span 12!important}}}@media(min-width:1024px){.lg\:top-\[72px\]{top:72px}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:col-span-5{grid-column:span 5 / span 5}.lg\:col-span-7{grid-column:span 7 / span 7}.lg\:col-span-8{grid-column:span 8 / span 8}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:mt-0{margin-top:0}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-auto{width:auto}.lg\:min-w-\[420px\]{min-width:420px}.lg\:max-w-\[360px\]{max-width:360px}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.2fr_0\.8fr\]{grid-template-columns:1.2fr .8fr}.lg\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:gap-8{gap:2rem}.lg\:rounded-md{border-radius:.5rem}.lg\:border{border-width:1px}.lg\:p-6{padding:1.5rem}.lg\:p-7{padding:1.75rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}@media(max-width:768px){.lg\:grid-cols-12,.lg\:grid-cols-3{grid-template-columns:repeat(1,1fr)!important}.lg\:grid-cols-4{grid-template-columns:repeat(2,1fr)!important}.lg\:col-span-8,.lg\:col-span-7,.lg\:col-span-5,.lg\:col-span-4,.lg\:col-span-3,.lg\:col-span-2{grid-column:span 12!important}.card-soft .lg\:text-3xl,.card-soft .lg\:text-4xl{font-size:1.25rem!important}}}@media(min-width:1280px){.xl\:col-span-2{grid-column:span 2 / span 2}.xl\:block{display:block}.xl\:inline{display:inline}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:w-\[430px\]{width:430px}.xl\:min-w-\[620px\]{min-width:620px}.xl\:min-w-\[780px\]{min-width:780px}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xl\:grid-cols-\[1\.15fr_0\.85fr\]{grid-template-columns:1.15fr .85fr}.xl\:grid-cols-\[1\.35fr_0\.65fr\]{grid-template-columns:1.35fr .65fr}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:items-center{align-items:center}.xl\:justify-between{justify-content:space-between}.xl\:gap-5{gap:1.25rem}@media(max-width:768px){.xl\:grid-cols-3{grid-template-columns:repeat(1,1fr)!important}.xl\:grid-cols-4{grid-template-columns:repeat(2,1fr)!important}.xl\:col-span-2{grid-column:span 12!important}}}.\[\&\>button\]\:w-full>button{width:100%}.\[\&\>button\]\:justify-start>button{justify-content:flex-start}.\[\&\>button\]\:text-left>button{text-align:left}
/* APH 2.0 visual layer — business logic remains in the React build. */
body.aph2-theme {
  --background: #f5f6fa;
  --foreground: #41464c;
  --card: #ffffff;
  --card-foreground: #41464c;
  --primary: #e60012;
  --primary-foreground: #ffffff;
  --secondary: #f0f1f4;
  --secondary-foreground: #4d5259;
  --muted: #f0f1f4;
  --muted-foreground: #7f848a;
  --accent: #fff1f2;
  --accent-foreground: #c70010;
  --border: #e8e9ed;
  --input: #ffffff;
  --ring: #e60012;
  --success: #258e59;
  --danger: #c75159;
  --warning: #f1a52f;
  --radius: 2px;
  --radius-lg: 2px;
  --surface-glass: #ffffff;
  --surface-glass-strong: #ffffff;
  --shadow-cyan: 0 1px 3px rgba(0, 0, 0, .07);
  color-scheme: light;
  background: #f5f6fa;
  color: #41464c;
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
  letter-spacing: 0;
}

body.aph2-theme::before,
body.aph2-theme::after { display: none !important; }

body.aph2-theme * {
  scrollbar-color: #e60012 #f0f1f4;
}
body.aph2-theme *::-webkit-scrollbar-track { background: #f0f1f4; }
body.aph2-theme *::-webkit-scrollbar-thumb {
  background: #e60012;
  border: 2px solid #f0f1f4;
  border-radius: 0;
}
body.aph2-theme ::selection { background: rgba(189, 30, 45, .18); color: #252525; }
body.aph2-theme :focus-visible { outline: 2px solid #e60012 !important; outline-offset: 2px; }
body.aph2-theme .num,
body.aph2-theme [class*="font-mono"] { font-variant-numeric: tabular-nums; }

/* Shell */
body.aph2-theme > #root > div,
body.aph2-theme .min-h-screen.bg-background { background: #f5f6fa !important; }
body.aph2-theme aside[aria-label*="导航栏"] {
  background: #ffffff !important;
  color: #4d5259 !important;
  border-color: #e8e9ed !important;
  box-shadow: 1px 0 5px rgba(0, 0, 0, .08);
}
body.aph2-theme aside[aria-label*="导航栏"] > div { padding-top: 12px !important; }
body.aph2-theme aside[aria-label*="导航栏"] img {
  filter: none;
  max-height: 42px;
}
body.aph2-theme aside[aria-label*="导航栏"] [class*="border-border"] { border-color: #ececef !important; }
body.aph2-theme aside[aria-label*="导航栏"] :where(button, a) {
  border-radius: 0 !important;
  color: #70747a !important;
}
body.aph2-theme aside[aria-label*="导航栏"] :where(button, a):hover {
  background: #f5f6fa !important;
  color: #c70010 !important;
}
body.aph2-theme aside[aria-label*="导航栏"] :where(a, button)[aria-current="page"],
body.aph2-theme aside[aria-label*="导航栏"] a.bg-slate-800 {
  background: #e60012 !important;
  color: #ffffff !important;
  box-shadow: inset 3px 0 #c70010;
}
body.aph2-theme aside[aria-label*="导航栏"] .text-white,
body.aph2-theme aside[aria-label*="导航栏"] .text-slate-100,
body.aph2-theme aside[aria-label*="导航栏"] .text-slate-300,
body.aph2-theme aside[aria-label*="导航栏"] .text-slate-400 { color: #70747a !important; }
body.aph2-theme aside[aria-label*="导航栏"] [aria-current="page"] * { color: #ffffff !important; }

body.aph2-theme header.sticky.top-0 {
  height: 52px !important;
  min-height: 52px;
  background: #050505 !important;
  color: #ffffff !important;
  border-color: #252525 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .33);
}
body.aph2-theme header.sticky.top-0 > div { height: 52px !important; }
body.aph2-theme header.sticky.top-0 :where(h1, .text-white, .text-slate-100, .text-slate-300) { color: #ffffff !important; }
body.aph2-theme header.sticky.top-0 :where(.text-muted-foreground, .text-slate-400) { color: #c8cbd0 !important; }
body.aph2-theme header.sticky.top-0 a:hover,
body.aph2-theme header.sticky.top-0 button:hover { background: #252525 !important; color: #ffffff !important; }
body.aph2-theme header.sticky.top-0 + .sticky {
  top: 52px !important;
  background: #ffffff !important;
  border-color: #e8e9ed !important;
}
body.aph2-theme header.sticky.top-0 + .sticky nav a { color: #70747a !important; border-radius: 0 !important; }
body.aph2-theme header.sticky.top-0 + .sticky nav a[aria-current="page"] { color: #ffffff !important; background: #e60012 !important; }

body.aph2-theme main#main-content { padding: 12px 14px 24px !important; }
body.aph2-theme main#main-content > div { max-width: 1680px !important; }

.aph-business-banner {
  position: relative;
  min-height: 190px;
  margin-bottom: 12px;
  padding: 28px 36px;
  display: grid;
  grid-template-columns: 170px 1fr auto;
  align-items: center;
  overflow: hidden;
  color: #ffffff;
  background: linear-gradient(112deg, #2d831f 0%, #258e59 50%, #187383 100%);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .07);
}
.aph-business-banner::after {
  content: "";
  position: absolute;
  right: -70px;
  top: -150px;
  width: 430px;
  height: 430px;
  border: 38px solid rgba(255, 255, 255, .07);
  border-radius: 50%;
}
.aph-banner-brand { display: flex; align-items: flex-start; gap: 12px; z-index: 1; }
.aph-banner-brand > strong { font-size: 42px; line-height: 1; font-weight: 700; }
.aph-banner-brand > span { font-size: 15px; line-height: 1.1; font-weight: 600; }
.aph-banner-brand small { display: block; margin-top: 5px; font-size: 9px; font-weight: 500; opacity: .84; }
.aph-banner-copy { z-index: 1; justify-self: center; }
.aph-banner-copy p { margin-bottom: 7px; font-size: 11px; letter-spacing: .38em; opacity: .9; }
.aph-banner-copy h1 { color: #ffffff !important; font-size: 34px !important; line-height: 1.25; font-weight: 700; letter-spacing: .06em !important; }
.aph-banner-copy h2 { margin-top: 9px; color: #ffffff !important; font-size: 18px; font-weight: 600; letter-spacing: .14em; }
.aph-business-banner time { z-index: 1; align-self: end; padding: 8px 10px; border-right: 4px solid rgba(255,255,255,.85); font-size: 18px; font-weight: 650; font-variant-numeric: tabular-nums; }

/* Core surfaces */
body.aph2-theme main .card-soft,
body.aph2-theme main article,
body.aph2-theme main [class*="rounded-"][class*="border"] {
  background-color: #ffffff;
  border-color: #e8e9ed !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .05);
  backdrop-filter: none !important;
}
body.aph2-theme main .card-soft {
  border-radius: 2px !important;
}
body.aph2-theme main .card-soft:hover,
body.aph2-theme main .card-link:hover {
  border-color: #d9d9d9 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .08) !important;
  transform: translateY(-1px);
}
body.aph2-theme main :where([class*="bg-slate-950"], [class*="bg-slate-900"], [class*="bg-slate-800"], [class*="bg-[#07111d]"]) {
  background-color: #ffffff !important;
}
body.aph2-theme main .bg-secondary { background-color: #f0f1f4 !important; }
body.aph2-theme main [class*="bg-secondary"] { background-color: #f0f1f4 !important; color: #41464c !important; }
body.aph2-theme main .text-secondary-foreground { color: #4d5259 !important; }
body.aph2-theme main .text-primary-foreground { color: #ffffff !important; }
body.aph2-theme main :where(.text-white, .text-slate-100, .text-slate-200, .text-slate-300) { color: #41464c !important; }
body.aph2-theme main :where(.text-slate-400, .text-slate-500, .text-muted-foreground) { color: #7f848a !important; }
body.aph2-theme main [class*="text-slate-"] { color: #7f848a !important; }
body.aph2-theme main [class*="text-foreground"] { color: #41464c !important; opacity: 1 !important; }
body.aph2-theme main .count-up-active,
body.aph2-theme main .num { color: #41464c !important; opacity: 1 !important; }
body.aph2-theme main [class*="text-cyan"],
body.aph2-theme main [class*="text-sky"] { color: #187383 !important; }
body.aph2-theme main .text-primary { color: #e60012 !important; }
body.aph2-theme main .bg-primary { background-color: #e60012 !important; }
body.aph2-theme main [class*="bg-primary/"] { background-color: rgba(189, 30, 45, .09) !important; }
body.aph2-theme main [class*="border-primary"] { border-color: rgba(189, 30, 45, .35) !important; }
body.aph2-theme main [class*="shadow-"] { --tw-shadow-color: rgba(0, 0, 0, .08) !important; }

/* Hero/banner treatment */
body.aph2-theme main [data-aph-hero="1"] {
  position: relative;
  overflow: hidden;
  color: #ffffff !important;
  background: linear-gradient(112deg, #2d831f 0%, #258e59 50%, #187383 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .07) !important;
}
body.aph2-theme main [data-aph-hero="1"]::after {
  content: "";
  position: absolute;
  right: -72px;
  top: -120px;
  width: 360px;
  height: 360px;
  border: 34px solid rgba(255, 255, 255, .07);
  border-radius: 50%;
  pointer-events: none;
}
body.aph2-theme main [data-aph-hero="1"] :where(h1, h2, h3, p, span, strong, .text-white, .text-slate-300, .text-slate-400, .text-muted-foreground) {
  color: #ffffff !important;
}

/* Typography */
body.aph2-theme main h1 { color: #252525; font-weight: 700; letter-spacing: -.02em; }
body.aph2-theme main h2,
body.aph2-theme main h3 { color: #3f444a; font-weight: 650; letter-spacing: -.01em; }
body.aph2-theme main p { line-height: 1.65; }
body.aph2-theme main .text-4xl { font-size: 2rem !important; }
body.aph2-theme main .text-3xl { font-size: 1.65rem !important; }
body.aph2-theme main .text-2xl { font-size: 1.35rem !important; }
body.aph2-theme main .text-xs,
body.aph2-theme main .text-micro { line-height: 1.45; }

/* Controls */
body.aph2-theme :where(input, select, textarea) {
  color: #41464c !important;
  background: #ffffff !important;
  border-color: #d7d9dc !important;
  border-radius: 2px !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .03);
}
body.aph2-theme :where(input, textarea)::placeholder { color: #a0a3a7 !important; }
body.aph2-theme main button { border-radius: 2px !important; }
body.aph2-theme main button.bg-primary,
body.aph2-theme main a.bg-primary { background: #e60012 !important; color: #ffffff !important; }
body.aph2-theme main button.bg-primary:hover,
body.aph2-theme main a.bg-primary:hover { background: #c70010 !important; }
body.aph2-theme main button:active,
body.aph2-theme main a:active { transform: translateY(1px); }

/* Tables and lists */
body.aph2-theme main table { background: #ffffff; color: #41464c; border-collapse: collapse; }
body.aph2-theme main thead { background: #fafafa !important; }
body.aph2-theme main th {
  color: #70747a !important;
  font-weight: 600;
  border-bottom: 1px solid #d7d9dc !important;
}
body.aph2-theme main td { border-bottom: 1px solid #ececef !important; }
body.aph2-theme main tbody tr:hover { background: #fafafa !important; }
body.aph2-theme main [role="tablist"] { border-color: #ececef !important; }
body.aph2-theme main [role="tab"][aria-selected="true"] { color: #e60012 !important; border-color: #e60012 !important; }

/* Status colors */
body.aph2-theme main .text-emerald-300,
body.aph2-theme main .text-emerald-400,
body.aph2-theme main .text-green-400 { color: #258e59 !important; }
body.aph2-theme main .text-red-300,
body.aph2-theme main .text-red-400 { color: #c75159 !important; }
body.aph2-theme main .text-amber-300,
body.aph2-theme main .text-amber-400 { color: #b98255 !important; }
body.aph2-theme main [class*="bg-emerald"] { background-color: rgba(37, 142, 89, .1) !important; }
body.aph2-theme main [class*="bg-red"] { background-color: rgba(199, 81, 89, .1) !important; }
body.aph2-theme main [class*="bg-amber"] { background-color: rgba(241, 165, 47, .12) !important; }

/* Charts */
body.aph2-theme main .recharts-cartesian-grid line { stroke: #ececef !important; }
body.aph2-theme main .recharts-cartesian-axis line,
body.aph2-theme main .recharts-cartesian-axis-tick line { stroke: #d7d9dc !important; }
body.aph2-theme main .recharts-cartesian-axis-tick text,
body.aph2-theme main .recharts-legend-item-text { fill: #7f848a !important; color: #7f848a !important; }
body.aph2-theme main .recharts-tooltip-wrapper > div { background: #ffffff !important; color: #41464c !important; border: 1px solid #e8e9ed !important; border-radius: 2px !important; }

@media (max-width: 1023px) {
  body.aph2-theme main#main-content { padding: 10px 10px 22px !important; }
  body.aph2-theme header.sticky.top-0 { height: 56px !important; }
  body.aph2-theme header.sticky.top-0 > div { height: 56px !important; }
  body.aph2-theme header.sticky.top-0 + .sticky { top: 56px !important; }
}

@media (max-width: 640px) {
  .aph-business-banner {
    min-height: 164px;
    padding: 22px 18px;
    grid-template-columns: 1fr auto;
    gap: 14px;
  }
  .aph-banner-brand { display: none; }
  .aph-banner-copy { justify-self: start; }
  .aph-banner-copy p { font-size: 8px; letter-spacing: .22em; }
  .aph-banner-copy h1 { font-size: 25px !important; letter-spacing: .02em !important; }
  .aph-banner-copy h2 { max-width: 220px; font-size: 13px; line-height: 1.7; letter-spacing: .07em; }
  .aph-business-banner time { font-size: 12px; padding: 5px 7px; }
  body.aph2-theme main .card-soft,
  body.aph2-theme main article { box-shadow: 0 1px 2px rgba(0, 0, 0, .05); }
  body.aph2-theme main .text-4xl { font-size: 1.55rem !important; }
  body.aph2-theme main .text-3xl { font-size: 1.35rem !important; }
  body.aph2-theme main [data-aph-hero="1"]::after { right: -170px; top: -130px; }
}

@media print {
  body.aph2-theme { background: #ffffff !important; color: #111827 !important; }
}


/* --------------------------------------------------------------------------
   Real APH frame calibration — captured from aph.firstcare.com.cn on 2026-07-27
   50px black topbar / 60px icon rail / 46px white multitabs / 13px base type
   -------------------------------------------------------------------------- */
body.aph2-theme {
  font-size: 13px;
  line-height: 1.5;
}

body.aph2-theme header.sticky.top-0 {
  height: 50px !important;
  min-height: 50px !important;
  background: #000000 !important;
  border: 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .26) !important;
}
body.aph2-theme header.sticky.top-0 > div {
  position: relative;
  height: 50px !important;
  min-height: 50px !important;
  padding: 0 14px !important;
  gap: 10px !important;
}
body.aph2-theme header.sticky.top-0 a,
body.aph2-theme header.sticky.top-0 button,
body.aph2-theme header.sticky.top-0 span,
body.aph2-theme header.sticky.top-0 div { font-size: 12px; }
body.aph2-theme header.sticky.top-0 a,
body.aph2-theme header.sticky.top-0 button {
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 0 !important;
}
body.aph2-theme header.sticky.top-0 .aph-header-status {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #f5f5f5;
  white-space: nowrap;
  letter-spacing: .12em;
  font-size: 12px !important;
  font-weight: 600;
}
body.aph2-theme header.sticky.top-0 .aph-header-status b {
  color: #ff3b30;
  font-size: inherit;
}

body.aph2-theme .aph-page-tabs {
  position: sticky;
  top: 50px;
  z-index: 24;
  height: 46px;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  color: #7b8086;
  background: #ffffff;
  border-bottom: 1px solid #eceef1;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .03);
  font-size: 12px;
}
body.aph2-theme .aph-tab-left,
body.aph2-theme .aph-tab-actions { display: flex; align-items: center; height: 100%; }
body.aph2-theme .aph-tab-left { gap: 18px; }
body.aph2-theme .aph-tab-menu { color: #50555b; font-size: 18px; line-height: 1; }
body.aph2-theme .aph-tab-home { color: #9ba0a6; font-size: 16px; }
body.aph2-theme .aph-tab-left strong {
  height: 46px;
  display: inline-flex;
  align-items: center;
  padding: 0 5px;
  color: #555b61;
  font-size: 13px;
  font-weight: 500;
  border-bottom: 2px solid #e60012;
}
body.aph2-theme .aph-tab-actions { gap: 24px; color: #98a0a8; }

@media (min-width: 1024px) {
  body.aph2-theme aside[aria-label*="导航栏"] {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    background: #ffffff !important;
    border: 0 !important;
    box-shadow: 0 0 5px rgba(0, 0, 0, .08) !important;
    z-index: 40;
  }
  body.aph2-theme aside[aria-label*="导航栏"] > div {
    width: 60px !important;
    padding: 0 !important;
    background: #ffffff;
    overflow-x: hidden !important;
  }
  body.aph2-theme aside[aria-label*="导航栏"] > div > div:first-child {
    width: 60px;
    height: 50px;
    min-height: 50px;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center;
    background: #000000;
    border: 0 !important;
  }
  body.aph2-theme aside[aria-label*="导航栏"] > div > div:first-child img {
    width: 42px !important;
    height: 34px !important;
    max-height: 34px !important;
    object-fit: contain;
    filter: grayscale(1) brightness(0) invert(1) !important;
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav {
    width: 60px;
    gap: 0 !important;
    padding: 0 !important;
    background: #ffffff;
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav > div {
    width: 60px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a,
  body.aph2-theme aside[aria-label*="导航栏"] nav button {
    width: 60px !important;
    height: 48px !important;
    min-width: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    color: #777d83 !important;
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a svg,
  body.aph2-theme aside[aria-label*="导航栏"] nav button svg {
    width: 18px !important;
    height: 18px !important;
    stroke-width: 1.6;
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a:hover,
  body.aph2-theme aside[aria-label*="导航栏"] nav button:hover {
    color: #e60012 !important;
    background: #f7f7f7 !important;
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a[aria-current="page"],
  body.aph2-theme aside[aria-label*="导航栏"] nav a.bg-slate-800 {
    color: #ffffff !important;
    background: #e60012 !important;
  }
  body.aph2-theme aside[aria-label*="导航栏"] > div > div:last-child {
    width: 60px;
    min-height: 46px;
    margin: 0 !important;
    padding: 0 !important;
    color: #777d83 !important;
    border-color: #eeeeee !important;
  }
  body.aph2-theme #root > div > aside + div { min-width: 0; width: calc(100% - 60px); }
  body.aph2-theme header.sticky.top-0 > div > div:nth-child(2) { display: none !important; }
  body.aph2-theme header.sticky.top-0 > div::before {
    content: "☰";
    width: 34px;
    color: #ffffff;
    font-size: 20px;
    line-height: 1;
    text-align: center;
  }
  body.aph2-theme header.sticky.top-0 a[href="/projects"] {
    width: 34px;
    padding: 0 !important;
    justify-content: center;
    font-size: 0 !important;
  }
  body.aph2-theme header.sticky.top-0 a[href="/projects"]::before {
    content: "▥";
    font-size: 16px;
  }
}

/* APH 2.0 顶部品牌区：使用真实页面资源，不以文字或 CSS 图形替代。 */
body.aph2-theme .aph-top-brand {
  position: fixed;
  inset: 0 auto auto 0;
  z-index: 70;
  width: 150px;
  height: 50px;
  display: flex;
  align-items: center;
  padding-left: 16px;
  background: #000000;
  pointer-events: none;
}
body.aph2-theme .aph-top-brand img {
  display: block;
  width: 105px;
  height: 21px;
  object-fit: contain;
}
body.aph2-theme .aph-header-menu {
  position: absolute;
  left: 104px;
  top: 0;
  width: 36px;
  height: 50px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #ffffff;
  background: transparent;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  appearance: none;
}
body.aph2-theme .aph-header-menu:focus,
body.aph2-theme .aph-header-menu:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
body.aph2-theme .aph-header-menu img,
body.aph2-theme .aph-page-tabs img {
  display: block;
  object-fit: contain;
}
body.aph2-theme .aph-header-menu img {
  width: 18px;
  height: 18px;
}
body.aph2-theme .aph-tab-menu {
  display: none;
}
body.aph2-theme .aph-tab-home {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
}
body.aph2-theme .aph-tab-home img {
  width: 15px;
  height: 15px;
  filter: grayscale(1);
  opacity: .58;
}
body.aph2-theme .aph-tab-actions > img {
  width: 18px;
  height: 18px;
}
body.aph2-theme .aph-tab-stack {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  overflow: hidden;
}
body.aph2-theme .aph-tab-stack img {
  width: 17px;
  height: 17px;
  filter: grayscale(1);
  opacity: .58;
}

@media (min-width: 1024px) {
  body.aph2-theme header.sticky.top-0 > div {
    padding-left: 112px !important;
  }
  body.aph2-theme header.sticky.top-0 > div::before {
    content: none !important;
    display: none !important;
  }
  body.aph2-theme aside[aria-label*="导航栏"] > div > div:first-child img {
    visibility: hidden;
  }

  /*
   * React 的展开态保留全部业务入口，但不再改变 60px 布局轨道。
   * 白色菜单面板覆盖在内容之上，行为与 APH 左栏浮层一致。
   */
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    flex: 0 0 60px !important;
    overflow: visible !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] > div {
    position: fixed !important;
    inset: 50px auto 0 0 !important;
    z-index: 62;
    width: 288px !important;
    height: calc(100vh - 50px) !important;
    padding: 12px 14px 14px !important;
    background: #ffffff !important;
    box-shadow: 6px 0 18px rgba(0, 0, 0, .14) !important;
    overflow-y: auto !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] > div > div:first-child {
    display: none !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav {
    gap: 8px !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav > div {
    padding-bottom: 8px !important;
    border-bottom: 1px solid #eceef1 !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav > div:last-child {
    border-bottom: 0 !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav a,
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav button {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav a[aria-current="page"],
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav a.bg-slate-800 {
    color: #cf001b !important;
    background: #fff0f2 !important;
    box-shadow: inset 3px 0 #cf001b !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav a[aria-current="page"] *,
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav a.bg-slate-800 * {
    color: #cf001b !important;
  }
}

/* --------------------------------------------------------------------------
   APH 2.0 精确导航
   实测值：60px 收起、140px 悬停覆盖展开、48px 行高、13px/500、图标 x=21、文字 x=53
   -------------------------------------------------------------------------- */
.aph-exact-sidebar {
  display: none;
}

@media (min-width: 641px) {
  body.aph2-theme aside[aria-label*="导航栏"] {
    display: none !important;
  }
  body.aph2-theme .aph-exact-sidebar {
    position: relative;
    z-index: 41;
    display: block;
    flex: 0 0 60px;
    width: 60px;
    min-width: 60px;
    max-width: 60px;
    background: transparent;
    will-change: flex-basis, width;
    transition:
      flex-basis .18s cubic-bezier(.4, 0, .2, 1),
      width .18s cubic-bezier(.4, 0, .2, 1),
      min-width .18s cubic-bezier(.4, 0, .2, 1),
      max-width .18s cubic-bezier(.4, 0, .2, 1);
  }
  body.aph2-theme .aph-exact-sidebar:hover,
  body.aph2-theme .aph-exact-sidebar.is-hovered,
  body.aph2-theme .aph-exact-sidebar.is-expanded {
    flex-basis: 140px;
    width: 140px;
    min-width: 140px;
    max-width: 140px;
  }
  body.aph2-theme .aph-exact-sidebar-panel {
    position: fixed;
    inset: 50px auto 0 0;
    z-index: 42;
    width: 60px;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: #ffffff;
    border-right: 1px solid #eceef1;
    box-shadow: none;
    will-change: width;
    transition: width .18s cubic-bezier(.4, 0, .2, 1), box-shadow .18s ease;
  }
  body.aph2-theme .aph-exact-sidebar:hover .aph-exact-sidebar-panel,
  body.aph2-theme .aph-exact-sidebar.is-hovered .aph-exact-sidebar-panel,
  body.aph2-theme .aph-exact-sidebar.is-expanded .aph-exact-sidebar-panel {
    width: 140px;
    box-shadow: 1px 0 4px rgba(0, 0, 0, .08);
  }
  body.aph2-theme .aph-exact-sidebar-panel a {
    position: relative;
    width: 140px;
    height: 48px;
    min-height: 48px;
    margin: 0;
    padding: 14px 24px 13px 53px;
    display: block;
    overflow: hidden;
    color: #4d5259;
    background: #ffffff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-family: -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 19.5px;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .12s ease, color .12s ease;
  }
  body.aph2-theme .aph-exact-sidebar-panel a img {
    position: absolute;
    left: 21px;
    top: 14px;
    width: 20px;
    height: 20px;
    display: block;
    object-fit: contain;
    filter: grayscale(1) brightness(.65);
    opacity: .82;
    transition: filter .12s ease, opacity .12s ease;
  }
  body.aph2-theme .aph-exact-sidebar-panel a:first-child img {
    left: 23px;
    top: 16px;
    width: 16px;
    height: 16px;
  }
  body.aph2-theme .aph-exact-sidebar-panel a span {
    display: block;
    color: inherit;
    font: inherit;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-3px);
    transition: opacity .06s linear, transform .12s ease, visibility 0s linear .06s;
  }
  body.aph2-theme .aph-exact-sidebar:hover .aph-exact-sidebar-panel a span,
  body.aph2-theme .aph-exact-sidebar.is-hovered .aph-exact-sidebar-panel a span,
  body.aph2-theme .aph-exact-sidebar.is-expanded .aph-exact-sidebar-panel a span {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    transition: opacity .08s linear .05s, transform .14s ease .04s, visibility 0s;
  }
  body.aph2-theme .aph-exact-sidebar-panel a:hover {
    color: #cf001b;
    background: #f7f7f7;
  }
  body.aph2-theme .aph-exact-sidebar-panel a:hover img {
    filter: brightness(0) saturate(100%) invert(12%) sepia(99%) saturate(5124%) hue-rotate(343deg) brightness(82%) contrast(108%);
    opacity: 1;
  }
  body.aph2-theme .aph-exact-sidebar-panel a[aria-current="page"] {
    color: #ffffff;
    background: #cf001b;
  }
  body.aph2-theme .aph-exact-sidebar-panel a[aria-current="page"] img {
    filter: brightness(0) invert(1);
    opacity: 1;
  }
  body.aph2-theme #root > div > .aph-exact-sidebar + aside + div {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
  }
}

@media (max-width: 640px) {
  body.aph2-theme .aph-top-brand,
  body.aph2-theme .aph-header-menu {
    display: none;
  }
}

/* APH 字体与导航精确校准：参数取自 aph.firstcare.com.cn 当前页面。 */
body.aph2-theme {
  --primary: #cf001b;
  --ring: #cf001b;
  --accent-foreground: #b70018;
  color: #4d5259;
  font-family: -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif !important;
  font-size: 13px;
  line-height: 1.5;
}
body.aph2-theme :where(button, input, select, textarea, table, th, td, a) {
  font-family: inherit !important;
}
body.aph2-theme .text-primary { color: #cf001b !important; }
body.aph2-theme .bg-primary { background-color: #cf001b !important; }
body.aph2-theme .aph-tab-left strong { border-bottom-color: #cf001b; }
body.aph2-theme :focus-visible { outline-color: #cf001b !important; }

@media (min-width: 1024px) {
  body.aph2-theme aside[aria-label*="导航栏"] nav a,
  body.aph2-theme aside[aria-label*="导航栏"] nav button {
    position: relative;
    width: 60px !important;
    height: 48px !important;
    min-height: 48px !important;
    color: #4d5259 !important;
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a svg,
  body.aph2-theme aside[aria-label*="导航栏"] nav button svg {
    width: 20px !important;
    height: 20px !important;
    opacity: 0;
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a::before,
  body.aph2-theme aside[aria-label*="导航栏"] nav button::before {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 20px;
    height: 20px;
    background: center / contain no-repeat;
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav button[aria-controls="nav-section-经营工作台"]::before,
  body.aph2-theme aside[aria-label*="导航栏"] nav a[href="/command"]::before {
    background-image: url("/aph-icons/RectangleCopy.png");
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a[href="/"]::before {
    background-image: url("/aph-icons/shouyeF.png");
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a[href="/projects"]::before {
    background-image: url("/aph-icons/shangye.png");
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a[href="/ai-alerts"]::before {
    background-image: url("/aph-icons/chengbentongjifenxi.png");
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a[href="/tasks"]::before {
    background-image: url("/aph-icons/renliziyuan.png");
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a[href="/ai-report"]::before {
    background-image: url("/aph-icons/jiaoyu.png");
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav button[aria-controls="nav-section-研发小组审核系统"]::before,
  body.aph2-theme aside[aria-label*="导航栏"] nav a[href^="/review"]::before {
    background-image: url("/aph-icons/tiyukebu.png");
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav button[aria-controls="nav-section-财务数据明细"]::before,
  body.aph2-theme aside[aria-label*="导航栏"] nav a[href="/payment"]::before {
    background-image: url("/aph-icons/caiwu.png");
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a[href="/daily"]::before {
    background-image: url("/aph-icons/renliziyuan.png");
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a[href="/collection"]::before {
    background-image: url("/aph-icons/fangchanwuye.png");
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav button[aria-controls="nav-section-system-admin"]::before,
  body.aph2-theme aside[aria-label*="导航栏"] nav a[href="/admin"]::before {
    background-image: url("/aph-icons/jurassic_users.png");
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a:hover,
  body.aph2-theme aside[aria-label*="导航栏"] nav button:hover {
    color: #cf001b !important;
    background: #f7f7f7 !important;
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a[aria-current="page"],
  body.aph2-theme aside[aria-label*="导航栏"] nav a.bg-slate-800 {
    color: #ffffff !important;
    background: #cf001b !important;
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a[aria-current="page"]::before,
  body.aph2-theme aside[aria-label*="导航栏"] nav a.bg-slate-800::before {
    filter: brightness(0) invert(1);
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a::after,
  body.aph2-theme aside[aria-label*="导航栏"] nav button::after {
    content: attr(title);
    display: none;
    position: fixed;
    left: 66px;
    z-index: 100;
    padding: 6px 10px;
    color: #ffffff;
    background: #242424;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
    white-space: nowrap;
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
  }
  body.aph2-theme aside[aria-label*="导航栏"] nav a:hover::after,
  body.aph2-theme aside[aria-label*="导航栏"] nav button:hover::after {
    display: block;
  }
}

body.aph2-theme main#main-content {
  padding: 10px 10px 24px !important;
  font-size: 13px;
}
body.aph2-theme main#main-content > div { max-width: none !important; }
body.aph2-theme main h1 { font-size: 20px; }
body.aph2-theme main h2 { font-size: 16px; }
body.aph2-theme main h3 { font-size: 14px; }
body.aph2-theme main p { line-height: 1.55; }
body.aph2-theme main .text-sm { font-size: 13px !important; line-height: 1.5 !important; }
body.aph2-theme main .text-xs { font-size: 12px !important; }

/*
 * 展开态修复：
 * 驾驶舱组件在鼠标移入或键盘聚焦后会从 60px 图标栏切换为 288px 分组导航。
 * 收起态继续采用 APH 图标栏；展开态恢复完整分组、文字和原生 SVG，避免项目挤叠。
 */
@media (min-width: 1024px) {
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] {
    width: 18rem !important;
    min-width: 18rem !important;
    max-width: 18rem !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] > div {
    width: 100% !important;
    padding: 12px 16px !important;
    overflow-x: hidden !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] > div > div:first-child {
    width: auto !important;
    height: auto !important;
    min-height: 64px !important;
    margin: 0 0 16px !important;
    padding: 0 4px 16px !important;
    display: flex !important;
    justify-content: flex-start !important;
    background: #ffffff !important;
    border-bottom: 1px solid #ececef !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] > div > div:first-child img {
    width: 72px !important;
    height: 48px !important;
    max-height: 48px !important;
    filter: none !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav,
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav > div {
    width: 100% !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav {
    gap: 12px !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav a,
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav button {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 10px !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav a {
    justify-content: flex-start !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav button {
    justify-content: space-between !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav a svg,
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav button svg {
    width: 18px !important;
    height: 18px !important;
    opacity: 1 !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav a::before,
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav button::before,
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav a::after,
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav button::after {
    display: none !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] > div > div:last-child {
    width: 100% !important;
  }
  body.aph2-theme #root > div > aside + div {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
  }
}

body.aph2-theme main .card-soft,
body.aph2-theme main article,
body.aph2-theme main [class*="rounded-xl"][class*="border"],
body.aph2-theme main [class*="rounded-2xl"][class*="border"] {
  border-radius: 0 !important;
  border-color: #eceef1 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .035) !important;
}
body.aph2-theme main .card-soft:hover,
body.aph2-theme main .card-link:hover {
  transform: none !important;
  border-color: #e3e5e8 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .06) !important;
}

body.aph2-theme .aph-business-banner {
  min-height: 218px;
  height: 218px;
  margin-bottom: 10px;
  padding: 30px 42px;
  background:
    linear-gradient(104deg, rgba(130, 0, 8, .16), transparent 38%),
    linear-gradient(112deg, #d90013 0%, #f22916 48%, #f07b22 100%);
  border: 0;
  box-shadow: none;
}
body.aph2-theme .aph-business-banner::before {
  content: "2026";
  position: absolute;
  left: 50%;
  bottom: -18px;
  transform: translateX(-50%);
  color: rgba(255, 235, 206, .46);
  font-size: 112px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.07em;
  text-shadow: 0 1px 0 rgba(255,255,255,.18);
  pointer-events: none;
}
body.aph2-theme .aph-business-banner::after {
  right: -110px;
  top: -190px;
  width: 520px;
  height: 520px;
  border: 46px solid rgba(255,255,255,.055);
}
body.aph2-theme .aph-banner-copy { text-align: center; }
body.aph2-theme .aph-banner-copy h1 {
  font-size: 38px !important;
  color: #fff1c8 !important;
  text-shadow: 0 3px 2px rgba(127, 27, 8, .42);
}
body.aph2-theme .aph-banner-copy h2 { color: #fff7e4 !important; }
body.aph2-theme .aph-banner-brand,
body.aph2-theme .aph-business-banner time { z-index: 2; }

body.aph2-theme main [data-aph-hero="1"] {
  background: linear-gradient(112deg, #d90013 0%, #f22916 52%, #f07b22 100%) !important;
}

body.aph2-theme main table { font-size: 12px; }
body.aph2-theme main th,
body.aph2-theme main td { height: 36px; padding-top: 7px !important; padding-bottom: 7px !important; }
body.aph2-theme :where(input, select, textarea) { min-height: 32px; font-size: 13px !important; }

@media (max-width: 1023px) {
  body.aph2-theme header.sticky.top-0,
  body.aph2-theme header.sticky.top-0 > div { height: 50px !important; min-height: 50px !important; }
  body.aph2-theme .aph-header-status { display: none !important; }
  body.aph2-theme .aph-page-tabs { top: 50px; height: 40px; min-height: 40px; padding: 0 10px; }
  body.aph2-theme .aph-tab-left strong { height: 40px; }
  body.aph2-theme main#main-content { padding: 8px 8px 20px !important; }
}

@media (max-width: 640px) {
  body.aph2-theme .aph-page-tabs { position: relative; top: auto; }
  body.aph2-theme .aph-tab-actions { display: none; }
  body.aph2-theme .aph-business-banner {
    height: 164px;
    min-height: 164px;
    padding: 20px 18px;
  }
  body.aph2-theme .aph-business-banner::before { font-size: 72px; bottom: -8px; }
  body.aph2-theme .aph-banner-copy h1 { font-size: 24px !important; }
  body.aph2-theme .aph-banner-copy h2 {
    max-width: none;
    white-space: nowrap;
    font-size: 13px !important;
    letter-spacing: .04em;
  }
}

/* 最终层叠：展开导航保持 60px 布局轨道，菜单只作为 288px 浮层出现。 */
@media (min-width: 1024px) {
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    flex: 0 0 60px !important;
    overflow: visible !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] > div {
    position: fixed !important;
    inset: 50px auto 0 0 !important;
    width: 288px !important;
    height: calc(100vh - 50px) !important;
    padding: 12px 14px 14px !important;
    background: #ffffff !important;
    box-shadow: 6px 0 18px rgba(0, 0, 0, .14) !important;
    overflow-y: auto !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] > div > div:first-child {
    display: none !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav a[aria-current="page"],
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav a.bg-slate-800 {
    color: #cf001b !important;
    background: #fff0f2 !important;
    box-shadow: inset 3px 0 #cf001b !important;
  }
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav a[aria-current="page"] *,
  body.aph2-theme aside[aria-label*="鼠标移出自动折叠"] nav a.bg-slate-800 * {
    color: #cf001b !important;
  }
}

/* APH 顶栏与多页签精确校准。 */
body.aph2-theme .aph-top-brand {
  width: 140px;
}
body.aph2-theme header.sticky.top-0 .aph-header-menu {
  position: fixed;
  left: 140px;
  top: 0;
  z-index: 72;
  width: 48px !important;
  height: 50px !important;
  min-height: 50px !important;
  display: grid !important;
  place-items: center;
  padding: 0 !important;
}
body.aph2-theme .aph-page-tabs {
  padding: 0;
}
body.aph2-theme .aph-tab-left {
  gap: 0;
}
body.aph2-theme .aph-tab-home {
  width: 43px;
  height: 46px;
}
body.aph2-theme .aph-tab-home img {
  width: 18px;
  height: 18px;
  filter: none;
  opacity: 1;
}
body.aph2-theme .aph-tab-left strong {
  height: 46px;
  min-width: 56px;
  margin-left: -6px;
  padding: 10px 15px;
  justify-content: center;
  color: #4d5259;
  font-size: 13px;
  font-weight: 400;
  line-height: 25.35px;
}
body.aph2-theme .aph-tab-actions {
  width: 86px;
  height: 46px;
  margin-right: 14px;
  gap: 0;
}
body.aph2-theme .aph-tab-actions > img,
body.aph2-theme .aph-tab-stack {
  width: 43px;
  height: 46px;
}
body.aph2-theme .aph-tab-actions > img {
  padding: 14px 12px;
}
  body.aph2-theme .aph-tab-stack img {
  width: 18px;
  height: 18px;
}

/* APH 图标状态：默认灰、悬停红、当前项白。 */
body.aph2-theme main [class*="bg-accent"] {
  color: #cf001b !important;
  background-color: #fff0f2 !important;
}
body.aph2-theme main [class*="bg-accent"] svg {
  color: #cf001b !important;
  stroke: currentColor !important;
}
body.aph2-theme main a:hover svg,
body.aph2-theme main button:hover svg {
  color: #cf001b;
}

/* 经营区域地图改为 APH 的浅底红灰体系，覆盖旧版深蓝内联样式。 */
body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] {
  background: #f5f6fa !important;
}
body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] > rect {
  fill: #f5f6fa !important;
}
body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] path {
  fill: #d9dde2 !important;
  stroke: #b9bec5 !important;
  filter: none !important;
}
body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] g:hover path,
body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] g:focus path {
  fill: #cf001b !important;
  stroke: #ffffff !important;
  filter: drop-shadow(0 2px 5px rgba(207, 0, 27, .22)) !important;
}
body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] circle {
  fill: #dc6a79 !important;
  filter: none !important;
}
body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] g:hover circle,
body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] g:focus circle {
  fill: #cf001b !important;
}
body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] line {
  stroke: #aeb4bb !important;
}
body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] text.fill-primary {
  fill: #cf001b !important;
  color: #cf001b !important;
}
body.aph2-theme div:has(> svg[aria-label="辽宁、河北、天津、北京区域地图"]) {
  background: #f5f6fa !important;
  border-color: #e8e9ed !important;
  border-radius: 0 !important;
}
body.aph2-theme .card-soft:has(svg[aria-label="辽宁、河北、天津、北京区域地图"]) .col-span-4 .size-2\.5 {
  background: #cf001b !important;
}
body.aph2-theme .card-soft:has(svg[aria-label="辽宁、河北、天津、北京区域地图"]) .size-3.rounded-sm {
  background: #dc6a79 !important;
}

/* --------------------------------------------------------------------------
   全路由统一层：研发审核页、系统管理页以及各业务页共同使用 APH 2.0 规范
   -------------------------------------------------------------------------- */
body.aph2-theme .aph-business-banner,
body.aph2-theme main [data-aph-hero="1"] {
  background: linear-gradient(112deg, #e51b23 0%, #f11c18 52%, #f5791c 100%) !important;
}

body.aph2-theme main :where(.card-soft, .review-panel, article, section[class*="border"]) {
  border-radius: 2px !important;
}

body.aph2-theme main :where(.page-toolbar, .section-head) {
  gap: 10px !important;
}

body.aph2-theme main :where(button, a)[class*="rounded"] {
  border-radius: 2px !important;
}

body.aph2-theme main :where(table, .data-table) {
  font-size: 13px !important;
}

body.aph2-theme main :where(th, td) {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

/* 首页首屏：APH 式左右经营总览，保持原指标卡的数据与交互结构。 */
@media (min-width: 1024px) {
  body.aph2-theme .aph-home-reflow {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 10px;
    align-items: stretch;
  }

  body.aph2-theme .aph-home-reflow > .aph-home-visual {
    grid-column: 1 / span 8;
    grid-row: 1;
    min-height: 218px;
    height: 218px;
    margin-bottom: 0;
    grid-template-columns: minmax(120px, 160px) minmax(0, 1fr);
    grid-template-rows: 1fr auto;
    padding: 26px 32px 22px;
  }

  body.aph2-theme .aph-home-visual .aph-banner-copy {
    justify-self: center;
    max-width: 430px;
  }

  body.aph2-theme .aph-home-visual .aph-banner-copy h1 {
    font-size: clamp(31px, 2.5vw, 43px) !important;
  }

  body.aph2-theme .aph-home-visual time {
    grid-column: 2;
    justify-self: end;
  }

  body.aph2-theme .aph-home-reflow > .aph-home-kpi-grid {
    display: contents;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(1) {
    grid-column: 9 / span 4 !important;
    grid-row: 1;
    min-width: 0;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(1) > .card-soft {
    min-height: 218px;
    height: 218px;
    padding: 14px !important;
    gap: 8px !important;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(1) > .card-soft > div:first-child {
    min-height: 82px;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(1) > .card-soft > div:first-child .text-sm {
    margin-bottom: 2px !important;
    font-size: 12px !important;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(1) > .card-soft > div:first-child .num.text-\[clamp\(2\.25rem\,10vw\,3rem\)\] {
    font-size: clamp(30px, 2.7vw, 40px) !important;
    line-height: 1.08 !important;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(1) > .card-soft > div:first-child .mt-2\.5 {
    margin-top: 5px !important;
    padding: 3px 9px !important;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(1) > .card-soft > .grid {
    gap: 6px !important;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(1) > .card-soft > .grid > div {
    min-width: 0;
    padding: 7px 8px !important;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(1) > .card-soft > .grid .mb-1 {
    margin-bottom: 1px !important;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(1) > .card-soft > .grid .text-base {
    overflow: hidden;
    font-size: 13px !important;
    line-height: 18px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(2) {
    grid-column: 1 / span 8 !important;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 10px;
    height: 248px;
    min-width: 0;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(2) > * {
    min-height: 0;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(2) > :first-child {
    grid-column: 1 / -1;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(2) > * > .card-soft {
    min-height: 0 !important;
    height: 100% !important;
    padding: 14px 18px !important;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(2) > * > .card-soft > div:first-child {
    min-width: 0;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(2) > * > .card-soft .text-xs {
    margin-bottom: 3px;
    font-size: 12px !important;
    line-height: 18px;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(2) > * > .card-soft .num.text-xl {
    font-size: 22px !important;
    line-height: 28px;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(3) {
    grid-column: 9 / span 4 !important;
    grid-row: 2;
    height: 248px;
    min-width: 0;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(n+4):nth-child(-n+7) {
    grid-row: 3;
    grid-column: span 3 !important;
    min-width: 0;
    height: 142px;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(n+4):nth-child(-n+7) > .card-soft {
    height: 100%;
    min-height: 0;
    gap: 9px !important;
    padding: 16px 18px !important;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(n+4):nth-child(-n+7)
    > .card-soft > div:first-child {
    min-height: 32px;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(n+4):nth-child(-n+7)
    > .card-soft .text-sm {
    font-size: 13px !important;
    line-height: 20px;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(n+4):nth-child(-n+7)
    > .card-soft .num.text-3xl {
    overflow: hidden;
    font-size: clamp(24px, 2.1vw, 30px) !important;
    line-height: 36px;
    letter-spacing: -.02em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(n+4):nth-child(-n+7)
    > .card-soft > .text-micro {
    margin-top: auto;
    overflow: hidden;
    line-height: 20px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.aph2-theme .aph-home-reflow > .aph-home-region-grid,
  body.aph2-theme .aph-home-reflow > .aph-home-ranking-grid {
    grid-column: 1 / -1;
    min-width: 0;
    margin-bottom: 0;
  }

  body.aph2-theme .aph-home-reflow > .aph-home-region-grid { grid-row: 4; }
  body.aph2-theme .aph-home-reflow > .aph-home-ranking-grid { grid-row: 5; }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  body.aph2-theme .aph-home-reflow > .aph-home-visual {
    grid-column: 1 / span 8;
    padding: 26px 24px 22px;
    grid-template-columns: 1fr;
  }

  body.aph2-theme .aph-home-visual .aph-banner-brand {
    position: absolute;
    left: 26px;
    top: 26px;
  }

  body.aph2-theme .aph-home-visual time { grid-column: 1; }
  body.aph2-theme .aph-home-kpi-grid > :nth-child(1) { grid-column: 9 / span 4 !important; }
  body.aph2-theme .aph-home-kpi-grid > :nth-child(2) { grid-column: 1 / span 8 !important; }
  body.aph2-theme .aph-home-kpi-grid > :nth-child(3) { grid-column: 9 / span 4 !important; }
}

@media (max-width: 1023px) {
  body.aph2-theme .aph-home-reflow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.aph2-theme .aph-home-reflow > .aph-home-visual,
  body.aph2-theme .aph-home-reflow > .aph-home-kpi-grid,
  body.aph2-theme .aph-home-reflow > .aph-home-region-grid,
  body.aph2-theme .aph-home-reflow > .aph-home-ranking-grid {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }

  body.aph2-theme .aph-home-kpi-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(1),
  body.aph2-theme .aph-home-kpi-grid > :nth-child(2),
  body.aph2-theme .aph-home-kpi-grid > :nth-child(3) {
    grid-column: 1 / -1 !important;
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(2) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.aph2-theme .aph-home-kpi-grid > :nth-child(2) > :first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  body.aph2-theme .aph-home-reflow,
  body.aph2-theme .aph-home-kpi-grid,
  body.aph2-theme .aph-home-kpi-grid > :nth-child(2) {
    grid-template-columns: minmax(0, 1fr);
  }

  body.aph2-theme .aph-home-kpi-grid > * {
    grid-column: 1 !important;
  }
}

/* 深色表头与汇总行：避免继承浅色页面的深灰文字后对比度不足。 */
body.aph2-theme main .data-table thead,
body.aph2-theme main .data-table thead tr {
  color: #f4f6f8 !important;
  background: #0d1928 !important;
}

body.aph2-theme main .data-table thead th,
body.aph2-theme main .data-table thead th :where(button, span, svg) {
  color: #f4f6f8 !important;
}

body.aph2-theme main .data-table thead th {
  border-bottom-color: #536070 !important;
}

body.aph2-theme main .data-table tfoot,
body.aph2-theme main .data-table tfoot tr {
  color: #ffffff !important;
  background: #172536 !important;
}

body.aph2-theme main .data-table tfoot td,
body.aph2-theme main .data-table tfoot td :where(span, strong, .num) {
  color: #ffffff !important;
  border-top-color: #cf001b !important;
  font-weight: 650 !important;
}

body.aph2-theme main .data-table tfoot tr {
  box-shadow: inset 0 3px #cf001b;
}

/* 研发审核系统：保留所有业务功能，视觉改为 APH 浅色经营后台。 */
body.aph2-theme.aph-review-page .review-native-root {
  width: 100%;
  max-width: none;
  gap: 12px;
  color: #4d5259;
}

body.aph2-theme.aph-review-page .review-native-root .review-panel {
  color: #4d5259 !important;
  background: #ffffff !important;
  border: 1px solid #e8e9ed !important;
  border-radius: 2px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .05) !important;
  backdrop-filter: none !important;
}

body.aph2-theme.aph-review-page .review-native-root .review-panel::before {
  display: none !important;
}

body.aph2-theme.aph-review-page .review-native-root .review-panel:has(> .lvzai-hero-mascot) {
  color: #ffffff !important;
  background: linear-gradient(112deg, #e51b23 0%, #f11c18 52%, #f5791c 100%) !important;
  border-color: transparent !important;
}

body.aph2-theme.aph-review-page .review-native-root .review-panel:has(> .lvzai-hero-mascot)
  :where(h1, h2, h3, p, span, strong, div) {
  color: #ffffff !important;
}

body.aph2-theme.aph-review-page .review-native-root
  :where(.text-white, .text-slate-100, .text-slate-200, .text-slate-300, .text-foreground) {
  color: #41464c !important;
}

body.aph2-theme.aph-review-page .review-native-root
  :where(.text-slate-400, .text-slate-500, .text-slate-600, .text-muted-foreground) {
  color: #7f848a !important;
}

body.aph2-theme.aph-review-page .review-native-root
  :where(.text-cyan-200, .text-cyan-300, .text-cyan-400, .text-blue-300, .text-blue-400) {
  color: #cf001b !important;
}

body.aph2-theme.aph-review-page .review-native-root
  :where([class*="bg-slate-950"], [class*="bg-slate-900"], [class*="bg-slate-800"]) {
  background: #f5f6fa !important;
}

body.aph2-theme.aph-review-page .review-native-root
  :where([class*="border-cyan"], [class*="border-slate"], [class*="border-white"]) {
  border-color: #e8e9ed !important;
}

body.aph2-theme.aph-review-page .review-native-root thead,
body.aph2-theme.aph-review-page .review-native-root th {
  color: #70747a !important;
  background: #fafafa !important;
}

body.aph2-theme.aph-review-page .review-native-root tbody tr:hover {
  background: #fafafa !important;
}

body.aph2-theme.aph-review-page .review-native-root .review-center-table-wrap,
body.aph2-theme.aph-review-page .review-native-root .review-center-mobile-card {
  background: #ffffff !important;
  border-color: #e8e9ed !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}

/* 系统管理原为独立页面：补齐 APH 顶栏、页签、导航轨道与内容避让。 */
@media (min-width: 641px) {
  body.aph2-theme.aph-admin-page > #root > div {
    min-height: 100vh;
    padding-top: 96px;
    padding-left: 60px;
    transition: padding-left .18s cubic-bezier(.4, 0, .2, 1);
  }

  body.aph2-theme.aph-admin-page > #root > div:has(> .aph-exact-sidebar:hover),
  body.aph2-theme.aph-admin-page > #root > div:has(> .aph-exact-sidebar.is-hovered),
  body.aph2-theme.aph-admin-page > #root > div:has(> .aph-exact-sidebar.is-expanded) {
    padding-left: 140px;
  }

  body.aph2-theme.aph-admin-page .aph-exact-sidebar {
    position: fixed;
    inset: 50px auto 0 0;
    height: calc(100vh - 50px);
  }

  body.aph2-theme.aph-admin-page #root header {
    position: fixed;
    inset: 0 0 auto 60px;
    z-index: 45;
    height: 50px;
    min-height: 50px;
    padding: 0 18px 0 54px !important;
    display: flex;
    align-items: center;
    color: #ffffff;
    background: #000000 !important;
    border: 0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .26);
    transition: left .18s cubic-bezier(.4, 0, .2, 1);
  }

  body.aph2-theme.aph-admin-page #root > div:has(> .aph-exact-sidebar.is-expanded) > header {
    left: 60px;
  }

  body.aph2-theme.aph-admin-page #root header :where(a, span, strong, div) {
    color: #ffffff !important;
  }

  body.aph2-theme.aph-admin-page .aph-page-tabs {
    position: fixed;
    inset: 50px 0 auto 60px;
    z-index: 44;
    transition: left .18s cubic-bezier(.4, 0, .2, 1);
  }

  body.aph2-theme.aph-admin-page #root > div:has(> .aph-exact-sidebar:hover) > .aph-page-tabs,
  body.aph2-theme.aph-admin-page #root > div:has(> .aph-exact-sidebar.is-hovered) > .aph-page-tabs,
  body.aph2-theme.aph-admin-page #root > div:has(> .aph-exact-sidebar.is-expanded) > .aph-page-tabs {
    left: 140px;
  }
}

body.aph2-theme.aph-admin-page #root > div > div:not(.aph-page-tabs) {
  color: #41464c !important;
  font-size: 13px;
}

body.aph2-theme.aph-admin-page #root > div > div:not(.aph-page-tabs) > .card-soft {
  border-radius: 2px !important;
  border-color: #e8e9ed !important;
  background: #ffffff !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .05) !important;
}

body.aph2-theme.aph-admin-page #root > div > div:not(.aph-page-tabs) > button.bg-primary {
  color: #ffffff !important;
  background: #cf001b !important;
  border-radius: 2px !important;
}

body.aph2-theme.aph-admin-page :where(.table-card, .data-table, tbody, tbody tr, tbody td) {
  color: #41464c !important;
  background-color: #ffffff;
}

body.aph2-theme.aph-admin-page .data-table thead,
body.aph2-theme.aph-admin-page .data-table th {
  color: #ffffff !important;
  background: #8d9298 !important;
  border-color: #a4a8ad !important;
}

body.aph2-theme.aph-admin-page .data-table td {
  color: #41464c !important;
  border-color: #ececef !important;
}

body.aph2-theme.aph-admin-page .data-table tbody tr:hover,
body.aph2-theme.aph-admin-page .data-table tbody tr:hover td {
  background: #fafafa !important;
}

body.aph2-theme.aph-admin-page .data-table .bg-accent {
  color: #cf001b !important;
  background: #fff0f2 !important;
  border-radius: 2px !important;
}

body.aph2-theme.aph-admin-page .data-table .bg-primary {
  color: #ffffff !important;
  background: #cf001b !important;
  border-radius: 2px !important;
}

@media (max-width: 640px) {
  body.aph2-theme.aph-admin-page > #root > div {
    padding-top: 0;
    padding-left: 0;
  }
}

/* 中等宽度仍保持 APH 左侧导航，不切换为顶部横向导航。 */
@media (min-width: 641px) and (max-width: 1023px) {
  body.aph2-theme:not(.aph-admin-page) > #root > div {
    display: flex !important;
    align-items: stretch;
  }

  body.aph2-theme #root > div > .aph-exact-sidebar + aside + div {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
  }

  body.aph2-theme nav[aria-label="移动端主导航"],
  body.aph2-theme *:has(> nav[aria-label="移动端主导航"]) {
    display: none !important;
  }

  body.aph2-theme header.sticky.top-0 > div > div:first-child {
    display: none !important;
  }

  body.aph2-theme header.sticky.top-0 .aph-header-status {
    display: block !important;
    max-width: calc(100% - 220px);
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.aph2-theme .aph-page-tabs {
    top: 50px;
    height: 46px;
    min-height: 46px;
    padding: 0;
  }

  body.aph2-theme .aph-tab-left strong {
    height: 46px;
  }
}

/* APH 多页签：打开页面常驻、当前页红线标识，关闭按钮不占用独立工具位。 */
html:has(body.aph2-theme),
body.aph2-theme {
  overflow-x: hidden;
}

body.aph2-theme .aph-page-tabs {
  overflow: hidden;
}

body.aph2-theme .aph-tab-left {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

body.aph2-theme .aph-tab-list {
  height: 46px;
  min-width: 0;
  display: flex;
  flex: 1 1 auto;
  align-items: stretch;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

body.aph2-theme .aph-tab-list::-webkit-scrollbar {
  display: none;
}

body.aph2-theme .aph-route-tab {
  position: relative;
  height: 46px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  color: #858a90;
  background: #ffffff;
  border-bottom: 2px solid transparent;
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif !important;
  white-space: nowrap;
}

body.aph2-theme .aph-route-tab:hover {
  color: #cf001b;
  background: #fafafa;
}

body.aph2-theme .aph-route-tab.is-active {
  color: #4d5259;
  background: #ffffff;
  border-bottom-color: #cf001b;
}

body.aph2-theme .aph-route-tab > a {
  height: 44px;
  min-width: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  color: inherit;
  font-family: inherit !important;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  text-decoration: none;
}

body.aph2-theme .aph-route-tab:has(.aph-route-tab-close) > a {
  padding-right: 5px;
}

body.aph2-theme .aph-route-tab-close {
  width: 24px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 0 8px 1px 2px;
  color: #b0b4b9;
  background: transparent;
  border: 0;
  border-radius: 0;
  font-family: "Helvetica Neue", Arial, sans-serif !important;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  cursor: pointer;
}

body.aph2-theme .aph-route-tab-close:hover,
body.aph2-theme .aph-route-tab-close:focus-visible {
  color: #cf001b;
  outline: none;
}

body.aph2-theme .aph-tab-actions {
  width: 43px;
  min-width: 43px;
  margin-right: 14px;
}

body.aph2-theme .aph-tab-stack {
  display: none !important;
}

/* APH 桌面壳层固定：顶栏与页签始终停留在视口顶部，正文预留 96px。 */
@media (min-width: 641px) {
  body.aph2-theme:not(.aph-admin-page) header.sticky.top-0 {
    position: fixed !important;
    inset: 0 0 auto 60px !important;
    z-index: 45 !important;
    width: auto !important;
  }

  body.aph2-theme:not(.aph-admin-page) .aph-page-tabs {
    position: fixed !important;
    inset: 50px 0 auto 60px !important;
    z-index: 44 !important;
    width: auto !important;
    transition: left .18s cubic-bezier(.4, 0, .2, 1);
  }

  body.aph2-theme:not(.aph-admin-page)
    #root > div:has(> .aph-exact-sidebar:hover) .aph-page-tabs,
  body.aph2-theme:not(.aph-admin-page)
    #root > div:has(> .aph-exact-sidebar.is-hovered) .aph-page-tabs,
  body.aph2-theme:not(.aph-admin-page)
    #root > div:has(> .aph-exact-sidebar.is-expanded) .aph-page-tabs {
    left: 140px !important;
  }

  body.aph2-theme:not(.aph-admin-page) main#main-content {
    padding-top: 108px !important;
  }
}

body.aph2-theme .aph-real-data-scope {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  padding: 10px 14px;
  border: 1px solid rgba(211, 31, 38, 0.2);
  border-left: 3px solid #d31f26;
  background: #fff;
  color: #535962;
  font-size: 13px;
  line-height: 1.5;
}

body.aph2-theme .aph-real-data-scope strong {
  flex: 0 0 auto;
  color: #d31f26;
  font-weight: 600;
}

body.aph2-theme .aph-data-unavailable {
  color: #8a9099 !important;
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

body.aph2-theme .aph-trend-unavailable {
  margin: 6px 0 0;
  color: #8a9099;
  font-size: 12px;
  line-height: 1.5;
}

body.aph2-theme .aph-action-unavailable {
  cursor: not-allowed !important;
  opacity: 0.52 !important;
}

@media (max-width: 640px) {
  body.aph2-theme .aph-real-data-scope {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}

/* 首页视觉修订：移除顶栏项目快捷方块，使用正式第一服务 Logo。 */
body.aph2-theme header.sticky.top-0 a[href="/projects"] {
  display: none !important;
}

@media (min-width: 641px) {
  body.aph2-theme .aph-home-visual .aph-banner-brand {
    position: absolute !important;
    left: 24px !important;
    top: 18px !important;
    width: 112px;
    height: 86px;
    display: flex !important;
    align-items: flex-start;
    justify-content: flex-start;
  }

  body.aph2-theme .aph-home-visual .aph-banner-brand img {
    display: block;
    width: 112px;
    height: 86px;
    object-fit: contain;
    object-position: left top;
  }
}

/* 首页地图：默认红色，点击选中后白色；省市列表使用高对比度文字。 */
body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] path {
  fill: #cf001b !important;
  stroke: #ffffff !important;
  stroke-width: 1.2 !important;
}

body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] g:hover path,
body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] g:focus-visible path {
  fill: #aa0016 !important;
  stroke: #ffffff !important;
}

body.aph2-theme
  svg[aria-label="辽宁、河北、天津、北京区域地图"]
  g[data-aph-map-selected] path {
  fill: #ffffff !important;
  stroke: #cf001b !important;
  filter: drop-shadow(0 2px 5px rgba(207, 0, 27, .24)) !important;
}

body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] circle {
  fill: #cf001b !important;
}

body.aph2-theme
  svg[aria-label="辽宁、河北、天津、北京区域地图"]
  g[data-aph-map-selected] circle {
  fill: #ffffff !important;
  stroke: #cf001b !important;
  stroke-width: 1.2 !important;
}

body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] text {
  fill: #343940 !important;
  color: #343940 !important;
}

body.aph2-theme svg[aria-label="辽宁、河北、天津、北京区域地图"] text.fill-primary {
  fill: #cf001b !important;
  color: #cf001b !important;
}

body.aph2-theme
  .card-soft:has(svg[aria-label="辽宁、河北、天津、北京区域地图"])
  .col-span-4
  > a {
  color: #343940 !important;
  background: #ffffff !important;
  border-color: #e3e6ea !important;
}

/* 首页主视觉排版修复：Logo、标题组与日期独立定位，避免旧 Grid 将标题压缩到 160px。 */
@media (min-width: 641px) {
  body.aph2-theme .aph-home-visual {
    display: block !important;
    position: relative !important;
    height: 218px !important;
    min-height: 218px !important;
    padding: 0 !important;
  }

  body.aph2-theme .aph-home-visual .aph-banner-brand {
    left: 24px !important;
    top: 18px !important;
    width: 104px !important;
    height: 82px !important;
    z-index: 3 !important;
  }

  body.aph2-theme .aph-home-visual .aph-banner-brand img {
    width: 104px !important;
    height: 82px !important;
  }

  body.aph2-theme .aph-home-visual .aph-banner-copy {
    position: absolute !important;
    left: 156px !important;
    right: 72px !important;
    top: 40px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    text-align: center !important;
    transform: none !important;
    z-index: 2 !important;
  }

  body.aph2-theme .aph-home-visual .aph-banner-copy p {
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    letter-spacing: .34em !important;
    white-space: nowrap !important;
  }

  body.aph2-theme .aph-home-visual .aph-banner-copy h1 {
    margin: 12px 0 0 !important;
    font-size: clamp(28px, 2.6vw, 38px) !important;
    line-height: 1.15 !important;
    letter-spacing: .04em !important;
    white-space: nowrap !important;
  }

  body.aph2-theme .aph-home-visual .aph-banner-copy h2 {
    margin: 9px 0 0 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    letter-spacing: .02em !important;
    white-space: nowrap !important;
  }

  body.aph2-theme .aph-home-visual time {
    position: absolute !important;
    right: 22px !important;
    bottom: 18px !important;
    width: auto !important;
    margin: 0 !important;
    padding-right: 10px !important;
    font-size: 16px !important;
    line-height: 26px !important;
    white-space: nowrap !important;
    z-index: 3 !important;
  }
}

body.aph2-theme
  .card-soft:has(svg[aria-label="辽宁、河北、天津、北京区域地图"])
  .col-span-4
  .text-sm.font-medium,
body.aph2-theme
  .card-soft:has(svg[aria-label="辽宁、河北、天津、北京区域地图"])
  .col-span-4
  .num.text-base.font-semibold {
  color: #343940 !important;
}

body.aph2-theme
  .card-soft:has(svg[aria-label="辽宁、河北、天津、北京区域地图"])
  .col-span-4
  .text-micro.text-muted-foreground {
  color: #686f78 !important;
}

body.aph2-theme
  .card-soft:has(svg[aria-label="辽宁、河北、天津、北京区域地图"])
  .col-span-4
  .text-primary {
  color: #cf001b !important;
}

body.aph2-theme .aph-collection-target {
  display: table;
  margin-top: 4px;
  padding: 2px 7px;
  border: 1px solid #f3b8bf;
  border-radius: 2px;
  background: #fff3f4;
  color: #cf001b;
  font-size: 11px;
  font-weight: 500;
  line-height: 18px;
  white-space: nowrap;
}

body.aph2-theme .aph-withdrawn-filter {
  border-color: #9aa1aa !important;
  background: #f1f3f5 !important;
  color: #343940 !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

body.aph2-theme .aph-withdrawn-filter:hover,
body.aph2-theme .aph-withdrawn-filter:focus-visible {
  border-color: #cf001b !important;
  background: #fff3f4 !important;
  color: #cf001b !important;
}

body.aph2-theme .aph-withdrawn-filter span {
  background: #6f7782 !important;
  opacity: 1 !important;
}

body.aph2-theme .aph-sortable-header {
  white-space: nowrap;
}

body.aph2-theme .aph-sort-button {
  display: inline-flex;
  width: 24px;
  height: 24px;
  margin-left: 4px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 2px;
  background: transparent;
  color: #8f98a4;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  vertical-align: middle;
  cursor: pointer;
}

body.aph2-theme .aph-sort-button:hover,
body.aph2-theme .aph-sort-button:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  outline: 1px solid rgba(255, 255, 255, 0.28);
}

body.aph2-theme .aph-sort-button[aria-pressed="true"] {
  background: #cf001b;
  color: #ffffff;
}

/* Project master profile + operating facts */
body.aph2-theme .aph-project-profile-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  min-width: 0;
}
body.aph2-theme .aph-project-page-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 24px;
  padding: 22px 24px; border-top: 4px solid #e60012; background: #050505; color: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.14);
}
body.aph2-theme .aph-project-page-head > div:first-child { max-width: 920px; }
body.aph2-theme .aph-project-page-head span { color: #ffafb6; font-size: 11px; font-weight: 700; letter-spacing: .15em; }
body.aph2-theme .aph-project-page-head h1 { margin: 5px 0 7px; color: #fff !important; font-size: 26px !important; font-weight: 700; }
body.aph2-theme .aph-project-page-head p { color: #c7cbd0; font-size: 13px; line-height: 1.65; }
body.aph2-theme .aph-project-source { min-width: 260px; padding-left: 18px; border-left: 1px solid #45484d; text-align: right; }
body.aph2-theme .aph-project-source strong,
body.aph2-theme .aph-project-source span { display: block; color: #fff; letter-spacing: 0; }
body.aph2-theme .aph-project-source strong { max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
body.aph2-theme .aph-project-source span { margin-top: 7px; color: #c7cbd0; font-size: 11px; font-weight: 500; }
body.aph2-theme .aph-project-kpis { display: grid; grid-template-columns: repeat(7, minmax(132px, 1fr)); gap: 8px; }
body.aph2-theme .aph-project-kpis article { min-height: 112px; padding: 16px; border: 1px solid #e5e7eb; border-top: 3px solid #252525; background: #fff; }
body.aph2-theme .aph-project-kpis article:nth-last-child(-n+3) { border-top-color: #e60012; }
body.aph2-theme .aph-project-kpis span,
body.aph2-theme .aph-project-kpis small { display: block; color: #747a82; font-size: 11px; }
body.aph2-theme .aph-project-kpis strong { display: block; margin: 9px 0 6px; color: #22272d; font-size: 22px; line-height: 1.05; white-space: nowrap; }
body.aph2-theme .aph-project-table-card { border: 1px solid #e5e7eb; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.05); }
body.aph2-theme .aph-project-toolbar { display: grid; grid-template-columns: minmax(220px,1fr) 150px 170px minmax(230px,.7fr); gap: 10px; align-items: end; padding: 16px 18px; border-bottom: 1px solid #e8e9ed; }
body.aph2-theme .aph-project-toolbar h2 { color: #262b31 !important; font-size: 17px !important; }
body.aph2-theme .aph-project-toolbar > div span { color: #858b92; font-size: 11px; }
body.aph2-theme .aph-project-toolbar label > span { display: block; margin-bottom: 5px; color: #6d737a; font-size: 10px; font-weight: 600; }
body.aph2-theme .aph-project-toolbar select,
body.aph2-theme .aph-project-toolbar input { width: 100%; height: 36px; padding: 0 10px; border: 1px solid #dfe1e5; border-radius: 2px; background: #fff; color: #343940; font-size: 12px; }
body.aph2-theme .aph-project-table-wrap { width: 100%; overflow-x: auto; }
body.aph2-theme .aph-project-table-wrap table { width: 100%; min-width: 1130px; border-collapse: collapse; font-size: 12px; }
body.aph2-theme .aph-project-table-wrap th { height: 38px; padding: 0 12px; background: #f2f3f5; color: #5d636a; text-align: left; font-size: 10px; font-weight: 700; white-space: nowrap; }
body.aph2-theme .aph-project-table-wrap td { padding: 11px 12px; border-top: 1px solid #eceef1; color: #444a51; vertical-align: middle; }
body.aph2-theme .aph-project-table-wrap tbody tr { cursor: pointer; transition: background .15s ease; }
body.aph2-theme .aph-project-table-wrap tbody tr:hover,
body.aph2-theme .aph-project-table-wrap tbody tr:focus { background: #fff6f7; outline: none; }
body.aph2-theme .aph-project-table-wrap td:nth-child(2) { min-width: 280px; }
body.aph2-theme .aph-project-table-wrap td strong { display: block; color: #292e34; font-weight: 650; }
body.aph2-theme .aph-project-table-wrap td small { display: block; max-width: 360px; margin-top: 4px; overflow: hidden; color: #8a9097; text-overflow: ellipsis; white-space: nowrap; }
body.aph2-theme .aph-project-link { display: inline-flex; padding: 3px 7px; border: 1px solid #b9ddca; background: #eef8f3; color: #247a50; font-size: 10px; font-weight: 650; white-space: nowrap; }
body.aph2-theme .aph-project-link-partial { border-color: #eed3a2; background: #fff8e8; color: #9a6814; }
body.aph2-theme .aph-project-link-unmatched { border-color: #e0e2e5; background: #f4f5f6; color: #777e86; }
body.aph2-theme .aph-project-footnote { padding: 11px 18px; border-top: 1px solid #eceef1; color: #7b8188; font-size: 10px; line-height: 1.6; }
body.aph2-theme .aph-project-empty { padding: 44px; color: #858b92; text-align: center; }
body.aph2-theme .aph-project-drawer[hidden] { display: none !important; }
body.aph2-theme .aph-project-drawer { position: fixed; z-index: 9999; inset: 0; display: flex; justify-content: flex-end; }
body.aph2-theme .aph-project-drawer-mask { position: absolute; inset: 0; border: 0; background: rgba(5,5,5,.48); }
body.aph2-theme .aph-project-drawer-panel { position: relative; width: min(760px, 92vw); height: 100%; overflow-y: auto; border-left: 1px solid #dfe1e5; background: #f5f6f8; box-shadow: -8px 0 30px rgba(0,0,0,.16); }
body.aph2-theme .aph-project-detail-head { position: sticky; z-index: 2; top: 0; display: flex; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 3px solid #e60012; background: #050505; color: #fff; }
body.aph2-theme .aph-project-detail-head span { color: #ffafb6; font-size: 10px; letter-spacing: .12em; }
body.aph2-theme .aph-project-detail-head h2 { margin: 4px 0; color: #fff !important; font-size: 20px !important; }
body.aph2-theme .aph-project-detail-head p { color: #c9cdd2; font-size: 11px; }
body.aph2-theme .aph-project-detail-head button { width: 34px; height: 34px; border: 1px solid #4b4f55; background: #17191c; color: #fff; font-size: 23px; cursor: pointer; }
body.aph2-theme .aph-project-detail-operating { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 12px; }
body.aph2-theme .aph-project-detail-operating > div { min-height: 105px; padding: 15px; border: 1px solid #e1e3e6; border-top: 3px solid #e60012; background: #fff; }
body.aph2-theme .aph-project-detail-operating span,
body.aph2-theme .aph-project-detail-operating small { display: block; color: #7a8087; font-size: 10px; }
body.aph2-theme .aph-project-detail-operating strong { display: block; margin: 8px 0 6px; color: #292e34; font-size: 20px; }
body.aph2-theme .aph-project-detail-operating small { overflow-wrap: anywhere; line-height: 1.45; }
body.aph2-theme .aph-project-detail-section { margin: 0 12px 12px; padding: 18px; border: 1px solid #e1e3e6; background: #fff; }
body.aph2-theme .aph-project-detail-section h3 { margin-bottom: 14px; color: #2e3339 !important; font-size: 15px !important; }
body.aph2-theme .aph-project-detail-grid,
body.aph2-theme .aph-project-phase-list article dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; border-top: 1px solid #eceef1; border-left: 1px solid #eceef1; }
body.aph2-theme .aph-project-detail-grid > div,
body.aph2-theme .aph-project-phase-list article dl > div { min-height: 66px; padding: 11px; border-right: 1px solid #eceef1; border-bottom: 1px solid #eceef1; }
body.aph2-theme .aph-project-detail-grid dt,
body.aph2-theme .aph-project-phase-list dt { margin-bottom: 6px; color: #858b92; font-size: 10px; }
body.aph2-theme .aph-project-detail-grid dd,
body.aph2-theme .aph-project-phase-list dd { color: #3c4249; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
body.aph2-theme .aph-project-phase-list { display: grid; gap: 10px; }
body.aph2-theme .aph-project-phase-list article { border: 1px solid #e3e5e8; }
body.aph2-theme .aph-project-phase-list article > div { display: flex; justify-content: space-between; padding: 10px 12px; background: #f4f5f6; }
body.aph2-theme .aph-project-phase-list article > div strong { color: #30353b; font-size: 12px; }
body.aph2-theme .aph-project-phase-list article > div span { color: #258e59; font-size: 10px; font-weight: 650; }
body.aph2-theme .aph-project-detail-loading,
body.aph2-theme .aph-project-error { display: grid; place-content: center; gap: 10px; min-height: 260px; padding: 40px; border: 1px solid #e2e4e7; background: #fff; color: #646a71; text-align: center; }
body.aph2-theme .aph-project-error strong { color: #c70010; font-size: 16px; }
body.aph2-theme .aph-project-error button { justify-self: center; height: 34px; padding: 0 14px; border: 0; background: #e60012; color: #fff; cursor: pointer; }

@media (max-width: 1280px) {
  body.aph2-theme .aph-project-kpis { grid-template-columns: repeat(4,minmax(150px,1fr)); }
  body.aph2-theme .aph-project-toolbar { grid-template-columns: minmax(200px,1fr) 140px 160px; }
  body.aph2-theme .aph-project-search { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  body.aph2-theme main#main-content { padding: 8px !important; overflow-x: hidden; }
  body.aph2-theme .aph-project-table-card { min-width: 0; max-width: 100%; overflow: hidden; }
  body.aph2-theme .aph-project-table-wrap { max-width: 100%; overflow-x: auto; }
  body.aph2-theme .aph-project-page-head { display: block; padding: 18px; }
  body.aph2-theme .aph-project-page-head h1 { font-size: 22px !important; }
  body.aph2-theme .aph-project-source { margin-top: 16px; padding: 12px 0 0; border-top: 1px solid #45484d; border-left: 0; text-align: left; }
  body.aph2-theme .aph-project-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.aph2-theme .aph-project-kpis article { min-height: 102px; padding: 13px; }
  body.aph2-theme .aph-project-kpis strong { font-size: 19px; }
  body.aph2-theme .aph-project-toolbar { display: grid; grid-template-columns: 1fr; padding: 14px; }
  body.aph2-theme .aph-project-search { grid-column: auto; }
  body.aph2-theme .aph-project-drawer-panel { width: 100vw; }
  body.aph2-theme .aph-project-detail-operating,
  body.aph2-theme .aph-project-detail-grid,
  body.aph2-theme .aph-project-phase-list article dl { grid-template-columns: 1fr; }
}
/* 2026-08-08 progressive disclosure and service-center scrolling */
.aph-page-view-switch,.aph-admin-safety-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb}
.aph-review-workbench-switch{grid-column:1/-1;position:sticky;top:88px;z-index:8;margin:0 0 18px;border-left:3px solid #db0011;box-shadow:0 6px 18px rgba(15,23,42,.06)}
.review-workbench-shell[data-review-workbench-mode="today"] .review-workbench-main{grid-column:1/-1;}
.review-workbench-shell[data-review-workbench-mode="operations"] .review-workbench-main,.review-workbench-shell[data-review-workbench-mode="operations"] .review-workbench-aside{grid-column:1/-1;}
.aph-review-hero-compact{min-height:88px!important;max-height:112px!important;padding-top:10px!important;padding-bottom:10px!important}
.aph-review-freshness{margin-left:auto;padding:6px 10px;border:1px solid #d5d9df;background:#f7f8fa;color:#4b5563;font-size:12px;line-height:1.2;white-space:nowrap}
.aph-review-freshness.is-stale{border-color:#f4b4ba;background:#fff1f2;color:#b4232f}
.aph-review-freshness.is-fresh{border-color:#a7d7bd;background:#edf9f2;color:#177245}
.aph-review-freshness.is-unknown{border-color:#e3c992;background:#fff8e8;color:#8a5a13}
.aph-review-ops-groups{display:none;flex:1 0 100%;align-items:center;gap:8px;padding-top:10px;border-top:1px solid #e5e7eb}
.review-workbench-shell[data-review-workbench-mode="operations"] .aph-review-ops-groups{display:flex}
.aph-review-ops-groups button{padding:6px 12px!important;font-size:12px}
.aph-review-ops-groups button[aria-selected="true"]{background:#0d1928!important;border-color:#0d1928!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
[data-review-workbench-today-section="1"][hidden]{display:none!important}
[data-review-workbench-section="operations"][hidden]{display:none!important}
.aph-page-view-switch button{border:1px solid #d5d9df;background:#f7f8fa;color:#4b5563;padding:8px 14px;cursor:pointer}
body.aph2-theme [data-aph-menu-outside-scroll="1"] button[aria-selected="true"],.aph-page-view-switch button[aria-selected="true"]{background:#db0011!important;border-color:#db0011!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
[data-aph-menu-outside-scroll="1"]{position:sticky;top:88px;z-index:9}
.aph-history-unavailable{min-height:0!important;padding:18px 22px!important}
.aph-history-unavailable>*:not(.aph-history-status){display:none!important}
.aph-history-status{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#6b7280}
.aph-service-center-scroll{max-height:720px!important;max-height:68vh!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;border-bottom:1px solid #e5e7eb}
.aph-service-center-detail-shell{max-height:none!important;overflow:visible!important}
.aph-service-center-scroll table{margin:0!important}
body.aph2-theme main .aph-service-center-scroll thead,body.aph2-theme main .aph-service-center-scroll thead tr{position:sticky;top:0;z-index:4;background:#0d1928!important;color:#f4f6f8!important}
body.aph2-theme main .aph-service-center-scroll thead th{background:#0d1928!important;color:#f4f6f8!important;-webkit-text-fill-color:#f4f6f8!important;box-shadow:0 1px 0 #536070}
body.aph2-theme main .aph-service-center-scroll thead th :where(button,span,svg){color:#f4f6f8!important;-webkit-text-fill-color:#f4f6f8!important}
.aph-admin-safety-toolbar{position:sticky;top:96px;z-index:5;border-left:3px solid #db0011;color:#4b5563}
.aph-admin-safety-toolbar strong{color:#111827}
.aph-admin-save-locked{opacity:.45!important;cursor:not-allowed!important}
.aph-admin-save-dirty{box-shadow:0 0 0 3px rgba(219,0,17,.12)}
.aph-gate-empty{padding:28px;border-left:4px solid #f59e0b;background:#fff;color:#4b5563}
.aph-gate-empty strong{display:block;margin-bottom:8px;font-size:18px;color:#111827}
@media(max-width:640px){.aph-page-view-switch{position:sticky;top:88px;z-index:4}.aph-review-workbench-switch{position:relative;top:auto;z-index:1;margin-bottom:16px}.aph-review-freshness{order:3;flex:1 0 100%;white-space:normal}.aph-review-ops-groups{overflow-x:auto;flex-wrap:nowrap}.aph-review-ops-groups button{flex:0 0 auto}.aph-review-hero-compact{display:none!important}.aph-history-status{align-items:flex-start;flex-direction:column}.aph-admin-safety-toolbar{top:88px}.aph-service-center-scroll{max-height:62vh}}
/* First Service North China cockpit — full remediation batch 1 (immutable delta). */
:root{
  --aph-remediation-text:#3f4752;
  --aph-remediation-muted:#626b76;
  --aph-remediation-line:#d7dce2;
  --aph-remediation-focus:#005fcc;
  --aph-remediation-warning:#8a4b00;
  --aph-remediation-danger:#a10f22;
  --aph-remediation-surface:#f7f9fb;
}

.aph-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.aph2-theme :where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--aph-remediation-focus)!important;outline-offset:3px!important;box-shadow:0 0 0 5px rgba(0,95,204,.16)!important}
body.aph2-theme :where(table,td,th,.num,[class*="text-2xl"],[class*="text-3xl"],[class*="text-4xl"]){font-variant-numeric:tabular-nums}
body.aph2-theme main :where(.text-slate-500,.text-gray-500,.text-zinc-500){color:var(--aph-remediation-muted)!important}
body.aph2-theme main :where(.text-amber-400,.text-amber-500){color:var(--aph-remediation-warning)!important}
body.aph2-theme button:disabled,body.aph2-theme [aria-disabled="true"]{opacity:.55!important;cursor:not-allowed!important;filter:saturate(.45)}

.aph-truth-gate{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 14px;padding:16px 18px;border:1px solid #e2b869;border-left:4px solid #c77a00;background:#fffaf0;color:#5f3a00;box-shadow:0 1px 2px rgba(35,39,43,.06)}
.aph-truth-gate strong{display:block;margin-bottom:5px;color:#3e2a08;font-size:17px;line-height:1.35}
.aph-truth-gate p{margin:0;max-width:920px;color:#654510;font-size:13px;line-height:1.65}
.aph-truth-gate>span{flex:none;padding:5px 9px;border-radius:999px;background:#f3e0bb;color:#6e4300;font-size:12px;font-weight:700;white-space:nowrap}
[data-aph-truth-state="unavailable"]{border-color:#d9b675!important;background:#fffaf1!important}
[data-aph-truth-state="unavailable"] :where(strong,b,[class*="text-2xl"],[class*="text-3xl"],[class*="text-4xl"]){color:#5c6672!important}

body>.aph-source-freshness{position:fixed;top:104px;right:24px;z-index:43;width:min(500px,calc(100vw - 48px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
@media (min-width:641px){body.aph2-theme.aph-source-freshness-visible:not(.aph-admin-page) main#main-content{padding-top:174px!important}}
.aph-source-freshness article{min-height:58px!important;padding:10px 14px!important;display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto auto!important;align-items:center!important;column-gap:12px!important;border:1px solid var(--aph-remediation-line)!important;border-left:3px solid #1f8c64!important;background:#fff!important;box-shadow:none!important}
.aph-source-freshness article[data-status="unavailable"]{border-left-color:#b66b00!important;background:#fffaf1!important}
.aph-source-freshness strong{font-size:13px;color:#303741}
.aph-source-freshness time{grid-row:1/3;grid-column:2;font-size:15px;font-weight:700;color:#20262d;font-variant-numeric:tabular-nums}
.aph-source-freshness span{font-size:11px;color:var(--aph-remediation-muted)}
.aph-source-scoped-status{font-size:0!important}
.aph-source-scoped-status::before{content:"经营数据分源更新 · 以来源状态卡为准";font-size:12px;font-weight:600;color:#d8dee7}
.aph-source-scoped-status b{display:none!important}

.aph-navigation-toast{position:fixed;right:18px;bottom:18px;z-index:1000;max-width:360px;padding:12px 16px;border:1px solid #b8c5d2;border-left:4px solid #2563eb;background:#fff;color:#2c3540;box-shadow:0 12px 32px rgba(0,0,0,.18);font-size:13px}
.aph-navigation-toast[data-tone="danger"]{border-left-color:var(--aph-remediation-danger);color:#78121e}
.aph-mobile-primary-nav,.aph-mobile-more-drawer{display:none}

body.aph2-theme .aph-history-unavailable{min-height:auto!important}
body.aph2-theme .aph-history-unavailable>:not(.aph-history-status):not(:first-child){max-height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;opacity:0!important}
body.aph2-theme .aph-history-status{min-height:92px!important;margin-top:10px!important}

@media (max-width: 640px){
  body.aph2-theme aside[aria-label*="导航栏"],body.aph2-theme .aph-page-tabs{display:none!important}
  body.aph-mobile-nav-ready main#main-content{padding-top:64px!important}
  .aph-mobile-primary-nav{position:fixed;left:0;right:0;top:50px;z-index:50;height:52px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;background:#101820;border-bottom:1px solid #303a45;box-shadow:0 2px 8px rgba(0,0,0,.22)}
  .aph-mobile-primary-nav a,.aph-mobile-primary-nav button{min-height:44px;margin:4px 0;padding:0 5px;display:grid;place-items:center;border:0;border-right:1px solid #303a45;background:transparent;color:#f1f5f9;font-size:12px;font-weight:650;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap}
  .aph-mobile-primary-nav a[aria-current="page"]{background:#cf001b;color:#fff}
  .aph-mobile-primary-nav button{border-right:0}
  .aph-mobile-more-drawer{position:fixed;inset:102px 0 0;z-index:70;display:flex;flex-direction:column;padding:0 16px 24px;background:rgba(247,249,251,.985);overflow:auto;box-shadow:0 -12px 40px rgba(0,0,0,.16)}
  .aph-mobile-more-drawer[hidden]{display:none!important}
  .aph-mobile-more-drawer header{position:sticky;top:0;z-index:1;min-height:64px;display:flex;align-items:center;justify-content:space-between;background:rgba(247,249,251,.98);border-bottom:1px solid var(--aph-remediation-line)}
  .aph-mobile-more-drawer header strong{font-size:18px;color:#222a33}
  .aph-mobile-more-drawer header button{min-width:64px;min-height:44px;border:1px solid #b7c0ca;background:#fff;color:#303841}
  .aph-mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:16px}
  .aph-mobile-more-grid a{min-height:52px;padding:10px 12px;display:flex;align-items:center;justify-content:center;border:1px solid #cfd6de;background:#fff;color:#2d3540;font-size:13px;font-weight:650;text-align:center;text-decoration:none}
  body.aph-mobile-drawer-open{overflow:hidden}

  .aph-truth-gate{flex-direction:column;gap:10px;margin:0 0 10px;padding:13px 14px}
  .aph-truth-gate strong{font-size:15px}
  .aph-truth-gate>span{align-self:flex-start}
  body>.aph-source-freshness{top:108px;left:8px;right:8px;width:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}
  body.aph-source-freshness-visible main#main-content{padding-top:126px!important}
  .aph-source-freshness article{min-height:52px!important;padding:8px 11px!important}

  .aph-business-banner{min-height:94px!important;padding:14px 16px!important;grid-template-columns:1fr!important;gap:3px!important}
  .aph-business-banner .aph-banner-copy{justify-self:start!important}
  .aph-business-banner .aph-banner-copy p,.aph-business-banner time,.aph-business-banner .aph-banner-brand{display:none!important}
  .aph-business-banner .aph-banner-copy h1{font-size:21px!important;line-height:1.25!important}
  .aph-business-banner .aph-banner-copy h2{margin-top:5px!important;max-width:none!important;font-size:11px!important;line-height:1.4!important;letter-spacing:.04em!important}

  .aph-project-page-head{padding:14px!important;display:block!important;min-height:auto!important}
  .aph-project-page-head>div:first-child>p{display:none!important}
  .aph-project-page-head h1{font-size:20px!important;line-height:1.3!important}
  .aph-project-source{margin-top:8px!important;padding-top:8px!important;border-top:1px solid rgba(255,255,255,.18)!important}
  .aph-project-source strong,.aph-project-source span{display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .aph-project-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  body.aph2-theme .aph-page-view-switch{position:sticky!important;top:102px!important;z-index:12!important}
  body.aph2-theme :where(button,a,input,select,textarea,[role="button"]){min-height:44px}
  body.aph2-theme input[type="date"],body.aph2-theme button[aria-label*="日期"]{min-height:44px!important}
  body.aph2-theme main .aph-service-center-scroll{max-height:min(62vh,640px)!important}
  .aph-navigation-toast{left:12px;right:12px;bottom:12px;max-width:none}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
}
/* R6 · 正式发布、责任闭环与全站交互收口 */
.r5-governance-slot{display:block;min-height:120px;margin:0 0 1.5rem;pointer-events:none}
.r5-governance-section{position:absolute;z-index:20;margin:0;padding:1.1rem;border:1px solid rgba(0,204,249,.22);border-radius:.6rem;background:linear-gradient(145deg,rgba(5,19,33,.98),rgba(5,14,26,.96));box-shadow:0 18px 45px rgba(0,0,0,.18)}
.r5-governance-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.r5-governance-head span{display:block;color:#65dff8;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.r5-governance-head h2{margin:.25rem 0 0;color:#f1f8fc;font-size:1.15rem;font-weight:700}
.r5-governance-head a{min-height:44px;display:inline-flex;align-items:center;color:#80e7fb;font-size:.8rem;text-decoration:none}
.r5-governance-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:1rem}
.r5-governance-card{min-width:0;padding:1rem;border:1px solid rgba(148,163,184,.15);border-radius:.45rem;background:rgba(8,21,36,.72)}
.r5-governance-card.success{box-shadow:inset 3px 0 #36d39a}
.r5-governance-card.warning{box-shadow:inset 3px 0 #f8b84e}
.r5-governance-card.danger{box-shadow:inset 3px 0 #ff5f71}
.r5-governance-card.neutral{box-shadow:inset 3px 0 #64748b}
.r5-governance-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.r5-governance-card>header span{display:block;color:#8298aa;font-size:.68rem;letter-spacing:.08em}
.r5-governance-card>header h3{margin:.3rem 0 0;color:#f2f8fc;font-size:1.15rem}
.r5-governance-card>header>b{color:#8be9fb;font-size:.95rem;font-variant-numeric:tabular-nums}
.r5-governance-card>p{margin:.85rem 0;color:#adc0ce;font-size:.82rem;line-height:1.65}
.r5-publication-dates,.r5-responsibility-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:.9rem 0}
.r5-responsibility-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.r5-publication-dates>div,.r5-responsibility-kpis>div{padding:.65rem;border:1px solid rgba(148,163,184,.12);background:rgba(255,255,255,.018)}
.r5-publication-dates span,.r5-responsibility-kpis span{display:block;color:#72899c;font-size:.66rem}
.r5-publication-dates b,.r5-responsibility-kpis b{display:block;margin-top:.25rem;color:#e5f2f8;font-size:.96rem;font-variant-numeric:tabular-nums}
.r5-source-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}
.r5-source-chip{min-width:0;padding:.6rem;border:1px solid rgba(0,204,249,.12);background:rgba(0,204,249,.025)}
.r5-source-chip span,.r5-source-chip b,.r5-source-chip small{display:block;overflow:hidden;text-overflow:ellipsis}
.r5-source-chip span{color:#7e96a8;font-size:.65rem}
.r5-source-chip b{margin:.2rem 0;color:#8be9fb;font-size:.8rem;font-variant-numeric:tabular-nums}
.r5-source-chip small{color:#6f8799;font-size:.63rem;line-height:1.35;white-space:nowrap}
.r5-case-list{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.4rem}
.r5-case-list li{display:flex;justify-content:space-between;gap:.8rem;padding:.62rem;border:1px solid rgba(148,163,184,.12);background:rgba(255,255,255,.016)}
.r5-case-list li>div:first-child{min-width:0}
.r5-case-list li b,.r5-case-list li span{display:block}
.r5-case-list li b{overflow:hidden;color:#dceaf2;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}
.r5-case-list li span{margin-top:.18rem;color:#7890a2;font-size:.65rem}
.r5-case-due{flex:0 0 auto;text-align:right;font-variant-numeric:tabular-nums}
.r5-case-due small{display:block;margin-top:.18rem;color:#7890a2;font-size:.63rem}
.r5-case-due.danger span,.r5-case-due.danger small{color:#ff7181}
.r5-case-due.warning span,.r5-case-due.warning small{color:#f8c76a}
.r5-empty,.r5-governance-loading{display:block;padding:1rem;color:#7e96a8;font-size:.78rem;text-align:center}
.r5-governance-unavailable{padding:1rem;border:1px solid rgba(248,184,78,.24);background:rgba(248,184,78,.04)}
.r5-governance-unavailable b{color:#f8c76a}
.r5-governance-unavailable p{margin:.35rem 0 0;color:#a9bdca;font-size:.8rem}
@media (max-width: 980px){.r5-governance-grid{grid-template-columns:1fr}.r5-source-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width: 640px){.r5-governance-section{margin:0;padding:.8rem}.r5-governance-slot{margin-bottom:1rem}.r5-governance-head{align-items:flex-start;flex-direction:column}.r5-governance-head a{width:100%}.r5-governance-grid{grid-template-columns:1fr}.r5-source-list{grid-template-columns:1fr}.r5-publication-dates{grid-template-columns:1fr 1fr}.r5-responsibility-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.r5-case-list li{align-items:flex-start;flex-direction:column}.r5-case-due{text-align:left}.r5-source-chip small{white-space:normal}}

body.aph-auth-route .aph-exact-sidebar,
body.aph-auth-route .aph-page-tabs,
body.aph-auth-route .aph-mobile-primary-nav,
body.aph-auth-route .aph-mobile-more-drawer,
body.aph-auth-route #north-ai-assistant{display:none!important}
body.aph-auth-route #root{min-height:100vh;width:100%}
body.aph-auth-route .aph-login-main{min-height:100vh;padding:1.5rem}
.r6-mobile-page-title{display:none;margin:0;padding:.8rem 1rem;color:#202833;font-size:1.25rem;font-weight:700;background:#fff;border-bottom:1px solid #e5e9ef}
.aph-project-kpis [data-r6-mapping-link]{display:inline-flex;align-items:center;min-height:36px;margin-top:.45rem;color:#d71920;font-size:.72rem;font-weight:700;text-decoration:none}
.r6-sort-button{display:inline-flex;align-items:center;justify-content:inherit;width:100%;min-height:40px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.r6-sort-button:focus-visible{outline:2px solid #d71920;outline-offset:2px}
@media (max-width:640px){.r6-mobile-page-title{display:block}}

/* 数据源状态纳入内容流，不再占用页签下方的悬浮空间。 */
body.aph2-theme.aph-source-freshness-visible:not(.aph-admin-page) main#main-content{padding-top:108px!important}
.r6-source-freshness-slot{display:block;grid-column:1/-1;min-width:0;height:58px;margin:0}
body.aph2-theme>.aph-source-freshness.r6-source-freshness-relocated{position:absolute!important;right:auto!important;bottom:auto!important;z-index:20;width:auto;display:grid;grid-template-columns:minmax(150px,.7fr) repeat(2,minmax(0,1fr));gap:0;border:1px solid #e3e7eb;background:#fff;box-shadow:none}
body.aph2-theme>.aph-source-freshness.r6-source-freshness-relocated::before{content:"数据更新状态";min-height:58px;display:flex;align-items:center;padding:0 18px;border-right:1px solid #e3e7eb;background:#f5f6f8;color:#303741;font-size:13px;font-weight:700;letter-spacing:.02em}
body.aph2-theme>.aph-source-freshness.r6-source-freshness-relocated article{min-height:58px!important;border:0!important;border-right:1px solid #e3e7eb!important;border-left:3px solid #1f8c64!important}
body.aph2-theme>.aph-source-freshness.r6-source-freshness-relocated article:last-child{border-right:0!important}
body.aph2-theme>.aph-source-freshness.r6-source-freshness-relocated article[data-status="unavailable"]{border-left-color:#b66b00!important}
@media (min-width:1024px){body.aph2-theme .aph-home-reflow>.r6-source-freshness-slot{grid-row:4}body.aph2-theme .aph-home-reflow>.aph-home-region-grid{grid-row:5}body.aph2-theme .aph-home-reflow>.aph-home-ranking-grid{grid-row:6}}
@media (max-width:640px){body.aph2-theme.aph-source-freshness-visible:not(.aph-admin-page) main#main-content{padding-top:64px!important}.r6-source-freshness-slot{height:112px}body.aph2-theme>.aph-source-freshness.r6-source-freshness-relocated{grid-template-columns:1fr 1fr}body.aph2-theme>.aph-source-freshness.r6-source-freshness-relocated::before{grid-column:1/-1;min-height:42px;padding:0 12px}body.aph2-theme>.aph-source-freshness.r6-source-freshness-relocated article{min-height:68px!important;padding:9px 10px!important}body.aph2-theme>.aph-source-freshness.r6-source-freshness-relocated time{font-size:13px}}
/* 回款额明细：让长表格随桌面视口伸展，减少汇总行下方的无效留白。 */
@media (min-width: 641px) {
  body.aph2-theme.aph-payment-route .aph-service-center-scroll {
    max-height: clamp(520px, calc(100dvh - 220px), 820px) !important;
  }
}
/* 首页数据源状态收入 APH 黑色顶栏，不再占用正文网格。 */
body.aph2-theme.aph-home-source-header > .aph-source-freshness,
body.aph2-theme.aph-home-source-header .r6-source-freshness-slot {
  display: none !important;
}

body.aph2-theme.aph-home-source-header.aph-source-freshness-visible:not(.aph-admin-page) main#main-content {
  padding-top: 96px !important;
}

body.aph2-theme header.sticky.top-0 .aph-header-status.r7-source-header-active {
  width: min(860px, calc(100vw - 690px));
  max-width: none;
  color: transparent;
  font-size: 0 !important;
  letter-spacing: 0;
}
body.aph2-theme header.sticky.top-0 .aph-header-status.r7-source-header-active::before {
  display: none !important;
}
.r7-header-freshness {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  height: 40px;
  color: #f5f7fa;
  font-size: 12px !important;
  line-height: 1;
  white-space: nowrap;
}
.r7-header-freshness-title {
  flex: 0 0 auto;
  color: #e8edf3 !important;
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: 2px;
}
.r7-header-freshness > i {
  flex: 0 0 auto;
  margin: 0 13px;
  color: #f5f7fa;
  font-style: normal;
  font-size: 12px;
}
.r7-header-freshness article {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  border-left: 1px solid #26313c;
}
.r7-header-freshness article:last-child { border-right: 1px solid #26313c; }
.r7-header-freshness strong {
  color: #f5f7fa;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .02em;
  white-space: nowrap;
}
.r7-header-freshness span {
  color: #78d9ac !important;
  font-size: 10px !important;
  line-height: 1.2;
}
.r7-header-freshness article[data-status="unavailable"] span { color: #f1bd68 !important; }
.r7-header-freshness time {
  color: #ff3b30;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  letter-spacing: .08em;
  white-space: nowrap;
}

@media (min-width: 1024px) {
  body.aph2-theme .aph-home-reflow > .aph-home-region-grid { grid-row: 4 !important; }
  body.aph2-theme .aph-home-reflow > .aph-home-ranking-grid { grid-row: 5 !important; }
}
@media (min-width: 641px) and (max-width: 1100px) {
  body.aph2-theme header.sticky.top-0 .aph-header-status.r7-source-header-active {
    width: min(600px, calc(100vw - 410px));
  }
  .r7-header-freshness-title { max-width: 150px; overflow: hidden; text-overflow: ellipsis; }
  .r7-header-freshness article { padding-inline: 9px; }
  .r7-header-freshness strong { max-width: 72px; overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 640px) {
  body.aph2-theme header.sticky.top-0 .aph-header-status.r7-source-header-active { display: none !important; }
}
/* 华北经营助手 · APH 2.0 浅色业务主题热修复，仅作用于独立组件 */
#north-ai-assistant {
  --north-ai-bg: #f5f6fa;
  --north-ai-surface: #ffffff;
  --north-ai-surface-2: #f0f1f4;
  --north-ai-line: #e8e9ed;
  --north-ai-line-strong: #d7d9dc;
  --north-ai-primary: #cf001b;
  --north-ai-primary-hover: #b80018;
  --north-ai-primary-soft: #fff0f2;
  --north-ai-text: #41464c;
  --north-ai-muted: #7f848a;
  --north-ai-ink: #050505;
  --north-ai-success: #258e59;
  --north-ai-warning: #f1a52f;
  --north-ai-danger: #c75159;
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
}

.north-ai-launcher {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 58;
  display: flex;
  align-items: center;
  gap: 0;
  width: 58px;
  min-height: 58px;
  padding: 7px;
  overflow: hidden;
  border: 1px solid var(--north-ai-line-strong);
  border-radius: 2px;
  color: var(--north-ai-text);
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
  cursor: pointer;
  transition: width .22s ease, transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.north-ai-launcher:hover,
.north-ai-launcher:focus-visible { width: 210px; gap: 10px; }
.north-ai-launcher:hover { transform: translateY(-1px); border-color: var(--north-ai-primary); box-shadow: 0 6px 18px rgba(0, 0, 0, .15); }
.north-ai-launcher:active { transform: translateY(0) scale(.98); }
.north-ai-launcher:focus-visible,
.north-ai-close:focus-visible,
.north-ai-chip:focus-visible,
.north-ai-send:focus-visible,
.north-ai-input:focus-visible { outline: 2px solid var(--north-ai-primary); outline-offset: 2px; }
.north-ai-launcher[hidden] { display: none !important; }

.north-ai-launcher-mark,
.north-ai-brand-mark {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: #ffffff;
  border: 0;
  border-radius: 2px;
  background: var(--north-ai-primary);
  overflow: hidden;
}
.north-ai-launcher-mark { width: 44px; height: 44px; }
.north-ai-brand-mark { width: 46px; height: 46px; }
.north-ai-launcher-mark::before,
.north-ai-brand-mark::before {
  content: "AI";
  font: 700 15px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: -.06em;
}
.north-ai-launcher-mark::after,
.north-ai-brand-mark::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: rgba(255, 255, 255, .52);
}

.north-ai-launcher-copy { display: grid; flex: 0 0 126px; gap: 2px; opacity: 0; transform: translateX(8px); text-align: left; transition: opacity .18s ease, transform .18s ease; }
.north-ai-launcher:hover .north-ai-launcher-copy,
.north-ai-launcher:focus-visible .north-ai-launcher-copy { opacity: 1; transform: translateX(0); }
.north-ai-launcher-copy strong { color: #343940; font-size: 14px; line-height: 1.2; font-weight: 650; }
.north-ai-launcher-copy span { color: var(--north-ai-muted); font-size: 11px; line-height: 1.2; }
.north-ai-launcher-dot { display: none; width: 7px; height: 7px; border-radius: 50%; background: var(--north-ai-primary); }

.north-ai-overlay {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: flex;
  justify-content: flex-end;
  background: rgba(0, 0, 0, .28);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}
.north-ai-overlay.is-open { opacity: 1; pointer-events: auto; }
.north-ai-panel {
  width: min(470px, calc(100vw - 20px));
  height: 100dvh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  color: var(--north-ai-text);
  background: var(--north-ai-bg);
  border-left: 1px solid var(--north-ai-line);
  box-shadow: -12px 0 32px rgba(0, 0, 0, .16);
  transform: translateX(102%);
  transition: transform .28s cubic-bezier(.2, .8, .2, 1);
}
.north-ai-overlay.is-open .north-ai-panel { transform: translateX(0); }
.north-ai-header { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 14px 16px; color: #ffffff; background: var(--north-ai-ink); border-bottom: 1px solid #252525; }
.north-ai-title { min-width: 0; flex: 1; }
.north-ai-title h2 { margin: 0; color: #ffffff; font-size: 18px; line-height: 1.25; font-weight: 680; letter-spacing: -.02em; }
.north-ai-title p { margin: 4px 0 0; color: #c8cbd0; font-size: 12px; }
.north-ai-readonly { padding: 4px 7px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 2px; color: #ffffff; background: rgba(255, 255, 255, .08); font-size: 10px; letter-spacing: .06em; }
.north-ai-close { width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 2px; color: #c8cbd0; background: transparent; cursor: pointer; font-size: 25px; line-height: 1; transition: color .18s ease, background .18s ease; }
.north-ai-close:hover { color: #ffffff; background: #252525; }

.north-ai-conversation { min-width: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px 16px 22px; scroll-behavior: smooth; }
.north-ai-welcome { padding: 18px; border: 1px solid var(--north-ai-line); border-left: 3px solid var(--north-ai-primary); border-radius: 2px; background: var(--north-ai-surface); box-shadow: 0 1px 3px rgba(0, 0, 0, .05); }
.north-ai-kicker { margin-bottom: 8px; color: var(--north-ai-primary); font: 600 11px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; text-transform: uppercase; }
.north-ai-welcome h3 { margin: 0 0 9px; color: #343940; font-size: 20px; line-height: 1.35; font-weight: 650; letter-spacing: -.02em; }
.north-ai-welcome p { margin: 0; color: #70747a; font-size: 14px; line-height: 1.7; }
.north-ai-context-status { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.north-ai-status { padding: 5px 8px; border: 1px solid rgba(37, 142, 89, .16); border-radius: 2px; color: var(--north-ai-success); background: rgba(37, 142, 89, .08); font-size: 11px; }
.north-ai-status.warning { color: #9a6200; border-color: rgba(241, 165, 47, .22); background: rgba(241, 165, 47, .1); }
.north-ai-status.unavailable { color: var(--north-ai-danger); border-color: rgba(199, 81, 89, .2); background: rgba(199, 81, 89, .08); }
.north-ai-suggestions { display: grid; gap: 8px; margin: 14px 0 4px; }
.north-ai-chip { min-width: 0; padding: 11px 13px; border: 1px solid var(--north-ai-line); border-radius: 2px; color: #4d5259; background: var(--north-ai-surface); text-align: left; font-size: 13px; line-height: 1.4; cursor: pointer; box-shadow: 0 1px 2px rgba(0, 0, 0, .035); transition: transform .18s ease, border-color .18s ease, color .18s ease, background .18s ease; }
.north-ai-chip:hover { transform: translateX(2px); border-color: var(--north-ai-primary); color: var(--north-ai-primary); background: var(--north-ai-primary-soft); }

.north-ai-message { display: grid; gap: 7px; margin-top: 17px; }
.north-ai-message-user { justify-items: end; }
.north-ai-message-assistant { justify-items: start; }
.north-ai-bubble { max-width: 88%; padding: 11px 13px; border-radius: 2px; font-size: 14px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; box-shadow: 0 1px 2px rgba(0, 0, 0, .035); }
.north-ai-message-user .north-ai-bubble { color: #ffffff; background: var(--north-ai-primary); }
.north-ai-message-assistant .north-ai-bubble { color: var(--north-ai-text); background: var(--north-ai-surface); border: 1px solid var(--north-ai-line); }
.north-ai-message-loading .north-ai-bubble { color: var(--north-ai-muted); }
.north-ai-message-loading .north-ai-bubble::after { content: "···"; display: inline-block; width: 22px; overflow: hidden; vertical-align: bottom; animation: north-ai-typing 1.2s steps(4,end) infinite; }
@keyframes north-ai-typing { from { width: 0; } to { width: 22px; } }
.north-ai-meta { display: flex; flex-wrap: wrap; gap: 6px; max-width: 92%; }
.north-ai-meta span { padding: 4px 7px; border: 1px solid var(--north-ai-line); border-radius: 2px; color: var(--north-ai-muted); background: var(--north-ai-surface); font-size: 10px; line-height: 1.35; }
.north-ai-meta span.warning { color: #9a6200; border-color: rgba(241, 165, 47, .22); }
.north-ai-meta span.unavailable { color: var(--north-ai-danger); border-color: rgba(199, 81, 89, .2); }
.north-ai-limitations { max-width: 92%; color: #9a6200; font-size: 11px; line-height: 1.55; }

.north-ai-composer-wrap { padding: 12px 16px max(16px, env(safe-area-inset-bottom)); border-top: 1px solid var(--north-ai-line); background: rgba(255, 255, 255, .97); }
.north-ai-composer { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 8px; padding: 6px; border: 1px solid var(--north-ai-line-strong); border-radius: 2px; background: var(--north-ai-surface); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .025); }
.north-ai-input { width: 100%; min-width: 0; min-height: 42px; max-height: 112px; resize: none; border: 0; padding: 10px 9px; color: var(--north-ai-text); background: transparent; font: inherit; font-size: 14px; line-height: 1.5; outline: 0; }
.north-ai-input::placeholder { color: #9a9ea3; }
.north-ai-send { width: 44px; height: 44px; align-self: end; border: 0; border-radius: 2px; color: #ffffff; background: var(--north-ai-primary); cursor: pointer; font-size: 19px; transition: transform .18s ease, background .18s ease, opacity .18s ease; }
.north-ai-send:hover { transform: translateY(-1px); background: var(--north-ai-primary-hover); }
.north-ai-send:active { transform: scale(.97); }
.north-ai-send:disabled { cursor: not-allowed; opacity: .38; transform: none; }
.north-ai-disclaimer { margin: 8px 2px 0; color: var(--north-ai-muted); font-size: 10px; line-height: 1.45; text-align: center; }

@media (max-width: 640px) {
  .north-ai-launcher { right: 12px; bottom: 14px; min-height: 52px; padding: 5px; border-radius: 2px; }
  .north-ai-launcher-mark { width: 42px; height: 42px; }
  .north-ai-launcher-copy, .north-ai-launcher-dot { display: none; }
  .north-ai-panel { width: 100vw; border-left: 0; }
  .north-ai-header { padding: max(13px, env(safe-area-inset-top)) 14px 12px; }
  .north-ai-brand-mark { width: 44px; height: 44px; }
  .north-ai-title h2 { font-size: 16px; }
  .north-ai-readonly { display: none; }
  .north-ai-conversation { padding: 15px 14px 20px; }
  .north-ai-welcome { padding: 16px; }
  .north-ai-welcome h3 { font-size: 18px; }
  .north-ai-bubble { max-width: 92%; }
  .north-ai-composer-wrap { padding-left: 12px; padding-right: 12px; }
}

/* APH助手形态：居中大弹窗、品牌欢迎区、底部胶囊输入 */
.north-ai-overlay {
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0, 0, 0, .34);
}
.north-ai-panel {
  position: relative;
  width: min(860px, calc(100vw - 48px));
  height: min(880px, calc(100dvh - 48px));
  border: 0;
  border-radius: 24px;
  background: #f3f6fa;
  box-shadow: 0 20px 56px rgba(0, 0, 0, .2);
  opacity: 0;
  transform: translateY(18px) scale(.985);
  overflow: hidden;
  transition: opacity .22s ease, transform .28s cubic-bezier(.2, .8, .2, 1);
}
.north-ai-overlay.is-open .north-ai-panel { opacity: 1; transform: translateY(0) scale(1); }
.north-ai-header {
  position: relative;
  min-height: 66px;
  padding: 0;
  color: var(--north-ai-text);
  background: transparent;
  border: 0;
}
.north-ai-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.north-ai-close {
  position: absolute;
  top: 18px;
  right: 22px;
  width: 42px;
  height: 42px;
  color: #252525;
  border-radius: 50%;
  font-size: 32px;
  font-weight: 300;
}
.north-ai-close:hover { color: #050505; background: #e8ebef; }
.north-ai-conversation {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0 32px 18px;
}
.north-ai-welcome {
  width: min(740px, 100%);
  margin: auto auto 0;
  padding: 0;
  text-align: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.north-ai-aph-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 126px;
  height: 126px;
  margin: 0 auto 24px;
  overflow: hidden;
  color: #ffffff;
  border-radius: 22px;
  background: var(--north-ai-primary);
  box-shadow: 0 8px 20px rgba(207, 0, 27, .16);
}
.north-ai-aph-mark span {
  font: 800 72px/1 Arial, sans-serif;
  transform: scaleX(.86);
}
.north-ai-aph-mark::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  height: 7px;
  background: rgba(255, 255, 255, .9);
  transform: skewX(-24deg);
}
.north-ai-welcome h3 {
  margin: 0;
  color: #111820;
  font-size: 28px;
  line-height: 1.25;
  font-weight: 650;
  letter-spacing: 0;
}
.north-ai-welcome p {
  margin: 34px auto 0;
  padding: 20px 26px;
  color: #222b35;
  border-radius: 22px;
  background: #e7ecf2;
  text-align: left;
  font-size: 17px;
  line-height: 1.7;
  font-weight: 520;
}
.north-ai-context-status { justify-content: center; margin-top: 14px; }
.north-ai-status { border-radius: 999px; }
.north-ai-suggestions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(740px, 100%);
  margin: 18px auto 6px;
}
.north-ai-chip {
  border-radius: 12px;
  background: rgba(255, 255, 255, .78);
  box-shadow: none;
}
.north-ai-messages { width: min(740px, 100%); margin: 0 auto; }
.north-ai-bubble { border-radius: 16px; box-shadow: none; }
.north-ai-message-user .north-ai-bubble { border-bottom-right-radius: 5px; }
.north-ai-message-assistant .north-ai-bubble { border-bottom-left-radius: 5px; }
.north-ai-meta span { border-radius: 8px; }
.north-ai-composer-wrap {
  padding: 18px 32px 24px;
  border: 0;
  background: transparent;
}
.north-ai-composer {
  grid-template-columns: minmax(0, 1fr) 52px;
  width: min(740px, 100%);
  margin: 0 auto;
  padding: 6px 7px 6px 18px;
  border: 1px solid #dfe3e8;
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .08);
}
.north-ai-input { min-height: 48px; padding: 12px 4px; font-size: 16px; }
.north-ai-send {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  font-size: 22px;
}
.north-ai-disclaimer { margin-top: 12px; color: #a0a6ad; font-size: 11px; }
#north-ai-assistant.has-messages .north-ai-welcome,
#north-ai-assistant.has-messages .north-ai-suggestions { display: none; }
#north-ai-assistant.has-messages .north-ai-conversation { display: block; padding-top: 0; }

@media (max-width: 640px) {
  .north-ai-overlay { padding: 0; }
  .north-ai-panel { width: 100vw; height: 100dvh; border-radius: 0; }
  .north-ai-header { min-height: max(58px, env(safe-area-inset-top)); }
  .north-ai-close { top: max(9px, env(safe-area-inset-top)); right: 10px; }
  .north-ai-conversation { padding: 0 14px 14px; }
  .north-ai-welcome { margin-top: auto; }
  .north-ai-aph-mark { width: 92px; height: 92px; margin-bottom: 16px; border-radius: 18px; }
  .north-ai-aph-mark span { font-size: 54px; }
  .north-ai-aph-mark::after { left: 14px; right: 14px; bottom: 13px; height: 5px; }
  .north-ai-welcome h3 { font-size: 22px; }
  .north-ai-welcome p { margin-top: 18px; padding: 15px 17px; border-radius: 16px; font-size: 14px; line-height: 1.65; }
  .north-ai-context-status { margin-top: 10px; }
  .north-ai-suggestions { grid-template-columns: 1fr; gap: 6px; margin-top: 12px; }
  .north-ai-chip { padding: 9px 11px; font-size: 12px; }
  .north-ai-composer-wrap { padding: 12px 12px max(14px, env(safe-area-inset-bottom)); }
  .north-ai-composer { grid-template-columns: minmax(0, 1fr) 46px; padding-left: 14px; border-radius: 25px; }
  .north-ai-input { min-height: 44px; padding: 10px 2px; font-size: 15px; }
  .north-ai-send { width: 46px; height: 46px; }
  .north-ai-disclaimer { margin-top: 8px; font-size: 10px; }
}

/* APH实际定位：桌面端位于页面最右侧，保留四周呼吸空间 */
.north-ai-overlay {
  align-items: flex-start;
  justify-content: flex-end;
  padding: 24px;
  background: transparent;
}
.north-ai-panel {
  width: min(460px, calc(100vw - 48px));
  height: calc(100dvh - 48px);
  border-radius: 22px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .18);
  transform: translateX(28px) scale(.99);
}
.north-ai-overlay.is-open .north-ai-panel { transform: translateX(0) scale(1); }
.north-ai-conversation { padding-left: 28px; padding-right: 28px; }
.north-ai-composer-wrap { padding-left: 28px; padding-right: 28px; }
.north-ai-welcome p { font-size: 16px; }
.north-ai-suggestions { grid-template-columns: 1fr; }

@media (max-width: 640px) {
  .north-ai-overlay { padding: 0; }
  .north-ai-panel {
    width: 100vw;
    height: 100dvh;
    border-radius: 0;
    transform: translateX(24px);
  }
  .north-ai-overlay.is-open .north-ai-panel { transform: translateX(0); }
  .north-ai-conversation { padding-left: 14px; padding-right: 14px; }
  .north-ai-composer-wrap { padding-left: 12px; padding-right: 12px; }
  .north-ai-launcher {
    right: 10px;
    bottom: max(10px, env(safe-area-inset-bottom));
    width: 44px;
    min-height: 44px;
    padding: 4px;
  }
  .north-ai-launcher:hover,
  .north-ai-launcher:focus-visible { width: 44px; gap: 0; }
  .north-ai-launcher-mark { width: 34px; height: 34px; }
}
.aph-header-status.r7-unified-source-host {
  width: min(860px, calc(100vw - 690px));
  min-width: 0;
  max-width: none;
  letter-spacing: 0 !important;
}

body.aph2-theme header.sticky.top-0 .aph-header-status.r7-unified-source-host::before {
  content: none !important;
}

.r7-unified-source-status {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 40px;
  gap: 12px;
  min-width: 0;
  color: #d6d9de;
  font-size: 12px !important;
  line-height: 1;
  white-space: nowrap;
}

.r7-unified-source-title {
  color: #f3f4f6;
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: .05em;
}

.r7-unified-source-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding-left: 12px;
  border-left: 1px solid #273342;
}

.r7-unified-source-item b,
.r7-unified-source-item em,
.r7-unified-source-item time {
  font: inherit;
  font-style: normal;
}

body.aph2-theme header.sticky.top-0 .aph-header-status.r7-unified-source-host .r7-unified-source-item b { display: inline !important; color: #f3f4f6 !important; font-size: 12px !important; }
.r7-unified-source-item em { display: inline; color: #9ca3af; font-size: 11px !important; }
.r7-unified-source-item time { color: #f04b4f; font-size: 12px !important; font-variant-numeric: tabular-nums; }
.r7-unified-source-item[data-status="available"] em { color: #86d4ae; }
.r7-unified-source-item[data-status="unavailable"] em { color: #f0b36b; }

.r7-history-unavailable-value {
  color: #89909a !important;
  text-decoration: none !important;
}

.r7-stale-snapshot-panel {
  border-color: rgba(216, 138, 28, .35) !important;
}

.r7-stale-snapshot-note {
  margin-top: 6px;
  color: #f0c27b;
  font-size: 12px;
  line-height: 1.55;
}

@media (max-width: 1180px) {
  .r7-unified-source-title { display: none; }
  .aph-header-status.r7-unified-source-host { max-width: 48vw; }
}

@media (max-width: 760px) {
  .aph-header-status.r7-unified-source-host { display: none !important; }
}
/* 首页指标去重：仅调整展示层级，不改变数据计算、接口或跳转。 */
body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-duplicate {
  display: none !important;
}

@media (min-width: 1024px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-budget {
    grid-column: 1 / span 8 !important;
    grid-row: 2 !important;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: minmax(0, 1fr);
    gap: 10px;
    height: 178px;
    min-width: 0;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-budget > :not(.r8-home-duplicate) {
    min-width: 0;
    min-height: 0;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-budget > :not(.r8-home-duplicate) > .card-soft {
    height: 100% !important;
    min-height: 0 !important;
    padding: 18px 20px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-budget .num.text-xl {
    font-size: 26px !important;
    line-height: 32px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection {
    grid-column: 9 / span 4 !important;
    grid-row: 2 !important;
    height: 178px;
    min-width: 0;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection > .card-soft {
    height: 100% !important;
    min-height: 0 !important;
    gap: 6px !important;
    padding: 13px 18px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection-body {
    gap: 16px !important;
    min-height: 0;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-rate-ring {
    width: 108px !important;
    height: 108px !important;
    min-width: 108px;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-rate-ring .num.text-2xl {
    font-size: 22px !important;
    line-height: 28px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection-details {
    justify-content: center;
    gap: 8px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-period,
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-growth,
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-scope {
    grid-row: 3 !important;
    height: 130px;
    min-width: 0;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-period {
    grid-column: 1 / span 4 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-growth {
    grid-column: 5 / span 4 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-scope {
    grid-column: 9 / span 4 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft {
    height: 100% !important;
    min-height: 0 !important;
    padding: 15px 18px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) .num.text-3xl {
    font-size: clamp(25px, 2.1vw, 31px) !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] > .aph-home-region-grid {
    grid-row: 4 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] > .aph-home-ranking-grid {
    grid-row: 5 !important;
  }
}

@media (max-width: 1023px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-budget {
    grid-template-rows: minmax(118px, auto);
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection > .card-soft {
    min-height: 190px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection-body {
    gap: 18px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-rate-ring {
    width: 116px !important;
    height: 116px !important;
    min-width: 116px;
  }
}

@media (max-width: 640px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-budget {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(2, minmax(112px, auto));
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection-body {
    align-items: center;
    gap: 14px !important;
  }
}
/* 首页经营指标区：按经营阅读顺序形成稳定的三列两行。 */
@media (min-width: 1024px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection {
    grid-column: 1 / span 4 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-budget {
    grid-column: 5 / span 8 !important;
  }
}
/*
 * R10 首页经营指标卡视觉层。
 * 仅调整布局、层级和交互反馈，不改变任何指标值、计算逻辑、接口或跳转。
 */
body.aph2-theme .aph-home-reflow[data-r8-home-layout] {
  --r10-card-radius: 18px;
  --r10-border: rgba(32, 47, 66, 0.1);
  --r10-shadow: 0 10px 30px rgba(45, 57, 72, 0.07), 0 2px 7px rgba(45, 57, 72, 0.04);
  --r10-shadow-hover: 0 16px 38px rgba(45, 57, 72, 0.11), 0 4px 10px rgba(45, 57, 72, 0.05);
  --r10-ink: #303743;
  --r10-muted: #7b8490;
  --r10-accent: #d14f5a;
  --r10-accent-soft: #fff3f4;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout] > .aph-home-kpi-grid {
  gap: 14px !important;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  :is(.r8-home-collection, .r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft,
body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  .r8-home-budget > :not(.r8-home-duplicate) > .card-soft {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid var(--r10-border) !important;
  border-radius: var(--r10-card-radius) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(209, 79, 90, 0.055), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #fbfcfe 100%) !important;
  box-shadow: var(--r10-shadow) !important;
  color: var(--r10-ink);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  :is(.r8-home-collection, .r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft::before,
body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  .r8-home-budget > :not(.r8-home-duplicate) > .card-soft::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--r10-accent), rgba(209, 79, 90, 0.16));
  opacity: 0.8;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  :is(.r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft::before {
  opacity: 0.28;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  :is(.r8-home-collection, .r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft:hover,
body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  .r8-home-budget > :not(.r8-home-duplicate) > .card-soft:hover,
body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  :is(.r8-home-collection, .r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft:focus-within,
body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  .r8-home-budget > :not(.r8-home-duplicate) > .card-soft:focus-within {
  transform: translateY(-2px);
  border-color: rgba(209, 79, 90, 0.2) !important;
  box-shadow: var(--r10-shadow-hover) !important;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  :is(.r8-home-collection, .r8-home-budget, .r8-home-period, .r8-home-growth, .r8-home-scope)
  :is(.num, [class*="font-mono"]) {
  color: var(--r10-ink) !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.035em;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  :is(.r8-home-collection, .r8-home-budget, .r8-home-period, .r8-home-growth, .r8-home-scope)
  :is(.text-gray-400, .text-gray-500, .text-slate-400, .text-slate-500) {
  color: var(--r10-muted) !important;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  :is(.r8-home-collection, .r8-home-budget, .r8-home-period, .r8-home-growth, .r8-home-scope)
  :is(.bg-red-50, .bg-rose-50) {
  border: 1px solid rgba(209, 79, 90, 0.08);
  border-radius: 12px !important;
  background: var(--r10-accent-soft) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  :is(.r8-home-collection, .r8-home-budget, .r8-home-period, .r8-home-growth, .r8-home-scope)
  svg.text-cyan-500,
body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  :is(.r8-home-collection, .r8-home-budget, .r8-home-period, .r8-home-growth, .r8-home-scope)
  svg.text-gray-300 {
  width: 30px !important;
  height: 30px !important;
  padding: 7px;
  border: 1px solid rgba(32, 47, 66, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  color: #8e98a5 !important;
  transition: transform 180ms ease, color 180ms ease, border-color 180ms ease;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout] a:hover svg.text-cyan-500,
body.aph2-theme .aph-home-reflow[data-r8-home-layout] a:focus-visible svg.text-cyan-500 {
  transform: translateX(2px);
  border-color: rgba(209, 79, 90, 0.22);
  color: var(--r10-accent) !important;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection > .card-soft {
  background:
    radial-gradient(circle at 10% 100%, rgba(209, 79, 90, 0.08), transparent 36%),
    linear-gradient(145deg, #ffffff 0%, #fffafb 100%) !important;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-rate-ring {
  filter: drop-shadow(0 7px 14px rgba(209, 79, 90, 0.12));
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection-details {
  color: var(--r10-muted);
}

@media (min-width: 1280px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection {
    grid-column: 1 / span 5 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-budget {
    grid-column: 6 / span 7 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-period {
    grid-column: 1 / span 3 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-growth {
    grid-column: 4 / span 3 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-scope {
    grid-column: 7 / span 6 !important;
  }
}

@media (max-width: 1023px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] > .aph-home-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-collection, .r8-home-budget, .r8-home-period, .r8-home-growth, .r8-home-scope) {
    grid-column: auto !important;
    grid-row: auto !important;
    height: auto !important;
    min-height: 144px;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-budget {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 640px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] > .aph-home-kpi-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-collection, .r8-home-budget, .r8-home-period, .r8-home-growth, .r8-home-scope) {
    grid-column: 1 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-collection, .r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft,
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) > .card-soft {
    border-radius: 15px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .card-soft,
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] svg {
    transition: none !important;
    transform: none !important;
  }
}
/* 首页经营指标区：六张卡按三列两行等宽等高排列，避免信息被裁切。 */
@media (min-width: 1024px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-budget {
    display: contents !important;
    height: auto !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection,
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate),
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) {
    height: 164px;
    min-width: 0;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection {
    grid-column: 1 / span 4 !important;
    grid-row: 2 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :nth-child(2) {
    grid-column: 5 / span 4 !important;
    grid-row: 2 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :nth-child(3) {
    grid-column: 9 / span 4 !important;
    grid-row: 2 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-period {
    grid-column: 1 / span 4 !important;
    grid-row: 3 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-growth {
    grid-column: 5 / span 4 !important;
    grid-row: 3 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-scope {
    grid-column: 9 / span 4 !important;
    grid-row: 3 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection > .card-soft,
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) > .card-soft,
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft {
    height: 100% !important;
    min-height: 0 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection > .card-soft {
    gap: 5px !important;
    padding: 11px 16px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection-body {
    gap: 12px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-rate-ring {
    width: 96px !important;
    height: 96px !important;
    min-width: 96px;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-rate-ring .num.text-2xl {
    font-size: 21px !important;
    line-height: 26px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft {
    gap: 7px !important;
    padding: 16px 18px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft > .text-micro {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
}
/* 首页经营卡：统一标题、数值、尾注和状态符号的节奏与基线。 */
@media (min-width: 1024px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) 20px;
    grid-template-rows: 36px 44px 20px;
    align-content: space-between;
    align-items: start;
    gap: 0 12px !important;
    padding: 16px 18px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft > :first-child {
    display: contents !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft > :first-child > :first-child {
    grid-column: 1 / span 2;
    grid-row: 1;
    align-self: start;
    min-width: 0;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft > :first-child > svg {
    grid-column: 3;
    grid-row: 1;
    align-self: start;
    justify-self: end;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft > :nth-child(2) {
    grid-column: 1 / -1;
    grid-row: 2;
    align-self: center;
    min-height: 44px;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) > .card-soft > .text-micro {
    grid-column: 1 / -1;
    grid-row: 3;
    align-self: end;
    min-height: 20px;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 20px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) .text-sm,
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) .text-xs {
    font-size: 14px !important;
    line-height: 20px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) .num.text-3xl,
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) .num {
    font-size: 36px !important;
    line-height: 44px !important;
    font-weight: 600 !important;
    letter-spacing: -0.035em !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-growth > .card-soft > :nth-child(2) {
    display: flex;
    align-items: baseline;
    gap: 7px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-scope .num > span {
    font-size: 24px !important;
    line-height: 32px !important;
    vertical-align: baseline;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) > .card-soft {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) 20px;
    grid-template-rows: 36px 44px 20px;
    align-content: space-between;
    align-items: start;
    gap: 0 12px !important;
    padding: 16px 18px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) > .card-soft > :first-child {
    display: contents !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) > .card-soft > :first-child > :first-child {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 36px !important;
    height: 36px !important;
    align-self: start;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) > .card-soft > :first-child > :nth-child(2) {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: grid;
    grid-template-rows: 20px 44px;
    align-content: start;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) > .card-soft > svg {
    grid-column: 3;
    grid-row: 1;
    align-self: start;
    justify-self: end;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope)
    [class*="bg-accent"],
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) [class*="bg-accent"] {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope, .r8-home-budget)
    .num > svg,
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-growth > .card-soft > :nth-child(2) > svg {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    transform: translateY(1px);
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection > .card-soft {
    padding: 16px 18px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection > .card-soft > :first-child {
    min-height: 36px;
    align-items: start !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection .text-sm {
    font-size: 14px !important;
    line-height: 20px !important;
  }
}
/* 首页经营指标区：首行与次行共用同一信息层级，收缴率金额横向并列。 */
@media (min-width: 1024px) {
  /* 两张经营卡拆开原有的标题/数值包裹层，让数值落到与第二行一致的基线。 */
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) > .card-soft > :first-child > :first-child {
    grid-row: 1 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) > .card-soft > :first-child > :nth-child(2) {
    display: contents !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) > .card-soft > :first-child > :nth-child(2) > :first-child {
    grid-column: 2;
    grid-row: 1;
    /* 与第二行的图标标题组同样在 36px 标题区垂直居中。 */
    align-self: center;
    min-width: 0;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) > .card-soft > :first-child > :nth-child(2) > :nth-child(2) {
    grid-column: 1 / -1;
    grid-row: 2;
    align-self: center;
    display: inline-flex !important;
    align-items: baseline;
    gap: 7px !important;
    min-height: 44px;
  }

  /* 收缴率卡与其它卡共用标题区；环图下方的两个金额为平行对比，不再纵向堆叠。 */
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection > .card-soft {
    display: grid !important;
    grid-template-rows: 36px minmax(0, 1fr);
    align-content: stretch;
    gap: 4px !important;
    padding: 16px 18px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection-body {
    min-height: 0;
    align-items: center !important;
    gap: 14px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-rate-ring {
    width: 88px !important;
    height: 88px !important;
    min-width: 88px;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection-details {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    column-gap: 16px !important;
    row-gap: 0 !important;
    min-width: 0;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection-details > :not([hidden]) {
    display: grid;
    grid-template-rows: 20px 28px;
    align-content: center;
    min-width: 0;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-collection-details > :not([hidden]) .text-xs {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 20px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-collection-details > :not([hidden]) .num.text-lg {
    font-size: 22px !important;
    line-height: 28px !important;
    letter-spacing: -0.025em !important;
    white-space: nowrap;
  }
}
/* 收缴率卡：左侧呈现结果环，右侧以两行金额明细支撑经营判断。 */
@media (min-width: 1024px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection-body {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr);
    align-items: center !important;
    gap: 14px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection-details {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    align-self: stretch;
    border-left: 1px solid rgba(226, 35, 35, 0.16);
    padding-left: 18px;
    row-gap: 0 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection-details > :not([hidden]) {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    min-height: 0;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-collection-details > :not([hidden]) .text-xs {
    flex: 0 0 auto;
    line-height: 28px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-collection-details > :not([hidden]) .num.text-lg {
    flex: 0 1 auto;
    text-align: right;
  }
}
/* 收缴率卡：正文左右两区严格各占一半，便于先看结果、再读金额。 */
@media (min-width: 1024px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection-body {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-rate-ring {
    justify-self: center;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-collection-details {
    padding-left: 18px;
  }
}
/* 首页六宫格：保留收缴率复合卡，统一其余五张卡的核心数据中轴。 */
@media (min-width: 1024px) {
  /* 年度完成率、累计差额：标题与箭头保持原位，仅居中数值行。 */
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-budget > :not(.r8-home-duplicate) > .card-soft
    > :first-child > :nth-child(2) > :nth-child(2) {
    display: flex !important;
    width: 100%;
    min-width: 0;
    align-items: baseline;
    justify-content: center;
    justify-self: stretch;
    text-align: center;
  }

  /* 同期执行、增幅、经营分组：核心数据在整张卡的内容轴线上居中。 */
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope)
    > .card-soft > :nth-child(2) {
    display: flex !important;
    width: 100%;
    min-width: 0;
    align-items: baseline;
    justify-content: center;
    justify-self: stretch;
    text-align: center;
  }
}
/* 首页经营指标字号：五张居中卡统一主数字节奏，收缴率复合卡保持不变。 */
@media (min-width: 1024px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .aph-home-kpi-grid
    .r8-home-budget > :not(.r8-home-duplicate) .num,
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .aph-home-kpi-grid
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope) .num.text-3xl {
    font-size: 34px !important;
    line-height: 42px !important;
    font-weight: 600 !important;
    letter-spacing: -0.03em !important;
  }

  /* 经营分组中的总数是次级信息，保持同一基线但降低一个层级。 */
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .aph-home-kpi-grid
    .r8-home-scope .num > span {
    font-size: 22px !important;
    line-height: 30px !important;
  }

  /* 达标状态符号随主数字缩放，避免符号比文字显得更重。 */
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .aph-home-kpi-grid
    :is(.r8-home-period, .r8-home-growth, .r8-home-scope, .r8-home-budget)
    .num > svg,
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .aph-home-kpi-grid
    .r8-home-growth > .card-soft > :nth-child(2) > svg {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px;
  }
}
/* 收缴率复合卡：放大左侧环形图，并保持右侧金额区与左右等分结构不变。 */
@media (min-width: 1024px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-collection > .card-soft {
    padding: 10px 18px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-rate-ring {
    width: 100px !important;
    height: 100px !important;
    min-width: 100px;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-rate-ring .num.text-2xl {
    font-size: 24px !important;
    line-height: 30px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-rate-ring .text-micro {
    margin-top: 2px !important;
    font-size: 13px !important;
    line-height: 18px !important;
  }
}
/* 收缴率复合卡：明确当期考核目标，统一环图、标题与金额的视觉层级。 */
body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  .r8-home-collection > .card-soft > :first-child {
  align-items: center !important;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  .r20-collection-target {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  margin-left: auto;
  margin-right: 10px;
  padding: 3px 8px;
  border: 1px solid rgba(226, 35, 35, 0.14);
  border-radius: 6px;
  background: rgba(226, 35, 35, 0.045);
  color: #7d838d;
  font-size: 11px;
  line-height: 16px;
  white-space: nowrap;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  .r20-collection-target strong {
  color: var(--primary);
  font-family: var(--font-num, inherit);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  .r8-home-rate-ring {
  filter: none !important;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  .r8-home-rate-ring svg circle:first-child {
  stroke: #eceff3;
  stroke-width: 12px;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  .r8-home-rate-ring svg circle:last-child {
  stroke-width: 12px;
  stroke-linecap: round;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  .r8-home-rate-ring .num.text-2xl {
  color: #303641 !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.035em !important;
}

body.aph2-theme .aph-home-reflow[data-r8-home-layout]
  .r8-home-rate-ring .text-micro {
  color: #858c96 !important;
  font-weight: 400;
  letter-spacing: 0 !important;
  white-space: nowrap;
}

@media (min-width: 1024px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-collection > .card-soft {
    padding: 10px 18px !important;
    gap: 6px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-collection > .card-soft > :first-child {
    display: grid !important;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto;
    column-gap: 10px;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-collection > .card-soft > :first-child .text-sm {
    color: #666d77 !important;
    font-size: 14px !important;
    font-weight: 500;
    line-height: 20px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r20-collection-target {
    justify-self: end;
    margin: 0;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-rate-ring {
    width: 100px !important;
    height: 100px !important;
    min-width: 100px;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-rate-ring .num.text-2xl {
    font-size: 23px !important;
    font-weight: 600 !important;
    line-height: 29px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-rate-ring .text-micro {
    margin-top: 3px !important;
    font-size: 11.5px !important;
    line-height: 16px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-collection-details {
    align-self: stretch;
    height: 100% !important;
    min-height: 0;
    max-height: 100%;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    padding-left: 20px !important;
    border-left-color: rgba(226, 35, 35, 0.13) !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-collection-details > :not([hidden]) {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) !important;
    align-items: center;
    gap: 12px;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-collection-details > :not([hidden]) .text-xs {
    color: #858c96 !important;
    font-size: 12px !important;
    font-weight: 400;
    line-height: 18px !important;
    grid-column: 1;
    grid-row: 1;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-collection-details > :not([hidden]) .num.text-lg {
    color: #303641 !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 26px !important;
    letter-spacing: -0.025em !important;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    grid-column: 2;
    grid-row: 1;
  }
}

@media (max-width: 640px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r20-collection-target-label {
    display: none;
  }
}
/* 收缴率环内安全区：所有文字必须落在圆环内径之内，不能触碰进度弧。 */
@media (min-width: 1024px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-rate-ring > .absolute.inset-0 {
    width: 70px;
    height: 70px;
    inset: 15px !important;
    overflow: hidden;
    text-align: center;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-rate-ring .num.text-2xl {
    max-width: 70px;
    font-size: 18px !important;
    line-height: 23px !important;
    letter-spacing: -0.045em !important;
    white-space: nowrap;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-rate-ring .text-micro {
    max-width: 70px;
    margin-top: 2px !important;
    font-size: 9px !important;
    line-height: 13px !important;
    letter-spacing: -0.015em !important;
    white-space: nowrap;
  }
}
/*
 * R22 首页核心指标卡平衡层。
 * 只调整标题、主数值和完成率标签的空间关系，不改变指标、接口或跳转。
 */
@media (min-width: 1024px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .r8-home-core > .card-soft {
    gap: 14px !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-core > .card-soft > :first-child {
    align-items: flex-start !important;
    gap: 16px;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-core > .card-soft > :first-child > :first-child {
    flex: 1 1 auto;
    min-width: 0;
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    justify-content: start;
    align-items: center;
    column-gap: 18px;
    row-gap: 8px;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-core > .card-soft > :first-child > :first-child > :first-child {
    grid-column: 1 / -1;
    grid-row: 1;
    margin: 0 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-core > .card-soft > :first-child > :first-child > :nth-child(2) {
    grid-column: 1;
    grid-row: 2;
    align-self: center;
    line-height: 1 !important;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-core > .card-soft > :first-child > :first-child > :nth-child(3) {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    margin: 0 !important;
    white-space: nowrap;
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-core > .card-soft > :first-child > :first-child {
    column-gap: 12px;
  }

  body.aph2-theme .aph-home-reflow[data-r8-home-layout]
    .r8-home-core > .card-soft > :first-child > :first-child > :nth-child(2) {
    font-size: clamp(2.15rem, 4.2vw, 2.8rem) !important;
  }
}
/*
 * R23 经营分组卡数字字号统一层。
 * 只统一“经营分组 / 服务中心数”中的两个数字，不改变数据与卡片结构。
 */
@media (min-width: 1024px) {
  body.aph2-theme .aph-home-reflow[data-r8-home-layout] .aph-home-kpi-grid
    .r8-home-scope .num > span {
    font-size: 34px !important;
    line-height: 42px !important;
    font-weight: 600 !important;
    letter-spacing: -0.03em !important;
  }
}
/* R24 v2 · 其余业务界面密度与空状态收口。仅作用于未验收路由。 */

/* 经营工作台：左右主卡等高，下一步操作不再悬在大块空白上方。 */
body.aph-r24-command .aph-r24-command-overview {
  align-items: stretch;
}

body.aph-r24-command .aph-r24-command-actions {
  min-height: 100% !important;
  padding: 22px !important;
}

body.aph-r24-command .aph-r24-command-actions > :first-child {
  color: #4b5563 !important;
  font-weight: 600;
}

body.aph-r24-command .aph-r24-command-actions > a {
  min-height: 72px;
  padding: 14px 16px !important;
  border: 1px solid #e1e5e9;
  background: #f7f8fa !important;
}

body.aph-r24-command .aph-r24-command-actions > a + a {
  margin-top: 10px;
}

body.aph-r24-command .aph-r24-command-kpis {
  gap: 10px !important;
}

body.aph-r24-command .aph-r24-command-kpis > * {
  min-height: 112px;
  padding: 17px 16px !important;
  border-top: 2px solid #d31f26;
}

/* 项目管理：压缩头图区与指标区，让首屏能够多展示项目明细。 */
body.aph-r24-projects .aph-project-page-head {
  min-height: 118px;
  padding: 18px 24px;
  align-items: center;
}

body.aph-r24-projects .aph-project-page-head h1 {
  margin: 4px 0 5px;
  font-size: 25px !important;
  line-height: 1.25;
}

body.aph-r24-projects .aph-project-page-head p {
  line-height: 1.55;
}

body.aph-r24-projects .aph-project-source {
  align-self: center;
}

body.aph-r24-projects .aph-project-kpis {
  align-items: stretch;
}

body.aph-r24-projects .aph-project-kpis article {
  min-height: 118px;
  padding: 14px 16px;
}

body.aph-r24-projects .aph-project-kpis strong {
  margin: 7px 0 5px;
  font-size: 21px;
}

body.aph-r24-projects .aph-project-kpis [data-r6-mapping-link] {
  min-height: 22px;
  margin-top: 3px;
}

body.aph-r24-projects .aph-project-toolbar {
  padding: 13px 18px;
}

body.aph-r24-projects .aph-project-toolbar select,
body.aph-r24-projects .aph-project-toolbar input {
  height: 34px;
}

/* AI预警：删除无新增信息的二次空状态，单一数据源预警占满可用宽度。 */
body.aph-r24-ai-alerts .aph-r24-redundant-empty,
body.aph-r24-ai-report .aph-r24-redundant-alert {
  display: none !important;
}

body.aph-r24-ai-alerts .aph-r24-alert-source-card {
  margin-top: 0 !important;
  padding: 18px !important;
}

body.aph-r24-ai-alerts .aph-r24-single-source {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.aph-r24-ai-alerts .aph-r24-single-source > :only-child {
  min-height: 96px;
  display: grid;
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr) auto;
  align-items: center;
  gap: 18px;
  padding: 16px 18px !important;
  border-color: #dfe3e8 !important;
  background: #fff !important;
}

body.aph-r24-ai-alerts .aph-r24-single-source > :only-child .text-sm.font-medium {
  color: #303741 !important;
}

body.aph-r24-ai-alerts .aph-r24-alert-empty-table {
  min-height: 150px;
}

body.aph-r24-ai-alerts .aph-r24-alert-empty-table .text-center {
  min-height: 112px;
  display: grid;
  place-items: center;
  padding: 28px !important;
  color: #68717c !important;
}

/* AI月报：门禁仅保留一次，并把筛选、版本、导出动作收成一行。 */
body.aph-r24-ai-report .aph-r24-report-layout {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) auto;
  align-items: center;
  gap: 12px 18px;
}

body.aph-r24-ai-report .aph-r24-report-filter-actions {
  grid-column: 1;
  grid-row: 1;
  margin: 0 !important;
}

body.aph-r24-ai-report .aph-r24-report-mode-actions {
  grid-column: 2;
  grid-row: 1;
  margin: 0 !important;
  align-items: center;
  flex-wrap: wrap;
}

body.aph-r24-ai-report .aph-r24-report-mode-actions .no-print {
  width: auto !important;
}

body.aph-r24-ai-report .aph-r24-report-empty {
  grid-column: 1 / -1;
  margin-top: 2px;
  padding: 30px 34px !important;
}

body.aph-r24-ai-report .aph-r24-report-empty .aph-gate-empty {
  min-height: 116px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px 28px;
  text-align: left;
}

body.aph-r24-ai-report .aph-r24-report-empty .aph-gate-empty strong {
  font-size: 19px;
}

body.aph-r24-ai-report .aph-r24-report-empty .aph-gate-empty p {
  max-width: 980px;
  line-height: 1.75;
}

/* 研发审核：强化卡片边界与正文可读性，不改变现有功能分区。 */
body.aph-r24-review main#main-content .card-soft {
  border-color: #dfe3e8;
  box-shadow: 0 1px 3px rgba(28, 35, 43, .06);
}

body.aph-r24-review main#main-content :where(.text-muted-foreground, .text-slate-500, .text-gray-500) {
  color: #68717c !important;
}

@media (max-width: 1100px) {
  body.aph-r24-ai-report .aph-r24-report-layout {
    grid-template-columns: 1fr;
  }

  body.aph-r24-ai-report .aph-r24-report-filter-actions,
  body.aph-r24-ai-report .aph-r24-report-mode-actions {
    grid-column: 1;
    grid-row: auto;
    justify-content: flex-start !important;
  }

  body.aph-r24-ai-alerts .aph-r24-single-source > :only-child {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

@media (max-width: 640px) {
  body.aph-r24-projects .aph-project-page-head {
    min-height: auto;
    padding: 14px;
  }

  body.aph-r24-projects .aph-project-kpis article {
    min-height: 104px;
  }

  body.aph-r24-command .aph-r24-command-actions {
    min-height: auto !important;
  }

  body.aph-r24-ai-report .aph-r24-report-empty {
    padding: 18px !important;
  }
}
/* R31：统一内容路由只占用驾驶舱工作区，不再生成第二套壳层。 */
@media (min-width: 641px) {
  body.aph2-theme .aph-exact-sidebar-panel a {
    width: 100%;
  }
}

body[data-aph-unified-view] {
  overflow: hidden;
}

body[data-aph-unified-view] #main-content.aph-unified-main-host {
  box-sizing: border-box;
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  margin: 0;
  padding: 108px 14px 12px !important;
  overflow: auto;
  background: #f4f5f8;
}

#aph-arrears-frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #f4f5f8;
}

.aph-system-hub {
  width: min(1480px, 100%);
  min-height: calc(100vh - 120px);
  margin: 0 auto;
  padding: 22px 24px 32px;
  color: #3f4650;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

.aph-system-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 4px 0 22px;
  border-bottom: 2px solid #e60012;
}

.aph-system-eyebrow {
  color: #e60012;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
}

.aph-system-intro h1 {
  margin: 7px 0 8px;
  color: #313842;
  font-size: 28px;
  line-height: 1.2;
}

.aph-system-intro p {
  max-width: 820px;
  margin: 0;
  color: #757e8a;
  font-size: 14px;
  line-height: 1.7;
}

.aph-system-readonly {
  flex: 0 0 auto;
  margin-top: 18px;
  padding: 6px 11px;
  border: 1px solid #d7dce3;
  background: #fff;
  color: #69727f;
  font-size: 12px;
}

.aph-system-entry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.aph-system-entry {
  min-height: 336px;
  display: flex;
  flex-direction: column;
  padding: 26px 28px 24px;
  border: 1px solid #e1e5ea;
  border-top: 3px solid #e60012;
  background: #fff;
  box-shadow: 0 2px 8px rgba(25, 34, 45, .04);
  color: inherit;
  text-decoration: none;
  transition: border-color .14s ease, box-shadow .14s ease, transform .14s ease;
}

.aph-system-entry.is-admin { border-top-color: #26313f; }
.aph-system-entry:hover { border-color: #c8ced6; box-shadow: 0 7px 18px rgba(25, 34, 45, .08); transform: translateY(-1px); }
.aph-system-entry:focus-visible { outline: 2px solid #e60012; outline-offset: -2px; }

.aph-system-entry-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  color: #929aa5;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
}

.aph-system-entry-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  background: #fff0f2;
  color: #e60012;
  font-size: 13px;
  letter-spacing: 0;
}

.is-admin .aph-system-entry-icon { background: #edf1f5; color: #435064; }
.aph-system-entry h2 { margin: 0 0 9px; color: #313946; font-size: 21px; }
.aph-system-entry p { min-height: 48px; margin: 0; color: #747d89; font-size: 13px; line-height: 1.7; }
.aph-system-entry ul { flex: 1; margin: 20px 0 22px; padding: 0; list-style: none; color: #4d5664; font-size: 13px; line-height: 1.9; }
.aph-system-entry li { position: relative; padding-left: 13px; }
.aph-system-entry li::before { content: ""; position: absolute; top: .82em; left: 0; width: 4px; height: 4px; background: #e60012; }
.is-admin li::before { background: #687586; }
.aph-system-entry > strong { height: 42px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; background: #e60012; color: #fff; font-size: 13px; }
.is-admin > strong { border: 1px solid #ccd2da; background: #fff; color: #3d4858; }
.aph-system-entry > strong b { font-size: 19px; font-weight: 500; }

.aph-system-note {
  display: flex;
  gap: 12px;
  margin-top: 20px;
  padding: 14px 16px;
  border-left: 3px solid #e60012;
  background: #fff;
  color: #65707f;
  font-size: 12px;
  line-height: 1.7;
}
.aph-system-note b { color: #3c4552; }

@media (max-width: 820px) {
  .aph-system-hub { padding: 16px 10px 24px; }
  .aph-system-entry-grid { grid-template-columns: 1fr; gap: 14px; }
  .aph-system-entry { min-height: 0; padding: 22px 20px; }
  .aph-system-entry p { min-height: 0; }
}

@media (max-width: 680px) {
  body[data-aph-unified-view] #main-content.aph-unified-main-host { padding: 104px 8px 8px !important; }
  .aph-system-intro { display: block; }
  .aph-system-readonly { display: inline-block; margin-top: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .aph-system-entry { transition: none; }
}
/* R32：后台页复用驾驶舱 APH 顶栏，移除旧壳标题与重复入口。 */
@media (min-width: 641px) {
  body.aph2-theme.aph-admin-page
    #root header.aph-admin-shell-header
    > div:first-child
    > :is(a, span) {
    display: none !important;
  }

  body.aph2-theme.aph-admin-page
    #root header.aph-admin-shell-header
    .aph-header-menu {
    position: fixed !important;
    left: 140px !important;
    top: 0 !important;
    z-index: 72 !important;
    width: 48px !important;
    height: 50px !important;
    min-height: 50px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    background: #000000 !important;
    border: 0 !important;
  }

  body.aph2-theme.aph-admin-page
    #root header.aph-admin-shell-header
    .aph-header-menu img {
    width: 18px !important;
    height: 18px !important;
    object-fit: contain !important;
  }

  body.aph2-theme.aph-admin-page
    #root header.aph-admin-shell-header
    .aph-header-status {
    position: fixed !important;
    left: 50% !important;
    top: 25px !important;
    z-index: 71 !important;
    display: block !important;
    max-width: calc(100vw - 520px) !important;
    transform: translate(-50%, -50%) !important;
    overflow: hidden !important;
    color: #f5f5f5 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
    line-height: 20px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.aph2-theme.aph-admin-page
    #root header.aph-admin-shell-header
    .aph-header-status b {
    color: #ff3b30 !important;
    font-size: inherit !important;
  }
}

@media (max-width: 640px) {
  body.aph2-theme.aph-admin-page
    #root header.aph-admin-shell-header
    > div:first-child
    > :is(a, span) {
    display: none !important;
  }
}
/* R33：系统管理、研发审核和登录页沿用首页的经营层级。 */

/* 只在本轮目标路由恢复清晰的键盘焦点。 */
body.aph-r33-ui-polish :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid #cf001b !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 3px rgba(207, 0, 27, .12) !important;
}

/* 左侧轨道固定 60px，展开面板覆盖正文，不再推动内容和页签。 */
@media (min-width: 641px) {
  body.aph-r33-ui-polish .aph-exact-sidebar,
  body.aph-r33-ui-polish .aph-exact-sidebar:hover,
  body.aph-r33-ui-polish .aph-exact-sidebar.is-hovered,
  body.aph-r33-ui-polish .aph-exact-sidebar.is-expanded {
    flex: 0 0 60px !important;
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
  }

  body.aph-r33-ui-polish .aph-page-tabs,
  body.aph-r33-ui-polish #root > div:has(> .aph-exact-sidebar:hover) .aph-page-tabs,
  body.aph-r33-ui-polish #root > div:has(> .aph-exact-sidebar.is-hovered) .aph-page-tabs,
  body.aph-r33-ui-polish #root > div:has(> .aph-exact-sidebar.is-expanded) .aph-page-tabs {
    left: 60px !important;
  }

  body.aph-r33-ui-polish.aph-admin-page > #root > div,
  body.aph-r33-ui-polish.aph-admin-page > #root > div:has(> .aph-exact-sidebar:hover),
  body.aph-r33-ui-polish.aph-admin-page > #root > div:has(> .aph-exact-sidebar.is-hovered),
  body.aph-r33-ui-polish.aph-admin-page > #root > div:has(> .aph-exact-sidebar.is-expanded) {
    padding-left: 60px !important;
  }
}

/* 系统管理：两种身份入口保持清楚，但不再使用通用模板式眉题和编号。 */
body[data-aph-unified-view="system"] .aph-system-hub {
  width: min(1320px, 100%);
  min-height: 0;
  padding: 24px 26px 30px;
}

body[data-aph-unified-view="system"] .aph-system-intro {
  align-items: center;
  padding: 2px 0 18px;
  border-bottom-width: 1px;
}

body[data-aph-unified-view="system"] .aph-system-eyebrow,
body[data-aph-unified-view="system"] .aph-system-entry-head {
  display: none;
}

body[data-aph-unified-view="system"] .aph-system-intro h1 {
  margin: 0 0 7px;
  font-size: 26px;
  letter-spacing: -.02em;
}

body[data-aph-unified-view="system"] .aph-system-intro p {
  max-width: 72ch;
  color: #626b77;
  line-height: 1.65;
}

body[data-aph-unified-view="system"] .aph-system-readonly {
  margin-top: 0;
  color: #4f5966;
  background: #f7f8fa;
}

body[data-aph-unified-view="system"] .aph-system-entry-grid {
  gap: 16px;
  margin-top: 16px;
}

body[data-aph-unified-view="system"] .aph-system-entry {
  min-height: 260px;
  padding: 22px 24px 20px;
  border-radius: 14px;
  border-top-width: 1px;
  box-shadow: 0 8px 24px rgba(25, 34, 45, .06);
}

body[data-aph-unified-view="system"] .aph-system-entry.is-usage {
  border-color: rgba(207, 0, 27, .22);
  background: linear-gradient(145deg, #fff 0%, #fffafa 100%);
}

body[data-aph-unified-view="system"] .aph-system-entry.is-admin {
  border-color: #d9dee5;
  background: linear-gradient(145deg, #fff 0%, #f8f9fb 100%);
}

body[data-aph-unified-view="system"] .aph-system-entry h2 {
  margin-bottom: 8px;
  font-size: 20px;
  letter-spacing: -.01em;
}

body[data-aph-unified-view="system"] .aph-system-entry p {
  min-height: 44px;
  max-width: 62ch;
  color: #68717d;
  line-height: 1.65;
}

body[data-aph-unified-view="system"] .aph-system-entry ul {
  margin: 15px 0 17px;
  line-height: 1.75;
}

body[data-aph-unified-view="system"] .aph-system-entry > strong {
  height: 40px;
  padding: 0 14px;
  border-radius: 3px;
}

body[data-aph-unified-view="system"] .aph-system-note {
  margin-top: 14px;
  padding: 12px 14px;
  border-left-width: 1px;
  border: 1px solid #e1e5ea;
  background: #fff;
}

/* 研发审核：默认首屏只回答“今天需要处理什么”。 */
body.aph-r24-review .review-workbench-shell {
  gap: 12px !important;
}

body.aph-r24-review .aph-review-workbench-switch {
  position: relative;
  top: auto;
  z-index: 3;
  min-height: 48px;
  margin: 0 0 12px;
  padding: 0 16px;
  gap: 24px;
  border: 1px solid #e1e5ea;
  border-left-width: 1px;
  box-shadow: none;
}

body.aph-r24-review .aph-review-workbench-switch > button {
  min-height: 48px;
  padding: 0 2px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  color: #68717d !important;
  font-size: 13px;
  font-weight: 600;
}

body.aph-r24-review .aph-review-workbench-switch > button[aria-selected="true"] {
  border-bottom-color: #cf001b !important;
  color: #2f3742 !important;
  background: transparent !important;
}

body.aph-r24-review .aph-review-freshness {
  margin-left: auto;
  border: 0;
  background: transparent;
  color: #59636f;
}

body.aph-r24-review .review-workbench-shell[data-review-workbench-mode="today"] .review-workbench-aside {
  display: none !important;
}

body.aph-r24-review .review-workbench-shell[data-review-workbench-mode="today"] .review-workbench-main {
  grid-column: 1 / -1 !important;
}

body.aph-r24-review .review-workbench-shell[data-review-workbench-mode="today"] .aph-review-hero-compact {
  display: none !important;
}

body.aph-r24-review [data-review-task-priority="1"] {
  order: -1;
  border-top: 2px solid #cf001b !important;
}

body.aph-r24-review .review-native-root .review-panel,
body.aph-r24-review .review-native-root .review-workbench-stat-card {
  border-radius: 14px !important;
  border-color: #e1e5ea !important;
  box-shadow: 0 6px 18px rgba(25, 34, 45, .055) !important;
}

body.aph-r24-review .review-native-root .review-workbench-stat-card {
  min-height: 86px !important;
}

body.aph-r24-review .review-native-root .review-workbench-stat-icon {
  width: 42px;
  height: 42px;
  flex-basis: 42px;
  border-radius: 10px !important;
}

body.aph-r24-review .review-native-root :where(.text-slate-400, .text-slate-500, .text-muted-foreground) {
  color: #636c78 !important;
}

body.aph-r24-review .aph-review-ops-groups {
  padding: 10px 0 12px;
}

body.aph-r24-review .aph-review-ops-groups button[aria-selected="true"] {
  background: #cf001b !important;
  border-color: #cf001b !important;
}

/* 驾驶舱登录页：增强品牌、可读性和恢复提示，不改变认证逻辑。 */
body.aph-auth-route.aph-r33-ui-polish {
  background: #f2f3f6 !important;
}

body.aph-auth-route.aph-r33-ui-polish::before {
  content: "APH 2.0  ·  第一服务华北地区经营驾驶舱";
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  height: 50px;
  display: flex;
  align-items: center;
  padding: 0 28px;
  background: #050505;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  display: flex !important;
}

body.aph-auth-route.aph-r33-ui-polish #root > div {
  color: #343c47 !important;
  background: #f2f3f6 !important;
}

body.aph-auth-route.aph-r33-ui-polish #root .card-soft {
  width: min(420px, calc(100vw - 32px));
  padding: 32px 34px !important;
  overflow: hidden;
  border: 1px solid #dde2e8 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px rgba(25, 34, 45, .12) !important;
}

body.aph-auth-route.aph-r33-ui-polish #root main img[alt="第一服务"] {
  width: calc(100% + 68px) !important;
  height: 64px !important;
  margin: -32px -34px 24px !important;
  padding: 14px 0 !important;
  object-fit: contain;
  background: #cf001b;
}

body.aph-auth-route.aph-r33-ui-polish #root .text-muted-foreground {
  color: #606a76 !important;
}

body.aph-auth-route.aph-r33-ui-polish #root input {
  color: #303844 !important;
  background: #fff !important;
  border-color: #cfd5dd !important;
}

body.aph-auth-route.aph-r33-ui-polish #root button[type="submit"] {
  color: #fff !important;
  background: #cf001b !important;
}

body.aph-auth-route.aph-r33-ui-polish #root button[type="submit"]:disabled {
  color: #767f8b !important;
  background: #e4e7eb !important;
  opacity: 1 !important;
}

.aph-r33-login-help {
  margin: 14px 0 0;
  color: #5f6975;
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}

.aph-r33-login-password {
  position: relative;
}

.aph-r33-login-password input {
  padding-right: 42px !important;
}

.aph-r33-password-toggle {
  position: absolute;
  right: 8px;
  bottom: 5px;
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  color: #59636f;
  font-size: 12px;
  cursor: pointer;
}

@media (max-width: 820px) {
  body[data-aph-unified-view="system"] .aph-system-entry {
    min-height: 0;
    border-radius: 12px;
  }
}

@media (max-width: 640px) {
  /* 自定义四项移动导航启用后，隐藏应用自带的第二条横向导航。 */
  body.aph-mobile-nav-ready #root .sticky.top-\[72px\].lg\:hidden {
    display: none !important;
  }
}

/* 项目页保留高密度表格，但正文和状态信息不低于可读字号。 */
body.aph-r24-projects :where(
  .aph-project-page-head p,
  .aph-project-source,
  .aph-project-kpis span,
  .aph-project-kpis small,
  .aph-project-toolbar,
  .aph-project-table,
  table
) {
  font-size: 12px !important;
}

body.aph-r24-projects .aph-project-kpis article {
  min-height: 124px;
}

/* 质量责任入口是操作，不再伪装成没有数值的指标卡。 */
body.aph-r24-command a[href^="/admin"][aria-label*="数据真实性中心"] {
  display: flex !important;
  min-height: 120px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  padding: 18px !important;
  color: #343c47 !important;
  background: #fff !important;
  border: 1px solid #dfe3e8 !important;
  border-left: 3px solid #cf001b !important;
  text-decoration: none !important;
}

body.aph-r24-command a[href^="/admin"][aria-label*="数据真实性中心"]::after {
  content: "查看未闭环事项、责任人与截止日期 →";
  color: #69727e;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}

@media (max-width: 640px) {
  body.aph-r24-review .aph-review-workbench-switch {
    align-items: flex-start;
    padding: 0 12px;
    gap: 16px;
  }

  body.aph-r24-review .aph-review-freshness {
    flex: 1 0 100%;
    padding: 8px 0 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.aph-r33-ui-polish *,
  body.aph-r33-ui-polish *::before,
  body.aph-r33-ui-polish *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
/* R34：frontend-skill 全量审计修复层。只调整表现、语义和路由滚动，不触碰业务数据。 */

body[data-r34-release] {
  --r34-red: #cf001b;
  --r34-text: #343c47;
  --r34-muted: #66717e;
  --r34-line: #dfe3e8;
  --r34-surface: #f4f5f8;
}

/* 桌面导航保持 60px 内容轨道，140px 展开层覆盖正文。 */
@media (min-width: 641px) {
  body[data-r34-route="home"] main#main-content .aph-home-reflow {
    padding-top: 108px !important;
  }

  body[data-r34-release] .aph-exact-sidebar,
  body[data-r34-release] .aph-exact-sidebar:hover,
  body[data-r34-release] .aph-exact-sidebar.is-hovered,
  body[data-r34-release] .aph-exact-sidebar.is-expanded {
    flex: 0 0 60px !important;
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    will-change: auto !important;
    transition: none !important;
  }

  body[data-r34-release] .aph-exact-sidebar-panel {
    width: 60px;
    transition: width .16s cubic-bezier(.2, .7, .2, 1), box-shadow .16s ease !important;
  }

  body[data-r34-release] .aph-exact-sidebar:hover .aph-exact-sidebar-panel,
  body[data-r34-release] .aph-exact-sidebar.is-hovered .aph-exact-sidebar-panel,
  body[data-r34-release] .aph-exact-sidebar.is-expanded .aph-exact-sidebar-panel {
    width: 140px;
  }

  body[data-r34-release] .aph-page-tabs,
  body[data-r34-release] #root > div:has(> .aph-exact-sidebar:hover) .aph-page-tabs,
  body[data-r34-release] #root > div:has(> .aph-exact-sidebar.is-hovered) .aph-page-tabs,
  body[data-r34-release] #root > div:has(> .aph-exact-sidebar.is-expanded) .aph-page-tabs {
    left: 60px !important;
  }

  body[data-r34-release].aph-admin-page > #root > div,
  body[data-r34-release].aph-admin-page > #root > div:has(> .aph-exact-sidebar:hover),
  body[data-r34-release].aph-admin-page > #root > div:has(> .aph-exact-sidebar.is-hovered),
  body[data-r34-release].aph-admin-page > #root > div:has(> .aph-exact-sidebar.is-expanded) {
    padding-left: 60px !important;
  }
}

/* 首页回到经营工作台：品牌是识别带，指标与风险是首屏主角。 */
body[data-r34-route="home"] .aph-business-banner {
  min-height: 150px !important;
  height: 150px !important;
  padding: 16px 24px !important;
  overflow: hidden;
}

body[data-r34-route="home"] .aph-business-banner::before {
  font-size: 108px !important;
  bottom: -22px !important;
}

body[data-r34-route="home"] .aph-home-kpi-grid .card-soft {
  box-shadow: none !important;
  border-color: var(--r34-line) !important;
}

body[data-r34-route="home"] .aph-home-kpi-grid .card-soft:hover,
body[data-r34-route="home"] .aph-home-kpi-grid .card-soft:focus-within {
  transform: none !important;
  border-color: #c9cfd7 !important;
  box-shadow: inset 0 2px var(--r34-red) !important;
}

/* 真实性门禁只保留一个状态区，不再堆叠多个未知指标卡。 */
.aph-r34-truth-summary {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-height: 76px;
  padding: 16px 18px;
  border: 1px solid #e7c77f;
  border-left: 3px solid #c77a00;
  background: #fffaf0;
  color: var(--r34-text);
}

.aph-r34-truth-summary strong { font-size: 15px; }
.aph-r34-truth-summary p { margin: 0; color: var(--r34-muted); font-size: 13px; line-height: 1.6; }
[data-r34-collapsed-truth-card="1"] { display: none !important; }

.aph-r34-tasks-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 auto 12px;
  padding: 10px 14px;
  border-left: 3px solid var(--r34-red);
  background: #fff;
  color: var(--r34-text);
  font-size: 13px;
}

.aph-r34-tasks-notice span { color: var(--r34-muted); }

/* 静态卡片和表格不使用装饰性动画，保留页面、侧栏和抽屉三类反馈。 */
body[data-r34-release] main :where(.card-soft, article, th, td, [data-aph-truth-state]) {
  animation: none !important;
  transition: none !important;
}

@keyframes aph-r34-enter {
  from { opacity: .72; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

body[data-r34-release] #main-content.aph-r34-route-enter {
  animation: aph-r34-enter .18s ease-out both !important;
}

@keyframes aph-r34-drawer {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

body[data-r34-release] .aph-mobile-more-drawer:not([hidden]) {
  animation: aph-r34-drawer .16s ease-out both;
}

@media (max-width: 640px) {
  /* 自定义移动主导航启用后，原应用的第二条横向导航必须退出布局。 */
  body[data-r34-release].aph-mobile-nav-ready #root .sticky.top-\[72px\].lg\:hidden {
    display: none !important;
  }

  body[data-r34-release] .aph-header-menu,
  body[data-r34-release] header button[aria-label="账号菜单"] {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  body[data-r34-release]:not([data-aph-unified-view]) main#main-content {
    padding-top: 20px !important;
  }

  body[data-r34-route="home"] .aph-business-banner {
    min-height: 124px !important;
    height: 124px !important;
    padding: 16px !important;
  }

  body[data-r34-route="home"] main#main-content .aph-home-reflow {
    padding-top: 64px !important;
  }

  body[data-r34-route="home"] .aph-business-banner::before {
    font-size: 74px !important;
    bottom: -16px !important;
  }

  body[data-r34-route="home"] .aph-business-banner .aph-banner-copy h1 {
    font-size: 20px !important;
  }

  body[data-r34-route="home"] .aph-home-kpi-grid {
    gap: 10px !important;
  }

  body[data-r34-route="review"] .aph-review-workbench-switch,
  body[data-r34-route="review"] .review-workbench-shell,
  body[data-r34-route="review"] .review-native-root {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body[data-r34-route="review"] .review-workbench-shell:has(> .aph-review-hero-compact:only-child),
  body[data-r34-route="review"] .aph-review-hero-compact {
    display: none !important;
  }

  .aph-r34-truth-summary {
    grid-template-columns: 1fr;
    gap: 5px;
    min-height: 0;
    padding: 14px;
  }

  .aph-r34-tasks-notice {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  /* 后台表格改为字段名 + 值的摘要行，避免桌面列被硬压进窄屏。 */
  body[data-r34-route="admin"] table[data-r34-responsive-table="1"] {
    width: 100% !important;
    min-width: 0 !important;
    display: block !important;
  }

  body[data-r34-route="admin"] table[data-r34-responsive-table="1"] thead {
    display: none !important;
  }

  body[data-r34-route="admin"] table[data-r34-responsive-table="1"] tbody,
  body[data-r34-route="admin"] table[data-r34-responsive-table="1"] tr {
    width: 100%;
    display: block !important;
  }

  body[data-r34-route="admin"] table[data-r34-responsive-table="1"] tr {
    margin-bottom: 10px;
    padding: 10px 12px;
    border: 1px solid var(--r34-line);
    border-left: 3px solid var(--r34-red);
    background: #fff;
  }

  body[data-r34-route="admin"] table[data-r34-responsive-table="1"] td {
    width: 100% !important;
    min-height: 36px;
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 7px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f3 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  body[data-r34-route="admin"] table[data-r34-responsive-table="1"] td:last-child {
    border-bottom: 0 !important;
  }

  body[data-r34-route="admin"] table[data-r34-responsive-table="1"] td::before {
    content: attr(data-r34-label);
    color: var(--r34-muted);
    font-size: 12px;
    font-weight: 600;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-r34-release] *,
  body[data-r34-release] *::before,
  body[data-r34-release] *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    transition-delay: 0s !important;
  }
}
/* R42：frontend-skill 全量排查最终收口。仅调整壳层、信息密度和渐进展开。 */

body[data-r42-release] {
  --r42-red: #cf001b;
  --r42-text: #343c47;
  --r42-muted: #66717e;
  --r42-line: #dfe3e8;
  --r42-soft: #f6f7f9;
}

.aph-r42-expand {
  width: 100%;
  min-height: 44px;
  margin-top: 12px;
  border: 1px solid var(--r42-line);
  border-radius: 6px;
  background: #fff;
  color: var(--r42-text);
  font-size: 13px;
  font-weight: 600;
}

.aph-r42-expand:focus-visible {
  outline: 2px solid var(--r42-red);
  outline-offset: 2px;
}

@media (min-width: 641px) {
  /* 首页首屏回到紧凑经营节奏，不再保留一整段无内容留白。 */
  body[data-r42-route="home"] main#main-content .aph-home-reflow {
    padding-top: 36px !important;
  }
}

@media (max-width: 640px) {
  /* 自定义移动导航占据 50–102px；受影响路由正文从其下方开始。 */
  body[data-r42-release][data-r42-route="projects"] main#main-content,
  body[data-r42-release][data-r42-route="import"] main#main-content,
  body[data-r42-release][data-r42-route="ai-alerts"] main#main-content,
  body[data-r42-release][data-r42-route="ai-report"] main#main-content,
  body[data-r42-release][data-r42-route="review"] main#main-content,
  body[data-r42-release][data-r42-route="daily"] main#main-content,
  body[data-r42-release][data-r42-route="payment"] main#main-content {
    padding-top: 64px !important;
  }

  /* 项目概览由卡片阵列改为可扫读的标签、数字、说明三段式列表。 */
  body[data-r42-route="projects"] .aph-project-kpis {
    display: block !important;
    border-top: 1px solid var(--r42-line);
  }

  body[data-r42-route="projects"] .aph-project-kpis article {
    min-height: 0 !important;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "label value"
      "note note"
      "link link";
    align-items: baseline;
    gap: 3px 12px;
    padding: 8px 2px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--r42-line) !important;
    background: transparent !important;
  }

  body[data-r42-route="projects"] .aph-project-kpis article > span {
    grid-area: label;
    color: var(--r42-text) !important;
    font-size: 13px !important;
    font-weight: 600;
  }

  body[data-r42-route="projects"] .aph-project-kpis article > strong {
    grid-area: value;
    margin: 0 !important;
    color: var(--r42-text) !important;
    font-size: 18px !important;
    text-align: right;
  }

  body[data-r42-route="projects"] .aph-project-kpis article > small {
    grid-area: note;
    font-size: 11px !important;
  }

  body[data-r42-route="projects"] .aph-project-kpis [data-r6-mapping-link] {
    grid-area: link;
    min-height: 28px;
    margin-top: 2px;
  }

  /* 下一步操作使用扁平动作列表，避免卡片套卡片。 */
  body[data-r42-route="command"] .aph-r24-command-actions {
    min-height: 0 !important;
    padding: 16px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--r42-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    gap: 0 !important;
  }

  body[data-r42-route="command"] .aph-r24-command-actions > :first-child {
    padding: 0 2px 10px;
  }

  body[data-r42-route="command"] .aph-r24-command-actions > a {
    min-height: 58px;
    margin: 0 !important;
    padding: 10px 2px !important;
    border: 0 !important;
    border-top: 1px solid var(--r42-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  /* AI 门禁保留一份事实状态，移除卡片套卡片和重复徽章。 */
  body[data-r42-route="ai-alerts"] .aph-real-data-scope,
  body[data-r42-route="ai-report"] .aph-real-data-scope {
    gap: 7px !important;
    padding: 12px 13px !important;
    border: 0 !important;
    border-left: 3px solid var(--r42-red) !important;
    background: var(--r42-soft) !important;
  }

  body[data-r42-route="ai-alerts"] .aph-real-data-scope .aph-truth-gate,
  body[data-r42-route="ai-report"] .aph-real-data-scope .aph-truth-gate {
    width: 100%;
    gap: 0;
    margin: 0;
    padding: 0 0 8px;
    border: 0;
    border-bottom: 1px solid var(--r42-line);
    background: transparent;
    box-shadow: none;
  }

  body[data-r42-route="ai-alerts"] .aph-real-data-scope .aph-truth-gate > span,
  body[data-r42-route="ai-report"] .aph-real-data-scope .aph-truth-gate > span {
    display: none;
  }

  body[data-r42-route="ai-alerts"] .aph-r34-truth-summary,
  body[data-r42-route="ai-report"] .aph-r34-truth-summary {
    padding: 11px 13px;
    border: 0;
    border-left: 3px solid #c77a00;
    background: #fffaf0;
  }

  /* 后台业务域使用两列明确触控区；辅助说明独占一行。 */
  body[data-r42-route="admin"] .aph-r42-admin-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px !important;
    padding: 14px !important;
    overflow: visible !important;
    margin-top: 46px !important;
  }

  body[data-r42-route="admin"] .aph-r42-admin-tabs > button {
    width: 100%;
    min-height: 44px;
    height: auto !important;
    padding: 8px 10px !important;
    border: 1px solid var(--r42-line);
    white-space: normal;
  }

  body[data-r42-route="admin"] .aph-r42-admin-tabs > span {
    grid-column: 1 / -1;
    margin: 2px 0 0 !important;
    text-align: left;
    white-space: normal;
  }

  body[data-r42-route="admin"] .aph-r42-admin-toggle {
    margin: 2px 0 14px;
  }

  body[data-r42-route="admin"] .table-scroll > .aph-admin-safety-toolbar {
    position: static !important;
    margin: 0 0 10px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-r42-release] *,
  body[data-r42-release] *::before,
  body[data-r42-release] *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}
/* R43 v2 · Impeccable Operate 精修层：统一字体、语义色、空间节奏与交互反馈。 */

body.aph2-theme {
  --background: #f3f5f7;
  --foreground: #2f3742;
  --card: #ffffff;
  --card-foreground: #2f3742;
  --primary: #d71920;
  --primary-foreground: #ffffff;
  --secondary: #eef1f4;
  --secondary-foreground: #424c59;
  --muted: #eef1f4;
  --muted-foreground: #66717e;
  --accent: #fff1f2;
  --accent-foreground: #b8101a;
  --border: #dfe3e8;
  --input: #ffffff;
  --ring: #d71920;
  --success: #1f7a4d;
  --danger: #b42318;
  --warning: #9a6700;
  --r43-ease-out: cubic-bezier(.16, 1, .3, 1);
  background: var(--background);
  color: var(--foreground);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.aph2-theme :where(button, input, select, textarea) {
  font: inherit;
}

body.aph2-theme :where(.num, [class*="font-mono"]) {
  font-family: inherit !important;
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
  letter-spacing: -.01em;
}

body.aph2-theme main :where(h1, h2, h3) {
  color: #28313c;
  text-wrap: balance;
}

body.aph2-theme main h1 {
  font-size: clamp(1.35rem, 1.05rem + .55vw, 1.75rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;
}

body.aph2-theme main h2 {
  font-size: clamp(1.05rem, .98rem + .22vw, 1.2rem);
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -.015em;
}

body.aph2-theme main h3 {
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: -.01em;
}

body.aph2-theme main :where(p, li, td, label) {
  line-height: 1.62;
}

body.aph2-theme main :where(.text-muted-foreground, .text-slate-400, .text-slate-500, [class*="text-slate-"]) {
  color: #66717e !important;
}

body.aph2-theme :where(input, textarea)::placeholder {
  color: #6b7480 !important;
  opacity: 1;
}

/* 工作区使用稳定的 12/18/24 空间节奏，宽屏不再出现孤立大空带。 */
@media (min-width: 641px) {
  body[data-r42-route="home"] main#main-content .aph-home-reflow {
    padding-top: 18px !important;
  }

  body.aph2-theme main#main-content:not(.aph-unified-main-host) {
    padding-right: 18px !important;
    padding-bottom: 30px !important;
    padding-left: 18px !important;
  }

  body.aph2-theme main#main-content > div {
    max-width: 1600px !important;
    margin-inline: auto;
  }
}

/* 品牌锚点回到 APH 黑、白、红，不让经营首页出现额外色彩体系。 */
body[data-r42-route="home"] .aph-business-banner {
  border: 1px solid #232a32 !important;
  background: #13171c !important;
  box-shadow: 0 10px 28px rgba(15, 23, 32, .12) !important;
}

body[data-r42-route="home"] .aph-business-banner::after {
  width: 1px !important;
  height: auto !important;
  inset: 18px 18px 18px auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, .16);
}

body[data-r42-route="home"] .aph-business-banner :where(p, small) {
  color: #d8dde3 !important;
}

body[data-r42-route="admin"] > #root > div > header {
  background: #050505 !important;
  border-color: #252a31 !important;
}

/* 普通信息区依赖排版和分隔线；只有可交互表面获得反馈。 */
body.aph2-theme main :where(.card-soft, article, [class*="rounded-"][class*="border"]) {
  border-color: var(--border) !important;
  box-shadow: none !important;
}

body.aph2-theme main :where(.card-soft, article):not(a):not(button):hover {
  transform: none !important;
  box-shadow: none !important;
}

body.aph2-theme main :where(a.card-soft, a.card-link, button.card-soft, [role="button"].card-soft) {
  transition: border-color .16s var(--r43-ease-out), background-color .16s var(--r43-ease-out), color .16s var(--r43-ease-out) !important;
}

body.aph2-theme main :where(a.card-soft, a.card-link, button.card-soft, [role="button"].card-soft):hover {
  border-color: #b8c0ca !important;
  background-color: #fbfcfd !important;
  box-shadow: none !important;
  transform: none !important;
}

body.aph2-theme :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--ring) !important;
  outline-offset: 3px !important;
}

body.aph2-theme :where(button, input, select, textarea):disabled {
  cursor: not-allowed;
  opacity: .56;
}

body.aph2-theme main :where(input, select, textarea) {
  min-height: 40px;
  border-color: #cbd2da !important;
  box-shadow: none !important;
  transition: border-color .14s ease, box-shadow .14s ease !important;
}

body.aph2-theme main :where(input, select, textarea):focus {
  border-color: var(--ring) !important;
  box-shadow: 0 0 0 3px rgba(215, 25, 32, .12) !important;
}

/* 状态颜色满足浅色背景下的可读性，并继续用文字说明而非只依赖颜色。 */
body.aph2-theme main :where(.text-emerald-300, .text-emerald-400, .text-green-400, [class*="text-[var(--success)]"]) {
  color: var(--success) !important;
}

body.aph2-theme main :where(.text-red-300, .text-red-400, [class*="text-[var(--danger)]"]) {
  color: var(--danger) !important;
}

body.aph2-theme main :where(.text-amber-300, .text-amber-400, .text-yellow-400) {
  color: var(--warning) !important;
}

body.aph2-theme main [class*="bg-emerald"] { background-color: #eaf6ef !important; }
body.aph2-theme main [class*="bg-red"] { background-color: #fff0ef !important; }
body.aph2-theme main :where([class*="bg-amber"], [class*="bg-yellow"]) { background-color: #fff7e6 !important; }

/* 表格强调列关系和行扫描，不用阴影或悬浮位移。 */
body.aph2-theme main table {
  color: var(--foreground);
}

body.aph2-theme main thead {
  background: #f7f8fa !important;
}

body.aph2-theme main th {
  height: 42px;
  color: #596574 !important;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .01em;
}

body.aph2-theme main td {
  color: #35404d;
}

body.aph2-theme main tbody tr {
  transition: background-color .12s ease !important;
}

body.aph2-theme main tbody tr:hover {
  background: #f8f9fb !important;
}

/* 消除未发布修复层中的粗色边；状态依靠背景、标题与一像素语义线。 */
body[data-r42-route] .aph-real-data-scope,
body[data-r42-route] .aph-r34-truth-summary,
body[data-r42-route="admin"] .aph-r36-admin-heading,
body[data-r42-route="admin"] .aph-admin-safety-toolbar {
  border-left-width: 1px !important;
}

/* 一次路由进入、一处抽屉展开、一类导航反馈，避免整页组件轮番动画。 */
@keyframes aph-r43-route-enter {
  from { opacity: .82; transform: translateY(5px); clip-path: inset(0 0 7px 0); }
  to { opacity: 1; transform: translateY(0); clip-path: inset(0); }
}

body[data-r42-release] #main-content.aph-r34-route-enter {
  animation: aph-r43-route-enter .24s var(--r43-ease-out) both !important;
}

body[data-r42-release] .aph-mobile-more-drawer:not([hidden]) {
  animation: aph-r43-route-enter .2s var(--r43-ease-out) both !important;
}

body[data-r42-release] .aph-exact-sidebar-panel {
  transition: box-shadow .18s var(--r43-ease-out) !important;
}

body[data-r42-release] .aph-exact-sidebar :where(a, button),
body[data-r42-release] .aph-mobile-primary-nav :where(a, button),
body[data-r42-release] .aph-page-tabs :where(a, button) {
  transition: color .14s ease, background-color .14s ease, border-color .14s ease !important;
}

@media (max-width: 640px) {
  body.aph2-theme {
    font-size: 13px;
  }

  body.aph2-theme main#main-content:not(.aph-unified-main-host) {
    padding-right: 12px !important;
    padding-bottom: 24px !important;
    padding-left: 12px !important;
  }

  body[data-r42-route="home"] .aph-business-banner {
    box-shadow: 0 6px 18px rgba(15, 23, 32, .1) !important;
  }

  body.aph2-theme main th { height: 40px; }

  body[data-r42-route="admin"] .aph-r42-admin-tabs > button:not([aria-selected="true"]) {
    color: #596574 !important;
    background: #ffffff !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-r42-release] *,
  body[data-r42-release] *::before,
  body[data-r42-release] *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
/* R44：窄桌面侧栏展开安全区 + 刷新页签行为修复。 */

@media (min-width: 641px) and (max-width: 1759px) {
  body[data-r42-route="home"]
    #root > div:has(> .aph-exact-sidebar:hover)
    main#main-content,
  body[data-r42-route="home"]
    #root > div:has(> .aph-exact-sidebar.is-hovered)
    main#main-content,
  body[data-r42-route="home"]
    #root > div:has(> .aph-exact-sidebar.is-expanded)
    main#main-content {
    padding-left: 98px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-r44-release] *,
  html[data-r44-release] *::before,
  html[data-r44-release] *::after {
    transition-duration: .01ms !important;
  }
}
/* R45：云端全量复验收口。只改路由身份、语义、触控和渐进展开，不改业务数据。 */

body[data-r45-release] {
  --r45-red: #cf001b;
  --r45-text: #343c47;
  --r45-muted: #66717e;
  --r45-line: #dfe3e8;
  --r45-warning: #fff8e8;
}

.aph-r45-route-intro {
  margin: 0 0 16px;
  padding: 2px 0 14px;
  border-bottom: 1px solid var(--r45-line);
}

.aph-r45-route-intro h1 {
  margin: 0;
  color: var(--r45-text);
  font-size: 24px;
  font-weight: 650;
  letter-spacing: -.02em;
}

.aph-r45-route-intro p {
  margin: 6px 0 0;
  color: var(--r45-muted);
  font-size: 13px;
  line-height: 1.6;
}

.aph-r45-project-gate {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px 16px;
  margin: 0 0 16px;
  padding: 12px 14px;
  border-left: 3px solid #c77a00;
  background: var(--r45-warning);
  color: var(--r45-text);
}

.aph-r45-project-gate strong { font-size: 14px; }
.aph-r45-project-gate p { margin: 0; color: var(--r45-muted); font-size: 12px; line-height: 1.55; }
.aph-r45-project-gate a { color: var(--r45-red); font-size: 12px; font-weight: 600; }

@media (max-width: 640px) {
  /* R34 的 display:block!important 曾覆盖 HTML hidden；后置恢复真实折叠。 */
  body[data-r45-route="admin"] table[data-r34-responsive-table="1"] tbody tr[hidden] {
    display: none !important;
  }

  body[data-r45-release].aph2-theme:not(.aph-admin-page) #root header.sticky.top-0 button[aria-label="账号菜单"] {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  body[data-r45-release].aph2-theme .north-ai-assistant .north-ai-close {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  body[data-r45-route="projects"] main :is(select, input:not([type="checkbox"]):not([type="radio"])),
  body[data-r45-route="payment"] main select,
  body[data-r45-route="daily"] main select,
  body[data-r45-route="collection"] main select,
  body[data-r45-route="ai-alerts"] main select,
  body[data-r45-route="ai-report"] main select {
    height: 44px !important;
    min-height: 44px !important;
  }

  body[data-r45-release] .r6-sort-button,
  body[data-r45-release] .aph-r45-touch-target,
  body[data-r45-release] .aph-r45-touch-action {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  body[data-r45-route="projects"] [data-r6-mapping-link],
  body[data-r45-route="projects"] a[href^="/admin/#mappings"] {
    display: flex !important;
    align-items: center;
    min-height: 44px !important;
  }

  body[data-r45-route="review"] button[aria-label^="查看方案："],
  body[data-r45-route="import"] .aph-r45-touch-action {
    min-width: 44px !important;
    min-height: 44px !important;
    padding-right: 8px !important;
    padding-left: 8px !important;
  }

  .aph-r45-route-intro h1 { font-size: 20px; }

  .aph-r45-project-gate {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .aph-r45-project-gate a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-r45-release] *,
  body[data-r45-release] *::before,
  body[data-r45-release] *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}
/* R48：首页红底横幅、桌面首行空白与年度居中修复。 */

body[data-r42-route="home"] .aph-business-banner {
  border-color: #bd101c !important;
  background: #d71920 !important;
  box-shadow: 0 8px 22px rgba(145, 0, 18, .14) !important;
}

body[data-r42-route="home"] .aph-business-banner::before {
  color: rgba(255, 255, 255, .2) !important;
  text-shadow: none !important;
}

body[data-r42-route="home"] .aph-business-banner :where(p, h2, time) {
  color: #ffffff !important;
}

body[data-r42-route="home"] .aph-business-banner .aph-banner-copy h1 {
  color: #fff3d2 !important;
  text-shadow: 0 2px 0 rgba(113, 0, 14, .34) !important;
}

@media (min-width: 641px) {
  /* 标题组和 2026 共用横幅几何中心，不再因左右不对称偏移。 */
  body[data-r42-route="home"] .aph-home-visual .aph-banner-copy {
    left: 156px !important;
    right: 156px !important;
  }

  body[data-r42-route="home"] .aph-business-banner::before {
    top: 62px !important;
    bottom: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

@media (min-width: 1024px) {
  /* 右侧核心指标将首行撑到 218px，横幅同高即消除 68px 行内空白。 */
  body[data-r42-route="home"] .aph-home-reflow > .aph-home-visual {
    min-height: 218px !important;
    height: 218px !important;
  }
}

@media (max-width: 640px) {
  body[data-r42-route="home"] .aph-business-banner .aph-banner-copy {
    justify-self: stretch !important;
    text-align: center !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-r42-route="home"] .aph-business-banner,
  body[data-r42-route="home"] .aph-business-banner * {
    animation: none !important;
    transition: none !important;
  }
}
/* R49：首页横幅年度从背景层移入标题内容流，固定在经营提效副标题下方。 */

body[data-r42-route="home"] .aph-business-banner::before {
  content: none !important;
}

body[data-r42-route="home"] .aph-business-banner .aph-banner-copy::after {
  content: "2026";
  display: block;
  margin-top: 7px;
  color: rgba(255, 255, 255, .22);
  font-size: 60px;
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.04em;
  text-align: center;
  text-shadow: none;
  pointer-events: none;
}

@media (min-width: 641px) and (max-width: 1023px) {
  body[data-r42-route="home"] .aph-home-reflow > .aph-home-visual {
    min-height: 190px !important;
    height: 190px !important;
  }

  body[data-r42-route="home"] .aph-business-banner .aph-banner-copy::after {
    font-size: 50px;
  }
}

@media (max-width: 640px) {
  body[data-r42-route="home"] .aph-home-reflow > .aph-home-visual {
    min-height: 150px !important;
    height: 150px !important;
  }

  body[data-r42-route="home"] .aph-business-banner .aph-banner-copy::after {
    margin-top: 6px;
    font-size: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-r42-route="home"] .aph-business-banner .aph-banner-copy::after {
    animation: none !important;
    transition: none !important;
  }
}
/* R45 公共无障碍层：只修复隐藏状态、公共语义和 WCAG 2.2 AA 对比度。 */

body.aph2-theme {
  --muted-foreground: #596574;
  --success: #1a6b43;
  --danger: #a81d18;
  --warning: #805300;
}

/* 隐藏的 AI 助手必须同时退出视觉、指针和键盘序列。 */
#north-ai-assistant .north-ai-overlay[aria-hidden="true"] {
  display: none !important;
}

#north-ai-assistant .north-ai-overlay[aria-hidden="false"].is-open {
  display: flex !important;
}

/* 浅色工作区的弱化文字统一到 AA 安全色。 */
body.aph2-theme main .text-muted-foreground,
body.aph2-theme main .text-slate-400,
body.aph2-theme main .text-slate-500,
body.aph2-theme main .text-slate-600 {
  color: #596574 !important;
  -webkit-text-fill-color: #596574 !important;
}

body.aph2-theme main .text-foreground {
  color: #35404d !important;
  -webkit-text-fill-color: #35404d !important;
}

body.aph2-theme main .text-primary {
  color: #b8101a !important;
  -webkit-text-fill-color: #b8101a !important;
}

body.aph2-theme main .text-emerald-200,
body.aph2-theme main .text-emerald-300,
body.aph2-theme main .text-emerald-400,
body.aph2-theme main .text-green-400,
body.aph2-theme main [class*="text-[var(--success)]"] {
  color: #1a6b43 !important;
  -webkit-text-fill-color: #1a6b43 !important;
}

body.aph2-theme main .text-amber-300,
body.aph2-theme main .text-amber-400,
body.aph2-theme main .text-yellow-400 {
  color: #805300 !important;
  -webkit-text-fill-color: #805300 !important;
}

body.aph2-theme main .text-red-300,
body.aph2-theme main .text-red-400 {
  color: #a81d18 !important;
  -webkit-text-fill-color: #a81d18 !important;
}

/* 旧工具类的 hover 白字在静态浅色底上不可读；常态使用正文安全色。 */
body.aph2-theme main .text-slate-300 {
  color: #596574 !important;
  -webkit-text-fill-color: #596574 !important;
}

/* 异步数据刷新会重新触发 fadeInUp；锁定前景不透明度，避免动画中途暂时跌破 AA。 */
body.aph2-theme main .animate-in {
  opacity: 1 !important;
}

/* 选中态必须同时锁定前景和背景，避免透明工具类继承浅色。 */
body.aph2-theme main :where(button, a).bg-primary,
body.aph2-theme main :where(button, a)[aria-pressed="true"].bg-primary {
  background-color: #b8101a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

/* 表尾合计与状态列可能使用半透明强调底，改用更深前景。 */
body.aph2-theme main tr.border-t-2 td.text-muted-foreground {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.aph2-theme main .data-table tfoot td[class*="text-[var(--success)]"] {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.aph2-theme main .data-table tbody td[class*="text-[var(--success)]"] {
  color: #155936 !important;
  -webkit-text-fill-color: #155936 !important;
}

/* AI 预警旧卡片仍带深色主题前景/表头底，统一回浅色工作区。 */
body[data-r42-route="ai-alerts"].aph2-theme main .bg-card\/35 {
  background-color: #ffffff !important;
  color: #35404d !important;
  -webkit-text-fill-color: #35404d !important;
}

body[data-r42-route="ai-alerts"].aph2-theme main table thead,
body[data-r42-route="ai-alerts"].aph2-theme main table th {
  background-color: #f7f8fa !important;
  color: #46515e !important;
  -webkit-text-fill-color: #46515e !important;
}

/* 上传区的旧深色主题前景色在白色卡片上失效，回到工作区正文色。 */
body[data-r42-route="import"].aph2-theme main .card-soft {
  color: #35404d !important;
  -webkit-text-fill-color: initial;
}

/* 黑色顶栏需要反向的高对比度次要文字。 */
body.aph2-theme header .text-muted-foreground,
body.aph2-theme header .text-slate-400,
body.aph2-theme header .text-slate-500 {
  color: #aeb7c2 !important;
  -webkit-text-fill-color: #aeb7c2 !important;
}

/* 页签实际是页面导航，未选项在白底上也必须清晰。 */
body.aph2-theme .aph-route-tab:not(.is-active),
body.aph2-theme .aph-route-tab-close {
  color: #596574 !important;
  -webkit-text-fill-color: #596574 !important;
}

body.aph2-theme .aph-route-tab.is-active {
  color: #343c47 !important;
  -webkit-text-fill-color: #343c47 !important;
}

/* review 的两个顶层视图是切换按钮组，保留现有视觉反馈。 */
body.aph2-theme .aph-review-workbench-switch > button[aria-pressed="true"] {
  border-color: #cf001b !important;
  background: #cf001b !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* 首页品牌区的红底使用不透明白字，避免抗锯齿混色低于 AA。 */
body[data-r42-route="home"] .aph-business-banner :where(p, h2, time),
body[data-r42-route="home"] .aph-business-banner .text-muted-foreground,
body[data-r42-route="home"] .aph-business-banner .text-slate-400,
body[data-r42-route="home"] .aph-business-banner .text-slate-500 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

[data-r45-a11y="scroll-region"]:focus-visible {
  outline: 2px solid #cf001b !important;
  outline-offset: 3px !important;
}
/* R46：后台可访问性与编辑可用性修复层，不触碰业务数据。 */

body[data-r46-admin-accessibility] {
  --r46-admin-text: #343c47;
  --r46-admin-muted: #596574;
  --r46-admin-line: #d9dee5;
  --r46-admin-focus: #b80018;
}

body[data-r46-admin-accessibility] .text-muted-foreground,
body[data-r46-admin-accessibility] .aph-r36-admin-heading p,
body[data-r46-admin-accessibility] .aph-r42-admin-tabs > span {
  color: var(--r46-admin-muted) !important;
}

body[data-r46-admin-accessibility] .text-yellow-300,
body[data-r46-admin-accessibility] .text-yellow-400 {
  color: #704800 !important;
}

/* R34 桌面表头残留深红底，白色小字只有 3.13:1；统一为浅色表头。 */
body[data-r46-admin-accessibility] table thead,
body[data-r46-admin-accessibility] table thead tr,
body[data-r46-admin-accessibility] table thead th {
  background: #f7f8fa !important;
  color: #46515e !important;
  -webkit-text-fill-color: #46515e !important;
}

/* 后台原组件的 card token 仍指向深色底，与当前浅色运营表面冲突。 */
body[data-r46-admin-accessibility] .card-soft,
body[data-r46-admin-accessibility] .table-card {
  background: #fff !important;
  color: var(--r46-admin-text) !important;
}

body[data-r46-admin-accessibility] :where(
  [class*="bg-card/"],
  [class*="bg-secondary/"],
  thead,
  thead tr
) {
  background: #f3f5f7 !important;
}

body[data-r46-admin-accessibility] .text-cyan-200 {
  color: #135f72 !important;
}

body[data-r46-admin-accessibility] .text-foreground {
  color: var(--r46-admin-text) !important;
}

body[data-r46-admin-accessibility] .text-primary-foreground {
  color: #fff !important;
}

body[data-r46-admin-accessibility] .bg-secondary {
  background: #eef1f4 !important;
}

body[data-r46-admin-accessibility] table thead th {
  background: #f3f5f7 !important;
  color: #46515e !important;
  -webkit-text-fill-color: #46515e !important;
}

/* 覆盖基础主题中 `.aph-admin-page .data-table th` 的深灰表头声明。 */
body.aph2-theme.aph-admin-page[data-r46-admin-accessibility] main .data-table thead,
body.aph2-theme.aph-admin-page[data-r46-admin-accessibility] main .data-table thead tr,
body.aph2-theme.aph-admin-page[data-r46-admin-accessibility] main .data-table thead th {
  background: #f3f5f7 !important;
  color: #46515e !important;
  -webkit-text-fill-color: #46515e !important;
  border-color: #d9dee5 !important;
}

body.aph2-theme.aph-admin-page[data-r46-admin-accessibility] main .data-table thead th :where(button, span, svg) {
  color: #46515e !important;
  -webkit-text-fill-color: #46515e !important;
}

/* 线上后台的 main 是 role landmark，不是 main 标签；以 #root 锁定最终表头。 */
html body.aph2-theme.aph-admin-page[data-r46-admin-accessibility] #root table thead,
html body.aph2-theme.aph-admin-page[data-r46-admin-accessibility] #root table thead tr,
html body.aph2-theme.aph-admin-page[data-r46-admin-accessibility] #root table thead th {
  background: #f3f5f7 !important;
  background-image: none !important;
  color: #46515e !important;
  -webkit-text-fill-color: #46515e !important;
}

body[data-r46-admin-accessibility] [class*="text-[var(--success)]"] {
  color: #17643f !important;
}

body[data-r46-admin-accessibility] input::placeholder,
body[data-r46-admin-accessibility] textarea::placeholder {
  color: #667281 !important;
  opacity: 1;
}

body[data-r46-admin-accessibility] :where(
  button,
  a,
  input,
  select,
  textarea,
  [role="button"],
  [role="tab"],
  [role="region"]
):focus-visible {
  outline: 3px solid var(--r46-admin-focus) !important;
  outline-offset: 2px !important;
}

/* R34 的 block !important 会覆盖 hidden，这里恢复真实折叠。 */
body[data-r46-admin-accessibility] table tbody tr[hidden],
body[data-r46-admin-accessibility] table tbody tr[data-r46-collapsed="true"] {
  display: none !important;
}

/* R42 仍会写 hidden；R46 的显式行状态是最终的渐进展示决策。 */
body[data-r46-admin-accessibility] table tbody tr[data-r46-collapsed="false"] {
  display: table-row !important;
}

body[data-r46-admin-accessibility] .aph-r42-admin-toggle {
  display: none !important;
}

body[data-r46-admin-accessibility] .aph-r46-table-toggle {
  min-height: 40px;
  margin: 10px 12px 14px;
  padding: 0 16px;
  border: 1px solid #cfd5dd;
  border-radius: 7px;
  background: #fff;
  color: var(--r46-admin-text);
  font-size: 13px;
  font-weight: 600;
}

body[data-r46-admin-accessibility] .aph-r46-table-toggle:hover {
  border-color: #aeb7c2;
  background: #f5f6f8;
}

body[data-r46-admin-accessibility] .aph-r46-empty-state {
  margin: 0;
  padding: 28px 16px;
  border-top: 1px solid var(--r46-admin-line);
  color: var(--r46-admin-muted);
  text-align: center;
  font-size: 14px;
}

body[data-r46-admin-accessibility] .aph-tab-list a {
  color: var(--r46-admin-muted) !important;
}

body[data-r46-admin-accessibility] [role="region"][tabindex="0"] {
  scroll-margin: 12px;
}

@media (max-width: 640px) {
  /* 保留表头在 accessibility tree 中，视觉上仍使用字段卡片。 */
  body[data-r46-admin-accessibility] table[data-r34-responsive-table="1"] thead {
    position: absolute !important;
    display: table-header-group !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  body[data-r46-admin-accessibility] table[data-r34-responsive-table="1"] thead tr {
    display: table-row !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  body[data-r46-admin-accessibility] table[data-r34-responsive-table="1"] thead th {
    display: table-cell !important;
  }

  body[data-r46-admin-accessibility] table[data-r34-responsive-table="1"] tbody tr[data-r46-collapsed="false"] {
    display: block !important;
  }

  body[data-r46-admin-accessibility] .aph-r46-table-toggle {
    width: calc(100% - 24px);
    min-height: 44px;
  }

  body[data-r46-admin-accessibility] .aph-r46-admin-tabs > button {
    color: var(--r46-admin-text);
  }

  body[data-r46-admin-accessibility] .aph-r46-admin-tabs > button[aria-selected="true"] {
    color: #fff;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-r46-admin-accessibility] *,
  body[data-r46-admin-accessibility] *::before,
  body[data-r46-admin-accessibility] *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}
/* R47：项目档案与移动壳层的 WCAG 2.2 机械修复，不改业务数据与布局。 */

body[data-r47-release] .skip-link {
  position: fixed !important;
  top: 8px !important;
  left: 12px !important;
  z-index: 10020 !important;
  transform: translateY(-180%) !important;
  transition: none !important;
}

body[data-r47-release] .skip-link:focus,
body[data-r47-release] .skip-link:focus-visible {
  transform: translateY(0) !important;
  outline: 3px solid #ffffff !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px #d71920 !important;
}

body[data-r47-release] #main-content {
  scroll-margin-top: 112px;
}

body[data-r47-release] :where(
  .aph-header-menu,
  header button[aria-label="账号菜单"],
  .aph-mobile-primary-nav a,
  .aph-mobile-primary-nav button
):focus-visible {
  outline: 3px solid #ffffff !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px #d71920 !important;
}

body[data-r47-release][data-r42-route="projects"] .aph-project-kpis article > span,
body[data-r47-release][data-r42-route="projects"] .aph-project-kpis article > small,
body[data-r47-release][data-r42-route="projects"] [data-project-visible-count],
body[data-r47-release][data-r42-route="projects"] .aph-project-table-wrap tbody td:nth-child(2) > small,
body[data-r47-release][data-r42-route="projects"] .aph-project-footnote,
body[data-r47-release][data-r42-route="projects"] .aph-project-link-unmatched {
  color: #596574 !important;
}

body[data-r47-release][data-r42-route="projects"] [data-project-visible-count] {
  font-weight: 600;
}

body[data-r47-release][data-r42-route="projects"] [data-project-profile-id][aria-haspopup="dialog"] {
  cursor: pointer;
}

body[data-r47-release][data-r42-route="projects"] [data-project-profile-id][aria-haspopup="dialog"]:focus-visible {
  outline: 3px solid #d71920 !important;
  outline-offset: -3px !important;
  box-shadow: inset 0 0 0 1px #ffffff !important;
}

body.aph-r47-project-dialog-open {
  overflow: hidden;
}

@keyframes aph-r47-project-dialog-enter {
  from { opacity: .94; transform: translateX(18px); }
  to { opacity: 1; transform: translateX(0); }
}

body[data-r47-release] .aph-project-drawer:not([hidden]) .aph-project-drawer-panel {
  animation: aph-r47-project-dialog-enter .18s cubic-bezier(.22, 1, .36, 1) both;
}

body[data-r47-release] .aph-project-drawer-panel[role="dialog"]:focus-visible,
body[data-r47-release] .aph-project-drawer-panel[role="dialog"] :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #d71920 !important;
  outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
  body[data-r47-release] .aph-project-drawer:not([hidden]) .aph-project-drawer-panel {
    animation-duration: .01ms !important;
  }

  body[data-r47-release] .skip-link {
    scroll-behavior: auto !important;
  }
}
/* R50 AI 使用层：保留 APH 的平静工作面，只强化入口、状态和下一步。 */

body[data-r50-ai-usability] #north-ai-assistant .north-ai-launcher:not([hidden]) {
  display: flex;
}

.aph-r50-ai-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.aph-r50-ai-action {
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid #cfd5dc;
  border-radius: 4px;
  background: #ffffff;
  color: #3f4a57;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
}

.aph-r50-ai-action:hover {
  border-color: #b8101a;
  color: #b8101a;
  background: #fff6f7;
}

.aph-r50-ai-action.is-primary {
  border-color: #b8101a;
  background: #b8101a;
  color: #ffffff;
}

.aph-r50-ai-action.is-primary:hover {
  border-color: #970d15;
  background: #970d15;
  color: #ffffff;
}

.aph-r50-ai-action:focus-visible {
  outline: 3px solid rgba(184, 16, 26, .28);
  outline-offset: 2px;
}

.aph-r50-ai-gate-helper {
  margin: 4px 0 0;
  color: #596574;
  font-size: 12px;
  line-height: 1.55;
}

.aph-r50-ai-recovery {
  display: grid;
  gap: 7px;
  width: min(100%, 420px);
  margin-top: 8px;
  padding: 10px;
  border-left: 3px solid #b8101a;
  background: #f7f8fa;
}

.aph-r50-ai-recovery p {
  margin: 0 0 2px;
  color: #596574;
  font-size: 12px;
  line-height: 1.55;
}

.aph-r50-ai-recovery .aph-r50-ai-action {
  width: 100%;
  min-height: 44px;
  text-align: left;
}

@media (max-width: 640px) {
  body[data-r50-ai-usability] #north-ai-assistant .north-ai-launcher {
    bottom: calc(72px + env(safe-area-inset-bottom));
  }

  .aph-r50-ai-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .aph-r50-ai-action {
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-r50-ai-usability] #north-ai-assistant *,
  body[data-r50-ai-usability] #north-ai-assistant *::before,
  body[data-r50-ai-usability] #north-ai-assistant *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}
/* R50：首页地图标注始终位于省市轮廓上方，并在红色地图上保持可读。 */

body[data-r42-route="home"]
  svg[aria-label="辽宁、河北、天津、北京区域地图"]
  :is(g[tabindex="0"], g[data-r50-map-label-overlay="beijing"]) > text {
  paint-order: stroke fill !important;
  stroke: rgba(245, 246, 250, .96) !important;
  stroke-width: 2px !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke;
}

@media (prefers-reduced-motion: reduce) {
  body[data-r42-route="home"]
    svg[aria-label="辽宁、河北、天津、北京区域地图"]
    :is(g[tabindex="0"], g[data-r50-map-label-overlay="beijing"]) > text {
    animation: none !important;
    transition: none !important;
  }
}
/* R54：AI 助手关闭按钮触控基线，仅修正按钮尺寸。 */
@media (max-width: 640px) {
  html body #north-ai-assistant button.north-ai-close {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    box-sizing: border-box;
  }
}
/* R56：后台直接进入操作工作区；视觉移除重复说明区，保留唯一的程序化页面标题。 */
.aph-r36-admin-heading {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  background: transparent !important;
}

.aph-r36-admin-heading p {
  display: none !important;
}
[data-r56-ai-center-app] {
  --r56-ink: #20242b;
  --r56-muted: #69717d;
  --r56-line: #e5e7eb;
  --r56-soft: #f7f8fa;
  --r56-red: #d91f26;
  --r56-red-soft: #fff1f1;
  --r56-green: #27744b;
  --r56-green-soft: #edf8f1;
  --r56-gray-soft: #f1f3f5;
  min-height: calc(100vh - 72px);
  margin: -1.5rem;
  padding: clamp(1.5rem, 3vw, 3rem);
  background: #fff;
  color: var(--r56-ink);
  font-family: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  color-scheme: light;
}

body[data-r42-route="ai-alerts"]:has([data-r56-ai-center-app]) :is(
  .aph-real-data-scope,
  .aph-r45-project-gate,
  .aph-alerts-gate,
  .aph-r34-truth-summary
) {
  display: none !important;
}

[data-r56-ai-center-app] *,
[data-r56-ai-center-app] *::before,
[data-r56-ai-center-app] *::after {
  box-sizing: border-box;
}

[data-r56-ai-center-app] .r56-page-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: end;
  max-width: 1280px;
  margin: 0 auto;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--r56-line);
}

[data-r56-ai-center-app] .r56-eyebrow {
  margin: 0 0 0.65rem;
  color: var(--r56-red);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

[data-r56-ai-center-app] .r56-page-header h2 {
  max-width: 760px;
  margin: 0;
  color: var(--r56-ink);
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -0.035em;
}

[data-r56-ai-center-app] .r56-page-intro {
  max-width: 720px;
  margin: 0.85rem 0 0;
  color: var(--r56-muted);
  font-size: 0.925rem;
  line-height: 1.75;
}

[data-r56-ai-center-app] .r56-context {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 1.5rem;
  margin: 0;
}

[data-r56-ai-center-app] .r56-context div {
  min-width: 94px;
}

[data-r56-ai-center-app] .r56-context dt,
[data-r56-ai-center-app] .r56-summary dt,
[data-r56-ai-center-app] .r56-metrics dt {
  color: var(--r56-muted);
  font-size: 0.75rem;
  font-weight: 500;
}

[data-r56-ai-center-app] .r56-context dd {
  margin: 0.35rem 0 0;
  color: var(--r56-ink);
  font-size: 0.875rem;
  font-weight: 650;
  white-space: nowrap;
}

[data-r56-ai-center-app] .r56-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 1280px;
  margin: 0 auto;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--r56-line);
}

[data-r56-ai-center-app] .r56-summary-item {
  padding: 0 1.5rem;
  border-right: 1px solid var(--r56-line);
}

[data-r56-ai-center-app] .r56-summary-item:first-child {
  padding-left: 0;
}

[data-r56-ai-center-app] .r56-summary-item:last-child {
  padding-right: 0;
  border-right: 0;
}

[data-r56-ai-center-app] .r56-summary dd {
  margin: 0.25rem 0 0;
  color: var(--r56-ink);
  font-size: clamp(1.8rem, 3vw, 2.35rem);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

[data-r56-ai-center-app] .r56-summary-item--attention dd {
  color: var(--r56-red);
}

[data-r56-ai-center-app] .r56-summary-item--stable dd {
  color: var(--r56-green);
}

[data-r56-ai-center-app] .r56-summary-item--incomplete dd {
  color: #5e6671;
}

[data-r56-ai-center-app] .r56-filters {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(150px, 200px) minmax(150px, 200px) auto;
  gap: 0.75rem;
  align-items: end;
  max-width: 1280px;
  margin: 0 auto;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--r56-line);
}

[data-r56-ai-center-app] .r56-filters label {
  display: grid;
  gap: 0.4rem;
  color: var(--r56-muted);
  font-size: 0.75rem;
  font-weight: 600;
}

[data-r56-ai-center-app] .r56-filters input,
[data-r56-ai-center-app] .r56-filters select {
  width: 100%;
  height: 44px;
  border: 1px solid #cfd3d8;
  border-radius: 4px;
  outline: 0;
  background: #fff;
  color: var(--r56-ink);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

[data-r56-ai-center-app] .r56-filters input {
  padding: 0 0.8rem;
}

[data-r56-ai-center-app] .r56-filters select {
  padding: 0 2rem 0 0.7rem;
}

[data-r56-ai-center-app] .r56-filters input:focus-visible,
[data-r56-ai-center-app] .r56-filters select:focus-visible,
[data-r56-ai-center-app] .r56-error button:focus-visible,
[data-r56-ai-center-app] .r56-center-toggle:focus-visible {
  border-color: var(--r56-red);
  box-shadow: 0 0 0 3px rgba(217, 31, 38, 0.13);
}

[data-r56-ai-center-app] .r56-result-count {
  min-width: 150px;
  margin: 0 0 0.7rem;
  color: var(--r56-muted);
  font-size: 0.8rem;
  text-align: right;
  white-space: nowrap;
}

[data-r56-ai-center-app] .r56-center-list {
  max-width: 1280px;
  margin: 0 auto;
}

[data-r56-ai-center-app] .r56-center-row {
  scroll-margin-top: 88px;
  border-bottom: 1px solid var(--r56-line);
  background: #fff;
}

[data-r56-ai-center-app] .r56-center-row::details-content {
  block-size: 0;
  overflow: hidden;
  opacity: 0;
  transition: block-size 180ms ease, content-visibility 180ms ease allow-discrete, opacity 140ms ease;
}

[data-r56-ai-center-app] .r56-center-row[open]::details-content {
  block-size: auto;
  opacity: 1;
}

[data-r56-ai-center-app] .r56-center-toggle {
  display: grid;
  grid-template-columns: minmax(150px, 0.7fr) 92px minmax(260px, 1.6fr) auto;
  gap: 1rem;
  align-items: center;
  min-height: 82px;
  padding: 1rem 0;
  border-radius: 2px;
  cursor: pointer;
  list-style: none;
  transition: background-color 140ms ease;
}

[data-r56-ai-center-app] .r56-center-toggle::-webkit-details-marker {
  display: none;
}

[data-r56-ai-center-app] .r56-center-toggle:hover {
  background: var(--r56-soft);
}

[data-r56-ai-center-app] .r56-center-identity {
  display: grid;
  min-width: 0;
  gap: 0.3rem;
}

[data-r56-ai-center-app] .r56-center-name {
  overflow: hidden;
  color: var(--r56-ink);
  font-size: 0.95rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-r56-ai-center-app] .r56-center-area {
  color: var(--r56-muted);
  font-size: 0.75rem;
}

[data-r56-ai-center-app] .r56-status {
  justify-self: start;
  padding: 0.25rem 0.5rem;
  border-radius: 3px;
  font-size: 0.72rem;
  font-weight: 650;
  white-space: nowrap;
}

[data-r56-ai-center-app] .r56-status--attention {
  background: var(--r56-red-soft);
  color: var(--r56-red);
}

[data-r56-ai-center-app] .r56-status--stable {
  background: var(--r56-green-soft);
  color: var(--r56-green);
}

[data-r56-ai-center-app] .r56-status--incomplete {
  background: var(--r56-gray-soft);
  color: #5e6671;
}

[data-r56-ai-center-app] .r56-center-conclusion {
  min-width: 0;
  color: #4d5560;
  font-size: 0.86rem;
  line-height: 1.6;
}

[data-r56-ai-center-app] .r56-center-disclosure {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--r56-muted);
  font-size: 0.75rem;
  white-space: nowrap;
}

[data-r56-ai-center-app] .r56-center-disclosure span {
  color: var(--r56-red);
  font-size: 1rem;
  transition: transform 160ms ease;
}

[data-r56-ai-center-app] .r56-center-row[open] .r56-center-disclosure span {
  transform: rotate(45deg);
}

[data-r56-ai-center-app] .r56-center-detail {
  margin: 0 0 1rem;
  padding: 1.25rem;
  border-left: 2px solid var(--r56-line);
  background: var(--r56-soft);
}

[data-r56-ai-center-app] .r56-center-row--attention .r56-center-detail {
  border-left-color: var(--r56-red);
}

[data-r56-ai-center-app] .r56-detail-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

[data-r56-ai-center-app] .r56-detail-heading h3,
[data-r56-ai-center-app] .r56-detail-columns h4 {
  margin: 0;
  color: var(--r56-ink);
  font-size: 0.84rem;
  font-weight: 700;
}

[data-r56-ai-center-app] .r56-detail-heading span {
  color: var(--r56-muted);
  font-size: 0.75rem;
}

[data-r56-ai-center-app] .r56-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0 0;
  padding: 1rem 0;
  border-top: 1px solid var(--r56-line);
  border-bottom: 1px solid var(--r56-line);
}

[data-r56-ai-center-app] .r56-metrics dd {
  margin: 0.3rem 0 0;
  overflow-wrap: anywhere;
  color: var(--r56-ink);
  font-size: 0.9rem;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

[data-r56-ai-center-app] .r56-detail-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-top: 1.25rem;
}

[data-r56-ai-center-app] .r56-evidence-list,
[data-r56-ai-center-app] .r56-advice-list {
  display: grid;
  gap: 0.65rem;
  margin: 0.75rem 0 0;
  padding: 0;
  color: #4d5560;
  font-size: 0.8rem;
  line-height: 1.65;
}

[data-r56-ai-center-app] .r56-evidence-list {
  list-style: none;
}

[data-r56-ai-center-app] .r56-advice-list {
  padding-left: 1.2rem;
}

[data-r56-ai-center-app] .r56-evidence-list li {
  display: grid;
  grid-template-columns: minmax(92px, 0.35fr) minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: baseline;
}

[data-r56-ai-center-app] .r56-evidence-list strong {
  color: var(--r56-ink);
  font-size: 0.78rem;
}

[data-r56-ai-center-app] .r56-evidence-list small {
  color: var(--r56-muted);
  white-space: nowrap;
}

[data-r56-ai-center-app] .r56-missing,
[data-r56-ai-center-app] .r56-loading,
[data-r56-ai-center-app] .r56-empty {
  margin: 0;
  padding: 2.5rem 0;
  color: var(--r56-muted);
  font-size: 0.875rem;
  text-align: center;
}

[data-r56-ai-center-app] .r56-error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: 1280px;
  margin: 1.5rem auto 0;
  padding: 1rem 0;
  border-top: 1px solid #f2b8ba;
  border-bottom: 1px solid #f2b8ba;
  color: var(--r56-red);
}

[data-r56-ai-center-app] .r56-error p {
  margin: 0.25rem 0 0;
  color: #7b4548;
  font-size: 0.8rem;
}

[data-r56-ai-center-app] .r56-error button {
  min-height: 44px;
  padding: 0 1rem;
  border: 1px solid var(--r56-red);
  border-radius: 4px;
  background: #fff;
  color: var(--r56-red);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 650;
  cursor: pointer;
}

[data-r56-ai-center-app] .r56-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 1023px) {
  [data-r56-ai-center-app] {
    margin: -1.25rem -1.25rem;
    padding: 1.5rem 1.25rem 3rem;
  }

  [data-r56-ai-center-app] .r56-page-header {
    grid-template-columns: 1fr;
    align-items: start;
  }

  [data-r56-ai-center-app] .r56-context {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  [data-r56-ai-center-app] .r56-filters {
    grid-template-columns: 1fr 1fr;
  }

  [data-r56-ai-center-app] .r56-search,
  [data-r56-ai-center-app] .r56-result-count {
    grid-column: 1 / -1;
  }

  [data-r56-ai-center-app] .r56-result-count {
    margin: 0.25rem 0 0;
    text-align: left;
  }

  [data-r56-ai-center-app] .r56-center-toggle {
    grid-template-columns: minmax(150px, 0.7fr) 92px minmax(200px, 1.4fr) auto;
  }

  [data-r56-ai-center-app] .r56-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  [data-r56-ai-center-app] {
    margin: -1rem -0.75rem;
    padding: 1.25rem 1rem 2.5rem;
  }

  [data-r56-ai-center-app] .r56-page-header {
    gap: 1.5rem;
    padding-bottom: 1.5rem;
  }

  [data-r56-ai-center-app] .r56-page-header h2 {
    font-size: 1.75rem;
  }

  [data-r56-ai-center-app] .r56-context {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }

  [data-r56-ai-center-app] .r56-context div:last-child {
    grid-column: 1 / -1;
  }

  [data-r56-ai-center-app] .r56-summary-item {
    padding: 0 0.75rem;
  }

  [data-r56-ai-center-app] .r56-summary dd {
    font-size: 1.65rem;
  }

  [data-r56-ai-center-app] .r56-filters {
    grid-template-columns: 1fr;
  }

  [data-r56-ai-center-app] .r56-search,
  [data-r56-ai-center-app] .r56-result-count {
    grid-column: auto;
  }

  [data-r56-ai-center-app] .r56-center-toggle {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.6rem 0.75rem;
    min-height: 0;
    padding: 1rem 0;
  }

  [data-r56-ai-center-app] .r56-center-row,
  [data-r56-ai-center-app] .r56-center-toggle {
    scroll-margin-top: 108px;
  }

  [data-r56-ai-center-app] .r56-status {
    justify-self: end;
  }

  [data-r56-ai-center-app] .r56-center-conclusion {
    grid-column: 1 / -1;
  }

  [data-r56-ai-center-app] .r56-center-disclosure {
    grid-column: 1 / -1;
    justify-self: start;
  }

  [data-r56-ai-center-app] .r56-center-detail {
    padding: 1rem;
  }

  [data-r56-ai-center-app] .r56-detail-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  [data-r56-ai-center-app] .r56-metrics,
  [data-r56-ai-center-app] .r56-detail-columns {
    grid-template-columns: 1fr;
  }

  [data-r56-ai-center-app] .r56-evidence-list li {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }

  [data-r56-ai-center-app] .r56-evidence-list small {
    white-space: normal;
  }

  [data-r56-ai-center-app] .r56-error {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-r56-ai-center-app] *,
  [data-r56-ai-center-app] *::before,
  [data-r56-ai-center-app] *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
/* R57：60px 轨道恒定，140px 导航只做临时覆盖，不推动或缩窄任何页面。 */
@media (min-width: 641px) {
  body.aph2-theme .aph-exact-sidebar,
  body.aph2-theme .aph-exact-sidebar:hover,
  body.aph2-theme .aph-exact-sidebar.is-hovered,
  body.aph2-theme .aph-exact-sidebar.is-expanded {
    flex: 0 0 60px !important;
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
  }

  body.aph2-theme:not(.aph-admin-page) .aph-page-tabs,
  body.aph2-theme:not(.aph-admin-page) #root > div:has(> .aph-exact-sidebar:hover) .aph-page-tabs,
  body.aph2-theme:not(.aph-admin-page) #root > div:has(> .aph-exact-sidebar.is-hovered) .aph-page-tabs,
  body.aph2-theme:not(.aph-admin-page) #root > div:has(> .aph-exact-sidebar.is-expanded) .aph-page-tabs {
    left: 60px !important;
  }

  /* 点击路由后先保持收起；鼠标离开侧栏后再恢复正常 hover。 */
  body.aph2-theme .aph-exact-sidebar.aph-r57-hover-suppressed .aph-exact-sidebar-panel,
  body.aph2-theme .aph-exact-sidebar.aph-r57-hover-suppressed:hover .aph-exact-sidebar-panel,
  body.aph2-theme .aph-exact-sidebar.aph-r57-hover-suppressed.is-hovered .aph-exact-sidebar-panel {
    width: 60px !important;
  }

  /* R44 的首页临时避让会缩窄正文，R57 恢复原有 18px 页面留白。 */
  body[data-r42-route="home"] #root > div:has(> .aph-exact-sidebar:hover) main#main-content,
  body[data-r42-route="home"] #root > div:has(> .aph-exact-sidebar.is-hovered) main#main-content,
  body[data-r42-route="home"] #root > div:has(> .aph-exact-sidebar.is-expanded) main#main-content {
    padding-left: 18px !important;
  }

  body.aph2-theme.aph-admin-page > #root > div,
  body.aph2-theme.aph-admin-page > #root > div:has(> .aph-exact-sidebar:hover),
  body.aph2-theme.aph-admin-page > #root > div:has(> .aph-exact-sidebar.is-hovered),
  body.aph2-theme.aph-admin-page > #root > div:has(> .aph-exact-sidebar.is-expanded) {
    padding-left: 60px !important;
  }
}
/* R56 v2：长证据来源改为纵向阅读，避免与方法、校验时间重叠。 */
body[data-r42-route="ai-alerts"] [data-r56-ai-center-app] .r56-evidence-list li {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.2rem;
  align-items: start;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--r56-line);
}

body[data-r42-route="ai-alerts"] [data-r56-ai-center-app] .r56-evidence-list li:first-child {
  padding-top: 0;
}

body[data-r42-route="ai-alerts"] [data-r56-ai-center-app] .r56-evidence-list li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

body[data-r42-route="ai-alerts"] [data-r56-ai-center-app] .r56-evidence-list :is(strong, span, small) {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}
/* R57：移动端 AI 入口收入黑色顶栏，不再遮挡经营数字与表格。 */
.aph-r57-mobile-ai-launcher {
  display: none;
}

@media (max-width: 640px) {
  body[data-r57-mobile-ai-header] #north-ai-assistant > .north-ai-launcher.aph-r57-mobile-ai-source {
    display: none !important;
  }

  body[data-r57-mobile-ai-header].aph2-theme #root :is(header.sticky.top-0, header.aph-admin-shell-header) button.aph-r57-mobile-ai-launcher {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    align-self: center;
    margin: 0;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid #303844;
    border-radius: 0 !important;
    color: #ffffff;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    box-sizing: border-box;
  }

  body[data-r57-mobile-ai-header].aph2-theme #root :is(header.sticky.top-0, header.aph-admin-shell-header) button.aph-r57-mobile-ai-launcher:hover {
    color: #ffffff !important;
    border-color: #b8101a;
    background: #252525 !important;
  }

  body[data-r57-mobile-ai-header].aph2-theme #root :is(header.sticky.top-0, header.aph-admin-shell-header) button.aph-r57-mobile-ai-launcher:focus-visible {
    outline: 2px solid #ffffff !important;
    outline-offset: -4px;
    border-color: #b8101a;
  }

  body[data-r57-mobile-ai-header] .aph-r57-mobile-ai-mark {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    color: #ffffff;
    background: #b8101a;
    font: 700 13px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
    letter-spacing: -.06em;
  }

  body[data-r57-mobile-ai-header].aph2-theme #root header.aph-admin-shell-header.aph-r57-mobile-ai-host {
    position: relative !important;
  }

  body[data-r57-mobile-ai-header].aph2-theme #root header.aph-admin-shell-header button.aph-r57-mobile-ai-launcher[data-r57-placement="admin"] {
    position: absolute;
    top: 3px;
    right: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aph-r57-mobile-ai-launcher {
    transition: none !important;
  }
}
/* 后台编辑保护条回到正常文档流，避免 sticky 位移在原位留下空白占位。 */
body[data-r56-admin-workspace] #main-content .table-scroll > .aph-admin-safety-toolbar {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  margin: 0 !important;
}
/* R63 v2：标题区只保留页面名、对象身份和短事实状态；说明性段落下沉到业务模块。 */

/* 主驾驶舱：旧脚本可能重复注入，使用晚加载且精确的选择器稳定抑制。 */
body.aph2-theme #main-content > .aph-real-data-scope,
body.aph2-theme #main-content > .aph-r34-tasks-notice,
body.aph2-theme #main-content > .aph-project-profile-page > .aph-project-page-head > div:first-child > p,
body.aph2-theme [data-r56-ai-center-app] .r56-page-intro {
  display: none !important;
}

/* 事实门禁保留短状态，去掉可见的解释段落。 */
body.aph2-theme #main-content .aph-r34-truth-summary > p {
  display: none !important;
}

/* 管理后台：保留页面名、操作按钮和模块内状态，取消英文眉题与功能解释。 */
body[data-r56-admin-workspace] #root .page-title > div:first-child > .eyebrow,
body[data-r56-admin-workspace] #root .page-title > div:first-child > p:last-child:not(:only-child) {
  display: none !important;
}

/* 系统入口：保留只读状态、入口说明和权限边界。 */
.system-topbar > p,
.system-intro > div > p {
  display: none !important;
}

/* 欠费经营分析：仅清页面标题说明，不碰事实门禁、任务步骤和证据正文。 */
.aph-shell-header > .aph-shell-status,
main#main-content > .page-heading > div:first-child > .eyebrow,
main#main-content > .page-heading > div:first-child > p {
  display: none !important;
}

/* AI 预警中心：去掉标题上方的页面说明眉题。 */
body.aph2-theme [data-r56-ai-center-app] .r56-eyebrow {
  display: none !important;
}
/* R66：八个管理域全功能闭环，保持一行导航、一张工作表。 */
.r65-admin {
  min-height: 100vh;
  background: var(--background, #f4f6f9);
  color: var(--foreground, #1f2937);
}

.r65-admin-bar {
  min-height: 54px;
  padding: 0 32px;
  border-bottom: 1px solid var(--border, #dfe3e8);
  background: var(--card, #fff);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.r65-admin-title,
.r65-actions,
.r65-inline-edit {
  display: flex;
  align-items: center;
  gap: 10px;
}

.r65-repair-action,
.r65-password-field {
  display: grid;
  gap: 2px;
}

.r65-repair-action small,
.r65-password-field small,
.r65-member-form small {
  color: var(--muted-foreground, #667085);
  font-size: 10px;
  line-height: 1.25;
}

.r65-admin-title a,
.r65-link-button {
  color: var(--muted-foreground, #667085);
  font-size: 13px;
}

.r65-admin-title span {
  font-size: 15px;
  font-weight: 650;
}

.r65-admin-mode,
#aph-r65-service-center-scope {
  border: 1px solid color-mix(in srgb, var(--primary, #d71920) 28%, transparent);
  border-radius: 4px;
  padding: 4px 9px;
  color: var(--primary, #c9161d);
  background: color-mix(in srgb, var(--primary, #d71920) 6%, transparent);
  font-size: 12px;
  line-height: 1.3;
  white-space: nowrap;
}

.r65-tabs {
  min-height: 60px;
  padding: 10px 32px;
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  border-bottom: 1px solid var(--border, #dfe3e8);
  background: var(--background, #f4f6f9);
}

.r65-tabs button {
  min-height: 36px;
  padding: 0 14px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--muted-foreground, #667085);
  font-size: 14px;
  white-space: nowrap;
  cursor: pointer;
  transition: box-shadow .2s ease, transform .12s ease;
}

.r65-tabs button:hover {
  background: var(--secondary, #eef1f5);
}

.r65-tabs button.is-active {
  background: var(--primary, #d71920);
  color: var(--primary-foreground, #fff);
}

.r65-admin-main {
  padding: 18px 32px 32px;
}

.r65-table-wrap,
.r65-section,
.r65-report-detail {
  border: 1px solid var(--border, #dfe3e8);
  background: var(--card, #fff);
  overflow: auto;
}

.r65-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.r65-table th,
.r65-table td {
  height: 46px;
  padding: 7px 12px;
  border-bottom: 1px solid var(--border, #e5e7eb);
  text-align: left;
  vertical-align: middle;
}

.r65-table th {
  height: 42px;
  background: var(--secondary, #f3f4f6);
  color: var(--muted-foreground, #667085);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.r65-table tbody tr:last-child td {
  border-bottom: 0;
}

.r65-table tbody tr:hover td {
  background: color-mix(in srgb, var(--secondary, #f3f4f6) 55%, transparent);
}

.r65-number {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
}

.r65-number-input,
.r65-input,
.r65-select {
  height: 32px;
  border: 1px solid var(--border, #d0d5dd);
  border-radius: 4px;
  background: var(--card, #fff);
  color: var(--foreground, #1f2937);
  padding: 0 9px;
  font: inherit;
}

.r65-number-input {
  width: 116px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.r65-save-cell {
  display: grid;
  justify-items: center;
  gap: 3px;
}

.r65-validation {
  max-width: 140px;
  color: #b42318 !important;
  text-align: center;
  line-height: 1.25;
}

.r65-input:focus,
.r65-select:focus,
.r65-number-input:focus,
.r65-tabs button:focus-visible,
.r65-button:focus-visible,
.r65-link-button:focus-visible {
  outline: 2px solid var(--primary, #d71920);
  outline-offset: 2px;
}

.r65-input--short {
  width: 160px;
}

.r65-button,
.r65-link-button {
  min-height: 30px;
  border: 1px solid var(--border, #d0d5dd);
  border-radius: 4px;
  padding: 0 10px;
  background: var(--card, #fff);
  cursor: pointer;
  white-space: nowrap;
}

.r65-link-button {
  min-height: 28px;
  border-color: transparent;
  background: transparent;
  padding: 0 4px;
}

.r65-button--primary {
  border-color: var(--primary, #d71920);
  background: var(--primary, #d71920);
  color: var(--primary-foreground, #fff);
}

.r65-button--danger,
.r65-link-button--danger {
  border-color: color-mix(in srgb, #c81e1e 42%, transparent);
  color: #b42318;
}

.r65-button:disabled,
.r65-link-button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.r65-unavailable {
  color: var(--muted-foreground, #667085);
  font-size: 12px;
}

.r65-strong {
  font-weight: 600;
}

.r65-table small,
.r65-section small {
  display: block;
  margin-top: 3px;
  color: var(--muted-foreground, #667085);
  font-size: 11px;
}

.r65-empty,
.r65-loading {
  padding: 52px 20px !important;
  color: var(--muted-foreground, #667085);
  text-align: center !important;
}

.r65-notice {
  margin-bottom: 12px;
  border-left: 3px solid #b42318;
  background: color-mix(in srgb, #b42318 7%, var(--card, #fff));
  padding: 9px 12px;
  color: #9f1c15;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.r65-notice--success {
  border-left-color: #17803d;
  background: color-mix(in srgb, #17803d 7%, var(--card, #fff));
  color: #176b36;
}

.r65-member-stack {
  display: grid;
  gap: 14px;
}

.r65-member-list {
  min-width: 0;
}

.r65-member-search {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 1px solid var(--border, #e4e7ec);
  border-bottom: 0;
  background: var(--card, #fff);
}

.r65-member-search .r65-input {
  width: min(420px, 100%);
}

.r65-member-search__count {
  color: var(--muted-foreground, #667085);
  font-size: 12px;
  white-space: nowrap;
}

.r65-section {
  padding: 16px;
}

.r65-section h2,
.r65-report-detail h2 {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 650;
}

.r65-member-form {
  display: grid;
  grid-template-columns: minmax(150px, .85fr) minmax(280px, 1.35fr) minmax(190px, .9fr) minmax(140px, .7fr) minmax(260px, 1.35fr) auto;
  align-items: start;
  gap: 12px;
}

.r65-member-form label {
  display: grid;
  gap: 5px;
  color: var(--muted-foreground, #667085);
  font-size: 12px;
}

.r65-member-form .r65-input,
.r65-member-form .r65-select {
  width: 100%;
  min-width: 0;
}

.r65-scope-picker {
  display: grid;
  grid-template-columns: minmax(118px, 0.75fr) minmax(250px, 1.6fr);
  gap: 8px;
  align-items: center;
}

.r65-scope-picker .r65-select {
  width: 100%;
  min-width: 0;
}

.r65-multi-center {
  position: relative;
  min-width: 0;
  color: var(--foreground, #344054);
}

.r65-multi-center__summary {
  height: 32px;
  display: flex;
  align-items: center;
  padding: 0 30px 0 10px;
  border: 1px solid var(--border, #d0d5dd);
  background: var(--card, #fff);
  cursor: pointer;
  list-style: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.r65-multi-center__summary::-webkit-details-marker {
  display: none;
}

.r65-multi-center__summary::after {
  content: "⌄";
  position: absolute;
  right: 10px;
  color: var(--muted-foreground, #667085);
}

.r65-multi-center[open] .r65-multi-center__summary {
  border-color: var(--primary, #c9161d);
}

.r65-multi-center__options {
  position: absolute;
  z-index: 12;
  inset: calc(100% + 4px) 0 auto 0;
  max-height: 240px;
  overflow: auto;
  padding: 6px;
  border: 1px solid var(--border, #d0d5dd);
  background: var(--card, #fff);
  box-shadow: 0 8px 18px rgba(16, 24, 40, .12);
}

/* 成员表格位于横向滚动容器中，绝对定位菜单会被容器裁切。
 * 在表格内改为行内展开，让表格行随选项完整增高。 */
.r65-member-list .r65-multi-center__options {
  position: static;
  margin-top: 4px;
  max-height: min(360px, 50vh);
  box-shadow: none;
}

.r65-member-list .r65-multi-center[open] {
  min-width: 300px;
}

.r65-member-list .r65-table td {
  vertical-align: top;
}

.r65-member-list .r65-scope-picker {
  align-items: start;
}

.r65-multi-center__options label {
  min-height: 32px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 7px;
  color: var(--foreground, #344054);
  font-size: 12px;
  cursor: pointer;
}

.r65-multi-center__options label:hover {
  background: var(--muted, #f2f4f7);
}

.r65-multi-center__options input {
  accent-color: var(--primary, #c9161d);
}

.r65-multi-center__empty {
  display: block;
  padding: 7px;
  color: var(--muted-foreground, #667085);
  font-size: 12px;
}

.r65-scope-picker--area-only {
  grid-template-columns: minmax(150px, 220px);
}

.r65-area-select {
  font-weight: 600;
}

.r65-create-button {
  height: 32px;
  margin-top: 20px;
}

.r65-scope-all {
  color: var(--primary, #c9161d);
}

.r65-status {
  display: inline-flex;
  border-radius: 999px;
  padding: 3px 8px;
  background: #f2f4f7;
  color: #475467;
  font-size: 12px;
}

.r65-status--ok {
  background: #ecfdf3;
  color: #067647;
}

.r65-status--danger {
  background: #fef3f2;
  color: #b42318;
}

.r65-rule-toggle {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  white-space: nowrap;
}

.r65-rule-toggle input {
  width: 18px;
  height: 18px;
  accent-color: var(--primary, #d71920);
}

.r65-rule-toggle input:focus-visible {
  outline: 2px solid var(--primary, #d71920);
  outline-offset: 2px;
}

.r65-report-detail {
  margin-top: 14px;
  padding: 16px;
}

.r65-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.r65-report-detail pre {
  max-height: 380px;
  overflow: auto;
  white-space: pre-wrap;
  font-size: 12px;
}

.r66-domain-bar {
  min-height: 48px;
  margin-bottom: 12px;
  padding: 7px 10px 7px 12px;
  border-left: 2px solid var(--primary, #d71920);
  border-top: 1px solid var(--border, #dfe3e8);
  border-right: 1px solid var(--border, #dfe3e8);
  border-bottom: 1px solid var(--border, #dfe3e8);
  background: var(--card, #fff);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.r66-domain-copy {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 9px;
  flex-wrap: wrap;
}

.r66-domain-copy strong {
  font-size: 13px;
  font-weight: 550;
}

.r66-domain-copy small {
  color: var(--muted-foreground, #667085);
  font-size: 11px;
}

.r66-domain-mode {
  color: var(--primary, #c9161d);
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
}

.r66-source-gate {
  border: 1px solid var(--border, #dfe3e8);
  background: var(--card, #fff);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: center;
}

.r66-source-gate > div {
  min-height: 86px;
  padding: 13px 16px;
  border-right: 1px solid var(--border, #dfe3e8);
}

.r66-source-gate > button {
  margin: 0 16px;
}

.r66-source-gate strong {
  margin-right: 8px;
  font-size: 13px;
}

.r66-source-gate p {
  margin: 7px 0 0;
  color: var(--muted-foreground, #667085);
  font-size: 12px;
  line-height: 1.45;
}

.r66-source-gate small {
  display: block;
  margin-top: 4px;
  color: var(--muted-foreground, #667085);
  font-size: 10px;
}

.r66-report-summary {
  margin: 0 0 14px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--border, #dfe3e8);
}

.r66-report-summary > div {
  padding: 10px 12px;
  border-right: 1px solid var(--border, #dfe3e8);
}

.r66-report-summary > div:last-child {
  border-right: 0;
}

.r66-report-summary dt {
  color: var(--muted-foreground, #667085);
  font-size: 11px;
}

.r66-report-summary dd {
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 600;
}

.r66-report-block {
  padding: 12px 0;
  border-top: 1px solid var(--border, #dfe3e8);
}

.r66-report-block h3 {
  margin: 0 0 6px;
  font-size: 12px;
}

.r66-report-block p,
.r66-report-block li {
  margin: 0;
  color: var(--muted-foreground, #667085);
  font-size: 12px;
  line-height: 1.55;
}

.r66-raw-detail {
  padding-top: 10px;
  border-top: 1px solid var(--border, #dfe3e8);
  color: var(--muted-foreground, #667085);
  font-size: 12px;
}

.r65-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

[data-r65-scope-control-hidden="true"] {
  display: none !important;
}

.aph-header-status #aph-r65-service-center-scope {
  border-color: rgba(255, 255, 255, .24);
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

@media (max-width: 720px) {
  /* 宿主移动导航固定在 50–102px；后台工作区从其下方开始，保留全局导航。 */
  body.aph-mobile-nav-ready:has(.r65-admin) .r65-admin {
    padding-top: 52px;
  }

  body.aph-mobile-nav-ready:has(.r65-admin) .r65-tabs {
    position: sticky;
    top: 102px;
    z-index: 49;
  }

  .r65-admin-bar,
  .r65-tabs,
  .r65-admin-main {
    padding-left: 16px;
    padding-right: 16px;
  }

  .r65-admin-mode {
    display: none;
  }

  .r65-tabs {
    scroll-padding-inline: 16px;
    overscroll-behavior-x: contain;
  }

  .r65-tabs button {
    min-height: 40px;
  }

  .r65-member-form {
    display: grid;
    grid-template-columns: 1fr;
  }

  .r65-member-form .r65-input,
  .r65-member-form .r65-select,
  .r65-create-button {
    width: 100%;
  }

  .r65-scope-picker {
    grid-template-columns: 1fr;
  }

  .r65-member-search {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .r65-member-search .r65-input {
    width: 100%;
  }

  .r65-multi-center__options {
    position: static;
    margin-top: 4px;
  }

  .r65-create-button {
    margin-top: 0;
  }

  #aph-r65-service-center-scope {
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .r66-domain-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .r66-domain-bar > .r65-actions {
    width: 100%;
  }

  .r66-domain-bar > .r65-actions .r65-button {
    flex: 1;
  }

  .r66-source-gate {
    grid-template-columns: 1fr;
  }

  .r66-source-gate > div {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--border, #dfe3e8);
  }

  .r66-source-gate > button {
    width: auto;
    margin: 12px 16px;
  }

  .r66-report-summary {
    grid-template-columns: 1fr 1fr;
  }

  .r66-report-summary > div {
    border-bottom: 1px solid var(--border, #dfe3e8);
  }
}

@media (prefers-reduced-motion: reduce) {
  .r65-admin *,
  .r65-admin *::before,
  .r65-admin *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
/* R76：成员类型、片区与多服务中心选择。仅作用于系统管理成员页。 */
.r65-admin .r76-center-select {
  position: relative;
  min-width: 220px;
}

.r65-admin .r76-center-select > summary {
  min-height: 32px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 9px;
  border: 1px solid var(--border, #d0d5dd);
  border-radius: 4px;
  background: var(--card, #fff);
  color: var(--foreground, #1f2937);
  cursor: pointer;
  list-style: none;
  white-space: nowrap;
}

.r65-admin .r76-center-select > summary::-webkit-details-marker {
  display: none;
}

.r65-admin .r76-center-select > summary::after {
  content: "⌄";
  color: var(--muted-foreground, #667085);
}

.r65-admin .r76-center-select[open] > summary {
  outline: 2px solid var(--primary, #d71920);
  outline-offset: 2px;
}

.r65-admin .r76-center-options {
  position: absolute;
  z-index: 120;
  top: calc(100% + 5px);
  left: 0;
  width: min(360px, calc(100vw - 32px));
  max-height: 260px;
  overflow: auto;
  padding: 6px;
  border: 1px solid var(--border, #d0d5dd);
  border-radius: 6px;
  background: var(--card, #fff);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .18);
}

.r65-admin .r76-center-options label {
  min-height: 36px;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 5px 7px;
  border-radius: 4px;
  cursor: pointer;
}

.r65-admin .r76-center-options label:hover {
  background: var(--secondary, #f3f4f6);
}

.r65-admin .r76-center-options input {
  width: 16px;
  height: 16px;
  accent-color: var(--primary, #d71920);
}

.r65-admin .r76-center-empty {
  margin: 0;
  padding: 10px;
  color: var(--muted-foreground, #667085);
  font-size: 12px;
}

.r65-admin .r76-centers-field {
  min-width: 0;
}

@media (max-width: 720px) {
  .r65-admin .r76-center-select,
  .r65-admin .r76-center-options {
    width: 100%;
    min-width: 0;
  }
}
/* R77：地区职能直接对应全部片区和全部服务中心。 */
.r65-admin .r76-all-scope {
  min-height: 32px;
  display: flex;
  align-items: center;
  padding: 0 9px;
  border: 1px solid color-mix(in srgb, var(--primary, #d71920) 24%, transparent);
  border-radius: 4px;
  background: color-mix(in srgb, var(--primary, #d71920) 5%, var(--card, #fff));
  color: var(--primary, #c9161d);
  font-size: 13px;
}
/* R65：路由点击后的 60px 抑制态必须真正隐藏导航文字，不留裁切字形。 */
@media (min-width: 641px) {
  body.aph2-theme
    .aph-exact-sidebar.aph-r57-hover-suppressed
    .aph-exact-sidebar-panel a span {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(-3px) !important;
    transition: none !important;
  }
}

/* AI 预警列表在最窄桌面壳层下改用两列，避免四列最小宽度裁掉结论和操作。 */
@media (min-width: 641px) and (max-width: 767px) {
  body[data-r42-route="ai-alerts"] [data-r56-ai-center-app] .r56-center-toggle {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.6rem 0.75rem;
    min-height: 0;
    padding: 1rem 0;
  }

  body[data-r42-route="ai-alerts"] [data-r56-ai-center-app] .r56-status {
    justify-self: end;
  }

  body[data-r42-route="ai-alerts"] [data-r56-ai-center-app] .r56-center-conclusion,
  body[data-r42-route="ai-alerts"] [data-r56-ai-center-app] .r56-center-disclosure {
    grid-column: 1 / -1;
  }

  body[data-r42-route="ai-alerts"] [data-r56-ai-center-app] .r56-center-disclosure {
    justify-self: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.aph2-theme .aph-exact-sidebar-panel a span {
    transition: none !important;
  }
}
/* R64：AI 是顶栏工具，不再以固定浮标覆盖 KPI、地图、表格或操作按钮。 */
body[data-r64-ai-header] #north-ai-assistant > .north-ai-launcher.aph-r64-ai-source {
  display: none !important;
}

body[data-r64-ai-header] .aph-r57-mobile-ai-launcher {
  display: none !important;
}

body[data-r64-ai-header] #north-ai-assistant > .north-ai-overlay[aria-hidden="false"].is-open {
  z-index: 10050 !important;
}

.aph-r64-ai-launcher,
.aph-r64-admin-mobile-identity,
.aph-r64-admin-account-wrap {
  display: none;
}

body[data-r64-ai-header].aph2-theme #root :is(header.sticky.top-0, header.aph-admin-shell-header) button.aph-r64-ai-launcher {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  align-self: center;
  margin: 0;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #303844;
  border-radius: 0 !important;
  color: #ffffff;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  box-sizing: border-box;
}

body[data-r64-ai-header].aph2-theme #root :is(header.sticky.top-0, header.aph-admin-shell-header) button.aph-r64-ai-launcher:hover {
  color: #ffffff !important;
  border-color: #b8101a;
  background: #252525 !important;
}

body[data-r64-ai-header].aph2-theme #root :is(header.sticky.top-0, header.aph-admin-shell-header) button.aph-r64-ai-launcher:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: -4px;
  border-color: #b8101a;
}

body[data-r64-ai-header] .aph-r64-desktop-ai-mark {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: #ffffff;
  background: #b8101a;
  font: 700 13px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: -.06em;
}

@media (min-width: 641px) {
  body[data-r64-ai-header].aph2-theme #root header.aph-admin-shell-header.aph-r64-ai-host {
    position: relative !important;
    padding-right: 72px !important;
  }

  body[data-r64-ai-header].aph2-theme #root header.aph-admin-shell-header button.aph-r64-ai-launcher[data-r64-placement="admin"] {
    position: absolute;
    top: 3px;
    right: 16px;
  }
}

@media (max-width: 640px) {
  body[data-r64-ai-header].aph2-theme.aph-r64-mobile-shell {
    padding-top: 50px !important;
  }

  body[data-r64-ai-header].aph2-theme.aph-r64-mobile-shell #root :is(header.sticky.top-0, header.aph-admin-shell-header) {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 80 !important;
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
  }

  body[data-r64-ai-header].aph2-theme.aph-r64-mobile-shell #root header.sticky.top-0 > div {
    height: 50px !important;
    min-height: 50px !important;
  }

  body[data-r64-ai-header].aph2-theme.aph-r64-mobile-shell .aph-mobile-primary-nav {
    top: 50px !important;
    z-index: 79 !important;
  }

  body[data-r64-ai-header].aph2-theme.aph-r64-mobile-shell #root header.sticky.top-0 .aph-header-menu {
    display: none !important;
  }

  body[data-r64-ai-header].aph2-theme.aph-admin-page.aph-r64-mobile-shell #root header.aph-admin-shell-header {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0 12px !important;
    overflow: visible !important;
    color: #ffffff !important;
    background: #000000 !important;
  }

  body[data-r64-ai-header].aph2-theme.aph-admin-page.aph-r64-mobile-shell #root header.aph-admin-shell-header > div:first-child {
    display: none !important;
  }

  body[data-r64-ai-header].aph2-theme.aph-admin-page.aph-r64-mobile-shell #root header.aph-admin-shell-header .aph-r64-admin-mobile-identity {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1 1 auto;
    min-width: 0;
    height: 50px;
  }

  body[data-r64-ai-header].aph2-theme #root header.aph-admin-shell-header .aph-r64-admin-mobile-brand {
    display: grid !important;
    place-items: center;
    flex: 0 0 auto;
    width: 52px;
    height: 44px;
    min-height: 44px;
    color: #ffffff;
  }

  body[data-r64-ai-header].aph2-theme #root header.aph-admin-shell-header .aph-r64-admin-mobile-brand img {
    display: block;
    width: auto;
    height: 40px;
    max-width: 52px;
    object-fit: contain;
  }

  body[data-r64-ai-header].aph2-theme #root header.aph-admin-shell-header .aph-r64-admin-mobile-title {
    display: block !important;
    min-width: 0;
    overflow: hidden;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 650;
    line-height: 24px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-r64-ai-header].aph2-theme #root header.aph-admin-shell-header .aph-r64-admin-account-wrap {
    position: relative;
    display: block;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
  }

  body[data-r64-ai-header].aph2-theme #root header.aph-admin-shell-header .aph-r64-admin-account {
    display: grid;
    place-items: center;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0;
    padding: 0 !important;
    border: 1px solid #303844;
    border-radius: 0 !important;
    color: #ffffff !important;
    background: transparent !important;
  }

  body[data-r64-ai-header].aph2-theme #root header.aph-admin-shell-header .aph-r64-admin-account svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  body[data-r64-ai-header].aph2-theme #root header.aph-admin-shell-header .aph-r64-admin-account:focus-visible {
    outline: 2px solid #ffffff !important;
    outline-offset: -4px;
    border-color: #b8101a;
  }

  body[data-r64-ai-header].aph2-theme #root header.aph-admin-shell-header .aph-r64-admin-account-menu {
    position: absolute;
    top: 48px;
    right: 0;
    z-index: 100;
    display: grid;
    gap: 6px;
    width: 196px;
    padding: 10px;
    color: #ffffff;
    background: #101820;
    border: 1px solid #303844;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .32);
  }

  body[data-r64-ai-header].aph2-theme #root header.aph-admin-shell-header .aph-r64-admin-account-menu[hidden] {
    display: none !important;
  }

  body[data-r64-ai-header].aph2-theme #root header.aph-admin-shell-header .aph-r64-admin-account-menu strong {
    color: #aeb7c2 !important;
    font-size: 12px;
    font-weight: 600;
  }

  body[data-r64-ai-header].aph2-theme #root header.aph-admin-shell-header .aph-r64-admin-account-menu a {
    display: flex !important;
    align-items: center;
    min-height: 44px;
    padding: 0 12px;
    color: #ffffff !important;
    background: #252525;
    text-decoration: none;
  }

  body[data-r64-ai-header].aph2-theme #root header.aph-admin-shell-header button.aph-r64-ai-launcher[data-r64-placement="admin"] {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aph-r64-ai-launcher,
  body[data-r64-ai-header] #north-ai-assistant > .north-ai-overlay {
    transition: none !important;
  }
}
/* R67：640px 与中宽桌面的裁切边界必须连续、可预测。 */

/* 精确 640px 时，对齐 R43 的 12px 页面 gutter，消除 AI 页 8px 背景 overscan。 */
@media (min-width: 640px) and (max-width: 640px) {
  body[data-r42-route="ai-alerts"] [data-r56-ai-center-app] {
    margin-inline: -12px !important;
    padding-inline: 12px !important;
  }
}

/* 中宽桌面没有足够空间容纳完整的分源状态，禁止显示裁切碎片。 */
@media (min-width: 641px) and (max-width: 1023px) {
  body.aph2-theme
    header.sticky.top-0
    .aph-header-status.r7-unified-source-host {
    display: none !important;
  }
}
/* R69：恢复后台桌面顶栏的固定几何，避免 AI 入口被相对定位推出视口。 */
@media (min-width: 641px) {
  body[data-r64-ai-header].aph2-theme.aph-admin-page
    #root header.aph-admin-shell-header.aph-r64-ai-host {
    position: fixed !important;
    inset: 0 0 auto 60px !important;
  }
}
/* AI证据分层：动态来源与已批准知识保持可视区分。 */
#north-ai-assistant .north-ai-knowledge {
  display: flex;
  max-width: 92%;
  flex-wrap: wrap;
  gap: 6px;
}

#north-ai-assistant .north-ai-knowledge-item {
  padding: 5px 8px;
  border: 1px solid rgba(40, 91, 141, .22);
  border-radius: 8px;
  color: #285b8d;
  background: #eef5fb;
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#north-ai-assistant .north-ai-center-choices {
  display: grid;
  width: min(92%, 560px);
  gap: 8px;
  margin-top: 2px;
}

#north-ai-assistant .north-ai-center-choices-title {
  margin: 0;
  color: #5f6670;
  font-size: 12px;
  line-height: 1.5;
}

#north-ai-assistant .north-ai-center-choice {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #d7dce2;
  border-radius: 8px;
  color: #272b31;
  background: #ffffff;
  font: inherit;
  font-size: 13px;
  line-height: 1.45;
  text-align: left;
  cursor: pointer;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}

#north-ai-assistant .north-ai-center-choice:hover {
  border-color: #b8101a;
  color: #8f0c14;
  background: #fff7f7;
}

#north-ai-assistant .north-ai-center-choice:focus-visible {
  outline: 2px solid #b8101a;
  outline-offset: 2px;
}

@media (max-width: 640px) {
  #north-ai-assistant .north-ai-knowledge,
  #north-ai-assistant .north-ai-meta,
  #north-ai-assistant .north-ai-limitations,
  #north-ai-assistant .north-ai-center-choices {
    max-width: 96%;
    width: 96%;
  }
}
/* R70：侧栏仍以 140px 临时覆盖展开；切页和关闭后的抑制态固定回 60px。 */
@media (min-width: 641px) {
  body.aph2-theme .aph-exact-sidebar.aph-r70-hover-suppressed,
  body.aph2-theme .aph-exact-sidebar.aph-r70-hover-suppressed:hover,
  body.aph2-theme .aph-exact-sidebar.aph-r70-hover-suppressed.is-hovered,
  body.aph2-theme .aph-exact-sidebar.aph-r70-hover-suppressed.is-expanded {
    flex: 0 0 60px !important;
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
  }

  body.aph2-theme .aph-exact-sidebar.aph-r70-hover-suppressed .aph-exact-sidebar-panel,
  body.aph2-theme .aph-exact-sidebar.aph-r70-hover-suppressed:hover .aph-exact-sidebar-panel,
  body.aph2-theme .aph-exact-sidebar.aph-r70-hover-suppressed.is-hovered .aph-exact-sidebar-panel,
  body.aph2-theme .aph-exact-sidebar.aph-r70-hover-suppressed.is-expanded .aph-exact-sidebar-panel {
    width: 60px !important;
    box-shadow: none !important;
  }

  body.aph2-theme .aph-exact-sidebar.aph-r70-hover-suppressed .aph-exact-sidebar-panel a span {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(-3px) !important;
    transition: none !important;
  }
}
/* R71：纯 :hover 先保持 60px；宿主 mouseenter 建立 is-hovered 后才允许 140px 覆盖。 */
@media (min-width: 641px) {
  body.aph2-theme
    .aph-exact-sidebar:hover:not(.is-hovered):not(.is-expanded)
    .aph-exact-sidebar-panel {
    width: 60px !important;
    box-shadow: none !important;
  }

  body.aph2-theme
    .aph-exact-sidebar:hover:not(.is-hovered):not(.is-expanded)
    .aph-exact-sidebar-panel a span {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(-3px) !important;
    transition: none !important;
  }
}
/* R72：避让桌面侧栏，并修正旧表格增强层对回款最后一列的移动标签。 */
@media (min-width: 721px) {
  body:has(.r65-admin) .r65-admin {
    width: calc(100% - 72px);
    margin-left: 72px;
  }
}

@media (max-width: 720px) {
  .r65-admin .r65-table[aria-label="正式回款额"] tbody td:last-child::before {
    content: "收缴率" !important;
  }
}
/* R59：桌面侧栏展开时，整个工作区同步让出 140px，所有页面正文不再被覆盖。 */
@media (min-width: 641px) {
  body.aph2-theme .aph-exact-sidebar:not(.aph-r57-hover-suppressed):hover,
  body.aph2-theme .aph-exact-sidebar:not(.aph-r57-hover-suppressed).is-hovered,
  body.aph2-theme .aph-exact-sidebar:not(.aph-r57-hover-suppressed).is-expanded {
    flex: 0 0 140px !important;
    width: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
  }

  body.aph2-theme:not(.aph-admin-page)
    #root > div:has(> .aph-exact-sidebar:not(.aph-r57-hover-suppressed):hover)
    .aph-page-tabs,
  body.aph2-theme:not(.aph-admin-page)
    #root > div:has(> .aph-exact-sidebar:not(.aph-r57-hover-suppressed).is-hovered)
    .aph-page-tabs,
  body.aph2-theme:not(.aph-admin-page)
    #root > div:has(> .aph-exact-sidebar:not(.aph-r57-hover-suppressed).is-expanded)
    .aph-page-tabs {
    left: 140px !important;
  }

  body.aph2-theme.aph-admin-page
    > #root > div:has(> .aph-exact-sidebar:not(.aph-r57-hover-suppressed):hover),
  body.aph2-theme.aph-admin-page
    > #root > div:has(> .aph-exact-sidebar:not(.aph-r57-hover-suppressed).is-hovered),
  body.aph2-theme.aph-admin-page
    > #root > div:has(> .aph-exact-sidebar:not(.aph-r57-hover-suppressed).is-expanded) {
    padding-left: 140px !important;
  }

  body.aph2-theme.aph-admin-page
    #root > div:has(> .aph-exact-sidebar:not(.aph-r57-hover-suppressed):hover)
    > .aph-page-tabs,
  body.aph2-theme.aph-admin-page
    #root > div:has(> .aph-exact-sidebar:not(.aph-r57-hover-suppressed).is-hovered)
    > .aph-page-tabs,
  body.aph2-theme.aph-admin-page
    #root > div:has(> .aph-exact-sidebar:not(.aph-r57-hover-suppressed).is-expanded)
    > .aph-page-tabs {
    left: 140px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.aph2-theme .aph-exact-sidebar,
  body.aph2-theme .aph-page-tabs,
  body.aph2-theme main#main-content {
    transition-duration: 0.01ms !important;
  }
}
/* R89：AI经营意见与已核验事实分层，仅作用于华北经营助手。 */
#north-ai-assistant .north-ai-opinion {
  display: grid;
  gap: 0;
  width: min(100%, 740px);
  margin-top: 8px;
  overflow: hidden;
  border: 1px solid #dfe3e8;
  border-left: 3px solid #cf001b;
  border-radius: 12px;
  color: #343940;
  background: #fff;
}

#north-ai-assistant .north-ai-opinion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid #edf0f3;
}

#north-ai-assistant .north-ai-opinion-header strong {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 680;
}

#north-ai-assistant .north-ai-opinion-header span {
  padding: 3px 7px;
  border-radius: 999px;
  color: #9f1625;
  background: #fff0f2;
  font-size: 11px;
  line-height: 1.4;
}

#north-ai-assistant .north-ai-opinion-section {
  padding: 13px 14px;
}

#north-ai-assistant .north-ai-opinion-section + .north-ai-opinion-section {
  border-top: 1px solid #edf0f3;
}

#north-ai-assistant .north-ai-opinion-section h4 {
  margin: 0 0 6px;
  color: #747b84;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 650;
}

#north-ai-assistant .north-ai-opinion-section p,
#north-ai-assistant .north-ai-opinion-evidence p,
#north-ai-assistant .north-ai-opinion-disclaimer {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

#north-ai-assistant .north-ai-opinion-section p {
  font-size: 14px;
  line-height: 1.72;
}

#north-ai-assistant .north-ai-opinion-actions {
  background: #f7f8fa;
}

#north-ai-assistant .north-ai-opinion-evidence {
  border-top: 1px solid #edf0f3;
}

#north-ai-assistant .north-ai-opinion-evidence summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  color: #626b76;
  cursor: pointer;
  font-size: 12px;
  line-height: 1.5;
}

#north-ai-assistant .north-ai-opinion-evidence p {
  padding: 0 14px 12px;
  color: #747b84;
  font-size: 12px;
  line-height: 1.6;
}

#north-ai-assistant .north-ai-opinion-disclaimer {
  padding: 10px 14px;
  border-top: 1px solid #edf0f3;
  color: #8a919a;
  font-size: 11px;
  line-height: 1.55;
}

@media (max-width: 640px) {
  #north-ai-assistant .north-ai-opinion {
    border-radius: 10px;
  }

  #north-ai-assistant .north-ai-opinion-section p {
    font-size: 16px;
    line-height: 1.7;
  }

  #north-ai-assistant .north-ai-opinion-header,
  #north-ai-assistant .north-ai-opinion-section {
    padding-left: 13px;
    padding-right: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #north-ai-assistant .north-ai-opinion * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
