.financial-report{min-width:0}.fr-heading h2{margin:0 0 8px}.fr-heading p,.fr-meta{color:var(--text-secondary);line-height:1.5}.fr-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}.fr-toolbar label{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary)}.fr-toolbar input,.fr-toolbar select{min-height:44px;padding:8px 10px;border:1px solid var(--baseline);border-radius:6px;color:var(--text-primary);background:var(--surface-1);font:inherit}.fr-toolbar .btn,.fr-pagination .btn{min-height:44px}.fr-toolbar .fr-checkbox{flex-direction:row;align-items:center;min-height:44px}.fr-checkbox input{min-height:auto;width:18px;height:18px}.fr-search{flex:1;min-width:220px}.fr-checks{padding:16px;margin:16px 0;border:1px solid var(--baseline);border-radius:8px;line-height:1.5}.fr-checks summary{cursor:pointer;font-weight:600}.fr-checks p{color:var(--text-secondary)}.fr-warning{border-left:3px solid var(--status-warning);padding:8px 14px;background:var(--surface-1)}.fr-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.fr-category{display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;padding:14px;min-height:48px;background:var(--surface-1);color:var(--text-primary);border:0;cursor:pointer;font:inherit}.fr-category strong{white-space:nowrap;font-variant-numeric:tabular-nums}.fr-category:hover,.fr-category.is-selected{box-shadow:inset 3px 0 var(--accent)}.fr-category.is-selected{font-weight:600}.fr-scroll{overflow-x:auto;max-width:100%}.financial-report table{width:100%}.financial-report th{white-space:normal;min-width:130px}.financial-report td{font-variant-numeric:tabular-nums;vertical-align:top;white-space:nowrap}.financial-report td small{display:block;max-width:260px;margin-top:5px;white-space:normal;overflow-wrap:anywhere;color:var(--text-secondary)}.fr-products th:first-child,.fr-products td:first-child{position:sticky;left:0;background:var(--surface-1);z-index:1;min-width:210px;max-width:280px;border-right:1px solid var(--border);white-space:normal}.fr-product-link{padding:8px 0;min-height:44px;color:var(--accent);border:0;background:none;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}.fr-products .is-selected td:first-child{box-shadow:inset 3px 0 var(--accent);padding-left:12px}.fr-pagination{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}.fr-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin-top:16px}.fr-daily{max-height:360px}.fr-daily thead{position:sticky;top:0;background:var(--surface-1)}.financial-report :focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:600px){.fr-toolbar>label{flex:1 1 100%;min-width:0}.fr-toolbar input,.fr-toolbar select{width:100%}.fr-toolbar .fr-checkbox input{width:18px}.fr-categories{grid-template-columns:1fr}.fr-category{flex-wrap:wrap;gap:6px 14px}.fr-products th:first-child,.fr-products td:first-child{min-width:155px;max-width:175px}.fr-pagination{justify-content:space-between}}@media(max-width:800px){.app-shell-financial-report{flex-direction:column;width:100%;min-width:0}.app-shell-financial-report .sidebar{position:static;width:100%;height:auto;padding:16px;border-right:0;border-bottom:1px solid var(--border)}.app-shell-financial-report .sidebar h1{margin:0 48px 12px 0}.app-shell-financial-report .sidebar nav{display:flex;gap:8px;overflow-x:auto;padding:4px}.app-shell-financial-report .sidebar nav a{flex:0 0 auto;padding:12px;min-height:44px;white-space:nowrap}.app-shell-financial-report .sidebar nav .nav-group{display:none}.app-shell-financial-report .sidebar-bottom{position:static;margin-top:12px}.app-shell-financial-report .refresh-buttons{flex-direction:row;flex-wrap:wrap;gap:8px}.app-shell-financial-report .refresh-buttons .btn{flex:1 1 150px;width:auto;min-height:44px}.app-shell-financial-report .logout{min-height:44px;margin-top:4px}.app-shell-financial-report .main{width:100%;min-width:0;padding:16px}.app-shell-financial-report .filters{padding-right:0}.app-shell-financial-report .filters select{min-width:0;max-width:100%;min-height:44px}}:root{color-scheme:light;--surface-1: #fcfcfb;--page: #f9f9f7;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--grid: #e1e0d9;--baseline: #c3c2b7;--border: rgba(11, 11, 11, .1);--series-1: #2a78d6;--series-2: #1baf7a;--series-3: #eda100;--series-4: #008300;--series-5: #4a3aa7;--series-6: #e34948;--status-good: #0ca30c;--status-warning: #fab219;--status-serious: #ec835a;--status-critical: #d03b3b;--delta-up: #006300;--delta-down: #d03b3b;--accent: #2a78d6}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--surface-1: #1a1a19;--page: #0d0d0d;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--series-2: #199e70;--series-3: #c98500;--series-4: #008300;--series-5: #9085e9;--series-6: #e66767;--delta-up: #0ca30c;--accent: #3987e5}}:root[data-theme=dark]{color-scheme:dark;--surface-1: #1a1a19;--page: #0d0d0d;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--series-2: #199e70;--series-3: #c98500;--series-4: #008300;--series-5: #9085e9;--series-6: #e66767;--delta-up: #0ca30c;--accent: #3987e5}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text-primary);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}.app-shell{display:flex;min-height:100vh}.sidebar{width:210px;flex-shrink:0;border-right:1px solid var(--border);padding:16px 10px;position:sticky;top:0;height:100vh}.sidebar h1{font-size:15px;margin:4px 8px 16px}.sidebar nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--text-secondary);text-decoration:none;margin-bottom:2px}.sidebar nav a.active{background:var(--surface-1);color:var(--text-primary);font-weight:600;border:1px solid var(--border)}.sidebar nav .nav-group{margin:10px 10px 4px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.sidebar nav a.nav-sub{padding-left:20px}.main{flex:1;padding:20px 24px;min-width:0}.filters{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap;padding-right:48px}select,button.range{background:var(--surface-1);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font:inherit;cursor:pointer}button.range.active{border-color:var(--accent);color:var(--accent);font-weight:600}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.tile{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.tile .label{color:var(--text-muted);font-size:12px;margin-bottom:6px}.tile .value{font-size:24px;font-weight:700}.tile .delta{font-size:12px;margin-top:4px}.delta.up{color:var(--delta-up)}.delta.down{color:var(--delta-down)}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px;overflow-x:auto}.card h3{margin:0 0 12px;font-size:14px}table.data{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}table.data th{text-align:left;color:var(--text-muted);font-weight:500;font-size:12px;padding:6px 8px;border-bottom:1px solid var(--grid)}table.data td{padding:6px 8px;border-bottom:1px solid var(--grid)}table.data tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border)}.badge.new{color:var(--accent)}.badge.accepted{color:var(--status-good)}.badge.rejected{color:var(--text-muted)}.badge.critical{color:var(--status-critical)}.badge.pending{color:var(--accent)}.badge.approved{color:var(--status-serious)}.badge.executed{color:var(--status-good)}.badge.failed{color:var(--status-critical)}.actions button{margin-right:6px}.empty{color:var(--text-muted);padding:24px;text-align:center}.sidebar-bottom{position:absolute;bottom:16px;left:10px;right:10px}.refresh-panel{margin-bottom:10px;font-size:12px}.refresh-buttons{display:flex;flex-direction:column;gap:6px}.refresh-buttons .btn{width:100%}.refresh-steps,.refresh-errors{list-style:none;margin:8px 0 0;padding:0;line-height:1.6}.refresh-step{color:var(--text-muted)}.refresh-step.running{color:var(--text-primary)}.refresh-step.done{color:var(--status-good)}.refresh-step.failed{color:var(--status-serious)}.refresh-count{font-variant-numeric:tabular-nums}.refresh-result{margin-top:6px;color:var(--text-muted)}.refresh-result.partial{color:var(--status-serious)}.refresh-result.failed{color:var(--status-critical)}.refresh-errors{font-size:11px;color:var(--text-muted);overflow-wrap:anywhere}.refresh-show{margin-top:6px;width:100%}.token-usage{font-size:11px;line-height:1.5;color:var(--text-muted);border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--surface-1)}.theme-toggle-icon{position:fixed;top:14px;right:16px;z-index:10;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface-1);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.theme-toggle-icon:hover{border-color:var(--accent)}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--page)}.login-card{display:flex;flex-direction:column;gap:12px;width:min(320px,90vw);padding:28px;background:var(--surface-1);border:1px solid var(--border);border-radius:12px}.login-card h1{margin:0 0 8px;font-size:18px;text-align:center;color:var(--text-primary)}.login-card input{background:var(--page);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:9px 12px;font:inherit}.login-card input:focus{outline:none;border-color:var(--accent)}.login-error{color:var(--status-critical);font-size:13px}.logout{background:none;border:none;padding:0;margin-top:10px;font:inherit;font-size:13px;color:var(--text-muted);cursor:pointer;text-align:left}.logout:hover{color:var(--accent)}.cred-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.cred-input{background:var(--page);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font:inherit;font-size:13px}.cred-input:focus{outline:none;border-color:var(--accent)}.btn{background:var(--surface-1);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font:inherit;cursor:pointer}.btn:disabled,button.range:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-ghost:hover:not(:disabled){border-color:var(--accent)}.btn-danger{color:var(--status-critical);border-color:var(--status-critical);background:transparent}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--status-critical) 12%,transparent)}.toast{position:fixed;right:16px;bottom:16px;z-index:100;max-width:420px;padding:10px 14px;background:var(--surface-1);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;font-size:13px;color:var(--text-primary);box-shadow:0 4px 16px #0000002e}.toast.success{border-left-color:var(--status-good)}.toast.error{border-left-color:var(--status-critical)}.hint{margin:0 0 10px;color:var(--text-muted);font-size:12px;line-height:1.5}.legend{margin:8px 0 0;color:var(--text-muted);font-size:12px}.stack{display:grid;gap:12px}.empty-state{text-align:center}.empty-state .emoji{font-size:28px;display:block;margin-bottom:6px}.rich-editor{min-height:180px;max-height:420px;overflow-y:auto;white-space:pre-wrap}.rich-editor:focus{outline:none;border-color:var(--accent)}.rich-editor ul{margin:6px 0;padding-left:22px}
