@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap");:root{--sand-0:#2b2a2c;--sand-10:#333234;--sand-20:#454446;--sand-30:#4d4b4e;--sand-40:#666468;--sand-50:#7b787d;--sand-60:#a6a4a8;--sand-70:#b8b6b9;--sand-80:#d9d8d9;--sand-90:#e5e5e6;--ocean-20:#325776;--ocean-30:#43719d;--ocean-40:#6f94b8;--ocean-50:#92b0ce;--ocean-60:#d4e0f2;--ocean-70:#dce6fa;--ocean-80:#f1f6fd;--sunbeam-10:#c3c91a;--sunbeam-30:#d4d92b;--sunbeam-50:#f2f764;--sunbeam-70:#f9fbb7;--rust-20:#8f3628;--rust-50:#ee978b;--rust-60:#fbbeb6;--rust-70:#fddcd8;--evergreen-20:#3e603e;--evergreen-50:#87b089;--evergreen-60:#c7dbca;--evergreen-70:#e6efe7;--ember-20:#7d4721;--ember-50:#cf9f77;--ember-60:#e8d2bf;--ember-70:#f4eae1;--iris-20:#58438e;--iris-30:#7f66b7;--iris-40:#a190cb;--iris-60:#dbd1f5;--iris-70:#e5def7;--pebble-20:#655a4e;--pebble-30:#756757;--pebble-60:#c5bbb0;--pebble-70:#e9e6e2;--elevation-1:#2b2a2c;--elevation-2:#2e2d2f;--elevation-3:#302f31;--alpha-border:#424143;--bg-primary:var(--sand-0);--bg-secondary:var(--sand-10);--bg-tertiary:var(--sand-20);--text-primary:var(--sand-80);--text-secondary:var(--sand-70);--text-tertiary:var(--sand-60);--text-muted:var(--sand-50);--text-disabled:var(--sand-40);--border-light:var(--sand-10);--border-default:var(--sand-20);--border-dark:var(--sand-30);--nav-default:transparent;--nav-hover:var(--sand-10);--nav-active:var(--sand-80);--nav-active-text:var(--sand-0);--btn-primary:var(--sunbeam-50);--btn-primary-hover:var(--sunbeam-30);--btn-primary-text:var(--sand-0);--btn-secondary-hover:var(--sand-20);--btn-secondary-border:var(--sand-30);--btn-secondary-text:var(--sand-80);--card-bg:var(--elevation-2);--card-border:var(--sand-20);--sidebar-width:241px;--topbar-height:52px;--letter-spacing:-0.4px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;background:var(--bg-primary);color:var(--text-primary);letter-spacing:var(--letter-spacing);-webkit-font-smoothing:antialiased}a{color:inherit}.shell{overflow:hidden}.shell,.sidebar{display:flex;height:100vh}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-primary);border-right:1px solid var(--border-default);flex-direction:column;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.sidebar-logo{gap:9px;padding:14px 14px 12px;border-bottom:1px solid var(--border-default);text-decoration:none}.logo-icon,.sidebar-logo{display:flex;align-items:center}.logo-icon{width:28px;height:28px;border-radius:6px;background:var(--sand-20);justify-content:center;flex-shrink:0}.logo-wordmark{font-size:15px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.logo-ai{color:var(--sunbeam-50)}.logo-tag{display:block;font-size:10.5px;font-weight:500;color:var(--text-muted);letter-spacing:0;margin-top:1px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--sunbeam-50);outline-offset:3px}.practice-switcher{margin:8px 8px 4px;padding:7px 8px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .1s}.practice-switcher:hover{background:var(--nav-hover)}.practice-avatar{width:26px;height:26px;border-radius:6px;background:var(--sand-30);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--text-secondary);flex-shrink:0;letter-spacing:0}.practice-info{flex:1 1;min-width:0}.practice-name{font-size:12.5px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.practice-sub{font-size:11px;color:var(--text-tertiary);margin-top:1px}.chevron-icon{color:var(--text-muted);flex-shrink:0}.sidebar-nav{flex:1 1}.nav-section{padding:6px 0 2px}.nav-section-label{font-size:10.5px;font-weight:600;color:var(--text-muted);padding:4px 14px 3px;letter-spacing:.1px}.nav-item{display:flex;align-items:center;gap:8px;padding:6px 8px;margin:1px 6px;border-radius:7px;cursor:pointer;color:var(--text-secondary);font-size:13px;font-weight:500;transition:background .1s,color .1s;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none}.nav-item:hover{background:var(--nav-hover);color:var(--text-primary)}.nav-item:hover .nav-icon{color:var(--text-tertiary)}.nav-item.active{background:var(--nav-active);color:var(--nav-active-text)}.nav-item.active .nav-icon{color:var(--nav-active-text);opacity:.75}.nav-icon{width:15px;height:15px;flex-shrink:0;color:var(--text-muted);transition:color .1s}.nav-badge{margin-left:auto;font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:20px;letter-spacing:0;min-width:18px;text-align:center}.nav-badge.rust{background:var(--rust-20);color:var(--rust-70)}.nav-badge.ocean{background:var(--ocean-20);color:var(--ocean-70)}.nav-item.active .nav-badge{background:rgba(43,42,44,.2);color:var(--nav-active-text)}.sidebar-divider{border:none;margin:4px 0}.sidebar-bottom,.sidebar-divider{border-top:1px solid var(--border-default)}.sidebar-bottom{padding:6px 0 8px}.main-wrapper{flex:1 1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-secondary)}.topbar{height:var(--topbar-height);min-height:var(--topbar-height);background:var(--bg-primary);border-bottom:1px solid var(--border-default);padding:0 18px;gap:10px}.search-box,.topbar{display:flex;align-items:center}.search-box{gap:7px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:8px;padding:6px 10px;width:260px;cursor:text;transition:border-color .1s}.search-box:hover{border-color:var(--border-dark)}.search-box:focus-within{border-color:var(--ocean-50)}.search-icon{color:var(--text-muted);flex-shrink:0}.search-box input{background:transparent;border:none;outline:none;color:var(--text-secondary);font-family:inherit;font-size:12.5px;letter-spacing:var(--letter-spacing);width:100%}.search-box input::-moz-placeholder{color:var(--text-muted)}.search-box input::placeholder{color:var(--text-muted)}.search-kbd{display:flex;gap:2px;margin-left:auto}.kbd{font-size:9.5px;color:var(--text-muted);background:var(--bg-tertiary);border:1px solid var(--border-dark);border-radius:4px;padding:1px 5px;font-family:inherit}.topbar-spacer{flex:1 1}.topbar-btn{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border-dark);border-radius:7px;padding:5px 11px;color:var(--text-secondary);font-family:inherit;font-size:12.5px;font-weight:500;letter-spacing:var(--letter-spacing);cursor:pointer;transition:background .1s,color .1s;white-space:nowrap}.topbar-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.topbar-icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:7px;cursor:pointer;position:relative;color:var(--text-secondary);transition:background .1s,color .1s}.topbar-icon-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.notif-dot{position:absolute;top:5px;right:5px;width:6px;height:6px;background:var(--rust-50);border-radius:50%;border:1.5px solid var(--bg-primary)}.user-avatar{width:30px;height:30px;border-radius:50%;background:var(--sand-30);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--text-secondary);cursor:pointer;flex-shrink:0;letter-spacing:0}.content-area{flex:1 1;overflow-y:auto;padding:22px 24px}.content-area::-webkit-scrollbar{width:4px}.content-area::-webkit-scrollbar-track{background:transparent}.content-area::-webkit-scrollbar-thumb{background:var(--sand-30);border-radius:99px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.page-title{font-size:19px;font-weight:700;color:var(--text-primary);letter-spacing:-.6px}.page-subtitle{font-size:12.5px;color:var(--text-tertiary);margin-top:3px}.page-actions{display:flex;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;gap:6px;border-radius:7px;padding:6px 13px;font-size:12.5px;font-weight:500;cursor:pointer;border:none;font-family:inherit;letter-spacing:var(--letter-spacing);transition:background .1s}.btn:disabled{cursor:default;opacity:.7}.btn-secondary{background:var(--bg-primary);border:1px solid var(--btn-secondary-border);color:var(--btn-secondary-text)}.btn-secondary:hover{background:var(--bg-tertiary)}.btn-primary{background:var(--btn-primary);border:1px solid var(--btn-primary);color:var(--btn-primary-text);font-weight:600}.btn-primary:hover{background:var(--btn-primary-hover);border-color:var(--btn-primary-hover)}.btn-run{background:var(--ocean-30);border:1px solid var(--ocean-30);color:#fff;font-weight:600}.btn-run:hover{background:var(--ocean-20);border-color:var(--ocean-20)}.btn-danger{background:var(--rust-20);border:1px solid var(--rust-20);color:var(--rust-70);font-weight:600}.btn-danger:hover{background:#7a2b1f}.btn-success{background:var(--evergreen-20);border:1px solid var(--evergreen-20);color:var(--evergreen-70);font-weight:600}.btn-success:hover{background:#345234}.btn-muted{background:var(--sand-20);border:1px solid var(--sand-20);color:var(--text-muted);font-weight:600}.btn-warn{background:var(--ember-50);border:1px solid var(--ember-50);color:var(--sand-0);font-weight:600}.btn-warn:hover{background:var(--ember-20);border-color:var(--ember-20);color:var(--ember-70)}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:12px;gap:12px;margin-bottom:16px}.kpi-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:16px 18px}.kpi-label{font-size:11px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.kpi-value{font-size:24px;font-weight:700;color:var(--text-primary);letter-spacing:-.8px;line-height:1}.kpi-delta{display:inline-flex;align-items:center;gap:3px;margin-top:6px;font-size:11.5px;font-weight:500;padding:2px 7px;border-radius:20px}.kpi-delta.up{background:var(--evergreen-20);color:var(--evergreen-70)}.kpi-delta.down{background:var(--rust-20);color:var(--rust-70)}.kpi-delta.neutral{background:var(--ocean-20);color:var(--ocean-70)}.two-col{grid-template-columns:1fr 320px;grid-gap:14px;margin-bottom:14px}.grid-2,.two-col{display:grid;gap:14px}.grid-2{grid-template-columns:1fr 1fr;grid-gap:14px}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-default)}.card-title{font-size:13px;font-weight:600;color:var(--text-primary)}.card-action{font-size:12px;color:var(--ocean-60);cursor:pointer;font-weight:500}.card-action:hover{color:var(--ocean-70)}.card-body{padding:12px 16px}.filter-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:16px}.field-group{display:flex;flex-direction:column;gap:4px}.field-label{font-size:10.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.field-input,.field-select{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:7px;padding:6px 9px;font-size:12.5px;color:var(--text-primary);font-family:inherit;letter-spacing:var(--letter-spacing);outline:none}.field-input:focus,.field-select:focus{border-color:var(--ocean-50)}.data-table{width:100%;border-collapse:collapse}.data-table th{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-default);white-space:nowrap;background:var(--card-bg)}.data-table td{padding:9px 12px;font-size:12.5px;color:var(--text-primary);border-bottom:1px solid var(--border-light);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-secondary)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:2px 7px;border-radius:20px;letter-spacing:0}.badge-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.badge.green{background:var(--evergreen-20);color:var(--evergreen-70)}.badge.green .badge-dot{background:var(--evergreen-50)}.badge.red{background:var(--rust-20);color:var(--rust-70)}.badge.red .badge-dot{background:var(--rust-50)}.badge.yellow{background:var(--ember-20);color:var(--ember-70)}.badge.yellow .badge-dot{background:var(--ember-50)}.badge.blue{background:var(--ocean-20);color:var(--ocean-70)}.badge.blue .badge-dot{background:var(--ocean-50)}.badge.purple{background:var(--iris-20);color:var(--iris-70)}.badge.purple .badge-dot{background:var(--iris-40)}.badge.gray{background:var(--sand-20);color:var(--text-secondary)}.progress-bar{height:4px;border-radius:99px;background:var(--sand-20);overflow:hidden;margin-top:5px}.progress-fill{height:100%;border-radius:99px;background:var(--ocean-40)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:12px;gap:12px}.metric-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:14px 16px}.metric-card.mc-blue{border-left:3px solid var(--ocean-40)}.metric-card.mc-yellow{border-left:3px solid var(--ember-50)}.metric-card.mc-iris{border-left:3px solid var(--iris-40)}.metric-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.metric-value{font-size:20px;font-weight:700;line-height:1}.metric-sub{font-size:11px;color:var(--text-muted);margin-top:4px}.metric-target{font-size:11px;color:var(--text-secondary);margin-top:2px}.metric-target span{font-weight:600;color:var(--text-primary)}.metric-bar{height:4px;border-radius:99px;background:var(--sand-20);overflow:hidden;margin-top:8px}.metric-bar-fill{height:100%;border-radius:99px}.log-wrap{margin-top:8px;padding:8px 10px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:8px;max-width:420px}.log-panel{background:var(--sand-0);color:var(--sand-80);font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;line-height:1.5;padding:8px 10px;border-radius:6px;max-height:220px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.log-stats{display:flex;gap:12px;font-size:11px;flex-wrap:wrap;margin-bottom:6px}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:10px;height:10px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px;text-align:center}.empty-icon{font-size:26px;margin-bottom:10px;opacity:.4}.empty-title{font-size:13px;font-weight:600;color:var(--text-secondary)}.empty-sub{font-size:12px;color:var(--text-tertiary);margin-top:4px;line-height:1.4;max-width:320px}.wizard-steps{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.wizard-step{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--text-muted);padding:6px 13px;border-radius:20px;background:var(--bg-secondary);border:1px solid var(--border-default)}.wizard-step-num{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:10px;font-weight:700;background:var(--sand-30);color:var(--text-secondary);flex-shrink:0}.wizard-step.active{color:var(--text-primary);background:var(--ocean-20);border-color:var(--ocean-30)}.wizard-step.active .wizard-step-num{background:var(--ocean-40);color:#fff}.wizard-step.done{color:var(--evergreen-70);background:var(--evergreen-20);border-color:var(--evergreen-20)}.wizard-step.done .wizard-step-num{background:var(--evergreen-50);color:var(--sand-0)}@media (max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:960px){.grid-2,.two-col{grid-template-columns:1fr}}