:root{--bg:#0f1419;--card:#1a222c;--line:#2b3846;--text:#e8eef4;--muted:#93a5b5;--green:#3fb96f;--amber:#e0a83c;--red:#e5534b;--blue:#4a9eda;--violet:#c084fc}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--blue)}
button,.button{min-height:44px;padding:.55rem 1rem;border:1px solid var(--line);border-radius:10px;background:#232f3d;color:var(--text);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;font-size:1rem}
button.primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}
button.danger{color:var(--red)}
input[type=text],input[type=password],input[type=url],input[type=number],select{min-height:44px;padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px;background:#121a22;color:var(--text);font-size:1rem;max-width:100%}
.muted{color:var(--muted)} .small{font-size:.85rem}
.alert{background:#3a2326;border:1px solid var(--red);border-radius:10px;padding:.6rem .8rem}
.notice{background:#1e3325;border:1px solid var(--green);border-radius:10px;padding:.6rem .8rem}
.topbar{position:sticky;top:0;z-index:10;background:#141c24;border-bottom:1px solid var(--line);padding:.7rem 1rem;display:flex;flex-wrap:wrap;gap:.7rem;justify-content:space-between;align-items:flex-start}
.topbar h1{margin:0;font-size:1.25rem}
.topbar-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.page-nav{display:flex;gap:.4rem;margin:.5rem 0 .15rem;flex-wrap:wrap}
.page-nav a{min-height:36px;padding:.25rem .9rem;border:1px solid var(--line);border-radius:999px;color:var(--text);text-decoration:none;display:inline-flex;align-items:center}
.page-nav a.active{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}
.quota{margin-top:.25rem}.quota-error{color:var(--red)}
.wrap{max-width:1100px;margin:0 auto;padding:1rem 1rem 5rem}
.wrap.narrow{max-width:640px;margin:0 auto;padding:1rem 1rem 5rem}
.page-end{margin-top:3rem;border-top:1px solid var(--line);padding:1.4rem 0 .5rem;text-align:center;color:var(--muted);font-size:.9rem}
.sticky-actions{position:sticky;bottom:0;z-index:5;display:flex;gap:.8rem;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#141c24;border-top:1px solid var(--line);margin:1rem -1rem -1rem;padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom))}
.sticky-actions button{min-height:52px;font-size:1.05rem;padding:.7rem 1.4rem}
.grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem}
@media(min-width:700px){.grid{grid-template-columns:1fr 1fr}}
@media(max-width:699px){.card{scroll-margin-top:240px}}
.card{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--muted);border-radius:14px;padding:1rem;scroll-margin-top:170px}
.card:target{outline:2px solid var(--blue);outline-offset:2px}
.card.status-terv{border-left-color:var(--violet)}
.card.status-halad{border-left-color:var(--green)}
.card.status-varakozik{border-left-color:var(--amber)}
.card.status-elakadt{border-left-color:var(--red)}
.card.status-kesz{border-left-color:var(--blue);opacity:.75}
.card.actions-failed{box-shadow:inset 0 0 0 1px var(--red)}
.card-head{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.card-head h2{margin:0;font-size:1.05rem;word-break:break-word}
.badge{border:1px solid var(--amber);color:var(--amber);border-radius:999px;padding:.05rem .5rem;font-size:.75rem}
.badge-manual{border-color:var(--muted);color:var(--muted)}
.age.stale strong{color:var(--muted)}
.dot{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;background:var(--muted);margin-right:.4rem}
.dot-ok{background:var(--green)}.dot-failed{background:var(--red)}.dot-running{background:var(--amber)}
.status-form{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.7rem}
.status-form input[type=text]{flex:1;min-width:160px}
.note{border-left:3px solid var(--amber);padding-left:.6rem}
.card-tools{display:flex;gap:.4rem;margin-top:.7rem}
.card-tools button{min-height:36px;padding:.3rem .6rem}
.events{margin-top:2rem}.events li{margin:.35rem 0}.event-failed{color:#ffb4ae}
.events-details summary{font-size:1.25rem;font-weight:700;cursor:pointer;padding:.4rem 0;list-style-position:outside}
.events-details summary:hover{color:var(--blue)}
.events-details ul{margin-top:.4rem}
.listview{display:none;margin-top:1rem;border:1px solid var(--line);border-radius:14px;overflow:hidden}
body.list-mode .listview{display:block}
body.list-mode .grid{display:none}
.listview .row + .row{border-top:1px solid var(--line)}
.listview .row.status-terv{border-left-color:var(--violet)}
.listview .row.status-halad{border-left-color:var(--green)}
.listview .row.status-varakozik{border-left-color:var(--amber)}
.listview .row.status-elakadt{border-left-color:var(--red)}
.listview .row.status-kesz{border-left-color:var(--blue);opacity:.75}
.listview .row.actions-failed{box-shadow:inset 0 0 0 1px var(--red)}
.row-age.stale{opacity:.55}
.chip{border-radius:999px;padding:.12rem .6rem;font-size:.8rem;font-weight:600;color:#0f1419}
.chip-terv{background:var(--violet);color:#0f1419}.chip-halad{background:var(--green)}.chip-varakozik{background:var(--amber)}.chip-elakadt{background:var(--red);color:#fff}.chip-kesz{background:var(--blue);color:#fff}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.filter-btn.active{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}
body.filter-stalled .card:not(.progress-stalled),body.filter-stalled .listview .row:not(.progress-stalled){display:none}
.progress-form{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.7rem}
.progress-label{color:var(--muted)}
.segments{display:inline-flex;gap:3px}
.segments .seg{min-height:22px;width:28px;padding:0;border-radius:5px;background:#232f3d;color:var(--muted);font-size:.72rem;display:inline-flex;align-items:center;justify-content:center}
.segments.level-low .seg.on{background:var(--amber);color:#0f1419;font-weight:700}
.segments.level-mid .seg.on{background:var(--blue);color:#fff;font-weight:700}
.segments.level-high .seg.on{background:var(--green);color:#0f1419;font-weight:700}
.seg-clear{min-height:22px;padding:0 .4rem;background:none;border:none;color:var(--muted)}
.warn{color:var(--amber);border:1px solid var(--amber);border-radius:999px;padding:.1rem .6rem;font-size:.82rem;font-weight:600}
.mini-segs{display:inline-flex;gap:2px;vertical-align:middle}
.mini-segs .mini{width:8px;height:11px;border-radius:2px;background:#232f3d;display:inline-block}
.mini-segs.level-low .mini.on{background:var(--amber)}
.mini-segs.level-mid .mini.on{background:var(--blue)}
.mini-segs.level-high .mini.on{background:var(--green)}
.token-line{color:var(--muted)}
.token-line strong{color:var(--amber)}
.token-key{flex:none}
.svc-line{display:flex;gap:.45rem;flex-wrap:wrap}
.svc{border-radius:999px;padding:.15rem .65rem;font-size:.82rem;border:1px solid var(--blue);color:var(--text);background:#1d2f42;white-space:nowrap}
.svc-kod{background:none;color:var(--muted)}
.svc-compact{font-size:.75rem;padding:.08rem .5rem}
.plan-box{margin:1rem 0}.plan-form{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-top:.5rem}
.repo-list{list-style:none;padding:0}.repo-list li{padding:.45rem 0;border-bottom:1px solid var(--line)}
.repo-list label{display:flex;gap:.5rem;align-items:flex-start;flex-wrap:wrap}
.repo-list input[type=checkbox]{width:22px;height:22px}
.add-form{display:flex;gap:.5rem;flex-wrap:wrap}.add-form input{flex:1;min-width:200px}
.item-form{display:grid;gap:.7rem;margin:.5rem 0 1.6rem}
.item-form label{display:grid;gap:.3rem;font-size:.9rem;color:var(--muted)}
.item-form input{width:100%}
.item-form button{justify-self:start}
.login{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem calc(1.5rem + env(safe-area-inset-bottom))}
.login-card{width:100%;max-width:360px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.6rem 1.4rem 1.5rem}
.login-card h1{margin:0 0 1.2rem;font-size:1.5rem;text-align:center}
.login-card .alert{margin:0 0 1rem}
.login form{display:grid;gap:.45rem}
.login label{color:var(--muted);font-size:.95rem}
.login input[type=password]{width:100%}
.login button{width:100%;justify-content:center;margin-top:.7rem}
.empty{border:1px dashed var(--line);border-radius:14px;padding:1.2rem}
code{background:#121a22;padding:.1rem .35rem;border-radius:6px}
.card.auto-igen,.listview .row.auto-igen{border-left-color:var(--green)}
.card.auto-reszben,.listview .row.auto-reszben{border-left-color:var(--amber)}
.card.auto-nem,.listview .row.auto-nem{border-left-color:var(--muted)}
.chip-auto-igen{background:var(--green)}.chip-auto-reszben{background:var(--amber)}.chip-auto-nem{background:#3a4654;color:var(--text)}
.activity-add{display:grid;grid-template-columns:1fr;gap:.7rem;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem}
.activity-add label,.act-desire legend{display:grid;gap:.3rem;font-size:.9rem;color:var(--muted)}
.activity-add input,.activity-add select{width:100%}
.activity-add button{justify-self:start}
.act-desire{border:none;padding:0;margin:0;display:grid;gap:.35rem}
.act-desire legend{display:block;padding:0;margin-bottom:.35rem}
@media(min-width:700px){.activity-add{grid-template-columns:2fr 1fr 1fr 1fr}.act-desire{grid-column:1 / -2}.activity-add button{align-self:end}}
.segments.pick{display:flex;max-width:420px}
.segments.pick .seg{min-height:38px;flex:1;width:auto;border:1px solid var(--line);cursor:pointer}
.segments.pick .seg input{position:absolute;opacity:0;width:0;height:0}
.segments.pick .seg:focus-within{outline:2px solid var(--blue)}
.act-facts{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:.6rem 0 0}
.act-edit{margin-top:.7rem}.act-edit summary{cursor:pointer;color:var(--muted)}
.act-edit .item-form{margin:.6rem 0 0}
.stats{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:.6rem 1rem 1rem;margin-bottom:1rem}
.stats summary{font-size:1.15rem;font-weight:700;cursor:pointer;padding:.3rem 0}
.stats h3{font-size:1rem;margin:1.2rem 0 .5rem}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.6rem}
@media(min-width:700px){.tiles{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr))}}
.tile{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;background:#141c24;border:1px solid var(--line);border-radius:12px;padding:.7rem .8rem;min-height:0;font-size:inherit;text-align:left;color:var(--text)}
.tile-num{font-size:1.45rem;font-weight:700}
.tile-label{color:var(--muted);font-size:.85rem}
.tile-good .tile-num{color:var(--green)}.tile-warn .tile-num{color:var(--amber)}
.tile-missing{cursor:pointer}.tile-missing.is-zero{opacity:.55}
.tile-missing.active{outline:2px solid var(--blue)}
.top-list{margin:.2rem 0 .3rem;padding-left:1.4rem}.top-list li{margin:.3rem 0}
.matrix{display:grid;grid-template-columns:auto repeat(3,1fr);gap:4px;align-items:stretch}
.mx-col{font-size:.8rem;color:var(--muted);text-align:center;padding:.2rem 0}
.mx-row{font-size:.8rem;color:var(--muted);display:flex;align-items:center;padding-right:.4rem;max-width:7.5rem}
.mx-cell{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.1rem;min-height:68px;padding:.45rem .55rem;border-radius:9px;background:#18212b;border:1px solid var(--line);text-align:left;font-size:.82rem}
.mx-cell.is-empty{opacity:.4;cursor:default}
.mx-cell.active{outline:2px solid var(--blue);outline-offset:1px}
.mx-name{font-weight:700}.mx-count{color:var(--text)}.mx-time{color:var(--muted)}
.mx-low-igen{background:#1f3a29;border-color:var(--green)}
.mx-low-reszben,.mx-mid-igen{background:#1d2f25}
.mx-low-nem{background:#3a2326;border-color:var(--red)}
.mx-high-nem{background:#1d2f42;border-color:var(--blue)}
@media(max-width:420px){.mx-row{font-size:.72rem;max-width:4.8rem}.mx-cell{font-size:.74rem;padding:.4rem}}
.dist{margin:.7rem 0}
.dist-title{font-size:.85rem;color:var(--muted)}
.dist-bar{display:flex;height:16px;border-radius:6px;overflow:hidden;background:#141c24;margin:.25rem 0}
.dist-legend{display:flex;flex-wrap:wrap;gap:.2rem .9rem;font-size:.8rem;color:var(--muted)}
.dist-legend i{display:inline-block;width:.7rem;height:.7rem;border-radius:3px;margin-right:.3rem;vertical-align:-1px}
.d-auto-igen{background:var(--green)}.d-auto-reszben{background:var(--amber)}.d-auto-nem{background:#5b6b7b}
.d-band-low{background:var(--amber)}.d-band-mid{background:var(--blue)}.d-band-high{background:var(--green)}.d-band-none{background:#5b6b7b}
.d-freq-napi{background:var(--violet)}.d-freq-heti{background:var(--blue)}.d-freq-havi{background:#3fb9b0}.d-freq-alkalmi{background:#5b6b7b}
.sort-bar .filter-btn{min-height:36px;padding:.25rem .8rem;font-size:.9rem}
.sort-bar{align-items:center}
.filter-note{margin:.6rem 0 0}
.filter-note button{min-height:32px;padding:.15rem .6rem;margin-left:.4rem}
.filtered-out{display:none !important}
.badge-line{display:flex;flex-wrap:wrap;gap:.35rem;margin:.45rem 0 0}
.abadge{border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:600;border:1px solid var(--line)}
.ab-quick{border-color:var(--green);color:var(--green)}
.ab-burden{border-color:var(--red);color:#ffb4ae}
.ab-sink{border-color:var(--amber);color:var(--amber)}
.ab-missing{color:var(--muted)}
.pr-badge{border:1px solid var(--violet);color:var(--violet);border-radius:999px;padding:.05rem .55rem;font-size:.8rem;font-weight:600;text-decoration:none;white-space:nowrap}
.pr-compact{font-size:.72rem;padding:.02rem .45rem;flex:none}
.card.has-pr{box-shadow:inset 0 0 0 1px var(--violet)}
.card.has-pr.actions-failed{box-shadow:inset 0 0 0 1px var(--red)}
.pr-list{list-style:none;margin:.5rem 0 0;padding:.4rem .6rem;border-left:3px solid var(--violet);background:#1f1a2b;border-radius:0 8px 8px 0;font-size:.9rem}
.pr-list li{margin:.15rem 0;overflow:hidden;text-overflow:ellipsis}
body.filter-pr .card:not(.has-pr),body.filter-pr .listview .row:not(.has-pr){display:none}
.api-line{align-items:center}
.api-label{color:var(--muted);font-size:.9rem}
.key-name{font-size:.75rem;background:none;padding:0}
.watch{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:.7rem 1rem;margin:0 0 1rem}
.watch-title{font-size:1.05rem;margin:0 0 .4rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.wcount{font-size:.75rem;font-weight:700;border-radius:999px;padding:.08rem .55rem}
.wcount.w-danger{background:var(--red);color:#fff}.wcount.w-warn{background:var(--amber);color:#0f1419}
.watch-list{list-style:none;margin:0;padding:0}
.watch-list li{display:flex;gap:.5rem;align-items:baseline;padding:.3rem 0;border-top:1px solid var(--line)}
.watch-list li:first-child{border-top:none}
.watch-list a{color:var(--text);text-decoration:none}
.watch-list a:hover{text-decoration:underline}
.watch-list .w-danger a,.watch-list .w-danger span{color:#ffb4ae}
.w-icon{flex:none;width:1.3rem;text-align:center}
.watch-more summary{cursor:pointer;color:var(--muted);padding:.3rem 0;font-size:.9rem}
.watch-ok{color:var(--green);padding:.5rem 1rem;font-weight:600}
.ai-box{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--violet);border-radius:14px;padding:.7rem 1rem;margin:0 0 1rem;scroll-margin-top:170px}
.ai-box.ai-ok{border-left-color:var(--green)}.ai-box.ai-warn{border-left-color:var(--amber)}.ai-box.ai-danger{border-left-color:var(--red)}
.ai-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap}
.ai-title{font-size:1.05rem;margin:0}
.ai-btn{min-height:38px;padding:.3rem .9rem;border-color:var(--violet)}
.ai-btn[disabled]{opacity:.5;cursor:not-allowed}
.ai-status{margin:.5rem 0 .3rem}
.ai-list{list-style:none;margin:0;padding:0}
.ai-list li{display:flex;gap:.5rem;align-items:baseline;padding:.35rem 0;border-top:1px solid var(--line)}
.ai-list a{color:var(--text);text-decoration:none}
.ai-list a:hover{text-decoration:underline}
.ai-list .w-danger a{color:#ffb4ae}
.ai-action{display:block;color:var(--muted);font-size:.88rem;margin-top:.1rem}
.ai-stale{color:var(--amber);margin:.4rem 0 0}
.ai-meta{margin:.4rem 0 0}
.ai-ref{color:inherit}
@keyframes flash-bg{0%,60%{background:#3b2f5c}100%{background:var(--card)}}
.card.flash,.listview .row.flash{animation:flash-bg 4s ease-out;outline:2px solid var(--violet);outline-offset:-2px}
/* List view: one grid system for all three walls. Name left and flexible,
   then fixed-width columns in the same order everywhere; the 1-10 bar and the
   coloured chip are always the last two, so they line up across the walls. */
.listview .row{display:grid;align-items:center;column-gap:.8rem;row-gap:.25rem;padding:.55rem .9rem;background:var(--card);border-left:6px solid var(--muted);white-space:nowrap}
.lv-github .row{grid-template-columns:minmax(0,1fr) 6rem 1.2rem 2.6rem 6.5rem 9.4rem 5.1rem}
.lv-own .row{grid-template-columns:minmax(0,1fr) 5.4rem 9.4rem 5.1rem}
.lv-act .row{grid-template-columns:minmax(0,1fr) 6.5rem 7rem 9.4rem 5.1rem}
.listview .row > *{min-width:0;overflow:hidden;text-overflow:ellipsis}
.row-name{display:flex;align-items:center;gap:.4rem;font-weight:600}
.row-title{overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0}
.row-name .badge,.row-name .pr-badge,.row-badge{flex:none}
.row-badge{font-size:.85rem}
.row-note{color:var(--muted);font-weight:400;overflow:hidden;text-overflow:ellipsis;flex:1 1 0;min-width:0}
.row-age,.row-actions,.row-freq{color:var(--muted)}
.row-icons{display:flex;gap:.2rem}
.row-svc{display:flex;gap:.3rem}
.row-progress{display:flex;align-items:center;gap:.45rem;color:var(--muted)}
.listview .chip{justify-self:start}
@media(max-width:699px){
  /* Phone: the name gets its own full-width line, the data line below stays aligned. */
  .listview .row{column-gap:.6rem;padding:.5rem .7rem}
  .listview .row-name{grid-column:1 / -1}
  .listview .row-progress .mini-segs,.row-svc{display:none}
  .lv-github .row{grid-template-columns:4.9rem 1rem 2.2rem 2.8rem minmax(5.1rem,1fr)}
  .lv-own .row{grid-template-columns:5.4rem 3rem 1fr}
  .lv-act .row{grid-template-columns:6rem minmax(0,1fr) 2.8rem 4.9rem}
}
/* Actions in the list: the dot only (its colour says it; the text is on hover and on the card). */
.listview .row-actions-text{display:none}
.note-mark{flex:none;font-size:.8rem;opacity:.8}
.listview .row{cursor:pointer}
/* Expanded row: full name and note, wrapped. */
.listview .row.expanded{white-space:normal;background:#202b38}
.listview .row.expanded .row-name{flex-wrap:wrap;align-items:baseline}
.listview .row.expanded .row-title{white-space:normal;overflow:visible;word-break:break-word}
.listview .row.expanded .row-note{flex:1 1 100%;white-space:normal;overflow:visible}
.listview .row.expanded .note-mark{display:none}
.listview .row.expanded .row-note::before{content:"📝 "}
.handoff{margin:.6rem 0 0;border-left:3px solid var(--blue);padding:.1rem 0 .1rem .6rem}
.handoff summary{cursor:pointer;line-height:1.4}
.handoff-label{color:var(--blue);font-weight:600}
.handoff-text{white-space:pre-line;color:var(--muted);font-size:.9rem;margin:.4rem 0;max-height:18rem;overflow:auto}
.prompt-box{margin-top:.7rem}
.prompt-box summary{cursor:pointer;color:var(--muted)}
.prompt-box textarea{width:100%;margin:.5rem 0 .4rem;padding:.6rem;border:1px solid var(--line);border-radius:10px;background:#121a22;color:var(--text);font:inherit;font-size:.85rem;line-height:1.4;resize:vertical}
.copy-btn{min-height:38px;padding:.3rem .9rem}
.handoff-none{color:var(--muted);margin:.5rem 0 0}
.ai-point{min-width:0}
.fb-form{display:flex;flex-wrap:wrap;gap:.2rem;margin:.35rem 0 .1rem}
.fb{min-height:30px;padding:.1rem .4rem;font-size:.72rem;border-radius:999px;background:none;color:var(--muted)}
.fb-todo.on{background:var(--blue);border-color:var(--blue);color:#fff}
.fb-irrelevant.on{background:#3a4654;border-color:#3a4654;color:var(--text)}
.fb-done.on{background:var(--green);border-color:var(--green);color:#0f1419}
.ai-list li.fb-is-irrelevant .ai-point > a,.ai-list li.fb-is-irrelevant .ai-point > .ai-action{opacity:.5;text-decoration:line-through}
.ai-list li.fb-is-done .ai-point > a,.ai-list li.fb-is-done .ai-point > .ai-action{opacity:.6}
.ai-open{margin-top:.7rem;border-top:1px solid var(--line);padding-top:.4rem}
.ai-open summary{cursor:pointer;font-weight:600}
.ai-balance{margin:.4rem 0 0}
.exp-line{margin:.5rem 0 0;padding:.3rem .6rem;border-radius:8px;background:#1d2733;font-size:.92rem}
.exp-line.exp-bevalt{background:#1e3325}
.exp-line.exp-kiserlet{background:#1d2f42}
.exp-line.exp-nem_valt_be{opacity:.7}
.exp-saved{color:var(--green);font-weight:600}
.act-exp{margin-top:.7rem}.act-exp summary{cursor:pointer;color:var(--muted)}
.act-exp .item-form{margin:.6rem 0 0}
.exp-pipeline{display:flex;flex-wrap:wrap;gap:.3rem .8rem;color:var(--muted);margin:.6rem 0 0}
.exp-step{white-space:nowrap}
.deadline-box{margin:.6rem 0 0}
.deadline-box summary{cursor:pointer}
.deadline.dl-soon{color:var(--amber)}
.deadline.dl-over{color:#ffb4ae}
.deadline-form{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem;align-items:center}
input[type=date]{min-height:44px;padding:.45rem .6rem;border:1px solid var(--line);border-radius:10px;background:#121a22;color:var(--text);font-size:1rem;color-scheme:dark}
.row-deadline{color:var(--muted)}
.row-deadline.dl-soon{color:var(--amber)}
.row-deadline.dl-over{color:#ffb4ae}
.ai-budget{margin-top:.5rem}
.ai-budget summary{cursor:pointer;color:var(--muted)}
.ai-budget .budget-warn{color:var(--amber)}
.ai-budget .budget-danger{color:#ffb4ae}
.budget-form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end;margin-top:.4rem}
.budget-form label{display:grid;gap:.25rem}
.budget-form input{width:6rem}
.budget-form p{flex-basis:100%;margin:.2rem 0 0}
