/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.\!start{inset-inline-start:var(--spacing)!important}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.grid{display:grid}.table{display:table}.invert{--tw-invert:invert(100%);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,)}}:root{--ink:#13261f;--muted:#6c7973;--line:#dce4df;--paper:#f6f8f5;--white:#fff;--mint:#bbf24b;--mint-dark:#8ac725;--forest:#18382c;--night:#0d1d17;--font-geist-sans:Inter, "PingFang SC", "Microsoft YaHei", Arial, sans-serif;--font-geist-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), "PingFang SC", "Microsoft YaHei", sans-serif;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #bbf24b7a}.brand-mark{align-items:end;gap:3px;width:27px;height:25px;display:inline-flex}.brand-mark span{background:var(--mint);border-radius:1px;width:6px;display:block;transform:skew(-14deg)}.brand-mark span:first-child{height:10px}.brand-mark span:nth-child(2){height:18px}.brand-mark span:nth-child(3){height:25px}.eyebrow{color:#7d8d85;font:700 11px/1.2 var(--font-geist-mono), monospace;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px}.login-shell{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100vh;display:grid}.login-story{color:#fff;background:var(--night);flex-direction:column;justify-content:space-between;min-height:100vh;padding:54px 7vw 42px;display:flex;position:relative;overflow:hidden}.login-story:before{content:"";pointer-events:none;background:radial-gradient(circle at 78% 20%,#7dbd3f26,#0000 32%),linear-gradient(135deg,#0000 60%,#ffffff08);position:absolute;inset:0}.login-story:after{content:"";opacity:.04;background-image:repeating-linear-gradient(90deg,#0000 0 79px,#fff 80px),repeating-linear-gradient(0deg,#0000 0 79px,#fff 80px);position:absolute;inset:0}.story-topline,.story-copy,.signal-board,.story-footnote{z-index:1;position:relative}.story-topline{font:650 12px var(--font-geist-mono), monospace;letter-spacing:.14em;align-items:center;gap:14px;display:flex}.story-copy{max-width:700px;margin-top:auto;margin-bottom:62px}.story-copy .eyebrow{color:var(--mint)}.story-copy h1{letter-spacing:-.055em;margin:0;font-size:clamp(42px,5vw,74px);font-weight:560;line-height:1.08}.story-description{color:#aab8b2;max-width:560px;margin:28px 0 0;font-size:15px;line-height:1.9}.signal-board{border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1f;height:112px;margin-bottom:34px}.signal-axis{color:#5f716a;font:9px var(--font-geist-mono), monospace;justify-content:space-between;display:flex;position:absolute;inset:auto 0 8px}.signal-line{transform-origin:0;background:linear-gradient(90deg, transparent, var(--mint) 30%, #76a92a 70%, transparent);clip-path:polygon(0 70%,8% 65%,16% 85%,23% 45%,29% 50%,34% 10%,41% 68%,49% 57%,56% 76%,63% 18%,68% 35%,76% 22%,84% 60%,91% 32%,100% 40%,100% 100%,0 100%);height:2px;position:absolute;left:0;right:0}.line-one{opacity:.85;height:45px;top:32px}.line-two{opacity:.22;height:28px;top:49px}.signal-focus{border-left:1px dashed #bbf24b80;height:68px;position:absolute;top:13px;left:63%}.signal-focus i{background:var(--mint);border-radius:50%;width:8px;height:8px;position:absolute;top:18px;left:-4px;box-shadow:0 0 0 5px #bbf24b1f}.signal-focus b{color:var(--mint);font:9px var(--font-geist-mono), monospace;letter-spacing:.1em;position:absolute;top:12px;left:10px}.story-footnote{color:#5c6d66;font:9px var(--font-geist-mono), monospace;letter-spacing:.16em;margin:0}.login-panel{background:var(--white);place-items:center;padding:48px;display:grid}.login-box{width:min(100%,390px)}.mobile-brand{display:none}.login-box h2{color:var(--ink);letter-spacing:-.04em;margin:0;font-size:38px;font-weight:600}.login-hint{color:var(--muted);margin:13px 0 36px;font-size:14px;line-height:1.7}.login-box label{color:#3b4d45;margin:20px 0 8px;font-size:12px;font-weight:650;display:block}.login-box input{border:1px solid var(--line);width:100%;height:50px;color:var(--ink);background:#fbfcfb;border-radius:4px;padding:0 15px;transition:border-color .2s,box-shadow .2s}.login-box input::placeholder{color:#a8b2ad}.login-box input:focus{border-color:#94b84d;outline:none;box-shadow:0 0 0 4px #bbf24b1f}.primary-button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:4px;justify-content:space-between;align-items:center;width:100%;height:52px;margin-top:26px;padding:0 18px;font-size:13px;font-weight:650;transition:background .2s,transform .2s;display:flex}.primary-button:hover{background:#25473a;transform:translateY(-1px)}.primary-button:disabled{opacity:.65;cursor:wait;transform:none}.form-error,.inline-error{color:#9a3535;background:#fff4f2;border-left:3px solid #d65454;padding:11px 13px;font-size:12px;line-height:1.5}.form-error{margin:16px 0 -8px}.security-note{text-align:center;color:#929e98;margin:22px 0 0;font-size:11px}.security-note span{color:#77ac27;margin-right:6px;font-size:8px}.loading-screen{background:var(--night);color:#b9c4bf;min-height:100vh;font:12px var(--font-geist-mono), monospace;letter-spacing:.08em;justify-content:center;align-items:center;gap:16px;display:flex}.loading-screen .brand-mark{animation:1.2s ease-in-out infinite pulse}.workspace-shell{background:var(--paper);grid-template-columns:238px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--night);color:#fff;flex-direction:column;height:100vh;padding:32px 22px 24px;display:flex;position:sticky;top:0}.sidebar-brand{font:700 18px var(--font-geist-mono), monospace;letter-spacing:.14em;align-items:center;gap:12px;padding:0 8px 32px;display:flex}.sidebar nav{flex-direction:column;gap:5px;display:flex}.nav-section{color:#61716b;font:9px var(--font-geist-mono), monospace;letter-spacing:.16em;text-transform:uppercase;margin:28px 12px 9px}.nav-item{color:#96a49e;text-align:left;background:0 0;border:0;border-radius:3px;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 12px;font-size:12px;text-decoration:none;display:flex}.nav-item>span{color:#53645d;font:9px var(--font-geist-mono), monospace}.nav-item small{color:#586861;font:8px var(--font-geist-mono), monospace;margin-left:auto}.nav-item.active{color:#fff;background:#bbf24b1a}.nav-item.active>span{color:var(--mint)}.nav-item.disabled{cursor:not-allowed;opacity:.68}.sidebar-footer{border-top:1px solid #ffffff17;grid-template-columns:34px 1fr 28px;align-items:center;gap:10px;margin-top:auto;padding:18px 7px 0;display:grid}.avatar{background:var(--mint);width:32px;height:32px;color:var(--ink);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.sidebar-footer div{min-width:0}.sidebar-footer strong,.sidebar-footer small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-footer strong{font-size:11px}.sidebar-footer small{color:#65776f;margin-top:3px;font-size:9px}.sidebar-footer button{color:#6f8179;cursor:pointer;background:0 0;border:0;font-size:17px}.workspace-content{min-width:0;padding:48px clamp(28px,5vw,72px) 28px}.workspace-header{justify-content:space-between;align-items:end;margin-bottom:32px;display:flex}.workspace-header h1{letter-spacing:-.05em;margin:0;font-size:clamp(31px,4vw,46px);font-weight:590;line-height:1}.refresh-button{color:#506158;cursor:pointer;background:#fff;border:1px solid #cfd9d3;border-radius:3px;align-items:center;gap:8px;height:38px;padding:0 13px;font-size:11px;display:flex}.refresh-button:hover{border-color:#9cac9f}.refresh-button:disabled{cursor:wait}.spin{animation:.8s linear infinite spin;display:inline-block}.status-hero{background:var(--forest);color:#fff;justify-content:space-between;align-items:center;min-height:210px;padding:38px 42px;display:flex;position:relative;overflow:hidden}.status-hero:after{content:"";border:1px solid #bbf24b33;border-radius:50%;width:410px;height:410px;position:absolute;top:-210px;right:-120px;box-shadow:0 0 0 42px #bbf24b06,0 0 0 84px #bbf24b05}.status-copy{z-index:1;max-width:650px;position:relative}.status-pill{color:var(--mint);font:700 9px var(--font-geist-mono), monospace;letter-spacing:.13em;align-items:center;gap:8px;display:inline-flex}.status-pill i,.live-label i{background:var(--mint);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #bbf24b1f}.status-copy h2{letter-spacing:-.045em;margin:18px 0 10px;font-size:clamp(28px,4vw,42px);font-weight:560}.status-copy p{color:#a9bab3;max-width:580px;margin:0;font-size:13px;line-height:1.8}.status-score{z-index:1;text-align:right;min-width:125px;position:relative}.status-score strong{color:var(--mint);font:500 60px/1 var(--font-geist-mono), monospace;letter-spacing:-.08em;display:block}.status-score span{color:#84988f;font-size:10px}.inline-error{margin-top:16px}.metric-grid{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(4,1fr);margin:18px 0;display:grid}.metric-card{border-right:1px solid var(--line);flex-direction:column;min-height:138px;padding:24px;display:flex}.metric-card:last-child{border-right:0}.metric-card>span{color:#7b8982;font-size:10px}.metric-card strong{color:var(--ink);font:600 26px var(--font-geist-mono), monospace;letter-spacing:-.045em;text-transform:uppercase;margin:20px 0 7px}.metric-card small{color:#9aa59f;font-size:9px}.accent-card{background:#f9ffe9}.detail-grid{grid-template-columns:1.08fr .92fr;gap:18px;display:grid}.service-panel,.roadmap-panel{border:1px solid var(--line);background:#fff;min-height:318px;padding:26px}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding-bottom:21px;display:flex}.panel-heading .eyebrow{margin-bottom:6px}.panel-heading h3{letter-spacing:-.03em;margin:0;font-size:20px}.live-label,.phase-label{color:#68a019;font:700 9px var(--font-geist-mono), monospace;letter-spacing:.12em;align-items:center;gap:8px;display:flex}.phase-label{background:#eef6e8;padding:5px 7px}.service-row{border-bottom:1px solid #edf0ee;grid-template-columns:38px 1fr auto;align-items:center;gap:13px;min-height:86px;display:grid}.service-row:last-child{border-bottom:0}.service-icon{color:#567067;width:34px;height:34px;font:700 11px var(--font-geist-mono), monospace;background:#f8faf8;border:1px solid #d8e1dc;place-items:center;display:grid}.service-row strong,.service-row small{display:block}.service-row strong{font-size:12px}.service-row small{color:#929e98;margin-top:5px;font-size:10px}.operational{color:#5d9610;font-size:9px}.operational:before{content:"";background:#78b91e;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.roadmap-list{margin:0;padding:9px 0 0;list-style:none}.roadmap-list li{border-bottom:1px solid #edf0ee;grid-template-columns:34px 1fr;align-items:start;gap:12px;padding:17px 0;display:grid}.roadmap-list li:last-child{border-bottom:0}.roadmap-list li>span{color:#96a29c;font:10px var(--font-geist-mono), monospace}.roadmap-list strong,.roadmap-list small{display:block}.roadmap-list strong{font-size:12px}.roadmap-list small{color:#8b9891;margin-top:5px;font-size:10px;line-height:1.5}.workspace-foot{color:#9aa49f;font:8px var(--font-geist-mono), monospace;letter-spacing:.12em;justify-content:space-between;margin-top:25px;display:flex}.header-actions{align-items:center;gap:9px;display:flex}.sync-button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:3px;height:38px;padding:0 16px;font-size:11px;font-weight:650}.sync-button:hover{background:#25473a}.sync-button:disabled{cursor:wait;background:#aab5af;border-color:#aab5af}.timing-error{margin:-15px 0 18px}.index-tabs{gap:8px;margin:-12px 0 18px;display:flex}.index-tabs button{border:1px solid var(--line);min-width:190px;color:var(--muted);cursor:pointer;text-align:left;background:#fff;border-radius:3px;padding:12px 15px;transition:border-color .18s,background .18s,color .18s}.index-tabs button:hover{border-color:#aabaaf}.index-tabs button.active{border-color:var(--forest);background:var(--forest);color:#fff}.index-tabs strong,.index-tabs small{display:block}.index-tabs strong{font-size:11px}.index-tabs small{color:#98a59f;font:8px var(--font-geist-mono), monospace;margin-top:5px}.index-tabs button.active small{color:#9db1a8}.timing-hero{background:var(--night);color:#fff;justify-content:space-between;align-items:center;min-height:232px;padding:38px 42px;display:flex;position:relative;overflow:hidden}.timing-hero:before{content:"";opacity:.12;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000);mask-image:linear-gradient(90deg,#0000,#000)}.timing-hero:after{content:"";border:1px solid #bbf24b40;border-radius:50%;width:340px;height:340px;position:absolute;top:-180px;right:-95px;box-shadow:0 0 0 38px #bbf24b06,0 0 0 76px #bbf24b05}.timing-hero-copy{z-index:1;max-width:680px;position:relative}.timing-hero-copy h2{letter-spacing:-.05em;margin:20px 0 10px;font-size:clamp(31px,4vw,48px);font-weight:560}.timing-hero-copy>p{color:#c1ccc7;margin:0;font-size:14px;line-height:1.8}.timing-hero-copy>small{color:#65776f;margin-top:24px;font-size:9px;display:block}.timing-score{z-index:1;text-align:right;min-width:145px;position:relative}.timing-score strong{color:var(--mint);font:500 86px/.9 var(--font-geist-mono), monospace;letter-spacing:-.1em}.timing-score>span{color:#63746d;font:12px var(--font-geist-mono), monospace}.timing-score small{color:#8b9a93;font:10px var(--font-geist-mono), monospace;margin-top:14px;display:block}.timing-metrics .metric-card strong{text-transform:none}.timing-metrics .metric-card .run-metric{font-family:var(--font-geist-sans), sans-serif;letter-spacing:-.03em;font-size:20px}.status-failed{color:#b9473e!important}.status-running,.status-pending{color:#a06c0e!important}.status-succeeded,.status-no_change{color:#5f9516!important}.status-succeeded_with_warnings{color:#a06c0e!important}.chart-panel,.data-panel{border:1px solid var(--line);background:#fff}.chart-panel{margin:18px 0;padding:26px}.chart-heading{align-items:center}.period-tabs{background:#f1f4f1;padding:3px;display:flex}.period-tabs button{color:#7a8881;cursor:pointer;background:0 0;border:0;min-height:31px;padding:0 11px;font-size:9px}.period-tabs button.active{color:var(--ink);background:#fff;font-weight:700;box-shadow:0 1px 4px #18382c1a}.chart-legend{color:#75827c;align-items:center;gap:22px;min-height:52px;font-size:9px;display:flex}.chart-legend span{align-items:center;gap:7px;display:flex}.chart-legend i{width:18px;height:2px;display:block}.score-swatch{background:#77a91f}.close-swatch{background:#7188a3}.chart-legend b{color:#99a39e;font:500 9px var(--font-geist-mono), monospace;margin-left:auto}.interactive-signal-chart{min-width:0;position:relative}.signal-chart-canvas{width:100%;height:340px}.chart-interaction-row{color:#8a9690;min-height:35px;font:500 9px/1.5 var(--font-geist-mono), monospace;justify-content:space-between;align-items:center;gap:18px;padding:8px 2px 0;display:flex}.chart-interaction-row button{color:#527716;cursor:pointer;background:0 0;border:0;flex:none;padding:3px 0;font-size:9px;font-weight:700}.chart-interaction-row button:disabled{color:#aab2ae;cursor:default}.signal-chart-tooltip{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;width:min(280px,100% - 16px);color:var(--ink);background:#fffffff5;border:1px solid #18382c29;padding:13px 14px;position:absolute;box-shadow:0 10px 30px #0d1d171f}.signal-chart-tooltip strong{font:700 10px var(--font-geist-mono), monospace;margin-bottom:9px;display:block}.signal-chart-tooltip>span{color:#6c7973;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:22px;font-size:9px;display:grid}.signal-chart-tooltip i{border-radius:50%;width:6px;height:6px}.signal-chart-tooltip b{color:var(--ink);font:650 10px var(--font-geist-mono), monospace}.signal-chart-tooltip em{color:#527716;margin-top:8px;font-size:10px;font-style:normal;font-weight:700;display:block}.signal-chart-tooltip small{color:#75827c;margin-top:4px;font-size:9px;line-height:1.5;display:block}.chart-empty{color:#8b9891;place-items:center;min-height:300px;font-size:12px;display:grid}.timing-detail-grid{grid-template-columns:1.12fr .88fr;gap:18px;display:grid}.data-panel{min-width:0;min-height:420px;padding:26px}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:10px}.data-table th{color:#929d97;text-align:left;letter-spacing:.08em;height:42px;font-size:8px;font-weight:600}.data-table th:nth-child(n+3),.data-table td:nth-child(n+3){text-align:right}.data-table td{color:#46584f;border-top:1px solid #edf0ee;height:43px}.mono-value{font-family:var(--font-geist-mono), monospace}.signal-badge{color:#4b7417;background:#eef4eb;justify-content:center;align-items:center;min-width:62px;height:22px;padding:0 7px;font-size:8px;display:inline-flex}.signal-badge.score-1,.signal-badge.score-2{color:#aa4940;background:#fff0ee}.signal-badge.score-3{color:#966a1d;background:#fff6e7}.signal-badge.score-8,.signal-badge.score-9,.signal-badge.score-10{color:#3d6910;background:#eaffc6}.signal-badge.score-missing{color:#7d8983;background:#f0f1f0}.empty-cell{text-align:center!important;color:#9aa59f!important;height:180px!important}.run-list{padding-top:5px}.run-row{border-bottom:1px solid #edf0ee;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:67px;display:grid}.run-row:last-child{border-bottom:0}.run-status-dot{background:#98a49e;border-radius:50%;width:7px;height:7px}.run-status-dot.status-succeeded,.run-status-dot.status-no_change{background:#78b51e}.run-status-dot.status-succeeded_with_warnings{background:#d39b2b}.run-status-dot.status-running,.run-status-dot.status-pending{background:#d39b2b;box-shadow:0 0 0 4px #d39b2b1f}.run-status-dot.status-failed{background:#cc5047}.run-main{min-width:0}.run-main strong,.run-main small,.run-main em{display:block}.run-main strong{font-size:10px}.run-main small{color:#929e98;font:8px var(--font-geist-mono), monospace;margin-top:5px}.run-main em{color:#b34740;text-overflow:ellipsis;white-space:nowrap;max-width:260px;margin-top:4px;font-size:8px;font-style:normal;overflow:hidden}.run-counts{text-align:right;min-width:80px}.run-counts strong,.run-counts small{display:block}.run-counts strong{color:#53665c;font:600 10px var(--font-geist-mono), monospace}.run-counts small{color:#a1aaa5;margin-top:4px;font-size:7px}.run-empty{color:#9aa59f;place-items:center;min-height:260px;font-size:11px;display:grid}.sync-tasks-page{font-size:14px}.sync-tasks-page .workspace-header h1{font-size:clamp(34px,4vw,48px)}.sync-tasks-page .refresh-button,.sync-tasks-page .sync-button{min-height:42px;font-size:13px}.sync-task-subtitle{color:var(--muted);margin:11px 0 0;font-size:15px}.sync-task-notice{color:#45611d;background:#f4f9e9;border-left:3px solid #739d29;margin:-12px 0 18px;padding:12px 14px;font-size:13px}.sync-task-metrics .metric-card strong{text-transform:none}.sync-task-metrics .metric-card>span{font-size:12px}.sync-task-metrics .metric-card small{font-size:11px}.sync-task-metrics .sync-task-time-metric{font-family:var(--font-geist-sans), sans-serif;letter-spacing:-.025em;font-size:20px}.sync-task-panel{padding:26px}.sync-task-heading{align-items:center}.sync-task-filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sync-task-filters label{color:#75827c;align-items:center;gap:8px;font-size:12px;display:flex}.sync-task-filters select{border:1px solid var(--line);min-height:39px;color:var(--ink);background:#fff;border-radius:3px;padding:0 32px 0 11px;font-size:12px}.sync-task-context{color:#7c8983;min-height:52px;font:11px var(--font-geist-mono), monospace;flex-wrap:wrap;align-items:center;gap:18px;display:flex}.sync-task-latest-failure{color:#b34740;margin-left:auto}.sync-task-table{min-width:1080px}.sync-task-table.data-table{font-size:12px}.sync-task-table th:nth-child(n),.sync-task-table td:nth-child(n){text-align:left}.sync-task-table th:nth-child(5),.sync-task-table td:nth-child(5){text-align:right}.sync-task-table th{font-size:10px}.sync-task-table td{vertical-align:top;height:auto;min-height:74px;padding:15px 12px 15px 0}.sync-task-table td:last-child,.sync-task-table th:last-child{padding-right:0}.sync-task-table td>small,.sync-task-table td>strong{display:block}.sync-task-table td>small{color:#7f8c85;margin-top:6px;font-size:10px}.sync-task-name strong,.sync-task-name small,.sync-task-name em{display:block}.sync-task-name strong{color:var(--ink);font-size:13px}.sync-task-name small{color:#7f8c85;font:10px var(--font-geist-mono), monospace;margin-top:6px}.sync-task-name em{color:#b34740;text-overflow:ellipsis;white-space:nowrap;max-width:280px;margin-top:8px;font-size:10px;font-style:normal;line-height:1.45;overflow:hidden}.sync-task-status{white-space:nowrap;align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.sync-task-status i{background:currentColor;border-radius:50%;width:8px;height:8px}.sync-task-status-button{cursor:pointer;text-underline-offset:4px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.sync-task-status.status-running i,.sync-task-status.status-pending i{box-shadow:0 0 0 4px #d39b2b1f}.sync-task-warning{color:#8b5f0b;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin-top:8px;padding:0;font-size:10px;text-decoration:underline;display:block}.sync-task-trigger{color:#506158;font-size:12px}.sync-task-volume strong,.sync-task-volume small{display:block}.sync-task-volume strong{color:var(--ink);font:650 18px var(--font-geist-mono), monospace}.sync-task-volume small{color:#7f8c85;white-space:nowrap;margin-top:5px;font-size:10px}.sync-task-pagination{justify-content:flex-end;align-items:center;gap:8px;padding-top:18px;display:flex}.sync-task-pagination span{color:#7c8983;margin-right:5px;font-size:11px}.sync-task-pagination button{border:1px solid var(--line);color:#506158;cursor:pointer;background:#fff;border-radius:3px;min-height:35px;padding:0 13px;font-size:11px}.sync-task-pagination button:disabled{opacity:.45;cursor:default}.sync-task-dialog-backdrop{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08161194;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.sync-task-dialog{background:#fff;border:1px solid #d4ded8;border-radius:6px;width:min(680px,100%);max-height:calc(100vh - 48px);padding:26px;overflow-y:auto;box-shadow:0 24px 80px #08161147}.sync-task-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:20px;display:flex}.sync-task-dialog h2{letter-spacing:-.035em;margin:0;font-size:25px}.sync-task-dialog>header>button{border:1px solid var(--line);color:#607069;cursor:pointer;background:#fff;border-radius:50%;width:34px;height:34px;font-size:22px;line-height:1}.sync-task-dialog-status{color:#68766f;flex-wrap:wrap;gap:10px 18px;padding:18px 0;font-size:12px;display:flex}.sync-task-detail-section{background:#fff8e9;border-left:4px solid #d39b2b;margin:0 0 16px;padding:17px 18px}.sync-task-detail-section.failure{background:#fff1ef;border-left-color:#cc5047}.sync-task-detail-section h3{margin:0 0 10px;font-size:14px}.sync-task-detail-section ul{margin:0;padding-left:20px}.sync-task-detail-section li,.sync-task-detail-section p{color:#5b665f;overflow-wrap:anywhere;margin:6px 0 0;font-size:13px;line-height:1.65}.sync-task-detail-section.failure strong{color:#9e3933;font-size:13px}.sync-task-detail-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid}.sync-task-detail-grid>div{background:#fff;min-height:76px;padding:15px}.sync-task-detail-grid dt{color:#7f8c85;font-size:11px}.sync-task-detail-grid dd{color:var(--ink);font:600 13px var(--font-geist-mono), monospace;margin:8px 0 0}.sync-task-dialog>footer{justify-content:flex-end;padding-top:20px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@media (width<=980px){.login-shell{grid-template-columns:1fr 420px}.login-story{padding-left:5vw;padding-right:5vw}.story-copy h1{font-size:45px}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-card:nth-child(2){border-right:0}.metric-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.detail-grid,.timing-detail-grid{grid-template-columns:1fr}}@media (width<=720px){.login-shell{background:var(--white);display:block}.login-story{display:none}.login-panel{min-height:100vh;padding:32px 24px}.mobile-brand{color:var(--ink);align-items:center;gap:11px;margin-bottom:68px;font-size:13px;font-weight:700;display:flex}.mobile-brand .brand-mark span{background:var(--ink)}.workspace-shell{display:block}.sidebar{flex-direction:row;align-items:center;height:auto;min-height:68px;padding:18px 20px;position:static}.sidebar-brand{padding:0}.sidebar nav{display:none}.sidebar-footer{border:0;grid-template-columns:30px 1fr 25px;width:auto;margin:0 0 0 auto;padding:0}.avatar{width:28px;height:28px}.workspace-content{padding:30px 18px 24px}.workspace-header{align-items:center}.workspace-header h1{font-size:30px}.timing-header{align-items:flex-start;gap:18px}.index-tabs{overflow-x:auto}.index-tabs button{flex:1 0 auto;min-width:165px}.header-actions{flex-direction:column;align-items:stretch}.header-actions button{justify-content:center;width:104px}.timing-hero{flex-direction:column;align-items:flex-start;min-height:310px;padding:28px}.timing-score{text-align:left;margin-top:30px}.timing-score strong{font-size:62px}.chart-panel,.data-panel{padding:19px}.chart-heading{flex-direction:column;align-items:flex-start;gap:18px}.period-tabs{width:100%;overflow-x:auto}.period-tabs button{flex:1 0 auto}.chart-legend{flex-direction:column;align-items:flex-start;gap:8px;padding:14px 0}.chart-legend b{margin-left:0}.signal-chart-canvas{height:300px}.chart-interaction-row{align-items:flex-start}.status-hero{flex-direction:column;align-items:flex-start;min-height:250px;padding:28px}.status-score{text-align:left;margin-top:24px}.status-score strong{font-size:42px}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{min-height:125px;padding:19px}.metric-card strong{font-size:20px}.service-panel,.roadmap-panel{padding:20px}.sync-task-heading{flex-direction:column;align-items:flex-start}.sync-task-panel{padding:19px}.sync-task-filters{width:100%}.sync-task-filters label{flex-direction:column;flex:1;align-items:stretch}.sync-task-filters select{width:100%}.sync-task-latest-failure{width:100%;margin-left:0}.sync-task-dialog-backdrop{padding:12px}.sync-task-dialog{max-height:calc(100vh - 24px);padding:20px}.sync-task-detail-grid{grid-template-columns:1fr}.operational{font-size:0}.operational:before{width:7px;height:7px}.workspace-foot{flex-direction:column;gap:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dividend-dashboard{font-size:14px;line-height:1.65}.dividend-dashboard .workspace-header{gap:24px;margin-bottom:24px}.dividend-dashboard .eyebrow{font-size:12px}.dividend-subtitle{color:var(--muted);margin:10px 0 0;font-size:14px}.dividend-subtitle b{font-family:var(--font-geist-mono);color:var(--forest);margin-left:8px}.dividend-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dividend-dashboard button,.dividend-dashboard select,.dividend-dashboard input{font-size:14px}.dividend-dashboard .refresh-button{white-space:nowrap;min-height:40px;font-size:14px;text-decoration:none}.dividend-primary{background:var(--forest);color:#fff;border:1px solid var(--forest);cursor:pointer;white-space:nowrap;border-radius:4px;min-height:40px;padding:8px 16px}.dividend-dashboard button:disabled{cursor:default;opacity:.55}.dividend-dashboard a{color:#436520;text-underline-offset:3px}.dividend-nav{border-bottom:1px solid var(--line);gap:28px;margin:24px 0 18px;display:flex}.dividend-nav button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 0}.dividend-nav button.active{color:var(--forest);border-bottom-color:#7fa62e;font-weight:700}.dividend-page-period{border:1px solid var(--line);background:#f8faf8;border-radius:5px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 22px;padding:14px 16px;display:flex}.dividend-page-period>span{color:#52645b;flex:none;font-size:13px;font-weight:650}.dividend-page-period .period-tabs{width:min(520px,100%)}.dividend-filters{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px;display:flex}.dividend-filters label{align-items:center;gap:8px;display:flex}.dividend-dashboard select,.dividend-dashboard input{border:1px solid var(--line);max-width:100%;color:var(--ink);background:#fff;border-radius:4px;min-height:38px;padding:8px 10px}.dividend-dashboard select:focus-visible,.dividend-dashboard summary:focus-visible{outline-offset:3px;outline:2px solid #739c30}.dividend-dashboard .period-tabs{flex-wrap:wrap}.dividend-dashboard .period-tabs button{min-height:36px;padding:0 12px;font-size:14px}.dividend-asof{color:var(--muted);margin-left:auto;font-size:12px}.dividend-date-filter{position:relative}.dividend-date-filter summary{cursor:pointer;color:#4c6356}.dividend-date-filter>div,.dividend-date-filter>form{z-index:5;border:1px solid var(--line);background:#fff;flex-wrap:wrap;gap:12px;width:310px;padding:18px;display:flex;position:absolute;top:32px;right:0;box-shadow:0 8px 24px #17372915}.dividend-date-filter label{justify-content:space-between;width:100%}.dividend-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.market-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.dividend-metric{border:1px solid var(--line);text-align:left;width:100%;color:var(--ink);background:#fff;border-top:3px solid #739d29;border-radius:4px;padding:22px;display:block;box-shadow:0 3px 15px #18382c09}.market-metric{border-top-color:#1682d4;min-height:190px}.dividend-metric>span{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:16px;font-weight:600;display:flex}.dividend-metric small{color:var(--muted);font-size:12px;font-weight:400}.dividend-metric>strong{font:500 36px/1.2 var(--font-geist-mono);letter-spacing:-.04em;margin:18px 0;display:block}.dividend-metric>strong small{margin-left:7px}.dividend-metric>strong .price-up{color:#c7514c}.dividend-metric>strong .price-down{color:#29836a}.dividend-metric>strong .price-flat{color:#718078}.dividend-metric p{margin:0 0 5px;font-size:14px}.market-nav-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 14px;display:grid}.market-nav-values>div{min-width:0}.market-nav-values>div+div{border-left:1px solid var(--line);padding-left:12px}.market-nav-values>div>small{display:block}.market-nav-values strong{font:500 24px/1.25 var(--font-geist-mono);letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;display:block;overflow:hidden}.market-nav-values strong small{margin-left:4px}.valuation-overview-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin:4px 0 14px;display:flex}.valuation-overview-heading h2{color:var(--ink);margin:3px 0 0;font-size:21px;font-weight:650}.valuation-overview-heading>span{color:var(--muted);padding-bottom:2px;font-size:12px}.valuation-overview-card{border-top-width:1px;border-radius:8px;min-height:255px;padding:20px 22px 18px;position:relative;overflow:hidden;box-shadow:0 5px 20px #18382c0a}.valuation-overview-card:before{content:"";background:#a8b2ad;height:4px;position:absolute;top:0;left:0;right:0}.valuation-overview-card.valuation-low:before{background:#39a270}.valuation-overview-card.valuation-fair:before{background:#d49a37}.valuation-overview-card.valuation-high:before{background:#df635d}.valuation-card-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.valuation-card-heading>span{color:#243c32;font-size:16px;font-weight:650}.valuation-card-heading>span small{margin-top:2px;display:block}.valuation-card-heading>b{color:#68736e;text-align:center;background:#edf0ee;border-radius:999px;flex:none;min-width:48px;padding:4px 10px;font-size:12px;font-weight:650}.valuation-low .valuation-card-heading>b{color:#18734c;background:#e4f5ec}.valuation-fair .valuation-card-heading>b{color:#94631a;background:#fbf1dd}.valuation-high .valuation-card-heading>b{color:#ad3f3a;background:#fbe9e7}.valuation-card-readout{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;margin:24px 0 22px;display:grid}.valuation-card-readout>strong{font:550 36px/1.05 var(--font-geist-mono);letter-spacing:-.045em;white-space:nowrap}.valuation-card-readout>strong small{margin-left:6px}.valuation-card-readout>div{text-align:right;min-width:100px}.valuation-card-readout>div>span{color:var(--muted);white-space:nowrap;font-size:11px;display:block}.valuation-card-readout>div>strong{color:#45564e;font:600 20px/1.2 var(--font-geist-mono);margin-top:4px;display:block}.valuation-card-readout>div>strong small{margin-left:2px}.valuation-card-breakdown{color:var(--muted);justify-content:space-between;gap:12px;margin:-10px 0 18px;font-size:11px;display:flex}.valuation-card-breakdown b{color:#45564e;font:600 12px/1.2 var(--font-geist-mono);margin-left:4px}.valuation-temperature>div{background:linear-gradient(90deg,#69bf91 0 20%,#e3b55f 20% 80%,#e6817a 80% 100%);border-radius:999px;height:7px;position:relative}.valuation-temperature i{background:#29473a;border:3px solid #fff;border-radius:50%;width:13px;height:13px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #17372955}.valuation-temperature>span{color:#89938e;grid-template-columns:20fr 60fr 20fr;margin-top:7px;font-size:10px;display:grid}.valuation-temperature>span b{font-weight:500}.valuation-temperature>span b:nth-child(2){text-align:center}.valuation-temperature>span b:last-child{text-align:right}.valuation-card-meta{margin-top:11px;display:block}.dividend-dashboard .chart-panel{border-radius:4px;padding:24px}.dividend-dashboard .panel-heading{flex-wrap:wrap;gap:16px}.dividend-dashboard .panel-heading h3{font-size:18px}.dividend-caption{color:var(--muted);margin:10px 0 14px;font-size:12px;line-height:1.8}.dividend-tag{color:#547033;white-space:nowrap;background:#eff4e9;border-radius:3px;padding:4px 9px;font-size:12px;display:inline-block}.dividend-chart{min-width:0}.dividend-chart-readout{min-height:32px;font:12px/1.8 var(--font-geist-mono);color:#53705e;overflow-wrap:anywhere;padding:6px 0}.dividend-chart-canvas{min-width:0}.valuation-history-panel,.market-trend-panel{overflow:hidden}.valuation-panel-heading{padding-bottom:15px}.valuation-trend-tabs{border-bottom:1px solid #edf1ee;gap:30px;padding:18px 0 0;display:flex;overflow-x:auto}.valuation-trend-tabs button{color:#929c97;cursor:pointer;background:0 0;border:0;flex:none;min-height:48px;padding:0 1px 15px;font-size:17px;font-weight:650;position:relative}.valuation-trend-tabs button:after{content:"";background:0 0;border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:14%;right:14%}.valuation-trend-tabs button.active{color:var(--ink)}.valuation-trend-tabs button.active:after{background:#1682d4}.valuation-trend-tabs button small{color:#64726b;background:#fff;border:1px solid #cfd8d3;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:500;position:absolute;top:-2px;right:-18px}.valuation-chart-legend{color:#6f7d76;flex-wrap:wrap;align-items:center;gap:10px 24px;padding-top:16px;font-size:12px;display:flex}.valuation-chart-legend span{align-items:center;gap:7px;display:inline-flex}.valuation-chart-legend i{border-radius:3px;width:15px;height:4px}.valuation-line-swatch{background:#1682d4;height:3px!important}.valuation-yield-swatch{background:repeating-linear-gradient(90deg,#29836a 0 5px,#0000 5px 8px);height:2px!important}.valuation-risk-free-swatch{background:repeating-linear-gradient(90deg,#8b6eae 0 5px,#0000 5px 8px);height:2px!important}.valuation-low-swatch{background:#58a866}.valuation-mid-swatch{background:#d69a32}.valuation-high-swatch{background:#d8735f}.market-up-swatch{background:#c7514c}.market-down-swatch{background:#29836a}.market-nav-swatch{background:#7189a4;height:3px!important}.market-performance-swatch{background:#1682d4;height:3px!important}.market-volume-swatch{background:#a5baa7}.market-discount-swatch{background:#58a866}.market-premium-swatch{background:#d8735f}.market-zero-swatch{background:repeating-linear-gradient(90deg,#8a9891 0 4px,#0000 4px 7px);height:2px!important}.market-drawdown-swatch{background:#d36e5d;height:3px!important}.market-panel-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px 16px;display:flex}.market-basis-controls{flex-wrap:wrap;gap:12px 24px;margin-top:16px;display:flex}.market-basis-group{color:#64766c;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.market-date-filter summary{border:1px solid var(--line);color:#4c6356;white-space:nowrap;background:#fff;border-radius:4px;min-height:36px;padding:7px 12px;line-height:20px;list-style-position:inside}.market-date-filter[open] summary{background:#f7faf8;border-color:#aabcb1}.market-filter-caption{color:#557183;background:#f1f6f9;border-left:3px solid #81a7c4;margin:12px 0 0;padding:8px 12px;font-size:12px}.valuation-chart{margin-top:2px}.valuation-chart-readout{background:#f8faf9;border:1px solid #e6ece8;border-radius:5px;grid-template-columns:minmax(112px,.8fr) minmax(0,4.2fr);min-height:94px;margin:8px 0 10px;padding:15px 18px;display:grid}.valuation-readout-date{border-right:1px solid #e1e8e3;flex-direction:column;justify-content:center;padding-right:18px;display:flex}.valuation-readout-date span,.valuation-readout-values span{color:#849089;font-size:11px}.valuation-readout-date strong{font:600 13px var(--font-geist-mono);color:#42554c;margin-top:7px}.valuation-readout-values{grid-auto-columns:minmax(92px,1fr);grid-auto-flow:column;min-width:0;display:grid}.valuation-readout-values>div{border-right:1px solid #e8edea;min-width:0;padding:0 15px}.valuation-readout-values>div:last-child{border-right:0}.valuation-readout-values span{white-space:nowrap;align-items:center;gap:6px;display:flex}.valuation-readout-values i{border-radius:50%;flex:none;width:7px;height:7px}.valuation-readout-values strong{color:#263b32;font:600 21px/1.1 var(--font-geist-mono);letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;margin-top:8px;display:block;overflow:hidden}.valuation-readout-values>div:first-child strong{color:#1682d4}.market-trend-panel .dividend-sample{margin-top:12px}.dividend-dashboard .chart-interaction-row,.dividend-dashboard .chart-interaction-row button{font-size:12px}.dividend-sample{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:8px 22px;margin-top:10px;padding-top:16px;font-size:12px;display:flex}.dividend-notice{color:#755c26;background:#f8f3e5;border-left:3px solid #c1a768;padding:10px 14px;font-size:13px}.dividend-method{border:1px solid var(--line);color:#53665b;background:#f0f4ed;border-radius:4px;margin:18px 0;padding:16px 22px}.dividend-method summary{cursor:pointer;font-weight:600}.dividend-method p{max-width:1000px;font-size:14px}.dividend-index-panel p{max-width:850px;color:var(--muted)}.dividend-index-panel h2{margin:16px 0 0;font-size:24px}.dividend-index-empty{border:1px dashed var(--line);text-align:center;color:#66786b;margin:24px 0;padding:50px 16px}.dividend-two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.dividend-two-col>.chart-panel{min-width:0;margin-top:0}.distribution-grid{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr)}.distribution-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.distribution-summary>div{background:#f8faf9;border:1px solid #e2e9e4;border-radius:4px;min-width:0;padding:16px 18px}.distribution-summary span,.distribution-summary small{color:var(--muted);font-size:12px;display:block}.distribution-summary strong{color:#2a4438;font:600 25px/1.2 var(--font-geist-mono);margin:8px 0 6px;display:block}.distribution-summary strong small{font:400 12px var(--font-geist-sans);margin-left:6px;display:inline}.distribution-quality{border-top:1px solid var(--line);margin-top:0;padding-top:12px}.dividend-inline-metrics{flex-wrap:wrap;gap:16px 28px;margin-top:18px;font-size:14px;display:flex}.dividend-inline-metrics b{font-family:var(--font-geist-mono);margin-left:8px}.dividend-bars{flex-direction:column;gap:16px;padding:18px 0;display:flex}.dividend-bars>div{grid-template-columns:minmax(90px,1fr) minmax(40px,1.1fr) 68px;align-items:center;gap:12px;display:grid}.dividend-bars span{overflow-wrap:anywhere;font-size:14px}.dividend-bars span small{color:var(--muted);font-size:12px;display:block}.dividend-bars>div>div{background:#eff2eb;border-radius:2px;height:10px;overflow:hidden}.dividend-bars i{background:#83a94a;height:100%;display:block}.dividend-bars b{font:13px var(--font-geist-mono);text-align:right}.industry-bars i{background:#7e9a93}.holding-history-panel{overflow:hidden}.holding-history-heading{align-items:center}.holding-history-heading .period-tabs{margin-left:auto}.holding-timeline-scroll{outline:none;margin:18px -8px 0;padding:8px;overflow-x:auto}.holding-timeline-scroll:focus-visible{outline-offset:-2px;outline:2px solid #739c30}.holding-timeline{align-items:flex-start;min-height:142px;margin:0;padding:18px 18px 0;list-style:none;display:flex;position:relative}.holding-timeline:before{content:"";background:#dbe3de;height:2px;position:absolute;top:73px;left:68px;right:68px}.holding-timeline li{text-align:center;flex:1 0 140px;min-width:140px;position:relative}.holding-timeline button{z-index:1;width:132px;min-height:112px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;position:relative}.holding-timeline-label{color:#5e7067;height:36px;font-size:12px;line-height:18px;display:block;overflow:hidden}.holding-timeline button>i{background:#80948a;border:3px solid #fff;border-radius:50%;width:17px;height:17px;margin:10px auto 9px;transition:transform .15s,box-shadow .15s;display:block;box-shadow:0 0 0 2px #80948a}.holding-timeline button.reconstructed>i{background:#fff;box-shadow:0 0 0 2px #94a29b}.holding-timeline button.latest>i{border-radius:3px;transform:rotate(45deg)}.holding-timeline button:hover>i{transform:scale(1.15)}.holding-timeline button.latest:hover>i{transform:rotate(45deg)scale(1.15)}.holding-timeline button.active{color:#315521;font-weight:650}.holding-timeline button.active>i{background:#739d29;box-shadow:0 0 0 3px #dce9c9,0 0 0 5px #739d29}.holding-timeline button.active.latest>i{transform:rotate(45deg)scale(1.08)}.holding-timeline time,.holding-timeline small{display:block}.holding-timeline time{color:#344c41;font:600 12px var(--font-geist-mono)}.holding-timeline small{color:#98a39d;margin-top:3px;font-size:11px;font-weight:400}.holding-timeline-empty{min-height:130px;color:var(--muted);place-items:center;display:grid}.holding-timeline-legend{color:var(--muted);border-top:1px solid #edf1ee;flex-wrap:wrap;gap:8px 22px;padding-top:12px;font-size:11px;display:flex}.holding-timeline-legend span{align-items:center;gap:7px;display:inline-flex}.holding-timeline-legend i{background:#80948a;border-radius:50%;width:9px;height:9px}.holding-timeline-legend i.reconstructed{background:#fff;border:2px solid #94a29b}.holding-change-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0 20px;display:grid}.holding-change-summary>div{background:#f8faf9;border:1px solid #e2e9e4;border-radius:4px;min-width:0;padding:14px 16px}.holding-change-summary span,.holding-change-summary small{color:var(--muted);font-size:11px;display:block}.holding-change-summary strong{color:#2d463b;font:600 20px var(--font-geist-mono);white-space:nowrap;margin-top:5px;display:block}.holding-change-summary strong small{font:inherit;display:inline}.holding-table-tools{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.holding-table-tools>input{width:230px}.holding-change-filters{flex-wrap:wrap;gap:7px;display:flex}.holding-change-filters button{border:1px solid var(--line);color:#607168;cursor:pointer;background:#fff;border-radius:4px;min-height:34px;padding:5px 11px}.holding-change-filters button.active{color:#3f661c;background:#edf4e4;border-color:#9ebc72;font-weight:650}.holding-change-type{color:#67746d;text-align:center;background:#eef1ef;border-radius:3px;min-width:54px;padding:2px 7px;font-size:12px;display:inline-block}.holding-change-type.added,.holding-change-type.increased{color:#a64c43;background:#f8e9e7}.holding-change-type.removed,.holding-change-type.decreased{color:#27715c;background:#e6f2ed}.holding-delta-up{color:#b34e45;font-weight:650}.holding-delta-down{color:#28745f;font-weight:650}.holding-row-removed{color:#718078;background:#f7faf8}.dividend-annual{gap:16px;height:225px;padding:24px 0 0;display:flex;overflow-x:auto}.dividend-annual>div{flex-direction:column;flex:1;align-items:center;gap:8px;min-width:44px;display:flex}.dividend-annual b,.dividend-annual span{font-size:12px;font-weight:400}.dividend-annual>div>div{align-items:flex-end;width:min(36px,100%);height:145px;display:flex}.dividend-annual i{background:#8aad50;border-radius:3px 3px 0 0;width:100%;display:block}.dividend-dashboard .table-scroll{max-height:640px;overflow:auto}.dividend-dashboard .data-table{font-size:14px}.dividend-dashboard .data-table th{white-space:nowrap;height:44px;padding:8px;font-size:12px}.dividend-dashboard .data-table td{white-space:nowrap;padding:10px 8px}.dividend-dashboard .data-table td small{color:var(--muted);font-size:12px;display:block}.dividend-pagination{justify-content:flex-end;align-items:center;gap:12px;margin-top:20px;display:flex}.dividend-pagination span{color:var(--muted);margin-right:auto;font-size:12px}.dividend-pagination button{border:1px solid var(--line);color:#526849;cursor:pointer;background:#f4f7ef;border-radius:4px;padding:6px 12px}.dividend-dashboard progress{accent-color:#7fa435;width:100%;height:10px}.dividend-run{border-top:1px solid var(--line);padding:14px 0}.dividend-run>div{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.dividend-run span,.dividend-run p{color:var(--muted);font-size:12px}.dividend-run p{overflow-wrap:anywhere;margin:6px 0}.dividend-run summary{cursor:pointer;font-size:12px}.dividend-dashboard .workspace-foot{flex-wrap:wrap;gap:10px;font-size:12px}@media (width<=1200px){.market-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dividend-metric{padding:18px}.dividend-metric>span,.dividend-metric>span small,.valuation-card-heading>span small{display:block}.valuation-card-readout{grid-template-columns:minmax(0,1fr);gap:10px}.valuation-card-readout>div{text-align:left}.valuation-chart-readout{grid-template-columns:120px minmax(0,1fr)}.valuation-readout-values{grid-template-columns:none;grid-auto-columns:minmax(112px,1fr);overflow-x:auto}.dividend-two-col{grid-template-columns:minmax(0,1fr)}.holding-change-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.dividend-dashboard .workspace-header{align-items:flex-start}.dividend-dashboard .workspace-header h1{font-size:28px}.dividend-dashboard .workspace-header{flex-direction:column;gap:16px}.dividend-nav{gap:20px;overflow-x:auto}.dividend-page-period{flex-direction:column;align-items:stretch;gap:8px;padding:12px}.dividend-page-period .period-tabs{flex-wrap:nowrap;overflow-x:auto}.dividend-metrics{grid-template-columns:1fr;gap:12px}.valuation-overview-heading{flex-direction:column;align-items:flex-start;gap:4px}.dividend-metric{padding:18px 20px}.valuation-overview-card{min-height:0}.dividend-metric>span{justify-content:space-between;display:flex}.dividend-metric>strong{margin:12px 0}.valuation-card-readout{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin:20px 0}.valuation-card-readout>div{text-align:right}.dividend-filters{position:relative}.dividend-date-filter{position:static}.dividend-date-filter>div,.dividend-date-filter>form{width:min(310px,100%);top:100%;left:0;right:auto}.dividend-asof{width:100%;margin-left:0}.market-panel-actions{justify-content:space-between;width:100%}.market-date-filter{position:relative}.market-date-filter>form{width:min(310px,100vw - 64px);left:0;right:auto}.dividend-dashboard .chart-panel{padding:18px 12px}.valuation-trend-tabs{gap:22px}.valuation-trend-tabs button{min-height:44px;font-size:15px}.valuation-trend-tabs button.active{padding-right:28px}.valuation-trend-tabs button small{right:0}.valuation-chart-legend{gap:8px 16px}.valuation-chart-readout{padding:13px 12px;display:block}.valuation-readout-date{border-bottom:1px solid #e1e8e3;border-right:0;flex-direction:row;justify-content:space-between;align-items:center;padding:0 0 11px}.valuation-readout-date strong{margin-top:0}.valuation-readout-values{grid-template-columns:none;grid-auto-columns:minmax(105px,1fr);margin-top:13px}.valuation-readout-values>div{padding:0 11px}.valuation-readout-values>div:first-child{padding-left:0}.valuation-readout-values strong{font-size:18px}.distribution-summary{grid-template-columns:minmax(0,1fr)}.dividend-annual{gap:8px}.dividend-annual>div{min-width:36px}.dividend-bars>div{gap:8px}.holding-history-heading{align-items:flex-start}.holding-timeline{padding-left:8px;padding-right:8px}.holding-change-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.holding-table-tools{flex-direction:column;align-items:stretch}.holding-table-tools>input{width:100%}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
