/*! 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{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance: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{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--background:#f3f2f7;--foreground:#1e1555;--muted:#5c5673;--panel:#fff;--line:#e8e6f0;--brand:#1e1555;--brand-light:#382a8f;--indigo:#1e1555;--purple:#6a2c9e;--magenta:#c21f62;--crimson:#d6342c;--shadow:0 10px 24px #1e155514}*{box-sizing:border-box}html{background:var(--background);min-height:100%}body{min-height:100vh;color:var(--foreground);font-family:var(--font-geist-sans), "Segoe UI", system-ui, Arial, sans-serif;background:linear-gradient(#fbfafd 0%,#f1f0f7 100%);margin:0}h1,h2,p{margin:0}.dashboard-shell{flex-direction:column;width:min(2400px,100%);height:100dvh;margin:0 auto;padding:clamp(14px,2vh,28px) clamp(16px,1.7vw,34px);display:flex;overflow:hidden}.hero{text-align:center;flex:none;justify-items:center;gap:clamp(4px,.8vh,12px);margin-bottom:clamp(12px,2vh,24px);display:grid}.hero-title{align-items:center;gap:clamp(14px,1.6vw,26px);display:flex}.hero-logo{flex:none;width:auto;height:clamp(38px,6vh,76px);display:block}.hero-divider{background:#d8d5e6;flex:none;width:1px;height:clamp(32px,5vh,64px)}h1{color:var(--brand);letter-spacing:-.02em;font-size:clamp(1.5rem,.9vw + 3.3vh,4rem);font-weight:800;line-height:1.08}.hero-subtitle{color:#6b6584;font-size:clamp(.9rem,.35vw + 1.6vh,1.9rem)}.sync-strip{width:100%;color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(8px,1vw,16px);font-size:clamp(.78rem,.25vw + 1.3vh,1.35rem);display:flex}.status-pill{color:#25794a;background:#257a441a;border:1px solid #257a4447;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-weight:700;display:inline-flex}.status-pill i{background:currentColor;border-radius:50%;width:7px;height:7px}.status-pill.has-error{color:#b3261e;background:#b3261e1a;border-color:#b3261e47}.alert{color:#8f2019;background:#fdf3f2;border:1px solid #b3261e40;border-radius:8px;flex:none;margin:0 auto 16px;padding:10px 14px;font-size:.88rem;font-weight:600}.dashboard-grid{flex:auto;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vh,26px) clamp(14px,1.4vw,26px);min-height:0;display:grid}.panel{background:var(--panel);min-height:0;box-shadow:var(--shadow);border:1px solid #e4e2ee;border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.panel-titlebar{border-bottom:1px solid var(--line);background:linear-gradient(#fdfcfe 0%,#f5f3fa 100%);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:clamp(8px,1.3vh,18px) clamp(14px,1.1vw,24px);display:flex}.panel-title{align-items:center;gap:14px;min-width:0;display:flex}.panel-index{background:linear-gradient(160deg, var(--brand-light) 0%, var(--brand) 100%);color:#fff;border-radius:7px;flex:none;place-items:center;width:clamp(28px,4.8vh,60px);height:clamp(28px,4.8vh,60px);font-size:clamp(.95rem,.4vw + 1.75vh,2.1rem);font-weight:800;line-height:1;display:grid}h2{color:var(--brand);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1rem,.5vw + 1.9vh,2.3rem);font-weight:800;line-height:1.15;overflow:hidden}.panel-icon{color:var(--brand);flex:none;place-items:center;display:grid}.panel-icon svg{width:clamp(22px,4vh,50px);height:clamp(22px,4vh,50px)}.panel-body{flex-direction:column;flex:auto;justify-content:center;min-height:0;padding:clamp(12px,1.8vh,26px) clamp(16px,1.3vw,28px);display:flex;overflow:hidden}.donut-layout{grid-template-columns:minmax(150px,.8fr) minmax(210px,1fr);align-items:center;gap:clamp(16px,1.6vw,34px);height:100%;min-height:0;display:grid}.donut{justify-self:center;width:min(100%,clamp(150px,27vh,320px))}.donut svg{width:100%;height:auto;display:block}.donut-total-label,.donut-total-unit{fill:#6b6584;text-anchor:middle;font-size:16px}.donut-total-value{fill:var(--brand);text-anchor:middle;font-size:44px;font-weight:800}.donut-slice-value{fill:#fff;text-anchor:middle;dominant-baseline:central;font-size:25px;font-weight:800}.progress-list{align-content:space-evenly;gap:2px;height:100%;min-height:0;display:grid}.progress-row{color:#2b2545;border-bottom:1px solid #ece9f3;grid-template-columns:clamp(32px,4.6vh,58px) minmax(0,1fr) minmax(0,1.25fr) auto;align-items:center;gap:clamp(8px,.85vw,18px);padding:clamp(4px,.75vh,12px) 2px;font-size:clamp(.9rem,.4vw + 1.55vh,1.8rem);display:grid}.progress-row:last-child{border-bottom:0}.progress-track{background:var(--tone-soft);border-radius:999px;height:clamp(8px,1.2vh,16px);display:block;overflow:hidden}.progress-track i{background:var(--tone);border-radius:999px;height:100%;display:block}.progress-value{color:var(--tone);white-space:nowrap;justify-self:end;font-size:clamp(.98rem,.5vw + 1.85vh,2.2rem);font-weight:800}.progress-value-sep,.progress-value-planned{color:#8b85a0;font-weight:700}.progress-value-sep{padding:0 .18em}.legend-list{align-content:space-evenly;gap:2px;height:100%;min-height:0;display:grid}.legend-row{color:#2b2545;border-bottom:1px solid #ece9f3;grid-template-columns:clamp(10px,1.6vh,22px) clamp(32px,4.6vh,58px) minmax(0,1fr) auto;align-items:center;gap:clamp(10px,1vw,20px);padding:clamp(5px,.85vh,13px) 2px;font-size:clamp(.92rem,.45vw + 1.7vh,2rem);display:grid}.legend-row:last-child{border-bottom:0}.legend-dot{background:var(--tone);border-radius:50%;width:clamp(10px,1.6vh,22px);height:clamp(10px,1.6vh,22px)}.legend-icon{background:var(--tone-soft);width:clamp(32px,4.6vh,58px);height:clamp(32px,4.6vh,58px);color:var(--tone);border-radius:11px;place-items:center;display:grid}.legend-icon svg{width:clamp(18px,2.6vh,34px);height:clamp(18px,2.6vh,34px)}.legend-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legend-value{color:var(--tone);justify-self:end;font-size:clamp(.98rem,.5vw + 1.85vh,2.2rem);font-weight:800}.metric-card-grid{flex:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.1vw,22px);min-height:0;display:grid}.metric-card{background:var(--tone-soft);border-radius:12px;align-content:center;justify-items:center;gap:clamp(6px,1.1vh,16px);min-height:0;padding:clamp(12px,2vh,28px) 8px clamp(10px,1.6vh,22px);display:grid}.metric-icon{width:clamp(44px,8vh,100px);height:clamp(44px,8vh,100px);color:var(--tone);background:#fff;border-radius:50%;place-items:center;display:grid;box-shadow:0 2px 6px #1e155514}.metric-icon svg{width:clamp(22px,4vh,52px);height:clamp(22px,4vh,52px)}.metric-value{color:var(--tone);font-size:clamp(1.8rem,1vw + 4.5vh,5.5rem);font-weight:800;line-height:1}.metric-label{color:#2b2545;text-align:center;font-size:clamp(.75rem,.35vw + 1.6vh,1.8rem);line-height:1.15}.metric-rule{background:var(--tone);border-radius:999px;width:74%;height:clamp(3px,.5vh,7px);margin-top:clamp(4px,.7vh,10px)}.tone-indigo{--tone:var(--indigo);--tone-soft:#eceaf4}.tone-purple{--tone:var(--purple);--tone-soft:#f0e9f8}.tone-magenta{--tone:var(--magenta);--tone-soft:#fbe9f0}.tone-crimson{--tone:var(--crimson);--tone-soft:#fceae8}.chart{flex:auto;min-height:0;display:flex}.chart svg{width:100%;height:100%;display:block}.axis-line{stroke:#4b4566;stroke-width:1.4px}.gridline{stroke:#d3d0e0;stroke-dasharray:4 4;stroke-width:1px}.axis-text{fill:#4b4566;font-size:18px}.axis-text-y{dominant-baseline:middle;text-anchor:end}.axis-text-x{text-anchor:middle}.category-text{fill:#2b2545;text-anchor:middle;font-size:17px}.category-text-left{dominant-baseline:middle;fill:#2b2545;text-anchor:end;font-size:19px}.value-text{fill:var(--brand);text-anchor:middle;font-size:22px;font-weight:800}.value-text-inline{dominant-baseline:middle;fill:var(--brand);font-size:22px;font-weight:800}.empty-note{color:#8b8699;place-items:center;min-height:160px;font-size:.95rem;display:grid}@media (max-width:1180px),(max-height:620px){.dashboard-shell{height:auto;min-height:100vh;overflow:visible}.dashboard-grid{grid-template-rows:none}.panel{min-height:300px}.chart svg{height:auto}}@media (max-width:1180px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width:720px){.dashboard-shell{padding:20px 16px 32px}.hero-title{gap:14px}.hero-logo{height:40px}.hero-divider{display:none}.donut-layout{grid-template-columns:1fr}.metric-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}h2{white-space:normal}.panel-icon{display:none}.panel-body{padding:18px 16px 20px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
