@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color-scheme:light;--paper: #f4f5f3;--ink: #202321;--blue: #2948ed;--line: #cfd3cf;--chart-grid: #d3d8d2;--muted: #646b66;--green: #247348;--red: #b13b39;--rose-hand: #e02424;--gold: #a8801a;--auto-buy: #bb2a8c;--warn: #9a7410;--night: color-mix(in srgb, var(--muted) 10%, transparent);--economy-recession: color-mix(in srgb, var(--red) 8%, transparent);--economy-boom: color-mix(in srgb, var(--green) 8%, transparent);--surface: #e8ebe7;--hover-soft: #20232110;--backdrop: #20232155;--shadow: #20232130;--pending: #555e57;--pending-stripe: #e8e8e8;--surplus: #782346;--on-red: white;--green-tile: #14472c;--tile-error: #f59087;--on-blue: white;--scrollbar-thumb: color-mix(in srgb, var(--ink) 22%, transparent);--scrollbar-thumb-hover: color-mix(in srgb, var(--ink) 38%, transparent)}:root[data-theme=dark]{color-scheme:dark;--paper: #141715;--surface: #1d211f;--ink: #e8ebe7;--blue: #385eff;--line: #2c332e;--chart-grid: #242a26;--muted: #9ba29d;--green: #34a86b;--red: #cc3838;--rose-hand: #ff4d4d;--gold: #d4a72c;--auto-buy: #ca30aa;--warn: #dfa82c;--hover-soft: #ffffff0f;--backdrop: #00000088;--shadow: #00000070;--pending: #8a948d;--pending-stripe: #252b27;--surplus: #d15082;--on-red: white;--on-blue: white;--green-tile: #184a2e;--tile-error: #fca5a5;--scrollbar-thumb: color-mix(in srgb, var(--ink) 20%, transparent);--scrollbar-thumb-hover: color-mix(in srgb, var(--ink) 35%, transparent)}:root[data-theme=dim]{color-scheme:dark;--paper: #202428;--surface: #282e35;--ink: #e6edf3;--blue: #4480ff;--line: #373e47;--chart-grid: #2c333b;--muted: #9aa3ab;--green: #34a86b;--red: #cc3838;--rose-hand: #ff4d4d;--gold: #d4a72c;--auto-buy: #ca30aa;--warn: #dfa82c;--hover-soft: #ffffff0f;--backdrop: #00000088;--shadow: #00000070;--pending: #8a948d;--pending-stripe: #2c333b;--surplus: #d15082;--on-red: white;--on-blue: white;--green-tile: #184a2e;--tile-error: #fca5a5;--scrollbar-thumb: color-mix(in srgb, var(--ink) 20%, transparent);--scrollbar-thumb-hover: color-mix(in srgb, var(--ink) 35%, transparent)}:root[data-theme=navy]{color-scheme:dark;--paper: #161c26;--surface: #1e2636;--ink: #e2e8f0;--blue: #4480ff;--line: #2a374a;--chart-grid: #202c3d;--muted: #94a3b8;--green: #34a86b;--red: #cc3838;--rose-hand: #ff4d4d;--gold: #d4a72c;--auto-buy: #ca30aa;--warn: #dfa82c;--hover-soft: #ffffff0f;--backdrop: #00000088;--shadow: #00000070;--pending: #8492a6;--pending-stripe: #202c3d;--surplus: #d15082;--on-red: white;--on-blue: white;--green-tile: #184a2e;--tile-error: #fca5a5;--scrollbar-thumb: color-mix(in srgb, var(--ink) 20%, transparent);--scrollbar-thumb-hover: color-mix(in srgb, var(--ink) 35%, transparent)}:root[data-theme=olive]{color-scheme:dark;--paper: #181e19;--surface: #212a23;--ink: #e2ede5;--blue: #3880f0;--line: #2d3b30;--chart-grid: #232f26;--muted: #95a599;--green: #34a86b;--red: #cc3838;--rose-hand: #ff4d4d;--gold: #d4a72c;--auto-buy: #ca30aa;--warn: #dfa82c;--hover-soft: #ffffff0f;--backdrop: #00000088;--shadow: #00000070;--pending: #85998a;--pending-stripe: #232f26;--surplus: #d15082;--on-red: white;--on-blue: white;--green-tile: #184a2e;--tile-error: #fca5a5;--scrollbar-thumb: color-mix(in srgb, var(--ink) 20%, transparent);--scrollbar-thumb-hover: color-mix(in srgb, var(--ink) 35%, transparent)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent;border:none}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:none}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:transparent}html{height:100%}body{margin:0;display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;background:var(--paper);color:var(--ink);font:16px Space Grotesk,sans-serif}app-root{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}header{flex-shrink:0;height:114px;margin:0 16px;display:flex;align-items:center;gap:38px;border-bottom:2px solid var(--ink)}main{display:flex;flex-direction:column;width:100%;box-sizing:border-box;margin:0;padding:0 16px;flex:1 1 auto;min-height:0;overflow:hidden}main>section{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.workspace{margin-top:36px}.brand{font-size:36px;font-weight:700;letter-spacing:-2px;text-decoration:none;color:var(--ink)}.brand span{font-weight:400}.brand sup{display:inline-block;margin:8px 0 0 5px;vertical-align:top;color:var(--blue);font:14px IBM Plex Mono,monospace}.chart-heading{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:center;gap:18px}.chart-heading.market-heading{display:flex;flex-direction:column;gap:12px}.market-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}.market-heading-top .resource-row{flex:0 1 auto}.market-heading-top .chart-top-controls{flex:0 0 auto;gap:10px;margin-left:auto}.market-heading-bottom{align-items:flex-end;flex-wrap:wrap;gap:10px 16px}.market-heading-bottom .current-price-row{flex:1 1 auto;min-width:0}.market-heading-bottom .periods{flex:0 0 auto;margin-left:auto}.current-quote{display:flex;flex-direction:column;gap:6px}.current-price-row{display:flex;align-items:flex-end;gap:22px;flex-wrap:nowrap}.price-quote,.vwap-strip li{display:flex;flex-direction:column;gap:3px;min-width:0}.price-quote{flex:0 0 auto}.price-quote>span,.vwap-strip li>span{font-size:11px;color:var(--muted);white-space:nowrap}.price-quote strong,.vwap-strip li strong{font:500 18px/1.2 IBM Plex Mono,monospace;letter-spacing:0;color:var(--ink);font-variant-numeric:tabular-nums}.current-resource-icon{flex:0 0 auto;width:44px;height:44px;object-fit:contain}.vwap-strip{flex:1 1 auto;min-width:0;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:5px 14px;margin:0;padding:0;list-style:none}.vwap-strip::-webkit-scrollbar{display:none}.vwap-strip li{flex:0 0 auto}.vwap-strip li.is-empty strong,.price-quote.is-empty strong{color:var(--muted)}.chart-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:20px}.periods{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px}.periods button{cursor:pointer;font:13px IBM Plex Mono,monospace;border:1px solid transparent;background:none;padding:10px 13px;color:var(--muted)}.periods button:hover{border-color:var(--line)}.periods button:disabled{opacity:.35;cursor:not-allowed;border-color:transparent}.periods button.available-range{border-color:var(--line)}.periods button.active{background:var(--ink);color:var(--paper)}.periods button.active.available-range{border-color:transparent}.chart-modes-wrap{display:flex;align-items:center;gap:10px}.vwap-picker{display:flex;align-items:center;gap:6px}.vwap-picker label{font-size:13px;color:var(--muted);white-space:nowrap}.vwap-picker select{width:auto;max-width:fit-content;padding:6px;border:1px solid var(--line);background:transparent;color:var(--ink);font:13px IBM Plex Mono,monospace}.vwap-picker select:hover{border-color:var(--ink)}.custom-range{display:flex;align-items:center;gap:4px;padding:6px 9px;border:1px solid var(--line);color:var(--muted);font:13px IBM Plex Mono,monospace;cursor:text}.custom-range:hover{border-color:var(--ink)}.custom-range.active{border-color:transparent;background:var(--ink);color:var(--paper)}.custom-range-input::placeholder{color:inherit;opacity:.55}.custom-range-input{width:44px;padding:4px 0;border:0;background:none;color:inherit;font:inherit;text-align:right;appearance:textfield;-moz-appearance:textfield}.custom-range-input::-webkit-outer-spin-button,.custom-range-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.chart-wrap{position:relative;margin-top:20px}#chart,#volume-chart,#company-value-chart,#company-eva-chart{display:block;width:100%;height:auto;overflow:visible}.volume-chart-panel{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.volume-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;margin-bottom:9px}.volume-head label{font-size:13px;color:var(--muted)}.volume-head select{max-width:100%;padding:8px 10px;border:1px solid var(--line);background:transparent;color:var(--ink);font:13px IBM Plex Mono,monospace}.volume-head select:hover{border-color:var(--ink)}.volume-caption{font-size:14px;color:var(--muted)}.volume-wrap{position:relative;margin-top:12px}.chart-dates{display:flex;justify-content:space-between;margin:10px 7.3% 24px 0;font:11px IBM Plex Mono,monospace;color:var(--muted)}#tooltip,#volume-tooltip{position:absolute;top:8px;z-index:2;max-width:100%;background:var(--ink);color:var(--paper);padding:9px 13px;font:13px/1.6 IBM Plex Mono,monospace;white-space:pre-line;pointer-events:none}#tooltip{box-shadow:4px 4px #2948ed33}:root[data-theme=dark] #tooltip,:root[data-theme=dark] #volume-tooltip,:root[data-theme=dim] #tooltip,:root[data-theme=dim] #volume-tooltip,:root[data-theme=navy] #tooltip,:root[data-theme=navy] #volume-tooltip,:root[data-theme=olive] #tooltip,:root[data-theme=olive] #volume-tooltip{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:4px 4px #385eff33}circle[data-vwap-dot][data-highlighted=true]{filter:drop-shadow(0 0 3px var(--blue));transition:r .1s ease-out,stroke-width .1s ease-out}.company-panel{padding:15px 0}.company-panel .refresh-contracts{width:auto;height:30px;padding:4px 10px;gap:6px;white-space:nowrap;color:var(--ink);font-size:13px}.company-panel .refresh-contracts svg{width:16px;height:16px}.company-status{margin:12px 0;font-size:14px;color:var(--muted)}.company-note{margin:18px 0 0;max-width:90ch;font-size:13px;line-height:1.6;color:var(--muted)}@media(min-width:1600px){header{margin:0 16px;width:auto;max-width:none}}@media(max-width:950px){.periods button{padding:9px 10px}}@media(max-width:640px){header{margin:0 22px}.brand{font-size:29px}main{padding:0 22px}.workspace{margin-top:22px}.price-quote strong,.vwap-strip li strong{font-size:16px}.price-quote>span,.vwap-strip li>span{font-size:10px}.current-price-row{flex-wrap:nowrap;gap:10px}.vwap-strip{flex:1 1 auto;overflow-x:auto;gap:4px 12px}.chart-heading{grid-template-columns:minmax(0,1fr)}.chart-heading.market-heading{gap:10px}.market-heading-row{flex-wrap:wrap;gap:8px}.market-heading-top .resource-row{width:100%}.market-heading-top .chart-top-controls{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px}.market-heading-bottom .current-price-row{width:100%}.market-heading-bottom .periods{width:100%;flex-wrap:nowrap;justify-content:flex-start;gap:2px;overflow-x:auto;scrollbar-width:none}.market-heading-bottom .periods::-webkit-scrollbar{display:none}.chart-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;gap:4px 6px}.chart-controls .chart-modes-wrap{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none}.chart-controls .chart-modes-wrap::-webkit-scrollbar{display:none}.chart-controls .periods:not(.chart-modes){grid-row:2}.chart-controls .periods{flex-wrap:nowrap;justify-content:flex-start;gap:2px;overflow-x:auto;scrollbar-width:none}.chart-controls .periods::-webkit-scrollbar{display:none}.vwap-picker{gap:4px}.vwap-picker label{font-size:12px}.vwap-picker select{padding:5px 4px;font-size:12px}.chart-controls .settings-trigger{grid-column:2;grid-row:2;align-self:center;margin-left:0;width:34px;height:34px}.chart-controls .settings-trigger svg{width:20px;height:20px}.periods button{font-size:12px;padding:7px 5px}.custom-range{font-size:12px;padding:4px 6px}.custom-range-input{width:38px}.volume-head{gap:6px 10px;margin-bottom:7px}.volume-head label{font-size:12px}.volume-head select{padding:6px 8px;font-size:12px}.volume-caption{font-size:13px}.chart-dates{margin:8px 17% 18px 0;font-size:10px}}@media(prefers-reduced-motion:no-preference){.periods button{transition:background .15s,color .15s}}.icon-button{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;font-size:26px}.icon-button:hover{border-color:var(--ink)}.icon-button.active,.icon-button.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.settings-trigger{margin-left:auto;flex-shrink:0}#settings-dialog{width:min(880px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px 28px;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 24px 80px var(--shadow)}#settings-dialog::backdrop{background:var(--backdrop)}#settings-dialog .settings-check{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:14px;cursor:pointer}#settings-dialog .settings-check input{flex:0 0 auto;width:19px;height:19px;margin:0;accent-color:var(--blue);cursor:pointer}#global-settings-dialog{width:min(800px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px 28px;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 24px 80px var(--shadow)}#global-settings-dialog.settings-wide{width:min(1463px,calc(100vw - 32px))}#global-settings-dialog::backdrop{background:var(--backdrop)}#global-settings-dialog .settings-preferences{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px;margin-top:20px}#global-settings-dialog .settings-field{min-width:0}#global-settings-dialog label:not(.settings-toggle){display:block;margin:0;font-size:14px;line-height:1.4}#global-settings-dialog select{display:block;width:100%;min-width:0;margin-top:7px;padding:9px 10px;font:inherit;background:transparent;color:var(--ink);border:1px solid var(--line)}#global-settings-dialog .settings-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px;margin-top:22px}#global-settings-dialog .settings-section{min-width:0;margin:0;padding-top:16px;border-top:1px solid var(--line)}#global-settings-dialog .settings-section>label{margin-bottom:8px;font-weight:500}#global-settings-dialog .settings-section .secondary-button{margin:4px 6px 0 0;padding:9px 12px}#global-settings-dialog .settings-toggle,.settings-toggle{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.4;cursor:pointer}#global-settings-dialog .settings-toggle input,.settings-toggle input{flex:0 0 auto;width:19px;height:19px;margin:0;accent-color:var(--blue);cursor:pointer}.settings-switch{display:inline-flex;align-items:center;gap:10px;font-size:14px;line-height:1.4;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:4px}.settings-switch input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}.settings-switch .switch-track{position:relative;display:inline-block;width:38px;height:22px;background:var(--line);border-radius:12px;transition:background-color .2s ease;flex:0 0 38px}.settings-switch input:checked+.switch-track{background:var(--blue)}.settings-switch .switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000047;transition:transform .2s cubic-bezier(.4,0,.2,1)}.settings-switch input:checked+.switch-track .switch-thumb{transform:translate(16px)}.settings-switch input:focus-visible+.switch-track{outline:2px solid var(--ink);outline-offset:2px}#global-settings-dialog .export-thresholds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-top:10px}#global-settings-dialog .export-threshold-row{display:flex;min-width:0;align-items:center;gap:8px}#global-settings-dialog .export-threshold-name{flex:1;min-width:0;font-size:13px;overflow-wrap:anywhere}#global-settings-dialog .export-threshold-row input{flex:0 0 88px;width:88px;min-width:0;padding:7px 8px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:4px;font:inherit}#global-settings-dialog .settings-hint{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.45}#global-settings-dialog .settings-version{margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.45;cursor:help}#global-settings-dialog .settings-version code{padding:2px 6px;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--hover);border:1px solid var(--line);border-radius:4px;color:var(--ink);cursor:help}#global-settings-dialog .settings-value-row{align-items:center;gap:10px;margin:10px 0 0}#global-settings-dialog .settings-value-row input{width:96px;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:inherit}#global-settings-dialog .settings-unit{color:var(--muted);font-size:13px}.price-alerts-panel{padding:12px 0}.price-alerts-panel .price-alert-table-wrap{overflow:auto;min-height:0}.price-alerts-panel .price-alert-table{border-collapse:collapse;font-size:12px;width:100%}.price-alerts-panel .price-alert-table th,.price-alerts-panel .price-alert-table td{padding:5px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums}.price-alerts-panel .price-alert-table thead th{color:var(--muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;text-align:left;position:sticky;top:0;background:var(--paper);z-index:2}.price-alerts-panel .price-alert-table th.price-alert-name{position:sticky;left:0;z-index:1;min-width:150px;background:var(--paper);text-align:left;white-space:normal;font-size:13px;font-weight:400;overflow-wrap:anywhere}.price-alerts-panel .price-alert-table thead th:first-child{position:sticky;left:0;top:0;z-index:3;background:var(--paper)}.price-alerts-panel .price-alert-title{display:flex;align-items:center;gap:6px}.price-alerts-panel .price-alert-icon{flex:none;width:20px;height:20px;object-fit:contain}.price-alerts-panel .price-alert-name em{display:block;color:var(--muted);font-size:11px;font-style:normal;font-variant-numeric:tabular-nums}.price-alerts-panel .price-alert-table td.price-alert-limit input{width:116px;padding-left:18px}.price-alerts-panel .price-alert-limit input:disabled{cursor:not-allowed}.price-alerts-panel .price-alert-target em,.price-alerts-panel .price-alert-limit em{display:block;color:var(--muted);font-size:11px;font-style:normal;font-variant-numeric:tabular-nums}.price-alerts-panel .price-alert-limit.is-off{opacity:.45}.price-alerts-panel .price-alert-table input{width:92px;min-width:0;padding:5px 6px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:4px;font:inherit;font-size:13px;text-align:left}.price-alerts-panel .price-alert-head{display:flex;align-items:center;gap:6px}.price-alerts-panel .price-alert-table input.price-alert-armed{width:15px;height:15px;padding:0;border:0;background:transparent;accent-color:var(--ink);cursor:pointer}.price-alerts-panel .price-alert-table input.price-alert-armed:disabled{cursor:not-allowed;opacity:.45}.price-alerts-panel .price-alert-table tr.is-incomplete input:not(.price-alert-armed){border-color:var(--red)}.price-alerts-panel .price-alert-gap.is-cheaper{color:var(--green)}.price-alerts-panel .price-alert-gap.is-dearer{color:var(--red)}.price-alerts-panel .price-alert-volume.is-has-volume{font-weight:500}.price-alerts-panel .price-alert-paid{display:block;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.price-alerts-panel .price-alert-paid.is-cheaper{color:var(--green)}.price-alerts-panel .price-alert-paid.is-dearer{color:var(--red)}.price-alerts-panel .price-alert-quality-wrap{display:inline-flex;align-items:center;gap:4px}.price-alerts-panel .price-alert-quality-select{padding:4px 6px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:4px;font:inherit;font-size:12px;cursor:pointer;width:95px}.price-alerts-panel .price-alert-row-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--muted);font-size:14px;line-height:1;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.price-alerts-panel .price-alert-row-btn:hover{color:var(--ink);border-color:var(--ink);background:color-mix(in srgb,var(--line) 30%,transparent)}.price-alerts-panel .price-alert-row-btn.is-remove:hover{color:var(--red);border-color:var(--red)}.price-alerts-panel .price-alerts-section-actions{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.price-alerts-panel .section-expand-btn{background:none;border:none;padding:0;color:var(--muted);font:inherit;font-size:11px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.price-alerts-panel .section-expand-btn:hover{color:var(--ink)}.price-alerts-panel .price-alert-section-row{cursor:pointer;-webkit-user-select:none;user-select:none}.price-alerts-panel .price-alert-section-row:hover .price-alert-section-th{background:color-mix(in srgb,var(--line) 35%,var(--paper))}.price-alerts-panel .price-alert-section-th{padding:8px 10px;background:color-mix(in srgb,var(--line) 20%,var(--paper));border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:400}.price-alerts-panel .price-alert-section-head{display:flex;align-items:center;gap:8px}.price-alerts-panel .price-alert-section-chevron{display:inline-block;font-size:9px;line-height:1;color:var(--muted);transition:transform .15s ease}.price-alerts-panel .price-alert-section-chevron.is-expanded{transform:rotate(90deg)}.price-alerts-panel .price-alert-section-title{font-size:13px;font-weight:600;color:var(--ink)}.price-alerts-panel .price-alert-section-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:500;background:var(--chip);color:var(--muted)}.price-alerts-panel .price-alert-section-badge.has-active{background:color-mix(in srgb,var(--green) 20%,var(--chip));color:var(--green);font-weight:600}.price-alerts-panel .price-alert-empty-section-row{cursor:pointer}.price-alerts-panel .price-alert-section-empty{padding:8px 12px 8px 30px;color:var(--muted);font-size:12px;font-style:italic;background:color-mix(in srgb,var(--line) 8%,transparent);border-bottom:1px dashed var(--line)}.price-alerts-panel input[type=number]::-webkit-outer-spin-button,.price-alerts-panel input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.price-alerts-panel input[type=number]{-moz-appearance:textfield;appearance:textfield}.price-alerts-panel .price-alerts-limit-row{display:flex;align-items:center;gap:12px;margin:12px 0 0}.price-alerts-panel .price-alerts-limit-row label{font-size:14px;color:var(--ink);cursor:pointer}.price-alerts-panel .price-alerts-limit-input-wrap input{width:108px;padding:6px 24px 6px 18px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:inherit}.price-alerts-panel .price-alert-input-wrap{position:relative;display:inline-flex;align-items:center}.price-alerts-panel .price-alert-currency-prefix{position:absolute;left:7px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.price-alerts-panel .price-alert-table .price-alert-input-wrap input{padding-right:22px}.price-alerts-panel .price-alert-table input.price-alert-threshold-input{width:96px}.price-alerts-panel .input-clear-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;margin:0;border:none;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;opacity:.65;transition:opacity .15s,color .15s,background-color .15s}.price-alerts-panel .input-clear-btn:hover{opacity:1;color:var(--ink);background-color:var(--chip)}.price-alerts-panel .price-alert-steppers{position:absolute;right:2px;top:2px;bottom:2px;width:16px;display:flex;flex-direction:column;justify-content:center;gap:1px}.price-alerts-panel .stepper-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:0;margin:0;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:2px;line-height:1;transition:color .12s,background-color .12s}.price-alerts-panel .stepper-btn:hover{color:var(--ink);background-color:var(--line)}app-profitability{display:block;height:100%}.profitability-panel{display:flex;flex-direction:column;height:100%;min-height:0;padding:15px 0}.profitability-panel>.profitability-controls,.profitability-panel>app-profitability-chart,.profitability-panel>app-profitability-columns,.profitability-panel>.settings-hint{flex:0 0 auto}.profitability-panel>app-profitability-chart{display:block}.profitability-panel .profitability-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.profitability-panel .profitability-vwap{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.profitability-panel .profitability-vwap select{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:4px 8px}.profitability-panel .profitability-input-wrap{display:inline-flex;align-items:center;position:relative}.profitability-panel .profitability-input-wrap input{font:inherit;font-size:12px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:4px 18px 4px 8px;width:52px;text-align:right;box-sizing:border-box}.profitability-panel .profitability-input-wrap input.profitability-threshold-input{width:74px}.profitability-panel .profitability-input-wrap input:disabled{opacity:.65;cursor:not-allowed;background:var(--surface)}.profitability-panel .profitability-input-wrap .profitability-unit{position:absolute;right:6px;font-size:11px;color:var(--muted);pointer-events:none}.profitability-panel .profitability-controls .profitability-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}.profitability-panel .profitability-controls .profitability-show-hidden{height:30px;padding:4px 10px;font-size:13px;border-radius:6px;white-space:nowrap}.profitability-panel .profitability-controls .profitability-columns-btn{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--ink)}.profitability-panel .profitability-controls .profitability-refreshed{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.profitability-panel .profitability-controls .profitability-refresh-btn{width:auto;height:30px;padding:4px 10px;gap:6px;white-space:nowrap;color:var(--ink);font-size:13px}.profitability-columns-dialog{width:min(460px,calc(100% - 32px))}.profitability-columns-dialog .profitability-columns-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px 14px;margin:12px 0 4px;padding:0;list-style:none}.profitability-columns-dialog .profitability-columns-list label{margin:0;font-size:13px}.profitability-columns-dialog .profitability-columns-list label.is-fixed{color:var(--muted);cursor:default}.profitability-panel .profitability-controls .profitability-refresh-btn svg{width:16px;height:16px}.profitability-panel .profitability-vwap-hint{margin:0}.profitability-panel .profitability-non-vwap-badge{margin-left:3px;font-size:9px;font-weight:700;letter-spacing:.03em;color:var(--warn);vertical-align:super;cursor:help}.profitability-panel .profitability-ratio-badge{margin-left:3px;font-size:9px;font-weight:600;letter-spacing:.03em;color:var(--muted);vertical-align:super}.profitability-panel .profitability-ratio-badge.is-warn{font-weight:700;color:var(--red)}.profitability-panel .profitability-ratio-badge.is-gap{font-weight:600;color:var(--red);opacity:.85}.profitability-panel .profitability-max-badge{margin-left:3px;font-size:9px;font-weight:600;letter-spacing:.03em;color:var(--blue);vertical-align:super}.profitability-chart-card{margin-top:14px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.profitability-chart-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.profitability-chart-title-wrap{display:flex;align-items:center;gap:12px}.profitability-chart-title{margin:0;font-size:15px;font-weight:600;color:var(--ink)}.profitability-clear-btn{font-size:11px;padding:3px 8px}.profitability-chart-options{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.profitability-chart-qualities-bar,.profitability-chart-ranges-bar{display:flex;align-items:center;gap:6px}.profitability-chart-label{font-size:12px;color:var(--muted)}.profitability-chart-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid var(--line);border-radius:4px;background:transparent;font-size:11px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s}.profitability-chart-chip:hover{color:var(--ink);border-color:var(--ink)}.profitability-chart-chip.is-active{color:var(--ink);border-color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent);font-weight:600}.profitability-chip-line{display:inline-block;vertical-align:middle}.profitability-chart-selected-products{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px}.profitability-product-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--line) 30%,transparent);font-size:12px;color:var(--ink)}.profitability-product-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.profitability-product-icon{width:16px;height:16px;object-fit:contain}.profitability-product-remove{background:none;border:none;padding:0 2px;margin-left:2px;font-size:11px;color:var(--muted);cursor:pointer;border-radius:3px;line-height:1}.profitability-product-remove:hover{color:var(--red);background:color-mix(in srgb,var(--red) 15%,transparent)}.profitability-chart-empty{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;padding:8px 14px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);text-align:left}.profitability-chart-empty-icon{flex:none;width:18px;height:18px;opacity:.5}.profitability-chart-empty-text{margin:0;font-size:13px;color:var(--muted)}.profitability-chart-svg-wrap{position:relative;width:100%;height:clamp(180px,26vh,290px);display:flex}.profitability-chart-svg{width:100%;height:100%;display:block;overflow:visible;cursor:crosshair}.profitability-chart-grid,.profitability-chart-grid-v{stroke:var(--line);stroke-width:1;stroke-dasharray:3 3;opacity:.65}.profitability-chart-zero-line{stroke:var(--ink);stroke-width:1.2;stroke-dasharray:4 2;opacity:.5}.profitability-chart-axis-label{fill:var(--muted);font-size:11px;-webkit-user-select:none;user-select:none}.profitability-chart-axis-label.y-axis{text-anchor:end}.profitability-chart-axis-label.x-axis{text-anchor:middle}.profitability-chart-line,.profitability-chart-point{pointer-events:none}.profitability-chart-hover-line{stroke:var(--ink);stroke-width:1.5;stroke-dasharray:3 3;opacity:.6;pointer-events:none}.profitability-chart-tooltip{position:absolute;pointer-events:none;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:12px;box-shadow:0 4px 16px #00000038;z-index:10;display:flex;flex-direction:column;gap:5px;min-width:180px;max-width:280px;transform:translate(12px);transition:transform .05s ease-out}.profitability-chart-tooltip.is-flip{transform:translate(calc(-100% - 12px))}.profitability-chart-tooltip-time{font-weight:600;color:var(--ink);margin-bottom:2px;border-bottom:1px solid var(--line);padding-bottom:3px}.profitability-chart-tooltip-row{display:flex;align-items:center;gap:6px;color:var(--muted)}.profitability-chart-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.profitability-chart-tooltip-name{color:var(--ink);font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profitability-chart-tooltip-q{font-size:10px;font-weight:600;padding:1px 4px;border-radius:3px;background:color-mix(in srgb,var(--line) 50%,transparent)}.profitability-chart-tooltip-val{margin-left:auto;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.profitability-chart-tooltip-val.is-negative{color:var(--red)}.profitability-panel .profitability-table-wrap{flex:1 1 0;min-height:120px;margin-top:12px;overflow:auto;overscroll-behavior:contain}@media(max-width:999px){app-profitability{height:auto}.profitability-panel{display:block;height:auto}.profitability-panel .profitability-table-wrap{flex:none;min-height:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior:auto}}.profitability-panel .profitability-table{border-collapse:collapse;font-size:12px;width:100%}.profitability-panel .profitability-table th,.profitability-panel .profitability-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.profitability-panel .profitability-table thead th{position:sticky;top:0;z-index:2;background:var(--paper);color:var(--muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;text-align:left}.profitability-panel .profitability-sort{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.profitability-panel .profitability-table thead th:hover .profitability-sort{color:var(--ink)}.profitability-panel .profitability-arrow{font-size:10px}.profitability-panel .profitability-table tbody th.profitability-name{position:sticky;left:0;z-index:1;min-width:170px;background:var(--paper);text-align:left;white-space:normal;font-size:13px;font-weight:400;overflow-wrap:anywhere}.profitability-panel .profitability-table thead th:first-child{position:sticky;left:0;z-index:3;background:var(--paper)}.profitability-panel .profitability-title{display:flex;align-items:center;gap:6px}.profitability-panel .profitability-icon{flex:none;width:20px;height:20px;object-fit:contain}.profitability-panel .profitability-building{text-align:left}.profitability-panel .profitability-number.is-negative{color:var(--red)}.profitability-panel .profitability-refreshed{font-variant-numeric:tabular-nums}.profitability-panel .profitability-table tbody tr{cursor:pointer;transition:background .15s}.profitability-panel .profitability-table tbody tr:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.profitability-panel .profitability-table tbody tr:hover th.profitability-name{background:color-mix(in srgb,var(--ink) 4%,var(--paper))}.profitability-panel .profitability-table tbody tr.is-producing{background:color-mix(in srgb,var(--blue) 7%,transparent)}.profitability-panel .profitability-table tbody tr.is-producing th.profitability-name{background:color-mix(in srgb,var(--blue) 7%,var(--paper))}.profitability-panel .profitability-table tbody tr.is-selected{background:color-mix(in srgb,var(--blue) 12%,transparent)}.profitability-panel .profitability-table tbody tr.is-selected th.profitability-name{background:color-mix(in srgb,var(--blue) 12%,var(--paper));box-shadow:inset 4px 0 0 var(--blue)}.profitability-panel .profitability-table tbody tr.is-hidden-row th,.profitability-panel .profitability-table tbody tr.is-hidden-row td{color:var(--muted)}.profitability-hide{flex:none;width:18px;height:18px;padding:0;border:0;border-radius:4px;background:none;color:var(--muted);cursor:pointer;font-size:12px;line-height:18px;text-align:center}.profitability-hide:hover{color:var(--ink);background:color-mix(in srgb,var(--line) 60%,transparent)}.profitability-override-btn{flex:none;width:18px;height:18px;padding:0;border:0;border-radius:4px;background:none;color:var(--muted);cursor:pointer;font-size:13px;line-height:18px;text-align:center;transition:color .15s,background .15s}.profitability-override-btn:hover{color:var(--ink);background:color-mix(in srgb,var(--line) 60%,transparent)}.profitability-override-btn.is-active{color:var(--blue)}.profitability-override-badge{font-size:10px;line-height:1;padding:1px 4px;border-radius:3px;background:color-mix(in srgb,var(--blue) 15%,transparent);color:var(--blue);font-weight:600;letter-spacing:.02em;margin-left:4px;white-space:nowrap}.profitability-override-dialog{max-width:420px;width:90vw}.profitability-override-form{display:flex;flex-direction:column;gap:12px;margin:16px 0}.profitability-tooltip{position:fixed;z-index:40;width:max-content;max-width:min(840px,calc(100vw - 24px));background:var(--ink);color:var(--paper);padding:9px 13px;font:13px/1.6 IBM Plex Mono,monospace;pointer-events:auto;box-shadow:4px 4px #2948ed33}:root[data-theme=dark] .profitability-tooltip,:root[data-theme=dim] .profitability-tooltip,:root[data-theme=navy] .profitability-tooltip,:root[data-theme=olive] .profitability-tooltip{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:4px 4px #385eff33}.profitability-tooltip.is-above{transform:translateY(-100%)}.profitability-tooltip-block+.profitability-tooltip-block{margin-top:10px}.profitability-tooltip-line{display:flex;align-items:flex-start;gap:7px}.profitability-tooltip-icon{flex:none;width:15px;height:15px;margin-top:2px}.price-alerts-panel .settings-unit{color:var(--muted);font-size:13px}.price-alerts-panel .spend-meter{display:grid;gap:4px;margin:8px 0 2px}.price-alerts-panel .spend-meter-track{height:6px;border-radius:999px;background:color-mix(in srgb,var(--line) 70%,transparent);overflow:hidden}.price-alerts-panel .spend-meter-fill{height:100%;border-radius:999px;background:var(--blue)}.price-alerts-panel .spend-meter.is-over .spend-meter-fill{background:var(--red)}.price-alerts-panel .spend-meter.is-over p{color:var(--red)}.price-alerts-panel .spend-meter p{margin:0}.price-alerts-save{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.price-alerts-save .secondary-button{margin:0}.price-alerts-save-state{font-size:12px;color:var(--green)}.price-alerts-save-state.is-failed{color:var(--red)}#panel-price-alerts{overflow-y:hidden}app-price-alerts{display:block;height:100%}.price-alerts-panel{height:100%;box-sizing:border-box;display:flex;flex-direction:column;padding:6px 0}.price-alerts-panel .market-data-columns{align-items:stretch;height:100%;max-height:100%;min-height:0;gap:12px}:has(.exit-alarm) .price-alerts-panel .market-data-columns{height:100%;max-height:100%}.price-alerts-panel .market-data-card{padding:10px 14px}.price-alerts-panel .market-data-card h2{margin:0 0 8px;font-size:15px}.price-alerts-panel .settings-hint{margin-top:4px;font-size:11px;line-height:1.35}.price-alerts-panel .settings-toggle{margin-bottom:4px;font-size:13px}.price-alerts-panel .price-alerts-limit-row{margin:4px 0}.price-alerts-panel .price-alerts-limit-row label{font-size:13px}.price-alerts-panel .spend-meter{margin:4px 0 2px}.price-alerts-panel .price-alerts-save{margin-top:8px;gap:8px}.price-alerts-panel .price-alerts-side-col{display:flex;flex-direction:column;gap:10px;min-width:0;height:100%;min-height:0}.price-alerts-panel .price-alerts-side-col>section:first-child{flex:0 0 auto}.price-alerts-panel .price-alert-history-card{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden}.price-alerts-panel .price-alert-history-header,.price-alerts-panel .price-alerts-thresholds-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px;flex:0 0 auto}.price-alerts-panel .price-alert-history-header h2,.price-alerts-panel .price-alerts-thresholds-header h2{margin:0;font-size:16px;font-weight:600}.price-alerts-panel .price-alert-history-filter,.price-alerts-panel .price-alerts-mode-toggle{margin:0;font-size:11px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.price-alerts-panel .price-alert-history-filter input[type=checkbox],.price-alerts-panel .price-alerts-mode-toggle input[type=checkbox]{margin:0 4px 0 0;vertical-align:middle}.price-alerts-panel .price-alert-history-table-wrap{flex:1 1 0;min-height:0;overflow-y:auto;border-top:1px solid var(--line);margin:4px 0 6px}.price-alerts-panel .price-alert-history-table{width:100%;border-collapse:collapse;font-size:12px}.price-alerts-panel .price-alert-history-table th,.price-alerts-panel .price-alert-history-table td{padding:5px 6px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;text-align:left}.price-alerts-panel .price-alert-history-table thead th{color:var(--muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;text-align:left;position:sticky;top:0;background:var(--paper);z-index:1}.price-alerts-panel .price-alert-history-icon-col{text-align:left;width:28px;padding:4px}.price-alerts-panel .price-alert-history-icon-col .price-alert-icon{display:inline-block;vertical-align:middle;width:16px;height:16px}.price-alerts-panel .price-alert-history-status-col{text-align:left;width:26px;padding:4px}.price-alerts-panel .price-alert-status-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;vertical-align:middle}.price-alerts-panel .price-alert-status-icon.is-bought{color:var(--green, #22c55e)}.price-alerts-panel .price-alert-status-icon.is-no-money{color:var(--accent, #f97316)}.price-alerts-panel .price-alert-status-icon.is-limit{color:var(--yellow, #eab308)}.price-alerts-panel .price-alert-status-icon.is-refused{color:var(--red, #ef4444)}.price-alerts-panel .price-alert-status-svg{display:block}.price-alerts-panel .price-alert-history-qty,.price-alerts-panel .price-alert-history-price{text-align:left}.price-alerts-panel .price-alert-history-reason{text-align:left;color:var(--muted);white-space:normal}.price-alerts-panel .price-alert-history-date{text-align:left;color:var(--muted);white-space:nowrap}.price-alerts-panel .price-alert-history-table tr.is-failed td{color:var(--muted);opacity:.72}.price-alerts-panel .price-alert-history-table tr.is-failed .price-alert-icon{opacity:.65}.price-alerts-panel .price-alert-history-table tr.is-failed .price-alert-status-icon{opacity:.95}.price-alerts-panel .price-alert-history-card .settings-hint{margin-top:0;flex:0 0 auto}.price-alerts-panel .price-alerts-thresholds-card{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.price-alerts-panel .price-alerts-thresholds-card h2{flex:0 0 auto;margin:0 0 8px;font-size:16px;font-weight:600}.price-alerts-panel .price-alert-table-wrap{flex:1 1 0;min-height:0;overflow:auto;margin-top:0}@media(max-width:999px){#panel-price-alerts{overflow-y:auto}app-price-alerts{height:auto}.price-alerts-panel{padding:15px 0;height:auto}.price-alerts-panel .market-data-columns,:has(.exit-alarm) .price-alerts-panel .market-data-columns{height:auto;max-height:none}.price-alerts-panel .price-alerts-thresholds-card{height:auto}.price-alerts-panel .price-alert-history-card{min-height:280px;max-height:50vh}}#global-settings-dialog form{margin-top:18px}#global-settings-dialog .settings-done{display:block;margin:0 0 0 auto;padding:10px 20px;border:0;background:var(--ink);color:var(--paper);font:inherit;cursor:pointer}.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-heading h2{margin:0;font-size:22px;font-weight:500}#global-settings-dialog .settings-tabs{display:flex;gap:24px;margin-top:18px;border-bottom:1px solid var(--line);overflow-x:auto}#global-settings-dialog .settings-tabs button{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;padding:10px 0;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font:500 15px Space Grotesk,sans-serif;cursor:pointer}#global-settings-dialog .settings-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--blue)}#global-settings-dialog .settings-panel{margin-top:18px}#global-settings-dialog .settings-panel[hidden]{display:none}#global-settings-dialog .retention-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}#global-settings-dialog .retention-actions .secondary-button,#global-settings-dialog .retention-actions .settings-hint{margin:0}#global-settings-dialog .settings-panel .settings-section{padding-top:0;border-top:0}#global-settings-dialog .settings-panel .settings-sections,#global-settings-dialog .settings-panel .settings-preferences{margin-top:0}.settings-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.export-thresholds{display:flex;flex-direction:column;gap:8px;margin-top:12px}.export-threshold-row{display:flex;align-items:center;gap:12px}.export-threshold-name{flex:1;font-size:14px;overflow-wrap:anywhere}.export-threshold-row input{width:130px;padding:8px 10px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:4px;font:inherit}.settings-hint{color:var(--muted);font-size:13px;margin-top:8px}html[data-hints=hidden] .settings-hint:not([role=status]),html[data-hints=hidden] .is-hint,html[data-hints=hidden] .proxy-help{display:none}#global-settings-dialog .settings-field>.settings-toggle{margin-top:7px}@media(max-width:720px){#global-settings-dialog{width:calc(100vw - 24px);padding:20px}#global-settings-dialog .settings-preferences{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#global-settings-dialog .settings-sections{grid-template-columns:minmax(0,1fr);gap:18px}}@media(max-width:640px){#global-settings-dialog .settings-tabs{flex-wrap:wrap;gap:0 18px;overflow-x:visible}#global-settings-dialog .settings-tabs button{padding:8px 0;font-size:14px}}@media(max-width:480px){#global-settings-dialog{padding:18px}#global-settings-dialog .settings-preferences,#global-settings-dialog .export-thresholds{grid-template-columns:minmax(0,1fr)}}#settings-dialog p{font-size:14px;line-height:1.6;color:var(--muted)}#settings-dialog .settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px;margin-top:18px}#settings-dialog .settings-field{min-width:0}#settings-dialog .settings-field>label:first-child{margin-top:0}#settings-dialog .settings-field p{margin:6px 0 0}#settings-dialog label{display:block;margin-top:16px;font-size:15px}.settings-value-row{display:flex;align-items:center;gap:20px;margin:18px 0}#settings-dialog .settings-field .settings-value-row{margin:10px 0 0}#profile-levels,#merge-tolerance{width:100%;accent-color:var(--blue);cursor:pointer}#my-trades-split{width:96px;padding:8px 10px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit}#settings-dialog .night-hours{gap:8px;margin:10px 0 0}#night-from,#night-to{width:72px;padding:8px 10px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit}#night-from:disabled,#night-to:disabled{opacity:.55}#my-trades-split-value{text-align:right;font:20px IBM Plex Mono,monospace}#profile-levels-value,#merge-tolerance-value{min-width:36px;text-align:right;font:24px IBM Plex Mono,monospace}.settings-done{display:block;margin:24px 0 0 auto;padding:12px 22px;border:0;background:var(--ink);color:var(--paper);font:inherit;cursor:pointer}#settings-dialog select{display:block;width:100%;min-width:0;margin-top:10px;padding:9px 10px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit}#settings-dialog form{margin-top:16px}.chart-controls{flex-wrap:wrap}@media(max-width:860px){#settings-dialog{width:calc(100% - 24px);padding:20px}#settings-dialog .settings-grid{grid-template-columns:minmax(0,1fr);gap:14px}}.page-tabs{display:flex;gap:8px;margin-top:0;border-bottom:1px solid var(--line)}.page-tabs-list{display:flex;gap:8px}.tabs-trigger,.tabs-backdrop{display:none}.page-tabs-list button{display:inline-flex;align-items:center;gap:5px;border:0;border-bottom:2px solid transparent;padding:12px 0;background:none;color:var(--muted);font:500 15px Space Grotesk,sans-serif;cursor:pointer}.tab-icon{flex:0 0 auto;width:14px;height:14px}.page-tabs-list button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--blue)}.contracts-panel{padding:15px 0}.contracts-panel p{color:var(--muted);font-size:15px}.settings-trigger[hidden]{display:none}.contract-progress-scroll{margin-top:4px}.contract-progress{display:flex;flex-direction:column;gap:8px}.contract-segment{--contract-bar-height: 38px;position:relative;display:flex;flex-direction:column;flex:none;min-width:0;overflow:visible}.contract-segment-main{position:relative;height:var(--contract-bar-height);background:var(--surface)}.contract-segment-fill{position:absolute;inset:0 auto 0 0;background:var(--contract-color);opacity:.16}:root[data-theme=dark] .contract-segment-fill,:root[data-theme=dim] .contract-segment-fill,:root[data-theme=navy] .contract-segment-fill,:root[data-theme=olive] .contract-segment-fill{opacity:.28}.contract-segment-label{position:relative;height:var(--contract-bar-height)}.contract-segment-label strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contract-segment-label span{font-size:13px;overflow-wrap:anywhere}.progress-empty{align-self:center;padding:20px;color:var(--muted);font-size:14px}.contracts-panel .contracts-explanation{font-size:12px;line-height:1.6}.contracts-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px}.contracts-toolbar p{font-size:13px}.primary-button,.secondary-button,.danger-button,.text-danger{font:inherit;cursor:pointer;padding:11px 16px;border:1px solid var(--line)}.primary-button{background:var(--ink);color:var(--paper);border-color:var(--ink)}.secondary-button{background:transparent;color:var(--ink)}.danger-button{background:var(--red);color:var(--on-red);border-color:var(--red)}.text-danger{background:transparent;color:var(--red);border-color:transparent}button:disabled{cursor:not-allowed;opacity:.5}.contract-card{padding:24px 0 24px 20px;border-top:1px solid var(--line);border-left:3px solid var(--contract-color);margin:20px 0}.contract-card-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px;overflow-wrap:anywhere}.contract-card-title h2{margin:0;font-size:20px;font-weight:500}.contract-resource{color:var(--muted);font-size:14px}.contract-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.contract-details dt{font-size:12px;color:var(--muted)}.contract-details dd{margin:6px 0 0;overflow-wrap:anywhere}.contract-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.contract-status{margin-right:auto;font-size:14px}.contract-dialog{width:min(900px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px;background:var(--paper);color:var(--ink);border:1px solid var(--line)}.contract-editor-dialog{width:min(1120px,calc(100% - 32px))}.contract-editor-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);align-items:start;gap:0 32px}.contract-editor-column{min-width:0}.contract-editor-column>:first-child{margin-top:0}@media(max-width:820px){.contract-editor-columns{grid-template-columns:minmax(0,1fr);gap:0}}.contract-dialog::backdrop{background:var(--backdrop)}.contract-dialog h2{font-size:24px;font-weight:500;margin:0 0 22px}.contract-dialog .dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.contract-dialog .dialog-heading h2{margin:0}.contract-dialog label{display:block;margin:18px 0 8px;font-size:14px}.contract-dialog input,.contract-dialog select{display:block;width:100%;min-width:0;padding:12px;font:inherit;background:transparent;color:var(--ink);border:1px solid var(--line)}.contract-dialog textarea{display:block;width:100%;min-width:0;padding:12px;font:inherit;background:transparent;color:var(--ink);border:1px solid var(--line);resize:vertical}.contract-company-field{position:relative}.contract-company-field input{padding-right:42px}.company-validation-icon{position:absolute;top:50%;right:12px;transform:translateY(-50%);font-size:22px;font-weight:700;line-height:1;pointer-events:none}.company-validation-icon.is-valid{color:var(--green, #2f8f46)}.company-validation-icon.is-invalid{color:var(--red)}.company-validation-icon.is-checking{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:company-check-spin .7s linear infinite}@keyframes company-check-spin{to{transform:translateY(-50%) rotate(360deg)}}.contract-checkbox{display:flex!important;align-items:center;gap:8px}.contract-send-form .contract-checkbox{margin-top:10px}.contract-checkbox input{width:auto}.contract-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.form-error{color:var(--red);font-size:14px}.contracts-message{font-size:14px}.contract-send-dialog{width:min(600px,calc(100% - 32px))}.contract-send-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px 24px;margin-top:18px}.contract-send-field{min-width:0}.contract-send-field strong{display:block;font-weight:500;overflow-wrap:anywhere}.contract-send-field .contract-range-label{margin:0 0 6px}.contract-send-field .contract-send-company{display:flex;align-items:center;gap:8px;min-width:0}.contract-send-field .contract-send-logo{width:22px;height:22px;margin:0}@media(max-width:640px){.contract-send-summary{grid-template-columns:1fr}}@media(max-width:640px){.contract-details{grid-template-columns:1fr 1fr}.contracts-toolbar{align-items:flex-start;flex-direction:column}.contract-form-grid{grid-template-columns:1fr;gap:0}.contract-dialog{padding:20px}}.purchase-dialog{width:min(720px,calc(100% - 32px))}.night-dialog{width:min(560px,calc(100% - 32px))}.purchase-table{width:100%;border-collapse:collapse;margin:14px 0 0;font-size:14px}.purchase-table th,.purchase-table td{padding:8px 10px 8px 0;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}.purchase-table th:first-child,.purchase-table td:first-child{text-align:left;white-space:normal}.purchase-table th{font-weight:500;font-size:12px;color:var(--muted)}.purchase-table th:not(:first-child){white-space:normal}.purchase-table td strong{font-weight:600}.purchase-blocked-row td{color:var(--red)}.purchase-total{margin:12px 0 0;font-size:16px}@media(max-width:640px){.purchase-dialog{padding:16px}.purchase-table{font-size:11px}.purchase-table th,.purchase-table td{padding:6px 5px 6px 0}.purchase-table th{font-size:11px}}.contract-segment-pending{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,var(--pending-stripe) 0 6px,transparent 6px 12px),color-mix(in srgb,var(--contract-color) 14%,transparent)}.contract-segment-missing{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;background:color-mix(in srgb,var(--red) 20%,transparent);color:var(--red);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.contract-pending-label{color:var(--pending)}.contract-aggregate{margin-bottom:24px;overflow:visible}.contract-aggregate .contract-name-row strong{font-weight:600}.contract-surplus-bars{display:flex;flex-direction:column;gap:2px}.contract-surplus-row{display:flex;align-items:center;gap:4px}.contract-surplus-track{display:flex;flex:1 1 auto;height:4px;min-width:0;background:color-mix(in srgb,var(--blue) 10%,transparent)}.contract-surplus-bar{display:flex;height:100%}.contract-surplus-more{align-self:flex-start;margin-left:-2px;color:var(--muted);font-size:10px;line-height:8px;letter-spacing:.06em}.contract-surplus-delivered{flex-basis:0;height:100%;background:color-mix(in srgb,var(--blue) 30%,transparent)}.contract-surplus-pending{flex-basis:0;height:100%;background:repeating-linear-gradient(135deg,var(--pending-stripe) 0 2px,transparent 2px 6px),color-mix(in srgb,var(--blue) 30%,transparent)}.contract-progress-caption{position:absolute;top:0;bottom:0;left:16px;max-width:calc(100% - 32px);display:flex;flex-direction:column;justify-content:center;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contract-progress-caption strong{white-space:nowrap}.contract-progress-stats{position:absolute;z-index:5;top:0;left:0;right:0;height:var(--contract-bar-height);text-align:center;pointer-events:none}.contract-progress-stat{position:absolute;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;min-width:0;padding:0 4px;overflow:hidden;pointer-events:auto}.contract-progress-stat strong{font-size:14px;font-weight:500;white-space:normal;overflow-wrap:anywhere}.contract-progress-stat span{color:var(--muted)}.contract-company-logo{width:18px;height:18px;object-fit:contain;vertical-align:middle;margin-right:7px;flex-shrink:0}.contract-card-title>.contract-company-logo{width:28px;height:28px;margin-right:0;align-self:center}.contract-progress-caption.has-logo{flex-direction:row;align-items:center;justify-content:flex-start;gap:6px}.contract-caption-text{display:flex;flex-direction:column;min-width:0;overflow:hidden}.contract-progress-caption>.contract-company-logo,.contract-progress-caption .contract-company-link .contract-company-logo{width:28px;height:28px;margin:0;display:block;object-fit:contain}.page-tabs-list{overflow-x:auto}.page-tabs-list button{flex-shrink:0}@media(max-width:1300px){.page-tabs-list{gap:7px}.page-tabs-list button{gap:4px}}@media(min-width:641px){.page-tabs-list{flex:1 1 auto;justify-content:space-between}}.refresh-contracts{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:4px;border:0}.refresh-contracts:hover{color:var(--ink);background:var(--surface)}.refresh-contracts[hidden]{display:none}.contract-history-toggle{display:block;list-style:none;cursor:pointer;position:relative}.contract-history-toggle::-webkit-details-marker{display:none}.contract-history-toggle:after{content:"";position:absolute;top:50%;left:12px;width:12px;height:7px;background:var(--muted);clip-path:polygon(0 0,50% 70%,100% 0,100% 30%,50% 100%,0 30%);transform:translateY(-50%);pointer-events:none}.contract-history[open]>.contract-history-toggle:after{transform:translateY(-50%) rotate(180deg)}.contract-history-toggle .contract-progress-caption{left:36px;max-width:calc(100% - 52px)}.contract-history-toggle .contract-aggregate{margin-bottom:0}.aggregate-history{position:relative;margin-bottom:5px}.contract-history-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.contract-history-content{display:grid;gap:6px;margin:10px 0 8px 20px;padding-left:12px;border-left:1px solid var(--line)}.contract-history-content>p{margin:8px 0}.contract-history-content .contract-segment{--contract-bar-height: 22px;min-height:22px}.contract-history-content .contract-progress-caption{top:0;bottom:0;left:10px;max-width:calc(100% - 20px);line-height:16px}.contract-history-content .contract-name-row{min-height:16px}.contract-history-content .contract-name-row>span{font-size:12px;line-height:16px}.contract-history-content .contract-day-price{font-size:11px;padding:0 5px;line-height:15px;margin-left:6px}.contract-history-content .contract-progress-stat strong{font-size:12px;line-height:16px}.contract-name-row{display:flex;align-items:center;gap:0px;min-width:0;min-height:20px;height:auto}.contract-bar-edit{position:relative;z-index:6;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;padding:8px;border:0;background:transparent;color:var(--muted);cursor:pointer}.contract-bar-edit:hover{color:var(--ink);background:var(--hover-soft);border-radius:4px}.contract-bar-edit:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.delete-from-editor{margin-right:auto;padding-left:0;padding-right:0;text-align:left;white-space:nowrap}.delete-from-editor[hidden]{display:none}.contract-editor-actions{align-items:center;justify-content:space-between;flex-wrap:wrap}.contract-editor-save-actions{display:flex;gap:12px;margin-left:auto}.add-contract{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;white-space:nowrap}.add-contract svg{flex-shrink:0}.add-contract:hover{background:var(--surface)}.refresh-contracts svg{flex-shrink:0}.contract-progress-stat{overflow:visible}.contract-progress-stat strong{white-space:nowrap;overflow:visible;overflow-wrap:normal}.contract-progress-stat.is-outside{z-index:1;text-align:left}.contract-progress-stat.is-outside strong{background:var(--paper);padding:1px 4px}app-market{width:100%}[hidden]{display:none!important}.delete-confirmation{border-top:1px solid var(--line);margin-top:20px}.contract-range-hint{margin:10px 0 0;color:var(--muted);font-size:13px}.contract-date-field{display:flex;align-items:center;border:1px solid var(--line)}.contract-date-field input{flex:1;border:0}.clear-contract-date{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;margin-right:8px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer}.clear-contract-date:hover{background:var(--line)}.clear-contract-date:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.contract-range-list{display:grid;gap:8px}.contract-range-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(84px,120px) minmax(72px,100px) auto;grid-template-areas:"from to quantity limit remove" "modify modify modify modify modify";gap:8px;align-items:end;padding:8px;border:1px solid var(--line)}.contract-range-from{grid-area:from}.contract-range-to{grid-area:to}.contract-range-row .contract-range-quantity{grid-area:quantity}.contract-range-row .contract-range-limit{grid-area:limit}.contract-range-row .contract-range-modify{grid-area:modify}.contract-range-row .contract-range-remove{grid-area:remove;align-self:center}.contract-range-field{min-width:0}.contract-range-row input{padding:12px 8px;font-size:14px}.contract-dialog .contract-range-label{display:block;margin:0 0 6px;font-size:12px;color:var(--muted)}.contract-range-quantity input,.contract-range-limit input{width:100%}.contract-range-row .clear-contract-date{width:24px;height:24px;margin-right:4px}.contract-range-remove{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.contract-range-remove:hover{background:var(--hover-soft)}.contract-range-remove:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.contract-range-add{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:10px}.contract-range-add svg{flex-shrink:0}@media(max-width:640px){.contract-range-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"from" "to" "quantity" "limit" "modify" "remove"}.contract-range-row .contract-range-remove{justify-self:start}}.resource-contracts{padding:12px 14px;border:1px solid var(--line)}.resource-contracts+.resource-contracts{margin-top:10px}.contracts-sections-container.two-columns{column-count:2;column-gap:12px}.contracts-sections-container.two-columns .resource-contracts{display:inline-block;width:100%;box-sizing:border-box;break-inside:avoid;margin:0 0 12px;min-width:0}@media(max-width:860px){.contracts-sections-container.two-columns{column-count:1;column-gap:0}}.incoming-contracts{margin-bottom:18px;padding:12px 14px;border:1px solid var(--line);background:var(--surface)}.incoming-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:0 0 10px}.incoming-heading h2{margin:0;font-size:16px;font-weight:500}.incoming-heading-count,.incoming-heading-other{color:var(--muted);font-size:13px}.incoming-heading-total{font-size:13px;font-variant-numeric:tabular-nums}.incoming-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.incoming-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:6px 10px;background:var(--paper);border-left:3px solid transparent}.incoming-row.is-flagged{border-left-color:var(--red)}.incoming-row.is-alarming{border-left-color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--paper))}.incoming-resource-icon{width:20px;height:20px;flex-shrink:0}.incoming-party{font-weight:500}.incoming-resource,.incoming-detail{color:var(--muted);font-size:13px}.incoming-note{margin:0 0 10px;color:var(--muted);font-size:12px}.incoming-amount{font-variant-numeric:tabular-nums}.incoming-flag{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--red);color:var(--on-red);font-size:11px;font-weight:700}.incoming-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}.incoming-package-picker{display:inline-flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:0 4px;height:32px;box-sizing:border-box}.incoming-package-picker .stepper-btn{width:20px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--ink);cursor:pointer;font-weight:700;font-size:14px;border-radius:2px;padding:0;line-height:1}.incoming-package-picker .stepper-btn:hover:not(:disabled){background:var(--hover-soft)}.incoming-package-picker .stepper-btn:disabled{opacity:.35;cursor:default}.incoming-package-input{width:32px;text-align:center;border:none;background:transparent;color:var(--ink);font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;padding:0;-moz-appearance:textfield}.incoming-package-input::-webkit-outer-spin-button,.incoming-package-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.incoming-package-total{color:var(--muted);font-size:12px;padding-right:4px;-webkit-user-select:none;user-select:none}.incoming-packages-badge{display:inline-block;font-weight:600;color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,var(--paper));padding:1px 6px;border-radius:4px;margin-right:4px;font-size:12px}.incoming-accept,.incoming-reject{flex-shrink:0;height:32px;padding:4px 12px}.incoming-error{margin:8px 0 0;color:var(--muted);font-size:13px}.contract-bar-accept{color:var(--blue)}.contract-bar-accept.is-alarming{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent);border-radius:4px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--red) 35%,transparent)}.contract-bar-accept.is-alarming .contract-bar-accept-count{background:var(--red);color:var(--on-red)}.contract-bar-cancel:disabled{cursor:wait}.contract-bar-accept-count{position:absolute;top:0;right:0;min-width:13px;height:13px;border-radius:999px;background:var(--blue);color:var(--on-blue);font-size:9px;line-height:13px;text-align:center;font-variant-numeric:tabular-nums}.contract-accept-choice{display:grid;gap:6px;margin:14px 0 0;padding:10px;border:1px solid var(--line)}.contract-accept-choice legend{padding:0 6px;color:var(--muted);font-size:12px}.contract-accept-package-selector{display:flex;align-items:center;justify-content:space-between;margin:12px 0 6px;padding:8px 12px;background:var(--hover-soft);border-radius:6px}.contract-accept-package-selector label{font-weight:500;font-size:13px}.contract-package-hint{display:inline-block;margin-left:6px;color:var(--muted);font-size:12px;font-weight:400}.contract-dialog .contract-accept-option{display:flex;align-items:center;gap:10px;margin:0;padding:6px 8px;font-size:13px;cursor:pointer}.contract-dialog .contract-accept-option input{width:auto;display:inline-block;margin:0;padding:0;flex:0 0 auto;accent-color:var(--blue)}.contract-accept-option.is-chosen{background:var(--hover-soft)}.contract-accept-option-party{flex:1 1 auto;min-width:0;font-weight:500}.contract-accept-option strong{font-variant-numeric:tabular-nums}.contract-accept-total{font-size:14px}.contract-accept-warning{color:var(--red)}.contract-accept-market{margin-top:14px}.accept-market{width:100%;border-collapse:collapse;font-size:13px}.accept-market th,.accept-market td{padding:3px 8px 3px 4px;text-align:left;vertical-align:baseline}.accept-market thead th{color:var(--muted);font-size:12px;font-weight:400}.accept-market tbody th{font-weight:400}.accept-market td{font-variant-numeric:tabular-nums;white-space:nowrap}.accept-market td strong{font-weight:500}.accept-market .analysis-gap{margin-left:6px;font-size:12px}.market-list-icon{width:36px;height:36px;margin-right:9px;vertical-align:middle;object-fit:contain}.market-list-table td{white-space:nowrap}.market-list-mine,.market-list-sale{vertical-align:top}.market-list-mine-line{display:block;white-space:nowrap}.market-list-mine-line+.market-list-mine-line{margin-top:2px;color:var(--muted)}.market-list-none{color:var(--muted)}.market-list-dialog{width:min(1280px,calc(100% - 32px))}.market-pending-section{margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.market-pending-section h3{margin:0 0 6px;font-size:16px;font-weight:600}.accept-market tbody tr.is-selected-basis{background:color-mix(in srgb,var(--blue) 12%,transparent)}.accept-market tbody tr.is-selected-basis th{color:var(--blue);font-weight:600}.accept-market tbody tr.is-selected-basis td strong{font-weight:600}.contracts-top-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.contracts-top-actions .add-contract,.contracts-top-actions .resend-contracts,.contracts-top-actions .refresh-contracts{height:30px;padding:4px 10px;gap:6px;font-size:13px;color:var(--ink)}.contracts-top-actions .refresh-contracts{width:auto;white-space:nowrap}.contracts-actions-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.contracts-actions-row .contracts-top-actions{flex:0 0 auto;margin-bottom:0}.contracts-status{flex:1 1 12rem;min-width:0;display:grid;gap:2px}.contracts-status p{margin:0;color:var(--muted);font-size:13px;line-height:1.35;overflow-wrap:anywhere}.contracts-top-actions svg{width:16px;height:16px}.contracts-top-actions .contracts-hidden-filter{position:relative}.contracts-top-actions .contracts-hidden-filter>summary{list-style:none;cursor:pointer}.contracts-top-actions .contracts-hidden-filter>summary::-webkit-details-marker{display:none}.contracts-top-actions .contracts-hidden-filter[open]>summary,.contracts-top-actions .contracts-hidden-filter>summary:hover{background:var(--surface)}.contracts-top-actions .contracts-hidden-filter.is-on>summary{border-color:var(--ink)}.contracts-hidden-caret{transition:transform .15s ease}.contracts-hidden-filter[open] .contracts-hidden-caret{transform:rotate(180deg)}.contracts-hidden-list{position:absolute;right:0;z-index:5;display:grid;gap:2px;min-width:200px;margin-top:4px;padding:6px;border:1px solid var(--line);border-radius:4px;background:var(--paper);box-shadow:0 6px 18px #0000001f}.contracts-hidden-option{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:3px;font-size:13px;color:var(--ink);cursor:pointer}.contracts-hidden-option:hover{background:var(--surface)}.contracts-hidden-option input{width:16px;height:16px;margin:0}.contracts-columns-switch{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:4px;overflow:hidden;height:30px;background:var(--surface)}.contracts-columns-btn{display:inline-flex;align-items:center;gap:5px;height:100%;padding:0 8px;border:none;background:transparent;color:var(--muted);font-size:12px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.contracts-columns-btn:hover:not(.is-active){color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent)}.contracts-columns-btn.is-active{background:var(--ink);color:var(--paper);font-weight:600;cursor:default}.contracts-columns-btn svg{width:14px;height:14px}.contracts-panel .secondary-button,.market-data-panel .secondary-button{height:30px;padding:4px 10px;font-size:13px}.contract-note{margin:0 0 0 36px;color:var(--muted);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.contract-name-quantity{margin-left:4px}.contract-demand-surplus{color:var(--green);font-weight:600;font-variant-numeric:tabular-nums}.contract-range{margin-left:8px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.contract-range.is-warning{color:var(--red)}.contract-day-price,.contract-guideline-badge{margin-left:8px;padding:1px 6px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:12px;font-variant-numeric:tabular-nums}.contract-sale-offer{margin-left:8px;padding:1px 6px;border:1px solid var(--warn);border-radius:999px;color:var(--warn);font-size:12px;font-variant-numeric:tabular-nums}.contract-internal-badge{margin-left:8px;padding:1px 6px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:12px;font-variant-numeric:tabular-nums}.contract-internal-badge.is-warning{border-color:var(--warn);color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}.contract-price-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.contract-price-row>select{flex:1 1 140px}.contract-price-row>input{flex:0 1 120px}.contract-guideline{display:grid;gap:6px;margin-bottom:4px}.contract-guideline-head{display:flex;flex-wrap:wrap;gap:8px;margin:0;font-size:13px}.contract-guideline-now{color:var(--muted);font-variant-numeric:tabular-nums}.contract-guideline-note{margin:0;color:var(--muted);font-size:12px}.guideline-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.guideline-table th{padding:3px 6px;border-bottom:1px solid var(--line);color:var(--muted);font-weight:600;text-align:left}.guideline-table td{padding:3px 6px;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.guideline-table tr:last-child td{border-bottom:0}.guideline-result{white-space:nowrap}.guideline-result.is-met{color:var(--green)}.guideline-result.is-missed{color:var(--red)}.contract-custom-icon{display:inline-block;margin-right:4px;font-size:28px!important;line-height:1;vertical-align:middle}.contract-icon-picker{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.contract-icon-choice{width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:6px;background:transparent;font-size:26px;cursor:pointer}.contract-icon-choice.is-selected{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 15%,transparent)}.contract-icon-question-red,.contract-icon-exclamation-red{color:#dc2626}.contract-icon-question-yellow,.contract-icon-exclamation-yellow{color:#d99b00}.contract-icon-question-green,.contract-icon-exclamation-green{color:#16a34a}.contract-icon-question-black,.contract-icon-exclamation-black,.contract-icon-\2753 ,.contract-icon-\2757 {color:var(--ink)}.contract-status{margin-left:6px;padding:0 7px;border:1px solid currentColor;border-radius:999px;font-size:11px;font-weight:600;line-height:17px;vertical-align:1px;white-space:nowrap;color:var(--muted)}.contract-status.is-nowy{color:var(--blue)}.contract-status.is-uzupelniajacy{color:#0f766e}.contract-status.is-archiwalny{color:var(--muted)}.contract-status.is-zagrozony{color:var(--red)}.contract-status.is-potencjalny{color:#b45309}.contract-status.is-wstrzymane{color:#7c3aed}:root[data-theme=dark] .contract-status.is-uzupelniajacy,:root[data-theme=dim] .contract-status.is-uzupelniajacy,:root[data-theme=navy] .contract-status.is-uzupelniajacy,:root[data-theme=olive] .contract-status.is-uzupelniajacy{color:#2dd4bf}:root[data-theme=dark] .contract-status.is-potencjalny,:root[data-theme=dim] .contract-status.is-potencjalny,:root[data-theme=navy] .contract-status.is-potencjalny,:root[data-theme=olive] .contract-status.is-potencjalny{color:#f59e0b}:root[data-theme=dark] .contract-status.is-wstrzymane,:root[data-theme=dim] .contract-status.is-wstrzymane,:root[data-theme=navy] .contract-status.is-wstrzymane,:root[data-theme=olive] .contract-status.is-wstrzymane{color:#a78bfa}.contract-status.is-chciwy,.contract-status.is-w-oczekiwaniu{color:var(--muted)}.contract-former-name{margin-left:6px;font-size:11px;font-weight:400;color:var(--muted);white-space:nowrap}.contract-former-name-hint{margin:4px 0 0;font-size:12px;color:var(--muted)}.inventory-strip{display:flex;align-items:center;flex-wrap:nowrap;gap:12px 20px;padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:0;overflow-x:auto;scrollbar-width:none}.inventory-strip::-webkit-scrollbar{display:none}.inventory-strip>:first-child{margin-left:auto}.inventory-item{display:inline-flex;align-items:center;flex:0 0 auto;gap:9px;font-size:15px;font-variant-numeric:tabular-nums}.inventory-rows{display:grid;align-items:center;gap:6px 20px;flex:0 0 auto}.inventory-item.is-shared{align-self:center}.inventory-item img{object-fit:contain}.inventory-item.is-missing,.inventory-item.is-critical{color:var(--red)}.inventory-item.is-low{color:var(--warn)}.inventory-flag{font-weight:600;margin-right:2px}.company-money{display:inline-flex;flex-direction:column;align-items:flex-start;flex:0 0 auto;gap:1px;font-size:16px;line-height:1.2;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.money-line{display:grid;grid-template-columns:20px auto;align-items:center;column-gap:6px}.company-money svg{flex:0 0 auto;width:20px;height:20px}.money-line.is-frozen{color:var(--muted);font-size:12px;font-weight:400}.money-line.is-frozen svg{width:13px;height:13px;justify-self:center}.company-money .is-unknown{color:var(--muted)}app-company-money{display:flex;align-items:center}.inventory-collect{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:inherit;cursor:pointer}.inventory-collect svg{width:13px;height:13px}.inventory-collect:hover:not(:disabled){border-color:currentColor;color:var(--blue)}.inventory-collect:disabled{opacity:.5;cursor:default}.inventory-collect.is-collecting{opacity:1;cursor:default;border-color:currentColor;color:var(--blue)}@media(prefers-reduced-motion:no-preference){.inventory-collect .inventory-spinner{animation:inventory-spin .8s linear infinite}}@keyframes inventory-spin{to{transform:rotate(360deg)}}.inventory-message{font-size:13px;color:var(--muted)}.inventory-more-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer;outline:none}.inventory-more-dots{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0 4px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:700;line-height:1;letter-spacing:.08em;transition:border-color .15s,color .15s}.inventory-more-wrap:hover .inventory-more-dots,.inventory-more-wrap:focus-visible .inventory-more-dots{border-color:var(--blue);color:var(--blue)}.inventory-more-popover{display:none;position:absolute;top:calc(100% + 8px);right:0;z-index:200;min-width:230px;max-width:320px;max-height:360px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #00000038;padding:10px 12px}.inventory-more-wrap:hover .inventory-more-popover,.inventory-more-wrap:focus-within .inventory-more-popover{display:block}.inventory-more-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--line)}.inventory-more-items{display:flex;flex-direction:column;gap:6px}.inventory-more-row{display:flex!important;align-items:center!important;gap:8px!important;padding:2px 0;font-size:13px!important;line-height:1.2!important;text-align:left!important}.inventory-more-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.inventory-more-qty{flex:0 0 auto;font-variant-numeric:tabular-nums;font-weight:500;font-size:13px}.party-hours{margin:10px 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.party-hours-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 8px;font-size:13px}.party-hours-range{color:var(--muted);font-size:12px}.party-rose-wrap{display:flex;justify-content:center;margin:2px 0 6px}.party-rose{width:340px;max-width:100%;height:auto}.party-rose-guide{fill:none;stroke:var(--chart-grid);stroke-width:1;stroke-dasharray:3 4;opacity:.9}.party-rose-wedge{fill:var(--blue);stroke:none}.party-rose-wedge.is-offer{fill:var(--muted)}.party-rose-now{stroke:var(--rose-hand);stroke-width:3;stroke-linecap:round}.party-rose-center-label{fill:var(--muted);font-size:9px;letter-spacing:.04em}.party-rose-center-value{fill:var(--ink);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.party-rose-center-note{fill:var(--muted);font-size:8.5px;font-variant-numeric:tabular-nums}.contract-messages{margin:10px 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.contract-messages-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 8px;font-size:13px}.contract-messages-unread{flex:0 0 auto;color:var(--blue);font-size:12px;font-variant-numeric:tabular-nums}.contract-messages-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;font-size:13px;max-height:320px;overflow-y:auto}.contract-message{display:flex;align-items:baseline;gap:8px;min-width:0}.contract-message-who{flex:0 0 auto;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.contract-message.is-mine .contract-message-who{color:var(--ink)}.contract-message-time{flex:0 0 auto;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.contract-message-body{min-width:0;overflow-wrap:anywhere;white-space:pre-line}.contract-messages-note{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.contract-messages-open{display:inline-block;margin-top:8px;color:var(--blue);font-size:13px}.contract-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 14px}.contract-panels>*>.contract-messages,.contract-panels>*>.party-hours{margin:0;height:100%}@media(max-width:720px){.contract-panels{grid-template-columns:minmax(0,1fr)}}.party-hours-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:4px 0 0;font-size:12px;color:var(--muted)}.party-hours-legend-item{display:inline-flex;align-items:center;gap:5px}.party-hours-legend-dot{font-size:11px;line-height:1}.party-hours-legend-item.is-delivery .party-hours-legend-dot{color:var(--blue)}.party-hours-legend-item.is-offer .party-hours-legend-dot{color:var(--muted)}.party-hours-note{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.party-hours-note.is-thin{margin-top:6px;color:#b45309}:root[data-theme=dark] .party-hours-note.is-thin,:root[data-theme=dim] .party-hours-note.is-thin,:root[data-theme=navy] .party-hours-note.is-thin,:root[data-theme=olive] .party-hours-note.is-thin{color:#f59e0b}@media(max-width:640px){.party-hours{padding:8px 10px}.party-rose{width:300px}.party-hours-head{flex-direction:column;gap:2px}}.contract-name-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-bar-edit svg{pointer-events:none;flex-shrink:0}header app-inventory{flex:1;min-width:0;margin-left:auto}header .inventory-strip{justify-content:flex-start;gap:8px 18px;padding:12px 0;border:0;overflow:visible}@media(min-width:641px){header .inventory-strip .inventory-item{font-size:13px}header .inventory-rows{gap:4px 18px}}.inventory-refresh{flex:0 0 36px;margin-left:2px}.inventory-refresh svg{width:20px;height:20px}@media(max-width:640px){header{height:auto;min-height:0;flex-wrap:wrap;gap:4px 12px;padding:10px 0}header .global-settings-trigger{width:34px;height:34px}header app-inventory{order:2;flex:1 1 auto;min-width:0;margin-left:0}header .inventory-strip{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:6px;padding:0;overflow-x:auto;scrollbar-width:none}header .inventory-strip::-webkit-scrollbar{display:none}header .inventory-rows{gap:2px 6px}header .inventory-strip>:first-child{margin-left:0}header .inventory-item{flex:0 0 auto;flex-direction:column;gap:0;min-width:0;font-size:10px;line-height:11px;text-align:center}header .inventory-item img{width:18px;height:18px}header .inventory-item>span{max-width:46px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header .inventory-more-dots{width:20px;height:20px;font-size:11px}header .inventory-more-popover{position:fixed;top:110px;left:12px;right:12px;max-width:none;max-height:60vh}header .inventory-collect,header .buildings-start{width:18px;height:18px}header .inventory-collect svg,header .buildings-start svg{width:11px;height:11px}header .inventory-message{font-size:10px}header app-company-money{order:3}header .company-money{font-size:13px}header .company-money svg{width:16px;height:16px}header .money-line{grid-template-columns:16px auto;column-gap:4px}header .money-line.is-frozen{font-size:10px}header .money-line.is-frozen svg{width:11px;height:11px}header .inventory-refresh{order:4;position:static;margin-left:auto;flex:0 0 28px;width:28px;height:28px;min-height:0;padding:4px}header .inventory-refresh svg{width:16px;height:16px}}@media(min-width:641px)and (max-width:1199px){header{height:auto;min-height:114px}header .inventory-strip{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;gap:6px 14px;padding:0}header .inventory-strip::-webkit-scrollbar{display:none}header .inventory-rows{gap:4px 14px}header .inventory-strip>:first-child{margin-left:auto}header .inventory-item{flex:0 0 auto}header .inventory-refresh{position:sticky;right:0;flex:0 0 32px;width:32px;height:32px;min-height:0;padding:4px;background:var(--paper)}}@media(max-width:640px){.contracts-top-actions{display:grid!important;grid-template-columns:repeat(3,max-content)!important;width:100%;justify-content:end;gap:6px}.contracts-actions-row{display:block}.contracts-status{margin-bottom:6px}.contracts-top-actions:not(.has-hidden-actions){grid-template-columns:repeat(2,max-content)!important;justify-content:end}.contracts-top-actions>button,.contracts-top-actions>.contracts-hidden-filter{width:auto!important;min-width:0;margin:0!important;box-sizing:border-box}.contracts-top-actions .action-label,.contracts-top-actions .refresh-contracts span{display:inline}.contracts-top-actions button,.contracts-top-actions button .action-label,.contracts-top-actions button span,.contracts-top-actions .contracts-hidden-filter>summary,.contracts-top-actions .contracts-hidden-filter>summary .action-label{gap:3px;font-size:10px;line-height:1.15}.contracts-top-actions button,.contracts-top-actions .contracts-hidden-filter>summary{padding:8px 3px}.contracts-top-actions>button,.contracts-top-actions>.contracts-hidden-filter>summary{margin:0;gap:3px}.contracts-hidden-list{min-width:0}.contracts-top-actions .contracts-hidden-caret{display:none}.contracts-top-actions svg{width:17px;height:17px}.contracts-top-actions .add-contract,.contracts-top-actions .resend-contracts{justify-content:center}.contracts-top-actions .refresh-contracts{width:100%!important;padding-inline:3px}.contracts-columns-switch{display:none!important}.contract-segment{--contract-bar-height: 34px;min-height:34px;border-radius:3px}.contract-progress-caption,.contract-history-toggle .contract-progress-caption{top:4px;left:12px;max-width:calc(100% - 24px);transform:none;line-height:14px}.contract-history-toggle .contract-progress-caption{left:36px;max-width:calc(100% - 48px)}.contract-progress-caption.has-logo{gap:5px}.contract-progress-caption.has-logo>.contract-company-link,.contract-progress-caption.has-logo>.contract-company-logo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;margin:0}.contract-progress-caption>.contract-company-logo,.contract-progress-caption .contract-company-link .contract-company-logo{width:18px;height:18px}.contract-progress-caption.has-logo .contract-company-link .contract-company-logo{width:26px;height:26px}.contract-name-row{min-height:18px;height:auto}.contract-name-row>span{font-size:11px}.contract-bar-edit{width:22px;height:22px;padding:4px}.contract-progress-stats{height:var(--contract-bar-height);inset:0 12px auto;display:flex;align-items:center;justify-content:flex-end;gap:6px;text-align:right}.contract-progress-stat,.contract-progress-stat.is-outside{position:static;width:auto!important;min-width:0;padding:0;transform:none;text-align:right}.contract-history-content{margin-left:10px;padding-left:8px;gap:5px}.contract-history-content .contract-segment{--contract-bar-height: 20px;min-height:20px}.contract-history-content .contract-progress-caption{top:0;bottom:0;left:8px;max-width:calc(100% - 16px);line-height:14px}.contract-history-content .contract-name-row{min-height:14px}.contract-history-content .contract-name-row>span{font-size:10px}.contract-history-content .contract-day-price{font-size:10px;padding:0 4px;line-height:13px;margin-left:4px}.contract-history-content .contract-progress-stat strong{font-size:10px;line-height:14px}.contract-note{margin-left:12px}}.header-status{display:flex;align-items:center;gap:16px;flex:1;min-width:0;margin-left:auto}.header-status>app-inventory,.header-status>app-company-money,.header-status>app-buildings{align-self:center}.building-status{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:4px 14px;font-size:15px;color:var(--ink);padding:0}.building-alert{color:var(--red)}@media(max-width:640px){.header-status{order:3;display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;flex-basis:100%;min-width:0;margin-left:0}.header-status>app-buildings{order:1;flex:0 0 auto;min-width:0}.header-status>app-company-money{order:2;flex:0 0 auto}.header-status>.header-private{order:3;margin-left:auto}.header-status>app-inventory{order:5;flex:1 1 100%;min-width:0;margin-left:0}.building-status{justify-content:flex-start;max-width:100%;gap:4px 10px;font-size:13px;line-height:18px;white-space:nowrap}.building-status .production-countdown{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:13px}.building-status .buildings-message{flex:1 1 100%;white-space:normal}.building-status .production-countdown svg{width:16px;height:16px}}:root[data-theme=dark] .building-status,:root[data-theme=dim] .building-status,:root[data-theme=navy] .building-status,:root[data-theme=olive] .building-status{color:var(--ink)}.chart-controls .settings-trigger{margin-left:4px}.production-countdown{display:inline-flex;align-items:center;gap:6px;font-size:16px;line-height:1.2;font-weight:500;font-variant-numeric:tabular-nums}.production-countdown svg{flex-shrink:0;width:20px;height:20px}.buildings-start{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:inherit;cursor:pointer}.buildings-start svg{width:13px;height:13px}.buildings-start:hover:not(:disabled){border-color:currentColor;color:var(--blue)}.buildings-start:disabled{opacity:.5;cursor:default}.buildings-start.is-starting{opacity:1;cursor:default;border-color:currentColor;color:var(--blue)}@media(prefers-reduced-motion:no-preference){.buildings-start .buildings-spinner{animation:inventory-spin .8s linear infinite}}.buildings-message{font-size:12px;color:var(--muted);min-width:0;overflow-wrap:break-word}.contracts-analysis{display:flex;flex-direction:column;gap:16px;padding:15px 0}.analysis-basis{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px}.analysis-windows{display:inline-flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}.analysis-windows button{padding:6px 12px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;cursor:pointer}.analysis-windows button:first-child{border-left:0}.analysis-windows button.is-active{background:var(--ink);color:var(--paper)}.analysis-count{font-size:12px;font-weight:400;color:var(--muted)}.analysis-table-wrap{overflow-x:auto}.analysis-table{width:100%;border-collapse:collapse;font-size:13px}@media(min-width:761px){.analysis-table{table-layout:fixed;min-width:1132px}.analysis-table th:nth-child(1){width:140px}.analysis-table th:nth-child(2){width:180px}.analysis-table th:nth-child(3){width:70px}.analysis-table th:nth-child(4){width:175px}.analysis-table th:nth-child(5),.analysis-table th:nth-child(6),.analysis-table th:nth-child(7){width:84px}.analysis-table th:nth-child(8){width:95px}.analysis-table th:nth-child(9){width:80px}.analysis-table th:nth-child(10){width:140px}}.analysis-table th,.analysis-table td{padding:7px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.analysis-table thead th{font-size:12px;font-weight:600;color:var(--muted)}.analysis-table th[scope=row]{white-space:normal}.analysis-table .is-basis{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.analysis-table td.analysis-product{font-weight:600;white-space:normal;vertical-align:top}.analysis-table tbody tr.analysis-product-start>*{border-top:2px solid var(--muted)}.analysis-table tbody tr:last-child>*,.analysis-table td.analysis-product-end{border-bottom:2px solid var(--muted)}.analysis-icon{width:16px;height:16px;margin-right:5px;vertical-align:-3px}.analysis-number{font-variant-numeric:tabular-nums}.analysis-muted{display:block;font-size:11px;color:var(--muted)}.analysis-former-name{display:block;font-size:11px;font-weight:400;color:var(--muted)}.analysis-price-select{width:auto;max-width:none;padding:4px 6px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums}.analysis-hidden{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.analysis-hidden select{padding:4px 6px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:inherit}.analysis-quality{display:inline-flex;align-items:center;gap:6px}.analysis-quality-select{padding:4px 6px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:inherit}.analysis-days{display:inline-flex;align-items:center;gap:6px}.analysis-days-input{width:52px;padding:4px 6px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:inherit;text-align:right;appearance:textfield;-moz-appearance:textfield}.analysis-days-input::-webkit-outer-spin-button,.analysis-days-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.analysis-state{display:inline-flex;align-items:center;gap:6px}.analysis-state-time{font-size:11px;color:var(--muted)}.analysis-refresh{padding:4px 8px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.analysis-refresh:disabled{color:var(--muted);cursor:default}.analysis-table tbody tr.is-hidden{background:var(--surface)}.analysis-waiting{display:inline-block;margin-left:6px;color:var(--muted);vertical-align:-1px}.analysis-gap{display:inline-block;min-width:58px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.analysis-gap.is-better{color:var(--green)}.analysis-gap.is-worse{color:var(--red)}@media(max-width:760px){.analysis-table .is-fast{display:none}.analysis-basis{font-size:12px}.analysis-windows button{padding:6px 9px}.analysis-table th,.analysis-table td{padding:6px 7px;font-size:12px}}.market-data-panel{padding:15px 0}.market-data-message{margin:0 0 12px;font-size:13px;color:var(--blue)}.market-data-columns{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px;align-items:start}.market-data-card{border:1px solid var(--line);border-radius:6px;padding:16px;min-width:0}.market-data-card h2{margin:0 0 12px;font-size:16px;font-weight:600}.market-data-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.market-data-row label{font-size:12px;color:var(--muted)}.market-data-row select{padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font-size:13px}.market-data-state{font-size:13px;color:var(--muted)}.market-data-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.market-data-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;font-size:12px}.market-data-chip.is-mine{border-color:var(--blue);font-weight:600}.market-data-chip button{border:0;background:transparent;color:var(--muted);font-size:14px;line-height:1;padding:0 2px;cursor:pointer}.market-data-chip button:hover{color:var(--red)}.market-data-muted{color:var(--muted);font-size:12px;margin:0 0 8px}.market-data-status{list-style:none;margin:0 0 10px;padding:0;font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:4px}.chat-rooms{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:4px;max-height:min(48vh,420px);overflow-y:auto}.chat-room{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:4px 6px;border:1px solid transparent;border-radius:4px;font-size:13px}.chat-room.is-selected{border-color:var(--line);background:var(--surface)}.chat-room label{display:flex;align-items:center;gap:6px;cursor:pointer}.chat-room-name{overflow-wrap:anywhere}.chat-room-scan{font-size:12px;color:var(--muted)}.chat-filters{display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:12px}.chat-filter{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.chat-filter select{padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font-size:13px;max-width:100%}.chat-search{margin-bottom:10px}.chat-search input[type=search]{padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font-size:13px;width:260px;max-width:100%}.chat-filter-toggle{flex-direction:row;align-items:center;gap:8px;max-width:260px;cursor:pointer}.chat-filter-toggle input{width:18px;height:18px;margin:0}.chat-offers{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:8px}.chat-offer-set{display:flex;flex-direction:column;gap:6px}.chat-offer-set.is-multi{border:1px dashed var(--line);border-radius:6px;padding:8px;gap:8px}.chat-offer-set-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin:0;font-size:12px;font-weight:600}.chat-offer-set-count{font-weight:400;color:var(--muted)}.chat-offer-set-rows{display:grid;gap:6px}@media(min-width:1000px){.chat-offer-set.is-multi>.chat-offer-set-rows{grid-template-columns:repeat(2,minmax(0,1fr))}}.chat-offer{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 10px;border:1px solid var(--line);border-left:3px solid var(--surplus);border-radius:4px;font-size:13px}.chat-offer-done{flex:0 0 auto;align-self:center;width:20px;height:20px;padding:0;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--muted);font:inherit;font-size:13px;line-height:1;cursor:pointer}.chat-offer-done:hover{border-color:var(--green)}.chat-offer-done.is-done{border-color:var(--green);color:var(--green);font-weight:700}.chat-offer.is-buy{border-left-color:var(--blue)}.chat-offer.is-any{border-left-color:var(--muted);border-left-style:dashed}.chat-offer-side{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--muted)}.chat-offer.is-buy .chat-offer-side{color:var(--blue)}.chat-offer.is-any .chat-offer-side{font-style:italic}.chat-product-tabs{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0 0 10px;border-bottom:1px solid var(--line)}.chat-product-tab{display:inline-flex;align-items:center;position:relative}.chat-tab-side-badge{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;padding:0 3px;margin-left:2px;border-radius:3px;font-size:10px;font-weight:700;line-height:1;letter-spacing:.04em;background:var(--line);color:var(--muted)}.chat-tab-side-badge.is-buy{background:#3b82f633;color:var(--blue)}.chat-tab-side-badge.is-sell{background:#22c55e33;color:var(--green)}.chat-tab-side-selector{display:none;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);z-index:30;background:var(--paper, #1e293b);border:1px solid var(--line);border-radius:6px;box-shadow:0 4px 14px #0000004d;padding:3px;white-space:nowrap;gap:3px}.chat-tab-side-selector:before{content:"";position:absolute;top:-6px;left:0;right:0;height:6px}.chat-product-tab:hover .chat-tab-side-selector,.chat-product-tab:focus-within .chat-tab-side-selector{display:inline-flex;align-items:center}.chat-tab-side-btn{padding:3px 8px;font-size:11px;font-weight:600;border-radius:4px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s ease;line-height:1.2}.chat-tab-side-btn:hover{color:var(--ink);background:var(--paper-hover, rgba(255, 255, 255, .08))}.chat-tab-side-btn.is-active{background:var(--blue);color:#fff;border-color:var(--blue)}.chat-product-tabs button{display:inline-flex;align-items:center;gap:5px;border:0;border-bottom:2px solid transparent;padding:8px 0;background:none;color:var(--muted);font:500 14px Space Grotesk,sans-serif;cursor:pointer}.chat-product-tab-icon{width:16px;height:16px;flex:none}.chat-product-tabs button.is-active{color:var(--ink);border-bottom-color:var(--blue)}.chat-product-new{color:var(--blue);font-variant-numeric:tabular-nums}.chat-offer-groups{display:flex;flex-direction:column;gap:14px;margin-bottom:10px}.chat-offer-group-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin:0 0 6px;font-size:14px;font-weight:600}.chat-offer-group-count{font-weight:400;color:var(--muted);font-size:12px}.chat-offer-group .chat-offers{margin-bottom:0}.chat-offer-quality{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--muted)}.chat-offer-icon{width:16px;height:16px;margin:0 2px;vertical-align:-3px}.chat-offer-text b{font-weight:600}.chat-offer-text b.chat-offer-strong{font-weight:700;color:var(--ink)}.chat-offer-amount,.chat-offer-price{font-variant-numeric:tabular-nums}.chat-offer-price{color:var(--muted)}.chat-offer-meta{font-size:12px;color:var(--muted)}.chat-offer-company{color:var(--blue);text-decoration:none}.chat-offer-company:hover{text-decoration:underline}.chat-offer-text{flex:1 1 100%;font-size:12px;color:var(--muted);overflow-wrap:anywhere;white-space:pre-line}.chat-private-title{margin:14px 0 4px;font-size:14px;font-weight:600}.chat-private-list{margin:6px 0 10px;padding:0;list-style:none;font-size:13px}.chat-private-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:4px 0;border-bottom:1px solid var(--line)}.chat-private-count{font-weight:600}.chat-private-snippet{flex:1 1 100%;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.chat-top-actions .chat-scan-now-btn,.chat-top-actions .chat-options-btn{height:30px;padding:4px 10px;gap:6px;font-size:13px;margin:0;color:var(--ink)}.chat-top-last-scan{font-size:13px;color:var(--muted);white-space:nowrap}.chat-options-dialog{width:min(640px,calc(100% - 32px))}.chat-options-body{display:flex;flex-direction:column;gap:20px}.chat-options-section h3{margin:0 0 10px;font-size:16px;font-weight:600}.chat-options-rooms{max-height:280px}app-chat-offers{display:block;height:100%}.chat-offers-panel{display:flex;flex-direction:column;height:100%;min-height:0;padding:15px 0;box-sizing:border-box}.chat-offers-columns{flex:1 1 0;min-height:0;height:100%;align-items:stretch}.chat-side-card{height:100%;min-height:0}.chat-offers-card{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.chat-offers-card>h2,.chat-offers-card>.chat-filters,.chat-offers-card>.chat-search,.chat-offers-card>.chat-product-tabs,.chat-offers-card>.market-data-muted{flex:0 0 auto}.chat-offers-card .chat-offer-group{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden}.chat-offers-card .chat-offer-group-title,.chat-offers-card .chat-offer-group>.market-data-muted{flex:0 0 auto}.chat-offers-card .chat-offers{flex:1 1 0;min-height:100px;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;margin-bottom:8px}.chat-offers-card>.is-hint:last-child{flex:0 0 auto;margin-bottom:0}#panel-chat-offers{overflow-y:hidden}@media(max-width:999px){#panel-chat-offers{overflow-y:auto}app-chat-offers{height:auto}.chat-offers-panel{display:block;height:auto}.chat-offers-columns{height:auto}.chat-offers-card,.chat-offers-card .chat-offer-group{height:auto;overflow:visible}}.chat-advert-wrap{display:flex;flex-direction:column;gap:12px;height:100%}.chat-advert-wrap h2{margin:0 0 4px;font-size:16px;font-weight:600}.chat-advert-label{font-size:12px;font-weight:600;color:var(--muted);display:block;margin-bottom:4px}.chat-advert-mode-buttons{display:flex;gap:6px}.chat-mode-btn{flex:1;padding:6px 8px;font-size:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:4px;cursor:pointer}.chat-mode-btn.is-active{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:600}.chat-advert-textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:80px;max-height:200px;padding:8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font:13px/1.4 monospace,sans-serif}.chat-advert-preview{width:100%;box-sizing:border-box;min-height:80px;max-height:200px;overflow-y:auto;padding:8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font:13px/1.4 monospace,sans-serif;cursor:pointer}.chat-advert-preview:hover{border-color:var(--muted)}.chat-advert-preview-text{white-space:pre-wrap;word-break:break-word}.chat-advert-placeholder{color:var(--muted);font-style:italic;margin:0}.chat-advert-text-actions{display:flex;gap:8px;margin-top:4px;justify-content:flex-end}.chat-advert-small-btn{padding:4px 8px;font-size:12px;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:4px;cursor:pointer}.chat-advert-small-btn:hover{color:var(--ink);border-color:var(--ink)}.chat-advert-rooms-list{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto;padding:4px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.chat-advert-room-item{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.chat-advert-room-item input{margin:0}.chat-advert-auto-section{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px dashed var(--line)}.chat-advert-checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.chat-advert-interval-row{display:flex;align-items:center;gap:10px}.chat-advert-interval-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.chat-advert-interval-label input{width:65px;padding:4px 6px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink)}.chat-advert-last-sent{font-size:11px;color:var(--muted)}.chat-advert-log{display:block;font-style:italic}.chat-advert-footer-actions{display:flex;gap:10px;margin-top:6px}.chat-advert-send-btn{flex:1;padding:8px 12px;background:var(--green);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer}.chat-advert-send-btn:disabled{opacity:.6;cursor:not-allowed}.chat-advert-save-btn{padding:8px 12px;background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:4px;font-size:13px;cursor:pointer}.chat-advert-save-btn:disabled{opacity:.6;cursor:not-allowed}.chat-advert-status{margin:6px 0 0;font-size:12px;color:var(--green)}.chat-advert-status.is-error{color:var(--red, #e53935)}.header-private{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--blue);border-radius:999px;background:var(--blue);color:var(--on-blue);font-size:12px;font-weight:600;text-decoration:none}.header-private:hover{filter:brightness(.95)}.header-private-count{font-variant-numeric:tabular-nums}.exit-alarm{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0 16px;padding:10px 14px;border:1px solid var(--red);border-radius:4px;background:var(--red);color:var(--on-red);font-size:13px}.exit-alarm-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:currentColor}.exit-alarm strong{font-weight:600}.exit-alarm-detail{font-size:12px}.exit-alarm-reason{flex:1 1 240px;font-size:12px;opacity:.85;overflow-wrap:anywhere}.exit-alarm button{margin-left:auto;padding:4px 10px;border:1px solid currentColor;border-radius:4px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer}.exit-alarm button:hover{background:#ffffff29}.market-data-bar-state{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px;font-size:13px;color:var(--muted)}.market-data-exit{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-4px 0 12px;font-size:13px;color:var(--muted)}.market-data-exit.is-proxy{color:var(--green)}.market-data-exit.is-direct{color:var(--red)}.market-data-exit-list{list-style:none;margin:-4px 0 12px;padding:0;display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}.market-data-exit-error{margin-left:6px;color:var(--red);overflow-wrap:anywhere}.market-data-bar-state.is-running{color:var(--green)}.market-data-bar-state.is-error{color:var(--red)}.market-data-bar-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:currentColor}.market-data-bar-detail{color:var(--muted);font-size:12px}.market-data-bar{display:flex;align-items:stretch;gap:3px;height:34px;padding:3px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.market-data-bar.is-off{opacity:.7}.market-data-bar-tile{display:flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;border-radius:2px;background:var(--line);cursor:default}.market-data-bar-count{font:700 11px/1 IBM Plex Mono,monospace;color:var(--paper);text-shadow:0 1px 2px rgba(0,0,0,.25)}.market-data-bar-mark{width:12px;height:12px;border-radius:50%;background:var(--tile-error)}.market-data-bar-tile.is-ok{background:var(--green-tile)}.market-data-bar-tile.is-error{background:var(--red)}.market-data-bar-tile.is-active{outline:2px solid var(--ink);outline-offset:-2px}.market-data-bar-tile.is-pinned{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--ink)}.market-data-bar-tile.is-partial{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.65) 0 2px,transparent 2px 5px)}.market-data-bar-tile.is-future{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}.market-data-bar.is-hours{height:24px;gap:2px}.market-data-bar.is-hours .market-data-bar-tile{border-radius:1px}.market-data-bar.is-hours .market-data-bar-count{font-size:10px}.market-data-bar.is-hours .market-data-bar-mark{width:10px;height:10px}.market-data-bar.is-hours+.market-data-bar-labels{gap:2px;font-size:10px}.market-data-bar-labels{display:flex;gap:3px;margin-top:4px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.market-data-bar-labels span{flex:1 1 0;min-width:0;text-align:center}.market-data-bar-day{margin-top:12px;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:var(--surface);font-size:12px}.market-data-bar-day-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;color:var(--muted)}.market-data-bar-day-title strong{color:var(--ink)}.market-data-bar-errors{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:3px;color:var(--red);overflow-wrap:anywhere}.market-data-bar-error-time{color:var(--muted);font-variant-numeric:tabular-nums}.market-data-bar-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:12px;color:var(--muted)}.market-data-bar-legend span{display:inline-flex;align-items:center;gap:6px}.market-data-bar-legend i{width:10px;height:10px;border-radius:2px;background:var(--line)}.market-data-bar-legend .is-ok i{background:var(--green-tile)}.market-data-bar-legend .is-marked i{background:var(--green-tile);display:inline-flex;align-items:center;justify-content:center}.market-data-bar-legend .is-marked i:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--tile-error)}.market-data-bar-legend .is-error i{background:var(--red)}.market-data-bar-legend .is-partial i{background:var(--green-tile);background-image:repeating-linear-gradient(135deg,var(--paper) 0 2px,transparent 2px 5px)}.market-data-bar-error{margin:10px 0 0;font-size:12px;color:var(--red);overflow-wrap:anywhere}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.resource-picker{position:relative;display:inline-flex}.resource-picker.is-disabled{opacity:.6;pointer-events:none}.resource-picker-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit;font-size:13px;cursor:pointer;min-width:130px;text-align:left;transition:border-color .15s}.resource-picker-trigger:hover:not(:disabled),.resource-picker.is-open .resource-picker-trigger{border-color:var(--accent)}.resource-picker-trigger:disabled{cursor:not-allowed;opacity:.6}.resource-picker-trigger-icon{width:18px;height:18px;object-fit:contain;flex-shrink:0}.resource-picker-trigger-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-picker-caret{color:var(--muted);flex-shrink:0;transition:transform .2s}.resource-picker.is-open .resource-picker-caret{transform:rotate(180deg)}.resource-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:1050;width:max-content;min-width:220px;max-width:320px;background:var(--paper);border:1px solid var(--line);border-radius:6px;box-shadow:0 4px 18px #0003;overflow:hidden;display:flex;flex-direction:column}.resource-picker-search-wrap{position:relative;display:flex;align-items:center;padding:6px 8px;border-bottom:1px solid var(--line);background:var(--surface)}.resource-picker-search-icon{position:absolute;left:14px;color:var(--muted);pointer-events:none}.resource-picker-search-input{width:100%;padding:5px 24px 5px 26px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit;font-size:12px;outline:none}.resource-picker-search-input:focus{border-color:var(--accent)}.resource-picker-clear-btn{position:absolute;right:12px;border:none;background:none;color:var(--muted);cursor:pointer;font-size:16px;line-height:1;padding:2px 4px}.resource-picker-clear-btn:hover{color:var(--ink)}.resource-picker-list{max-height:240px;overflow-y:auto;padding:4px 0;display:flex;flex-direction:column}.resource-picker-option{display:flex;align-items:center;gap:8px;padding:6px 10px;width:100%;border:none;background:none;color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:background .1s}.resource-picker-option:hover,.resource-picker-option.is-focused{background:var(--surface)}.resource-picker-option.is-selected{font-weight:600;color:var(--accent)}.resource-picker-option-icon{width:18px;height:18px;object-fit:contain;flex-shrink:0}.resource-picker-option-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-picker-divider{height:1px;background:var(--line);margin:4px 8px}.favorite-star-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:none;cursor:pointer;color:var(--muted);border-radius:3px;flex-shrink:0;opacity:.5;transition:color .15s,opacity .15s}.favorite-star-btn:hover,.favorite-star-btn.is-starred{opacity:1;color:var(--gold)}.favorite-star{display:block}.resource-picker-empty{padding:12px;text-align:center;color:var(--muted);font-size:12px}.resource-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.resource-row select{padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit;font-size:13px;max-width:100%}@media(max-width:640px){.resource-row{flex-wrap:nowrap;gap:4px}.resource-row select{flex:0 1 auto;min-width:0;padding:4px;font-size:11px}.resource-row app-resource-picker{flex:1 1 auto;min-width:0}.resource-row app-resource-picker .resource-picker-trigger{width:100%;min-width:0;padding:4px;font-size:11px}.resource-row #market-resource{flex:1 1 auto}.resource-picker-dropdown{max-width:90vw}.current-resource-icon{width:22px;height:22px}}.market-source-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:16px;font-size:12px;color:var(--muted)}.market-refresh{width:32px;height:32px;color:var(--muted)}.market-refresh:hover{color:var(--ink);background:var(--surface)}@media(max-width:640px){.market-refresh svg{width:18px;height:18px}}.market-source-note{flex:1 1 100%}.market-source-warning{width:13px;height:13px;vertical-align:-2px;color:var(--surplus)}.planning-panel{--planning-icon-col: 32px;--planning-name-col: 190px;--planning-values-col: 180px;padding:15px 0}.planning-subtabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:0 0 16px}.planning-subtab-btn{display:inline-flex;align-items:center;border:0;border-bottom:2px solid transparent;padding:10px 14px;background:none;color:var(--muted);font:500 15px Space Grotesk,sans-serif;cursor:pointer;transition:color .15s ease,border-color .15s ease}.planning-subtab-btn:hover:not(.is-active){color:var(--ink)}.planning-subtab-btn.is-active{color:var(--ink);border-bottom-color:var(--blue);font-weight:600;cursor:default}.planning-title{margin:0 0 14px;font-size:22px;font-weight:500}.planning-note{color:var(--muted);font-size:13px}.planning-share{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:13px}.planning-share input{width:64px;padding:7px 8px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:4px;font:inherit;font-variant-numeric:tabular-nums;text-align:right}.planning-share-error{margin:-8px 0 12px;color:var(--surplus);font-size:13px}.planning-row{display:flex;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.planning-building-info{flex:0 0 clamp(200px,26vw,340px);display:flex;align-items:center;gap:10px;min-width:0}.planning-building-info small{display:block;color:var(--muted);margin-top:4px}.planning-building-text{min-width:0}.planning-building-icon{flex-shrink:0;width:48px;height:48px;object-fit:contain}.planning-output{display:flex;flex-direction:column;gap:8px;font-variant-numeric:tabular-nums}.planning-output-horizontal{display:flex;align-items:center;gap:16px;font-variant-numeric:tabular-nums;min-width:0}.planning-output-header{flex:0 0 calc(var(--planning-icon-col) + var(--planning-name-col) + var(--planning-values-col) + 16px);display:flex;align-items:center;gap:8px;min-width:0}.planning-output-header strong{flex:0 0 var(--planning-name-col);min-width:0;overflow-wrap:break-word}.planning-output-icon{flex:0 0 var(--planning-icon-col)}.planning-output img{object-fit:contain}.planning-inputs-horizontal{display:flex;gap:16px;flex:1;min-width:0}.planning-input-group{display:flex;flex-direction:column}.planning-input-inline{display:flex;align-items:center;gap:8px}.planning-input{width:120px;padding:6px 8px;border:1px solid var(--line);border-radius:4px;font-size:13px}.input-label{font-size:12px;color:var(--muted);margin-bottom:4px;display:block}.input-label-inline{font-size:12px;color:var(--muted);white-space:nowrap}.planning-result{color:var(--muted);font-size:13px}.planning-result-values{flex:0 0 var(--planning-values-col);min-width:0;display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:12px;line-height:1.35}.planning-result-value{white-space:nowrap}.planning-result-value.is-current{color:var(--ink);font-weight:700}.planning-target{flex:1;min-width:0;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.planning-coverage{display:inline-block;width:13px;height:13px;margin-left:4px;vertical-align:-2px}.planning-coverage.is-full{color:var(--green)}.planning-coverage.is-partial{color:var(--surplus)}.planning-coverage.is-low{color:var(--red)}.planning-calculated{color:var(--blue);font-size:12px;font-weight:500}.planning-calculated-inline{color:var(--blue);font-size:12px;font-weight:500;white-space:nowrap}.planning-plan{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-top:4px}.planning-plan-head{display:flex;align-items:baseline;gap:8px}.planning-plan-head strong{font-size:13px;font-weight:500}.planning-plan-head small{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.planning-plan-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.planning-plan-item{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 6px;border:1px solid var(--line);border-radius:999px;font-size:12px}.planning-plan-item img{object-fit:contain}.planning-plan-name{max-width:180px;overflow-wrap:break-word}.planning-plan-item input[type=number]{width:52px;padding:2px 4px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;text-align:right}.planning-plan-strip{display:inline-flex;align-items:center;gap:3px;color:var(--muted);cursor:pointer}.planning-plan-strip input{width:auto;margin:0;accent-color:var(--blue);cursor:pointer}.planning-plan-strip:hover{color:var(--ink)}.planning-plan-remove{padding:2px 4px;border:0;border-radius:4px;background:transparent;color:var(--muted);font:inherit;font-size:14px;line-height:1;cursor:pointer}.planning-plan-remove:hover{color:var(--red)}.planning-plan-warn{color:var(--surplus);font-size:12px}.planning-planned{flex:0 0 auto;padding:1px 6px;border:1px solid var(--blue);border-radius:999px;color:var(--blue);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.planning-modifier{flex:0 0 auto;padding:1px 7px;border-radius:999px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.planning-modifier.is-boost{color:var(--green);border:1px solid var(--green);background:color-mix(in srgb,var(--green) 12%,transparent)}.planning-modifier.is-penalty{color:var(--red);border:1px solid var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}@media(max-width:640px){.market-data-columns{grid-template-columns:1fr}.chat-rooms{max-height:34vh}.market-data-bar{height:26px;gap:1px}.market-data-bar-labels{gap:1px}.page-tabs{position:relative;display:block;overflow-x:visible}.tabs-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 0;border:0;background:none;color:var(--ink);font:500 17px Space Grotesk,sans-serif;cursor:pointer}.tabs-trigger-label{display:inline-flex;align-items:center;gap:10px;min-width:0}.tabs-trigger-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabs-caret{flex:0 0 auto;color:var(--muted);transition:transform .15s}.page-tabs.is-open .tabs-caret{transform:rotate(180deg)}.page-tabs-list{display:none}.page-tabs.is-open .page-tabs-list{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;top:100%;left:0;right:0;z-index:5;max-height:60vh;overflow-y:auto;padding:4px 0;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 30px #00000024}.page-tabs.is-open .page-tabs-list button{gap:10px;padding:12px 14px;text-align:left;border-bottom:0}.page-tabs.is-open .page-tabs-list button[aria-selected=true]{background:color-mix(in srgb,var(--blue) 12%,transparent)}.tabs-backdrop{display:block;position:fixed;inset:0;z-index:4;padding:0;border:0;background:none;cursor:default}.planning-row{flex-wrap:wrap}.planning-building-info{flex-basis:100%;min-width:0;gap:8px}.planning-building-icon{width:40px;height:40px}.planning-outputs{gap:14px}.planning-output-horizontal{flex-wrap:wrap;gap:6px 12px}.planning-output-header{flex:1 1 auto;flex-wrap:wrap}.planning-output-header strong{flex:1 1 auto}.planning-result-values,.planning-inputs-horizontal{flex-basis:100%}}.planning-outputs{flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:10px}@media(min-width:641px)and (max-width:999px){.planning-panel{--planning-name-col: 150px;--planning-values-col: 150px}.market-data-columns{grid-template-columns:1fr}.planning-output-horizontal{flex-wrap:wrap}.planning-inputs-horizontal{flex-basis:100%}}.contract-company-link{position:relative;z-index:6;display:inline-flex;align-items:center;justify-content:center;align-self:center;flex-shrink:0;width:28px;height:28px;line-height:0;border-radius:50%;transform:none}.contract-company-link img{display:block}.contract-company-link:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.proxy-monitor .proxy-table-wrap{margin-top:10px;max-height:min(60vh,540px);overflow:auto;overscroll-behavior:contain}.proxy-monitor .proxy-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:12px}.proxy-monitor .proxy-filters-label{color:var(--muted);font-size:12px}.proxy-monitor .proxy-chip{padding:4px 11px;border:1px solid var(--line);border-radius:999px;background:none;color:var(--muted);font:12px Space Grotesk,sans-serif;cursor:pointer}.proxy-monitor .proxy-chip:hover{border-color:var(--ink)}.proxy-monitor .proxy-chip.is-on{border-color:var(--ink);background:var(--ink);color:var(--paper)}.proxy-monitor .proxy-filters .proxy-count{margin:0 0 0 auto}.proxy-monitor .proxy-sort{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.proxy-monitor .proxy-table thead th:hover .proxy-sort{color:var(--ink)}.proxy-monitor .proxy-arrow{font-size:9px}.proxy-monitor .proxy-table th.proxy-number,.proxy-monitor .proxy-table td.proxy-number{width:34px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.proxy-monitor .proxy-table{border-collapse:collapse;font-size:12px;width:100%}.proxy-monitor .proxy-table th,.proxy-monitor .proxy-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.proxy-monitor .proxy-table thead th{position:sticky;top:0;z-index:1;background:var(--paper);color:var(--muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.proxy-monitor .proxy-table th.proxy-address{text-align:left;white-space:normal;overflow-wrap:anywhere;font-weight:500}.proxy-monitor .proxy-table tr.is-gone,.proxy-monitor .proxy-table tr.is-cooldown,.proxy-monitor .proxy-table tr.is-bad-ping{opacity:.7}.proxy-monitor .proxy-provider-wrap{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px}.proxy-monitor .proxy-address-wrap{display:inline-flex;align-items:center;gap:6px}.proxy-monitor .proxy-protocol-badge{flex:none;padding:1px 5px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.02em;line-height:1.5;cursor:help}.proxy-monitor .proxy-archived-badge{display:inline-flex;align-items:center;justify-content:center;color:var(--warn);cursor:help;opacity:.8}.proxy-monitor .proxy-archived-badge:hover{opacity:1}.proxy-monitor .proxy-archived-icon{display:block}.proxy-monitor .proxy-ports-badge{display:inline-flex;align-items:center;gap:2px;color:var(--muted);cursor:help;opacity:.85}.proxy-monitor .proxy-ports-badge:hover{opacity:1}.proxy-monitor .proxy-ports-icon{display:block}.proxy-monitor .proxy-ports-count{font-size:.85em;line-height:1}.proxy-monitor .proxy-state.is-ok,.proxy-monitor .proxy-state[data-state=ok]{color:var(--green)}.proxy-monitor .proxy-state{cursor:help}.proxy-monitor .proxy-state:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.proxy-monitor .proxy-state[data-state=waiting],.proxy-monitor .proxy-state[data-state=gone]{color:var(--muted)}.proxy-monitor .proxy-state[data-state=cooldown],.proxy-monitor .proxy-state[data-state=bad_ping]{color:var(--warn)}.proxy-monitor .proxy-state[data-state=listed]{color:#38bdf8}.proxy-monitor .proxy-table .proxy-ping-over{margin-left:3px;color:var(--warn)}.proxy-monitor .proxy-table .proxy-ping-dead,.proxy-monitor .proxy-table .proxy-uses-failed{margin-left:3px;color:var(--red)}.proxy-errors-tip{position:fixed;z-index:40;max-width:min(420px,calc(100vw - 24px));max-height:360px;overflow-y:auto;background:var(--ink);color:var(--paper);padding:8px 11px;font:12px/1.6 IBM Plex Mono,monospace;pointer-events:none;box-shadow:4px 4px #2948ed33}.proxy-errors-tip.is-interactive{pointer-events:auto}:root[data-theme=dark] .proxy-errors-tip,:root[data-theme=dim] .proxy-errors-tip,:root[data-theme=navy] .proxy-errors-tip,:root[data-theme=olive] .proxy-errors-tip{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:4px 4px #385eff33}.proxy-errors-tip-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.proxy-errors-tip-heading{min-width:0;font-weight:600;overflow-wrap:anywhere}.proxy-errors-tip-refresh{flex:none;padding:1px 5px;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;font-size:11px;line-height:1.4;cursor:pointer}.proxy-errors-tip-refresh:disabled{cursor:wait;opacity:.65}.proxy-errors-tip-sub{margin-top:3px;opacity:.75}.proxy-errors-tip-sub.is-current-status{display:flex;align-items:baseline;gap:4px;opacity:1}.proxy-errors-tip-sub-label{opacity:.75}.proxy-errors-tip-current-status{font-weight:700}.proxy-errors-tip-note{opacity:.75;font-style:italic}.proxy-errors-tip-row{white-space:normal;overflow-wrap:anywhere}.proxy-errors-tip-current-status[data-state=ok]{color:var(--green)}.proxy-errors-tip-current-status[data-state=bad_ping]{color:var(--warn)}.proxy-errors-tip-current-status[data-state=cooldown]{color:var(--red)}.proxy-errors-tip-current-status[data-state=waiting]{color:var(--muted)}.proxy-errors-tip-current-status[data-state=after_cooldown]{color:#a78bfa}.proxy-errors-tip-current-status[data-state=listed]{color:#38bdf8}.proxy-errors-tip-current-status[data-state=rejected]{color:#94a3b8}.proxy-errors-tip-timeline-row[data-state=ok]{color:var(--green)}.proxy-errors-tip-timeline-row[data-state=bad_ping]{color:var(--warn)}.proxy-errors-tip-timeline-row[data-state=cooldown]{color:var(--red)}.proxy-errors-tip-timeline-row[data-state=waiting]{color:var(--muted)}.proxy-errors-tip-timeline-row[data-state=after_cooldown]{color:#a78bfa}.proxy-errors-tip-timeline-row[data-state=listed]{color:#38bdf8}.proxy-errors-tip-timeline-row[data-state=rejected]{color:#94a3b8}.proxy-errors-tip-timeline-row[data-state] strong{font-weight:700}.proxy-monitor .proxy-state[data-state=rejected]{color:var(--muted)}.proxy-monitor .proxy-table tr.is-rejected{opacity:.6}.proxy-monitor .proxy-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:12px}.proxy-monitor .proxy-field{display:flex;align-items:center;gap:8px;font-size:13px}.proxy-monitor .proxy-field input{width:92px;padding:7px 8px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:inherit}.proxy-monitor .proxy-range-inputs{display:inline-flex;align-items:center;gap:6px}.proxy-monitor #free-proxy-cooldown-multiplier-from,.proxy-monitor #free-proxy-cooldown-multiplier-to{width:68px}.proxy-monitor .proxy-range-sep{color:var(--muted);font-size:13px;-webkit-user-select:none;user-select:none}.proxy-monitor .proxy-field input[type=checkbox]{width:auto;padding:0;margin:0;cursor:pointer}.proxy-monitor #webshare-account-name{width:170px}.proxy-monitor #webshare-account-key{width:240px}.proxy-monitor .proxy-webshare-account{display:inline-flex;align-items:center;gap:4px}.proxy-monitor .proxy-tunnel-origin{padding:1px 6px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;white-space:nowrap}.proxy-monitor .proxy-tunnel-origin[data-origin=manual]{border-color:var(--ink);color:var(--ink)}.proxy-monitor .proxy-tunnel-total{flex-basis:100%}.proxy-monitor .proxy-field .proxy-limit-now{color:var(--muted);font-size:12px;white-space:nowrap}.proxy-monitor .proxy-sources-refresh{flex-basis:100%;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 8px}.proxy-monitor .proxy-sources-next{font-size:13px;color:var(--muted)}.proxy-monitor .proxy-sources-result{font-size:13px;color:var(--ink)}.proxy-monitor .proxy-sources-result.is-error{color:var(--danger, #e53e3e)}.proxy-monitor .proxy-help>summary{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:12px;cursor:pointer;list-style:none}.proxy-monitor .proxy-help>summary::-webkit-details-marker{display:none}.proxy-monitor .proxy-help[open]>summary{border-color:var(--ink);color:var(--ink)}.proxy-monitor .proxy-help[open]{flex-basis:100%}.proxy-monitor .proxy-help p{margin:8px 0 0}.proxy-monitor .proxy-source{margin-left:6px;padding:1px 5px;border:1px solid var(--line);border-radius:3px;color:var(--muted);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.04em}.proxy-monitor .proxy-duration{padding:3px 8px;border:1px solid var(--line);border-radius:4px;font-variant-numeric:tabular-nums;color:var(--muted)}.proxy-monitor .proxy-chart-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:4px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}.proxy-monitor .proxy-chart-btn:hover{border-color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.proxy-monitor .proxy-refresh-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:3px 10px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:12px Space Grotesk,sans-serif;cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s}.proxy-monitor .proxy-refresh-btn svg{width:14px;height:14px;flex-shrink:0}.proxy-monitor .proxy-refresh-btn:hover:not(:disabled){border-color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.proxy-monitor .proxy-refresh-btn:disabled{opacity:.5;cursor:default}.proxy-monitor .proxy-refresh-btn[aria-busy=true] svg{animation:inventory-spin .8s linear infinite}.proxy-monitor .proxy-settings-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:3px 10px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:12px Space Grotesk,sans-serif;cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s}.proxy-monitor .proxy-settings-btn svg{width:14px;height:14px;flex-shrink:0}.proxy-monitor .proxy-settings-btn:hover{border-color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.proxy-chart-backdrop{position:fixed;inset:0;background:var(--backdrop);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.proxy-chart-dialog{width:min(1240px,calc(100vw - 32px));height:min(85vh,740px);max-height:calc(100dvh - 32px);background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:20px 24px;box-shadow:0 16px 42px #00000059;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}.proxy-chart-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.proxy-chart-title{margin:0;font-size:19px;font-weight:600;color:var(--ink)}.proxy-chart-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0}.proxy-chart-range{display:flex;align-items:center;gap:8px;font-size:13px}.proxy-chart-range-label{color:var(--muted);font-size:12px}.proxy-chart-range-presets{display:flex;align-items:center;gap:4px}.proxy-chart-preset-chip{padding:3px 8px;border:1px solid var(--line);border-radius:4px;background:transparent;font-size:12px;color:var(--muted);cursor:pointer;transition:all .15s}.proxy-chart-preset-chip:hover{color:var(--ink);border-color:var(--ink)}.proxy-chart-preset-chip.is-active{color:var(--ink);border-color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent);font-weight:600}.proxy-chart-range-custom{display:flex;align-items:center;gap:4px;margin-left:4px}.proxy-chart-hours-input{width:58px;padding:3px 6px;font-size:12px;text-align:right;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink)}.proxy-chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line);flex-shrink:0}.proxy-chart-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:12px;color:var(--muted);cursor:pointer;transition:opacity .15s,border-color .15s}.proxy-chart-chip.is-active{color:var(--ink);border-color:var(--ink);font-weight:500}.proxy-chart-chip:not(.is-active){opacity:.45;text-decoration:line-through}.proxy-chart-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.proxy-chart-val{font-variant-numeric:tabular-nums;opacity:.85}.proxy-chart-refresh{margin-left:auto;font-size:12px;padding:4px 12px}.proxy-chart-body{position:relative;width:100%;flex:1;min-height:0;display:flex;flex-direction:column}.proxy-chart-state{margin:auto;text-align:center}.proxy-chart-svg-wrap{position:relative;width:100%;height:100%;flex:1;min-height:0;display:flex}.proxy-chart-svg{width:100%;height:100%;flex:1;display:block;overflow:visible;cursor:crosshair}.proxy-chart-grid,.proxy-chart-grid-v{stroke:var(--line);stroke-width:1;stroke-dasharray:3 3;opacity:.65}.proxy-chart-axis-label{fill:var(--muted);font-size:11px;-webkit-user-select:none;user-select:none}.proxy-chart-axis-label.y-axis{text-anchor:end}.proxy-chart-axis-label.x-axis{text-anchor:middle}.proxy-chart-hover-line{stroke:var(--ink);stroke-width:1.5;stroke-dasharray:3 3;opacity:.6;pointer-events:none}.proxy-chart-area,.proxy-chart-line{pointer-events:none}.proxy-chart-tooltip{position:absolute;pointer-events:none;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:12px;box-shadow:0 4px 16px #00000038;z-index:10;display:flex;flex-direction:column;gap:4px;min-width:160px;max-width:230px;transform:translate(12px);transition:transform .05s ease-out}.proxy-chart-tooltip.is-flip{transform:translate(calc(-100% - 12px))}.proxy-chart-tooltip-time{font-weight:600;color:var(--ink);margin-bottom:2px}.proxy-chart-tooltip-row{display:flex;align-items:center;gap:6px;color:var(--muted)}.proxy-chart-tooltip-val{margin-left:auto;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.proxy-settings-dialog{width:min(760px,calc(100vw - 32px));height:min(85vh,680px)}.proxy-settings-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px}.proxy-settings-tabs{display:flex;gap:18px;margin:0;border-bottom:1px solid var(--line);overflow-x:auto;flex-shrink:0;scrollbar-width:thin}.proxy-settings-tabs button{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:8px 0;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font:500 14px Space Grotesk,sans-serif;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.proxy-settings-tabs button:hover{color:var(--ink)}.proxy-settings-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--blue)}.proxy-tab-panel{display:flex;flex-direction:column}.proxy-tab-panel[hidden]{display:none!important}.proxy-settings-body>.proxy-actions:first-child,.proxy-settings-body>:first-child .proxy-actions,.proxy-tab-panel>.proxy-actions:first-child,.proxy-tab-panel>:first-child .proxy-actions{margin-top:0}.proxy-save-status-wrap{margin-top:14px}.planning-overhead-section{margin-top:28px}.planning-overhead-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:20px 24px;box-shadow:0 4px 14px #0000000d}.planning-overhead-title{margin:0 0 16px;font-size:1.15rem;font-weight:700;color:var(--ink)}.planning-overhead-loading,.planning-overhead-error{margin:0;padding:12px 0;color:var(--muted)}.planning-overhead-error{color:var(--warn);font-weight:600}.planning-overhead-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;align-items:start}.planning-overhead-box{background:color-mix(in srgb,var(--paper) 92%,var(--line));border:1px solid var(--line);border-radius:6px;padding:16px;display:flex;flex-direction:column;gap:8px}.planning-overhead-box .overhead-badge{font-size:1.05rem;font-weight:700;color:var(--ink)}.planning-overhead-box .overhead-muted{color:var(--muted);font-size:.85rem}.planning-overhead-box .overhead-highlight-cost{margin:8px 0 4px;font-size:1.1rem;color:var(--warn)}.planning-overhead-box .overhead-wages-detail{margin:0;font-size:.9rem;line-height:1.4;color:var(--ink)}.planning-overhead-box .overhead-hint{color:var(--muted);font-size:.8rem;margin-top:4px}.cco-box .cco-heading{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--ink)}.cco-exec-status{font-size:.9rem;color:var(--ink);margin-bottom:6px}.cco-exec-status .is-none{color:var(--muted);font-style:italic}.cco-sim-controls{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin:6px 0}.cco-sim-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);display:block;margin-bottom:8px}.cco-inputs{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.cco-field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--ink);flex:1 1 120px}.cco-field input,.cco-field select{padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);font-size:.9rem;width:100%;box-sizing:border-box}.cco-reset-btn{align-self:flex-end;padding:6px 12px;font-size:.8rem;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);cursor:pointer;white-space:nowrap;height:32px}.cco-reset-btn:hover{background:color-mix(in srgb,var(--paper) 80%,var(--line))}.cco-results{display:flex;flex-direction:column;gap:6px;margin-top:8px;font-size:.9rem}.cco-stat-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.cco-stat-row .is-savings{color:var(--ok, #22c55e)}.cco-stat-row .cco-net{font-size:.95rem}.cco-stat-row .cco-net.is-positive,.cco-verdict.is-positive{color:var(--ok, #22c55e)}.cco-stat-row .cco-net.is-negative,.cco-verdict.is-negative{color:var(--warn, #ef4444)}.cco-verdict{font-weight:600;margin-top:4px}.cco-verdict p{margin:0}.cco-breakeven{color:var(--muted);font-size:.8rem;line-height:1.35;margin-top:4px}.cco-note{margin:0;color:var(--muted);font-size:.85rem;font-style:italic}.cco-sim-wages-hint{display:block;margin-top:6px;font-size:.8rem;color:var(--muted);font-style:italic}
