:root{color:#202320;background:#f5f6f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button,.link-button{align-items:center;background:#fff;border:1px solid #cfd4cf;border-radius:8px;color:#202320;cursor:pointer;display:inline-flex;gap:7px;justify-content:center;min-height:36px;padding:0 12px;text-decoration:none;white-space:nowrap}button:hover,.link-button:hover{border-color:#2f6f5e}button:disabled{cursor:not-allowed;opacity:.55}.primary{background:#2f6f5e;border-color:#2f6f5e;color:#fff}input,select{background:#fff;border:1px solid #cfd4cf;border-radius:8px;color:#202320;min-height:36px;padding:8px 10px;width:100%}label{color:#565c58;display:grid;font-size:12px;font-weight:700;gap:6px}h1,h2,p{margin:0}.login-shell{align-items:center;background:linear-gradient(180deg,#f5f6f2,#e8ede6);display:grid;min-height:100vh;padding:22px}.login-panel{background:#fff;border:1px solid #d8ddd8;border-radius:8px;box-shadow:0 18px 50px #1a201e1c;display:grid;gap:16px;margin:0 auto;max-width:430px;padding:22px;width:100%}.login-title,.brand{align-items:center;display:flex;gap:12px;min-width:0}.login-title h1{font-size:24px}.login-title span,.brand span{color:#68706b;display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mark{align-items:center;background:#2f6f5e;border-radius:8px;color:#fff;display:grid;font-weight:800;height:42px;letter-spacing:0;place-items:center;width:42px}.shell{display:grid;grid-template-rows:auto auto 1fr;min-height:100vh}.topbar{align-items:center;background:#fff;border-bottom:1px solid #d8ddd8;display:flex;gap:16px;justify-content:space-between;padding:12px 16px;position:sticky;top:0;z-index:5}.brand strong{display:block;font-size:17px}.top-actions,.action-line,.preview-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.toast{align-items:center;border-bottom:1px solid;display:flex;gap:8px;min-height:38px;padding:8px 16px}.toast.success{background:#edf7ef;border-color:#c8e1cd;color:#24533f}.toast.error{background:#fff1ed;border-color:#efc7bf;color:#8a2e25}.toast button{margin-left:auto;min-height:28px;padding:0 8px}.workspace{display:grid;grid-template-columns:minmax(280px,360px) 1fr;min-height:0}.sidebar{background:#fff;border-right:1px solid #d8ddd8;display:grid;gap:12px;grid-template-rows:auto auto 1fr;min-height:calc(100vh - 67px);padding:14px}.search-box{align-items:center;display:flex;gap:8px}.search-box svg{color:#68706b;flex:0 0 auto}.create-panel,.summary-band,.import-panel,.preview-panel,.data-section{background:#fff;border:1px solid #d8ddd8;border-radius:8px;display:grid;gap:12px;padding:14px}.create-panel{background:#f9faf7}.section-title{align-items:center;display:flex;gap:8px;justify-content:space-between}.section-title h2{font-size:15px}.app-list{align-content:start;display:grid;gap:8px;overflow:auto}.app-row{align-items:center;display:grid;gap:10px;grid-template-columns:1fr auto;justify-content:stretch;min-height:58px;text-align:left;width:100%}.app-row.selected{background:#eaf4ef;border-color:#87b39c}.app-row span{display:grid;gap:3px;min-width:0}.app-row small{color:#68706b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{align-content:start;display:grid;gap:14px;padding:16px}.summary-band{grid-template-columns:minmax(180px,280px) 1fr auto}.summary-band h1{font-size:28px;line-height:1.1}.summary-band>div:first-child span{color:#68706b;font-size:13px}.metrics{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(110px,1fr))}.metric{background:#f5f6f2;border:1px solid #e0e4df;border-radius:8px;display:grid;gap:4px;min-width:0;padding:10px}.metric span{color:#68706b;font-size:11px;font-weight:800;text-transform:uppercase}.metric strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-grid{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) auto}.change-grid{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(92px,1fr))}.change-item{background:#f5f6f2;border:1px solid #e0e4df;border-radius:8px;display:grid;gap:5px;padding:10px}.change-item.changed{background:#fff7e7;border-color:#e2b75f}.change-item span{color:#68706b;font-size:11px;font-weight:800;text-transform:uppercase}.warning-list{align-items:start;background:#fff7e7;border:1px solid #e2b75f;border-radius:8px;color:#73521d;display:grid;gap:8px;grid-template-columns:auto 1fr;padding:10px}.warning-list div{display:grid;gap:4px}.check-line{align-items:center;display:flex;font-size:13px;gap:8px}.check-line input{min-height:16px;width:16px}.seed-policy{align-items:center;display:flex;gap:8px}.seed-policy select{min-width:140px}.data-table{border:1px solid #e0e4df;border-radius:8px;overflow:hidden}.data-row{align-items:center;border-top:1px solid #e0e4df;display:grid;gap:8px;min-height:42px;padding:8px 10px}.data-row:first-child{border-top:0}.data-row.header{background:#f5f6f2;color:#68706b;font-size:11px;font-weight:800;min-height:34px;text-transform:uppercase}.jobs .data-row{grid-template-columns:minmax(120px,1.1fr) minmax(90px,.7fr) minmax(80px,.7fr) minmax(80px,.7fr) minmax(140px,1fr)}.releases .data-row{grid-template-columns:minmax(160px,1.3fr) minmax(90px,.7fr) minmax(100px,.7fr) minmax(140px,1fr)}.empty-line,.empty-state{color:#68706b;padding:14px}.empty-state{align-items:center;display:grid;gap:8px;justify-items:center}.pill{border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;justify-content:center;max-width:180px;padding:4px 8px;width:fit-content}.pill-active,.pill-succeeded,.pill-ready{background:#def3e5;color:#24533f}.pill-creating,.pill-building,.pill-running,.pill-queued,.pill-built_pending_public_verify,.pill-degraded,.pill-needs-confirm{background:#fff0ca;color:#73521d}.pill-failed,.pill-cancelled{background:#ffe1da;color:#8a2e25}.pill-pending,.pill-unknown{background:#e7ebef;color:#46515a}@media (max-width: 980px){.workspace{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #d8ddd8;min-height:auto}.summary-band,.import-grid{grid-template-columns:1fr}.metrics,.change-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jobs .data-row,.releases .data-row{grid-template-columns:minmax(120px,1fr) minmax(80px,.8fr)}.jobs .data-row span:nth-child(n+3),.releases .data-row span:nth-child(n+3){display:none}}@media (max-width: 560px){.topbar{align-items:flex-start;flex-direction:column}.metrics,.change-grid{grid-template-columns:1fr}.content{padding:10px}}
