:root{
  --ink:#1d2923;--muted:#68736d;--paper:#f5f6f3;--card:#fff;--soft:#edf2ee;
  --accent:#216149;--accent-dark:#174a37;--line:#dce2dd;--danger:#a13e37;--warning:#946817;
  --shadow:0 10px 30px rgba(24,43,34,.06);--radius:14px
}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--accent);text-underline-offset:3px}
.topbar{position:sticky;top:0;z-index:20;height:68px;background:rgba(245,246,243,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.topbar-inner{width:min(1240px,92vw);height:100%;margin:auto;display:flex;align-items:center;gap:28px}
.brand{color:var(--ink);text-decoration:none;font-size:19px;letter-spacing:-.04em;white-space:nowrap}.brand b{color:var(--accent)}
.main-nav{display:flex;align-items:center;gap:6px}.main-nav a{color:var(--muted);text-decoration:none;padding:8px 10px;border-radius:8px}.main-nav a:hover{color:var(--ink);background:var(--soft)}
.account-menu{margin-left:auto;display:flex;align-items:center;gap:9px}.account-email{color:var(--muted);font-size:12px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu form{margin:0}
main{width:min(1180px,92vw);margin:46px auto 72px}
.eyebrow{margin:0 0 7px;color:var(--accent);font-size:11px;letter-spacing:.16em;font-weight:800;text-transform:uppercase}
h1{font:650 clamp(34px,5vw,58px)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.045em;margin:0}h2{letter-spacing:-.02em}
.lede{max-width:700px;margin:12px 0 0;color:var(--muted);font-size:15px}.small{font-size:12px}.muted{color:var(--muted)}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin:0 0 26px}.head-actions,.form-actions,.tag-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.head-actions form{margin:0}
.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:20px}.panel{padding:20px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:14px}.project-grid{align-items:stretch}.project{display:flex;min-height:180px;flex-direction:column;color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.project:hover{transform:translateY(-2px);border-color:#afc6b9;box-shadow:0 14px 34px rgba(24,43,34,.09)}.project h2{margin:16px 0 6px;font-size:20px}.project p{margin:0;color:var(--muted)}.card-topline{display:flex;justify-content:space-between;gap:12px}.card-link{margin-top:auto;padding-top:24px;color:var(--accent);font-weight:700;font-size:13px}.empty{min-height:190px}.empty h2{margin-top:0}
button,.button{appearance:none;border:0;border-radius:9px;padding:10px 15px;background:var(--accent);color:#fff;font:700 13px/1.2 inherit;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.button:hover{background:var(--accent-dark)}.secondary{background:#fff;color:var(--accent);border:1px solid #a9c1b4}.secondary:hover{background:var(--soft)}.danger{background:var(--danger)}.danger:hover{background:#84312b}.link{background:transparent;color:var(--muted);padding:8px}.link:hover{background:var(--soft);color:var(--ink)}
.badge,.status{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:3px 8px;background:var(--soft);color:#466255;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.badge-admin{background:#e7edf8;color:#345280}.badge-danger{background:#f8e9e7;color:var(--danger)}
.status-running,.status-claimed,.status-queued,.status-waiting_for_connector,.status-validating{background:#e7f0ec;color:var(--accent)}.status-completed{background:#e6f2e9;color:#25603b}.status-failed,.status-error,.status-warning,.status-cancelled,.status-blocked_by_quality_gate{background:#f7eae8;color:#8e3d36}.status-info,.status-not_started{background:#edf0ee;color:#58665f}
.back{display:inline-block;margin-bottom:20px;color:var(--muted);text-decoration:none;font-weight:650}.back:hover{color:var(--ink)}.danger-text{color:var(--danger)!important}.notice{padding:12px 14px;border-radius:10px;background:#f6f2e8;color:#735d28;border:1px solid #eadfbd}
label{display:grid;gap:7px;font-size:12px;font-weight:750}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px 11px;color:var(--ink);font:inherit;outline:none}input:focus,textarea:focus,select:focus{border-color:#8eb5a1;box-shadow:0 0 0 3px rgba(33,97,73,.08)}textarea{resize:vertical}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wide{grid-column:1/-1}.form-note,label small{color:var(--muted);font-size:11px;font-weight:500}.error{color:var(--danger);font-weight:650}.check{display:flex;align-items:center;gap:9px;font-size:13px}.check input{width:16px;height:16px}.admin-form{display:grid;grid-template-columns:1fr;gap:18px}.narrow-page{width:min(680px,100%);margin:0 auto}.narrow-page h1{font-size:clamp(34px,5vw,48px);margin-bottom:8px}
.login{display:grid;grid-template-columns:1.15fr .75fr;gap:min(9vw,100px);align-items:center;min-height:64vh}.login h1{max-width:680px}.login .card{display:grid;gap:18px;padding:28px}.login .card h2{margin:0;font-size:23px}.login small{color:var(--muted)}
.admin-tabs{display:flex;gap:5px;margin:0 0 18px;padding:5px;background:#e9eeea;border-radius:11px;width:max-content;max-width:100%;overflow:auto}.admin-tabs a{white-space:nowrap;text-decoration:none;color:var(--muted);font-weight:700;font-size:12px;padding:8px 11px;border-radius:8px}.admin-tabs a:hover,.admin-tabs a.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(20,40,30,.08)}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:17px;box-shadow:var(--shadow);display:grid;gap:5px}.metric span{color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.metric b{font-size:28px;line-height:1}.metric small{color:var(--muted);font-size:11px}.metric .metric-text{font-size:16px;line-height:1.35;overflow-wrap:anywhere}.compact-metrics .metric{min-height:100px}
.admin-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:16px}.admin-project-columns{grid-template-columns:minmax(0,1fr)}.panel{min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-head h2{margin:0;font-size:18px}.panel-head a,.panel-head span{font-size:12px}.section-gap{margin-top:16px}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{padding:9px 10px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--line)}td{padding:12px 10px;border-bottom:1px solid #edf0ed;vertical-align:top;font-size:13px}tbody tr:last-child td{border-bottom:0}td a{text-decoration:none}td strong{display:block;color:var(--ink)}td small{display:block;color:var(--muted);max-width:360px;margin-top:2px}.right{text-align:right}.truncate{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stack{display:grid;gap:8px;min-width:0}.mini-card{display:flex;justify-content:space-between;gap:14px;align-items:center;min-width:0;max-width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;color:inherit;text-decoration:none}.mini-card:hover:not(.static){border-color:#aec4b8;background:#fbfdfb}.mini-card div{display:grid;min-width:0;max-width:100%}.mini-card strong{font-size:13px;min-width:0;overflow-wrap:anywhere;word-break:break-word}.mini-card small{color:var(--muted);font-size:11px;overflow-wrap:anywhere;word-break:break-word}.mini-card>span{flex:0 0 auto;color:var(--accent);font-size:11px;white-space:nowrap}.artifact-card>div{overflow:hidden}.artifact-card strong,.artifact-card small{max-width:100%}.static{cursor:default}
.audit-list{list-style:none;margin:0;padding:0;display:grid}.audit-list li{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:10px 0;border-top:1px solid #edf0ed}.audit-list li:first-child{border-top:0}.audit-list div{display:grid}.audit-list strong{font-size:12px}.audit-list small{color:var(--muted);font-size:10px}.wide-audit{grid-template-columns:1fr}.email-title{font:650 clamp(28px,4vw,44px)/1.05 system-ui,sans-serif;letter-spacing:-.04em;overflow-wrap:anywhere}
.debug-list details,.event-stream details{border-top:1px solid #edf0ed;padding:9px 0}.debug-list details:first-child,.event-stream details:first-child{border-top:0}.debug-list summary,.event-stream summary{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:11px}.debug-list summary span,.event-stream summary span{margin-left:auto;color:var(--muted)}.debug-list pre,.event-stream pre{max-height:340px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#f6f7f5;border:1px solid #e7ebe7;border-radius:9px;padding:12px;font-size:10px;line-height:1.4}.event-stream code{color:var(--muted)}
.log-controls{display:grid;grid-template-columns:160px minmax(240px,1fr) auto;align-items:end;gap:12px;margin-bottom:14px}.server-log{margin:0;max-height:65vh;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#15201b;color:#d9e8df;border-radius:10px;padding:16px;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.cleanup-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:14px}.cleanup-actions form,.cleanup-card form{margin:0}.cleanup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cleanup-card{display:flex;flex-direction:column;justify-content:space-between;gap:20px}.cleanup-card h2{margin:0 0 7px;font-size:18px}.cleanup-card p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px}.cleanup-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:14px}.cleanup-card-foot span{color:var(--muted);font-size:11px}.cleanup-card-foot strong{color:var(--ink);font-size:20px;margin-right:3px}.success-notice{background:#eaf3ed;color:#285d40;border-color:#cfe1d5}button:disabled{opacity:.45;cursor:not-allowed}button:disabled:hover{background:inherit}.secondary:disabled:hover{background:#fff}
@media(max-width:900px){.metric-grid{grid-template-columns:repeat(2,1fr)}.admin-columns{grid-template-columns:1fr}.account-email{display:none}}
@media(max-width:900px){.cleanup-grid{grid-template-columns:1fr}}
@media(max-width:700px){main{width:min(94vw,1180px);margin-top:28px}.topbar-inner{width:94vw;gap:10px}.main-nav{gap:0}.main-nav a{padding:7px}.badge-admin{display:none}.page-head{align-items:flex-start;flex-direction:column}.page-head>form{width:100%}.page-head>form button{width:100%}.head-actions{width:100%}.head-actions>.button,.head-actions>form{flex:1}.head-actions form button{width:100%}.form{grid-template-columns:1fr}.wide{grid-column:auto}.login{grid-template-columns:1fr}.login>div:first-child{display:none}.metric-grid{grid-template-columns:1fr 1fr}.panel{padding:14px}.log-controls{grid-template-columns:1fr}.cleanup-actions{justify-content:stretch}.cleanup-actions form{flex:1}.cleanup-actions button{width:100%}.account-menu{gap:2px}.project{min-height:150px}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.main-nav a:first-child{display:none}}
.project-setup-form{display:grid;gap:14px}.form-section{padding:22px}.form-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px}.form-section-head h2{margin:0;font-size:20px}.form-section-head>p{max-width:470px;margin:0;color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.inline-action{display:flex;align-items:center;gap:14px}.inline-action .form-note{margin:0}.sticky-form-actions{position:sticky;bottom:16px;z-index:10;display:flex;justify-content:flex-end;gap:9px;width:max-content;margin-left:auto;padding:8px;background:rgba(245,246,243,.94);border:1px solid var(--line);border-radius:12px;backdrop-filter:blur(8px)}
@media(max-width:700px){.form-section-head{align-items:flex-start;flex-direction:column;gap:8px}.form-grid{grid-template-columns:1fr}.inline-action{align-items:flex-start;flex-direction:column}.sticky-form-actions{width:100%;bottom:8px}.sticky-form-actions>*{flex:1}}
