@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--primary:#0f2d5c;--primary-mid:#1a4080;--primary-light:#e8eef7;--accent:#00c48c;--accent-mid:#00a876;--accent-bg:#e6f9f4;--color-success:#3b7d2a;--color-success-bg:#eaf3de;--color-warn:#b86a0f;--color-warn-bg:#faeeda;--color-danger:#a32d2d;--color-danger-bg:#fcebeb;--color-info:#1a56a0;--color-info-bg:#e6eef9;--bg:#f7f9fc;--surface:#fff;--surface-secondary:#f0f3f8;--border:#e2e8f0;--border-mid:#cbd5e1;--text-primary:#0f2032;--text-secondary:#4a5568;--text-tertiary:#8896a5;--text-inverse:#fff;--font-body:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Mono", monospace;--sidebar-w:188px;--topbar-h:38px;--right-panel-w:240px;--radius:6px;--radius-sm:4px;--shadow-sm:0 1px 3px #0000000f;--shadow:0 2px 8px #00000014}[data-theme=dark]{--bg:#0d1117;--surface:#161b22;--surface-secondary:#1c2330;--border:#2d3748;--border-mid:#3d4a5c;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-tertiary:#64748b;--primary-light:#1a2d4a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:13px}body{font-family:var(--font-body);background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:13px;line-height:1.5}a{color:inherit;text-decoration:none}.module-layout{grid-template-columns:var(--sidebar-w) 1fr var(--right-panel-w);grid-template-rows:var(--topbar-h) 1fr;height:100vh;display:grid;overflow:hidden}.topbar{background:var(--primary);z-index:200;border-bottom:1px solid #ffffff0f;grid-area:1/1/auto/-1;align-items:center;gap:0;padding:0 0 0 12px;display:flex}.topbar-brand{min-width:calc(var(--sidebar-w) - 12px);border-right:1px solid #ffffff14;align-items:center;gap:8px;height:100%;padding-right:12px;display:flex}.topbar-brand-name{color:#fff;letter-spacing:-.03em;font-size:13px;font-weight:800}.topbar-brand-tag{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-top:1px;font-size:8.5px;font-weight:600}.topbar-module{color:#ffffff80;flex:1;align-items:center;gap:6px;padding:0 14px;font-size:11px;font-weight:500;display:flex}.topbar-module svg{width:12px;height:12px}.topbar-sep{color:#fff3;font-size:12px}.topbar-page{color:#ffffffeb;font-weight:600}.topbar-right{flex-shrink:0;align-items:center;gap:10px;height:100%;margin-left:auto;padding:0 12px;display:flex}.topbar-actions{align-items:center;gap:6px;display:flex}.topbar-icon-btn{border-radius:var(--radius-sm);color:#ffffffa6;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1a;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:background .12s,color .12s;display:flex}.topbar-icon-btn:hover{color:#fff;background:#ffffff21}.topbar-user{cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:8px;padding:4px 6px;transition:background .12s;display:flex}.topbar-user:hover{background:#ffffff12}.topbar-avatar{background:var(--accent);color:#fff;letter-spacing:.03em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:9.5px;font-weight:700;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;grid-area:2/1;padding:8px 0 0;display:flex;overflow-y:auto}.ms-section{margin-bottom:4px}.ms-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);opacity:.8;padding:10px 14px 4px;font-size:9px;font-weight:700}.ms-item{color:var(--text-secondary);cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-left:2.5px solid #0000;align-items:center;gap:8px;width:100%;padding:5px 14px 5px 12px;font-size:11.5px;font-weight:450;transition:background .1s,color .1s;display:flex;overflow:hidden}.ms-item-icon{flex-shrink:0;align-items:center;display:flex}.ms-item-icon svg{width:13px;height:13px}.ms-item:hover{background:var(--surface-secondary);color:var(--text-primary);border-left-color:var(--border-mid)}.ms-item.active{background:var(--primary-light);color:var(--primary);border-left-color:var(--accent);font-weight:600}.ms-item.active .ms-item-icon{color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:6px 0}.main-content{background:var(--bg);grid-area:2/2;overflow:hidden auto}.right-panel{background:var(--surface);border-left:1px solid var(--border);grid-area:2/3;overflow-y:auto}.page-hdr{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;padding:12px 16px 11px;display:flex;position:sticky;top:0}.page-title{color:var(--text-primary);letter-spacing:-.02em;font-size:13px;font-weight:700}.page-subtitle{color:var(--text-tertiary);margin-top:2px;font-size:10.5px;font-weight:400}.page-hdr-actions{align-items:center;gap:6px;display:flex}.kpi-row{background:var(--border);border-bottom:1px solid var(--border);gap:1px;display:grid}.kpi-card{background:var(--surface);border-left:3px solid #0000;padding:12px 14px 10px;transition:background .12s;position:relative}.kpi-card:hover{background:var(--surface-secondary)}.kpi-card.accent-left-danger{border-left-color:var(--color-danger)}.kpi-card.accent-left-warn{border-left-color:var(--color-warn)}.kpi-card.accent-left-ok{border-left-color:var(--color-success)}.kpi-card.accent-left-accent{border-left-color:var(--accent)}.kpi-card.accent-left-info{border-left-color:var(--color-info)}.kpi-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:9.5px;font-weight:700;overflow:hidden}.kpi-icon{opacity:.15;position:absolute;top:11px;right:12px}.kpi-value{color:var(--text-primary);letter-spacing:-.03em;font-size:22px;font-weight:700;line-height:1}.kpi-value.sm{font-size:17px}.kpi-value.danger{color:var(--color-danger)}.kpi-value.warn{color:var(--color-warn)}.kpi-value.ok{color:var(--color-success)}.kpi-value.accent{color:var(--accent)}.kpi-value.info{color:var(--color-info)}.kpi-delta{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;margin-top:5px;font-size:10.5px;display:flex;overflow:hidden}.kpi-delta.up{color:var(--color-success)}.kpi-delta.down{color:var(--color-danger)}.section-hdr{background:var(--surface-secondary);border-bottom:1px solid var(--border);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.section-title{color:var(--text-secondary);letter-spacing:.01em;font-size:11px;font-weight:600}.section-actions{align-items:center;gap:6px;display:flex}.section-link{color:var(--accent-mid);cursor:pointer;font-size:10.5px;font-weight:500;transition:color .1s}.section-link:hover{color:var(--accent);text-decoration:underline}.data-table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:11.5px}.data-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary);background:var(--surface-secondary);border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 13px;font-size:9.5px;font-weight:700;position:sticky;top:0}.data-table thead th.right{text-align:right}.data-table thead th.center{text-align:center}.data-table tbody td{border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:middle;padding:8px 13px}.data-table tbody td.right{text-align:right}.data-table tbody td.center{text-align:center}.data-table tbody tr{cursor:pointer;transition:background 80ms}.data-table tbody tr:hover{background:var(--surface-secondary)}.data-table tbody tr.row-selected{background:var(--primary-light)}.data-table tbody tr:last-child td{border-bottom:none}.data-table td strong{color:var(--text-primary);font-weight:600}.mono{font-family:var(--font-mono);letter-spacing:.01em;font-size:10.5px}.badge{letter-spacing:.01em;white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.badge-online{background:var(--color-success-bg);color:var(--color-success)}.badge-warn{background:var(--color-warn-bg);color:var(--color-warn)}.badge-offline{background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-neutral{background:var(--surface-secondary);color:var(--text-secondary);border:1px solid var(--border)}.badge-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.btn{border-radius:var(--radius-sm);font-size:11px;font-weight:500;font-family:var(--font-body);border:1px solid var(--border-mid);background:var(--surface);color:var(--text-primary);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;padding:5px 11px;line-height:1;text-decoration:none;transition:background .1s,border-color .1s,box-shadow .1s;display:inline-flex}.btn:hover{background:var(--surface-secondary);border-color:var(--border-mid);box-shadow:0 1px 3px #00000012}.btn:active{transform:translateY(.5px)}.btn svg{flex-shrink:0;width:12px;height:12px}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent-mid)}.btn-primary:hover{background:var(--accent-mid);border-color:var(--accent-mid)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:#a32d2d4d}.btn-danger:hover{background:#f8d7d7}.btn-ghost{color:#ffffffd9;background:#ffffff17;border-color:#ffffff24}.btn-ghost:hover{background:#ffffff26}.btn-sm{padding:3px 8px;font-size:10.5px}.btn-xs{padding:2px 7px;font-size:10px}.filter-select{height:27px;font-size:11px;font-family:var(--font-body);border-radius:var(--radius-sm);color:#ffffffd9;cursor:pointer;background:#ffffff17;border:1px solid #ffffff29;outline:none;padding:0 8px;transition:border-color .1s,background .1s}.filter-select:hover{background:#ffffff21;border-color:#ffffff40}.filter-select option{background:var(--primary-mid);color:#fff}.rp-section{border-bottom:1px solid var(--border);padding:12px 12px 10px}.rp-section-label{letter-spacing:.09em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:9px;font-size:9px;font-weight:700}.rp-stat{background:var(--surface-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:5px;padding:7px 9px;display:flex}.rp-stat:last-child{margin-bottom:0}.rp-stat-label{color:var(--text-secondary);font-size:10.5px}.rp-stat-value{color:var(--text-primary);font-size:13px;font-weight:700}.chart-row{background:var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:0;display:grid}.chart-card{background:var(--surface);padding:12px 16px 10px}.chart-card+.chart-card{border-left:1px solid var(--border)}.chart-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:10px;font-weight:700;display:flex}.alert-row{border-radius:var(--radius-sm);border-style:solid;border-width:1px;align-items:flex-start;gap:9px;padding:8px 12px;transition:opacity .15s;display:flex}.alert-row.critical{background:var(--color-danger-bg);border-color:#a32d2d40}.alert-row.warning{background:var(--color-warn-bg);border-color:#b86a0f40}.alert-row.info{background:var(--color-info-bg);border-color:#1a56a033}.progress-track{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.progress-fill{border-radius:2px;height:100%;transition:width .4s}.tag{letter-spacing:.04em;text-transform:uppercase;border-radius:3px;align-items:center;padding:1px 6px;font-size:9.5px;font-weight:600;display:inline-flex}.empty-state{color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;font-size:12px;display:flex}.empty-state svg{opacity:.3}.divider{background:var(--border);height:1px;margin:0}.input{height:30px;font-size:12px;font-family:var(--font-body);border:1px solid var(--border-mid);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);outline:none;width:100%;padding:0 10px;transition:border-color .1s,box-shadow .1s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #00c48c1f}.input::placeholder{color:var(--text-tertiary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card-body{padding:14px}.loading-center{color:var(--text-secondary);justify-content:center;align-items:center;gap:10px;padding:60px 0;font-size:12px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{opacity:1}50%{opacity:.45}to{opacity:1}}.spin{animation:.9s linear infinite spin}.error-banner{background:var(--color-danger-bg);border-radius:var(--radius);color:var(--color-danger);border:1px solid #a32d2d4d;align-items:center;gap:10px;margin:14px;padding:11px 13px;font-size:12px;display:flex}@keyframes pulse-ring{0%{box-shadow:0 0 #00c48c66}70%{box-shadow:0 0 0 7px #00c48c00}to{box-shadow:0 0 #00c48c00}}.pulse-green{animation:2.5s infinite pulse-ring}@keyframes fadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.2s forwards fadeIn}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.hint{color:var(--text-tertiary);font-size:10px;font-style:italic}@media print{.ms-sidebar,.ms-topbar,.rp-panel,.page-hdr-actions,.section-actions .btn,.btn-primary,.btn-ghost,.filter-select,.alert-row button,.chart-card,nav{display:none!important}body,.ms-body,.ms-main,.ms-content{color:#000!important;background:#fff!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.page-title:before{content:"Liquilibrium Treasury Intelligence Platform";color:#666;margin-bottom:4px;font-size:9pt;font-weight:400;display:block}.data-table-wrap{overflow:visible!important}.data-table{border-collapse:collapse;width:100%;font-size:8pt}.data-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#fff!important;background:#0f2d5c!important}.data-table th,.data-table td{border:1px solid #ddd;padding:4px 6px}.data-table tbody tr:nth-child(2n){-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f8f9fa}.kpi-row{flex-wrap:wrap!important;gap:8px!important;display:flex!important}.kpi-card{border:1px solid #ddd!important;flex:120px!important;min-width:100px!important}tr,.kpi-card,.section-hdr{page-break-inside:avoid}@page{margin:1.5cm;size:A4 landscape}}
