:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#f3f5f7;background:#090b0e;line-height:1.45
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:
  radial-gradient(circle at 20% -10%,#1a2029 0,transparent 34rem),
  radial-gradient(circle at 100% 0,#101822 0,transparent 28rem),
  #090b0e;color:#f3f5f7}
button,input{font:inherit}
a{color:inherit}
.shell{width:min(1240px,calc(100% - 28px));margin:auto;padding:28px 0 34px}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}
.back{display:inline-block;color:#7f8b99;text-decoration:none;font-size:.82rem;margin-bottom:8px}
.back:hover{color:#fff}
h1{margin:0;font-size:clamp(1.7rem,4vw,2.65rem);letter-spacing:-.035em}
.topbar p{margin:5px 0 0;color:#8b96a5}
.live-block{display:flex;align-items:center;gap:10px;border:1px solid #272d35;background:#11151a;border-radius:999px;padding:9px 13px;min-width:185px}
.live-block>div{display:grid;line-height:1.2}
.live-block strong{font-size:.8rem}.live-block span:not(.live-dot){font-size:.7rem;color:#7d8897;margin-top:3px}
.live-dot,.status-dot{width:9px;height:9px;border-radius:50%;background:#75808e;box-shadow:0 0 0 4px #75808e18;flex:none}
.live-dot.on,.status-dot.success{background:#50dc86;box-shadow:0 0 15px #50dc8680}
.live-dot.busy,.status-dot.running{background:#f7c75a;box-shadow:0 0 15px #f7c75a70}
.status-dot.failure{background:#ff6868;box-shadow:0 0 15px #ff686875}
.status-dot.cancelled{background:#8b96a5}
.panel{background:#101318;border:1px solid #20262e;border-radius:15px;box-shadow:0 14px 38px #0004}
.toolbar{padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:13px}.toolbar-right{font-size:.76rem;color:#778392}
button,.button{border:1px solid #2d343e;background:#171c22;color:#eef1f4;border-radius:10px;padding:.58rem .78rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
button:hover,.button:hover{background:#222933}
button.primary,.button.primary{background:#f4f6f8;color:#0c0f12;border-color:#f4f6f8}
button.primary:hover,.button.primary:hover{background:#dce1e7}.ghost{background:transparent;border-color:transparent}.danger{color:#ff8585}
.switch-row{display:flex;align-items:center;gap:7px;color:#aab3be;font-size:.82rem}.switch-row input{accent-color:#fff}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
.repo-card{padding:15px;min-width:0;display:flex;flex-direction:column;gap:14px}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.repo-name-wrap{display:flex;align-items:center;gap:10px;min-width:0}.repo-name-wrap>div{display:grid;min-width:0}
.repo-name{font-weight:800;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repo-name:hover{text-decoration:underline}
.workflow-name{color:#687585;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.status-pill{border:1px solid #2a313a;background:#171c22;border-radius:999px;padding:.3rem .52rem;font-size:.64rem;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.repo-card[data-state="success"] .status-pill{color:#73e69d;border-color:#245938;background:#102419}
.repo-card[data-state="running"] .status-pill{color:#f7cf70;border-color:#5b4820;background:#241d0e}
.repo-card[data-state="failure"] .status-pill{color:#ff8989;border-color:#603030;background:#281313}
.repo-card[data-state="cancelled"] .status-pill{color:#a8b1bc}
.main-status{display:grid;gap:2px}.status-title{font-size:1.15rem}.status-detail{font-size:.77rem;color:#7f8a98}
.meta-grid{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.meta-grid>div{background:#15191f;border:1px solid #212832;border-radius:10px;padding:8px 9px;min-width:0}
dt{font-size:.61rem;text-transform:uppercase;letter-spacing:.09em;color:#657180;font-weight:800}
dd{margin:2px 0 0;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
dd a{color:#dce2e8;text-decoration:none}dd a:hover{text-decoration:underline}
.commit-message{font-size:.79rem;color:#a4adb8;min-height:2.4em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-actions{display:flex;gap:8px;margin-top:auto}.card-actions .button{flex:1;font-size:.76rem}.site-link.hidden{display:none}
.history{display:flex;gap:5px;align-items:center;min-height:8px}.history i{display:block;width:22px;height:4px;border-radius:999px;background:#343b45}
.history i.success{background:#42c979}.history i.failure{background:#e95f5f}.history i.cancelled{background:#737f8e}.history i.running{background:#e8b84e}
.settings{overflow:hidden}.settings details{padding:0}.settings summary{list-style:none;cursor:pointer;padding:14px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.settings summary::-webkit-details-marker{display:none}.settings summary>div{display:grid}.settings summary strong{font-size:.9rem}.settings summary span{font-size:.72rem;color:#7d8998;margin-top:2px}
.chev{font-size:1rem!important}.settings details[open] .chev{transform:rotate(180deg)}
.settings-body{border-top:1px solid #20262e;padding:15px;display:grid;gap:18px}
.token-box label{display:block;font-weight:750;font-size:.84rem;margin-bottom:7px}.token-box label span{color:#718090;font-weight:500}
.token-row{display:grid;grid-template-columns:1fr auto auto;gap:8px}
input{border:1px solid #2b323c;background:#15191f;color:#f2f4f6;border-radius:10px;padding:.65rem .72rem;outline:none;min-width:0}
input:focus{border-color:#626d7c;box-shadow:0 0 0 2px #626d7c28}
.token-box p{margin:7px 0 0;font-size:.72rem;color:#6f7b89}.token-box code{color:#9aa5b2}
.repo-manager-head>div{display:grid}.repo-manager-head strong{font-size:.85rem}.repo-manager-head span{font-size:.71rem;color:#6f7b89}
.tracked-list{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0}
.tracked-chip{display:flex;align-items:center;gap:7px;border:1px solid #29313a;background:#151a20;border-radius:999px;padding:5px 8px 5px 10px;font-size:.73rem}
.tracked-chip button{border:0;background:transparent;padding:0;color:#7f8b99;font-size:.8rem}
.add-form{display:grid;grid-template-columns:1.1fr .8fr .9fr 1.1fr auto;gap:8px}
footer{display:flex;justify-content:space-between;gap:12px;margin-top:14px;color:#596573;font-size:.68rem}
.error-banner{grid-column:1/-1;border:1px solid #563131;background:#241313;color:#ff9393;border-radius:12px;padding:12px}
@media(max-width:980px){.cards{grid-template-columns:1fr 1fr}.add-form{grid-template-columns:1fr 1fr}.add-form button{grid-column:1/-1}}
@media(max-width:680px){
  .shell{width:min(100% - 16px,1240px);padding-top:16px}.topbar{align-items:stretch;flex-direction:column}.live-block{align-self:flex-start}
  .toolbar{align-items:flex-start;flex-direction:column}.toolbar-right{width:100%;justify-content:space-between}
  .cards{grid-template-columns:1fr}.token-row{grid-template-columns:1fr 1fr}.token-row input{grid-column:1/-1}.add-form{grid-template-columns:1fr}
  .add-form button{grid-column:auto}.settings summary span{max-width:28rem}footer{flex-direction:column}
}

/* Prominent authenticated GitHub connection */
.connect-panel{
  margin-bottom:14px;padding:14px 15px;display:flex;align-items:center;
  justify-content:space-between;gap:18px;border-color:#33404d;
  background:linear-gradient(135deg,#111820,#101318 58%)
}
.connect-panel.connected{border-color:#235b38;background:linear-gradient(135deg,#102419,#101318 58%)}
.connect-copy{display:grid;gap:3px;min-width:240px;max-width:560px}
.connect-kicker{font-size:.62rem;font-weight:900;letter-spacing:.12em;color:#f7c75a}
.connect-panel.connected .connect-kicker{color:#6fe095}
.connect-copy strong{font-size:1rem}
.connect-copy>span:last-child{font-size:.76rem;color:#8b97a6;line-height:1.45}
.connect-actions{display:grid;gap:7px;min-width:min(560px,55%);justify-items:end}
.connect-token-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;width:100%}
.connect-token-row input{width:100%}
.connected-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.connected-badge{
  display:inline-flex;align-items:center;border:1px solid #285e3c;background:#11271a;
  color:#70e29a;border-radius:999px;padding:.45rem .65rem;font-size:.76rem;font-weight:800
}
.connect-message{font-size:.68rem;color:#6f7c8b;text-align:right}
@media(max-width:900px){
  .connect-panel{align-items:stretch;flex-direction:column}
  .connect-actions{min-width:0;width:100%;justify-items:stretch}
  .connect-message{text-align:left}
}
@media(max-width:680px){
  .connect-token-row{grid-template-columns:1fr 1fr}
  .connect-token-row input{grid-column:1/-1}
  .connect-token-row .button,.connect-token-row button{width:100%}
  .connected-actions{justify-content:space-between}
}
