@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--ov-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;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}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.grid{display:grid}.hidden{display:none}.inline{display:inline}.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,)}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.station-maintenance-page{gap:16px;display:grid}.station-maintenance-page>header h1{margin:0;font-size:22px}.station-maintenance-page>header p{color:var(--ov-color-text-muted);margin:5px 0 0}.station-maintenance-actions{justify-content:flex-end;display:flex}.station-maintenance-actions button{align-items:center;gap:6px;min-height:38px;display:inline-flex}.station-maintenance-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:16px;display:grid}.station-maintenance-table-wrap{border:1px solid var(--ov-color-border);background:var(--ov-color-surface);border-radius:6px;overflow:auto}.station-maintenance-table-wrap table{border-collapse:collapse;width:100%;min-width:720px}.station-maintenance-table-wrap th,.station-maintenance-table-wrap td{border-bottom:1px solid var(--ov-color-border);text-align:left;padding:11px 12px;font-size:13px}.station-maintenance-table-wrap thead th{color:var(--ov-color-text-muted);background:var(--ov-color-surface-muted);font-weight:600}.station-maintenance-table-wrap tbody tr{cursor:pointer}.station-maintenance-table-wrap tbody tr:not(.selected):hover{background:var(--ov-color-surface-muted)}.station-maintenance-table-wrap tbody tr.selected{background:var(--ov-color-primary-soft)}.station-maintenance-table-wrap tbody th button{color:var(--ov-color-text-strong);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:18px 1fr;align-items:center;gap:2px 7px;display:inline-grid}.station-maintenance-table-wrap tbody th button small{color:var(--ov-color-text-muted);grid-column:2}.station-located{color:var(--ov-color-success);align-items:center;gap:4px;display:inline-flex}.station-coordinate-editor{border:1px solid var(--ov-color-border);background:var(--ov-color-surface);border-radius:6px;gap:13px;padding:16px;display:grid}.station-coordinate-editor h2{margin:0;font-size:17px}.station-coordinate-editor p{color:var(--ov-color-text-muted);margin:4px 0 0;font-size:12px}.station-coordinate-editor label{color:var(--ov-color-text-muted);gap:6px;font-size:12px;font-weight:600;display:grid}.station-coordinate-editor input,.station-coordinate-editor select{border:1px solid var(--ov-color-border);background:var(--ov-color-surface);width:100%;min-height:38px;color:var(--ov-color-text-strong);border-radius:5px;padding:7px 9px}.station-editor-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.station-editor-actions button{align-items:center;gap:6px;min-height:38px;display:inline-flex}.station-editor-divider{background:var(--ov-color-border);height:1px;margin:2px 0}.station-editor-empty{color:var(--ov-color-text-muted);justify-items:center;gap:6px;padding:48px 12px;display:grid}.station-coordinate-editor .form-success{color:var(--ov-color-success)}.station-coordinate-editor .form-error{color:var(--ov-color-danger)}@media(max-width:980px){.station-maintenance-layout{grid-template-columns:minmax(0,1fr)}.station-coordinate-editor{max-width:none}}:root{color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ov-color-primary:#172554;--ov-color-primary-hover:#1d4ed8;--ov-color-primary-soft:#eff6ff;--ov-color-accent:#0f766e;--ov-color-accent-soft:#ecfdf5;--ov-color-success:#0f766e;--ov-color-success-soft:#ecfdf5;--ov-color-warning:#d97706;--ov-color-warning-soft:#fffbeb;--ov-color-danger:#dc2626;--ov-color-danger-soft:#fef2f2;--ov-color-info:#1d4ed8;--ov-color-info-soft:#eff6ff;--ov-color-text-strong:#0f172a;--ov-color-text:#334155;--ov-color-text-muted:#64748b;--ov-color-text-disabled:#94a3b8;--ov-color-border:#dce4ef;--ov-color-border-strong:#cbd5e1;--ov-color-divider:#f1f5f9;--ov-color-page:#f6f8fb;--ov-color-surface:#fff;--ov-color-surface-muted:#f8fafc;--ov-color-sidebar:#08111f;--ov-color-sidebar-text:#e2e8f0;--ov-color-sidebar-muted:#94a3b8;--ov-color-sidebar-active:#102a56;--ov-color-sidebar-accent:#38bdf8;--ov-chart-day-ahead-price:#2563eb;--ov-chart-real-time-price:#0f766e;--ov-chart-forecast-price:#7c3aed;--ov-chart-forecast-band:#7c3aed24;--ov-chart-load:#ea580c;--ov-chart-renewable:#16a34a;--ov-chart-reserve:#0891b2;--ov-chart-medium-long-term:#9333ea;--ov-chart-neutral-series:#8b5cf6;--ov-chart-risk:#dc2626;--ov-chart-grid:#eef2f7;--ov-chart-axis:#94a3b8;--ov-shadow-card:0 1px 2px #0f172a09;--ov-shadow-popover:0 16px 40px #0f172a1f;--ov-shadow-focus:0 0 0 3px #2563eb24;--ov-radius-md:6px;--ov-radius-lg:8px;--ov-transition-fast:.18s ease;--ov-topbar-height:56px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--ov-color-page);min-width:320px;min-height:100vh;color:var(--ov-color-text);margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}button:focus-visible,[role=button]:focus-visible{outline:2px solid var(--ov-color-primary-hover);outline-offset:2px;box-shadow:var(--ov-shadow-focus)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--ov-color-page);grid-template-rows:auto 1fr;grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar{background:radial-gradient(circle at 20% 0%,#38bdf82e,transparent 28%),linear-gradient(180deg,#071425 0%,var(--ov-color-sidebar) 100%);height:100vh;color:var(--ov-color-sidebar-text);grid-row:1/span 2;padding:16px 12px;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:11px;padding:2px 8px 15px;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#14b8a6,#38bdf8);border-radius:10px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.brand-title{color:#fff;letter-spacing:0;margin:0;font-size:17px;font-weight:700}.brand-subtitle{color:var(--ov-color-sidebar-muted);margin:2px 0 0;font-size:11px}.sidebar-collapsed .brand{justify-content:center;padding-inline:0}.sidebar-collapsed .brand-copy,.sidebar-collapsed .quick-search input,.sidebar-collapsed .nav-heading,.sidebar-collapsed .nav-subheading,.sidebar-collapsed .nav-item span{display:none}.quick-search{border-radius:var(--ov-radius-md);height:32px;color:var(--ov-color-sidebar-muted);background:#ffffff0b;border:1px solid #e2e8f01a;align-items:center;gap:8px;margin:2px 0 16px;padding:0 10px;font-size:12px;display:flex}.quick-search input{width:100%;min-width:0;color:var(--ov-color-sidebar-text);background:0 0;border:0;outline:0}.quick-search input::placeholder{color:#94a3b8d1}.sidebar-collapsed .quick-search{justify-content:center;padding:0}.nav-section{margin-top:10px}.nav-heading{color:#9df8e6;letter-spacing:0;margin:0 8px 3px;font-size:12px;font-weight:700}.nav-heading-button{text-align:left;width:calc(100% - 16px);transition:color var(--ov-transition-fast),transform var(--ov-transition-fast);background:0 0;border:0;justify-content:space-between;align-items:center;padding:4px 0;display:flex}.nav-heading-button:hover{color:#eafdf8}.nav-subsection{margin-top:4px}.nav-subheading{color:#a8b9cbdb;letter-spacing:0;margin:0 8px 2px;font-size:12px;font-weight:500}.nav-subheading-label{color:#e2e8f0bd;justify-content:flex-start;align-items:center;width:calc(100% - 16px);margin-left:0;padding:3px 0 3px 20px;display:flex}.nav-toggle-icon{color:#94a3b8e6;transition:transform var(--ov-transition-fast);flex:none;transform:rotate(-90deg)}.nav-toggle-icon.expanded{transform:rotate(0)}.nav-collapse{opacity:0;transition:grid-template-rows var(--ov-transition-fast),opacity var(--ov-transition-fast),transform var(--ov-transition-fast);grid-template-rows:0fr;display:grid;transform:translateY(-1px)}.nav-collapse.expanded{opacity:1;grid-template-rows:1fr;transform:translateY(0)}.nav-collapse-inner{min-height:0;overflow:hidden}.nav-group-collapse{margin-left:0}.nav-items-inner{padding-left:30px}.nav-item{width:100%;min-height:30px;color:var(--ov-color-sidebar-text);text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;margin:1px 0;padding:4px 10px 4px 6px;font-size:12px;font-weight:500;display:flex}.nav-empty{color:var(--ov-color-sidebar-muted);margin:8px;font-size:13px}.sidebar-collapsed .nav-item{justify-content:center;padding:0}.nav-item svg{flex:none;width:14px;height:14px}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.nav-item.active{color:#effdf9;background:#0f766e24;position:relative}.nav-item:hover{background:#ffffff0a}.sidebar-collapsed .nav-label{display:none}.main-shell{grid-column:2;min-width:0}.topbar{z-index:40;height:var(--ov-topbar-height);border-bottom:1px solid var(--ov-color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;grid-column:2;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.breadcrumb{color:var(--ov-color-text-muted);align-items:center;gap:8px;font-size:14px;display:flex}.breadcrumb strong{color:var(--ov-color-text-strong);font-weight:600}.topbar-actions{z-index:1;align-items:center;gap:6px;display:flex;position:relative}.menu-anchor{display:inline-flex;position:relative}.icon-button{border-radius:var(--ov-radius-md);width:32px;height:32px;color:var(--ov-color-text-muted);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.has-dot:after{background:var(--ov-color-danger);content:"";border:1px solid #fff;border-radius:999px;width:7px;height:7px;position:absolute;top:7px;right:7px}.icon-button:hover{background:var(--ov-color-surface-muted);color:var(--ov-color-text-strong)}.bordered-icon,.icon-button.bordered,.icon-button.bordered-icon{border:1px solid var(--ov-color-border);background:var(--ov-color-surface)}.chart-icon-action{width:28px;height:28px;color:var(--ov-color-text-muted);background:0 0;border:0}.chart-icon-action:hover{background:var(--ov-color-primary-soft);color:var(--ov-color-primary)}.topbar-divider{background:var(--ov-color-border);width:1px;height:26px;margin:0 5px}.context-switch,.user-switch{border-radius:var(--ov-radius-md);height:32px;color:var(--ov-color-text-strong);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:14px;font-weight:500;line-height:20px;display:inline-flex}.context-switch:hover,.user-switch:hover{background:var(--ov-color-surface-muted)}.context-switch svg,.user-switch svg{color:#94a3b8}.popover{z-index:60;border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);min-width:188px;box-shadow:var(--ov-shadow-popover);padding:8px;position:absolute;top:calc(100% + 8px);right:0}.compact-popover{width:min(320px,100vw - 24px)}.notification-popover{width:min(390px,100vw - 24px);min-height:180px;padding:0;overflow:hidden}.notification-popover-header{border-bottom:1px solid var(--ov-color-divider);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:10px 14px;display:flex}.notification-popover-header>div{align-items:baseline;gap:8px;display:flex}.notification-popover-header strong{margin:0;font-size:15px}.notification-popover-header span{color:var(--ov-color-text-muted);font-size:12px}.notification-text-action{border-radius:var(--ov-radius-md);min-height:30px;color:var(--ov-color-primary);background:0 0;border:0;align-items:center;gap:5px;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.notification-text-action:hover:not(:disabled){background:var(--ov-color-primary-soft)}.notification-text-action:disabled{color:var(--ov-color-text-disabled)}.notification-popover-list{max-height:min(462px,100vh - 150px);overflow-y:auto}.notification-popover-item{border:0;border-bottom:1px solid var(--ov-color-divider);background:var(--ov-color-surface);width:100%;min-height:78px;color:var(--ov-color-text);text-align:left;grid-template-columns:32px minmax(0,1fr) 16px;align-items:start;gap:10px;padding:12px 14px;display:grid;position:relative}.notification-popover-item.unread{background:#f8fbff}.notification-popover-item.unread:before{border-radius:var(--ov-radius-pill);background:var(--ov-color-info);content:"";width:5px;height:5px;position:absolute;top:19px;left:5px}.notification-popover-item:hover{background:var(--ov-color-surface-muted)}.notification-popover-item>svg{color:var(--ov-color-text-disabled);align-self:center}.notification-popover-copy{gap:2px;min-width:0;display:grid}.notification-popover-copy strong{color:var(--ov-color-text-strong);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;line-height:20px;overflow:hidden}.notification-popover-item.unread .notification-popover-copy strong{font-weight:700}.notification-popover-copy>span{color:var(--ov-color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:18px;display:-webkit-box;overflow:hidden}.notification-popover-copy small{color:var(--ov-color-text-muted);font-size:11px;line-height:18px}.notification-popover-state{background:var(--ov-color-surface);min-height:126px;color:var(--ov-color-text-muted);border:0;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}button.notification-popover-state{width:100%}.notification-popover-state.error{color:var(--ov-color-danger)}.notification-popover-footer{border:0;border-top:1px solid var(--ov-color-divider);background:var(--ov-color-surface);width:100%;min-height:42px;color:var(--ov-color-primary);justify-content:center;align-items:center;gap:5px;font-size:13px;font-weight:600;display:flex}.notification-popover-footer:hover{background:var(--ov-color-primary-soft)}.notification-icon{border-radius:var(--ov-radius-md);background:var(--ov-color-info-soft);width:32px;height:32px;color:var(--ov-color-info);flex:0 0 32px;justify-content:center;align-items:center;display:inline-flex}.notification-icon.success{background:var(--ov-color-success-soft);color:var(--ov-color-success)}.notification-icon.warning{background:var(--ov-color-warning-soft);color:var(--ov-color-warning)}.notification-icon.critical{background:var(--ov-color-danger-soft);color:var(--ov-color-danger)}.popover strong{color:var(--ov-color-text-strong);margin:2px 8px 8px;font-size:13px;display:block}.popover-item,.select-option{border-radius:var(--ov-radius-md);width:100%;min-height:34px;color:var(--ov-color-text);text-align:left;background:0 0;border:0;align-items:center;padding:0 10px;display:flex}.popover-item:hover,.select-option:hover,.select-option.selected{background:var(--ov-color-primary-soft);color:var(--ov-color-primary)}.select-option.selected{font-weight:700}.page{padding:14px 24px 24px}.notifications-page{min-height:calc(100vh - var(--ov-topbar-height) - 38px);color:var(--ov-color-text)}.notifications-page-header{justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:2px 0 14px;display:flex}.notifications-page-header h1{color:var(--ov-color-text-strong);font-size:var(--ov-font-size-page-title);line-height:var(--ov-line-height-page-title);margin:0}.notifications-page-header p{color:var(--ov-color-text-muted);margin:2px 0 0;font-size:13px}.notifications-toolbar{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);align-items:end;gap:10px;min-height:58px;padding:10px 12px;display:flex;overflow-x:auto}.notifications-toolbar>label{color:var(--ov-color-text-muted);flex:none;gap:3px;font-size:11px;font-weight:600;display:grid}.notifications-toolbar select,.notifications-toolbar input{border:1px solid var(--ov-color-border-strong);border-radius:var(--ov-radius-md);background:var(--ov-color-surface);height:32px;color:var(--ov-color-text-strong);padding:0 9px;font-size:13px}.notifications-toolbar select{min-width:118px}.notifications-toolbar input{width:142px}.notifications-toolbar .segmented{flex:none;align-self:end}.notifications-toolbar>.icon-button{flex:0 0 32px}.notifications-list{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);margin-top:12px;overflow:hidden}.notification-row{border:0;border-bottom:1px solid var(--ov-color-divider);background:var(--ov-color-surface);width:100%;min-height:88px;color:var(--ov-color-text);text-align:left;grid-template-columns:8px 36px minmax(0,1fr) 58px 18px;align-items:center;gap:12px;padding:12px 16px 12px 10px;display:grid;position:relative}.notification-row:last-child{border-bottom:0}.notification-row.unread{background:#f8fbff}.notification-row:hover{background:var(--ov-color-surface-muted)}.notification-unread-marker{border-radius:var(--ov-radius-pill);background:0 0;width:6px;height:6px;display:block}.notification-row.unread .notification-unread-marker{background:var(--ov-color-info)}.notification-row-copy{gap:3px;min-width:0;display:grid}.notification-row-copy>strong{color:var(--ov-color-text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:20px;overflow:hidden}.notification-row.unread .notification-row-copy>strong{font-weight:700}.notification-row-copy>span{color:var(--ov-color-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:20px;overflow:hidden}.notification-row-copy small{color:var(--ov-color-text-muted);flex-wrap:wrap;gap:10px;font-size:11px;display:flex}.notification-row>svg{color:var(--ov-color-text-disabled)}.notification-severity{border-radius:var(--ov-radius-sm);background:var(--ov-color-info-soft);min-width:48px;min-height:24px;color:var(--ov-color-info);justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.notification-severity.success{background:var(--ov-color-success-soft);color:var(--ov-color-success)}.notification-severity.warning{background:var(--ov-color-warning-soft);color:var(--ov-color-warning)}.notification-severity.critical{background:var(--ov-color-danger-soft);color:var(--ov-color-danger)}.notifications-state{background:var(--ov-color-surface);min-height:260px;color:var(--ov-color-text-muted);border:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;font-size:13px;display:flex}button.notifications-state{width:100%}.notifications-state strong{color:var(--ov-color-text-strong);font-size:14px}.notifications-state.error{color:var(--ov-color-danger)}.notifications-load-more{justify-content:center;padding:14px;display:flex}.page-control{justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px;display:flex}.page-control-copy{min-width:250px}.page-title{color:var(--ov-color-text-strong);margin:0;font-size:20px;line-height:26px}.page-summary{color:var(--ov-color-text-muted);margin:1px 0 0;font-size:12px;line-height:18px}.page-control-side{align-items:center;min-width:0;display:flex}.inline-filter{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.filter-bar{border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);box-shadow:none;border:1px solid #d8e2ef;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:9px 12px;display:flex}.compact-filter{min-height:48px}.field{color:var(--ov-color-text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.field-control{border:1px solid var(--ov-color-border-strong);border-radius:var(--ov-radius-md);height:32px;color:var(--ov-color-text-strong);background:#fff;align-items:center;gap:8px;padding:0 12px;font-size:14px;display:inline-flex}.date-range{gap:6px}.date-range input{width:118px;color:var(--ov-color-text-strong);background:0 0;border:0;outline:0;font-size:13px}.page-select-control{min-width:132px}.page-select-control.wide{min-width:260px}.segmented{border-radius:var(--ov-radius-md);background:var(--ov-color-divider);min-height:32px;padding:3px;display:inline-flex}.segment{min-height:32px;color:var(--ov-color-text-muted);background:0 0;border:0;border-radius:5px;padding:0 12px}.segment.active{color:var(--ov-color-primary);background:#fff;font-weight:600;box-shadow:0 1px 2px #0f172a14}.compact-segmented{min-height:28px;padding:2px}.compact-segmented .segment{min-height:26px;padding:0 7px;font-size:12px}.primary-button{border-radius:var(--ov-radius-md);background:var(--ov-color-primary);color:#fff;border:0;align-items:center;gap:8px;height:32px;padding:0 16px;font-weight:600;display:inline-flex}.primary-button:hover{background:var(--ov-color-primary-hover)}.secondary-button{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface);height:32px;color:var(--ov-color-text-strong);align-items:center;gap:8px;padding:0 14px;font-weight:600;display:inline-flex}.secondary-button:hover{border-color:var(--ov-color-primary-hover);background:var(--ov-color-surface-muted);color:var(--ov-color-primary-hover)}.form-error{color:var(--ov-color-danger);text-align:right;margin:6px 0 0;font-size:12px}.status-strip{min-height:32px;color:var(--ov-color-text-muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;font-size:12px;display:flex}.status-strip strong{color:var(--ov-color-success)}.status-dot{background:var(--ov-color-success);border-radius:999px;width:8px;height:8px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:14px;display:grid}.market-overview-grid{margin-top:12px}.state-panel{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);box-shadow:var(--ov-shadow-card);margin-top:12px;padding:14px 16px}.state-panel h2{color:var(--ov-color-text-strong);margin:0;font-size:15px;line-height:22px}.state-panel p{color:var(--ov-color-text-muted);margin:4px 0 0;font-size:13px;line-height:20px}.state-panel.info{border-color:var(--ov-color-info);background:var(--ov-color-info-soft)}.state-panel.neutral{background:var(--ov-color-surface-muted)}.state-panel.danger{border-color:var(--ov-color-danger);background:var(--ov-color-danger-soft)}.left-stack,.right-stack{align-content:start;gap:14px;display:grid}.metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.metric-card,.chart-card,.mini-card,.insight-card{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);box-shadow:var(--ov-shadow-card)}.metric-card{text-align:left;min-height:82px;padding:10px 12px;position:relative;overflow:hidden}button.metric-card{border:1px solid var(--ov-color-border)}button.metric-card:hover{border-color:var(--ov-color-border-strong);box-shadow:0 8px 20px #0f172a14}.metric-card:after{content:"";background:#0f766e94;height:1px;position:absolute;bottom:0;left:0;right:0}.metric-card.warning:after{background:#d9770694}.metric-card.risk:after{background:#dc262685}.metric-label{color:var(--ov-color-text-muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.metric-value{color:var(--ov-color-text-strong);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;margin-top:6px;font-size:23px;font-weight:760;line-height:30px;display:flex}.metric-unit{color:var(--ov-color-text-muted);font-size:12px;font-weight:500}.metric-delta{align-items:center;gap:4px;margin-top:4px;font-size:12px;font-weight:600;display:inline-flex}.metric-tag{background:var(--ov-color-surface-muted);color:var(--ov-color-text-muted);border-radius:999px;padding:2px 6px;font-size:11px;font-weight:700}.metric-delta.good{color:var(--ov-color-success)}.metric-delta.warning{color:var(--ov-color-warning)}.metric-delta.risk{color:var(--ov-color-danger)}.chart-card{min-width:0;padding:12px 13px}.chart-body{width:100%;min-width:0;position:relative}.chart-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:2px;display:flex}.chart-title{color:var(--ov-color-text-strong);align-items:center;gap:8px;margin:0;font-size:15px;font-weight:700;display:flex}.chart-subtitle{color:var(--ov-color-text-muted);white-space:pre-line;overflow-wrap:anywhere;margin:2px 0 0;font-size:12px;line-height:18px}.chart-actions{align-items:center;gap:7px;display:flex}.ghost-button{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);height:30px;color:var(--ov-color-text);background:#fff;align-items:center;gap:6px;padding:0 9px;font-size:13px;display:inline-flex}.ghost-button.active{background:var(--ov-color-accent-soft);color:var(--ov-color-accent);border-color:#0f766e59;font-weight:600}.stacked-actions{justify-items:end;gap:4px;display:grid}.market-price-actions{min-width:210px}.market-price-switch-row{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.compact-select{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);width:100%;height:28px;color:var(--ov-color-text);font:inherit;background:#fff;padding:0 26px 0 9px;font-size:12px}.tiny-segmented,.compact-segmented{min-height:28px}.tiny-segmented .segment,.compact-segmented .segment{min-height:26px;padding:0 8px;font-size:12px}.spin{animation:.8s linear infinite spin}.chart{width:100%;height:260px}.chart-state-overlay{pointer-events:none;place-items:start end;display:grid;position:absolute;inset:0}.data-refresh-overlay{border-radius:var(--ov-radius-md);background:#ffffff75;place-items:start end;width:100%;height:100%;padding:8px;display:grid}.data-refresh-pill{min-height:28px;color:var(--ov-color-info);background:#ffffffeb;border:1px solid #2563eb33;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 8px 18px #0f172a14}.data-inline-alert{border-radius:var(--ov-radius-md);color:#991b1b;background:#fef2f2d1;border:1px solid #dc262633;align-items:center;gap:8px;min-height:32px;margin:10px 0 0;padding:6px 10px;font-size:13px;line-height:18px;display:inline-flex}.text-button{color:var(--ov-color-primary-hover);background:0 0;border:0;padding:0;font-size:13px;font-weight:700}.data-state{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface-muted);align-items:flex-start;gap:10px;min-height:126px;padding:16px;display:flex}.data-state-icon{border-radius:var(--ov-radius-md);width:32px;height:32px;color:var(--ov-color-text-muted);background:#eef4fb;flex:none;place-items:center;display:grid}.data-state-copy{flex:1;min-width:0}.data-state h2{color:var(--ov-color-text-strong);margin:0;font-size:15px;line-height:22px}.data-state p{color:var(--ov-color-text-muted);margin:4px 0 0;font-size:13px;line-height:20px}.data-state-error{background:var(--ov-color-danger-soft);border-color:#dc262642}.data-state-error .data-state-icon{color:var(--ov-color-danger);background:#dc26261a}.data-state-loading .data-state-icon{color:var(--ov-color-info)}.data-state-action{flex:none}.data-skeleton{border-radius:var(--ov-radius-md);background:linear-gradient(#fff,#f8fafc);border:1px solid #94a3b829;min-height:260px;position:relative;overflow:hidden}.data-skeleton:before{content:"";background:linear-gradient(90deg,#0000,#ffffffb8 42%,#e2e8f06b 52%,#0000);animation:1.8s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.data-skeleton-status{z-index:1;min-height:24px;color:var(--ov-color-text-muted);background:#ffffffad;border:1px solid #64748b1f;border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;top:8px;right:8px;box-shadow:0 6px 14px #0f172a09}.data-skeleton-dots{align-items:center;gap:2px;margin-left:-2px;display:inline-flex}.data-skeleton-dots span{background:currentColor;border-radius:999px;width:3px;height:3px;animation:1.1s ease-in-out infinite skeleton-dot-bounce}.data-skeleton-dots span:nth-child(2){animation-delay:.16s}.data-skeleton-dots span:nth-child(3){animation-delay:.32s}.data-skeleton-compact-chart{min-height:126px}.data-skeleton-panel{min-height:220px}.data-skeleton-chart-page,.data-skeleton-map-page{min-height:560px}.data-skeleton-statement-page{min-height:520px}.data-skeleton-table{gap:10px;padding:14px;display:grid}.data-skeleton-line{background:#e7edf5;border-radius:999px;height:12px;animation:1.6s ease-in-out infinite skeleton-soft-pulse}.data-skeleton-line:first-child{width:52%}.data-skeleton-line:nth-child(2n){width:92%}.data-skeleton-line:nth-child(2n+3){width:78%}.data-skeleton-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:12px;display:grid}.data-skeleton-metric{border-radius:var(--ov-radius-md);background:#e8eef6;min-height:76px;animation:1.6s ease-in-out infinite skeleton-soft-pulse}.data-skeleton-metric:nth-child(2){animation-delay:.12s}.data-skeleton-metric:nth-child(3){animation-delay:.24s}.data-skeleton-metric:nth-child(4){animation-delay:.36s}.data-skeleton-chart-frame{border-radius:var(--ov-radius-md);background:#ffffffa3;border:1px solid #94a3b829;position:absolute;inset:16px;overflow:hidden}.data-skeleton-chart-title,.data-skeleton-chart-legend,.data-skeleton-tab,.data-skeleton-filter,.data-skeleton-map-stat,.data-skeleton-map-region,.data-skeleton-map-point,.data-skeleton-map-legend,.data-skeleton-statement-metric,.data-skeleton-statement-row{background:#e6edf5;border-radius:999px;animation:1.8s ease-in-out infinite skeleton-soft-pulse;display:block}.data-skeleton-chart-title{width:min(156px,34%);height:12px;position:absolute;top:13px;left:14px}.data-skeleton-chart-legend{background:#edf2f7;width:58px;height:10px;position:absolute;top:14px}.data-skeleton-chart-legend.one{right:88px}.data-skeleton-chart-legend.two{width:48px;animation-delay:.18s;right:18px}.data-skeleton-page-frame,.data-skeleton-map-frame,.data-skeleton-statement-frame{z-index:1;gap:12px;padding:14px;display:grid;position:relative}.data-skeleton-tabs{border-bottom:1px solid #94a3b824;align-items:center;gap:8px;min-height:34px;padding-bottom:10px;display:flex}.data-skeleton-tab{width:72px;height:24px}.data-skeleton-tab:first-child{background:#dbe7f1;width:88px}.data-skeleton-section{border-bottom:1px solid #94a3b824;min-height:220px;padding-bottom:12px;position:relative;overflow:hidden}.data-skeleton-section:last-child{border-bottom:0;min-height:190px;padding-bottom:0}.data-skeleton-section .data-skeleton-chart-frame{inset:52px 0 0}.data-skeleton-toolbar{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:760px;display:grid}.data-skeleton-filter{border-radius:var(--ov-radius-sm);background:#eef3f8;height:30px}.data-skeleton-filter:nth-child(2){animation-delay:.12s}.data-skeleton-filter:nth-child(3){animation-delay:.24s}.data-skeleton-map-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.data-skeleton-map-stat{border-radius:var(--ov-radius-md);background:#eef3f8;min-height:72px}.data-skeleton-map-stat:nth-child(2){animation-delay:.12s}.data-skeleton-map-stat:nth-child(3){animation-delay:.24s}.data-skeleton-map-canvas{border-radius:var(--ov-radius-md);background-color:#f8fbfd;background-image:linear-gradient(90deg,#e2e8f05c 1px,#0000 1px),linear-gradient(#e2e8f05c 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #94a3b829;min-height:390px;position:relative;overflow:hidden}.data-skeleton-map-region{background:#e1eaf3;border-radius:44% 56% 48% 52%;position:absolute}.data-skeleton-map-region.main{width:36%;height:48%;top:22%;left:29%;transform:rotate(-12deg)}.data-skeleton-map-region.north{background:#edf3f8;width:20%;height:24%;top:15%;left:45%;transform:rotate(14deg)}.data-skeleton-map-region.east{background:#e9f0f7;width:18%;height:22%;top:43%;left:55%;transform:rotate(9deg)}.data-skeleton-map-point{background:#c6d6e6;border:2px solid #ffffffe6;border-radius:999px;width:9px;height:9px;position:absolute;box-shadow:0 0 0 6px #c6d6e62e}.data-skeleton-map-point.one{top:35%;left:43%}.data-skeleton-map-point.two{animation-delay:.18s;top:51%;left:52%}.data-skeleton-map-point.three{animation-delay:.36s;top:58%;left:37%}.data-skeleton-map-legend{border-radius:var(--ov-radius-sm);background:#edf3f8;width:120px;height:32px;position:absolute;bottom:16px;right:16px}.data-skeleton-statement-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.data-skeleton-statement-metric{border-radius:var(--ov-radius-md);background:#eef3f8;min-height:82px}.data-skeleton-statement-metric:nth-child(2){animation-delay:.12s}.data-skeleton-statement-metric:nth-child(3){animation-delay:.24s}.data-skeleton-statement-metric:nth-child(4){animation-delay:.36s}.data-skeleton-statement-table{border-radius:var(--ov-radius-md);background:#ffffffa3;border:1px solid #94a3b829;gap:10px;padding:14px;display:grid}.data-skeleton-statement-row{border-radius:var(--ov-radius-sm);background:#e8eef6;height:18px}.data-skeleton-statement-row:first-child{background:#dfe8f1;height:28px}.data-skeleton-statement-row:nth-child(2n){width:94%;animation-delay:.12s}.data-skeleton-statement-row:nth-child(2n+3){width:82%;animation-delay:.24s}.data-skeleton-axis{background:#d8e2ed;position:absolute}.data-skeleton-axis.horizontal{height:1px;bottom:24px;left:44px;right:16px}.data-skeleton-axis.vertical{width:1px;top:42px;bottom:24px;left:44px}.data-skeleton-grid-line{background:#cbd5e157;position:absolute}.data-skeleton-grid-line.row{height:1px;left:44px;right:16px}.data-skeleton-grid-line.row.one{top:46%}.data-skeleton-grid-line.row.two{top:62%}.data-skeleton-grid-line.row.three{top:78%}.data-skeleton-grid-line.column{width:1px;top:42px;bottom:24px}.data-skeleton-grid-line.column.one{left:28%}.data-skeleton-grid-line.column.two{left:52%}.data-skeleton-grid-line.column.three{left:76%}.data-skeleton-trend{border-top:2px solid #cbd8e6;border-radius:52% 38% 44% 34%;height:42px;animation:1.9s ease-in-out infinite skeleton-line-drift;position:absolute;left:46px;right:18px}.data-skeleton-trend.primary{top:48%;transform:skewY(-4deg)}.data-skeleton-trend.secondary{border-color:#dfe7f0;animation-delay:.22s;top:58%;right:16%;transform:skewY(5deg)}.data-skeleton-bar{transform-origin:bottom;background:#e7eef6;border-radius:3px 3px 0 0;width:6%;animation:1.7s ease-in-out infinite skeleton-bar-rise;position:absolute;bottom:25px}.data-skeleton-bar.one{height:24%;left:18%}.data-skeleton-bar.two{height:38%;animation-delay:.15s;left:38%}.data-skeleton-bar.three{height:28%;animation-delay:.3s;left:62%}.data-skeleton-bar.four{height:44%;animation-delay:.45s;left:82%}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@keyframes skeleton-dot-bounce{0%,70%,to{opacity:.38;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}@keyframes skeleton-soft-pulse{0%,to{opacity:.62}50%{opacity:1}}@keyframes skeleton-line-drift{0%,to{opacity:.5}50%{opacity:1}}@keyframes skeleton-bar-rise{0%,to{opacity:.62;transform:scaleY(.78)}50%{opacity:1;transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){.data-skeleton:before,.data-skeleton-dots span,.data-skeleton-line,.data-skeleton-metric,.data-skeleton-chart-title,.data-skeleton-chart-legend,.data-skeleton-tab,.data-skeleton-filter,.data-skeleton-map-stat,.data-skeleton-map-region,.data-skeleton-map-point,.data-skeleton-map-legend,.data-skeleton-statement-metric,.data-skeleton-statement-row,.data-skeleton-trend,.data-skeleton-bar{animation:none}}@media(max-width:720px){.data-skeleton-chart-page{min-height:520px}.data-skeleton-map-page,.data-skeleton-statement-page{min-height:500px}.data-skeleton-page-frame,.data-skeleton-map-frame,.data-skeleton-statement-frame{padding:12px}.data-skeleton-tabs{overflow:hidden}.data-skeleton-tab{flex:0 0 64px}.data-skeleton-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.data-skeleton-filter:nth-child(3),.data-skeleton-chart-legend.one,.data-skeleton-chart-legend.two{display:none}.data-skeleton-map-summary,.data-skeleton-statement-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.data-skeleton-map-canvas{min-height:300px}}.platform-page{min-height:calc(100vh - var(--ov-topbar-height) - 38px);border:1px solid var(--ov-color-border);background:var(--ov-color-surface);border-radius:6px;align-content:start;gap:0;display:grid;position:relative}.platform-page.platform-page-detail{min-height:calc(100vh - var(--ov-topbar-height) - 38px);background:var(--ov-color-surface);border:0;border-radius:0}.platform-page-header{justify-content:space-between;align-items:center;gap:20px;min-height:104px;padding:20px 24px 16px;display:flex}.platform-page-header h1{color:var(--ov-color-text-strong);letter-spacing:0;margin:3px 0 0;font-size:24px}.platform-page-header>div>p:last-child{color:var(--ov-color-text-muted);margin:7px 0 0;font-size:13px}.platform-page-tabs{border-bottom:1px solid var(--ov-color-border);align-items:end;gap:4px;min-height:44px;padding:0 20px;display:flex}.platform-page-tabs button{min-height:42px;color:var(--ov-color-text-muted);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 12px;font-weight:700;display:inline-flex}.platform-page-tabs button.active{border-bottom-color:var(--ov-color-primary);color:var(--ov-color-primary)}.platform-page-content{min-width:0;padding:22px 24px 32px}.tenant-detail-page{padding-top:0}.tenant-detail-header{border-bottom:1px solid var(--ov-color-border);justify-content:space-between;align-items:center;gap:20px;min-height:96px;display:flex}.tenant-detail-title,.tenant-detail-actions,.tenant-detail-subtitle{align-items:center;display:flex}.tenant-detail-title{gap:12px;min-width:0}.tenant-detail-title>div{min-width:0}.tenant-detail-title h1{overflow-wrap:anywhere;color:var(--ov-color-text-strong);font-size:var(--ov-font-size-page-title);line-height:var(--ov-line-height-page-title);letter-spacing:0;margin:2px 0 0}.tenant-detail-back{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);flex:0 0 32px;place-items:center;width:32px;height:32px;margin:0;padding:0;display:grid}.tenant-detail-back:hover{border-color:var(--ov-color-border-strong);background:var(--ov-color-surface-muted)}.tenant-detail-subtitle{color:var(--ov-color-text-muted);flex-wrap:wrap;gap:8px;margin-top:5px;font-size:12px}.tenant-detail-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px}.tenant-detail-actions button:not(.icon-button){white-space:nowrap}.tenant-overview{border-bottom:1px solid var(--ov-color-border);grid-template-columns:minmax(130px,.7fr) minmax(190px,1fr) minmax(130px,.7fr) minmax(250px,1.25fr);gap:0;margin:0;display:grid}.tenant-overview>div{align-content:start;gap:7px;min-width:0;padding:18px 20px 18px 0;display:grid}.tenant-overview>div+div{border-left:1px solid var(--ov-color-divider);padding-left:20px}.tenant-overview dt{color:var(--ov-color-text-muted);font-size:12px;font-weight:600}.tenant-overview dd{min-width:0;color:var(--ov-color-text-strong);margin:0;font-size:13px;font-weight:650;line-height:20px}.tenant-edit-band{border-bottom:1px solid var(--ov-color-border);background:var(--ov-color-surface-muted);grid-template-columns:minmax(320px,1fr) minmax(280px,1fr);gap:20px;padding:18px;display:grid}.tenant-expiry-summary dd{align-items:flex-start;gap:8px;display:flex}.tenant-expiry-summary dd>svg{flex:none;margin-top:2px}.tenant-expiry-summary dd>span{gap:1px;min-width:0;display:grid}.tenant-expiry-summary dd strong,.tenant-expiry-summary dd small{overflow-wrap:anywhere}.tenant-expiry-summary dd small{color:var(--ov-color-text-muted);font-size:11px;font-weight:500}.tenant-expiry-summary.positive dd>svg{color:var(--ov-color-success)}.tenant-expiry-summary.warning dd>svg,.tenant-expiry-summary.warning dd strong{color:var(--ov-color-warning)}.tenant-expiry-summary.negative dd>svg,.tenant-expiry-summary.negative dd strong{color:var(--ov-color-danger)}.tenant-account-section{padding-top:18px}.tenant-account-section>.platform-section-heading{margin-bottom:12px}.tenant-account-table .platform-table-row{min-height:62px}.tenant-account-table .platform-table-head.account,.tenant-account-table .platform-table-row.account{grid-template-columns:minmax(180px,1.2fr) minmax(220px,1.5fr) minmax(110px,.75fr) 86px 20px}.tenant-account-table .platform-table-row:focus-visible{z-index:1;outline:2px solid var(--ov-color-primary-hover);outline-offset:-2px;position:relative}.tenant-role-tags{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.tenant-role-tags>span{border-radius:var(--ov-radius-sm);background:var(--ov-color-primary-soft);max-width:100%;color:var(--ov-color-primary);white-space:normal;border:1px solid #dbe5f0;align-items:center;padding:2px 6px;font-size:11px;font-weight:650;line-height:17px;display:inline-flex}.tenant-role-tags em{color:var(--ov-color-text-disabled);font-size:12px;font-style:normal}.tenant-scope-label,.tenant-account-table .platform-table-row>.tenant-scope-label{color:var(--ov-color-text)}.platform-table-row>.platform-status.positive{color:var(--ov-color-success)}.platform-table-row>.platform-status.negative{color:var(--ov-color-danger)}.platform-table-row>.platform-status.warning{color:var(--ov-color-warning)}.platform-table-row>.platform-status.neutral{color:var(--ov-color-text-muted)}.platform-province-list.compact>span{gap:5px;padding:4px 7px;font-size:12px}.topbar .icon-button.active{background:var(--ov-color-primary-soft);color:var(--ov-color-primary);box-shadow:inset 0 -2px 0 var(--ov-color-primary-hover)}.platform-page-content>.platform-section-heading{margin-bottom:14px}.platform-page-content .platform-section-heading h2,.platform-detail-header h2{color:var(--ov-color-text-strong);letter-spacing:0;margin:0;font-size:17px}.platform-back{color:var(--ov-color-primary);background:0 0;border:0;align-items:center;gap:6px;margin:-4px 0 16px;padding:4px 0;font-size:13px;font-weight:700;display:inline-flex}.platform-page-content>.platform-detail-header{padding-bottom:18px;position:static}.platform-table{border-top:1px solid var(--ov-color-border);display:grid}.platform-table-head,.platform-table-row{border:0;border-bottom:1px solid var(--ov-color-divider);text-align:left;background:0 0;grid-template-columns:minmax(220px,1.4fr) minmax(160px,1fr) 90px 24px;align-items:center;gap:16px;min-height:58px;padding:9px 8px;display:grid}.platform-table-head{min-height:38px;color:var(--ov-color-text-muted);font-size:12px;font-weight:700}.platform-table-row:hover{background:var(--ov-color-surface-muted)}.platform-table-row>span:first-child{gap:3px;min-width:0;display:grid}.platform-table-row strong,.platform-table-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.platform-table-row strong{color:var(--ov-color-text-strong);font-size:13px}.platform-table-row small,.platform-table-row>span:not(:first-child){color:var(--ov-color-text-muted);font-size:12px}.platform-table-head.account,.platform-table-row.account{grid-template-columns:minmax(170px,1.3fr) minmax(130px,1fr) minmax(110px,.8fr) 78px 24px}.platform-empty-row,.platform-inline-note{color:var(--ov-color-text-muted);font-size:12px}.platform-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px;display:grid}.platform-detail-grid+.platform-account-section{border-top:1px solid var(--ov-color-divider);border-bottom:0}.platform-user-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;display:grid}.platform-scope-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.platform-scope-controls label{color:var(--ov-color-text-strong);gap:6px;font-size:13px;font-weight:700;display:grid}.platform-scope-controls select{border:1px solid var(--ov-color-border-strong);border-radius:var(--ov-radius-md);background:#fff;min-width:0;height:38px;padding:0 10px}.platform-admin-list{border-top:1px solid var(--ov-color-border);display:grid}.platform-admin-row{border-bottom:1px solid var(--ov-color-divider);grid-template-columns:minmax(180px,1fr) minmax(300px,1.4fr) 90px auto;align-items:center;gap:18px;padding:14px 8px;display:grid}.platform-admin-row>div:first-child{gap:3px;display:grid}.platform-admin-row small{color:var(--ov-color-text-muted)}.platform-admin-roles{flex-wrap:wrap;gap:14px;display:flex}.platform-admin-roles label{align-items:center;gap:6px;font-size:13px;display:inline-flex}.platform-dialog-overlay.fixed{z-index:80;position:fixed}@media(max-width:1000px){.platform-detail-grid,.platform-user-editor{grid-template-columns:1fr}.tenant-detail-header{align-items:flex-start;padding:18px 0}.tenant-detail-actions{max-width:430px}.tenant-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-overview>div:nth-child(3){border-left:0}.tenant-overview>div:nth-child(n+3){border-top:1px solid var(--ov-color-divider)}.platform-admin-row{grid-template-columns:minmax(180px,1fr) minmax(240px,1.4fr) auto}.platform-admin-row>.disabled-reason{grid-column:1/-1;justify-self:start}}@media(max-width:720px){.platform-page{min-height:calc(100vh - var(--ov-topbar-height) - 24px)}.platform-page-header,.platform-detail-header{align-items:flex-start}.platform-page-header{padding:18px 16px 14px}.platform-page-header h1{font-size:20px}.platform-page-tabs,.platform-page-content{padding-left:14px;padding-right:14px}.tenant-detail-page{padding-top:0;padding-bottom:24px}.tenant-detail-header{gap:14px;min-height:0;padding:16px 0;display:grid}.tenant-detail-title{align-items:flex-start}.tenant-detail-title h1{font-size:20px;line-height:28px}.tenant-detail-actions{justify-content:flex-start;width:100%;max-width:none}.tenant-detail-actions .disabled-reason{flex:0 auto}.tenant-overview,.tenant-edit-band{grid-template-columns:1fr}.tenant-overview>div,.tenant-overview>div+div{border-top:1px solid var(--ov-color-divider);border-left:0;padding:13px 0}.tenant-overview>div:first-child{border-top:0}.tenant-edit-band{gap:14px;margin:0 -14px;padding:16px 14px}.platform-table{overflow-x:auto}.platform-table-head,.platform-table-row{min-width:680px}.tenant-account-table{overflow:visible}.tenant-account-table .platform-table-head{display:none}.tenant-account-table .platform-table-row.account{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;min-width:0;padding:12px 4px}.tenant-account-table .platform-table-row.account>span:first-child{grid-area:1/1}.tenant-account-table .platform-table-row.account>.tenant-role-tags{grid-area:2/1/auto/-1}.tenant-account-table .platform-table-row.account>.tenant-scope-label{grid-area:3/1}.tenant-account-table .platform-table-row.account>.platform-status{grid-area:1/2;justify-self:end}.tenant-account-table .platform-table-row.account>svg{grid-area:3/2;justify-self:end}.platform-scope-controls,.platform-field-grid{grid-template-columns:1fr}.platform-admin-row{grid-template-columns:1fr auto}.platform-admin-roles{grid-column:1/-1}}.chart.compact{height:126px}.chart.tall{height:280px}.right-stack .chart-card{padding:11px}.insight-card{padding:12px}.insight-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}.decision-line{border-radius:var(--ov-radius-md);color:var(--ov-color-text-strong);background:#f8fbff;margin-bottom:8px;padding:8px 9px;font-size:13px;font-weight:650;line-height:18px}.insight-list{gap:5px;display:grid}.insight-item{border-radius:var(--ov-radius-md);color:inherit;text-align:left;background:#fafcff;border:0;grid-template-columns:3px minmax(0,1fr);gap:9px;padding:7px 8px;display:grid}.insight-item:hover{background:var(--ov-color-primary-soft)}.insight-dot{border-radius:999px;width:3px;height:100%;min-height:32px;margin-top:0}.insight-dot.success{background:var(--ov-color-success)}.insight-dot.warning{background:var(--ov-color-warning)}.insight-dot.danger{background:var(--ov-color-danger)}.insight-kicker{color:var(--ov-color-text-muted);font-size:12px}.insight-item strong{color:var(--ov-color-text-strong);margin-top:2px;font-size:13px;display:block}.insight-item p{color:var(--ov-color-text-muted);margin:2px 0 0;font-size:11px;line-height:15px}.badge-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.badge{border-radius:999px;align-items:center;gap:6px;min-height:24px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.badge.info{background:var(--ov-color-info-soft);color:var(--ov-color-info)}.badge.success{background:var(--ov-color-success-soft);color:var(--ov-color-success)}.badge.warning{background:var(--ov-color-warning-soft);color:var(--ov-color-warning)}.badge.danger{background:var(--ov-color-danger-soft);color:var(--ov-color-danger)}.risk-notice{border-radius:var(--ov-radius-lg);background:var(--ov-color-warning-soft);color:#92400e;border:1px solid #fed7aa;gap:10px;padding:10px 11px;display:flex}.risk-notice.acknowledged{background:var(--ov-color-success-soft);color:var(--ov-color-success);border-color:#99f6e4}.risk-notice strong{color:#78350f;margin-bottom:3px;display:block}.risk-notice p{margin:0;font-size:13px;line-height:20px}.notice-action{border-radius:var(--ov-radius-md);color:#92400e;background:#fff;border:1px solid #d9770652;height:28px;margin-top:10px;padding:0 10px;font-size:12px;font-weight:700}.risk-notice.acknowledged .notice-action{color:var(--ov-color-success);border-color:#0f766e52}.detail-drawer{z-index:30;border-left:1px solid var(--ov-color-border);background:var(--ov-color-surface);width:min(360px,100vw);height:100vh;box-shadow:var(--ov-shadow-popover);padding:18px;position:fixed;top:0;right:0}.detail-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.detail-kicker{color:var(--ov-color-text-muted);margin:0 0 4px;font-size:12px}.detail-header h2{color:var(--ov-color-text-strong);margin:0;font-size:18px}.detail-metric{color:var(--ov-color-text-strong);font-variant-numeric:tabular-nums;margin-top:18px;font-size:32px;font-weight:800}.detail-metric span{color:var(--ov-color-text-muted);margin-left:7px;font-size:13px;font-weight:600}.detail-list{gap:8px;margin-top:18px;display:grid}.detail-row{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);color:var(--ov-color-text);grid-template-columns:8px minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px;font-size:13px;display:grid}.detail-row span{background:var(--ov-color-accent);border-radius:999px;width:8px;height:8px}.drawer-action{justify-content:center;width:100%;margin-top:18px}.modal-backdrop{z-index:50;background:#0f172a6b;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.forecast-dialog{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);width:min(1500px,100vw - 64px);max-height:calc(100vh - 64px);box-shadow:var(--ov-shadow-popover);grid-template-rows:auto auto minmax(260px,.92fr) minmax(168px,.72fr);display:grid;overflow:hidden}.modal-header{border-bottom:1px solid var(--ov-color-divider);justify-content:space-between;align-items:center;min-width:0;min-height:56px;padding:0 20px 0 24px;display:flex}.modal-header h2{color:var(--ov-color-text-strong);margin:0;font-size:18px;font-weight:700;line-height:26px}.modal-toolbar{border-bottom:1px solid var(--ov-color-divider);flex-wrap:wrap;align-items:center;gap:10px;min-width:0;padding:12px 24px;display:flex}.modal-spacer{flex:auto}.forecast-update{color:var(--ov-color-text);white-space:nowrap;font-size:13px}.modal-chart{width:100%;min-width:0;min-height:0;padding:14px 24px 4px}.forecast-table-wrap{border:1px solid var(--ov-color-divider);border-radius:var(--ov-radius-lg);min-width:0;min-height:0;margin:10px 24px 20px;overflow:auto}.forecast-table{border-collapse:collapse;width:100%;min-width:920px;color:var(--ov-color-text);font-variant-numeric:tabular-nums;font-size:13px}.forecast-table th,.forecast-table td{border-bottom:1px solid var(--ov-color-divider);text-align:right;white-space:nowrap;height:42px;padding:0 14px}.forecast-table th{z-index:1;background:var(--ov-color-surface-muted);color:var(--ov-color-text-strong);font-weight:700;position:sticky;top:0}.forecast-table th:first-child,.forecast-table td:first-child{text-align:left}.spot-price-page{margin-top:12px}.spot-workspace{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);min-width:0;box-shadow:var(--ov-shadow-card);overflow:hidden}.spot-workspace-header{border-bottom:1px solid var(--ov-color-divider);justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:0 12px;display:flex}.spot-tabs{align-self:stretch;align-items:flex-end;min-width:0;display:flex;overflow-x:auto}.spot-tab{border:0;border-right:1px solid var(--ov-color-divider);min-width:max-content;height:48px;color:var(--ov-color-text);background:0 0;padding:0 16px;font-size:14px}.spot-tab:first-child{border-left:1px solid var(--ov-color-divider)}.spot-tab.active{background:var(--ov-color-surface);color:var(--ov-color-primary);box-shadow:inset 0 2px 0 var(--ov-color-primary);font-weight:700}.spot-action-bar{flex:none;align-items:center;gap:6px;display:flex}.ov-filter-bar{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface-muted);flex-wrap:wrap;align-items:flex-end;gap:12px;min-width:0;padding:10px 12px;display:flex}.ov-filter-main{flex:620px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:12px;min-width:0;display:grid}.ov-filter-trailing{border-left:1px solid var(--ov-color-divider);flex:0 auto;justify-content:flex-end;align-items:flex-end;gap:14px;min-height:34px;margin-left:auto;padding-left:14px;display:inline-flex}.ov-filter-meta{align-items:center;min-height:34px;display:inline-flex}.ov-filter-extra{flex:1 0 100%;min-width:0}.spot-filter-bar{margin:12px 16px 0}.spot-filter-bar .ov-filter-main{grid-template-columns:minmax(165px,1.15fr) minmax(130px,.9fr) minmax(155px,1fr) minmax(130px,.9fr) minmax(130px,.9fr) minmax(150px,1fr)}.spot-filter-bar.trend .ov-filter-main{grid-template-columns:minmax(110px,.8fr) minmax(140px,1fr) minmax(140px,1fr) minmax(140px,1fr) minmax(220px,1fr)}.ov-filter-field{min-width:0;color:var(--ov-color-text-muted);gap:5px;font-size:12px;font-weight:700;display:grid}.ov-filter-select{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface);width:100%;min-width:0;height:34px;color:var(--ov-color-text-strong);outline:none;padding:0 10px}.ov-filter-select option{color:var(--ov-color-text-strong)}.ov-filter-select:focus-visible,.spot-multi-trigger:focus-visible{border-color:var(--ov-color-primary-hover);box-shadow:var(--ov-shadow-focus)}.ov-filter-field.multi{position:relative}.spot-multi-select{min-width:0;position:relative}.spot-multi-trigger{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface);width:100%;min-width:0;height:34px;color:var(--ov-color-text-strong);text-align:left;outline:none;justify-content:space-between;align-items:center;gap:8px;padding:0 8px 0 10px;font-size:13px;display:flex}.spot-multi-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spot-multi-panel{z-index:20;border:1px solid var(--ov-color-border-strong);border-radius:var(--ov-radius-md);background:var(--ov-color-surface);width:min(240px,70vw);color:var(--ov-color-text);box-shadow:var(--ov-shadow-popover);position:absolute;top:calc(100% + 2px);left:0;overflow:hidden}.spot-multi-search{background:#fff;border-bottom:1px solid #0f766e3d;grid-template-columns:minmax(0,1fr) 24px;align-items:center;height:28px;display:grid}.spot-multi-search input{width:100%;height:100%;color:var(--ov-color-text-strong);background:0 0;border:0;padding:0 6px}.spot-multi-search button{width:24px;height:24px;color:var(--ov-color-text-muted);background:0 0;border:0;place-items:center;display:grid}.spot-multi-options{max-height:520px;padding:4px 0;display:grid;overflow:auto}.spot-multi-option{min-height:20px;color:var(--ov-color-text);grid-template-columns:20px minmax(0,1fr);align-items:center;gap:4px;padding:0 7px;font-size:13px;font-weight:600;display:grid}.spot-multi-option input{width:14px;height:14px;accent-color:var(--ov-color-primary)}.spot-multi-option span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spot-trend-legend{color:var(--ov-color-text);justify-content:flex-end;align-items:center;gap:26px;font-size:13px;font-weight:700;display:flex}.spot-trend-legend span{align-items:center;gap:7px;display:inline-flex}.legend-swatch{width:13px;height:13px;display:inline-block}.legend-swatch.day-ahead{background:#0ea5e9}.legend-swatch.realtime{background:#f05b5b}.spot-intraday-layout{grid-template-columns:minmax(0,1fr) 160px;gap:0;padding:8px 16px 16px;display:grid}.spot-price-chart{width:100%;min-width:0}.intraday-price-table{background:#f8fafcb8;border:1px dashed #64748b;align-self:stretch;overflow:auto}.intraday-price-table table{border-collapse:collapse;width:100%;color:var(--ov-color-text);font-variant-numeric:tabular-nums;font-size:12px}.intraday-price-table th,.intraday-price-table td{text-align:right;border-bottom:1px dashed #64748b;border-right:1px dashed #64748b;height:22px;padding:0 7px}.intraday-price-table th{color:var(--ov-color-text-strong);font-weight:600}.intraday-price-table thead th{background:var(--ov-color-surface-muted)}.intraday-price-table th:first-child{text-align:center}.intraday-price-table .summary-row th,.intraday-price-table .summary-row td{background:#f8fafc;font-weight:700}.spot-trend-stack{gap:14px;padding:14px 16px 16px;display:grid}.spot-trend-chart-block{min-width:0}.spot-trend-chart-block h2{color:var(--ov-color-text-strong);margin:0 0 8px;font-size:16px;font-weight:700}.spot-trend-chart{width:100%;min-width:0}.panel-card-header{border-bottom:1px solid var(--ov-color-divider);justify-content:space-between;align-items:center;min-height:42px;padding:0 14px;display:flex}.panel-card-header h2{color:var(--ov-color-text-strong);letter-spacing:0;align-items:center;gap:7px;margin:0;font-size:15px;font-weight:700;display:inline-flex}.model-comparison-page{min-width:0}.model-comparison-workspace{gap:12px;min-width:0;display:grid}.model-comparison-tabs{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface-muted);min-width:0;box-shadow:var(--ov-shadow-card);overflow:hidden auto}.model-comparison-tab-panel{gap:12px;min-width:0;display:grid}.model-comparison-chart-card,.model-comparison-table-panel,.model-comparison-backtest-panel,.model-strategy-matrix-panel,.manual-forecast-panel{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);min-width:0;box-shadow:var(--ov-shadow-card)}.model-comparison-card-header{border-bottom:1px solid var(--ov-color-divider);justify-content:space-between;align-items:center;min-height:42px;padding:0 14px;display:flex}.model-comparison-card-header h2{color:var(--ov-color-text-strong);letter-spacing:0;align-items:center;gap:7px;margin:0;font-size:15px;font-weight:700;display:inline-flex}.model-comparison-table-toggle{border:0;border-bottom:1px solid var(--ov-color-divider);width:100%;min-height:42px;color:var(--ov-color-text-strong);letter-spacing:0;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;font-size:15px;font-weight:700;display:flex}.model-comparison-table-toggle svg{color:var(--ov-color-text-muted);flex:none;transition:transform .16s}.model-comparison-table-toggle svg.open{transform:rotate(180deg)}.model-comparison-table-toggle:hover,.model-comparison-table-toggle:focus-visible{color:var(--ov-color-primary);outline:none}.model-comparison-table-toggle:focus-visible{box-shadow:inset var(--ov-shadow-focus)}.model-backtest-disclosure{border-bottom:1px solid var(--ov-color-divider);color:var(--ov-color-text-muted);margin:0;padding:10px 14px;font-size:12px;line-height:1.55}.model-comparison-chart{width:100%;min-width:0}.model-comparison-table-filters,.model-backtest-filters{z-index:5;border-bottom:1px solid var(--ov-color-divider);gap:10px;padding:10px 14px;display:grid;position:relative}.model-comparison-filter-dropdowns{flex-wrap:wrap;gap:8px;display:flex}.model-comparison-filter-dropdown{position:relative}.model-comparison-filter-trigger{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-sm);background:var(--ov-color-surface);min-height:32px;color:var(--ov-color-text-strong);cursor:pointer;padding:0 12px;font-size:12px;font-weight:700}.model-comparison-filter-trigger:hover,.model-comparison-filter-trigger:focus-visible{border-color:var(--ov-color-primary);color:var(--ov-color-primary)}.model-comparison-filter-menu{z-index:10;border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface);max-height:300px;box-shadow:var(--ov-shadow-card);gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);left:0;overflow:auto}.model-comparison-filter-menu-date{width:220px}.model-comparison-filter-menu-hour,.model-comparison-filter-menu-model,.model-comparison-filter-menu-strategy{width:min(360px,100vw - 32px)}.model-comparison-filter-options,.model-comparison-hour-options{flex-wrap:wrap;gap:6px;display:flex}.model-comparison-hour-options{grid-template-columns:repeat(4,minmax(70px,1fr));display:grid}.model-comparison-filter-option{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-sm);background:var(--ov-color-surface-muted);min-height:28px;color:var(--ov-color-text);white-space:nowrap;align-items:center;gap:5px;padding:4px 8px;font-size:12px;display:inline-flex}.model-comparison-filter-option.compact{justify-content:center}.model-comparison-filter-option input{margin:0}.model-comparison-filter-actions{gap:6px;display:inline-flex}.model-comparison-filter-actions button{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-sm);background:var(--ov-color-surface);min-height:28px;color:var(--ov-color-text);cursor:pointer;padding:0 10px;font-size:12px}.model-comparison-filter-actions button:hover,.model-comparison-filter-actions button:focus-visible{border-color:var(--ov-color-primary);color:var(--ov-color-primary)}.model-comparison-table-wrap{border-radius:var(--ov-radius-lg);max-height:360px;overflow:auto}.model-comparison-table{border-collapse:collapse;width:100%;min-width:980px;color:var(--ov-color-text);font-variant-numeric:tabular-nums;font-size:12px}.model-comparison-table th,.model-comparison-table td{border-bottom:1px solid var(--ov-color-divider);border-right:1px solid var(--ov-color-divider);text-align:right;white-space:nowrap;height:36px;padding:0 14px}.model-comparison-table th{color:var(--ov-color-text-strong);font-weight:700}.model-comparison-table thead th{z-index:1;background:var(--ov-color-surface-muted);position:sticky;top:0}.model-comparison-table th:first-child{z-index:2;background:var(--ov-color-surface-muted);text-align:center;min-width:124px;position:sticky;left:0}.model-comparison-table tbody th:first-child{background:var(--ov-color-surface)}.model-backtest-detail-wrap{max-height:300px}.model-backtest-detail-table{min-width:1200px}.model-backtest-group-cell{background:var(--ov-color-surface-muted);color:var(--ov-color-text-strong);text-align:left;vertical-align:top;font-weight:700}.model-strategy-matrix-range{color:var(--ov-color-text-muted);font-variant-numeric:tabular-nums;font-size:12px}.model-strategy-matrix-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;display:flex}.model-strategy-granularity{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-sm);background:var(--ov-color-surface);display:inline-flex;overflow:hidden}.model-strategy-granularity-button{border:0;border-right:1px solid var(--ov-color-border);min-width:48px;color:var(--ov-color-text-muted);letter-spacing:0;cursor:pointer;background:0 0;padding:7px 12px;font-size:12px;font-weight:700}.model-strategy-granularity-button:last-child{border-right:0}.model-strategy-granularity-button.active,.model-strategy-granularity-button[aria-pressed=true]{background:var(--ov-color-accent-soft);color:var(--ov-color-accent-strong)}.model-strategy-period-select{color:var(--ov-color-text-muted);align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.model-strategy-period-select select{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-sm);background:var(--ov-color-surface);min-width:180px;color:var(--ov-color-text);font-variant-numeric:tabular-nums;padding:7px 10px;font-size:12px}.model-strategy-matrix-wrap{overflow:auto}.model-strategy-matrix-table{border-collapse:collapse;width:100%;min-width:860px;color:var(--ov-color-text);font-variant-numeric:tabular-nums;font-size:12px}.model-strategy-matrix-table th,.model-strategy-matrix-table td{border-bottom:1px solid var(--ov-color-divider);border-right:1px solid var(--ov-color-divider);text-align:right;vertical-align:middle;min-height:56px;padding:10px 14px}.model-strategy-matrix-table thead th{z-index:1;background:var(--ov-color-surface-muted);color:var(--ov-color-text-strong);font-weight:700;position:sticky;top:0}.model-strategy-matrix-table th:first-child{z-index:2;background:var(--ov-color-surface-muted);text-align:left;min-width:180px;position:sticky;left:0}.model-strategy-matrix-table tbody th:first-child{background:var(--ov-color-surface)}.model-strategy-matrix-source-name,.model-strategy-matrix-source-type,.model-strategy-matrix-cell{gap:4px;display:grid}.model-strategy-matrix-source-name{color:var(--ov-color-text-strong);font-weight:700}.model-strategy-matrix-source-type,.model-strategy-matrix-muted,.model-strategy-matrix-cell span{color:var(--ov-color-text-muted);font-size:11px;font-weight:500}.model-strategy-matrix-cell{justify-items:end}.model-strategy-matrix-cell strong{color:var(--ov-color-text-strong);letter-spacing:0;font-size:18px;font-weight:800}.manual-forecast-header{gap:12px}.manual-forecast-controls{border-bottom:1px solid var(--ov-color-divider);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px 14px;display:flex}.manual-forecast-horizons{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface-muted);align-items:center;gap:4px;min-height:34px;padding:3px;display:inline-flex}.manual-forecast-status{border-radius:var(--ov-radius-md);color:#0f766e;background:#f0fdfacc;border:1px solid #0f766e33;margin:10px 14px 0;padding:8px 10px;font-size:12px;font-weight:700}.manual-forecast-table-wrap{border-radius:0 0 var(--ov-radius-lg) var(--ov-radius-lg);max-height:320px;overflow:auto}.manual-forecast-table{border-collapse:collapse;width:100%;min-width:720px;color:var(--ov-color-text);font-variant-numeric:tabular-nums;font-size:12px}.manual-forecast-table th,.manual-forecast-table td{border-bottom:1px solid var(--ov-color-divider);border-right:1px solid var(--ov-color-divider);text-align:right;white-space:nowrap;height:36px;padding:0 12px}.manual-forecast-table th{color:var(--ov-color-text-strong);font-weight:700}.manual-forecast-table thead th{z-index:1;background:var(--ov-color-surface-muted);position:sticky;top:0}.manual-forecast-table th:first-child{z-index:2;background:var(--ov-color-surface-muted);text-align:center;min-width:104px;position:sticky;left:0}.manual-forecast-table tbody th:first-child{background:var(--ov-color-surface)}.manual-forecast-input{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-sm);background:var(--ov-color-surface);width:112px;height:28px;color:var(--ov-color-text);text-align:right;font:inherit;padding:0 8px}.manual-forecast-input:focus{border-color:var(--ov-color-primary);outline:2px solid #2563eb2e}.bi-province-page{min-width:0;margin-top:12px}.bi-page-body{gap:14px;padding:14px;display:grid}.rpm-filter-panel{border-bottom:1px solid var(--ov-color-divider);background:var(--ov-color-surface-muted);gap:6px;padding:10px 12px;display:grid}.rpm-filter-panel .inline-filter{justify-content:flex-start}.rpm-multi-field{position:relative}.rpm-multi-field.wide{min-width:260px}.rpm-multi-select{min-width:0;position:relative}.rpm-multi-trigger{border:1px solid var(--ov-color-border-strong);border-radius:var(--ov-radius-md);background:var(--ov-color-surface);width:100%;min-width:132px;height:32px;color:var(--ov-color-text-strong);text-align:left;outline:none;justify-content:space-between;align-items:center;gap:8px;padding:0 9px 0 12px;font-size:13px;font-weight:600;display:inline-flex}.rpm-multi-trigger.wide{min-width:260px}.rpm-multi-trigger:hover{border-color:var(--ov-color-primary-hover)}.rpm-multi-trigger:focus-visible{border-color:var(--ov-color-primary-hover);box-shadow:var(--ov-shadow-focus)}.rpm-multi-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rpm-multi-panel{z-index:30;border:1px solid var(--ov-color-border-strong);border-radius:var(--ov-radius-md);background:var(--ov-color-surface);width:min(220px,74vw);box-shadow:var(--ov-shadow-popover);position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.rpm-multi-panel.wide{width:min(340px,78vw)}.rpm-multi-search{border-bottom:1px solid var(--ov-color-divider);background:var(--ov-color-surface);grid-template-columns:minmax(0,1fr) 26px;align-items:center;height:32px;display:grid}.rpm-multi-search input{width:100%;height:100%;color:var(--ov-color-text-strong);background:0 0;border:0;outline:none;padding:0 9px;font-size:13px}.rpm-multi-search button{width:26px;height:26px;color:var(--ov-color-text-muted);background:0 0;border:0;place-items:center;display:grid}.rpm-multi-options{max-height:224px;padding:4px;display:grid;overflow:auto}.rpm-multi-option{border-radius:var(--ov-radius-sm);min-height:30px;color:var(--ov-color-text);grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;padding:0 8px 0 6px;font-size:13px;font-weight:600;display:grid}.rpm-multi-option:hover{background:var(--ov-color-primary-soft)}.rpm-multi-option input{appearance:none;border:1px solid var(--ov-color-border-strong);background:var(--ov-color-surface);border-radius:4px;place-items:center;width:14px;height:14px;margin:0;display:grid}.rpm-multi-option input:checked{border-color:var(--ov-color-primary);background:var(--ov-color-primary)}.rpm-multi-option input:checked:after{border:solid var(--ov-color-surface);content:"";border-width:0 2px 2px 0;width:4px;height:8px;margin-top:-1px;transform:rotate(45deg)}.rpm-multi-option input:focus-visible{box-shadow:var(--ov-shadow-focus);outline:none}.rpm-multi-option span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rpm-multi-empty{color:var(--ov-color-text-muted);padding:8px;font-size:13px}.rpm-multi-actions{border-top:1px solid var(--ov-color-divider);background:var(--ov-color-surface-muted);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.rpm-multi-actions button{border-radius:var(--ov-radius-sm);height:26px;color:var(--ov-color-primary);background:0 0;border:0;padding:0 8px;font-size:12px;font-weight:700}.rpm-multi-actions button:hover:not(:disabled){background:var(--ov-color-primary-soft)}.rpm-multi-actions button:disabled{color:var(--ov-color-text-disabled)}.rpm-context-with-sync{align-items:center;gap:6px;display:inline-flex}.rpm-context-sync-icon{width:14px;height:14px;color:var(--ov-color-info);opacity:0;place-items:center;display:inline-grid}.rpm-context-sync-icon[data-visible=true]{opacity:1}.bi-page-headerline,.bi-province-context{color:var(--ov-color-text-muted);white-space:nowrap;font-size:13px}.bi-page-headerline{margin-bottom:10px}.rolling-advice-note{border-radius:var(--ov-radius-md);color:var(--ov-color-text);background:#eff6ffb8;border:1px solid #2563eb2e;margin:0 14px 12px;padding:10px 12px;font-size:13px;font-weight:600;line-height:20px;display:block}.rpm-value-trend{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);min-width:0;box-shadow:var(--ov-shadow-card);overflow:hidden}.rpm-value-trend-header{border-bottom:1px solid var(--ov-color-border);padding:12px 14px}.rpm-value-trend-header h2{color:var(--ov-color-text-strong);margin:0;font-size:15px;font-weight:800}.rpm-profit-panel{margin-bottom:14px}.rpm-profit-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;display:grid}.rpm-profit-summary-card{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface-muted);gap:6px;min-width:0;padding:12px;display:grid}.rpm-profit-summary-card span{color:var(--ov-color-text-muted);font-size:12px;font-weight:700;line-height:18px}.rpm-profit-summary-card strong{overflow-wrap:anywhere;color:var(--ov-color-text-strong);font-variant-numeric:tabular-nums;font-size:20px;font-weight:850;line-height:26px}.rpm-profit-summary-card small{color:var(--ov-color-text-muted);font-size:11px;line-height:16px}.rpm-value-trend-grid{gap:0;display:grid;overflow-x:auto}.rpm-value-trend-row{border-bottom:1px solid var(--ov-color-divider);min-width:700px;color:var(--ov-color-text);font-variant-numeric:tabular-nums;grid-template-columns:120px repeat(4,minmax(132px,1fr));font-size:12px;display:grid}.rpm-value-trend-row:last-child{border-bottom:0}.rpm-value-trend-row strong,.rpm-value-trend-row span{gap:5px;min-width:0;padding:10px 12px;display:grid}.rpm-value-trend-row strong{color:var(--ov-color-text-strong);align-content:center;font-weight:800}.rpm-value-trend-column-header{background:var(--ov-color-surface-muted);color:var(--ov-color-text-muted);font-size:11px;font-weight:800}.rpm-value-trend-column-header span{align-content:center;min-height:34px}.rpm-value-trend-cell{color:var(--ov-color-text);font-weight:700}.rpm-value-trend-cell b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rpm-value-trend-cell i{border-radius:var(--ov-radius-pill);background:var(--ov-chart-day-ahead-price);height:4px;display:block}.rpm-value-trend-row .rpm-value-trend-cell:nth-child(3) i{background:var(--ov-chart-neutral-series)}.rpm-value-trend-row .rpm-value-trend-cell:nth-child(4) i{background:var(--ov-color-success)}.rpm-value-trend-row .rpm-value-trend-cell:nth-child(5) i{background:var(--ov-chart-forecast-price)}.rpm-value-trend-cell[data-negative=true] i{background:var(--ov-color-danger)}.rpm-value-trend-empty{color:var(--ov-color-text-muted);padding:16px;font-size:13px}@media(max-width:900px){.rpm-profit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.rpm-profit-summary{grid-template-columns:1fr}}.rpm-ranking-note{border-radius:var(--ov-radius-md);background:var(--ov-color-warning-soft);color:var(--ov-color-text);border:1px solid #d977063d;padding:10px 12px;font-size:13px;font-weight:600;line-height:20px}.trading-cockpit-page{gap:14px;min-width:0;display:grid}.cockpit-title-strip{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);box-shadow:var(--ov-shadow-card);background:linear-gradient(135deg,#fff,#f8fafc 58%,#ecfeff);justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.cockpit-title-strip h2{color:var(--ov-color-text-strong);margin:3px 0 0;font-size:18px;font-weight:800;line-height:26px}.cockpit-kicker{color:var(--ov-color-primary-hover);font-size:12px;font-weight:800}.cockpit-freshness{border-radius:var(--ov-radius-md);height:32px;color:var(--ov-color-text);background:#eff6ffbd;border:1px solid #2563eb29;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.cockpit-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.cockpit-metric-card.neutral:after{background:#64748b6b}.cockpit-main-grid{grid-template-columns:minmax(0,1.24fr) minmax(340px,.76fr);align-items:stretch;gap:14px;display:grid}.cockpit-secondary-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(300px,.72fr);align-items:stretch;gap:14px;display:grid}.station-map-panel,.cockpit-ranking-panel{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);min-width:0;box-shadow:var(--ov-shadow-card);padding:12px 13px}.station-map-canvas{border-radius:var(--ov-radius-md);color:#e2e8f0;background:linear-gradient(90deg,#2563eb12 1px,#0000 1px) 0 0/28px 28px,linear-gradient(#2563eb12 1px,#0000 1px) 0 0/28px 28px,linear-gradient(145deg,#0f172a,#172554 52%,#0f766e);border:1px solid #2563eb26;place-items:center;min-height:280px;display:grid;position:relative;overflow:hidden}.station-map-chart-wrap{position:absolute;inset:0}.station-map-chart{width:100%;height:100%}.station-map-grid{border:1px solid #e2e8f042;border-radius:48% 52% 50% 44%;position:absolute;inset:34px 42px;transform:rotate(-8deg)}.station-map-grid:before,.station-map-grid:after{content:"";border:1px solid #e2e8f02e;position:absolute}.station-map-grid:before{border-radius:42% 58% 44% 54%;inset:16% 22% 18% 14%}.station-map-grid:after{border-radius:58% 42% 52% 46%;inset:34% 12% 26% 38%}.station-map-empty{z-index:1;border-radius:var(--ov-radius-lg);text-align:center;background:#0f172ab8;border:1px solid #e2e8f02e;justify-items:center;gap:8px;max-width:260px;padding:18px;display:grid;position:relative}.station-map-empty strong{color:#fff;font-size:15px;line-height:22px}.station-map-empty span{color:#cbd5e1;font-size:12px;font-weight:700}.station-map-points{z-index:1;position:absolute;inset:0}.station-map-point{color:#fff;cursor:pointer;background:#22d3ee33;border:1px solid #ffffffb8;border-radius:999px;place-items:center;width:22px;height:22px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #22d3ee1f,0 12px 26px #0891b252}.station-map-point span{background:#22d3ee;border-radius:999px;width:9px;height:9px;display:block;box-shadow:0 0 14px #22d3eed6}.station-map-point:focus-visible{outline-offset:3px;outline:2px solid #fff}.station-map-list{gap:8px;margin-top:10px;display:grid}.station-map-row{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface-muted);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.station-map-row strong,.station-map-row span,.station-map-row b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.station-map-row strong{color:var(--ov-color-text-strong);font-size:13px}.station-map-row span{color:var(--ov-color-text-muted);font-size:12px;font-weight:700}.station-map-row b{color:var(--ov-color-primary-hover);font-variant-numeric:tabular-nums;font-size:12px}.cockpit-panel-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.cockpit-panel-header h2{color:var(--ov-color-text-strong);align-items:center;gap:8px;margin:0;font-size:15px;font-weight:800;display:flex}.cockpit-panel-header span{color:var(--ov-color-text-muted);font-size:12px;font-weight:700}.cockpit-ranking-list{gap:8px;display:grid}.cockpit-ranking-row{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface-muted);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;display:grid}.cockpit-rank-no{border-radius:var(--ov-radius-md);background:var(--ov-color-primary-soft);width:28px;height:28px;color:var(--ov-color-primary-hover);place-items:center;font-size:13px;font-weight:850;display:grid}.cockpit-ranking-row strong,.cockpit-ranking-row span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.cockpit-ranking-row strong{color:var(--ov-color-text-strong);font-size:13px}.cockpit-ranking-row span{color:var(--ov-color-text-muted);font-size:12px}.cockpit-ranking-row b{color:var(--ov-color-text-strong);font-variant-numeric:tabular-nums;font-size:16px}.cockpit-empty-text{color:var(--ov-color-text-muted);margin:0;font-size:13px;font-weight:700}@media(max-width:1100px){.cockpit-main-grid,.cockpit-secondary-grid{grid-template-columns:1fr}.cockpit-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.cockpit-title-strip,.cockpit-panel-header{flex-direction:column;align-items:flex-start}.cockpit-metric-grid{grid-template-columns:1fr}.station-map-canvas{min-height:240px}.station-map-row{grid-template-columns:1fr}}.station-operation-page{gap:14px;min-width:0;display:grid}.station-operation-page-header{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.station-operation-page-header h1{color:var(--ov-color-text-strong);margin:0;font-size:22px;font-weight:700;line-height:30px}.station-operation-page-header p{color:var(--ov-color-text-muted);margin:2px 0 0;font-size:13px;line-height:20px}.station-operation-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:8px;min-width:0;display:flex}.station-operation-header-actions label{color:var(--ov-color-text);align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.station-operation-header-actions label svg{color:var(--ov-color-text-muted)}.station-operation-header-actions input,.station-operation-header-actions select{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-sm);background:var(--ov-color-surface);height:32px;color:var(--ov-color-text);font:inherit;padding:0 10px}.station-operation-header-actions input{min-width:134px}.station-operation-header-actions select{min-width:150px}.station-operation-date-range{min-width:0}.station-operation-date-controls{min-width:0;color:var(--ov-color-text-muted);grid-template-columns:minmax(134px,1fr) auto minmax(134px,1fr);align-items:center;gap:6px;font-weight:600;display:inline-grid}.station-operation-secondary-action{border-radius:var(--ov-radius-sm);background:var(--ov-color-primary);color:var(--ov-color-text);border:0;border:1px solid var(--ov-color-border);background:var(--ov-color-surface);justify-content:center;align-items:center;gap:8px;min-width:84px;height:32px;font-size:13px;font-weight:850;display:inline-flex}.station-operation-secondary-action:hover{border-color:var(--ov-color-border-strong);background:var(--ov-color-surface-muted)}.station-operation-layout{grid-template-columns:minmax(300px,.38fr) minmax(0,1fr);align-items:start;gap:14px;min-width:0;display:grid}.station-operation-analysis-rail,.station-operation-workspace{gap:14px;min-width:0;display:grid}.station-operation-analysis-rail{align-content:start}.station-operation-workspace{align-content:stretch}.station-operation-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0;display:grid}.station-operation-metric{min-width:0;min-height:92px}.station-operation-metric.neutral:after{background:#64748b6b}.station-operation-metric .metric-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.station-operation-metric .metric-unit{flex:none}.station-operation-lower-grid{grid-template-columns:minmax(0,1.02fr) minmax(320px,.72fr);align-items:stretch;gap:14px;min-width:0;display:grid}.station-operation-price-stack{grid-template-rows:minmax(0,1fr);gap:14px;min-width:0;display:grid}.station-operation-layout .chart-card{min-width:0}.station-operation-rail-chart{min-height:196px}.station-operation-spot-detail,.station-operation-rail-chart,.station-operation-price-chart{background:0 0}.station-operation-table{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);min-width:0;box-shadow:var(--ov-shadow-card);padding:12px 13px;overflow:hidden}.station-operation-table table{border-collapse:collapse;width:100%;font-size:13px}.station-operation-table th,.station-operation-table td{border-bottom:1px solid var(--ov-color-divider);text-align:right;padding:10px 12px}.station-operation-table th:first-child,.station-operation-table td:first-child{text-align:left}.station-operation-table th{color:var(--ov-color-text-strong);font-weight:850}.station-operation-table td{color:var(--ov-color-text);font-variant-numeric:tabular-nums}.station-operation-table tbody tr:last-child td{border-bottom:0}@media(max-width:1280px){.station-operation-layout{grid-template-columns:1fr}.station-operation-analysis-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1180px){.station-operation-lower-grid{grid-template-columns:1fr}.station-operation-price-stack{grid-template-rows:none;grid-template-columns:1fr}.station-operation-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.station-operation-page-header,.station-operation-header-actions{flex-direction:column;align-items:stretch}.station-operation-header-actions label,.station-operation-header-actions input,.station-operation-header-actions select,.station-operation-header-actions button,.station-operation-date-controls{width:100%}.station-operation-date-controls,.station-operation-overview,.station-operation-analysis-rail,.station-operation-price-stack{grid-template-columns:1fr}}@media(max-width:520px){.station-operation-table{overflow-x:auto}.station-operation-table table{min-width:560px}}.bi-grid.two-columns,.bi-two-column,.bi-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.bi-panel{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);min-width:0;box-shadow:var(--ov-shadow-card);overflow:hidden}.bi-table-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.bi-table-checkbox{color:var(--ov-color-text);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.bi-table-checkbox input{width:14px;height:14px;accent-color:var(--ov-color-primary-hover);margin:0}.bi-table-wrap{max-height:420px;overflow:auto}.bi-table{border-collapse:collapse;width:100%;min-width:720px;color:var(--ov-color-text);font-variant-numeric:tabular-nums;font-size:12px}.bi-table th,.bi-table td{border-bottom:1px solid var(--ov-color-divider);border-right:1px solid var(--ov-color-divider);text-align:left;white-space:nowrap;height:38px;padding:0 12px}.bi-table th{color:var(--ov-color-text-strong);font-weight:700}.bi-table thead th{z-index:1;background:var(--ov-color-surface-muted);position:sticky;top:0}.bi-table th.bi-table-forecast-cell{background:var(--ov-color-primary-soft);color:var(--ov-chart-forecast-price)}.bi-table td.bi-table-forecast-cell{background:var(--ov-chart-forecast-band);color:var(--ov-color-primary);font-weight:600}.bi-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.bi-metric-card{min-height:96px}.spot-evaluation-panel{padding:14px}.bi-series-legend{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.bi-series-legend span{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface-muted);height:24px;color:var(--ov-color-text-muted);align-items:center;gap:7px;padding:0 9px;font-size:12px;display:inline-flex}.bi-series-legend-line{border-top:2px solid;width:24px}.bi-series-legend-line.dashed{border-top-style:dashed}.daily-bill-page{min-width:0}.daily-bill-filter-bar .ov-filter-main{grid-template-columns:minmax(300px,.95fr) minmax(290px,1fr) minmax(150px,.72fr)}.daily-bill-date-controls{grid-template-columns:minmax(118px,1fr) auto minmax(118px,1fr);align-items:center;gap:6px;min-width:0;display:grid}.daily-bill-date-separator{color:var(--ov-color-text-muted);font-weight:500}.daily-bill-date-input{appearance:auto;min-width:118px}.daily-bill-query,.daily-bill-export{height:34px}.daily-bill-workspace{gap:12px;min-width:0;margin-top:12px;display:grid}.daily-bill-coverage{color:var(--ov-color-text-muted);font-size:12px;font-weight:700}.daily-bill-summary,.daily-bill-panel{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);min-width:0;box-shadow:var(--ov-shadow-card)}.daily-bill-summary{grid-template-columns:repeat(5,minmax(150px,1fr));gap:0;padding:18px 22px;display:grid}.daily-bill-summary-item{min-width:0;color:var(--ov-color-text-muted);gap:5px;padding:10px 8px;font-size:12px;font-weight:700;display:grid}.daily-bill-summary-item strong{color:var(--ov-color-text-strong);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:15px}.daily-bill-table-wrap{border-radius:var(--ov-radius-lg);overflow:auto}.daily-bill-time-panel .daily-bill-table-wrap{max-height:420px}.daily-bill-table{border-collapse:collapse;width:100%;color:var(--ov-color-text);font-variant-numeric:tabular-nums;font-size:13px}.daily-bill-date-summary-table{min-width:980px}.time-table{min-width:760px}.daily-bill-table th,.daily-bill-table td{border-bottom:1px solid var(--ov-color-divider);border-right:1px solid var(--ov-color-divider);text-align:right;white-space:nowrap;height:38px;padding:0 12px}.daily-bill-table th{color:var(--ov-color-text-strong);font-weight:700}.daily-bill-table thead th{z-index:1;background:var(--ov-color-surface-muted);position:sticky;top:0}.daily-bill-table th:first-child{text-align:left}.daily-bill-date-summary-table td:nth-child(2){color:var(--ov-color-text-muted);text-align:center;font-weight:700}.daily-bill-date-cell{border-radius:var(--ov-radius-md);min-width:86px;height:28px;color:var(--ov-color-text-strong);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;justify-content:flex-end;align-items:center;padding:0 8px;font-weight:700;display:inline-flex}.daily-bill-date-cell:hover,.daily-bill-date-cell:focus-visible{border-color:var(--ov-color-border-strong);background:var(--ov-color-primary-soft);outline:none}.daily-bill-date-cell[data-selected=true]{background:var(--ov-color-primary-soft);color:var(--ov-color-primary-hover);border-color:#2563eb47}.daily-bill-detail-context{border-bottom:1px solid var(--ov-color-border);min-height:38px;color:var(--ov-color-text);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.daily-bill-detail-context strong{color:var(--ov-color-text-strong);font-weight:800}.time-table th:first-child{z-index:2;background:var(--ov-color-surface-muted);min-width:78px;position:sticky;left:0}.time-table tbody th:first-child{background:var(--ov-color-surface)}.medium-long-position-page{margin-top:12px}.position-workspace{gap:14px;display:grid}.position-section{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);min-width:0;box-shadow:var(--ov-shadow-card);padding:14px}.position-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.position-section-header h2{color:var(--ov-color-text-strong);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:800;display:inline-flex}.position-section-header-meta{color:var(--ov-color-text-muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;font-size:12px;font-weight:700;display:inline-flex}.position-cutoff{color:inherit}.position-filter-bar{margin-bottom:12px}.position-filter-bar .ov-filter-main{flex-basis:520px;grid-template-columns:minmax(156px,180px) minmax(220px,1fr)}.position-date-input{min-width:156px}.position-metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px;display:grid}.position-metric-card{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface);min-width:0;min-height:78px;padding:12px}.position-metric-value{color:var(--ov-color-text-strong);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;font-size:22px;font-weight:800;line-height:30px;display:flex}.position-metric-value span{color:var(--ov-color-text-muted);font-size:12px;font-weight:600}.position-metric-label{color:var(--ov-color-text);margin:7px 0 0;font-size:13px;font-weight:700}.position-chart-card{border-top:1px solid var(--ov-color-divider);min-width:0;padding-top:8px}.position-chart{width:100%;min-width:0}.position-detail-panel{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface);margin-top:12px;overflow:hidden}.position-detail-header{border-bottom:1px solid var(--ov-color-border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.position-detail-header h3{color:var(--ov-color-text-strong);margin:0;font-size:14px;font-weight:800}.position-detail-header span{color:var(--ov-color-text-muted);font-size:12px;font-weight:600}.position-table-wrap{overflow-x:auto}.position-detail-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px}.position-detail-table th,.position-detail-table td{border-bottom:1px solid var(--ov-color-border-soft);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding:9px 10px}.position-detail-table th{color:var(--ov-color-text);font-weight:800}.position-detail-table thead th{z-index:1;background:var(--ov-color-surface-muted);position:sticky;top:0}.position-detail-table th:first-child,.position-detail-table td:first-child{z-index:2;background:var(--ov-color-surface);text-align:left;position:sticky;left:0}.position-detail-table thead th:first-child{z-index:3;background:var(--ov-color-surface-muted)}.monthly-bill-page{min-width:0}.monthly-bill-filter-bar{margin-bottom:12px}.monthly-bill-filter-bar .ov-filter-main{grid-template-columns:minmax(150px,.8fr) minmax(260px,1.5fr) minmax(150px,.8fr)}.monthly-bill-query,.monthly-bill-export{flex:none}.monthly-bill-workspace{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-lg);background:var(--ov-color-surface);min-width:0;box-shadow:var(--ov-shadow-card);gap:12px;padding:16px;display:grid}.monthly-bill-context{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface-muted);min-height:36px;color:var(--ov-color-text);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.monthly-bill-context strong{color:var(--ov-color-text-strong);font-weight:800}.monthly-bill-toolbar{justify-content:flex-end;min-height:24px;display:flex}.monthly-bill-unit{color:var(--ov-color-text-strong);font-size:13px;font-weight:700}.monthly-bill-table-wrap{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface);width:100%;overflow-x:auto}.monthly-bill-summary-table,.monthly-bill-detail-table{border-collapse:collapse;width:100%;min-width:980px;color:var(--ov-color-text);font-variant-numeric:tabular-nums;font-size:13px}.monthly-bill-summary-table th,.monthly-bill-summary-table td,.monthly-bill-detail-table th,.monthly-bill-detail-table td{border-bottom:1px solid var(--ov-color-divider);border-right:1px solid var(--ov-color-divider);text-align:right;white-space:nowrap;height:36px;padding:0 14px}.monthly-bill-summary-table th,.monthly-bill-detail-table th{color:var(--ov-color-text-strong);font-weight:700}.monthly-bill-summary-table thead th,.monthly-bill-detail-table thead th{background:var(--ov-color-surface-muted);text-align:center}.monthly-bill-summary-table th:first-child,.monthly-bill-summary-table td:first-child,.monthly-bill-detail-table th:first-child,.monthly-bill-detail-table td:first-child,.monthly-bill-summary-table td:nth-child(2),.monthly-bill-detail-table .monthly-bill-subject{text-align:center}.monthly-bill-amount-row th,.monthly-bill-amount-row td,.monthly-bill-group-row th{background:var(--ov-color-surface-muted);text-align:center}.monthly-bill-detail-wrap{max-height:430px}.data-maintenance-page{gap:16px;display:grid}.data-maintenance-page-state{color:var(--ov-color-text-muted);font-size:13px;font-weight:600}.data-maintenance-panel,.data-maintenance-metric{background:var(--ov-color-surface);border:1px solid var(--ov-color-border);box-shadow:var(--ov-shadow-card);border-radius:8px}.data-maintenance-panel{padding:16px}.data-maintenance-panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.data-maintenance-panel-header h2{color:var(--ov-color-text-strong);margin:0;font-size:18px;line-height:26px}.data-maintenance-panel-header p,.data-maintenance-template-note p{color:var(--ov-color-text-muted);margin:4px 0 0;font-size:13px}.data-maintenance-panel-actions,.data-maintenance-action-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.data-maintenance-import-grid,.data-maintenance-template-layout{grid-template-columns:minmax(280px,1.1fr) minmax(260px,.9fr);gap:14px;display:grid}.data-maintenance-upload-box,.data-maintenance-template-note{border:1px solid var(--ov-color-border);background:var(--ov-color-surface-muted);border-radius:8px;padding:16px}.data-maintenance-upload-box{min-height:138px;color:var(--ov-color-text-muted);text-align:center;place-items:center;gap:8px;display:grid}.data-maintenance-upload-box strong,.data-maintenance-template-note strong{color:var(--ov-color-text-strong)}.data-maintenance-metric-grid{grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;display:grid}.data-maintenance-metric{border-bottom:3px solid var(--ov-color-border);padding:14px 16px}.data-maintenance-metric span{color:var(--ov-color-text-muted);font-size:12px;line-height:18px;display:block}.data-maintenance-metric strong{color:var(--ov-color-text-strong);font-variant-numeric:tabular-nums;margin-top:4px;font-size:24px;line-height:30px;display:block}.data-maintenance-metric.info{border-bottom-color:var(--ov-color-primary-hover)}.data-maintenance-metric.warning{border-bottom-color:var(--ov-color-warning)}.data-maintenance-metric.danger{border-bottom-color:var(--ov-color-danger)}.data-maintenance-table-wrap{border:1px solid var(--ov-color-border);border-radius:8px;overflow:auto}.data-maintenance-table{border-collapse:collapse;background:var(--ov-color-surface);width:100%;min-width:980px;font-size:13px}.data-maintenance-table th,.data-maintenance-table td{border-bottom:1px solid var(--ov-color-divider);text-align:left;vertical-align:top;white-space:nowrap;padding:10px 12px}.data-maintenance-table th{background:var(--ov-color-surface-muted);color:var(--ov-color-text-muted);font-weight:700}.data-maintenance-table tbody th{color:var(--ov-color-text-strong);font-weight:600}.data-maintenance-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.data-maintenance-status{background:var(--ov-color-surface-muted);min-height:24px;color:var(--ov-color-text-default);white-space:nowrap;border-radius:6px;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.data-maintenance-status.success{background:var(--ov-color-success-soft);color:var(--ov-color-success)}.data-maintenance-status.warning{background:var(--ov-color-warning-soft);color:var(--ov-color-warning)}.data-maintenance-status.danger{background:var(--ov-color-danger-soft);color:var(--ov-color-danger)}.data-maintenance-status.info{background:var(--ov-color-primary-soft);color:var(--ov-color-primary-hover)}.weather-forecast-page{margin-top:12px}.weather-workspace{gap:14px;min-width:0;display:grid}.weather-workspace-header{min-width:0}.weather-filter-bar{align-items:stretch;gap:10px 12px;margin:0}.weather-filter-bar .ov-filter-main{flex:620px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));min-width:0}.weather-filter-bar .ov-filter-field{min-width:0}.weather-filter-bar .ov-filter-select{text-overflow:ellipsis;width:100%;min-width:0;overflow:hidden}.weather-filter-bar .ov-filter-trailing{flex:0 260px;min-width:220px;margin-left:0}.weather-filter-bar .ov-filter-meta{min-width:0}.weather-update-time{min-height:34px;color:var(--ov-color-text-strong);overflow-wrap:anywhere;text-align:right;justify-content:flex-end;align-items:center;font-size:13px;font-weight:800;line-height:18px;display:inline-flex}.weather-action-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.weather-trend-section{gap:10px;min-width:0;display:grid}.weather-trend-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px;display:grid}.weather-trend-chart{min-height:150px}.weather-day-selector{border:1px solid var(--ov-color-divider);border-radius:var(--ov-radius-md);background:var(--ov-color-surface-muted);grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;padding:10px 12px;display:grid}.weather-day-selector legend{color:var(--ov-color-text-muted);margin:0 0 6px;font-size:12px;font-weight:700}.weather-day-selector strong{color:var(--ov-color-text-strong);text-align:left;overflow-wrap:anywhere;margin:0;font-size:12px}.weather-day-options{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.weather-day-option{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-sm);background:var(--ov-color-surface);min-width:68px;height:28px;color:var(--ov-color-text);white-space:nowrap;flex:none;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:inline-flex}.weather-day-option input{accent-color:var(--ov-color-primary);margin:0}.weather-day-option.selected{border-color:var(--ov-color-primary);background:var(--ov-color-primary-soft);color:var(--ov-color-primary);font-weight:800}.heatmap-filter-bar{background:var(--ov-color-surface-muted);margin:0}.heatmap-filter-bar .ov-filter-main{flex-basis:100%;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.weather-heatmap-wrap{border:1px solid var(--ov-color-divider);border-radius:0 0 var(--ov-radius-md) var(--ov-radius-md);margin:-14px 0 0;overflow:auto}.weather-heatmap{border-collapse:collapse;table-layout:fixed;background:var(--ov-color-surface);width:100%;min-width:760px}.weather-heatmap th,.weather-heatmap td{border:1px solid var(--ov-color-divider);min-height:34px;color:var(--ov-color-text-strong);text-align:right;overflow-wrap:anywhere;padding:7px 8px;font-size:12px;line-height:16px}.weather-heatmap th{background:var(--ov-color-surface-muted);text-align:center;font-weight:800}.weather-heatmap th:first-child,.weather-heatmap td:first-child{text-align:left}.weather-map-workspace{padding:10px 14px 14px}.weather-map-filter-bar{align-items:stretch}.weather-map-filter-bar .weather-map-filter-top-row{flex:0 auto;grid-template-columns:minmax(180px,240px) minmax(160px,220px)}.weather-time-slider-field{border-top:1px solid var(--ov-color-divider);grid-template-columns:auto minmax(0,1fr);gap:8px 12px;min-width:0;padding-top:10px;display:grid}.weather-time-slider-header{color:var(--ov-color-text-muted);grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:800;display:flex}.weather-time-slider-header strong{color:var(--ov-color-text-strong);font-size:13px;font-weight:800}.weather-time-current{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.weather-time-sync-icon{width:14px;height:14px;color:var(--ov-color-info);opacity:0;place-items:center;display:inline-grid}.weather-time-sync-icon[data-visible=true]{opacity:1}.weather-time-stepper{align-self:start;align-items:center;gap:6px;padding-top:15px;display:inline-flex}.weather-time-step-button{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface);width:32px;height:32px;color:var(--ov-color-text);place-items:center;display:inline-grid}.weather-time-step-button:hover:not(:disabled),.weather-time-step-button:focus-visible{border-color:var(--ov-color-primary-hover);color:var(--ov-color-primary-hover);box-shadow:var(--ov-shadow-focus);outline:none}.weather-time-step-button:disabled{color:var(--ov-color-text-disabled);cursor:not-allowed;opacity:.62}.weather-time-slider-control{gap:6px;min-width:0;padding-top:16px;display:grid;position:relative}.weather-time-thumb-label{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-sm);background:var(--ov-color-surface);color:var(--ov-color-text-strong);font-variant-numeric:tabular-nums;pointer-events:none;padding:1px 6px;font-size:11px;font-weight:800;line-height:16px;position:absolute;top:0;transform:translate(-50%)}.weather-time-slider{width:100%;min-width:0;accent-color:var(--ov-color-primary)}.weather-time-slider:focus-visible{outline:2px solid var(--ov-color-primary);outline-offset:4px}.weather-time-slider-ticks{color:var(--ov-color-text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:8px;padding-bottom:2px;font-size:12px;display:flex;overflow-x:auto}.weather-time-slider-ticks span{flex:none}.weather-time-slider-hint{color:var(--ov-color-text-muted);grid-column:1/-1;margin:0;font-size:12px}.weather-map-summary-header{justify-content:space-between;align-items:center;margin-bottom:-4px;display:flex}.weather-map-summary-header p{color:var(--ov-color-text-muted);margin:0;font-size:12px;line-height:18px}.weather-map-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.weather-map-summary-card{min-height:82px}.weather-map-summary-card p{border-radius:var(--ov-radius-sm);background:var(--ov-color-surface-muted);width:fit-content;color:var(--ov-color-text-muted);align-items:center;margin:5px 0 0;padding:1px 6px;font-size:12px;line-height:18px;display:inline-flex}.weather-map-panel{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface);min-width:0;padding:14px}.weather-map-panel .panel-card-header{margin-bottom:10px}.weather-map-panel-header{align-items:flex-start;gap:12px}.weather-map-panel .panel-card-header p{color:var(--ov-color-text-muted);margin:2px 0 0;font-size:12px}.weather-map-panel-meta{color:var(--ov-color-text-muted);flex-wrap:wrap;justify-content:flex-end;gap:6px;font-size:12px;display:flex}.weather-map-panel-meta span{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-sm);background:var(--ov-color-surface-muted);white-space:nowrap;align-items:center;min-height:24px;padding:0 8px;display:inline-flex}.weather-map-canvas{border-radius:var(--ov-radius-md);background:linear-gradient(135deg,#eff6ffdb,#ecfdf5d1),#f8fbff;border:1px solid #cfe0f3;min-height:360px;position:relative;overflow:hidden}.weather-map-inline-legend{z-index:2;border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);color:var(--ov-color-text-muted);background:#ffffffeb;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:inline-flex;position:absolute;bottom:12px;right:14px}.weather-map-inline-legend i{border-radius:var(--ov-radius-pill);background:linear-gradient(90deg,var(--ov-chart-grid),var(--ov-color-primary-soft),var(--ov-chart-real-time-price));width:86px;height:8px;display:block}.weather-map-empty{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);width:min(320px,100% - 32px);color:var(--ov-color-text-muted);text-align:center;background:#ffffffeb;padding:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.weather-map-chart{z-index:1;position:relative}.time-supply-page{margin-top:12px}.time-supply-stack{gap:12px;padding:12px 16px 16px;display:grid}.time-supply-hidden-note{color:var(--ov-color-text-muted);margin:0;font-size:12px}.time-supply-section{border-bottom:1px solid var(--ov-color-divider);min-width:0;padding-bottom:12px}.time-supply-section:last-child{border-bottom:0;padding-bottom:0}.time-supply-filter-bar .ov-filter-main{grid-template-columns:repeat(4,minmax(132px,1fr))}.time-supply-toggle{min-width:0;color:var(--ov-color-text);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.time-supply-toggle input{width:14px;height:14px;accent-color:var(--ov-color-accent);margin:0}.time-supply-chart-block{min-width:0;padding-top:10px}.time-supply-chart-block h2{color:var(--ov-color-text-strong);margin:0 0 8px;font-size:16px;font-weight:700}.time-supply-chart-body{min-width:0;position:relative}.time-supply-chart{width:100%;min-width:0}.time-supply-chart-state-overlay{pointer-events:none;position:absolute;inset:0}.time-supply-tab-empty{min-height:240px;color:var(--ov-color-text-muted);text-align:center;place-items:center;padding:32px;display:grid}.time-supply-tab-empty p{margin:0}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.dashboard-grid{grid-template-columns:1fr}.right-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.weather-map-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.app-shell{grid-template-rows:auto;grid-template-columns:1fr}.app-shell.sidebar-collapsed{grid-template-columns:1fr}.topbar{order:1;grid-column:1}.sidebar{order:2;grid-row:auto;height:auto;position:static}.main-shell{order:3;grid-column:1}.sidebar-collapsed .sidebar{display:none}.metric-grid,.right-stack,.bi-grid.two-columns,.bi-two-column,.bi-chart-grid,.bi-metric-grid{grid-template-columns:1fr}.page-control,.topbar{flex-direction:column;align-items:stretch;height:auto;padding-block:14px}.notification-popover{width:auto;position:fixed;top:64px;left:12px;right:12px}.notifications-page-header{align-items:flex-start}.notifications-toolbar{align-items:end}.page-control-side,.inline-filter{justify-content:flex-start;align-items:stretch}.form-error{text-align:left}.date-range{flex-wrap:wrap;height:auto;min-height:32px;padding-block:4px}.forecast-dialog{grid-template-rows:auto auto 260px minmax(180px,1fr);width:min(100%,100vw - 24px);max-height:calc(100vh - 24px)}.modal-toolbar{align-items:stretch;padding-inline:14px}.modal-spacer{display:none}.modal-chart{padding-inline:14px}.forecast-table-wrap{margin-inline:14px}.spot-workspace-header{flex-direction:column;align-items:stretch;padding-block:8px}.spot-action-bar{justify-content:flex-end}.ov-filter-bar,.spot-intraday-layout{flex-direction:column;align-items:stretch}.ov-filter-main,.spot-filter-bar .ov-filter-main,.time-supply-filter-bar .ov-filter-main,.weather-filter-bar .ov-filter-main,.daily-bill-filter-bar .ov-filter-main,.spot-intraday-layout,.spot-filter-bar.trend .ov-filter-main{grid-template-columns:1fr}.ov-filter-trailing{border-left:0;border-top:1px solid var(--ov-color-divider);justify-content:space-between;align-items:flex-start;width:100%;margin-left:0;padding:10px 0 0}.spot-trend-legend,.weather-update-time{justify-content:flex-start}.weather-workspace-header,.weather-trend-grid,.weather-day-selector{grid-template-columns:1fr}.weather-action-bar,.weather-day-selector strong{text-align:left;justify-content:flex-start}.weather-time-slider-field{grid-template-columns:1fr}.weather-time-stepper{padding-top:0}.weather-map-panel-meta{justify-content:flex-start}.weather-map-summary-grid{grid-template-columns:1fr}.weather-map-canvas{min-height:300px}.intraday-price-table{max-height:260px}.daily-bill-date-controls{grid-template-columns:1fr}.daily-bill-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.daily-bill-time-panel .daily-bill-table-wrap{max-height:320px}}@media(max-width:640px){.notification-popover{top:96px}.notifications-page-header{flex-direction:column}.notifications-page-header .secondary-button{width:100%}.notifications-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid;overflow:visible}.notifications-toolbar>label,.notifications-toolbar select,.notifications-toolbar input{width:100%;min-width:0}.notifications-toolbar .segmented{grid-column:1/-1;width:100%}.notifications-toolbar .segment{flex:1 1 0}.notifications-toolbar>.icon-button{grid-column:2;justify-self:end}.notification-row{grid-template-columns:8px 34px minmax(0,1fr) 16px;gap:9px;min-height:108px;padding-right:12px}.notification-severity{grid-column:3;justify-self:start}.notification-row>svg{grid-area:1/4/span 2}.notification-row-copy>span{white-space:normal}}.auth-loading{background:var(--ov-color-page);place-items:center;min-height:100vh;padding:24px;display:grid}.login-shell{background:var(--ov-color-page);grid-template-columns:minmax(0,.94fr) minmax(480px,1.06fr);min-height:100svh;display:grid}.login-showcase{background-color:var(--ov-color-sidebar);min-height:620px;color:var(--ov-color-sidebar-text);background-image:url(/assets/energy-operations-CcSvqNAm.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;grid-template-rows:auto 1fr;padding:42px 52px;display:grid;position:relative;overflow:hidden}.login-showcase:before{z-index:0;content:"";pointer-events:none;background:linear-gradient(#08111f6b,#08111f14 44%,#08111fb8),linear-gradient(90deg,#08111f8a,#08111f33 58%,#08111f14);position:absolute;inset:0}.login-showcase:after{z-index:2;background:var(--ov-color-accent);content:"";height:4px;position:absolute;bottom:0;left:0;right:0}@supports (background-image:image-set(url() type("image/avif"))){.login-showcase{background-image:-webkit-image-set(url(/assets/energy-operations-Bg7yppr4.avif) 1x type("image/avif"),url(/assets/energy-operations-CcSvqNAm.webp) 1x type("image/webp"));background-image:image-set(url(/assets/energy-operations-Bg7yppr4.avif) 1x type("image/avif"),url(/assets/energy-operations-CcSvqNAm.webp) 1x type("image/webp"))}}.login-showcase-brand{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.login-brand-mark{border-radius:var(--ov-radius-lg);background:var(--ov-color-accent);color:#fff;place-items:center;width:42px;height:42px;display:grid}.login-product-name,.login-product-type{margin:0;font-weight:700}.login-product-name{color:#fff;letter-spacing:0;font-size:17px;line-height:20px}.login-product-type{color:var(--ov-color-sidebar-muted);letter-spacing:0;text-transform:uppercase;margin-top:3px;font-size:10px;font-weight:700;line-height:14px}.login-showcase-copy{z-index:1;align-self:end;max-width:490px;padding-bottom:48px;position:relative}.login-showcase-kicker,.login-panel-kicker{color:#5eead4;letter-spacing:0;margin:0;font-size:13px;font-weight:700;line-height:20px}.login-showcase h1{color:#fff;letter-spacing:0;max-width:440px;margin:12px 0 0;font-size:32px;font-weight:600;line-height:42px}.login-capabilities{flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0;list-style:none;display:flex}.login-capabilities li{border-radius:var(--ov-radius-md);color:#dbeafe;background:#0f172a6b;border:1px solid #94a3b847;align-items:center;gap:7px;padding:8px 10px;font-size:13px;font-weight:600;display:inline-flex}.login-capabilities svg{color:#5eead4}.login-panel{background:var(--ov-color-surface-muted);place-items:center;padding:48px;display:grid}.login-panel-inner{width:min(100%,420px)}.login-panel-kicker{color:var(--ov-color-accent)}.login-panel h2{color:var(--ov-color-text-strong);letter-spacing:0;margin:8px 0 0;font-size:28px;font-weight:600;line-height:36px}.login-copy{color:var(--ov-color-text-muted);margin:10px 0 28px;font-size:14px;line-height:22px}.login-form,.login-field{gap:16px;display:grid}.login-field{color:var(--ov-color-text-strong);gap:8px;font-size:13px;font-weight:600}.login-field-label{line-height:18px}.login-input-wrap{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface);height:46px;color:var(--ov-color-text-muted);align-items:center;padding:0 12px;display:flex}.login-input-wrap:focus-within{border-color:var(--ov-color-primary-hover);box-shadow:var(--ov-shadow-focus)}.login-input-wrap input{width:100%;min-width:0;height:100%;color:var(--ov-color-text-strong);background:0 0;border:0;outline:0;padding:0 10px}.login-input-wrap input::placeholder{color:var(--ov-color-text-disabled)}.login-password-toggle{border-radius:var(--ov-radius-sm);width:28px;height:28px;color:var(--ov-color-text-muted);background:0 0;border:0;flex:0 0 28px;place-items:center;display:grid}.login-password-toggle:hover{background:var(--ov-color-primary-soft);color:var(--ov-color-primary)}.login-error{border-radius:var(--ov-radius-md);background:var(--ov-color-danger-soft);color:var(--ov-color-danger);border:1px solid #dc262638;margin:0;padding:9px 11px;font-size:13px}.login-submit{border-radius:var(--ov-radius-md);background:var(--ov-color-primary);color:#fff;border:0;justify-content:center;align-items:center;height:46px;font-weight:700;display:inline-flex}.login-submit:hover{background:var(--ov-color-primary-hover)}.login-helper{border-top:1px solid var(--ov-color-border);color:var(--ov-color-text-muted);align-items:flex-start;gap:8px;margin:24px 0 0;padding-top:16px;font-size:12px;line-height:18px;display:flex}.login-helper svg{color:var(--ov-color-accent);flex:none;margin-top:1px}@media(max-width:900px){.login-shell{grid-template-rows:minmax(300px,auto) 1fr;grid-template-columns:1fr}.login-showcase{background-image:url(/assets/energy-operations-mobile-CubwtH_v.webp);background-position:50% 46%;min-height:300px;padding:32px 36px}.login-showcase-copy{padding-bottom:24px}.login-showcase h1{max-width:none;font-size:28px;line-height:36px}.login-panel{padding:40px 32px}}@supports (background-image:image-set(url() type("image/avif"))){@media(max-width:900px){.login-showcase{background-image:-webkit-image-set(url(/assets/energy-operations-mobile-o8Z7suYb.avif) 1x type("image/avif"),url(/assets/energy-operations-mobile-CubwtH_v.webp) 1x type("image/webp"));background-image:image-set(url(/assets/energy-operations-mobile-o8Z7suYb.avif) 1x type("image/avif"),url(/assets/energy-operations-mobile-CubwtH_v.webp) 1x type("image/webp"))}}}@media(max-width:560px){.login-showcase{min-height:272px;padding:24px}.login-showcase-copy{padding-bottom:16px}.login-showcase h1{font-size:24px;line-height:32px}.login-capabilities{margin-top:18px}.login-capabilities li{padding:7px 8px;font-size:12px}.login-panel{align-items:start;padding:32px 24px}.login-panel h2{font-size:26px;line-height:34px}}.account-popover-meta{color:var(--ov-color-text-muted);margin:3px 8px 8px;font-size:12px}.account-role-summary{border-top:1px solid var(--ov-color-border);border-bottom:1px solid var(--ov-color-border);gap:7px;margin:8px 0;padding:9px 8px 10px;display:grid}.account-role-summary>span{color:var(--ov-color-text-muted);font-size:12px;font-weight:600}.account-role-list{gap:9px;max-height:220px;display:grid;overflow-y:auto}.account-role-item{gap:2px;min-width:0;display:grid}.popover .account-role-item strong{margin:0;font-size:13px;font-weight:600}.account-role-item small,.account-role-empty{color:var(--ov-color-text-muted);font-size:12px;line-height:18px}.account-menu-item{gap:8px}.account-menu-item svg{color:var(--ov-color-text-muted);flex:none}.account-menu-item:hover svg{color:currentColor}.access-choice{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);gap:8px;margin:0;padding:10px 12px 12px;display:grid}.access-choice legend{color:var(--ov-color-text-strong);padding:0 4px;font-size:13px;font-weight:700}.access-choice{max-height:220px;overflow-y:auto}.access-choice label{color:var(--ov-color-text);align-items:flex-start;gap:8px;font-size:13px;line-height:18px;display:flex}.access-choice-copy{gap:2px;min-width:0;display:grid}.access-choice-copy strong{color:var(--ov-color-text-strong);font-size:13px;font-weight:650}.access-choice-copy small,.access-role-definition{color:var(--ov-color-text-muted);font-size:12px;line-height:18px}.access-role-definition{margin:-4px 0 2px}.access-overlay{z-index:45;background:#0f172a57;justify-content:flex-end;display:flex;position:fixed;inset:0}.access-panel{border-left:1px solid var(--ov-color-border);background:var(--ov-color-surface);grid-template-rows:auto auto auto minmax(0,1fr);width:min(100%,920px);display:grid;box-shadow:-18px 0 40px #0f172a2e}.access-header{justify-content:space-between;align-items:center;gap:16px;padding:20px 22px 14px;display:flex}.access-header h2{color:var(--ov-color-text-strong);margin:2px 0 0;font-size:20px}.access-header-actions,.access-tabs{align-items:center;gap:8px;display:flex}.access-tabs{border-bottom:1px solid var(--ov-color-border);padding:0 22px;overflow-x:auto}.access-tabs button{min-width:72px;color:var(--ov-color-text-muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 12px;font-size:13px;font-weight:700}.access-tabs button.active{border-bottom-color:var(--ov-color-primary);color:var(--ov-color-primary)}.access-message{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface-muted);color:var(--ov-color-text);margin:10px 22px 0;padding:8px 10px;font-size:13px}.access-body{min-height:0;padding:18px 22px 24px;overflow-y:auto}.access-toolbar{border-bottom:1px solid var(--ov-color-divider);color:var(--ov-color-text-strong);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;font-size:14px;font-weight:700;display:flex}.disabled-reason{outline:none;max-width:100%;display:inline-flex;position:relative}.disabled-reason.fill,.disabled-reason.fill>button{width:100%}.disabled-reason-tooltip{z-index:80;color:#fff;letter-spacing:0;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;background:#111d3f;border:1px solid #24365f;border-radius:4px;width:max-content;max-width:min(280px,70vw);padding:7px 9px;font-size:12px;font-weight:500;line-height:1.45;transition:opacity .12s,transform .12s,visibility .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);box-shadow:0 8px 20px #0f1f3f2e}.disabled-reason-tooltip:after{content:"";background:#111d3f;width:8px;height:8px;position:absolute;top:100%;left:50%;transform:translate(-50%,-4px)rotate(45deg)}.disabled-reason.align-end .disabled-reason-tooltip{left:auto;right:0;transform:translateY(4px)}.disabled-reason.align-end .disabled-reason-tooltip:after{left:auto;right:14px;transform:translateY(-4px)rotate(45deg)}.disabled-reason:hover .disabled-reason-tooltip,.disabled-reason:focus-visible .disabled-reason-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}.disabled-reason.align-end:hover .disabled-reason-tooltip,.disabled-reason.align-end:focus-visible .disabled-reason-tooltip{transform:translateY(0)}.disabled-reason:focus-visible{border-radius:4px;box-shadow:0 0 0 3px #285bca2e}.platform-panel{flex-direction:column;width:min(100%,1180px);min-height:0;display:flex;position:relative}.platform-tabs{border-bottom:1px solid var(--ov-color-border);align-items:center;gap:4px;padding:0 22px;display:flex}.platform-tabs button{min-height:40px;color:var(--ov-color-text-muted);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 10px;font-size:14px;font-weight:700;display:inline-flex}.platform-tabs button:hover{color:var(--ov-color-text-strong)}.platform-tabs button.active{border-bottom-color:var(--ov-color-primary);color:var(--ov-color-primary)}.platform-tabs button span{background:var(--ov-color-surface-muted);min-width:18px;height:18px;color:var(--ov-color-text-muted);border-radius:9px;place-items:center;font-size:11px;display:inline-grid}.platform-tabs button.active span{background:var(--ov-color-primary-soft);color:var(--ov-color-primary)}.platform-workspace{flex:1;grid-template-columns:300px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.platform-record-list{border-right:1px solid var(--ov-color-border);background:var(--ov-color-surface-muted);flex-direction:column;min-height:0;display:flex}.platform-list-header{border-bottom:1px solid var(--ov-color-border);justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:0 14px 0 18px;display:flex}.platform-list-header>div{color:var(--ov-color-text-strong);align-items:baseline;gap:7px;font-size:14px;font-weight:700;display:flex}.platform-list-header strong{color:var(--ov-color-text-muted);font-size:12px}.platform-record-items{align-content:start;gap:4px;padding:10px;display:grid;overflow-y:auto}.platform-record-button{text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:62px;padding:9px 8px;display:grid}.platform-record-button:hover{background:var(--ov-color-surface)}.platform-record-button.selected{background:var(--ov-color-primary-soft);border-color:#bfdbfe}.platform-record-button>span:first-child{gap:3px;min-width:0;display:grid}.platform-record-button strong,.platform-record-button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.platform-record-button strong{color:var(--ov-color-text-strong);font-size:13px}.platform-record-button small{color:var(--ov-color-text-muted);font-size:12px}.platform-record-trailing{color:var(--ov-color-text-muted);align-items:center;gap:4px;display:flex}.platform-status{white-space:nowrap;border-radius:var(--ov-radius-pill);border:1px solid #0000;align-items:center;width:fit-content;min-height:22px;padding:1px 8px;font-size:11px;font-weight:700;line-height:18px;display:inline-flex}.platform-status.positive{background:var(--ov-color-success-soft);color:var(--ov-color-success);border-color:#0f766e2e}.platform-status.negative{background:var(--ov-color-danger-soft);color:var(--ov-color-danger);border-color:#dc26262e}.platform-status.warning{background:var(--ov-color-warning-soft);color:var(--ov-color-warning);border-color:#d9770633}.platform-status.neutral{border-color:var(--ov-color-border);background:var(--ov-color-surface-muted);color:var(--ov-color-text-muted)}.platform-detail{min-width:0;padding:24px 28px 32px;overflow-y:auto}.platform-detail-header{z-index:2;border-bottom:1px solid var(--ov-color-divider);background:var(--ov-color-surface);justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;display:flex;position:sticky;top:0}.platform-detail-header h3{color:var(--ov-color-text-strong);margin:0;font-size:18px}.platform-detail-header p{color:var(--ov-color-text-muted);margin:6px 0 0;font-size:13px}.platform-detail-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.platform-detail-header-actions .platform-status{margin-right:4px}.platform-tenant-layout{grid-template-columns:minmax(340px,.8fr) minmax(440px,1.2fr);gap:0 28px;min-height:0;display:grid}.platform-tenant-config{border-right:1px solid var(--ov-color-divider);min-width:0;padding-right:28px}.platform-detail-section{border-bottom:1px solid var(--ov-color-divider);gap:12px;padding:20px 0;display:grid}.platform-detail-section h3{color:var(--ov-color-text-strong);margin:0;font-size:14px}.platform-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.platform-section-heading>div{align-items:center;gap:8px;display:flex}.platform-section-heading>div>span{background:var(--ov-color-surface-muted);min-width:20px;height:20px;color:var(--ov-color-text-muted);border-radius:4px;place-items:center;font-size:11px;font-weight:700;display:inline-grid}.platform-tenant-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin:0;display:grid}.platform-tenant-summary>div{gap:5px;min-width:0;display:grid}.platform-tenant-summary dt{color:var(--ov-color-text-muted);font-size:12px}.platform-tenant-summary dd{overflow-wrap:anywhere;color:var(--ov-color-text-strong);margin:0;font-size:14px;font-weight:700}.platform-province-list{flex-wrap:wrap;gap:8px;display:flex}.platform-province-list>span{border:1px solid var(--ov-color-border);background:var(--ov-color-surface-muted);color:var(--ov-color-text-strong);border-radius:4px;align-items:center;gap:7px;padding:6px 9px;font-size:13px;font-weight:700;display:inline-flex}.platform-province-list small{color:var(--ov-color-text-muted);font-size:11px;font-weight:600}.platform-tenant-lifecycle>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.platform-account-section{border-bottom:0;align-content:start;min-width:0}.tenant-account-list{min-width:0;max-height:calc(100vh - 300px);display:grid;overflow-y:auto}.tenant-account-list>p{color:var(--ov-color-text-muted);margin:4px 0;font-size:13px}.tenant-account-header,.tenant-account-row{border-bottom:1px solid var(--ov-color-divider);grid-template-columns:minmax(150px,1.1fr) minmax(150px,1fr) 72px;align-items:center;gap:12px;padding:10px 4px;display:grid}.tenant-account-header{z-index:1;background:var(--ov-color-surface);color:var(--ov-color-text-muted);font-size:11px;font-weight:700;position:sticky;top:0}.tenant-account-header span:last-child,.tenant-account-row>.platform-status{justify-self:end}.tenant-account-row:last-child{border-bottom:0}.tenant-account-row>div{gap:3px;min-width:0;display:grid}.tenant-account-row strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ov-color-text-strong);font-size:13px;overflow:hidden}.tenant-account-row small{text-overflow:ellipsis;white-space:nowrap;color:var(--ov-color-text-muted);font-size:12px;overflow:hidden}.platform-field-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.platform-field-grid label,.platform-dialog-form>label{color:var(--ov-color-text-strong);gap:6px;font-size:13px;font-weight:700;display:grid}.platform-field-grid input,.platform-dialog-form input{border:1px solid var(--ov-color-border-strong);border-radius:var(--ov-radius-md);background:#fff;height:38px;padding:0 10px}.platform-field-grid output{border:1px solid var(--ov-color-border);border-radius:var(--ov-radius-md);background:var(--ov-color-surface-muted);min-height:38px;color:var(--ov-color-text-muted);align-items:center;padding:0 10px;font-size:13px;display:flex}.platform-readonly-fields{grid-template-columns:86px minmax(0,1fr);gap:8px 14px}.platform-readonly-fields span{color:var(--ov-color-text-muted);font-size:13px}.platform-readonly-fields strong{overflow-wrap:anywhere;color:var(--ov-color-text);font-size:13px}.platform-detail-actions{flex-wrap:wrap;gap:10px;padding-top:20px;display:flex}.platform-detail-actions .secondary-button.danger{margin-left:0}.platform-detail-actions>.disabled-reason:last-child{margin-left:auto}.platform-empty-detail{min-height:280px;color:var(--ov-color-text-muted);text-align:center;place-content:center;gap:10px;display:grid}.platform-empty-detail p{margin:0;font-size:14px}.platform-dialog-overlay{z-index:2;background:#0f172a5c;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.platform-dialog{border:1px solid var(--ov-color-border);background:var(--ov-color-surface);border-radius:8px;width:min(100%,520px);box-shadow:0 18px 48px #0f172a38}.platform-dialog>header{border-bottom:1px solid var(--ov-color-divider);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.platform-dialog>header h3{color:var(--ov-color-text-strong);margin:0;font-size:16px}.platform-dialog-form{gap:14px;padding:18px;display:grid}.platform-form-divider{border-top:1px solid var(--ov-color-divider);color:var(--ov-color-text-strong);padding-top:14px;font-size:13px}.direct-account-dialog-overlay{z-index:60;position:fixed}.direct-account-dialog{max-height:min(760px,100vh - 48px);overflow-y:auto}.direct-account-identity{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.platform-dialog-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.platform-confirm-copy{color:var(--ov-color-text);margin:0;font-size:14px;line-height:22px}.access-copy-field{color:var(--ov-color-text-strong);gap:6px;margin:10px 22px 0;font-size:13px;font-weight:700;display:grid}.access-editor{gap:14px;max-width:720px;display:grid}.access-editor>label{color:var(--ov-color-text-strong);gap:6px;font-size:13px;font-weight:700;display:grid}.access-editor input,.access-inline-form input,.access-copy-field input{border:1px solid var(--ov-color-border-strong);border-radius:var(--ov-radius-md);background:#fff;height:38px;padding:0 10px}.access-editor h3{color:var(--ov-color-text-strong);align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.account-security-panel{flex-direction:column;width:min(100%,640px);display:flex}.account-security-panel .access-body{flex:1}.account-security-panel .access-editor+.access-editor{border-top:1px solid var(--ov-color-divider);margin-top:24px;padding-top:20px}.recovery-code-list{border:1px solid var(--ov-color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;padding:12px;display:grid}.recovery-code-list code,.account-secret-uri{overflow-wrap:anywhere;color:var(--ov-color-text);font-size:12px}.login-mfa-modes{border:1px solid var(--ov-color-border-strong);border-radius:var(--ov-radius-md);grid-template-columns:1fr 1fr;gap:0;display:grid;overflow:hidden}.login-mfa-modes button{background:var(--ov-color-surface);min-height:36px;color:var(--ov-color-text-muted);border:0;font-size:13px}.login-mfa-modes button+button{border-left:1px solid var(--ov-color-border-strong)}.login-mfa-modes button.active{background:var(--ov-color-primary-soft);color:var(--ov-color-primary);font-weight:700}.login-mfa-modes button:not(.active):hover{color:var(--ov-color-text-strong)}.access-inline-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.access-inline-form label{gap:6px;font-size:13px;font-weight:700;display:grid}.access-inline-form>.disabled-reason{align-self:end}.access-security-summary{border:1px solid var(--ov-color-border);background:var(--ov-color-surface-muted);color:var(--ov-color-text);flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:14px;padding:10px 12px;font-size:13px;display:flex}.access-pagination{color:var(--ov-color-text-muted);justify-content:flex-end;align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}.access-editor select{border:1px solid var(--ov-color-border-strong);border-radius:var(--ov-radius-md);background:#fff;height:38px;padding:0 10px}.access-user-summary{border-bottom:1px solid var(--ov-color-divider);grid-template-columns:1fr auto;gap:4px 10px;padding-bottom:12px;display:grid}.access-user-summary small{color:var(--ov-color-text-muted)}.access-list{gap:0;display:grid}.access-row{border-bottom:1px solid var(--ov-color-divider);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 4px;display:grid}.access-row.audit{grid-template-columns:minmax(0,1fr) auto}.access-row>div{gap:3px;min-width:0;display:grid}.access-row strong,.access-row small{overflow-wrap:anywhere}.access-row small{color:var(--ov-color-text-muted);font-size:12px}.access-row>span,.access-user-summary>span{color:var(--ov-color-text-muted);font-size:12px;font-weight:700}.access-row>span[data-status=active],.access-row>span[data-status=succeeded],.access-user-summary>span[data-status=active]{color:var(--ov-color-success)}.access-row>span[data-status=revoked],.access-row>span[data-status=failed],.access-row>span[data-status=denied],.access-user-summary>span[data-status=disabled]{color:var(--ov-color-danger)}@media(max-width:1180px){.platform-tenant-layout{grid-template-columns:1fr}.platform-tenant-config{border-right:0;padding-right:0}.tenant-account-list{max-height:none}}@media(max-width:720px){.access-panel{width:100%}.platform-workspace{grid-template-columns:1fr;overflow-y:auto}.platform-record-list{border-right:0;border-bottom:1px solid var(--ov-color-border);min-height:180px;max-height:34vh}.platform-detail{padding:20px;overflow:visible}.platform-detail-header{align-items:flex-start;position:static}.platform-detail-header-actions{flex-wrap:wrap;justify-content:flex-end}.platform-field-grid,.platform-tenant-summary{grid-template-columns:1fr}.tenant-account-header{display:none}.tenant-account-row{grid-template-columns:minmax(0,1fr) auto}.tenant-account-row>div:nth-child(2){grid-area:2/1/auto/-1}.tenant-account-row>.platform-status{grid-area:1/2}.platform-detail-actions>.disabled-reason:last-child{margin-left:0}.platform-dialog-overlay{position:fixed}.platform-dialog{max-height:calc(100vh - 48px);overflow-y:auto}.access-row{grid-template-columns:minmax(0,1fr) auto}.access-row>button{grid-column:1/-1}.access-inline-form{grid-template-columns:1fr}}.eyebrow{color:var(--ov-color-primary);letter-spacing:.08em;margin:0;font-size:12px;font-weight:700}@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}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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}
