*,:after,:before{--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:rgba(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:rgba(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: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{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,pre,samp{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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{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}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.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}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-28{bottom:-7rem}.-bottom-5{bottom:-1.25rem}.-left-3{left:-.75rem}.-right-24{right:-6rem}.-top-24{top:-6rem}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.bottom-5{bottom:1.25rem}.left-1\/3{left:33.333333%}.left-2\.5{left:.625rem}.left-3{left:.75rem}.right-0{right:0}.right-5{right:1.25rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-20{top:5rem}.top-5{top:1.25rem}.top-\[6vh\]{top:6vh}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.col-span-2{grid-column:span 2/span 2}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-mt-5{margin-top:-1.25rem}.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-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.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-8{margin-top:2rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-px{height:1px}.max-h-28{max-height:7rem}.max-h-48{max-height:12rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[45vh\]{max-height:45vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[88vh\]{max-height:88vh}.min-h-0{min-height:0}.min-h-12{min-height:3rem}.min-h-36{min-height:9rem}.min-h-\[64px\]{min-height:64px}.min-h-\[76px\]{min-height:76px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[18\%\]{width:18%}.w-\[24\%\]{width:24%}.w-\[26\%\]{width:26%}.w-\[92vw\]{width:92vw}.w-full{width:100%}.min-w-0{min-width:0}.min-w-32{min-width:8rem}.min-w-48{min-width:12rem}.min-w-60{min-width:15rem}.min-w-\[120px\]{min-width:120px}.min-w-\[190px\]{min-width:190px}.min-w-\[220px\]{min-width:220px}.min-w-\[680px\]{min-width:680px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-8{max-width:2rem}.max-w-\[1600px\]{max-width:1600px}.max-w-\[180px\]{max-width:180px}.max-w-\[220px\]{max-width:220px}.max-w-\[280px\]{max-width:280px}.max-w-\[85\%\]{max-width:85%}.max-w-\[88\%\]{max-width:88%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-y{resize:vertical}.scroll-mt-20{scroll-margin-top:5rem}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,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}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.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{gap:0}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.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-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-4{row-gap:1rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(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*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(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*(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*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(241 245 249/var(--tw-divide-opacity,1))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-sm{border-top-right-radius:.125rem}.border{border-width:1px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.border-sky-100{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}.border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.border-sky-300{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.border-sky-400\/30{border-color:rgba(56,189,248,.3)}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/80{border-color:rgba(226,232,240,.8)}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-950{--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity,1))}.border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/40{border-color:hsla(0,0%,100%,.4)}.border-white\/80{border-color:hsla(0,0%,100%,.8)}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-50\/60{background-color:rgba(236,253,245,.6)}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-500\/85{background-color:rgba(16,185,129,.85)}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/40{background-color:rgba(238,242,255,.4)}.bg-indigo-50\/50{background-color:rgba(238,242,255,.5)}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-indigo-500\/85{background-color:rgba(99,102,241,.85)}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-indigo-700{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-400\/10{background-color:rgba(56,189,248,.1)}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-sky-50\/50{background-color:rgba(240,249,255,.5)}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-sky-500\/85{background-color:rgba(14,165,233,.85)}.bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/60{background-color:rgba(248,250,252,.6)}.bg-slate-50\/70{background-color:rgba(248,250,252,.7)}.bg-slate-500\/85{background-color:rgba(100,116,139,.85)}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\/30{background-color:rgba(15,23,42,.3)}.bg-slate-900\/40{background-color:rgba(15,23,42,.4)}.bg-slate-900\/45{background-color:rgba(15,23,42,.45)}.bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.bg-slate-950\/60{background-color:rgba(2,6,23,.6)}.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-violet-500\/85{background-color:rgba(139,92,246,.85)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/15{background-color:hsla(0,0%,100%,.15)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-indigo-50{--tw-gradient-from:#eef2ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(238,242,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-50\/70{--tw-gradient-from:rgba(238,242,255,.7) var(--tw-gradient-from-position);--tw-gradient-to:rgba(238,242,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-600{--tw-gradient-from:#4f46e5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(79,70,229,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-white{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fff var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-sky-50{--tw-gradient-to:#f0f9ff var(--tw-gradient-to-position)}.to-sky-50\/70{--tw-gradient-to:rgba(240,249,255,.7) var(--tw-gradient-to-position)}.to-sky-500{--tw-gradient-to:#0ea5e9 var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.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-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.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-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.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-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-10{padding-bottom:2.5rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-3{padding-left:.75rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pr-5{padding-right:1.25rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.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-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.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-black{font-weight:900}.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-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-\[0\.4em\]{letter-spacing:.4em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-amber-950{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.text-indigo-100{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity,1))}.text-indigo-50{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.text-indigo-900{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity,1))}.text-indigo-950{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity,1))}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-rose-800{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity,1))}.text-sky-100{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity,1))}.text-sky-300{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-sky-800{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity,1))}.text-sky-900{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/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-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.mix-blend-luminosity{mix-blend-mode:luminosity}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.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)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--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)}.ring-amber-200{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity,1))}.ring-slate-950{--tw-ring-opacity:1;--tw-ring-color:rgb(2 6 23/var(--tw-ring-opacity,1))}.ring-white\/30{--tw-ring-color:hsla(0,0%,100%,.3)}.blur{--tw-blur:blur(8px)}.blur,.blur-3xl{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)}.blur-3xl{--tw-blur:blur(64px)}.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-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-sm,.backdrop-blur-xl{-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)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-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}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}[x-cloak]{display:none!important}body{font-family:-apple-system,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;min-height:100vh;background:radial-gradient(circle at 8% 0,rgba(99,102,241,.08),transparent 24rem),radial-gradient(circle at 92% 12%,rgba(14,165,233,.07),transparent 26rem),#f8fafc}.htmx-request{opacity:.55;transition:opacity .15s;cursor:progress}a,button,input,select,textarea{transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}a:active,button:active:not(:disabled){transform:translateY(1px)}input:focus,select:focus,textarea:focus{outline:none;border-color:#6366f1!important;box-shadow:0 0 0 3px rgba(99,102,241,.12)}::-moz-selection{background:#c7d2fe;color:#1e293b}::selection{background:#c7d2fe;color:#1e293b}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.file\:mr-2::file-selector-button{margin-right:.5rem}.file\:mr-3::file-selector-button{margin-right:.75rem}.file\:rounded-lg::file-selector-button{border-radius:.5rem}.file\:border-0::file-selector-button{border-width:0}.file\:bg-slate-100::file-selector-button{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.file\:bg-white::file-selector-button{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.file\:px-3::file-selector-button{padding-left:.75rem;padding-right:.75rem}.file\:py-1\.5::file-selector-button{padding-top:.375rem;padding-bottom:.375rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:text-xs::file-selector-button{font-size:.75rem;line-height:1rem}.file\:text-slate-700::file-selector-button{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.last\:border-r-0:last-child{border-right-width:0}.read-only\:bg-slate-50:-moz-read-only{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.read-only\:bg-slate-50:read-only{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.hover\:border-rose-300:hover{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\:bg-amber-700:hover{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.hover\:bg-emerald-100:hover{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.hover\:bg-emerald-50:hover{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.hover\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-indigo-100:hover{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50\/60:hover{background-color:rgba(238,242,255,.6)}.hover\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.hover\:bg-rose-50:hover{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.hover\:bg-rose-600:hover{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.hover\:bg-rose-700:hover{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.hover\:bg-sky-100:hover{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.hover\:bg-sky-50:hover{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.hover\:bg-sky-700:hover{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-50\/60:hover{background-color:rgba(248,250,252,.6)}.hover\:bg-slate-50\/80:hover{background-color:rgba(248,250,252,.8)}.hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.hover\:bg-white\/20:hover{background-color:hsla(0,0%,100%,.2)}.hover\:text-amber-600:hover{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.hover\:text-indigo-800:hover{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.hover\:text-rose-600:hover{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.hover\:text-rose-700:hover{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.hover\:text-sky-700:hover{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-slate-800:hover{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/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\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.focus\:border-indigo-400:focus{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.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-indigo-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.focus\:ring-slate-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(15 23 42/var(--tw-ring-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:bg-slate-300:disabled{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group[open] .group-open\:inline{display:inline}.group[open] .group-open\:hidden{display:none}.group:hover .group-hover\:bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.group:hover .group-hover\:underline{text-decoration-line:underline}@media (min-width:640px){.sm\:absolute{position:absolute}.sm\:relative{position:relative}.sm\:right-0{right:0}.sm\:top-0{top:0}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:ml-auto{margin-left:auto}.sm\:mr-4{margin-right:1rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:min-h-\[38px\]{min-height:38px}.sm\:w-72{width:18rem}.sm\:w-auto{width:auto}.sm\:max-w-\[200px\]{max-width:200px}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[160px_1fr_auto\]{grid-template-columns:160px 1fr auto}.sm\:grid-cols-\[1fr_160px_120px_auto\]{grid-template-columns:1fr 160px 120px auto}.sm\:items-end{align-items:flex-end}.sm\:p-10{padding:2.5rem}.sm\:p-12{padding:3rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-7{padding:1.75rem}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:pt-8{padding-top:2rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}}@media (min-width:768px){.md\:table-cell{display:table-cell}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\: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*(1 - var(--tw-divide-x-reverse)))}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px*var(--tw-divide-y-reverse))}}@media (min-width:1024px){.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.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-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[12rem_1fr\]{grid-template-columns:12rem 1fr}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.lg\:p-14{padding:3.5rem}.lg\:px-14{padding-left:3.5rem;padding-right:3.5rem}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}}
#membership-limit-modal{z-index:16000!important}#flash{z-index:17000!important}
:root{--portal-primary:#4356a7;--portal-border:#dce4ef}
.portal-group{border:1px solid var(--portal-border);border-radius:18px;background:white;padding:24px;scroll-margin-top:80px}.portal-group h2{font-size:18px;font-weight:700;color:#263650;margin-bottom:16px}
.portal-link-grid,.portal-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portal-link-grid a{padding:18px;background:#f5f7fc;border:1px solid #e3e9f3;border-radius:12px;color:#34477e}.portal-link-grid strong,.portal-link-grid span{display:block}.portal-link-grid span{color:#66758b;font-size:12px;line-height:1.8;margin-top:6px}
.portal-tool-row{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.portal-tool-row a{padding:9px 14px;border:1px solid #dde4ee;border-radius:9px;background:white;color:#43536e;font-size:13px}.portal-profile>section{scroll-margin-top:80px}.portal-profile>nav{position:sticky;top:56px;z-index:15;background:#f7f9fcf5;padding:12px;border-radius:14px}
.portal-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0}.portal-quick-grid a{border:1px solid #dfe7f3;border-radius:16px;padding:20px;background:linear-gradient(145deg,#f4f6ff,white);color:#344477;box-shadow:0 6px 20px #33467808;transition:transform .2s,box-shadow .2s}.portal-quick-grid a:nth-child(even){background:linear-gradient(145deg,#edf8f7,white);color:#216c72}.portal-quick-grid a:hover,.portal-link-grid a:hover{transform:translateY(-2px);box-shadow:0 8px 22px #33467812}.portal-quick-grid span,.portal-quick-grid strong,.portal-quick-grid small{display:block}.portal-quick-grid span{font-size:11px;letter-spacing:.08em;opacity:.7}.portal-quick-grid strong{font-size:22px;margin:12px 0 8px}.portal-quick-grid small{font-size:12px;color:#69788d;line-height:1.8}
.portal-dropzone{border:1.5px dashed #b9c8df;border-radius:12px;padding:14px;background:#f7faff;flex:1;min-width:0;max-width:100%;transition:background .2s,border-color .2s}.portal-dropzone.dragging{border-color:#4056ad;background:#eaf0ff}.portal-dropzone input[type=file]{max-width:100%;font-size:12px}.portal-dropzone p{color:#65758b;font-size:12px;margin:7px 0}
.mail-upload-box{border:1px solid #dae5f1;border-radius:14px;background:#f7fafc;padding:16px;margin:14px 0}.mail-upload-box h3{font-size:14px;font-weight:600;color:#30476b}.mail-upload-box>p{font-size:12px;color:#66758b;line-height:1.8;margin:7px 0}.mail-upload-box label{display:flex;align-items:center;gap:8px;font-size:13px;margin:9px 0;overflow-wrap:anywhere}.mail-upload-box label button{margin-left:auto;color:#b54750;font-size:12px}
.problem-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0}.problem-actions button{border:1px solid #cfdaf0;border-radius:8px;padding:7px 12px;background:white;color:#4056ad;font-size:12px;cursor:pointer}.problem-actions button[data-mail-dismiss]{color:#a94a52;border-color:#f0d7da}.problem-actions span{font-size:12px;color:#a94a52}.problem-actions button:disabled{opacity:.5;cursor:wait}.portal-text-button{color:#4356a7;font-size:13px;padding:6px 0}
.portal-pages{display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap;gap:10px!important;margin:20px 0!important;padding:14px!important;border-top:1px solid #e5ebf3!important}.portal-pages a,.portal-pages button{border:1px solid #d8e1ed!important;border-radius:9px!important;background:white!important;color:#425478!important;padding:8px 13px!important;font-size:13px!important;line-height:1.4!important;text-decoration:none!important;box-shadow:none!important}.portal-pages a:hover,.portal-pages button:hover{background:#edf1ff!important;border-color:#a9b8e3!important}.portal-pages [disabled]{opacity:.45;cursor:not-allowed}.portal-pages span{font-size:13px;color:#64748b}
.portal-school-chart{display:grid;gap:13px;margin:18px 0}.portal-school-row{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:center;font-size:12px}.portal-school-row>a{color:#475875;overflow-wrap:anywhere}.portal-school-bars{display:grid;gap:4px}.portal-school-bar{height:17px;border-radius:4px;min-width:2px;transition:width .6s ease;display:flex;align-items:center;padding-left:6px;color:white;font-size:10px}.portal-school-bar.total{background:#a8b4cf}.portal-school-bar.sent{background:#4b7dba}.portal-school-bar.replied{background:#249b8c}.portal-school-legend{display:flex;gap:16px;font-size:12px;color:#64748b}.portal-school-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}.portal-school-chart+details{margin-top:15px}
.portal-mail-bubble{padding:16px;border-radius:14px;margin:14px 0;max-width:90%}.portal-mail-bubble.incoming{background:#eef3f8;margin-right:auto}.portal-mail-bubble.outgoing{background:#eef0ff;margin-left:auto}.portal-modal{position:fixed;inset:0;z-index:12000;background:#17243b70;padding:5vh 16px;overflow:auto}.portal-modal-panel{background:white;max-width:780px;margin:auto;border-radius:16px;max-height:90vh;overflow:auto;position:relative}.portal-modal.hidden{display:none}.portal-status{font-size:12px;color:#64748b}
#drawer-modal{padding:64px 0 0!important;overflow:hidden!important}
#drawer-modal .portal-modal-panel{height:calc(100vh - 64px);max-height:none;margin:0 0 0 auto;max-width:600px;border-radius:18px 0 0 18px;overflow:auto}
#drawer-modal .portal-modal-panel>div>div:first-child{top:0!important}
.supervisor-detail-page #drawer-body>div>div:first-child{top:64px!important;z-index:70!important}
.supervisor-list-page>.fixed.inset-0,.interest-ranking-page>.fixed.inset-0{top:64px!important;height:calc(100vh - 64px)!important}
@media(max-width:900px){.portal-link-grid,.portal-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.portal-link-grid{grid-template-columns:1fr}.portal-quick-grid a{padding:14px}.portal-quick-grid strong{font-size:18px}.portal-school-row{grid-template-columns:110px 1fr;gap:10px}.portal-group{padding:18px}.portal-modal{padding:2vh 8px}}@media(prefers-reduced-motion:reduce){.portal-school-bar,.portal-quick-grid a{transition:none}}
/* Keep the dismiss action distinct from generic workspace buttons. */
body[data-ui] .problem-actions button[data-mail-dismiss]{background:#fff7f8;color:#a02742;border-color:#edc7ce;box-shadow:none}
body[data-ui] .problem-actions button[data-mail-dismiss]:hover:not(:disabled){background:#ffecef;color:#a02742;border-color:#d994a4}
body[data-ui] .problem-actions button[data-mail-dismiss]:active:not(:disabled){background:#fbdce3;color:#a02742}
body[data-ui] .problem-actions button[data-mail-dismiss]:focus-visible{outline:2px solid #a02742;outline-offset:3px}

.hub-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;max-width:1280px!important;margin:auto}.hub-sidebar{position:sticky;top:80px;align-self:start;display:grid;gap:5px;background:#fff;border:1px solid #e0e6f1;border-radius:16px;padding:14px}.hub-sidebar strong{font-size:12px;color:#8190a7;padding:6px 10px}.hub-sidebar a{padding:10px 12px;border-radius:9px;color:#52627d;font-size:13px}.hub-sidebar a:hover,.hub-sidebar a[aria-current]{background:#eef2ff;color:#4f46a1}.hub-content{min-width:0}.hub-content section{scroll-margin-top:90px}.hub-content h2{font-size:16px;font-weight:650}.hub-button{display:inline-flex;align-items:center;border:1px solid #d7dfee;background:#fff;padding:9px 15px;border-radius:10px;font-size:13px;font-weight:600;color:#4c5d7b;cursor:pointer}.hub-button.primary{background:#4f489d;border-color:#4f489d;color:#fff}.hub-button:disabled{opacity:.5;cursor:not-allowed}.hub-link-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}.hub-link-row a{font-size:13px;color:#4f489d}.hub-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}.hub-heading h1{font-size:26px;font-weight:750;color:#27304d}.hub-heading p{font-size:13px;color:#718099;margin-top:8px}.hub-card{background:#fff;border:1px solid #e1e6ef;border-radius:17px;padding:24px;margin-bottom:20px;box-shadow:0 8px 26px #2c3e7005}.hub-card h2{margin-bottom:18px}.quick-mail-page{max-width:1280px;margin:auto}.quick-mail-page label:not(.quick-check):not(.quick-file){display:block;font-size:13px;color:#607089;margin:12px 0}.quick-mail-page input:not([type=checkbox]):not([type=file]){display:block;width:100%;border:1px solid #cfd8e9;border-radius:9px;padding:10px 12px;margin-top:7px;color:#28354a}.quick-mail-page #quick-editor .ql-editor{min-height:310px;font-size:15px;line-height:1.8}.quick-mail-page .ql-editor p{margin-bottom:1em}.quick-mail-page .ql-toolbar{background:#f8faff}.hub-hint{font-size:12px;color:#7c8aa1;line-height:1.8;margin-top:12px}.hub-notice{padding:16px;border:1px solid #e9cf95;background:#fff8e8;border-radius:12px;font-size:13px;margin-bottom:20px}.quick-materials{margin:18px 0}.quick-file,.quick-check{display:flex;gap:10px;align-items:center;font-size:13px;margin:10px 0}.quick-file span{overflow-wrap:anywhere}.quick-file small{color:#8290a5}.quick-mail-page .ql-snow .ql-picker.ql-font{width:145px}.quick-mail-page .ql-picker-item:before,.quick-mail-page .ql-picker-label:before{content:attr(data-label)}#quick-status{font-size:13px;line-height:1.8;color:#536683;margin:16px 0}#quick-retry-area{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:900px){.hub-layout{grid-template-columns:minmax(0,1fr);gap:15px}.hub-sidebar{position:static;display:flex;overflow-x:auto;white-space:nowrap;padding:8px}.hub-sidebar strong{display:none}.hub-sidebar a{flex-shrink:0}.hub-card{padding:16px}.hub-content section{scroll-margin-top:80px}.quick-mail-page #quick-toolbar{overflow:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* No transforms on containers: fixed dialogs and sticky headers keep their positioning. */
main :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #7aa7e4;outline-offset:3px}
main :is(button,input,select,textarea){transition:background-color .16s,border-color .16s,box-shadow .16s}
main input:not([type=checkbox]):not([type=radio]):focus,main textarea:focus,main select:focus{border-color:#789cce;box-shadow:0 0 0 3px #5681bf12}
main table tbody tr{transition:background-color .16s}
main table tbody tr:hover{background-color:#f3f7fc}
main table th{letter-spacing:.02em}
body>nav a{transition:background-color .16s,color .16s}
main button:disabled{cursor:not-allowed}
.dashboard-polish{max-width:1280px;margin:0 auto 24px}
.dashboard-replies{max-width:1280px;margin:0 auto}.dashboard-replies>div{border-radius:16px}
.dashboard-heading{padding:23px 27px;border-radius:18px;background:linear-gradient(110deg,#edf3fc,#f6f9fd);border:1px solid #dce6f4;gap:14px;flex-wrap:wrap}
.dashboard-heading h1{font-size:26px;font-weight:750;color:#203d64}
.dashboard-polish>section,.dashboard-secondary>section{border-radius:18px;border-color:#e0e7f0;box-shadow:0 4px 18px #27446905}
.dashboard-polish h2{font-size:16px;font-weight:650}
.dashboard-polish .chart-value{color:#162e50;background:#ffffffcf;border-radius:4px;inset-inline-start:6px;top:4px;bottom:4px;padding:0 5px;min-width:23px;justify-content:center;font-variant-numeric:tabular-nums}
.dashboard-polish [data-chart-fill=horizontal]{background-image:linear-gradient(90deg,#3565a4,#77a9d3);transform-origin:left}
.dashboard-polish [data-chart-fill=vertical]{background-image:linear-gradient(0deg,#2c5585,#6c9ccc);transform-origin:bottom;box-shadow:0 -2px 5px #37629214}
.chart-column{border-radius:8px 8px 0 0;cursor:default;transition:background-color .18s}
.chart-column:hover,.chart-column:focus,.chart-column.is-selected{background:#e9f2fb;outline:2px solid #afc9e7;outline-offset:2px}
.chart-column:hover .chart-fill,.chart-column:focus .chart-fill,.chart-column.is-selected .chart-fill{background-image:linear-gradient(0deg,#235dab,#54adcd)}
.chart-column>span{position:relative;z-index:1}
.dashboard-polish .chart-animate[data-chart-fill=horizontal]{animation:chart-grow-x .6s cubic-bezier(.2,.7,.3,1) both}
.dashboard-polish .chart-animate[data-chart-fill=vertical]{animation:chart-grow-y .6s cubic-bezier(.2,.7,.3,1) both}
@keyframes chart-grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes chart-grow-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(max-width:700px){.dashboard-secondary{grid-template-columns:minmax(0,1fr);gap:16px}.dashboard-heading{padding:19px}.dashboard-heading h1{font-size:23px}.dashboard-polish>section{padding:18px}.dashboard-secondary dd{overflow-wrap:anywhere;min-width:0;text-align:right}.dashboard-secondary dl>div{gap:12px}}
@media(prefers-reduced-motion:reduce){.dashboard-polish .chart-animate{animation:none!important}main :is(button,a,input,select,textarea,summary),main table tbody tr,body>nav a,.chart-column{transition:none!important}}
/* Shared palette: indigo actions, teal success, amber attention. */
:root{--ui-primary:#5851a8;--ui-primary-dark:#443c88;--ui-teal:#287d73;--ui-amber:#a96a24}
body.bg-slate-50{background-color:#f7f8fc}
body>nav{border-bottom-color:#e6e4f0}
body>nav a[aria-current=page]{background:#514891;color:white;box-shadow:0 3px 9px #5148911a}
main :is(button,a,input,select,textarea,summary):focus-visible{outline-color:#9186c8}
main table tbody tr:hover{background-color:#f5f3fc}
.dashboard-polish .dashboard-heading{background:linear-gradient(110deg,#efedf9,#f1f8f6);border-color:#e2deef}
.dashboard-polish .dashboard-heading h1{color:#433c70}
.dashboard-polish [data-chart-fill=horizontal]{background-image:linear-gradient(90deg,#6258a6,#9a8bc8)}
.dashboard-polish [data-chart-fill=horizontal].bg-sky-500\/85{background-image:linear-gradient(90deg,#5479ad,#86a9cf)}
.dashboard-polish [data-chart-fill=horizontal].bg-violet-500\/85{background-image:linear-gradient(90deg,#9580b5,#b9a4ce)}
.dashboard-polish [data-chart-fill=horizontal].bg-emerald-500\/85{background-image:linear-gradient(90deg,#34867a,#83b8a4)}
.dashboard-polish [data-chart-fill=vertical]{background-image:linear-gradient(0deg,#665aa8,#a49acc);box-shadow:0 -2px 6px #665aa814}
.dashboard-polish [data-chart-fill=vertical].bg-sky-500{background-image:linear-gradient(0deg,#2d8179,#79b8aa)}
.dashboard-polish .chart-column:hover,.dashboard-polish .chart-column:focus,.dashboard-polish .chart-column.is-selected{background:#f0edf8;outline-color:#c6bddf}
.dashboard-polish .chart-column:is(:hover,:focus,.is-selected) .chart-fill{background-image:linear-gradient(0deg,#4b4385,#9180c0)}
.work .work-hero{background:linear-gradient(115deg,#39365f,#5c538c 65%,#617e8a);box-shadow:0 12px 28px #51489116}
.work .work-hero .eyebrow{color:#d0c8ee}.work .work-hero p{color:#ece8f6}.work .work-hero .hero-note{color:#d5cfe7}
.work .work-hero .hero-cta{color:#514891;background:#fff}.work .work-hero .hero-cta:hover{background:#f2eefb}
.work .work-stats>a:nth-child(1){background:#f5f2fc;border-color:#e6dff3}.work .work-stats>a:nth-child(1) strong{color:#60519a}
.work .work-stats>a:nth-child(2){background:#eff6fa;border-color:#dce9f2}.work .work-stats>a:nth-child(2) strong{color:#3e7398}
.work .work-stats>a:nth-child(3){background:#fff8ee;border-color:#f0e3cb}.work .work-stats>a:nth-child(3) strong{color:#a56a28}
.work .work-stats>a:nth-child(4){background:#eef7f3;border-color:#dcece3}.work .work-stats>a:nth-child(4) strong{color:#327b66}
.work .work-tabs a[aria-current=page]{color:#56468a;background:#eeeaf7;border-bottom-color:#7b68af}
.work button,.work a.btn{background:#5c5195}.work button:hover,.work a.btn:hover{background:#483d7c}
.work .task-filters button[aria-pressed=true]{background:#5c5195}
.work .new-task{background:#faf8fe;border-color:#c3b7da}.work .new-task>summary{color:#68538f}
.work .work-tip{background:#f2f6f3;border-color:#dfe9e2}.work .work-tip .eyebrow{color:#54856c}
.work .work-tip a{color:#35795e}


/* One application-wide visual vocabulary. No transforms on overlay ancestors. */
.app-brand-icon{display:block;flex-shrink:0;object-fit:contain}
:root{--app-primary:#5852a5;--app-primary-hover:#46408a;--app-success:#258277;--app-text:#273449;--app-muted:#526078;--app-border:#e0e6ef;--app-bg:#f5f7fb;--app-radius:16px;--app-shadow:0 3px 16px #23365005}
body[data-ui]{background:var(--app-bg);color:var(--app-text);font-family:Inter,"Segoe UI","Microsoft YaHei",system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.65}
body[data-ui] [hidden]{display:none!important}
body[data-ui]>nav{background:#fff!important;border-color:var(--app-border);box-shadow:0 3px 18px #24325404}
body[data-ui]>nav>div{height:68px;gap:4px;scrollbar-width:thin}
body[data-ui]>nav a[aria-current=page]{background:var(--app-primary)!important;color:#fff!important;box-shadow:none;border-radius:10px}
body[data-ui] main{padding-top:28px;padding-bottom:48px;min-width:0}
body[data-ui] main :is(h1,.mail-heading,.lib h1,.hub-heading h1){font-size:clamp(23px,2vw,29px);line-height:1.35;letter-spacing:-.035em;font-weight:750;color:var(--app-text)}
body[data-ui] main :is(h2,.portal-group h2){font-size:17px;line-height:1.5;letter-spacing:-.015em;font-weight:650}
body[data-ui] main :is(section.bg-white,.mail-panel,.hub-card,.al-card,.km-card,.lib-panel,.portal-group,.work section,.db-card){border-color:var(--app-border);border-radius:var(--app-radius);box-shadow:var(--app-shadow)}
body[data-ui] main :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not(.ql-tooltip input){border-radius:10px;border-color:#d5ddea;background-color:#fff;min-height:38px;font-size:14px;color:var(--app-text);max-width:100%;transition:border-color .15s,box-shadow .15s}
body[data-ui] main input:disabled,body[data-ui] main textarea:disabled,body[data-ui] main select:disabled{background:#f5f7fb!important;color:#78859a}
body[data-ui] main input[type=checkbox],body[data-ui] main input[type=radio]{accent-color:var(--app-primary);width:15px;height:15px;vertical-align:middle}
body[data-ui] main :is(input,textarea,select):focus{border-color:#9a94d0;outline:none;box-shadow:0 0 0 3px #5852a514}
body[data-ui] :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #aaa2de;outline-offset:3px}
body[data-ui] main :is(button,a)[class*="bg-slate-900"],body[data-ui] main :is(button,a)[class*="bg-slate-950"],body[data-ui] main :is(button,a)[class*="bg-indigo-600"],body[data-ui] main :is(.mail-button,.db-button.primary,.lib-btn.primary,.hub-button.primary,.skill-button.primary){background:var(--app-primary)!important;color:#fff!important;border-color:var(--app-primary)!important;border-radius:10px;box-shadow:none}
body[data-ui] main :is(button,a)[class*="bg-slate-900"]:hover,body[data-ui] main :is(button,a)[class*="bg-indigo-600"]:hover{background:var(--app-primary-hover)!important}
body[data-ui] main button:disabled{opacity:.55;cursor:not-allowed}
body[data-ui] main :is(button,a)[class*="rounded-lg"]{border-radius:10px}
body[data-ui] main table{font-variant-numeric:tabular-nums;font-size:14px}
body[data-ui] main table th{background:#f6f8fc!important;color:#65748b;font-size:12px;font-weight:650;line-height:1.5;border-color:var(--app-border)}
body[data-ui] main table td{border-color:#edf0f5}
body[data-ui] main table tbody tr:hover td{background:#f7f6fc}
body[data-ui] .ui-table-scroll{position:relative;max-width:100%;overflow:auto;border-radius:12px}
body[data-ui] main .overflow-x-auto{position:relative;min-width:0;max-width:100%}
body[data-ui] :is(.hub-sidebar,.lib-tabs,.work-tabs,.portal-tool-row){border-color:var(--app-border);border-radius:14px;background:white}
body[data-ui] .hub-sidebar{top:86px}.hub-sidebar a[aria-current]{background:#efedf9;color:var(--app-primary)}
body[data-ui] .portal-link-grid>a{background:white;border:1px solid var(--app-border);border-radius:14px;box-shadow:none;transition:border-color .18s,box-shadow .18s}
body[data-ui] .portal-link-grid>a:hover{border-color:#c0b9e0;box-shadow:0 7px 22px #5852a509}
body[data-ui] .portal-link-grid>a strong{color:#3e426e;font-size:15px}
body[data-ui] .portal-dropzone{background:#f9fafc;border-color:#cfd7e7;border-radius:12px}.portal-dropzone.dragging{background:#eeecfa;border-color:#8880c4}
body[data-ui] .auth-visual{background:linear-gradient(140deg,#353657,#61598e 70%,#438b90)}
body[data-ui] .auth-frame{box-shadow:0 18px 75px #29364a0c;border-color:#e4e8f2}
body[data-ui] .auth-card :is(input,select):not([type=checkbox]){min-height:52px;font-size:16px}
body[data-ui] .auth-panel h1{font-size:30px}body[data-ui] .auth-intro h2{font-size:28px;line-height:1.4;color:#fff}
body[data-ui] main h1.ui-home-title{font-size:clamp(30px,3.2vw,46px);line-height:1.3}
body[data-ui] .work-hero{border-radius:22px}.work-hero h1{color:#fff!important}
body[data-ui] .work-tabs{padding:6px;gap:6px;box-shadow:none}.work-tabs a{border:0!important;border-radius:9px}.work-tabs a[aria-current=page]{background:#eeeaf8;color:var(--app-primary)}
body[data-ui] .mail-dialog{padding:24px;border-radius:22px;box-shadow:0 24px 90px #16253e33}
body[data-ui] :is(.mail-pagination,.lib-pagination,.km-pages,.al-pagination,.portal-pagination){display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;padding:18px 0;margin-top:12px;border-top:1px solid var(--app-border)}
body[data-ui] :is(.mail-pagination,.lib-pagination,.km-pages,.al-pagination,.portal-pagination) a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 13px;border:1px solid var(--app-border);border-radius:9px;background:#fff;color:var(--app-primary);font-size:13px;line-height:1.3}
.ui-back-row{display:flex;align-items:center;gap:10px;margin:0 auto 19px}.ui-back-link{display:inline-flex!important;align-items:center;gap:7px;color:#687791!important;font-size:13px!important;padding:7px 11px!important;border:1px solid var(--app-border);border-radius:9px;background:#fff;line-height:1.5;max-width:100%;min-height:44px;box-sizing:border-box}.ui-back-link:hover{color:var(--app-primary)!important;border-color:#c8c1e0}.ui-back-link:focus-visible{outline:2px solid var(--app-primary);outline-offset:3px}
body[data-ui] .ui-page-heading{margin-bottom:22px}.ui-page-heading h1{margin-bottom:6px}
.ui-chart-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin:20px 0}.ui-chart-card{border:1px solid var(--app-border);border-radius:18px;padding:22px;background:#fff;min-width:0}.ui-chart-card>p{color:var(--app-muted);font-size:12px;margin-top:5px}.ui-donut-content{display:flex;align-items:center;gap:25px;margin-top:19px;flex-wrap:wrap}.ui-donut{position:relative;flex-shrink:0;width:140px;height:140px;border-radius:50%;background:#e9edf4}.ui-donut:after{content:"";position:absolute;inset:19px;border-radius:50%;background:#fff}.ui-donut-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:1;color:#79859b;font-size:12px}.ui-donut-center strong{font-size:29px;color:var(--app-text);line-height:1.3}.ui-chart-legend{flex:1;min-width:140px;display:grid;gap:10px}.ui-chart-legend>div{display:flex;align-items:center;gap:8px;color:#718096;font-size:13px}.ui-chart-legend i{width:9px;height:9px;border-radius:3px;flex-shrink:0}.ui-chart-legend strong{margin-left:auto;color:var(--app-text);font-variant-numeric:tabular-nums}.ui-chart-empty{margin-top:15px;border:1px dashed #dce2ee;border-radius:10px;padding:12px;color:#8090a4;font-size:12px}.ui-line-chart{display:block;width:100%;height:140px;overflow:visible}.ui-line-stroke{stroke-dasharray:1200;stroke-dashoffset:0;animation:ui-line-in 1s ease both}.ui-line-point{cursor:default;outline:none}.ui-line-point:focus,.ui-line-point:hover{r:5;stroke:#fff;stroke-width:2}.ui-line-summary{display:flex;gap:10px;justify-content:space-between;font-size:12px;color:#718096;padding-top:9px;margin-bottom:17px}.ui-usage-bar{height:5px;background:#edf0f6;border-radius:20px;overflow:hidden;margin-top:7px}.ui-usage-bar span{display:block;height:100%;border-radius:20px;background:#6e64b3}.ui-usage-bar.warning span{background:#c28d4c}.ui-usage-bar.full span{background:#bf526c}
@keyframes ui-line-in{from{stroke-dashoffset:1200}to{stroke-dashoffset:0}}
body[data-ui] main .ql-toolbar.ql-snow{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;padding:10px 12px;overflow:visible}body[data-ui] main .ql-toolbar.ql-snow .ql-formats{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap;margin:0}body[data-ui] main .ql-toolbar.ql-snow :is(button,.ql-picker){float:none;height:28px;min-height:28px;flex-shrink:0}body[data-ui] main .ql-toolbar.ql-snow button{width:28px;padding:3px;border-radius:5px}body[data-ui] main .ql-toolbar.ql-snow .ql-picker-label{height:28px;display:flex;align-items:center;padding-top:0;padding-bottom:0}body[data-ui] main .ql-toolbar.ql-snow :is(.ql-color-picker,.ql-icon-picker){width:28px}body[data-ui] main .ql-toolbar.ql-snow .ql-picker-options{z-index:65}body[data-ui] main .ql-toolbar.ql-snow .ql-picker.ql-font{width:145px}body[data-ui] main .ql-toolbar.ql-snow .ql-picker.ql-size{width:85px}
.mail-send-progress{margin:16px 0;padding:14px 16px;border:1px solid #ded8ef;border-radius:12px;background:#f8f6fc}.mail-send-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.mail-send-heading strong{font-size:13px;color:#665391;font-weight:600}.mail-send-heading span{font-size:11px;color:#9c93ae;white-space:nowrap}.mail-send-track{height:6px;overflow:hidden;background:#e9e3f3;border-radius:20px;margin-top:11px}.mail-send-track i{display:block;width:35%;height:100%;border-radius:20px;background:#8170b4;animation:mail-send-wait 1.6s ease-in-out infinite}.mail-send-progress p{font-size:11px;color:#958ba7;line-height:1.8;margin-top:9px}.mail-send-progress.complete{background:#f1f8f5;border-color:#cfe7dd}.mail-send-progress.complete strong{color:#388274}.mail-send-progress.complete i{animation:none;background:#66a895;width:100%}.mail-send-progress.failed{border-color:#edced5;background:#fff7f8}.mail-send-progress.failed strong{color:#af5b73}.mail-send-progress.failed i{animation:none;background:#c98192;width:100%}@keyframes mail-send-wait{from{transform:translateX(-110%)}to{transform:translateX(390%)}}@media(prefers-reduced-motion:reduce){.mail-send-track i{animation:none;width:100%;opacity:.5}}
@media(max-width:767px){body[data-ui] .supervisors-table td:nth-child(8)>a{max-width:100%;box-sizing:border-box;padding:6px 3px;white-space:normal;overflow-wrap:anywhere;text-align:center;font-size:12px}}
body[data-ui] .supervisors-table td:nth-child(2)>button{max-width:100%;min-width:0;overflow:hidden}
body[data-ui] .supervisors-table td:nth-child(2) .truncate,body[data-ui] .supervisors-table td:nth-child(3) .truncate{max-width:100%}
@media(max-width:767px){body[data-ui] .supervisors-table th:nth-child(2){width:27%}body[data-ui] .supervisors-table th:nth-child(3){width:33%}body[data-ui] .supervisors-table th:nth-child(6){width:22%}body[data-ui] .supervisors-table th:nth-child(8){width:18%}body[data-ui] .supervisors-table :is(th,td){padding:12px 8px;overflow:hidden;overflow-wrap:anywhere}body[data-ui] .supervisors-table td:nth-child(2)>button{display:block;width:100%;padding:0;white-space:normal}body[data-ui] .supervisors-table td:nth-child(2)>button>.ml-1{display:block;margin-left:0}body[data-ui] .supervisors-table td:nth-child(3)>.ml-1{display:block;margin-left:0}}
.ui-trend-plot{position:relative;padding-top:35px;min-width:0}.ui-trend-tooltip{position:absolute;top:0;max-width:100%;white-space:nowrap;background:#f3f0fa;border:1px solid #e4dff1;color:#51457b;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;pointer-events:none;font-variant-numeric:tabular-nums}.ui-trend-column{outline:none;cursor:crosshair}.ui-trend-column:focus-visible{stroke:#8e7db5;stroke-width:1;stroke-dasharray:3 4}
body[data-ui] [id]{scroll-margin-top:90px}
@media(max-width:900px){body[data-ui]>nav>div{height:60px}.ui-chart-grid{grid-template-columns:minmax(0,1fr)}body[data-ui] main{padding-top:18px}.hub-sidebar{position:static}.ui-chart-card{padding:18px}}
@media(max-width:600px){body[data-ui] main h1{font-size:24px}.ui-back-row{margin-bottom:14px}body[data-ui] .mail-dialog{padding:16px}.ui-donut{width:120px;height:120px}body[data-ui] main table td,body[data-ui] main table th{padding:11px 10px}body[data-ui] :is(.mail-pagination,.portal-pagination){gap:8px}.ui-billing-switch{display:flex;flex-direction:column;border-radius:14px!important;max-width:100%}.ui-billing-switch>span{white-space:normal;padding:9px 12px!important}.ui-billing-switch>span:first-child{border-radius:10px!important}}
@media(prefers-reduced-motion:reduce){.ui-line-stroke{animation:none}body[data-ui] *{scroll-behavior:auto!important}}
@media(max-width:767px){body[data-ui] .auth-intro h2{font-size:19px}}

/* Dual-skill refinement: Chinese readability and action-first hierarchy.
   Keep overlay ancestors untransformed and preserve existing functional states. */
body[data-ui]{font-family:"PingFang SC","Microsoft YaHei","Segoe UI",system-ui,sans-serif}
body[data-ui] main :is(h1,h2,h3){letter-spacing:normal;text-wrap:balance}
body[data-ui] main :is(.text-slate-400,.text-slate-500,.text-gray-400,.text-gray-500){color:var(--app-muted)}
body[data-ui] main :is(.text-xs,.text-\[11px\]){font-size:12px;line-height:1.65}
body[data-ui] main label{line-height:1.6}
body[data-ui] main :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not(.ql-tooltip input){min-height:42px;line-height:1.5}
body[data-ui] main :is(input,textarea)[readonly]{background:#f5f7fb;border-style:dashed;color:var(--app-muted)}
body[data-ui] :is(button,summary,a){touch-action:manipulation}
body[data-ui] button:not(:disabled),body[data-ui] summary{cursor:pointer}
body[data-ui] :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--app-primary);outline-offset:3px;scroll-margin-block:100px}
body[data-ui] main table th{font-size:13px;color:var(--app-muted);letter-spacing:normal}
body[data-ui] main table td{line-height:1.65}
body[data-ui] main :is(.mail-pagination,.lib-pagination,.km-pages,.al-pagination,.portal-pagination) a{min-height:40px;padding-inline:16px}
.app-skip-link{position:fixed;left:16px;top:12px;z-index:20000;padding:12px 18px;background:var(--app-primary);color:white;border-radius:8px;transform:translateY(-180%)}
.app-skip-link:focus{transform:none;outline:3px solid white;outline-offset:2px}
body[data-ui] main#app-main:focus{outline:none}
body[data-ui] main .work .work-hero{background:white;border:1px solid var(--app-border);border-left:4px solid var(--app-primary);border-radius:12px;box-shadow:none;padding:26px 28px}
body[data-ui] .work-hero h1{color:var(--app-text)!important;font-size:30px;letter-spacing:normal}
body[data-ui] .work-hero p{color:var(--app-muted);font-size:14px;margin-top:8px}
body[data-ui] .work-hero .hero-cta{background:var(--app-primary);color:white;border:1px solid var(--app-primary);min-height:44px;border-radius:10px;padding:11px 20px;font-weight:600}
body[data-ui] .work-hero .hero-cta:hover{background:var(--app-primary-hover)}
body[data-ui] .work-section-label span{color:var(--app-muted);font-size:12px}
body[data-ui] .work-tools a{border-color:var(--app-border);box-shadow:none;background:white}
body[data-ui] .work-tools a:hover{border-color:#b5acd3;background:#faf9fd;box-shadow:none;transform:none}
body[data-ui] .work-tools a strong{font-size:15px;color:var(--app-text)}
body[data-ui] .work-tools a small{font-size:12px;color:var(--app-muted);line-height:1.6}
body[data-ui] .work-tool-icon{color:var(--app-primary);background:#eeecf8}
body[data-ui] .work-mail-bar a{color:var(--app-primary);font-size:14px}
body[data-ui] .work-mail-bar a span{color:var(--app-muted);font-size:12px}
body[data-ui] .work-application-stats a small{color:var(--app-muted);font-size:12px}
body[data-ui] .work .ranking-heading p,body[data-ui] .work .ranking-school>span,body[data-ui] .work .ranking-mentor>span,body[data-ui] .work .ranking-score-clear{color:var(--app-muted)}
body[data-ui] .portal-link-grid>a{min-height:88px}
body[data-ui] .portal-link-grid>a:focus-visible{border-color:var(--app-primary)}
body[data-ui] .ui-chart-card>p,body[data-ui] .ui-chart-legend>div,body[data-ui] .ui-line-summary{color:var(--app-muted)}
@media(max-width:767px){
 body[data-ui] main :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not(.ql-tooltip input){font-size:16px;min-height:44px}
 body[data-ui] main .work .work-hero{padding:22px 20px;gap:18px}
 body[data-ui] .work-hero h1{font-size:26px}
 body[data-ui] .work-tools a{min-height:100px}
 body[data-ui] .work .ranking-score-options>button{min-width:28px;min-height:36px}
 body[data-ui] .app-nav-link,body[data-ui] .app-nav-dropdown>summary{min-height:44px;display:flex;align-items:center}
}
@media(prefers-reduced-motion:reduce){.app-skip-link{transition:none}}
/* Apple-style hierarchy: a quiet contextual back link above the page title. */
.ui-heading-line{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;width:100%;flex:1}
.ui-heading-line>h1{align-self:stretch;min-width:0;margin:0!important;overflow-wrap:anywhere;letter-spacing:-.02em}
body .ui-back-heading{border-left:0!important;padding-left:0!important}
body .ui-back-link{display:inline-flex!important;align-items:center;gap:3px;min-width:44px;min-height:44px;max-width:100%;padding:0!important;border:0!important;border-radius:8px;background:transparent!important;box-shadow:none!important;color:var(--app-primary,#6153a5)!important;text-decoration:none!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px!important;font-weight:500;letter-spacing:-.01em;line-height:1.35;white-space:nowrap;touch-action:manipulation;transition:opacity 130ms ease}
.ui-back-icon{display:inline-flex;align-items:center;justify-content:flex-start;width:18px;height:24px;flex:0 0 18px;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit}
.ui-back-icon svg{display:block;width:20px;height:22px;flex:none;stroke-width:2.2}
.ui-back-label{display:block;min-width:0;max-width:28ch;overflow:hidden;text-overflow:ellipsis}
body .ui-back-link:hover{opacity:.72;color:var(--app-primary,#6153a5)!important}
.ui-back-link:focus-visible{outline:2px solid var(--app-primary,#6153a5);outline-offset:4px}
body .ui-back-link:active{opacity:.45;transition-duration:0ms}
body .ui-back-row.ui-back-inline,body[data-ui] main #app-page-back.ui-back-inline{flex:0 0 auto;display:flex;align-items:center;margin:0!important;max-width:100%!important;gap:0}
@media(max-width:640px){.ui-heading-line{gap:4px}.ui-back-inline .ui-back-label{display:block}.ui-back-inline .ui-back-link{padding:0!important;font-size:16px!important}.ui-back-label{max-width:23ch}}
@media(prefers-reduced-motion:reduce){body .ui-back-link{transition:none}}
/* Navigation must not inherit a page's primary-action treatment after moving
   into a heading. Keep this component above page-level positional selectors. */
body[data-ui] #app-main .ui-back-row>a.ui-back-link{background:transparent!important;background-image:none!important;color:var(--app-primary,#6153a5)!important;border:0!important;box-shadow:none!important;padding:0!important}
body[data-ui] #app-main .ui-back-row>a.ui-back-link[hidden],body[data-ui] #app-main .ui-back-row[hidden]{display:none!important}
/* Keep the contextual return/title stack close to the navigation, without
   shrinking its touch target or changing primary-page and dialog spacing. */
body[data-ui] #app-main:has(#app-page-back:not([hidden])){padding-top:12px!important}
body[data-ui] #app-main .ui-back-heading{margin-top:0!important;margin-bottom:20px!important}
body[data-ui] #app-main .ui-heading-line:has(>#app-page-back){gap:0}
body[data-ui] #app-main #app-page-back:not(.ui-back-inline){margin-bottom:12px!important}
@media(max-width:640px){body[data-ui] #app-main:has(#app-page-back:not([hidden])){padding-top:8px!important}body[data-ui] #app-main .ui-back-heading{margin-bottom:16px!important}}
.app-dialog-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px;min-width:0}
.app-dialog-heading>h2{margin:0;min-width:0;line-height:1.4;overflow-wrap:anywhere}
.app-dialog-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:#fef3c7;color:#a16207}
.app-dialog-icon svg{display:block;width:21px;height:21px}
#flash{z-index:30000;max-width:min(440px,calc(100vw - 32px));white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none}
@media(max-width:480px){#flash{left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));width:auto}.app-dialog-heading{gap:10px}.app-dialog-heading>h2{font-size:18px}}

.app-nav{position:sticky;top:0;z-index:80;background:#fff;border-bottom:1px solid #e7e3ef;box-shadow:0 2px 14px #463b6410}.app-nav-inner{max-width:1600px;min-height:64px;margin:auto;padding:0 20px;display:flex;align-items:center;gap:24px}.app-brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-weight:650;font-size:15px;color:#26344c}.app-brand>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(130deg,#6651b8,#388ddb);color:#fff}.app-nav-menu{display:flex;align-items:center;gap:5px;flex:1;min-width:0}.app-nav-link,.app-nav-dropdown>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:9px 12px;border-radius:10px;color:#59677f;font-size:14px;white-space:nowrap;cursor:pointer;text-decoration:none;list-style:none}.app-nav-dropdown>summary::-webkit-details-marker{display:none}.app-nav-link:hover,.app-nav-dropdown>summary:hover{background:#f4f1fa;color:#6153a5}.app-nav-link[aria-current=page],.app-nav-dropdown[data-active='1']>summary{background:#6153a5;color:#fff}.app-nav-dropdown{position:relative}.app-nav-dropdown[open]>summary{background:#eee9f8;color:#6153a5}.app-nav-popover{position:absolute;top:calc(100% + 10px);left:0;min-width:220px;padding:8px;background:#fff;border:1px solid #e5dff0;border-radius:14px;box-shadow:0 16px 40px #40344f22;max-height:70vh;overflow:auto}.app-nav-popover .app-nav-link{white-space:normal;line-height:1.6}.app-nav-split{display:flex;align-items:center}.app-nav-split>details>summary{padding:9px 7px}.app-nav-account{margin-left:auto;display:flex;align-items:center;gap:12px}.app-nav-account .app-nav-popover{left:auto;right:0}.app-member-badge{border:1px solid #ddd6ee;border-radius:20px;padding:5px 10px;color:#6153a5;background:#faf8ff;font-size:12px;white-space:nowrap}.app-nav-user{display:block;padding:9px 12px;font-size:12px;color:#64748b;overflow-wrap:anywhere;max-width:260px;border-bottom:1px solid #eee9f4;margin-bottom:6px}.app-nav-logout{width:100%;text-align:left;border:0;padding:10px 12px;border-radius:9px;color:#c23c52;background:transparent;font-size:14px;cursor:pointer}.app-nav-logout:hover{background:#c23c52;color:white}.app-nav-toggle{display:none}.app-nav :is(a,button,summary):focus-visible{outline:3px solid #b3a6d6;outline-offset:3px}.app-nav-admin>summary{color:#98632d}@media(max-width:1180px){.app-nav-inner{gap:12px;padding:0 12px}.app-nav-link,.app-nav-dropdown>summary{padding:9px 8px;font-size:13px}}@media(max-width:1000px){.app-nav-inner{flex-wrap:wrap;justify-content:space-between;gap:0;padding:12px 16px;min-height:62px}.app-nav-toggle{display:block;border:1px solid #ddd6ee;border-radius:9px;padding:8px 12px;background:#f7f4fc;color:#6153a5;font-size:13px}.app-nav-menu{display:none;width:100%;flex:none;align-items:stretch;padding:12px 0 0;max-height:calc(100dvh - 80px);overflow:auto}.app-nav-menu.is-open{display:flex;flex-direction:column;gap:5px}.app-nav-link,.app-nav-dropdown>summary{min-height:44px;padding:10px 12px;font-size:14px}.app-nav-split{align-items:flex-start}.app-nav-split>a{flex:1}.app-nav-split>details{flex:1}.app-nav-split>details>summary{justify-content:flex-end}.app-nav-popover{position:static;box-shadow:none;min-width:0;width:100%;margin:6px 0;background:#faf9fd;max-height:none}.app-nav-account{margin:8px 0 0;border-top:1px solid #eee9f4;padding-top:10px;align-items:flex-start}.app-nav-account>details{flex:1}.app-brand{font-size:14px}}
body[data-ui]>nav.app-nav>.app-nav-inner{height:auto;min-height:64px;gap:20px}@media(max-width:1180px){body[data-ui]>nav.app-nav>.app-nav-inner{gap:10px}}@media(max-width:1000px){body[data-ui]>nav.app-nav>.app-nav-inner{min-height:62px;gap:0}}
/* Mobile dropdown labels follow the same left edge as direct page links. */
.app-nav .app-nav-dropdown>summary>span[aria-hidden=true]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:1;color:inherit;opacity:1;flex-shrink:0}
.app-nav .app-nav-dropdown>summary{gap:8px}
@media(max-width:1000px){
 .app-nav-menu .app-nav-dropdown>summary,.app-nav-menu .app-nav-link{justify-content:flex-start;text-align:left}
 .app-nav-menu .app-nav-dropdown{width:100%;min-width:0}
 .app-nav-menu .app-nav-account{justify-content:flex-start;gap:12px;flex-wrap:wrap}
 .app-nav-menu .app-nav-popover .app-nav-link{width:100%;text-align:left}
}
@media(min-width:1001px){.app-nav-dropdown{padding-bottom:12px;margin-bottom:-12px}.app-nav-dropdown>.app-nav-popover{top:calc(100% - 2px);z-index:90}.app-nav-dropdown[open]>.app-nav-popover{display:block}}
.app-nav-dropdown>summary>span[aria-hidden=true]{display:none}.app-nav .app-nav-caption{display:none}.app-nav-popover .app-nav-link:after{display:none!important}.app-nav-dropdown:before{content:'';position:absolute;left:0;right:0;top:100%;height:12px}.app-nav-dropdown>summary{justify-content:center}
.app-nav-dropdown>summary>span{display:inline-block;font-size:12px;transition:transform 220ms cubic-bezier(.16,1,.3,1)}.app-nav-dropdown[open]:not([data-closing])>summary>span{transform:rotate(180deg)}.app-nav-popover{transform-origin:top center;padding:12px;min-width:240px;border-radius:18px;box-shadow:0 14px 45px #40344f1c}.app-nav-caption{display:block;color:#9690a6;font-size:11px;letter-spacing:.5px;padding:5px 12px 10px;border-bottom:1px solid #f0edf5;margin-bottom:6px}.app-nav-popover .app-nav-link{transition:background 150ms,color 150ms;padding:11px 12px}.app-nav-popover .app-nav-link:after{content:'↗';font-size:12px;color:#b0a7c4}.app-nav-popover .app-nav-link[aria-current=page]:after{color:#e8e2f6}@media(max-width:1000px){.app-nav-menu.is-open{animation:app-menu-reveal 200ms ease-out}.app-nav-popover{min-width:0;padding:9px;border-radius:12px}.app-nav-account{align-items:center;justify-content:space-between}}@keyframes app-menu-reveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.app-nav-menu.is-open{animation:none}.app-nav-dropdown>summary>span,.app-nav-popover .app-nav-link{transition:none}}

/* Shared by list drawers, nested conversation dialogs and standalone detail. */
.mentor-detail-layer{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:hidden;color:inherit}
.mentor-detail-layer::backdrop{background:transparent}
[data-mentor-overlay]{position:fixed!important;inset:0!important;top:0!important;height:100dvh!important;padding:0!important;z-index:15000!important;overflow:hidden!important}
[data-mentor-overlay] [data-mentor-panel]{position:absolute!important;right:0!important;top:0!important;bottom:0!important;margin:0!important;height:100%!important;max-height:100%!important;width:min(100%,680px)!important;max-width:680px!important;border-radius:0!important;background:#fff;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;scroll-behavior:auto!important}
[data-mentor-title-bar]{position:sticky!important;top:0!important;z-index:31!important;display:flex;align-items:center!important;justify-content:space-between;margin:0!important;padding:10px 24px!important;min-height:64px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(248,246,253,.94)),#faf9fc;border-bottom:1px solid rgba(119,103,171,.12)}
[data-mentor-header]{position:static!important;padding:8px 24px 16px!important;background:#faf9fc!important;box-shadow:none!important;transition:none!important}
[data-mentor-header]>[data-mentor-summary]:last-of-type{margin-bottom:16px}
[data-mentor-title-bar] [data-mentor-close]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;font-size:24px;border-radius:10px;cursor:pointer}
[data-mentor-title-bar] [data-mentor-close]:hover{background:#f4f1fa;color:#6153a5}
.supervisor-detail-page [data-mentor-title-bar]{top:var(--mentor-nav-height,64px)!important}
[data-mentor-title-bar]>div:first-child{min-width:0;flex:1}
.mentor-info-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:44px;padding:0 12px;margin-left:12px;margin-right:8px;border:1px solid rgba(119,103,171,.18);border-radius:12px;background:rgba(255,255,255,.7);color:#6153a5;font-size:13px;font-weight:500;cursor:pointer;transition:background .16s ease,border-color .16s ease}
.mentor-info-toggle:hover{background:#f0edf8;border-color:rgba(119,103,171,.35)}
.mentor-info-toggle:focus-visible{outline:2px solid #7767ab;outline-offset:2px}
.mentor-info-chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}
.mentor-info-toggle[aria-expanded="true"] .mentor-info-chevron{transform:rotate(225deg)}
[data-mentor-header][hidden]{display:none!important}
[data-mentor-header][data-mentor-info-docked]{position:sticky!important;top:var(--mentor-info-top,64px)!important;z-index:30;max-height:min(70dvh,var(--mentor-info-room,560px));overflow-y:auto;overscroll-behavior:contain;border-bottom:1px solid rgba(119,103,171,.16);box-shadow:0 12px 24px -20px rgba(35,26,61,.3)!important;scrollbar-width:thin}
@media(max-width:480px){[data-mentor-title-bar]{padding-inline:16px!important}.mentor-info-toggle{padding-inline:10px;margin-left:8px;margin-right:4px}[data-mentor-header]{padding-inline:16px!important}}
@media(prefers-reduced-motion:reduce){.mentor-info-toggle,.mentor-info-chevron{transition:none}}

/* Product system: quiet violet, practical information hierarchy. */
:root{--app-primary:#6153a5;--app-primary-hover:#51438f;--app-bg:#f7f8fb;--app-text:#20283f;--app-muted:#637089;--app-border:#e3e6ef;--app-radius:12px;--app-shadow:0 2px 8px #26314903}
body[data-ui]{font-family:"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;color:var(--app-text);background:var(--app-bg);font-size:14px;line-height:1.65}
body[data-ui] main h1:not(.ui-home-title){font-size:28px;letter-spacing:-.025em;line-height:1.35;font-weight:650}
body[data-ui] .application-home .home-hero>.absolute{display:none}
body[data-ui] .application-home .home-hero{border-radius:16px;box-shadow:none}
body[data-ui] :is(.supervisor-list-page,.portal-profile)>div:first-child{margin-bottom:24px}
body[data-ui] .supervisor-list-page>div:first-child>div>p:first-child{display:none}
body[data-ui] :is(.lib-eyebrow,.ranking-eyebrow){display:none}
body[data-ui] :is(.lib-hero,.hub-header){background:none;box-shadow:none;border:0;border-radius:0;padding:0 0 20px;color:var(--app-text)}
body[data-ui] .hub-sidebar{background:none;border:0;box-shadow:none;padding:0;border-radius:0}
body[data-ui] .hub-sidebar>strong{font-weight:500;color:#8992a3}
body[data-ui] .hub-sidebar a{border-radius:8px;color:#627087;line-height:1.6}
body[data-ui] .hub-sidebar a:is(:hover,.active,[aria-current=page]){background:#edeaf6;color:#5a479c}
body[data-ui] .lib .lib-btn:not(.light):not(.secondary):not(.danger){background:var(--app-primary);border-color:var(--app-primary);color:white}
body[data-ui] #ai-import-panel>label:has(>input:not([type=checkbox])),body[data-ui] #ai-import-panel>label:has(>select){display:flex;align-items:center;gap:12px;flex-wrap:wrap}
body[data-ui] .portal-link-grid a{background:white;border-color:var(--app-border);border-radius:9px;box-shadow:none;transform:none;transition:background .16s,border-color .16s}
body[data-ui] .portal-link-grid a:hover{background:#f5f3fb;border-color:#c9c0e0;transform:none}
body[data-ui] :is(.supervisor-list-page #filters,.lib-panel,.hub-card,.portal-profile>section,.mail-panel){box-shadow:none;border-radius:12px}
body[data-ui] .portal-profile>section{border-color:var(--app-border)}
body[data-ui] :is(.portal-profile,.mail-panel,.hub-card) h2{font-size:16px;font-weight:600;letter-spacing:0;color:#303b52}
body[data-ui] .lib-table th,body[data-ui] .lib-table td{padding-top:14px;padding-bottom:14px}
body[data-ui] :is(.lib-btn,.mail-btn,.hub-btn){border-radius:8px;box-shadow:none}
body[data-ui] .work .work-tabs{position:static}
body[data-ui] :is(.mail-panel,.hub-card,.al-card,.km-card,.lib-panel,.portal-group,.db-card){border-color:var(--app-border);border-radius:12px;box-shadow:none}
body[data-ui] :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not([type=color]):not([type=range]),select,textarea):not(.ql-tooltip input){border-radius:8px;border-color:#d8ddea;transition:border-color .16s,box-shadow .16s}
body[data-ui] :is(input,select,textarea):focus-visible{outline:2px solid #6153a540;outline-offset:2px}
body[data-ui] :is(button,a):focus-visible{outline:2px solid #6153a5;outline-offset:3px}
body[data-ui] table{font-variant-numeric:tabular-nums}
body[data-ui] thead{background:#f5f6fa}
body[data-ui] th{color:#67728a;letter-spacing:0}
body[data-ui] tbody tr{transition:background-color .15s}
body[data-ui] tbody tr:hover{background-color:#f8f7fc}
body[data-ui] :is(.portal-pages,.mail-pagination,.lib-pagination,.km-pages,.al-pagination,.portal-pagination){justify-content:center;gap:8px}
body[data-ui] :is(.portal-pages,.mail-pagination,.lib-pagination,.km-pages,.al-pagination,.portal-pagination) :is(a,button){border-radius:8px;min-height:38px;display:inline-flex;align-items:center;justify-content:center}
body[data-ui] .navigation-menu-panel{border-radius:10px;border-color:var(--app-border);box-shadow:0 12px 30px #20283f10}
body[data-ui] :is(.portal-modal-panel,.mail-dialog){border-radius:12px}
body[data-ui] .work{max-width:1400px;margin-inline:auto;color:var(--app-text)}
body[data-ui] main .work .work-hero{padding:6px 0 24px 18px;background:none;border:0;border-left:3px solid var(--app-primary);border-radius:0;box-shadow:none;min-height:0;align-items:center}
body[data-ui] .work .work-hero h1{font-size:30px;font-weight:650;color:#20283f;margin:0 0 7px}
body[data-ui] .work .work-hero p{color:#69748a;font-size:14px}
body[data-ui] .work .hero-cta{background:var(--app-primary);border:1px solid var(--app-primary);color:#fff;box-shadow:none;border-radius:8px;padding:10px 18px;font-size:14px;white-space:nowrap}
body[data-ui] .work .work-application-stats{gap:0;margin-bottom:26px;background:white;border:1px solid var(--app-border);border-radius:12px;overflow:hidden}
body[data-ui] .work .work-application-stats a{background:none;border:0;border-radius:0;padding:14px 24px;box-shadow:none;position:relative;min-height:96px}
body[data-ui] .work .work-application-stats a+a:before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:1px;background:var(--app-border)}
body[data-ui] .work .work-application-stats a span{font-size:13px;color:#69748a}
body[data-ui] .work .work-application-stats a strong{font-size:28px;line-height:1.3;color:#352d68;margin-top:4px;font-weight:650}
body[data-ui] .work .work-application-stats a small{font-size:11px;color:#8992a3}
body[data-ui] .work .work-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:26px;align-items:start}
body[data-ui] .work .work-rail{position:sticky;top:90px;min-width:0}
body[data-ui] .work .work-tabs{display:flex;flex-direction:column;gap:6px;padding:0;margin:0 0 24px;background:none;border:0;box-shadow:none;border-radius:0}
body[data-ui] .work .work-tabs a{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:8px;color:#586379;min-height:44px;font-size:14px;font-weight:500;border:0}
body[data-ui] .work .work-tabs a:is(:hover,.active,[aria-current=page]){background:#edeaf6;color:#5a479c;box-shadow:none}
body[data-ui] .work .work-tabs img,.work .work-tools img{width:19px;height:19px;opacity:.65;flex:none}
body[data-ui] .work .work-rail .work-section-label{margin:0 0 8px;padding:18px 14px 0;border-top:1px solid var(--app-border)}
body[data-ui] .work .work-rail .work-section-label h2{font-size:12px;font-weight:500;color:#8a92a3}
body[data-ui] .work .work-tools{display:flex;flex-direction:column;gap:3px;margin:0;padding:0;border:0;background:none;box-shadow:none}
body[data-ui] .work .work-tools a{display:flex;flex-direction:row;align-items:center;gap:11px;padding:11px 14px;border:0;border-radius:8px;background:none;box-shadow:none;min-height:44px;transform:none;color:#596479}
body[data-ui] .work .work-tools a:hover{background:#efedf7;color:#51438f;transform:none}
body[data-ui] .work .work-tools strong{font-size:14px;font-weight:500}
body[data-ui] .work .work-content{min-width:0}
body[data-ui] .work .dashboard-polish{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:18px;align-items:start}
body[data-ui] .work .dashboard-polish>:not([hidden]){margin:0}
body[data-ui] .work .dashboard-heading{grid-column:1/-1;margin:0 0 0!important;background:none;border:0;border-radius:0;padding:0;min-height:24px}
body[data-ui] .work .dashboard-heading h2{font-size:15px;font-weight:600}
body[data-ui] .work .dashboard-heading>div{font-size:12px}
body[data-ui] .work .dashboard-replies{display:contents}
body[data-ui] .work .work-reply-list{grid-column:1;grid-row:1/span 2;border-color:var(--app-border);border-radius:12px;box-shadow:none}
body[data-ui] .work .work-opened-list{grid-column:2;grid-row:2;border-color:var(--app-border);border-radius:12px;box-shadow:none}
body[data-ui] .work .work-trend-panel{grid-column:2;grid-row:1;padding:20px;border-color:var(--app-border);border-radius:12px;box-shadow:none}
body[data-ui] .work .work-reply-list>div:first-child,body[data-ui] .work .work-opened-list>div:first-child{padding:17px 20px;background:#fff}
body[data-ui] .work .work-reply-list>div:first-child>span:first-child{font-size:16px;font-weight:600;color:#263047}
body[data-ui] .work .work-reply-list>.divide-y{max-height:710px}
@media(min-width:651px){
body[data-ui] .work .work-reply-list{align-self:stretch;display:flex;flex-direction:column;min-height:0}
body[data-ui] .work .work-reply-list>div:first-child{flex:none}
body[data-ui] .work .work-reply-list>.divide-y{flex:1 1 0;min-height:0;height:0;max-height:none}
body[data-ui] .work .work-reply-list>p{flex:1;display:flex;align-items:center;justify-content:center}
}
body[data-ui] .work .work-opened-list>.divide-y{max-height:270px}
body[data-ui] .work .work-message-row{padding:18px 20px;transition:background .16s}
body[data-ui] .work .work-message-row>button{min-height:42px;background:none;border:0;padding:0;box-shadow:none}
body[data-ui] .work .work-message-row>button>span:nth-last-child(2)>span:first-child{font-size:16px;font-weight:600;line-height:1.7;color:#263047}
body[data-ui] .work .work-message-row>button>span:nth-last-child(2)>span:first-child>span{font-size:12px;font-weight:400;color:#798499}
body[data-ui] .work .work-message-row>button>span:nth-last-child(2)>span:last-child{margin-top:4px;font-size:13px;color:#798499;font-weight:400}
body[data-ui] .work .work-mentor-initial{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#edeaf6;color:#6a579f;font-size:17px;font-weight:500;flex:none}
body[data-ui] .work .work-message-row>div{border:0;margin:12px 0 0 54px;padding:0}
body[data-ui] .work .work-message-row form button{min-width:28px;min-height:28px;border-radius:6px;font-size:12px;box-shadow:none}
body[data-ui] .work .work-message-row form .bg-amber-400{background:#6153a5;color:white}
body[data-ui] .work .work-analysis{grid-column:1/-1;margin-top:2px;padding:0;border:1px solid var(--app-border);border-radius:10px;background:white}
body[data-ui] .work .work-analysis>summary{padding:14px 18px;font-size:13px;color:#657088}
body[data-ui] .work .work-analysis>section,body[data-ui] .work .work-analysis>div{margin:0;border:0;border-top:1px solid var(--app-border);border-radius:0}
body[data-ui] .work .dashboard-polish>section:not(.work-trend-panel){grid-column:1/-1}
body[data-ui] .work .work-trend-panel h2{font-size:15px;font-weight:600}
body[data-ui] .work .work-progress-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--app-border);padding-bottom:14px;margin-bottom:18px}
body[data-ui] .work .work-progress-heading h2{font-size:16px;margin:0}
body[data-ui] .work .work-progress-heading span{font-size:12px;color:#758198;white-space:nowrap}
body[data-ui] [data-ui-trend]{overflow:hidden}
body[data-ui] .work .work-trend-panel>.flex{display:block;margin-bottom:14px}
body[data-ui] .work .work-trend-panel>.flex>div:last-child{margin-top:12px;gap:5px}
body[data-ui] .work .work-trend-panel>.flex>div:last-child>div{background:none;border:0;padding:0 8px 0 0;color:#6a7385}
body[data-ui] .work .work-trend-panel [data-ui-trend]{min-height:180px}
body[data-ui] .work .work-queue-summary{margin-top:18px;border-top:1px solid var(--app-border);padding-top:18px}
body[data-ui] .work .work-queue-summary h3{font-size:14px;font-weight:600;margin:0 0 8px}
body[data-ui] .work .work-queue-summary>a{display:flex;justify-content:space-between;padding:7px 0;color:#738098;font-size:12px}
body[data-ui] .work .work-queue-summary strong{color:#3e485e;font-size:13px;font-weight:600}
body[data-ui] .work .work-queue-summary>a.work-progress-link{display:block;margin-top:10px;text-align:center;background:#f1eef8;border:1px solid #e5e0f2;border-radius:7px;color:#5c4b98;padding:8px}
body[data-ui] .work .work-trend-panel>details{margin-top:12px}
body[data-ui] .work .work-trend-panel>details>summary{font-size:11px}
body[data-ui] .work .work-footer{margin-top:24px;border-top:1px solid var(--app-border);padding-top:16px;font-size:12px;color:#8992a3}
@media(max-width:1150px){body[data-ui] .work .work-layout{grid-template-columns:155px minmax(0,1fr);gap:18px}body[data-ui] .work .dashboard-polish{grid-template-columns:minmax(0,1fr) minmax(240px,.85fr)}body[data-ui] .work .work-message-row{padding:16px}body[data-ui] .work .work-trend-panel{padding:16px}}
@media(max-width:900px){body[data-ui] .work .work-layout{display:block}body[data-ui] .work .work-rail{position:static;margin-bottom:18px}body[data-ui] .work .work-tabs{flex-direction:row;margin-bottom:12px;overflow-x:auto;white-space:nowrap}body[data-ui] .work .work-rail .work-section-label{display:none}body[data-ui] .work .work-tools{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:6px}body[data-ui] .work .work-tools a{background:white;border:1px solid var(--app-border);white-space:nowrap;min-height:42px;padding:9px 12px}body[data-ui] .work .dashboard-polish{grid-template-columns:minmax(0,1fr) minmax(240px,.8fr)}}
@media(max-width:650px){body[data-ui] .work .work-hero{padding:0 0 18px;gap:12px}body[data-ui] .work .work-hero h1{font-size:25px}body[data-ui] .work .hero-cta{padding:9px 12px;font-size:12px}body[data-ui] .work .work-hero p{font-size:12px}body[data-ui] .work .work-application-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}body[data-ui] .work .work-application-stats a{padding:12px 18px;min-height:95px}body[data-ui] .work .work-application-stats a:nth-child(3){border-top:1px solid var(--app-border)}body[data-ui] .work .work-application-stats a:nth-child(4){border-top:1px solid var(--app-border)}body[data-ui] .work .work-application-stats a:nth-child(3):before{display:none}body[data-ui] .work .work-application-stats a strong{font-size:25px}body[data-ui] .work .dashboard-polish{display:flex;flex-direction:column;gap:16px}body[data-ui] .work .dashboard-polish>:not(.dashboard-replies),body[data-ui] .work .dashboard-replies>div{width:100%}body[data-ui] .work .dashboard-heading{order:0}body[data-ui] .work .dashboard-replies{display:flex;flex-direction:column;order:1;width:100%;gap:16px}body[data-ui] .work .work-reply-list{order:0}body[data-ui] .work .work-opened-list{order:1}body[data-ui] .work .work-trend-panel{order:2}body[data-ui] .work .work-analysis{order:3}body[data-ui] .work .work-message-row>button{flex-wrap:wrap}body[data-ui] .work .work-message-row>button>span:last-child{margin-left:48px}body[data-ui] .work .work-message-row form button{min-width:32px;min-height:36px}body[data-ui] .work .work-tabs a{font-size:13px;padding:10px 12px}body[data-ui] .work .work-footer{flex-wrap:wrap;gap:8px}}
@media(prefers-reduced-motion:reduce){body[data-ui] :is(input,select,textarea,tbody tr,.work-message-row){transition:none}}

/* Shared page rhythm. Keep mail editors, data tables and marketing pages distinct. */
body[data-ui]{--app-space:20px;--app-success:#237655;--app-danger:#b42340}
body[data-ui] main :is(.hub-heading,.db-heading,.al-head,.km-head,.mail-head){gap:16px;margin-bottom:24px}
body[data-ui] main :is(.hub-heading,.db-heading,.al-head,.km-head,.mail-head) h1{margin:0 0 6px;line-height:1.35}
body[data-ui] :is(.hub-heading,.db-heading,.al-head,.km-head,.mail-head) p{max-width:76ch;line-height:1.8}
body[data-ui] :is(.hub-card,.al-card,.km-card,.db-card,.lib-panel,.mail-panel){padding:22px}
body[data-ui] :is(.hub-button,.db-button,.al-button,.km-button,.mail-btn,.lib-btn){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;border-radius:8px;line-height:1.5;transition:background-color .16s,border-color .16s,color .16s}
body[data-ui] :is(.hub-button,.db-button,.al-button,.km-button).primary,body[data-ui] .db-tabs .active{background:var(--app-primary);border-color:var(--app-primary);color:white}
body[data-ui] :is(.hub-button,.db-button,.al-button,.km-button).primary:hover:not(:disabled){background:var(--app-primary-hover);border-color:var(--app-primary-hover)}
body[data-ui] :is(.hub-button,.db-button,.al-button,.km-button):not(.primary):not(.danger):hover:not(:disabled){background:#f4f2fa;border-color:#c9c0e0}
body[data-ui] :is(.al-button,.km-button).danger{color:var(--app-danger);border-color:#f0c7d0;background:#fff8fa}
body[data-ui] :is(.al-button,.km-button).danger:hover:not(:disabled){color:white;background:var(--app-danger);border-color:var(--app-danger)}
body[data-ui] :is(.hub-link-row,.db-row,.km-actions,.lib-actions,.lib-row-actions){gap:10px}
body[data-ui] :is(.hub-hint,.km-muted,.al-muted,.db-muted){line-height:1.8;color:var(--app-muted)}
body[data-ui] :is(.hub-sidebar,.work-rail){scrollbar-width:thin}
body[data-ui] :is(.hub-content,.db-card,.al-card,.km-card,.lib-panel,.portal-group,.mail-panel){min-width:0}
body[data-ui] :is(.km-form,.al-filters,.lib-filters)>*{min-width:0}
body[data-ui] :is(.km-form,.al-filters,.lib-filters,.quick-mail-page) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select){min-height:42px}
body[data-ui] :is(.km-form,.al-filters,.lib-filters,.quick-mail-page) textarea{line-height:1.8;resize:vertical}
body[data-ui] input:is([type=checkbox],[type=radio]){accent-color:var(--app-primary)}
body[data-ui] :is(.al-table,.km-table,.db-table,.mail-table){font-size:14px}
body[data-ui] :is(.al-table,.km-table,.db-table,.mail-table) th{font-size:12px;line-height:1.6;padding:13px 12px}
body[data-ui] :is(.al-table,.km-table,.db-table,.mail-table) td{padding:16px 12px;line-height:1.7}
body[data-ui] :is(.al-table,.km-table,.db-table,.mail-table) td :is(strong,summary,a,button){overflow-wrap:anywhere}
body[data-ui] .al-table th:nth-child(1),body[data-ui] .al-table td:nth-child(1){width:40px}
body[data-ui] .al-table th:nth-child(2),body[data-ui] .al-table td:nth-child(2){width:18%}
body[data-ui] .al-table th:nth-child(3),body[data-ui] .al-table td:nth-child(3){width:28%}
body[data-ui] .al-table th:nth-child(4),body[data-ui] .al-table td:nth-child(4){width:9%}
body[data-ui] .al-table th:nth-child(5),body[data-ui] .al-table td:nth-child(5){width:25%}
body[data-ui] .al-table th:last-child,body[data-ui] .al-table td:last-child{width:auto;text-align:right}
body[data-ui] .al-table summary{display:inline-block;white-space:nowrap}
body[data-ui] .al-table .al-detail{text-align:left}
body[data-ui] :is(.al-table,.km-table) td:last-child>details{max-width:100%}
body[data-ui] :is(.al-pages,.km-pages,.mail-pagination,.lib-pagination,.portal-pagination){display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--app-border);font-size:13px}
body[data-ui] :is(.al-pages,.km-pages,.mail-pagination,.lib-pagination,.portal-pagination) :is(a,button){border:1px solid #d8ddea;background:white;padding:8px 13px;color:#51438f;min-height:40px;border-radius:8px;text-decoration:none}
body[data-ui] :is(.al-pages,.km-pages,.mail-pagination,.lib-pagination,.portal-pagination) :is(a,button):hover{background:#f1eef8;border-color:#c9c0e0}
body[data-ui] .portal-link-grid{align-items:stretch;gap:14px}
body[data-ui] .portal-link-grid a{display:flex;flex-direction:column;justify-content:flex-start;height:100%;padding:20px}
body[data-ui] .portal-link-grid strong{font-size:15px;color:#352d68}
body[data-ui] .portal-link-grid span{font-size:13px;margin-top:8px}
body[data-ui] .hub-sidebar a{min-height:42px;display:flex;align-items:center}
body[data-ui] .lib .lib-table-wrap,body[data-ui] .db-table-wrap{scrollbar-width:thin;overscroll-behavior-x:contain}
body[data-ui] .lib .lib-detail-content{line-height:1.8;overflow-wrap:anywhere}
body[data-ui] .quick-file{align-items:flex-start;gap:10px;padding:8px 0}
body[data-ui] .quick-file input{flex:none;margin-top:4px}
body[data-ui] .quick-file span{min-width:0;flex:1;overflow-wrap:anywhere}
body[data-ui] .quick-file small{flex:none;white-space:nowrap}
body[data-ui] .ql-toolbar.ql-snow{display:flex;flex-wrap:wrap;gap:4px;border-color:#d8ddea;background:#f8f9fc;border-radius:8px 8px 0 0}
body[data-ui] .ql-toolbar.ql-snow .ql-formats{display:inline-flex;align-items:center;margin:0 8px 0 0}
body[data-ui] .ql-container.ql-snow{border-color:#d8ddea;border-radius:0 0 8px 8px}
body[data-ui] .today-batch .tb-hero{background:#f4f2fa;border-color:#e5e0f2;border-radius:12px}
body[data-ui] .today-batch .tb-eyebrow{display:none}
body[data-ui] .today-batch .tb-button-primary{background:var(--app-primary);border-color:var(--app-primary)}
body[data-ui] .today-batch .tb-card{border-radius:12px;box-shadow:none}
body[data-ui] .mail-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:8px;background:var(--app-primary);padding:9px 18px}
body[data-ui] .mail-button:hover{background:var(--app-primary-hover)}
body[data-ui] [data-mail-tabs]{display:flex;flex-wrap:wrap;gap:8px}
body[data-ui] [data-mail-tabs] [aria-current=page]{background:var(--app-primary);color:white}
body[data-ui] .mail-filter label{min-width:0;flex:1 1 150px}
body[data-ui] .mail-filter label:first-child{flex:2 1 240px}
body[data-ui] .mail-filter :is(input,select){width:100%;min-width:0;min-height:42px}
body[data-ui] .auth-panel :is(input:not([type=hidden]):not([type=checkbox]),button[type=submit],form>button){min-height:46px;font-size:15px}
body[data-ui] .auth-panel form>button{background:var(--app-primary)}
body[data-ui] .auth-panel form>button:hover{background:var(--app-primary-hover)}
body[data-ui] :is(.al-notice,.km-notice,.db-notice){background:#f1eef8;color:#51438f;border:1px solid #e5e0f2}
@media(max-width:900px){body[data-ui] .lib-filters{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-ui] .lib-filters>div:last-child{grid-column:1/-1}body[data-ui] .al-table{min-width:850px}}
@media(max-width:650px){
body[data-ui]{--app-space:16px}
body[data-ui] main h1:not(.ui-home-title){font-size:24px}
body[data-ui] :is(.hub-card,.al-card,.km-card,.db-card,.lib-panel,.mail-panel){padding:16px}
body[data-ui] :is(.hub-heading,.db-heading,.al-head,.km-head,.mail-head){align-items:flex-start;gap:12px;margin-bottom:18px}
body[data-ui] :is(.hub-button,.db-button,.al-button,.km-button,.lib-btn){min-height:44px}
body[data-ui] :is(.al-filters,.km-form,.lib-filters){grid-template-columns:minmax(0,1fr)}
body[data-ui] .al-filters label:first-child{grid-column:auto}
body[data-ui] .lib-stats{flex-wrap:wrap;gap:16px}
body[data-ui] .lib-note{border-left:0;padding-left:0;max-width:100%}
body[data-ui] :is(.hub-heading,.db-heading,.al-head,.km-head) p{overflow-wrap:anywhere}
body[data-ui] .portal-link-grid a{padding:18px}
body[data-ui] .ql-toolbar.ql-snow button{min-width:32px;min-height:32px}
}
@media(prefers-reduced-motion:reduce){body[data-ui] :is(.hub-button,.db-button,.al-button,.km-button,.mail-btn,.lib-btn){transition:none}}

/* Correspondence categories retain the existing workbench row treatment. */
body[data-ui] .work .work-correspondence{grid-row:1;align-self:stretch;display:flex;flex-direction:column;min-height:0}
body[data-ui] .work .work-correspondence>.work-correspondence-tabs{display:flex;align-items:center;gap:18px;padding:0 18px;border-bottom:1px solid var(--line,#e8edf5);flex:none}
body[data-ui] .work-correspondence-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:14px 0;min-height:48px;color:#64748b;font-size:13px;font-weight:500;white-space:nowrap;transition:color .16s,border-color .16s}
body[data-ui] .work-correspondence-tabs button[aria-selected=true]{color:var(--primary,#6252a9);border-bottom-color:var(--primary,#6252a9)}
body[data-ui] .work-correspondence-tabs button span{font-size:12px;font-weight:400}
body[data-ui] .work-correspondence-tabs button:focus-visible{outline:2px solid #6252a9;outline-offset:3px}
body[data-ui] .work-correspondence-panel{display:flex;flex:1 1 0;min-height:0;flex-direction:column}
body[data-ui] .work-correspondence-panel[hidden]{display:none!important}
body[data-ui] .work-correspondence-panel>.divide-y{flex:1 1 0;min-height:0;height:0;max-height:none;overflow-y:auto}
body[data-ui] .work-correspondence-panel>p{padding:40px 20px;text-align:center;color:#94a3b8;font-size:13px}
@media(max-width:650px){
body[data-ui] .work .work-correspondence{min-height:340px}
body[data-ui] .work .work-correspondence>.work-correspondence-tabs{gap:14px;padding:0 14px}
body[data-ui] .work-correspondence-tabs button{font-size:12px}
body[data-ui] .work-correspondence-panel>.divide-y{flex:initial;height:auto;max-height:510px}
}
@media(prefers-reduced-motion:reduce){body[data-ui] .work-correspondence-tabs button{transition:none}}

/* Navigation icons share one outline weight and inherit each link's state. */
body[data-ui] main [data-page-back][hidden],body[data-ui] main #app-page-back[hidden]{display:none!important}
body[data-ui] main #app-page-back{margin-left:auto;margin-right:auto;margin-bottom:18px}
body[data-ui] main #app-page-back .ui-back-link{white-space:nowrap}
body[data-ui] .app-nav .app-nav-icon{display:block;width:17px;height:17px;flex:0 0 17px;color:inherit;pointer-events:none}
body[data-ui] .app-nav .app-nav-link{justify-content:flex-start;gap:7px}
body[data-ui] .app-nav .app-nav-label{min-width:0}
body[data-ui] .app-nav .app-nav-dropdown>summary{gap:7px}
body[data-ui] .app-nav .app-nav-popover .app-nav-icon{opacity:.85}
@media(max-width:1000px){body[data-ui] .app-nav .app-nav-icon{width:18px;height:18px;flex-basis:18px}body[data-ui] .app-nav .app-nav-link,body[data-ui] .app-nav .app-nav-dropdown>summary{gap:10px}}

/* Apple Design refinement. Functional layout and event handlers stay in their
   existing modules. This layer deliberately does not reposition overlays. */
body[data-design="apple"] {
  --apple-ink:#24242b;--apple-muted:#646471;--apple-bg:#f5f5f7;
  --apple-line:#e5e5eb;--apple-primary:#6153a5;--apple-tint:#efedf7;
  --apple-ease:cubic-bezier(.22,1,.36,1);
  --app-bg:var(--apple-bg);--app-text:var(--apple-ink);
  --app-border:var(--apple-line);--app-muted:var(--apple-muted);
  background:var(--apple-bg);color:var(--apple-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:14px;line-height:1.65;font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;
}
body[data-design="apple"] main:not(:has(.ink-home)) {
  --page-ink:var(--apple-ink);--page-muted:var(--apple-muted);
  --page-line:var(--apple-line);padding-top:28px;padding-bottom:48px;
}
body[data-design="apple"] main:not(:has(.ink-home)) h1:not(.ui-home-title) {
  color:var(--apple-ink);font-size:clamp(26px,2.2vw,32px);
  font-weight:650;line-height:1.25;letter-spacing:-.025em;text-wrap:balance;
}
body[data-design="apple"] main:not(:has(.ink-home)) :is(h2,h3) {
  color:var(--apple-ink);font-weight:600;letter-spacing:-.012em;line-height:1.4;
}
body[data-design="apple"] main:not(:has(.ink-home)) :is(.text-slate-400,.text-gray-400,.al-muted,.km-muted,.mail-sub) {color:var(--apple-muted)}
body[data-design="apple"] :is(button,summary,a,input,select,textarea) {touch-action:manipulation}
body[data-design="apple"] :is(button,a,summary):focus-visible {
  outline:3px solid #8474bf;outline-offset:3px;
}
body[data-design="apple"] :is(button,summary) {cursor:pointer}
body[data-design="apple"] :is(button:disabled,[aria-disabled="true"]) {cursor:not-allowed}

/* Navigation is a functional floating layer; dense dialogs stay solid. */
body[data-design="apple"] .app-nav {
  background:rgba(255,255,255,.96);backdrop-filter:blur(16px) saturate(130%);
  border-bottom-color:#e5e5eb;box-shadow:0 1px 0 #24242b03;
}
body[data-design="apple"] .app-brand {font-weight:650;letter-spacing:-.025em;color:var(--apple-ink)}
body[data-design="apple"] .app-nav :is(.app-nav-link,.app-nav-dropdown>summary) {
  border-radius:10px;color:#5c5c68;font-size:14px;font-weight:500;
  transition:background-color 140ms ease,color 140ms ease,transform 120ms var(--apple-ease);
}
body[data-design="apple"] .app-nav :is(.app-nav-link[aria-current="page"],.app-nav-dropdown[data-active="1"]>summary) {
  background:var(--apple-primary);color:#fff;
}
body[data-design="apple"] .app-nav .app-nav-popover {
  padding:8px;border-radius:16px;background:#fff;border:1px solid #24242b12;
  box-shadow:0 4px 14px #24242b0a,0 20px 48px #24242b15;
  transform-origin:top left;
}
body[data-design="apple"] .app-nav-popover .app-nav-link {min-height:42px;padding:10px 12px}
body[data-design="apple"] .app-nav-caption {color:var(--apple-muted);font-size:12px;padding:8px 12px}
body[data-design="apple"] .app-member-badge {background:#f8f7fc;border-color:#e1dcec;color:#6153a5}

/* Same elevation for equally important working areas across all routes. */
body[data-design="apple"] main :is(.hub-card,.mail-panel,.al-card,.km-card,.db-card,.lib-panel,.portal-group,.compose-writing,.compose-context>div,.work-trend-panel,.work-opened-list,.work-reply-list) {
  background:#fff;border-color:var(--apple-line);border-radius:16px;
  box-shadow:0 1px 3px #24242b04;
}
body[data-design="apple"] main :is(.hub-card,.mail-panel,.al-card,.km-card,.lib-panel) {padding:24px}
body[data-design="apple"] main :is(.hub-heading,.al-head,.km-head,.mail-header,.portal-profile>header) {margin-bottom:24px}
body[data-design="apple"] main :is(.hub-sidebar,.work-rail) a {border-radius:10px}
body[data-design="apple"] main :is(.hub-sidebar,.work-tabs) a:is(.active,[aria-current="page"]) {background:var(--apple-tint);color:#51438f;font-weight:600}
body[data-design="apple"] .work .work-hero h1 {font-size:30px}
body[data-design="apple"] .work .work-application-stats {border-radius:16px;border-color:var(--apple-line)}
body[data-design="apple"] .work .work-application-stats a strong {font-weight:600;letter-spacing:-.025em}
body[data-design="apple"] .work .work-message-row {padding:20px}
body[data-design="apple"] .work .work-mentor-initial {background:var(--apple-tint)}

/* Inputs are not disabled-looking; saved read-only values remain legible. */
body[data-design="apple"] main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="color"]):not([type="file"]),select,textarea):not(.ql-tooltip input) {
  min-height:42px;border:1px solid #d8d8e1;border-radius:10px;background:#fff;
  color:var(--apple-ink);font:inherit;line-height:1.5;
  transition:border-color 120ms ease,box-shadow 120ms ease,background-color 120ms ease;
}
body[data-design="apple"] main :is(input,select,textarea):focus-visible {
  border-color:#8474bf;outline:2px solid #dcd5f0;outline-offset:2px;box-shadow:none;
}
body[data-design="apple"] main :is(input,textarea)[readonly] {background:#f8f8fa;color:#4d4d59}
body[data-design="apple"] main :is(input,select,textarea):disabled {background:#f5f5f7;color:#646471;opacity:1}
body[data-design="apple"] input::placeholder,body[data-design="apple"] textarea::placeholder {color:#777783;opacity:1}
body[data-design="apple"] input[type="checkbox"] {accent-color:var(--apple-primary)}
body[data-design="apple"] main :is(.hub-card,.mail-panel,.km-form,.al-filters,.portal-profile) label {line-height:1.6}
body[data-design="apple"] main :is(.hub-button,.hub-btn,.mail-button,.mail-btn,.al-button,.km-button,.db-btn,.lib-btn,.mp-button,.hero-cta) {
  min-height:40px;border-radius:10px;font-weight:600;
  transition:background-color 140ms ease,border-color 140ms ease,box-shadow 140ms ease,transform 120ms var(--apple-ease);
}
body[data-design="apple"] main :is(button.bg-slate-900,a.bg-slate-900,button.bg-indigo-600,a.bg-indigo-600,.hub-button,.db-btn-primary) {
  background:var(--apple-primary);border-color:var(--apple-primary);color:#fff;
}
body[data-design="apple"] main :is(button,a):not(.ql-toolbar *):not(.work-message-row>button):active,
body[data-design="apple"] .app-nav :is(a,summary):active {transform:scale(.98);transition-duration:70ms}
body[data-design="apple"] .ql-toolbar button:active {background:#e8e4f3}

/* Tables keep their semantic column widths and internal scrolling. */
body[data-design="apple"] main table {font-size:14px;line-height:1.65;font-variant-numeric:tabular-nums}
body[data-design="apple"] main table th {background:#f6f6f8;color:#60606d;font-size:12px;font-weight:600;letter-spacing:.015em;padding-top:13px;padding-bottom:13px}
body[data-design="apple"] main table td {border-color:#eeeef2;padding-top:15px;padding-bottom:15px;vertical-align:top}
body[data-design="apple"] main table tbody tr {transition:background-color 110ms ease}
body[data-design="apple"] main :is(.mail-table,.al-table,.km-table,.db-table,.lib-table) td {font-size:14px}
body[data-design="apple"] .supervisor-list-page #filters {padding:18px;border-radius:16px;border-color:var(--apple-line);background:#fff;gap:10px;box-shadow:none}
body[data-design="apple"] .supervisor-list-page #filters select {padding-inline:12px}
body[data-design="apple"] main :is(.mail-pagination,.lib-pagination,.km-pages,.al-pagination,.portal-pagination,.portal-pages) {gap:10px;padding-top:20px}
body[data-design="apple"] main :is(.mail-pagination,.lib-pagination,.km-pages,.al-pagination,.portal-pagination,.portal-pages) :is(a,button) {border-radius:10px;min-height:40px;min-width:40px}

/* Writing and attachment selection keep the existing editor behaviour. */
body[data-design="apple"] .compose-writing {padding:28px!important}
body[data-design="apple"] .compose-context>div {padding:20px}
body[data-design="apple"] .compose-context dl dd {font-size:14px;line-height:1.75}
body[data-design="apple"] main .ql-toolbar.ql-snow {background:#f8f8fa;border-color:#d8d8e1;border-radius:10px 10px 0 0;padding:10px}
body[data-design="apple"] main .ql-container.ql-snow {border-color:#d8d8e1;border-radius:0 0 10px 10px;font-size:15px}
body[data-design="apple"] main .ql-editor {line-height:1.85;padding:22px 24px}
body[data-design="apple"] main .mail-upload-box {background:#f8f8fa;border-color:var(--apple-line);border-radius:12px;padding:20px}
body[data-design="apple"] main input[type="file"]::file-selector-button {background:#fff;border:1px solid #d8d8e1;border-radius:8px;padding:9px 14px;color:#4d4d59;font:inherit;cursor:pointer}
body[data-design="apple"] .portal-profile .portal-link-grid>a {border-radius:12px;border-color:var(--apple-line);padding:20px;background:#fff}
body[data-design="apple"] .portal-profile #personal-info dl dt {color:var(--apple-muted);font-size:13px}
body[data-design="apple"] .portal-profile #personal-info dl dd {font-size:15px;color:var(--apple-ink)}
body[data-design="apple"] .date-batch .db-days a {border-radius:10px}
body[data-design="apple"] .date-batch .db-schedule {background:#f8f7fc;border-radius:14px}
body[data-design="apple"] .membership-page {--mp-muted:var(--apple-muted);--mp-line:var(--apple-line)}
body[data-design="apple"] .membership-page .mp-comparison,body[data-design="apple"] .membership-page .mp-detail {border-radius:14px}
body[data-design="apple"] .membership-page .mp-price strong {font-weight:650;letter-spacing:-.035em}
body[data-design="apple"] .membership-page .mp-button {border-radius:10px}
body[data-design="apple"] .auth-frame {border-radius:24px;border-color:var(--apple-line);box-shadow:0 20px 64px #24242b0b}
body[data-design="apple"] .auth-card {padding:clamp(24px,4vw,48px)}
body[data-design="apple"] .auth-card :is(input,button[type="submit"]) {min-height:48px;font-size:16px}

/* Portalled panels: solid, readable, and never under navigation. No geometry changes. */
body[data-design="apple"] [data-mentor-header] {background:#fff!important}
body[data-design="apple"] [data-mentor-detail] {color:var(--apple-ink);font-size:14px;line-height:1.75}
body[data-design="apple"] [data-mentor-detail] h2 {font-size:20px;font-weight:650;letter-spacing:-.02em}
body[data-design="apple"] [data-mentor-close] {background:#f5f5f7;color:#646471}
body[data-design="apple"] :is(.mail-dialog,.portal-modal-panel,.phd-confirm) {border-radius:20px;border-color:var(--apple-line);box-shadow:0 24px 80px #24242b24}
body[data-design="apple"] .phd-confirm {padding:28px;font-family:inherit}
body[data-design="apple"] .phd-confirm [data-ok] {background:var(--apple-primary);border-color:var(--apple-primary)}
body[data-design="apple"] .phd-confirm-danger [data-ok] {background:#be3455;border-color:#be3455}
body[data-design="apple"] .phd-confirm h2 {letter-spacing:-.02em}
body[data-design="apple"] .phd-confirm-icon {color:var(--apple-primary);background:var(--apple-tint)}
body[data-design="apple"] .phd-confirm-danger .phd-confirm-icon {color:#be3455;background:#fff1f2}

/* Homepage keeps the requested bespoke ink hero; refine reading/control rhythm. */
body[data-design="apple"] .ink-home {font-family:inherit}
body[data-design="apple"] .ink-header {align-items:center}
body[data-design="apple"] .ink-intro p {font-weight:600;line-height:1.5;letter-spacing:-.018em}
body[data-design="apple"] .ink-home :is(.ink-button,.ink-register) {transition:background-color 140ms ease,transform 120ms var(--apple-ease)}
body[data-design="apple"] .ink-home .ink-button:active {transform:scale(.98)}
body[data-design="apple"] .ink-feature-list p {line-height:1.8;max-width:44em;color:#55555f}
body[data-design="apple"] .ink-home details {border-color:#dedee3}

@media(hover:hover) and (pointer:fine) {
  body[data-design="apple"] .app-nav-popover .app-nav-link:hover {background:var(--apple-tint);color:#51438f}
  body[data-design="apple"] main table tbody tr:hover {background:#f8f7fc}
  body[data-design="apple"] .portal-profile .portal-link-grid>a:hover {background:#faf9fd;border-color:#c9c0e3}
}
@media(max-width:767px) {
  body[data-design="apple"] main:not(:has(.ink-home)) {padding-top:20px;padding-bottom:calc(32px + env(safe-area-inset-bottom))}
  body[data-design="apple"] main:not(:has(.ink-home)) h1:not(.ui-home-title) {font-size:26px}
  body[data-design="apple"] main :is(.hub-card,.mail-panel,.al-card,.km-card,.lib-panel) {padding:18px;border-radius:14px}
  body[data-design="apple"] .compose-writing {padding:18px!important}
  body[data-design="apple"] .compose-context>div {padding:18px}
  body[data-design="apple"] main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="color"]):not([type="file"]),select,textarea):not(.ql-tooltip input) {font-size:16px;min-height:44px}
  body[data-design="apple"] main :is(.hub-button,.mail-button,.al-button,.km-button,.db-btn,.lib-btn,.mp-button) {min-height:44px}
  body[data-design="apple"] .app-nav-popover .app-nav-link {min-height:44px}
  body[data-design="apple"] .app-nav .app-nav-popover {box-shadow:none;background:#f7f7fa}
  body[data-design="apple"] .ql-editor {padding:18px;line-height:1.85}
  body[data-design="apple"] main .ql-editor {padding:18px}
  body[data-design="apple"] .auth-card {padding:24px 20px}
}
@media(prefers-reduced-transparency:reduce) {
  body[data-design="apple"] .app-nav {background:#fff;backdrop-filter:none}
}
@media(prefers-contrast:more) {
  body[data-design="apple"] {--apple-muted:#41414b;--apple-line:#a0a0ac}
  body[data-design="apple"] .app-nav {background:#fff;backdrop-filter:none}
  body[data-design="apple"] main table th {color:#41414b}
}
@media(prefers-reduced-motion:reduce) {
  body[data-design="apple"] :is(a,button,input,select,textarea,summary) {transition:none!important}
  body[data-design="apple"] :is(a,button,summary):active {transform:none!important}
}

.reply-tools{display:flex;justify-content:flex-end;flex-wrap:wrap;margin-bottom:12px}.reply-prompt-button,.detail-notes-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid #ddd7ee;border-radius:9px;background:#fff;color:#6153a5;font-size:12px;cursor:pointer;transition:background .16s ease,border-color .16s ease}.detail-notes-trigger{margin-top:10px}.detail-notes-trigger svg,.reply-disclosure summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.reply-prompt-button:hover,.detail-notes-trigger:hover{background:#f4f1fa;border-color:#b9afda}.reply-disclosure{margin-bottom:12px;border:1px solid #e1deec;border-radius:11px;background:#fff;overflow:hidden}.reply-disclosure>summary{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 14px;list-style:none;font-size:13px;font-weight:500;color:#334155;cursor:pointer}.reply-disclosure>summary::-webkit-details-marker{display:none}.reply-disclosure>summary>svg{margin-left:auto;flex-shrink:0;transition:transform .18s ease}.reply-disclosure[open]>summary{border-bottom:1px solid #efedf5}.reply-disclosure[open]>summary>svg{transform:rotate(180deg)}.reply-disclosure-content{padding:12px 14px}.reply-disclosure[open]>.reply-disclosure-content{animation:reply-disclosure-enter .18s ease-out}.reply-model{margin-left:auto;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 8px;background:#f3f0fa;color:#6153a5;border-radius:12px;font-size:11px}.reply-model+svg{margin-left:0!important}.reply-disclosure button{min-height:40px}.reply-disclosure :focus-visible,.reply-prompt-button:focus-visible,.detail-notes-trigger:focus-visible,.detail-notes-dialog :focus-visible{outline:2px solid #6153a5;outline-offset:2px}.detail-notes-dialog{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #e4e0ef;border-radius:16px;color:#23334e;background:#fff;box-shadow:0 24px 80px #18223b33;overflow:auto}.detail-notes-dialog::backdrop{background:#18223b66}.detail-notes-dialog>header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:#fff;border-bottom:1px solid #eeeaf5}.detail-notes-dialog h2{font-size:15px;font-weight:600}.detail-notes-close{min-width:44px;min-height:44px;border:1px solid #e4e0ef;border-radius:9px;color:#6153a5;background:#fff;font-size:13px;cursor:pointer}.detail-notes-body{padding:18px 20px}.detail-notes-error{color:#a23e43;font-size:13px;line-height:1.6}.detail-notes-success{color:#17776d;font-size:13px;line-height:1.6}@keyframes reply-disclosure-enter{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.reply-tools{justify-content:stretch}.reply-prompt-button{width:100%}.reply-disclosure button{min-height:44px}.detail-notes-body{padding:14px}.detail-notes-dialog>header{padding:10px 14px}}@media(prefers-reduced-motion:reduce){.reply-disclosure-content{animation:none!important}.reply-disclosure summary svg,.reply-prompt-button,.detail-notes-trigger{transition:none}}
.detail-interest-row{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}.detail-interest-row>div{min-width:0;max-width:100%}.detail-interest-row>.detail-notes-trigger{margin-top:0;margin-left:auto;flex-shrink:0;white-space:nowrap}.detail-notes-dialog .detail-notes-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;width:44px;min-height:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:#94a3b8;font-size:24px;line-height:1;flex-shrink:0}.detail-notes-dialog .detail-notes-close:hover{color:#334155;background:#f8fafc}
.detail-interest-row>form{min-width:0;max-width:100%;margin:0}
[data-thread-header] p{overflow-wrap:anywhere}
.reply-disclosure>.reply-reference-summary{gap:8px;padding-top:5px;padding-bottom:5px;min-height:56px}.reply-reference-summary>span{flex-shrink:0}.reply-reference-summary>.reply-prompt-button{margin-left:auto;width:auto;max-width:calc(100% - 92px);min-height:44px;padding:8px 12px;flex-shrink:1;text-align:center}.reply-disclosure>.reply-reference-summary>svg{margin-left:0;flex-shrink:0}
.reply-prompt-extra-field{margin:0 0 14px;min-width:0}
.reply-prompt-extra-field label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:#334155}
.reply-prompt-extra-field label span{font-weight:400;color:#64748b}
.reply-prompt-extra-field textarea{display:block;box-sizing:border-box;width:100%;min-height:84px;max-height:240px;resize:vertical;border:1px solid #d8d3e6;border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;line-height:1.6;background:#fff;color:#334155}
.reply-prompt-extra-field textarea:focus-visible{outline:2px solid #9486c8;outline-offset:2px}
.reply-prompt-extra-field p{margin:6px 0 0;font-size:12px;line-height:1.6;color:#64748b;overflow-wrap:anywhere}
.reply-prompt-extra-field [data-reply-prompt-status]:empty{display:none}
@media(max-width:600px){.reply-prompt-extra-field textarea{font-size:16px}}

/* Keep ownership after a transition so legacy entrances cannot replay. */
.phd-spatial-managed{transform-origin:center center!important;animation:none!important;transition:none!important}
.phd-spatial-surface{will-change:transform,opacity}
/* Keep native journal surfaces composited after settling: promoting/demoting
   a scrolling dialog with a sticky translucent header caused a bright frame. */
:is(#journal-dialog,#workspace-info).phd-spatial-managed{will-change:transform,opacity;backface-visibility:hidden;transform:translateZ(0)}
#journal-dialog .journal-dialog-head{background:#fff;backdrop-filter:none}
.journal-dialog-open{scrollbar-gutter:stable}
[aria-busy="true"][data-journal-editor],.journal-page a[aria-busy="true"]{cursor:progress;opacity:.65}
dialog[data-motion-phase]::backdrop{backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08);opacity:1;transition:opacity 460ms cubic-bezier(.4,0,.6,1)}
dialog[data-motion-phase="closing"]::backdrop{opacity:0}
/* Do not replay a starting-style backdrop when async visibility is released. */
[data-motion-waiting="1"] :is(.portal-modal-panel,[data-mentor-panel],aside){visibility:hidden!important}
dialog[data-motion-waiting="1"]{visibility:hidden!important}
dialog[data-motion-waiting="1"]::after{visibility:visible}
dialog[data-motion-waiting="1"][data-motion-phase="closing"]::after{visibility:hidden}
[data-motion-waiting="1"]::after{content:'正在加载…';position:fixed;left:50%;top:50%;translate:-50% -50%;padding:10px 18px;border-radius:12px;background:#fff;color:#625675;font:14px/1.5 system-ui;box-shadow:0 4px 18px #0001;pointer-events:none}
body[data-design="apple"] :is(.hub-button,.db-button,.journal-button,.reply-prompt-button):active{scale:.99}
@media(prefers-reduced-motion:reduce){.phd-spatial-surface{will-change:opacity}dialog[data-motion-phase]::backdrop{transition:opacity 100ms linear}body[data-design="apple"] :is(.hub-button,.db-button,.journal-button,.reply-prompt-button):active{scale:1}}

