@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTU7PB1QTsUX8KYthSQBLyM.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTU7PB1QTsUX8KYthqQBA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTR7PB1QTsUX8KYvumzEY2tbZX9.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTR7PB1QTsUX8KYvumzEYOtbQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:italic;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Wp2ywxg089UriCZaSExdy3sGt9zz86D3wyKK58VXh.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:italic;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Wp2ywxg089UriCZaSExdy3sGt9zz86D3wyKy58Q.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZ2IHSeH.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZ2IHSeH.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZ2IHSeH.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZ2IHSeH.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans: "DM Sans", -apple-system, sans-serif;--font-mono: "DM Mono", monospace;--c-brand: #185FA5;--c-brand-light: #E6F1FB;--c-brand-border: #B5D4F4;--c-teal: #1D9E75;--c-teal-light: #E1F5EE;--c-teal-border: #9FE1CB;--c-red: #E24B4A;--c-red-light: #FCEBEB;--c-red-border: #F7C1C1;--c-red-text: #791F1F;--c-amber: #BA7517;--c-amber-light: #FAEEDA;--c-amber-border: #FAC775;--c-amber-text: #633806;--c-green: #639922;--c-green-light: #EAF3DE;--c-green-border: #C0DD97;--c-green-text: #27500A;--c-bg: #FAFAF9;--c-surface: #FFFFFF;--c-surface-2: #F5F4F1;--c-border: rgba(0,0,0,.1);--c-border-med: rgba(0,0,0,.16);--c-text-1: #1A1A18;--c-text-2: #4A4A47;--c-text-3: #8A8A85;--topbar-h: 48px;--hero-h: 112px;--strip-h: 52px;--sticky-total: 212px;--nav-w: 148px;--sidebar-w: 320px;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 8px 32px rgba(0,0,0,.14)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--c-bg);color:var(--c-text-1);line-height:1.55;min-height:100vh}h1{font-size:1.5rem;font-weight:600;letter-spacing:-.02em}h2{font-size:1.15rem;font-weight:600;letter-spacing:-.01em}h3{font-size:1rem;font-weight:500}h4{font-size:.875rem;font-weight:500}p{color:var(--c-text-2)}a{color:var(--c-brand);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-border-med);border-radius:4px}.text-1{color:var(--c-text-1)}.text-2{color:var(--c-text-2)}.text-3{color:var(--c-text-3)}.text-red{color:var(--c-red)}.text-amber{color:var(--c-amber)}.text-green{color:var(--c-green)}.text-brand{color:var(--c-brand)}.text-teal{color:var(--c-teal)}.fw-400{font-weight:400}.fw-500{font-weight:500}.fw-600{font-weight:600}.fs-11{font-size:11px}.fs-12{font-size:12px}.fs-13{font-size:13px}.fs-14{font-size:14px}.mono{font-family:var(--font-mono)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:2px 8px;border-radius:var(--r-full);white-space:nowrap;line-height:1.4}.badge.badge-red{background:var(--c-red-light);color:var(--c-red-text);border:.5px solid var(--c-red-border)}.badge.badge-amber{background:var(--c-amber-light);color:var(--c-amber-text);border:.5px solid var(--c-amber-border)}.badge.badge-green{background:var(--c-green-light);color:var(--c-green-text);border:.5px solid var(--c-green-border)}.badge.badge-blue{background:var(--c-brand-light);color:var(--c-brand);border:.5px solid var(--c-brand-border)}.badge.badge-teal{background:var(--c-teal-light);color:var(--c-teal);border:.5px solid var(--c-teal-border)}.badge.badge-gray{background:var(--c-surface-2);color:var(--c-text-2);border:.5px solid var(--c-border)}.section-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.section-hdr .section-title{font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--c-text-3)}.section-hdr .section-title-red{font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--c-red)}.section-hdr .section-action{font-size:12px;font-weight:500;color:var(--c-brand);background:var(--c-brand-light);border:.5px solid var(--c-brand-border);border-radius:var(--r-full);padding:3px 10px;cursor:pointer;transition:opacity .15s}.section-hdr .section-action:hover{opacity:.8}.card{background:var(--c-surface);border:.5px solid var(--c-border);border-radius:var(--r-lg);padding:14px 16px}.card-clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s}.card-clickable:hover{border-color:var(--c-brand-border);box-shadow:var(--shadow-sm)}.section-divider{height:.5px;background:var(--c-border);margin:4px 0}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table thead th{font-size:11px;font-weight:500;color:var(--c-text-3);text-transform:uppercase;letter-spacing:.04em;padding:8px 12px;text-align:left;background:var(--c-surface-2);border-bottom:.5px solid var(--c-border-med);white-space:nowrap}.data-table tbody td{padding:9px 12px;border-bottom:.5px solid var(--c-border);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.clickable{cursor:pointer;transition:background .1s}.data-table tbody tr.clickable:hover td{background:var(--c-surface-2)}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:11px;font-weight:500;color:var(--c-text-2);text-transform:uppercase;letter-spacing:.04em}.form-group input,.form-group textarea,.form-group select{font-family:var(--font-sans);font-size:13px;color:var(--c-text-1);background:var(--c-surface-2);border:.5px solid var(--c-border-med);border-radius:var(--r-md);padding:7px 10px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--c-brand);box-shadow:0 0 0 3px #185fa51a}.form-group input::placeholder,.form-group textarea::placeholder,.form-group select::placeholder{color:var(--c-text-3)}.form-group textarea{resize:vertical;min-height:80px}.btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:13px;font-weight:500;padding:7px 16px;border-radius:var(--r-md);border:none;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap;line-height:1}.btn:hover{opacity:.88}.btn:active{transform:scale(.98)}.btn.btn-primary{background:var(--c-brand);color:#fff}.btn.btn-secondary{background:var(--c-brand-light);color:var(--c-brand);border:.5px solid var(--c-brand-border)}.btn.btn-ghost{background:transparent;color:var(--c-text-2);border:.5px solid var(--c-border-med)}.btn.btn-danger{background:var(--c-red-light);color:var(--c-red-text);border:.5px solid var(--c-red-border)}.btn.btn-sm{font-size:11px;padding:4px 10px}.btn.btn-icon{padding:6px;min-width:32px;justify-content:center}.modal-backdrop{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.modal-box{background:var(--c-surface);border-radius:var(--r-xl);border:.5px solid var(--c-border-med);box-shadow:var(--shadow-lg);width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:.5px solid var(--c-border)}.modal-header h3{font-size:15px;font-weight:600}.modal-body{padding:20px}.modal-footer{padding:14px 20px;border-top:.5px solid var(--c-border);display:flex;justify-content:flex-end;gap:8px}.chart-dialog{max-width:560px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton{background:linear-gradient(90deg,var(--c-surface-2) 25%,#eee 50%,var(--c-surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--r-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.scrollable{overflow-y:auto;overflow-x:hidden}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--c-text-3);text-align:center;gap:8px}.empty-state .empty-icon{font-size:32px;opacity:.5}.empty-state .empty-title{font-size:14px;font-weight:500;color:var(--c-text-2)}.empty-state .empty-sub{font-size:12px}.spinner{width:20px;height:20px;border:2px solid var(--c-border-med);border-top-color:var(--c-brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{display:flex;align-items:center;justify-content:center;padding:60px}.ai-panel{position:fixed;top:0;right:0;width:var(--sidebar-w);height:100vh;background:var(--c-surface);border-left:.5px solid var(--c-border-med);box-shadow:var(--shadow-lg);z-index:900;display:flex;flex-direction:column;animation:slideInRight .25s ease}.nav-tree{position:sticky;top:calc(var(--sticky-total) + 16px);width:var(--nav-w);flex-shrink:0;padding:12px 10px;background:var(--c-surface);border:.5px solid var(--c-border);border-radius:var(--r-lg);align-self:flex-start;max-height:calc(100vh - var(--sticky-total) - 32px);overflow-y:auto}.metric-tile{background:var(--c-surface);border:.5px solid var(--c-border);border-radius:var(--r-lg);padding:12px 14px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.metric-tile:hover{border-color:var(--c-brand-border);box-shadow:var(--shadow-sm)}.metric-tile .tile-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-3);margin-bottom:4px}.metric-tile .tile-value{font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.1}.metric-tile .tile-sub{font-size:11px;color:var(--c-text-3);margin-top:3px}.metric-tile .tile-hint{font-size:10px;color:var(--c-brand);margin-top:6px;opacity:.8}.chart-zone{background:var(--c-surface-2);border:.5px solid var(--c-border);border-radius:var(--r-lg);padding:14px;margin-top:10px}.chart-zone .chart-zone-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;font-weight:500;color:var(--c-text-2)}.esc-card{border-radius:var(--r-lg);padding:12px 14px;cursor:pointer;transition:transform .1s,box-shadow .15s}.esc-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.esc-card.esc-red{background:var(--c-red-light);border:.5px solid var(--c-red-border)}.esc-card.esc-amber{background:var(--c-amber-light);border:.5px solid var(--c-amber-border)}.esc-card.esc-green{background:var(--c-green-light);border:.5px solid var(--c-green-border)}.esc-card .esc-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin-bottom:5px}.esc-card .esc-title{font-size:12px;font-weight:600;flex:1;line-height:1.3}.esc-card .esc-body{font-size:11px;color:var(--c-text-2);line-height:1.4}.tp-item{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--r-lg);margin-bottom:6px}.tp-item.tp-red{background:var(--c-red-light);border:.5px solid var(--c-red-border)}.tp-item.tp-amber{background:var(--c-amber-light);border:.5px solid var(--c-amber-border)}.tp-item.tp-green{background:var(--c-green-light);border:.5px solid var(--c-green-border)}.tp-item .tp-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}.tp-item .tp-dot.dot-red{background:var(--c-red)}.tp-item .tp-dot.dot-amber{background:var(--c-amber)}.tp-item .tp-dot.dot-green{background:var(--c-green)}.tp-item .tp-text{flex:1;font-size:13px;line-height:1.5;color:var(--c-text-1)}.progress-bar-wrap .prog-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--c-text-3);margin-bottom:4px}.progress-bar-wrap .prog-track{height:5px;background:var(--c-border);border-radius:var(--r-full);overflow:hidden}.progress-bar-wrap .prog-fill{height:100%;border-radius:var(--r-full);transition:width .4s ease}
