.dashboard-main{max-width:1440px;margin:0 auto;padding:40px 32px 80px}.page-head{border-bottom:1px solid var(--ink-1);grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:32px;padding-bottom:24px;display:grid}.eyebrow{color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-family:var(--font-mono);margin-bottom:8px}.page-head h1{font-family:var(--font-display);letter-spacing:-.02em;font-size:44px;font-weight:300;line-height:1.05}.page-head h1 em{color:var(--accent);font-style:italic;font-weight:400}.page-head p{color:var(--ink-2);max-width:52ch;font-size:var(--text-sm);margin-top:12px}.head-actions{align-items:center;gap:8px;display:flex}.two-col{grid-template-columns:1fr 340px;gap:48px;margin-bottom:48px;display:grid}.section-head{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:baseline;margin-bottom:20px;padding-bottom:12px;display:flex}.section-head h2{font-family:var(--font-display);letter-spacing:-.01em;font-size:22px;font-weight:400}.section-head .meta{font-size:var(--text-xs);color:var(--ink-3);font-family:var(--font-mono)}.footnote{border-top:1px solid var(--line-2);color:var(--ink-3);font-size:11px;font-family:var(--font-mono);letter-spacing:.04em;justify-content:space-between;margin-top:48px;padding-top:24px;display:flex}.btn{font-size:var(--text-xs);font-weight:var(--weight-medium);font-family:var(--font-body);border:1px solid var(--ink-1);color:var(--ink-1);cursor:pointer;background:0 0;border-radius:2px;align-items:center;gap:8px;padding:10px 16px;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover,.btn-primary{background:var(--ink-1);color:var(--surface)}.btn-primary:hover{background:var(--accent);border-color:var(--accent)}.btn-ghost{border-color:var(--line-2);color:var(--ink-2)}.btn-ghost:hover{background:var(--surface);color:var(--ink-1);border-color:var(--ink-1)}.kpis{border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:var(--surface);grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:48px;display:grid}.kpi{border-right:1px solid var(--line-2);padding:24px 28px}.kpi:last-child{border-right:none}.kpi-label{color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-family:var(--font-mono);margin-bottom:12px}.kpi-value{font-family:var(--font-display);letter-spacing:-.02em;font-size:40px;font-weight:300;line-height:1}.kpi-value .unit{color:var(--ink-3);font-size:15px;font-family:var(--font-body);margin-left:4px}.kpi-foot{font-size:var(--text-xs);color:var(--ink-2);align-items:center;gap:6px;min-height:20px;margin-top:10px;display:flex}.trend-up{color:var(--ok)}.trend-down{color:var(--err)}@media (width<=1100px){.two-col{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.kpi:nth-child(2){border-right:none}}@media (width<=720px){.dashboard-main{padding:24px 20px 60px}.page-head h1{font-size:32px}.kpis{grid-template-columns:1fr}.kpi{border-right:none;border-bottom:1px solid var(--line-2)}}.filters{background:var(--surface);border:1px solid var(--line-2);border-radius:2px;align-items:center;gap:4px;width:fit-content;margin-bottom:16px;padding:4px;display:flex}.chip{font-size:var(--text-xs);color:var(--ink-2);cursor:pointer;font-family:var(--font-body);-webkit-user-select:none;user-select:none;border-radius:2px;padding:6px 14px}.chip.active{background:var(--ink-1);color:var(--surface)}.chip:not(.active):hover{background:var(--bg)}.chip .count{opacity:.6;font-size:11px;font-family:var(--font-mono);margin-left:6px}.projects{background:var(--line-2);border:1px solid var(--line-2);flex-direction:column;gap:1px;display:flex}.project{background:var(--surface);cursor:pointer;grid-template-columns:44px 1fr 180px 200px 120px;align-items:center;gap:20px;padding:20px 24px;transition:background .15s;display:grid}.project:hover{background:var(--surface-alt)}.project-idx{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.05em;font-size:11px}.project-main{min-width:0}.project-name{align-items:center;gap:10px;margin-bottom:6px;display:flex}.project-name h3{font-size:15px;font-weight:var(--weight-medium);letter-spacing:-.005em}.project-desc{font-size:var(--text-xs);color:var(--ink-3);font-family:var(--font-mono);align-items:center;gap:8px;display:flex}.project-desc .sep{color:var(--line-2)}.pill{font-size:10.5px;font-weight:var(--weight-medium);letter-spacing:.02em;font-family:var(--font-mono);text-transform:uppercase;border-radius:2px;align-items:center;gap:5px;padding:3px 8px;display:inline-flex}.pill-dot{border-radius:50%;width:5px;height:5px}.pill-running{background:var(--info-soft);color:var(--info)}.pill-running .pill-dot{background:var(--info);animation:1.8s infinite mg-pulse}.pill-validating{background:var(--warn-soft);color:var(--warn)}.pill-validating .pill-dot{background:var(--warn);animation:1.8s infinite mg-pulse}.pill-completed{background:var(--ok-soft);color:var(--ok)}.pill-completed .pill-dot{background:var(--ok)}.pill-failed{background:var(--err-soft);color:var(--err)}.pill-failed .pill-dot{background:var(--err)}.pill-draft{background:var(--line-2);color:var(--ink-3)}.pill-draft .pill-dot{background:var(--ink-4,#b8b6aa)}.project-progress{min-width:0}.progress-label{color:var(--ink-3);font-size:11px;font-family:var(--font-mono);justify-content:space-between;margin-bottom:6px;display:flex}.progress-label b{color:var(--ink-1);font-weight:var(--weight-medium)}.progress-bar{background:var(--line-2);border-radius:1px;height:3px;overflow:hidden}.progress-fill{background:var(--ink-1);height:100%;transition:width .3s}.progress-fill.warn{background:var(--warn)}.progress-fill.err{background:var(--err)}.progress-fill.ok{background:var(--ok)}.project-meta{color:var(--ink-3);font-size:11px;font-family:var(--font-mono);flex-direction:column;align-items:flex-start;gap:4px;display:flex}.project-meta b{color:var(--ink-1);font-size:var(--text-xs);font-weight:var(--weight-medium)}.project-arrow{text-align:right;color:var(--ink-3);font-family:var(--font-mono);font-size:var(--text-xs)}@media (width<=720px){.project{grid-template-columns:1fr;gap:10px;padding:16px 20px}.project-idx,.project-arrow{display:none}}.side-card{background:var(--surface);border:1px solid var(--line-2);margin-bottom:20px}.side-card-head{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:baseline;padding:16px 20px 12px;display:flex}.side-card-head h3{font-family:var(--font-display);letter-spacing:-.005em;font-size:17px;font-weight:400}.side-card-head .meta{color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-family:var(--font-mono)}.side-card-body{padding:4px 0}.sys-item{border-bottom:1px solid var(--line-2);grid-template-columns:1fr auto;align-items:center;padding:10px 20px;font-size:12.5px;display:grid}.sys-item:last-child{border-bottom:none}.sys-item .label{color:var(--ink-2)}.sys-item .val{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-1);font-weight:var(--weight-medium)}.sys-ok{color:var(--ok)!important}.sys-warn{color:var(--warn)!important}.activity-item{border-bottom:1px solid var(--line-2);gap:12px;padding:12px 20px;display:flex}.activity-item:last-child{border-bottom:none}.activity-time{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.02em;min-width:52px;padding-top:2px;font-size:10.5px}.activity-body{flex:1;min-width:0}.activity-title{font-size:var(--text-xs);line-height:1.4}.activity-title b{font-weight:var(--weight-medium)}.activity-project{color:var(--ink-3);font-size:11px;font-family:var(--font-mono);margin-top:3px}.ai{color:var(--ok)}.ae{color:var(--err)}.aw{color:var(--warn)}.an{color:var(--info)}.quick-list{padding:8px 0}.quick-item{cursor:pointer;font-size:var(--text-xs);border-left:2px solid #0000;justify-content:space-between;align-items:center;padding:11px 20px;display:flex}.quick-item:hover{background:var(--bg);border-left-color:var(--accent)}.quick-item .k{font-family:var(--font-mono);color:var(--ink-3);background:var(--bg);letter-spacing:.04em;border-radius:2px;padding:2px 6px;font-size:10.5px}
