.app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg)}.app__body{flex:1;min-height:0;display:flex}.app__main{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto}.sidebar{width:var(--sidebar-width);flex-shrink:0;display:flex;flex-direction:column;gap:24px;padding:24px 0;overflow-x:hidden;overflow-y:auto;border-right:1px solid var(--color-border)}.sidebar__logo{display:block;width:auto;height:52px;margin:4px 22px 0;object-fit:contain;object-position:left center}.sidebar__nav{display:flex;flex-direction:column;gap:2px;padding:0 12px}.sidebar__item{display:flex;align-items:center;gap:10px;height:40px;padding:9px 12px;border-radius:var(--radius-md);font-size:13.5px;font-weight:500;color:var(--color-text-secondary);transition:var(--transition-control)}.sidebar__item svg{flex-shrink:0;color:var(--color-text-muted)}.sidebar__item:hover{background:var(--color-hover)}.sidebar__item--active{background:var(--color-selected);color:var(--color-text);font-weight:600}.sidebar__item--active svg{color:var(--color-text)}.sidebar__group{display:flex;flex-direction:column;margin-top:6px}.sidebar__group-toggle{display:flex;align-items:center;gap:8px;height:32px;padding:0 12px;border:0;border-radius:var(--radius-md);background:transparent;font:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-control)}.sidebar__group-toggle:hover{background:var(--color-hover);color:var(--color-text-secondary)}.sidebar__group.is-current .sidebar__group-toggle{color:var(--color-text)}.sidebar__group-tag{font-size:9.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-warning)}.sidebar__chevron{margin-left:auto;transform:rotate(-90deg);transition:transform .15s ease}.sidebar__chevron.is-open{transform:none}.sidebar__group-items{display:flex;flex-direction:column;gap:2px}.sidebar__item--nested{height:36px;padding-left:22px;font-size:13px}.sidebar__separator{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border)}.sample-badge{margin:auto 12px 0;display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md)}.sample-badge__tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-warning)}.sample-badge__tag--ok{color:var(--color-positive)}.sample-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.sample-badge__text{font-size:11.5px;color:var(--color-text-muted)}.page-header{height:var(--header-height);flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:0 var(--content-padding-x);border-bottom:1px solid var(--color-border)}.page-header__title{display:flex;flex-direction:column;gap:6px}.page-header__title h1{font-size:24px;font-weight:700;color:var(--color-text)}.page-header__title h1{display:flex;align-items:center;gap:12px}.page-header__tag{padding:3px 8px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-warning);white-space:nowrap}.page-header__title p{font-size:14px;color:var(--color-text-muted)}.page-header__actions{height:60px;display:flex;align-items:center;gap:12px}.page-content{display:flex;flex-direction:column;gap:24px;padding:20px var(--content-padding-x) 32px}.footer{height:var(--footer-height);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:0 32px 0 var(--content-padding-x);border-top:1px solid var(--color-border);background:var(--color-bg)}.footer__slogan{font-size:16px;font-weight:700;color:var(--color-text);white-space:nowrap}.footer__accent{color:var(--color-text-muted)}.footer__group{display:block;height:52px;width:auto}.picker-wrap{position:relative}.picker{height:37px;display:inline-flex;align-items:center;gap:10px;padding:10px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:13px;color:var(--color-text);white-space:nowrap}.picker svg{color:var(--color-text-muted);flex-shrink:0}.picker:hover{border-color:var(--color-border-strong)}.picker-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:10;min-width:100%;margin:0;padding:4px;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.picker-menu button{width:100%;padding:8px 12px;border-radius:var(--radius-md);font-size:13px;text-align:left;color:var(--color-text)}.picker-menu button:hover,.picker-menu button[aria-selected=true]{background:var(--color-border)}.user-menu{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-muted)}.user-menu__avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-full);background:var(--color-sunken);border:1px solid var(--color-border-strong);font-size:14px;font-weight:700;color:var(--color-text)}.picker-menu--right{left:auto;right:0;min-width:220px}.user-menu__info{display:flex;flex-direction:column;gap:2px;padding:8px 12px 10px;margin-bottom:4px;border-bottom:1px solid var(--color-border);font-size:13px}.user-menu__info span{font-size:12px;color:var(--color-text-muted)}.date-menu{display:flex;gap:4px;min-width:0;width:400px;left:auto;right:0;padding:6px}.date-menu__presets{width:150px;margin:0;padding:0 6px 0 0;list-style:none;border-right:1px solid var(--color-border)}.date-menu__custom{flex:1;display:flex;flex-direction:column;gap:10px;padding:6px 8px}.date-menu__title{font-size:12px;font-weight:600;color:var(--color-text-muted)}.date-menu__custom label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--color-text-muted)}.date-menu__custom input{height:34px;padding:0 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:13px;color-scheme:dark}.date-menu__custom input:focus{outline:none;border-color:var(--color-accent)}.picker-menu .date-menu__apply{margin-top:2px;height:34px;text-align:center;background:var(--color-accent);color:var(--color-on-accent);font-weight:600}.picker-menu .date-menu__apply:hover:not(:disabled){background:var(--color-accent);background:var(--color-accent-hover)}.picker-menu .date-menu__apply:disabled{opacity:.5;cursor:not-allowed}.picker--tall{height:40px}.picker-menu li{list-style:none}.metrics-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.kpi{min-height:117px;min-width:0;container-type:inline-size;display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.kpi__label{font-size:12px;font-weight:600;color:var(--color-text-muted)}.kpi__body{display:flex;flex-direction:column;gap:4px}.kpi__value{overflow:hidden;font-size:clamp(15px,8.6cqi,22px);font-weight:700;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis}.kpi__delta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;line-height:1.35;font-size:12px;color:var(--color-text-muted)}.kpi__pct{font-weight:600;color:var(--color-positive)}.middle-row{display:grid;grid-template-columns:minmax(0,695fr) minmax(0,405fr);gap:20px}.chart-card{gap:20px}.chart-card__error{margin:-8px 0 -4px;font-size:12px;color:var(--color-negative)}.chart-card__tools{display:flex;align-items:center;gap:16px}.legend{display:flex;align-items:center;gap:12px;margin:0;padding:0;list-style:none;font-size:11px;color:var(--color-text-muted)}.legend li{display:flex;align-items:center;gap:6px}.legend__box{width:10px;height:10px;border-radius:2px}.legend__box--actual{background:var(--color-chart)}.legend__box--forecast{border:1.5px dashed var(--color-chart-secondary);background:color-mix(in srgb,var(--color-chart-secondary) 18%,transparent)}.range-select{height:28px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-border);border-radius:var(--radius-md);font-size:12px;color:var(--color-text)}.range-select svg{color:var(--color-text-muted)}.chart{height:220px;display:flex;gap:12px;transition:opacity .15s ease}.chart--loading{opacity:.5}.chart__y-axis{width:48px;height:180px;flex-shrink:0;display:flex;flex-direction:column;justify-content:space-between;font-size:11px;text-align:right;color:var(--color-text-muted)}.chart__plot{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.chart__svg{display:block;width:100%;height:180px;overflow:visible}.chart__grid{stroke:var(--color-border);stroke-width:1;vector-effect:non-scaling-stroke}.chart__bar{fill:var(--color-chart);transition:opacity .15s ease}.chart__bar--forecast{fill:color-mix(in srgb,var(--color-chart-secondary) 18%,transparent);stroke:var(--color-chart-secondary);stroke-width:1.5;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.chart__svg g:hover .chart__bar{opacity:.8}.chart__x-axis{display:grid;text-align:center;font-size:11px;color:var(--color-text-muted)}.cycle-card{gap:16px}.cycle-list{margin:0;display:flex;flex-direction:column}.cycle-list__row{height:42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border)}.cycle-list__row:last-child{border-bottom:0}.cycle-list dt{font-size:13px;color:var(--color-text-muted)}.cycle-list dd{margin:0;font-size:14px;font-weight:500;color:var(--color-text)}.ranking-card{gap:20px}.ranking{display:flex;flex-direction:column;gap:18px;margin:0;padding:0;list-style:none}.ranking__row{display:flex;flex-direction:column;gap:8px}.ranking__header{height:18px;display:flex;align-items:center;justify-content:space-between}.ranking__name{font-size:13px;color:var(--color-text-muted)}.ranking__value{font-size:14px;font-weight:500;color:var(--color-text)}.ranking__track{height:8px;background:var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.ranking__fill{height:100%;background:var(--color-chart);border-radius:var(--radius-sm)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:var(--color-scrim)}.modal{width:100%;max-width:460px;display:flex;flex-direction:column;gap:20px;padding:24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.modal--wide{max-width:640px;max-height:calc(100vh - 48px)}.modal__header{display:flex;align-items:center;justify-content:space-between}.modal__header h2{font-size:16px;font-weight:700;color:var(--color-text)}.modal-form{display:flex;flex-direction:column;gap:16px}.modal-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;border:0}.modal-field>span{font-size:13px;font-weight:500;color:var(--color-text)}.modal-field select,.modal-field input{height:42px;padding:0 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font:inherit;font-size:13px;color-scheme:dark}.modal-field select:focus,.modal-field input:focus{outline:none;border-color:var(--color-accent)}.modal-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-hint{font-size:12px;line-height:1.5;color:var(--color-text-muted)}.segmented{display:flex;padding:3px;gap:3px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.segmented button{flex:1;height:34px;border-radius:var(--radius-md);font-size:13px;color:var(--color-text-muted)}.segmented button.is-active{background:var(--color-border);color:var(--color-text);font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.schedule-manage{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.schedule-manage li{padding:14px 0;border-bottom:1px solid var(--color-border)}.schedule-manage li:last-child{border-bottom:0}.schedule-manage li>span{flex:1}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.switch input{position:absolute;opacity:0;pointer-events:none}.switch__track{position:relative;width:32px;height:18px;border-radius:9px;background:var(--color-border);transition:background-color .12s ease}.switch__track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:7px;background:var(--color-text);transition:transform .12s ease}.switch input:checked+.switch__track{background:var(--color-positive)}.switch input:checked+.switch__track:after{transform:translate(14px)}.switch input:focus-visible+.switch__track{outline:2px solid var(--color-accent);outline-offset:2px}.switch__label{width:52px;font-size:12px;color:var(--color-text-muted)}.legal{overflow-y:auto;padding-right:8px;font-size:13px;line-height:1.6;color:var(--color-text-secondary)}.legal h3{margin:18px 0 6px;font-size:14px;font-weight:600;color:var(--color-text)}.legal h3:first-of-type{margin-top:4px}.legal p{margin:0}.legal ul{margin:0;padding-left:18px}.legal li+li{margin-top:4px}.legal strong{color:var(--color-text)}.legal__updated{font-size:12px;color:var(--color-text-muted)}.legal__actions{display:flex;justify-content:flex-end}.auth{min-height:100vh;display:flex;background:var(--color-bg);--auth-text-soft: var(--color-text-secondary);--auth-link: var(--color-text);--auth-placeholder: var(--color-text-subtle);--auth-border-strong: var(--color-border-strong)}.auth-showcase{width:620px;flex-shrink:0;display:flex;flex-direction:column;justify-content:space-between;padding:32px 56px 40px;background:var(--color-bg);border-right:1px solid var(--color-border)}.auth-brand{display:flex;flex-direction:column;gap:16px}.auth-brand__logo{width:210px;height:70px;object-fit:contain;object-position:left center}.auth-brand__product{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--auth-text-soft)}.auth-brand__indicator{width:18px;height:2px;background:var(--color-accent)}.auth-pitch{display:flex;flex-direction:column;gap:36px}.auth-pitch__message{display:flex;flex-direction:column;gap:18px}.auth-pitch__title{font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--color-text)}.auth-pitch__text{max-width:460px;font-size:16px;line-height:1.65;color:var(--auth-text-soft)}.auth-features{display:flex;gap:24px;margin:0;padding:0;list-style:none;font-size:11px;color:var(--auth-text-soft)}.auth-features li{display:flex;align-items:center;gap:7px}.auth-features svg{color:var(--auth-link)}.auth-signature{display:flex;flex-direction:column;gap:10px}.auth-signature__slogan{font-size:24px;font-weight:700;color:var(--color-text)}.auth-signature__slogan span{color:var(--color-text-muted)}.auth-signature__company{font-size:11px;color:var(--color-text-muted)}.auth-panel{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:40px 56px 32px}.auth-switch{height:38px;display:flex;align-items:center;justify-content:flex-end;gap:14px;font-size:13px;color:var(--color-text-muted)}.auth-switch__link{height:38px;display:inline-flex;align-items:center;padding:0 16px;border:1px solid var(--color-border);border-radius:var(--radius-lg);font-weight:600;color:var(--auth-link)}.auth-switch__link:hover{border-color:var(--auth-border-strong)}.auth-form-wrap{display:flex;justify-content:center;padding:24px 0}.auth-footer{height:14px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--color-text-muted)}.auth-footer nav{display:flex;gap:20px}.auth-footer button{padding:0;border:0;background:none;font:inherit;color:var(--auth-text-soft);cursor:pointer}.auth-footer button:hover,.link:hover{text-decoration:underline}.auth-form{width:460px;display:flex;flex-direction:column}.auth-form--login{gap:32px}.auth-form--register{gap:28px}.auth-intro{display:flex;flex-direction:column;gap:12px}.auth-intro h1{font-size:28px;font-weight:700;letter-spacing:-.01em;color:var(--color-text)}.auth-intro p{font-size:14px;line-height:1.6;color:var(--auth-text-soft)}.auth-fields{display:flex;flex-direction:column;gap:20px}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field__label{font-size:13px;font-weight:500;color:var(--color-text)}.field__label .optional{color:var(--color-text-muted)}.field__control{height:50px;display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);transition:border-color .12s ease}.field__control:focus-within{border-color:var(--color-accent)}.field--error .field__control{border-color:var(--color-negative)}.field__control svg{flex-shrink:0}.field__control input{flex:1;min-width:0;height:100%;background:none;border:0;outline:none;font:inherit;font-size:14px;color:var(--color-text)}.field__control input::placeholder{color:var(--auth-placeholder)}.field__control input:-webkit-autofill{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 40px var(--color-surface) inset;caret-color:var(--color-text)}.field__toggle{display:grid;place-items:center;color:var(--color-text-muted)}.field__toggle:hover{color:var(--color-text)}.field__error{font-size:12px;line-height:1.4;color:var(--color-negative)}.auth-row{height:18px;display:flex;align-items:center;justify-content:space-between}.checkbox{display:inline-flex;align-items:flex-start;gap:9px;cursor:pointer;font-size:12px;color:var(--auth-text-soft)}.checkbox input{position:absolute;opacity:0;pointer-events:none}.checkbox__box{width:18px;height:18px;flex-shrink:0;display:grid;place-items:center;background:var(--color-surface);border:1px solid var(--auth-border-strong);border-radius:var(--radius-sm);color:var(--color-text)}.checkbox input:checked+.checkbox__box{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.checkbox input:focus-visible+.checkbox__box{outline:2px solid var(--auth-link);outline-offset:2px}.checkbox--error .checkbox__box{border-color:var(--color-negative)}.checkbox__label{padding-top:1px}.link{font-size:12px;font-weight:500;color:var(--auth-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.link:hover{color:var(--color-text-secondary)}.auth-actions{display:flex;flex-direction:column;gap:24px}.btn-primary{height:50px;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--color-accent);border-radius:var(--radius-lg);font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--color-on-accent);transition:var(--transition-control)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-primary:disabled{opacity:.6;cursor:wait}.auth-alt{display:flex;justify-content:center;gap:5px;font-size:13px;color:var(--color-text-muted)}.auth-alt a,.auth-alt .link--button{font-weight:600;color:var(--auth-link)}.auth-security{display:flex;align-items:flex-start;gap:12px;padding-top:22px;border-top:1px solid var(--color-border);font-size:12px;line-height:1.6;color:var(--color-text-muted)}.auth-security svg{flex-shrink:0}.password-group{display:flex;flex-direction:column;gap:10px}.password-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.password-hint{font-size:12px;line-height:1.5;color:var(--color-text-muted)}.password-hint--error{color:var(--color-negative)}.auth-consent{display:flex;flex-direction:column;gap:22px}.auth-consent .checkbox{gap:10px;line-height:1.7}.auth-consent .checkbox__box{margin-top:1px}.link--inline{font-weight:400}.link--button{padding:0;border:0;background:none;font:inherit;color:var(--auth-link);cursor:pointer}.auth-form--compact{gap:32px}.auth-notice{display:flex;gap:12px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--color-positive) 45%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-positive) 12%,transparent);font-size:13px;line-height:1.5;color:var(--auth-text-soft)}.auth-notice svg{flex-shrink:0;margin-top:1px;color:var(--color-positive)}.auth-notice strong{color:var(--color-text)}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.overview-card{gap:20px}.overview-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.overview-card__title{display:flex;align-items:center;gap:10px}.overview-card__title svg{color:var(--color-text-muted)}.overview-card__link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--color-text-muted);white-space:nowrap}.overview-card__link:hover{color:var(--color-text)}.overview-loading{font-size:13px;color:var(--color-text-muted)}.overview-costs{display:flex;flex-direction:column;gap:24px}.overview-label{margin-bottom:8px;font-size:12px;font-weight:600;color:var(--color-text-muted)}.overview-value{font-size:26px;font-weight:700;color:var(--color-text)}.overview-delta{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:12px;color:var(--color-text-muted)}.overview-delta .mono{font-weight:600;color:var(--color-positive)}.overview-budget{display:flex;flex-direction:column;gap:8px}.overview-budget__row{display:flex;justify-content:space-between;font-size:13px;color:var(--color-text)}.overview-budget__row--muted{font-size:12px;color:var(--color-text-muted)}.overview-budget__track{height:8px;background:var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.overview-budget__fill{height:100%;background:var(--color-chart);border-radius:var(--radius-sm)}.overview-list{margin:0;padding:0;list-style:none}.overview-list li{height:40px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--color-border);font-size:13px;color:var(--color-text-muted)}.overview-list li:last-child{border-bottom:0}.overview-list li>span:first-child{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.overview-list .mono{flex-shrink:0;white-space:nowrap;font-size:14px;font-weight:500;color:var(--color-text)}.card.overview-total{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"head bar" "head legend";align-items:center;gap:10px 32px;padding:18px 24px}.overview-total__head{grid-area:head}.overview-total__value{font-size:26px;font-weight:700;color:var(--color-text);white-space:nowrap}.overview-total__bar{grid-area:bar;display:flex;gap:2px;height:8px;overflow:hidden;border-radius:var(--radius-md);background:var(--color-border)}.overview-total__seg{min-width:2px}.overview-total__seg--tencent{background:var(--color-text)}.overview-total__seg--ibm{background:var(--color-chart)}.overview-total__seg--aws{background:var(--color-chart-secondary)}.overview-total__legend{grid-area:legend;display:flex;flex-wrap:wrap;gap:6px 24px;margin:0;padding:0;list-style:none;font-size:12.5px;color:var(--color-text-muted)}.overview-total__legend li{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.overview-total__legend .mono{font-weight:600;color:var(--color-text)}.overview-total__dot{width:8px;height:8px;border-radius:50%}.overview-total__pct{color:var(--color-text-subtle)}.overview-card__tag{padding:2px 6px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-warning)}.overview-budget__fill.is-over{background:var(--color-negative)}.overview-card__footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid var(--color-border)}.overview-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:12px;color:var(--color-text-secondary);transition:var(--transition-control)}.overview-chip:hover{border-color:var(--color-border-strong);color:var(--color-text)}.overview-chip svg{color:var(--color-text-muted)}.overview-chip .severity-tag__dot{width:6px;height:6px;border-radius:50%}.text-link{font-size:12px;color:var(--color-text)}.text-link:hover{text-decoration:underline}.reports-layout{display:grid;grid-template-columns:minmax(0,736fr) minmax(280px,364fr);gap:20px;align-items:start}.card.reports-list{padding:0;overflow:hidden}.reports-filters{display:flex;align-items:center;gap:10px;padding:20px}.search-box{flex:1;min-width:0;height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted)}.search-box:focus-within{border-color:var(--color-accent)}.search-box input{flex:1;min-width:0;background:none;border:0;outline:none;font:inherit;font-size:12px;color:var(--color-text)}.search-box input::placeholder{color:var(--color-text-muted)}.reports-row{display:grid;grid-template-columns:minmax(0,2.6fr) minmax(92px,1.3fr) minmax(76px,1fr) 52px minmax(48px,.8fr);gap:12px;align-items:center;height:72px;padding:0 24px;border-bottom:1px solid var(--color-border);font-size:12px;color:var(--color-text-secondary);cursor:pointer}.reports-row:hover{background:var(--color-hover)}.reports-row:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.reports-row--head{height:36px;background:var(--color-bg);border-bottom:0;font-size:11px;text-transform:uppercase;color:var(--color-text-muted);cursor:default}.reports-row--head:hover{background:var(--color-bg)}.reports-row--selected,.reports-row--selected:hover{background:var(--color-selected)}.reports-id{display:flex;align-items:center;gap:10px;min-width:0}.reports-id svg{flex-shrink:0;color:var(--color-text-muted)}.reports-row--selected .reports-id svg{color:var(--color-text)}.reports-id>span{display:flex;flex-direction:column;gap:6px;min-width:0}.reports-id strong{font-size:13px;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reports-id small{font-size:11px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reports-format{font-size:11px;font-weight:500;color:var(--color-text-muted)}.reports-empty{padding:32px 24px;font-size:13px;color:var(--color-text-muted)}.reports-pagination{height:59px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-size:12px;color:var(--color-text-muted)}.pages{display:flex;align-items:center;gap:6px}.page-num{min-width:22px;height:22px;border-radius:var(--radius-sm);font-size:12px;color:var(--color-text-muted)}.page-num:hover,.page-num--current{color:var(--color-text)}.report-details{gap:20px}.report-doc{display:flex;align-items:center;gap:12px}.report-doc__icon{width:46px;height:50px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--radius-lg);background:var(--color-selected);color:var(--color-text)}.report-doc__name{font-size:16px;font-weight:600;color:var(--color-text)}.report-doc__period{margin-top:6px;font-size:12px;color:var(--color-text-muted)}.report-meta{margin:0}.report-meta div{height:36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);font-size:12px}.report-meta dt{color:var(--color-text-muted)}.report-meta dd{margin:0;color:var(--color-text)}.report-actions{display:flex;gap:10px}.schedules{gap:20px}.schedules__header{height:18px}.schedules__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}.schedules__list li,.schedule-manage li{display:flex;align-items:center;gap:12px;color:var(--color-text-muted)}.schedules__list li>span:not(.status-dot),.schedule-manage li>span{display:flex;flex-direction:column;gap:6px}.schedules__list strong,.schedule-manage strong{font-size:13px;font-weight:400;color:var(--color-text)}.schedules__list small,.schedule-manage small{font-size:11px;color:var(--color-text-muted)}.status-dot{width:6px;height:6px;flex-shrink:0;border-radius:3px;background:var(--color-text-muted)}.status-dot--on{background:var(--color-positive)}.alerts-center{padding:0 24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.alerts-tabs{display:flex;gap:28px;height:58px;border-bottom:1px solid var(--color-border)}.alerts-tab{position:relative;padding:0;border:0;background:none;font:inherit;font-size:13px;color:var(--color-text-muted);cursor:pointer}.alerts-tab:hover{color:var(--color-text)}.alerts-tab--active{font-weight:600;color:var(--color-text)}.alerts-tab--active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--color-accent)}.alerts-filters{display:flex;gap:10px;padding:16px 0}.alerts-list{margin:0;padding:0;list-style:none}.alert-item{display:flex;flex-direction:column;gap:7px;padding:17px 0;border-top:1px solid var(--color-border)}.alert-item__head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:24px}.alert-item__head strong{font-size:13px;font-weight:600;color:var(--color-text)}.alert-item__detail{margin:0;font-size:12px;color:var(--color-text-secondary)}.alert-item__meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;line-height:14px;color:var(--color-text-muted)}.alert-item__right{display:inline-flex;align-items:center;gap:12px}.alert-item__action{padding:0;border:0;background:none;font:inherit;color:var(--color-text);cursor:pointer;opacity:0;transition:opacity .12s}.alert-item:hover .alert-item__action,.alert-item__action:focus-visible{opacity:1}.alert-item__action:hover{text-decoration:underline}.alert-item__action:disabled{cursor:default;opacity:.5}.alert-item--resolved .alert-item__head strong,.alert-item--resolved .alert-item__detail{color:var(--color-text-muted)}.alerts-empty{padding:32px 0;border-top:1px solid var(--color-border);font-size:13px;color:var(--color-text-muted);text-align:center}.users-grant{gap:16px}.users-grant__row{display:flex;align-items:flex-end;gap:12px}.users-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--color-text-secondary)}.users-field:first-child{flex:1;max-width:420px}.users-field input{height:40px;padding:0 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg);font:inherit;font-size:13px;font-weight:400;color:var(--color-text)}.users-field input::placeholder{color:var(--color-text-subtle)}.users-field input:focus{outline:none;border-color:var(--color-accent)}.users-field input[aria-invalid=true]{border-color:var(--color-negative)}.users-field__error{margin-top:-6px;font-size:12px;color:var(--color-negative)}.users-hint{font-size:12px;color:var(--color-text-muted)}.users-hint strong{color:var(--color-text-secondary)}.users-notice{padding:12px 14px;border:1px solid color-mix(in srgb,var(--color-positive) 45%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-positive) 12%,transparent);font-size:13px;color:var(--color-text-secondary)}.users-list{padding:0}.users-row{display:grid;grid-template-columns:minmax(240px,2fr) 180px 170px 140px minmax(170px,auto);align-items:center;gap:16px;min-height:64px;padding:10px 24px;border-top:1px solid var(--color-border);font-size:13px;color:var(--color-text-secondary)}.users-row--head{min-height:44px;border-top:0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.users-person{display:flex;flex-direction:column;gap:3px;min-width:0}.users-person strong{font-weight:600;color:var(--color-text);overflow-wrap:anywhere}.users-person small{overflow-wrap:anywhere}.users-person small,.users-meta small{font-size:11px;color:var(--color-text-muted)}.users-meta{display:flex;flex-direction:column;gap:3px}.users-role{color:var(--color-text)}.users-status{display:inline-flex;align-items:center;gap:8px}.users-status__dot{width:6px;height:6px;border-radius:50%;background:var(--color-warning)}.users-status__dot.is-on{background:var(--color-positive)}.users-actions{display:flex;justify-content:flex-end;gap:8px}.users-actions .btn{height:32px;padding:0 12px;font-size:12px}.users-empty{padding:32px 24px;border-top:1px solid var(--color-border);font-size:13px;color:var(--color-text-muted)}.users-requests{border-color:color-mix(in srgb,var(--color-warning) 45%,var(--color-border))}.users-requests__title{display:flex;align-items:center;gap:10px;padding:0 0 14px}.users-requests__count{min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:color-mix(in srgb,var(--color-warning) 22%,transparent);font-size:12px;font-weight:700;line-height:22px;text-align:center;color:var(--color-warning)}.users-row--request{grid-template-columns:minmax(240px,2fr) 160px 180px minmax(200px,auto)}@media (max-width: 1279px){.users-row,.users-row--request{grid-template-columns:minmax(0,1fr) 180px;grid-template-areas:"person role" "status actions" "meta actions";row-gap:8px;padding:14px 20px}.users-row--head{display:none}.users-row--request{grid-template-areas:"person role" "meta actions"}.users-cell--person{grid-area:person}.users-cell--role{grid-area:role}.users-cell--status{grid-area:status}.users-cell--meta{grid-area:meta}.users-cell--actions{grid-area:actions;align-self:end}}.imports-form{gap:16px}.imports-steps{display:flex;flex-direction:column;gap:6px;padding-left:18px;font-size:13px;color:var(--color-text-secondary)}.imports-steps strong{color:var(--color-text)}.imports-steps code{font-size:12px;color:var(--color-text)}.imports-drop{display:flex;align-items:center;justify-content:center;gap:12px;min-height:72px;padding:16px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);font-size:13px;color:var(--color-text-muted);transition:var(--transition-control)}.imports-drop svg{color:var(--color-text-muted)}.imports-drop.is-dragging{border-color:var(--color-accent);background:var(--color-hover)}.imports-drop.is-invalid{border-color:var(--color-negative)}.imports-drop__file{font-weight:600;color:var(--color-text);word-break:break-all}.users-field.imports-month{flex:0 0 220px}.imports-month input{color-scheme:dark}.imports-soon p{font-size:13px;color:var(--color-text-secondary)}.imports-soon strong{color:var(--color-text)}.imports-soon__tag{align-self:flex-start;padding:3px 8px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-warning)}.imports-drop.is-disabled{opacity:.5;cursor:not-allowed}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-ext-400-normal-Xqov12YL.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-400-normal-DRPPeomZ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-400-normal-BPq32Q8K.woff2) format("woff2"),url(/assets/montserrat-cyrillic-400-normal-jEs4Tk-Z.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-vietnamese-400-normal-D4oHqQTd.woff2) format("woff2"),url(/assets/montserrat-vietnamese-400-normal-BeEscFYY.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-ext-400-normal-B8bwfy6Y.woff2) format("woff2"),url(/assets/montserrat-latin-ext-400-normal-BffdBkAA.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-cyrillic-ext-500-normal-11xBT7e1.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-500-normal-DOzfAZ45.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-cyrillic-500-normal-T0SG181k.woff2) format("woff2"),url(/assets/montserrat-cyrillic-500-normal-CyGtXmN9.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-vietnamese-500-normal-NT-t8RG1.woff2) format("woff2"),url(/assets/montserrat-vietnamese-500-normal-DpeZlV_K.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-ext-500-normal-BKtbrd6n.woff2) format("woff2"),url(/assets/montserrat-latin-ext-500-normal-DWPqqZgs.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2) format("woff2"),url(/assets/montserrat-latin-500-normal-Dok2oTci.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-cyrillic-ext-600-normal-BtBW-rpm.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-600-normal-wReYPmz2.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-cyrillic-600-normal-CQEPC0hM.woff2) format("woff2"),url(/assets/montserrat-cyrillic-600-normal-DUglwBrH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-vietnamese-600-normal-DKe6qT_E.woff2) format("woff2"),url(/assets/montserrat-vietnamese-600-normal-SJ-HTWuM.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-ext-600-normal-DSkTqI9L.woff2) format("woff2"),url(/assets/montserrat-latin-ext-600-normal-CSDhkhgS.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-cyrillic-ext-700-normal-MyDreaeu.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-700-normal-D-Mk2xRJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-cyrillic-700-normal-D-Pqjtdp.woff2) format("woff2"),url(/assets/montserrat-cyrillic-700-normal-BvLYcGP1.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-vietnamese-700-normal-C0x1De3p.woff2) format("woff2"),url(/assets/montserrat-vietnamese-700-normal-DnwGT2D9.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-ext-700-normal-BOP2Nhf0.woff2) format("woff2"),url(/assets/montserrat-latin-ext-700-normal-DdDFr05Z.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg: #000000;--color-surface: #1a1a1a;--color-sunken: #2e2e2e;--color-border: rgba(255, 255, 255, .14);--color-border-strong: rgba(255, 255, 255, .24);--color-hover: rgba(255, 255, 255, .06);--color-selected: rgba(255, 255, 255, .12);--color-scrim: rgba(0, 0, 0, .62);--color-text: #ffffff;--color-text-secondary: #c9d1d7;--color-text-muted: #90a0ad;--color-text-subtle: #6b767f;--color-accent: #ffffff;--color-accent-hover: #e8ebee;--color-on-accent: #000000;--color-accent-deep: #2e2e2e;--color-chart: #a7b2bb;--color-chart-secondary: #6b767f;--color-positive: #3a9e6c;--color-negative: #d9534a;--color-warning: #c98a1e;--font-sans: "Montserrat", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: var(--font-sans);--line-height: 1.35;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 4px;--radius-xl: 8px;--radius-full: 999px;--transition-control: background-color .14s cubic-bezier(.16, 1, .3, 1), color .14s cubic-bezier(.16, 1, .3, 1), border-color .14s cubic-bezier(.16, 1, .3, 1), opacity .14s cubic-bezier(.16, 1, .3, 1);--sidebar-width: 240px;--header-height: 84px;--footer-height: 64px;--content-padding-x: 40px}.card{display:flex;flex-direction:column;padding:24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.card__header{height:28px;display:flex;align-items:center;justify-content:space-between}.card__title{font-size:14px;font-weight:700;color:var(--color-text)}.card__title--lg{font-size:16px}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title h2{font-size:24px;font-weight:600;color:var(--color-text)}.section-title p{margin-top:6px;font-size:14px;color:var(--color-text-secondary)}.btn{height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border-radius:var(--radius-lg);border:1px solid var(--color-border);font-size:13px;white-space:nowrap;transition:var(--transition-control)}.btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);font-weight:600}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn--secondary{background:var(--color-surface);color:var(--color-text)}.btn--secondary:hover:not(:disabled){border-color:var(--color-border-strong)}.btn--danger{background:var(--color-negative);border-color:var(--color-negative);color:var(--color-text);font-weight:600}.btn--danger:hover:not(:disabled){filter:brightness(1.1)}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--color-text-secondary)}.icon-btn:hover:not(:disabled){background:var(--color-border);color:var(--color-text)}.icon-btn:disabled{opacity:.35;cursor:default}.kpi__arrow{color:var(--color-positive)}.kpi__arrow--down{transform:rotate(90deg)}.severity-tag{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:5px 9px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:11px;font-weight:500;line-height:14px;color:var(--color-text-secondary)}.severity-tag__dot{width:5px;height:5px;border-radius:50%}.severity-tag__dot--critical{background:var(--color-negative)}.severity-tag__dot--warning{background:var(--color-warning)}.page-footnote{display:flex;justify-content:space-between;font-size:11px;color:var(--color-text-muted)}.currency-toggle{display:inline-flex;height:36px;padding:3px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.currency-toggle__option{min-width:44px;padding:0 10px;border:0;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:12.5px;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-control)}.currency-toggle__option:hover{color:var(--color-text)}.currency-toggle__option.is-active{background:var(--color-accent);color:var(--color-on-accent)}*,*:before,*:after{box-sizing:border-box}html{color-scheme:dark}html,body,#root{margin:0;min-height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:var(--line-height);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}::selection{background:var(--color-text);color:var(--color-bg)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.form-error{padding:12px 14px;border:1px solid color-mix(in srgb,var(--color-negative) 45%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-negative) 12%,transparent);font-size:13px;color:var(--color-negative)}
