:root{
  --bg:#F6F1E7; --card:#FFFFFF; --card-2:#FBF8F2; --ink:#1C1A15; --ink-2:#5A5347; --ink-3:#8A8274; --faint:#B5AC9B;
  --line:#E6DCC8; --line-2:#EFE8DA; --gold:#A9884E; --gold-strong:#8C6C34; --gold-bg:#F3EAD6; --gold-line:#E0CFA6;
  --top:#1C1A15; --top-ink:#EDE5D3; --top-dim:#A69C88;
  /* etapy — wyraźne, rozróżnialne */
  --s-indygo:#3D4FA6; --s-fiolet:#7D4DB0; --s-morski:#0E8078; --s-miedz:#B0602A; --s-oliwka:#6A8120; --s-malina:#B03A72;
  /* statusy */
  --st-todo:#857D70; --st-doing:#1F6FD1; --st-risk:#C98300; --st-hold:#5F6E7C; --st-done:#2E9150; --st-late:#D0342C;
  --shadow:0 18px 40px rgba(28,26,21,.18);
  --serif:"Cormorant Garamond",Georgia,serif; --label:"Jost","Segoe UI",sans-serif; --sans:"Figtree","Segoe UI",system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#15130F; --card:#1E1B16; --card-2:#24211B; --ink:#EEE6D6; --ink-2:#BDB3A1; --ink-3:#8F8676; --faint:#6E665A;
  --line:#37312740; --line:#3A3429; --line-2:#2E2A22; --gold:#CDAA6A; --gold-strong:#DDBB7C; --gold-bg:#2C261B; --gold-line:#4A3F2C;
  --top:#0E0D0A; --top-ink:#EDE5D3; --top-dim:#8F8676;
  --s-indygo:#8C9BEA; --s-fiolet:#B98AE6; --s-morski:#4FC2B8; --s-miedz:#E39A62; --s-oliwka:#AFC65A; --s-malina:#E57FAF;
  --st-todo:#A39B8C; --st-doing:#6AA6F0; --st-risk:#F0B640; --st-hold:#98A6B3; --st-done:#5FC484; --st-late:#F07167;
  --shadow:0 18px 40px rgba(0,0,0,.55);
}}
:root[data-theme="dark"]{
  --bg:#15130F; --card:#1E1B16; --card-2:#24211B; --ink:#EEE6D6; --ink-2:#BDB3A1; --ink-3:#8F8676; --faint:#6E665A;
  --line:#3A3429; --line-2:#2E2A22; --gold:#CDAA6A; --gold-strong:#DDBB7C; --gold-bg:#2C261B; --gold-line:#4A3F2C;
  --top:#0E0D0A; --top-ink:#EDE5D3; --top-dim:#8F8676;
  --s-indygo:#8C9BEA; --s-fiolet:#B98AE6; --s-morski:#4FC2B8; --s-miedz:#E39A62; --s-oliwka:#AFC65A; --s-malina:#E57FAF;
  --st-todo:#A39B8C; --st-doing:#6AA6F0; --st-risk:#F0B640; --st-hold:#98A6B3; --st-done:#5FC484; --st-late:#F07167;
  --shadow:0 18px 40px rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.45}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}
.wrap{max-width:1760px;margin:0 auto;padding:0 clamp(16px,3vw,46px)}

/* pasek makiety */
.mock{background:repeating-linear-gradient(135deg,var(--gold-bg) 0 10px,var(--card-2) 10px 20px);border-bottom:1px solid var(--gold-line);font-size:12px}
.mock .wrap{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding-block:6px}
.mock b{font-family:var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-strong);font-weight:600}
.mock button{background:var(--card);border:1px solid var(--gold-line);border-radius:99px;padding:2px 10px;font-size:12px}
.mock button[aria-pressed="true"]{background:var(--gold-strong);border-color:var(--gold-strong);color:#fff}
.mock .sp{flex:1}

/* górny pasek */
.top{background:var(--top);color:var(--top-ink)}
.top .wrap{display:flex;align-items:center;gap:8px 28px;min-height:58px;flex-wrap:wrap;padding-block:6px}
.logo{font-family:var(--label);letter-spacing:.24em;font-size:13px;font-weight:500;white-space:nowrap}
.logo span{color:var(--gold);margin-left:10px;padding-left:12px;border-left:1px solid #4A443A}
.nav{display:flex;gap:4px}
.nav button{background:none;border:0;color:var(--top-dim);font-family:var(--label);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;border-radius:6px}
.nav button:hover{color:var(--top-ink)}
.nav button[aria-current="page"]{color:var(--top-ink);box-shadow:inset 0 -2px 0 var(--gold)}
.top .sp{flex:1}
.userchip{display:flex;align-items:center;gap:10px;font-size:13px}
.userchip .who{text-align:right;line-height:1.2}
.userchip .who small{display:block;color:var(--top-dim);font-size:11px;font-family:var(--label);letter-spacing:.1em;text-transform:uppercase}
.logout{background:none;border:1px solid #4A443A;color:var(--top-dim);border-radius:6px;padding:5px 10px;font-size:12px}

/* avatar z kodem */
.av{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:22px;padding:0 6px;border-radius:5px;background:var(--gold-bg);color:var(--gold-strong);border:1px solid var(--gold-line);font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:.06em}
.av.lg{min-width:44px;height:30px;font-size:12px;background:var(--gold);color:#1C1A15;border-color:var(--gold)}
.av.team{background:var(--card-2);color:var(--ink-2);border-color:var(--line)}

/* pasek pod górą */
.crumb{border-bottom:1px solid var(--line);background:var(--card)}
.crumb .wrap{display:flex;align-items:center;gap:12px;min-height:40px;font-size:13px;color:var(--ink-3);flex-wrap:wrap}
.crumb a{color:var(--ink-2);text-decoration:none}
.crumb a:hover{text-decoration:underline}
.crumb .sp{flex:1}
.live{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3)}
.live i{width:8px;height:8px;border-radius:50%;background:var(--st-done);box-shadow:0 0 0 3px color-mix(in srgb,var(--st-done) 22%,transparent)}

main{padding-block:22px 70px}
.eyebrow{font-family:var(--label);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
h1,h2,h3{margin:0;text-wrap:balance}
h1{font-family:var(--serif);font-weight:600;font-size:36px;line-height:1.05}
h2{font-family:var(--serif);font-weight:600;font-size:25px;line-height:1.1}
h3{font-family:var(--serif);font-weight:600;font-size:20px}
.muted{color:var(--ink-2)}
.small{font-size:12px}

.btn{border:1px solid var(--line);background:var(--card);border-radius:7px;padding:8px 14px;font-weight:600;font-size:13px;white-space:nowrap}
.btn:hover{border-color:var(--gold)}
.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.btn.gold{background:var(--gold-strong);color:#fff;border-color:var(--gold-strong)}
.btn.sm{padding:4px 10px;font-size:12px}
.btn.ghost{background:transparent}
.linkbtn{background:none;border:0;padding:0;color:var(--gold-strong);font-weight:600;font-size:13px}
.linkbtn:hover{text-decoration:underline}
.ctl{border:1px solid var(--line);background:var(--card);border-radius:7px;padding:7px 10px;min-width:0}
.ctl:focus{border-color:var(--gold)}
.chip-admin{font-family:var(--label);font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:var(--gold-bg);color:var(--gold-strong);border:1px solid var(--gold-line);border-radius:4px;padding:1px 6px;font-weight:600}

/* nagłówek projektu */
.phead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 40px;align-items:start}
.phead>div:first-child{min-width:0}
.phead>.team{padding-top:24px;max-width:520px}
@media (max-width:1100px){.phead{grid-template-columns:1fr}.phead>.team{padding-top:0;max-width:none;align-items:flex-start}.phead>.team .row{justify-content:flex-start}}
.goal{max-width:88ch;margin:10px 0 0;padding:2px 0 2px 14px;border-left:3px solid var(--gold);font-size:15px}
.goal b{display:block;font-family:var(--label);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-strong);font-weight:600}
.team{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.team .row{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.team .lbl{font-family:var(--label);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-right:4px}

/* KPI */
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:22px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px 12px;position:relative}
.kpi .k{font-family:var(--label);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
.kpi .v{font-family:var(--serif);font-weight:700;font-size:40px;line-height:1;margin-top:6px;font-variant-numeric:lining-nums tabular-nums}
.kpi .v small{font-size:20px;color:var(--ink-3);font-weight:600}
.kpi .d{font-size:12px;color:var(--ink-3);margin-top:4px}
.kpi.k-late .v{color:var(--st-late)} .kpi.k-risk .v{color:var(--st-risk)} .kpi.k-gold .v{color:var(--gold-strong)}
.kpi.k-late{border-top:3px solid var(--st-late)} .kpi.k-risk{border-top:3px solid var(--st-risk)} .kpi.k-gold{border-top:3px solid var(--gold)} .kpi.k-done{border-top:3px solid var(--st-done)} .kpi.k-week{border-top:3px solid var(--st-doing)}
.sbar{display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--line-2);margin-top:8px}
.sbar i{display:block;height:100%}

/* etapy */
.shead{display:flex;align-items:baseline;gap:12px;margin:28px 0 12px;flex-wrap:wrap}
.shead .dot{width:9px;height:9px;border-radius:50%;background:var(--gold);align-self:center}
.shead .sp{flex:1}
.stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.stage{--s:var(--s-indygo);background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative}
.stage .band{background:var(--s);color:#fff;padding:8px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px}
:root[data-theme="dark"] .stage .band{color:#15130F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .stage .band{color:#15130F}}
.stage .band .n{font-family:var(--label);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.stage .band .dt{font-size:12px;font-variant-numeric:tabular-nums;opacity:.92}
.stage .body{padding:10px 14px 12px;background:color-mix(in srgb,var(--s) 7%,var(--card))}
.stage .nm{font-family:var(--serif);font-weight:700;font-size:19px;line-height:1.15;color:var(--s)}
.stage .ct{font-size:12px;color:var(--ink-2);margin-top:4px}
.stage.now{box-shadow:0 0 0 2px var(--s)}
.nowtag{background:#fff;color:var(--s);font-family:var(--label);font-size:10px;letter-spacing:.12em;text-transform:uppercase;border-radius:3px;padding:1px 6px;font-weight:600}

/* legenda statusów */
.legend{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.pill{--c:var(--st-todo);display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:2px 10px 2px 7px;font-size:12px;font-weight:600;color:var(--c);background:color-mix(in srgb,var(--c) 13%,var(--card));border:1px solid color-mix(in srgb,var(--c) 45%,transparent);white-space:nowrap}
.pill .ic{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--c);color:var(--card);font-size:10px;font-weight:700;line-height:1}
.c-todo{--c:var(--st-todo)} .c-doing{--c:var(--st-doing)} .c-risk{--c:var(--st-risk)} .c-hold{--c:var(--st-hold)} .c-done{--c:var(--st-done)} .c-late{--c:var(--st-late)}
select.pill{appearance:none;padding-right:22px;background-image:linear-gradient(45deg,transparent 50%,var(--c) 50%),linear-gradient(135deg,var(--c) 50%,transparent 50%);background-position:calc(100% - 11px) 50%,calc(100% - 7px) 50%;background-size:4px 4px;background-repeat:no-repeat}

/* zakładki */
.tabs{position:sticky;top:0;z-index:20;background:var(--bg);display:flex;gap:2px;margin-top:26px;border-bottom:1px solid var(--line);overflow-x:auto}
.tab{background:none;border:0;border-bottom:3px solid transparent;padding:12px 16px 9px;font-family:var(--label);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:500;white-space:nowrap}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"]{color:var(--ink);border-color:var(--gold)}
.tab .cnt{font-family:var(--sans);letter-spacing:0;font-size:11px;background:var(--line-2);color:var(--ink-2);border-radius:99px;padding:0 7px;margin-left:6px}
.panel{padding-top:16px}

.toolbar{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-bottom:12px}
.toolbar .grow{flex:1;min-width:220px}
.people{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:14px}
.people .lbl{font-family:var(--label);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-right:4px}
.pchip{border:1px solid var(--line);background:var(--card);border-radius:99px;padding:3px 10px 3px 4px;font-size:12.5px;display:inline-flex;align-items:center;gap:6px;color:var(--ink-2)}
.pchip .av{height:20px;min-width:34px;font-size:10.5px}
.pchip b{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-3)}
.pchip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.pchip[aria-pressed="true"] b{color:var(--bg)}
.pchip.plain{padding-left:10px}

/* sekcje etapów w planie */
.sec{--s:var(--s-indygo);border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card);margin-bottom:18px}
.sec-h{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:10px 16px;background:var(--s);color:#fff}
:root[data-theme="dark"] .sec-h{color:#15130F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sec-h{color:#15130F}}
.sec-h .n{font-family:var(--label);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;opacity:.9}
.sec-h h3{color:inherit;font-size:22px}
.sec-h .dt{font-size:12.5px;font-variant-numeric:tabular-nums;opacity:.9}
.sec-h .sp{flex:1}
.sec-h .prog{display:flex;align-items:center;gap:8px;font-size:12.5px;font-variant-numeric:tabular-nums}
.sec-h .prog .track{width:130px;height:6px;border-radius:3px;background:rgba(255,255,255,.35);overflow:hidden}
.sec-h .prog .track i{display:block;height:100%;background:currentColor}
.sec-h .btn{background:transparent;border-color:currentColor;color:inherit}
table{width:100%;border-collapse:collapse}
.plan th{position:sticky;top:43px;z-index:5;background:color-mix(in srgb,var(--s) 9%,var(--card));font-family:var(--label);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);text-align:left;font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line)}
.plan td{padding:10px;border-top:1px solid var(--line-2);vertical-align:top}
.plan tr.task td:first-child{box-shadow:inset 4px 0 0 var(--s)}
.plan tr.task:hover td{background:var(--card-2)}
.handle{color:var(--faint);cursor:grab;user-select:none;font-size:15px}
.code{font-family:var(--label);font-weight:600;font-size:13px;color:var(--s);white-space:nowrap}
.tbtn{background:none;border:0;padding:0;text-align:left;font-weight:600;font-size:14px;color:var(--ink);line-height:1.35}
.tbtn:hover{color:var(--gold-strong)}
.outc{font-size:13px;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.missing{color:var(--st-risk);font-style:italic;font-size:12px}
.date{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}
.date.late{color:var(--st-late);font-weight:700}
.empty{color:var(--faint)}
.subtog{background:none;border:0;padding:0;margin-top:5px;font-size:12px;color:var(--ink-2)}
.subtog b{font-variant-numeric:tabular-nums}
tr.sub td{border-top:1px dashed var(--line-2);padding-block:6px;font-size:13px}
tr.sub td:first-child{box-shadow:inset 4px 0 0 color-mix(in srgb,var(--s) 45%,transparent)}
.subc{display:flex;gap:8px;align-items:flex-start;padding-left:14px}
.subc input{margin-top:3px;accent-color:var(--st-done)}
.roman{font-size:11px;color:var(--ink-3);min-width:22px;padding-top:2px;font-family:var(--label)}
.owner{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink-3)}
.owner .who{display:flex;gap:6px;align-items:center;color:var(--ink);font-size:13px}

/* gantt */
.gantt{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:auto;max-height:78vh}
.g{display:grid;position:relative;min-width:1100px}
.g .hd{position:sticky;top:0;z-index:6;background:var(--card-2);border-bottom:1px solid var(--line);font-size:11px;color:var(--ink-3);padding:6px 4px;font-variant-numeric:tabular-nums;border-left:1px solid var(--line-2)}
.g .hd.m{font-family:var(--label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
.g .corner{position:sticky;left:0;top:0;z-index:8;background:var(--card-2);border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:6px 12px;font-family:var(--label);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:flex-end}
.g .lab{position:sticky;left:0;z-index:4;background:var(--card);border-right:1px solid var(--line);border-bottom:1px solid var(--line-2);padding:0 12px;display:flex;align-items:center;gap:8px;min-height:36px;font-size:13px;white-space:nowrap;overflow:hidden;box-shadow:inset 4px 0 0 var(--s)}
.g .lab .t{overflow:hidden;text-overflow:ellipsis}
.g .lab.stg{background:var(--s);color:#fff;font-weight:600;box-shadow:none;font-family:var(--label);letter-spacing:.06em;font-size:11px;min-height:24px;padding-block:0}
.g .lane.stg{min-height:24px}
.g .lane.stg .gstage{top:4px;bottom:4px;border-width:1px}
:root[data-theme="dark"] .g .lab.stg{color:#15130F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .g .lab.stg{color:#15130F}}
.g .lane{position:relative;border-bottom:1px solid var(--line-2);min-height:36px;grid-column:2/-1;background-image:linear-gradient(to right,var(--line-2) 1px,transparent 1px);background-size:var(--wk) 100%}
.g .lane.stg{background-color:color-mix(in srgb,var(--s) 10%,var(--card))}
.gbar{position:absolute;top:9px;height:18px;border-radius:5px;background:var(--c);display:flex;align-items:center;padding:0 7px;color:#fff;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden}
:root[data-theme="dark"] .gbar{color:#15130F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .gbar{color:#15130F}}
.gstage{position:absolute;top:7px;bottom:7px;border-radius:5px;border:2px solid var(--s);background:color-mix(in srgb,var(--s) 22%,transparent)}
.gdot{position:absolute;top:10px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--c);border:2px solid var(--card);box-shadow:0 0 0 1px var(--c)}
.gdia{position:absolute;top:11px;width:14px;height:14px;margin-left:-7px;transform:rotate(45deg);background:var(--c);border:2px solid var(--card);box-shadow:0 0 0 1px var(--c)}
.gdash{position:absolute;top:17px;height:0;border-top:2px dashed var(--c)}
.gnod{position:absolute;top:8px;font-size:11px;font-weight:600;color:var(--st-risk);background:color-mix(in srgb,var(--st-risk) 12%,var(--card));border:1px dashed var(--st-risk);border-radius:4px;padding:1px 8px;white-space:nowrap}
.gtoday{position:absolute;top:0;bottom:0;width:0;border-left:2px solid var(--st-late);z-index:3;pointer-events:none}
.gtoday span{position:absolute;top:2px;left:4px;font-size:10px;font-weight:700;color:var(--st-late);font-family:var(--label);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.shapes{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:12px;color:var(--ink-2);margin-top:10px;align-items:center}
.shape{display:inline-flex;gap:7px;align-items:center}
.shape .b{width:30px;height:12px;border-radius:3px;background:var(--ink-3)}
.shape .o{width:12px;height:12px;border-radius:50%;background:var(--ink-3)}
.shape .dd{display:inline-flex;align-items:center}
.shape .dd i{width:22px;border-top:2px dashed var(--ink-3)}
.shape .dd b{width:10px;height:10px;background:var(--ink-3);transform:rotate(45deg)}

/* zadania osoby */
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.list{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.list-h{padding:10px 14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}
.list.bad{border-top:3px solid var(--st-late)} .list.warn{border-top:3px solid var(--st-risk)} .list.ok{border-top:3px solid var(--st-doing)}
.item{--s:var(--s-indygo);padding:10px 14px;border-bottom:1px solid var(--line-2);box-shadow:inset 4px 0 0 var(--s);display:flex;flex-direction:column;gap:5px}
.item:last-child{border-bottom:0}
.item .meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--ink-3)}
.none{padding:14px;color:var(--ink-3);font-size:13px}

/* spotkania */
.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px;align-items:start}
.meeting{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-bottom:12px}
.meeting ul{margin:10px 0 0;padding-left:18px}
.meeting li{margin:4px 0}
.agenda{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:10px;padding:14px 18px;position:sticky;top:56px}
.agenda h4{margin:14px 0 6px;font-family:var(--label);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
.agenda ol{margin:0;padding-left:20px}
.agenda li{margin:4px 0;font-size:13px}

/* ryzyka */
.risk{display:grid;grid-template-columns:150px minmax(0,1fr) 160px 150px 100px;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line-2);align-items:start}
.risk.h{font-family:var(--label);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding-block:8px;background:var(--card-2)}
.kind{font-family:var(--label);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.kind.blk{color:var(--st-late)} .kind.rsk{color:var(--st-risk)} .kind.q{color:var(--st-doing)}
.link{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;background:var(--card-2);border:1px solid var(--line);border-radius:5px;padding:1px 8px}

/* ekrany: logowanie, projekty, użytkownicy */
.login{min-height:calc(100vh - 34px);display:grid;place-items:center;padding:30px 16px;background:radial-gradient(1200px 600px at 20% -10%,var(--gold-bg),transparent 60%),var(--bg)}
.lcard{width:min(420px,100%);background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.lcard .lt{background:var(--top);color:var(--top-ink);padding:22px 26px}
.lcard .lb{padding:22px 26px;display:flex;flex-direction:column;gap:14px}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-family:var(--label);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
.note{font-size:12.5px;color:var(--ink-2);background:var(--gold-bg);border:1px solid var(--gold-line);border-radius:8px;padding:10px 12px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px;margin-top:18px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.pcard .pt{padding:16px 18px 10px}
.pcard .pb{padding:0 18px 16px;display:flex;flex-direction:column;gap:10px}
.pcard .strip{display:flex;height:8px}
.pcard .strip i{flex:1}
.pcard.new{border:2px dashed var(--gold-line);background:transparent;align-items:center;justify-content:center;min-height:220px;color:var(--ink-3);text-align:center;gap:6px;padding:18px}
.kv{display:flex;flex-wrap:wrap;gap:6px 26px}
.kv div{display:flex;flex-direction:column}
.kv small{font-family:var(--label);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.kv b{font-size:15px;font-variant-numeric:tabular-nums}
.utable{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:auto}
.utable th{position:sticky;top:0;background:var(--card-2);font-family:var(--label);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-align:left;font-weight:600;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.utable td{padding:9px 12px;border-top:1px solid var(--line-2);font-size:13px;vertical-align:middle}
.role{display:inline-flex;font-size:12px;font-weight:600;border-radius:5px;padding:1px 8px;border:1px solid}
.role.adm{color:var(--gold-strong);background:var(--gold-bg);border-color:var(--gold-line)}
.role.own{color:var(--s-fiolet);background:color-mix(in srgb,var(--s-fiolet) 10%,var(--card));border-color:color-mix(in srgb,var(--s-fiolet) 35%,transparent)}
.role.ed{color:var(--s-morski);background:color-mix(in srgb,var(--s-morski) 10%,var(--card));border-color:color-mix(in srgb,var(--s-morski) 35%,transparent)}
.role.vw{color:var(--ink-2);background:var(--card-2);border-color:var(--line)}
.acc{font-size:12px;display:inline-flex;align-items:center;gap:6px}
.acc i{width:8px;height:8px;border-radius:50%}

/* dialog */
dialog{border:1px solid var(--line);border-radius:14px;padding:0;background:var(--card);color:var(--ink);box-shadow:var(--shadow);width:min(860px,calc(100vw - 32px))}
dialog::backdrop{background:rgba(20,18,14,.5)}
.dh{padding:16px 22px;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:12px}
.dh .sp{flex:1}
.db{padding:16px 22px;display:grid;grid-template-columns:1fr 1fr;gap:12px;max-height:68vh;overflow:auto}
.db .full{grid-column:1/-1}
.df{padding:12px 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:8px}
.warnbox{grid-column:1/-1;display:flex;gap:10px;align-items:center;background:color-mix(in srgb,var(--st-risk) 12%,var(--card));border:1px solid color-mix(in srgb,var(--st-risk) 45%,transparent);color:var(--ink);border-radius:8px;padding:8px 12px;font-size:13px}
.audit{grid-column:1/-1;border-top:1px dashed var(--line);padding-top:10px;font-size:12px;color:var(--ink-3)}
.audit li{margin:2px 0}

/* ===== kompaktowy nagłówek projektu ===== */
.phead{align-items:center;gap:6px 30px}
.phead h1{font-size:24px;line-height:1.1}
.crumb .wrap{min-height:44px}
.crumb .cur{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--ink);line-height:1.15}
.ptitle{display:flex;align-items:center;gap:8px;margin-top:2px}
.gwrap{position:relative}
.gear{background:none;border:1px solid var(--line);border-radius:6px;color:var(--ink-3);width:26px;height:26px;line-height:1;font-size:14px}
.gear:hover{border-color:var(--gold);color:var(--gold-strong)}
.gmenu{position:absolute;top:30px;left:0;z-index:30;background:var(--card);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);padding:5px;display:flex;flex-direction:column;min-width:206px}
.gmenu button{background:none;border:0;text-align:left;padding:7px 10px;border-radius:6px;font-size:13px}
.gmenu button:hover{background:var(--card-2);color:var(--gold-strong)}
.goal{margin:5px 0 0;padding:1px 0 1px 10px;border-left:2px solid var(--gold);font-size:12.5px;line-height:1.4;display:flex;gap:8px;align-items:baseline;max-width:none}
.goal b{display:inline;font-family:var(--label);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-strong);font-weight:600;flex:none;margin-bottom:0}
.goal.clip>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:74ch}
.goal .more{background:none;border:0;padding:0;color:var(--gold-strong);font-size:12px;font-weight:600;flex:none}
.goal .more:hover{text-decoration:underline}
.pmeta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;justify-content:flex-end}
.crumb .pmeta{margin-right:16px}
.crumb .pmeta .small{color:var(--ink-2)}
.pmeta .lbl{font-family:var(--label);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.pmeta .sep{width:1px;height:14px;background:var(--line);margin:0 4px}
.pmeta .av{cursor:default}
.pmore{border:1px dashed var(--line);background:var(--card);border-radius:5px;font-family:var(--label);font-size:10.5px;font-weight:600;color:var(--ink-2);padding:2px 7px;height:22px}
.pmore:hover{border-color:var(--gold);color:var(--gold-strong)}

/* pasek KPI */
.kbar{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:6px 6px;margin-top:10px}
.ki{display:flex;align-items:baseline;gap:7px;padding:0 14px;border-right:1px solid var(--line-2);min-height:28px}
.ki:last-child{border-right:0}
.ki .kl{font-size:11.5px;color:var(--ink-3);white-space:nowrap}
.ki .kv{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}
.ki .kv small{font-size:13px;color:var(--ink-3);font-weight:600}
.ki .kv.z{color:var(--faint)}
.ki.gold .kv{color:var(--gold-strong)} .ki.late .kv:not(.z){color:var(--st-late)} .ki.risk .kv:not(.z){color:var(--st-risk)} .ki.week .kv:not(.z){color:var(--st-doing)} .ki.done .kv{color:var(--st-done)}
.ki .track{width:64px;height:5px;border-radius:3px;background:var(--line-2);overflow:hidden;display:flex}
.ki .track i{display:block;height:100%}
.ki.meet{margin-left:auto;background:var(--gold-bg);border-radius:7px;border-right:0}
.ki.meet .kv{font-size:14px;color:var(--gold-strong)}

/* pasek etapów — jedna linia */
.sline{display:flex;align-items:center;gap:14px;margin-top:8px;font-size:12.5px;flex-wrap:wrap}
.sline .cur{display:flex;align-items:center;gap:7px;white-space:nowrap}
.sline .cur i{width:9px;height:9px;border-radius:50%;background:var(--s);flex:none}
.sline .cur b{font-weight:600}
.sline .cur span{color:var(--ink-3);font-variant-numeric:tabular-nums}
.sbarwrap{flex:1;min-width:260px;display:flex;height:16px;border:1px solid var(--line);border-radius:8px;overflow:hidden;position:relative;background:var(--card)}
.sseg{--s:var(--s-indygo);position:relative;display:flex;align-items:center;justify-content:center;gap:5px;background:color-mix(in srgb,var(--s) 16%,var(--card));border-right:1px solid var(--card);font-size:10px;color:var(--s);font-weight:700;overflow:hidden;white-space:nowrap}
.sseg:last-child{border-right:0}
.sseg.iscur{background:var(--s);color:#fff}
:root[data-theme="dark"] .sseg.iscur{color:#15130F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sseg.iscur{color:#15130F}}
.sseg .fill{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--s) 45%,transparent)}
.sseg em{position:relative;font-style:normal}
.stoday{position:absolute;top:-2px;bottom:-2px;width:0;border-left:2px solid var(--ink);z-index:2}
.sstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}
.sg{--s:var(--s-indygo);position:relative;background:color-mix(in srgb,var(--s) 8%,var(--card));border:1px solid var(--line);border-left:4px solid var(--s);border-radius:7px;padding:6px 10px 10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:12.5px;min-width:0;overflow:hidden}
.sg .sn{font-family:var(--label);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--s);font-weight:600}
.sg .snm{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
.sg .sd,.sg .sc{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11.5px;white-space:nowrap}
.sg .now{font-family:var(--label);font-size:9px;letter-spacing:.12em;text-transform:uppercase;background:var(--s);color:#fff;border-radius:3px;padding:1px 5px;font-weight:600}
:root[data-theme="dark"] .sg .now{color:#15130F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sg .now{color:#15130F}}
.sg.iscur{box-shadow:inset 0 0 0 1px var(--s)}
.sg .pb{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--line-2)}
.sg .pb i{display:block;height:100%;background:var(--s)}

/* przyklejony pasek z zakładkami */
.tabswrap{position:sticky;top:0;z-index:22;background:var(--bg);margin-top:14px;border-bottom:1px solid var(--line)}
.tabswrap .tabs{position:static;margin:0;border-bottom:0}
.mini{display:none;align-items:center;gap:6px 16px;padding:6px 0 2px;font-size:12.5px;flex-wrap:wrap}
.tabswrap.stuck{box-shadow:0 6px 18px rgba(28,26,21,.08)}
.tabswrap.stuck .mini{display:flex}
.mini b{font-family:var(--serif);font-size:15px;font-weight:700}
.mini .m{color:var(--ink-3);font-size:11.5px;font-family:var(--label);letter-spacing:.1em;text-transform:uppercase}
.mini .v{font-weight:700;font-variant-numeric:tabular-nums}
.plan th{top:78px}

/* ===== spotkania ===== */
.mbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:9px;padding:9px 14px;margin-bottom:14px}
.mbar .lbl{font-family:var(--label);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);display:block}
.mbar .bx{display:flex;flex-direction:column;gap:1px}
.mbar .big{font-size:15px;font-weight:700}
.mbar .in{color:var(--gold-strong);font-weight:600}
.mbar .sp{flex:1}
.mbar .nx{font-variant-numeric:tabular-nums;font-size:13px}
.msplit{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;align-items:start}
.mp{background:var(--card);border:1px solid var(--line);border-radius:9px;overflow:hidden}
.mp-h{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.mp-h h3{font-size:18px}
.mp-h .sp{flex:1}
.mgrp{font-family:var(--label);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);font-weight:600;background:var(--card-2);padding:6px 14px;border-bottom:1px solid var(--line-2);display:flex;gap:8px;align-items:center}
.mgrp.dec{color:var(--st-late)}
.mrow{--s:var(--s-indygo);display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line-2);box-shadow:inset 4px 0 0 var(--s);flex-wrap:wrap}
.mrow:hover{background:var(--card-2)}
.mrow .t{flex:1;min-width:180px;font-weight:600;font-size:13.5px;text-align:left;background:none;border:0;padding:0;color:var(--ink)}
.mrow .t:hover{color:var(--gold-strong)}
.mrow .d{font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--ink-2);white-space:nowrap}
.mrow .d.late{color:var(--st-late);font-weight:700}
.why{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;border-radius:4px;padding:2px 7px;white-space:nowrap;border:1px solid}
.why.late{color:var(--st-late);background:color-mix(in srgb,var(--st-late) 12%,var(--card));border-color:color-mix(in srgb,var(--st-late) 40%,transparent)}
.why.slip{color:var(--s-miedz);background:color-mix(in srgb,var(--s-miedz) 12%,var(--card));border-color:color-mix(in srgb,var(--s-miedz) 40%,transparent)}
.why.blk{color:var(--st-late);background:color-mix(in srgb,var(--st-late) 8%,var(--card));border-color:color-mix(in srgb,var(--st-late) 30%,transparent)}
.why.gap{color:var(--st-risk);background:color-mix(in srgb,var(--st-risk) 12%,var(--card));border-color:color-mix(in srgb,var(--st-risk) 40%,transparent)}
.why.risk,.why.rsk{color:var(--st-late);background:color-mix(in srgb,var(--st-late) 10%,var(--card));border-color:color-mix(in srgb,var(--st-late) 40%,transparent)}
.why.ex{color:var(--ink-3);background:var(--card-2);border-color:var(--line);border-style:dashed}
.mfold{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;border-bottom:1px solid var(--line-2);padding:8px 14px;font-size:13px;color:var(--ink-2);text-align:left}
.mfold:hover{background:var(--card-2);color:var(--ink)}
.mfold b{font-variant-numeric:tabular-nums}
.mhist{background:var(--card);border:1px solid var(--line);border-radius:9px;overflow:hidden}
.mh-h{padding:9px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
.mh-h .sp{flex:1}
.mnote{padding:10px 14px;border-bottom:1px solid var(--line-2)}
.mnote .top{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px}
.mnote .top .dt{font-weight:700;font-variant-numeric:tabular-nums}
.mline{display:flex;gap:8px;align-items:flex-start;padding:4px 0;font-size:13px;border-top:1px dashed var(--line-2)}
.mline:first-of-type{border-top:0}
.mline .bl{color:var(--gold);flex:none;line-height:1.5}
.mline .tx{flex:1}
.mline .mk{flex:none;background:none;border:1px dashed var(--line);border-radius:5px;color:var(--ink-3);font-size:11px;padding:1px 7px;white-space:nowrap}
.mline .mk:hover{border-color:var(--gold);color:var(--gold-strong);border-style:solid}
.mline .done{flex:none;font-size:11px;color:var(--st-done);font-weight:600;white-space:nowrap}
.mtype{font-family:var(--label);font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;border-radius:4px;padding:1px 6px;border:1px solid}
.mtype.cyc{color:var(--s-morski);background:color-mix(in srgb,var(--s-morski) 10%,var(--card));border-color:color-mix(in srgb,var(--s-morski) 35%,transparent)}
.mtype.add{color:var(--s-fiolet);background:color-mix(in srgb,var(--s-fiolet) 10%,var(--card));border-color:color-mix(in srgb,var(--s-fiolet) 35%,transparent)}
@media (max-width:1000px){.msplit{grid-template-columns:1fr}.sstrip{grid-template-columns:repeat(2,minmax(0,1fr))}.pmeta{justify-content:flex-start;max-width:none}}

/* przełącznik widoku tablicy + tryb „Do omówienia” */
.vsw{display:inline-flex;background:var(--card-2);border:1px solid var(--line);border-radius:8px;padding:2px;gap:2px}
.vsw button{background:none;border:0;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.vsw button b{font-variant-numeric:tabular-nums;font-weight:700;font-size:11.5px;background:var(--line-2);color:var(--ink-2);border-radius:99px;padding:0 6px}
.vsw button:hover{color:var(--ink)}
.vsw button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(28,26,21,.14)}
.vsw button[aria-pressed="true"].meet{background:var(--gold-strong);color:#fff}
.vsw button[aria-pressed="true"].meet b{background:rgba(255,255,255,.25);color:#fff}
.planwrap{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.planwrap.withnote{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}   /* agenda i notatka po równo */
.tscroll table.mtable{min-width:0}
.mtable td.mnr{white-space:nowrap}
.mtable td.mnr .flagb{margin-right:4px}
.mtable td.mwho{font-size:12.5px}
.mtable td.mwho .date{margin-top:4px}
.mtable select.pill{max-width:128px}
.mtable .uwrow .uwaga{min-width:0}
.npanel{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:10px;position:sticky;top:96px;overflow:hidden}
.np-h{padding:10px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.np-h h3{font-size:17px}
.np-b{padding:12px 14px;display:flex;flex-direction:column;gap:9px}
.np-b textarea{resize:vertical;font-size:13px}
.np-f{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px dashed var(--line);padding-top:9px}
/* ⚑ w wierszu: niewidoczna, dopóki nie najedziesz na wiersz; złota, gdy temat zgłoszony */
.flagb.off{opacity:0;transition:opacity .15s}
tr.task:hover .flagb.off,.flagb.off:focus-visible{opacity:.6}
.flagb.on{color:var(--gold-strong);background:var(--gold-bg);border-color:var(--gold-line);opacity:1}
.why.flag{color:var(--gold-strong);background:var(--gold-bg);border-color:var(--gold-line);white-space:normal;text-align:left;max-width:100%}
.fl-dates{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fl-dates label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:7px;padding:5px 10px;font-size:13px;cursor:pointer;text-transform:none;letter-spacing:0;font-family:var(--sans);color:var(--ink)}
.fl-dates label:has(input:checked){border-color:var(--gold-strong);background:var(--gold-bg);font-weight:600}
.fl-dates input[type=radio]{accent-color:var(--gold-strong)}
.fl-dates input[type=date]{width:160px}
#dlg-flag{width:min(560px,calc(100vw - 32px))}
/* ⓘ opisy i instrukcje ukryte pod małą ikoną — widoczne po najechaniu albo kliknięciu */
.ii{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink-3);font:italic 700 10px/1 Georgia,"Times New Roman",serif;cursor:help;vertical-align:1px;margin-left:4px;letter-spacing:0;text-transform:none;flex:none;user-select:none}
.ii:hover,.ii:focus-visible,.ii.open{color:var(--gold-strong);border-color:var(--gold);background:var(--gold-bg);outline:none}
.tipbox{position:fixed;z-index:9999;max-width:300px;background:var(--ink);color:var(--bg);font:500 12.5px/1.45 var(--sans);letter-spacing:0;text-transform:none;padding:8px 11px;border-radius:7px;box-shadow:var(--shadow);pointer-events:none}
.np-close{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:10px;margin-top:2px}
.np-close .btn{width:100%;padding:9px 12px}
.np-done{display:flex;flex-direction:column;gap:8px;background:color-mix(in srgb,var(--st-done) 8%,var(--card));border:1px solid color-mix(in srgb,var(--st-done) 35%,transparent);border-radius:8px;padding:10px 12px;font-size:13px}
.np-done b{color:var(--st-done)}
.clsum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;font-size:13.5px}
.clsum div{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line-2);padding:3px 0}
.clsum b{font-variant-numeric:tabular-nums}
.nbadge{font-size:11px;font-weight:700;border-radius:4px;padding:1px 7px;border:1px solid}
.nbadge.ok{color:var(--st-done);background:color-mix(in srgb,var(--st-done) 10%,var(--card));border-color:color-mix(in srgb,var(--st-done) 35%,transparent)}
.nbadge.wip{color:var(--st-risk);background:color-mix(in srgb,var(--st-risk) 10%,var(--card));border-color:color-mix(in srgb,var(--st-risk) 35%,transparent)}
.logedit{display:flex;gap:6px;align-items:center;margin:3px 0}
.logedit input{flex:1}
.np-saved{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3);margin-top:3px}
.np-saved.ok{color:var(--st-done);font-weight:600}
.np-saved.pulse{animation:npPulse 1.2s ease}
@keyframes npPulse{0%{background:color-mix(in srgb,var(--st-done) 25%,transparent)}100%{background:transparent}}
.np-sec{display:flex;flex-direction:column;gap:1px;border-top:1px solid var(--line);padding-top:8px;margin-top:2px}
.np-sec:first-child{border-top:0;padding-top:0}
.np-lb{font-family:var(--label);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
.np-hint{font-size:11.5px;color:var(--ink-3)}
.np-add{display:flex;gap:6px}
.np-add input{flex:1;min-width:0}
.npi{display:flex;flex-direction:column;gap:4px;font-size:13px;padding:6px 8px;border:1px solid var(--line-2);border-radius:7px;background:var(--card)}
.npi.new{animation:npIn .9s ease}
@keyframes npIn{0%{background:color-mix(in srgb,var(--st-done) 22%,var(--card));transform:translateY(-3px)}100%{background:var(--card);transform:none}}
.npi .top{display:flex;gap:6px;align-items:baseline;background:none;color:inherit}
.mnote .top{background:none;color:inherit}   /* klasa .top jest też nazwą ciemnego paska strony — tu jej nie dziedziczymy */
.npi .tm{font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto;white-space:nowrap}
.npi .tm b{color:var(--st-done);font-weight:700}
.npi .act{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.npi .mk2{background:var(--card);border:1px solid var(--gold-line);border-radius:5px;color:var(--gold-strong);font-size:11.5px;font-weight:600;padding:2px 8px}
.npi .mk2:hover{background:var(--gold-bg)}
.npi .x{background:none;border:0;color:var(--faint);font-size:12px;padding:0 3px}
.npi .x:hover{color:var(--st-late)}
.npi .linked{color:var(--st-done);font-weight:600;font-size:12px}
.npi .k{font-family:var(--label);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink-3)}
#np-log,#np-list{display:flex;flex-direction:column;gap:5px}
.np-empty{font-size:12px;color:var(--faint);padding:2px 0}
.uwrow{display:flex;gap:5px;margin-top:5px}
.uwrow .uwaga{margin-top:0;flex:1}
.uwrow .btn{padding:3px 9px;font-size:12px}
.uwlist{margin-top:4px;display:flex;flex-direction:column;gap:3px}
.uwlist .u{font-size:12.5px;color:var(--ink-2);display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.uwlist .u b{color:var(--st-done);font-size:11px}
.uwlist .u .mk2{background:none;border:0;color:var(--gold-strong);font-size:11.5px;font-weight:600;padding:0;text-decoration:underline dotted}
.req{font-family:var(--sans);font-size:10px;letter-spacing:0;text-transform:none;color:var(--st-late);font-weight:600;margin-left:4px}
.nw-err{color:var(--st-late);font-size:12.5px;font-weight:600}
#dlg-new{width:min(620px,calc(100vw - 32px))}
.npl{display:flex;gap:7px;align-items:flex-start;font-size:13px;padding:5px 0;border-top:1px dashed var(--line-2)}
.npl .bl{color:var(--gold);flex:none}
.npl .tx{flex:1}
.npl .mk{flex:none;background:none;border:1px dashed var(--line);border-radius:5px;color:var(--ink-3);font-size:11px;padding:1px 7px;white-space:nowrap}
.npl .mk:hover{border-color:var(--gold);border-style:solid;color:var(--gold-strong)}
.mtoolbar{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;background:var(--gold-bg);border:1px solid var(--gold-line);border-radius:9px;padding:8px 14px;margin-bottom:12px;font-size:13px}
.mtoolbar .lbl{font-family:var(--label);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-strong);font-weight:600}
.mtoolbar b{font-variant-numeric:tabular-nums}
.mtoolbar .sp{flex:1}
tr.grouprow td{background:var(--card-2);font-family:var(--label);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);font-weight:600;padding:7px 10px;box-shadow:none!important;border-top:1px solid var(--line)}
tr.grouprow.dec td{color:var(--st-late)}
tr.grouprow td span{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-3);font-weight:400;font-size:11.5px}
.flagb{background:none;border:1px solid transparent;border-radius:5px;color:var(--faint);font-size:13px;line-height:1;padding:1px 5px}
.flagb:hover{border-color:var(--gold-line);color:var(--gold-strong)}
.flagb[aria-pressed="true"]{color:var(--gold-strong);background:var(--gold-bg);border-color:var(--gold-line)}
.riskb{background:none;border:1px solid transparent;border-radius:5px;color:var(--faint);font-size:12.5px;line-height:1;padding:1px 4px}
.riskb:hover{border-color:color-mix(in srgb,var(--st-late) 45%,transparent);color:var(--st-late)}
.riskb[aria-pressed="true"]{color:var(--st-late);background:color-mix(in srgb,var(--st-late) 12%,var(--card));border-color:color-mix(in srgb,var(--st-late) 45%,transparent)}
.uwaga{width:100%;border:1px dashed var(--line);border-radius:6px;background:var(--card-2);padding:4px 7px;font-size:12.5px;margin-top:5px}
.uwaga:focus{border-style:solid;border-color:var(--gold);background:var(--card)}
.okb{background:none;border:1px solid var(--line);border-radius:6px;color:var(--ink-3);font-size:12px;padding:3px 8px;white-space:nowrap}
.okb:hover{border-color:var(--st-done);color:var(--st-done)}
tr.discrow td{background:color-mix(in srgb,var(--st-done) 5%,var(--card))}
tr.discrow .tbtn{color:var(--ink-2)}
tr.grouprow.donegrp td{color:var(--st-done)}
.okdone{display:block;font-size:11.5px;color:var(--st-done);font-weight:700;margin-bottom:3px}
.undob{background:none;border:1px solid var(--line);border-radius:6px;color:var(--ink-2);font-size:12px;padding:2px 8px;white-space:nowrap}
.undob:hover{border-color:var(--gold);color:var(--gold-strong)}
.whycell{display:flex;flex-wrap:wrap;gap:4px}
button.why{cursor:pointer;font-family:inherit}
button.why:hover{filter:brightness(.94);text-decoration:underline}
.linkish{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline dotted;text-underline-offset:2px;cursor:pointer}
.linkish:hover{color:var(--gold-strong);text-decoration:underline}
#dlg-fix{width:min(460px,calc(100vw - 32px))}
#dlg-fix .db{grid-template-columns:1fr}
.savetag{position:fixed;background:var(--st-done);color:#fff;font-size:11px;font-weight:700;border-radius:4px;padding:1px 7px;z-index:120;pointer-events:none;opacity:.95}
/* jedna tabela: nagłówek kolumn raz na górze, pasy etapów przyklejone pod nim */
.tscroll{max-height:min(62vh,640px);overflow:auto;overscroll-behavior:contain}
.tscroll table{min-width:860px}
.plan th{top:0;z-index:7;background:var(--card-2)}
tr.stagerow td{position:sticky;top:31px;z-index:6;background:var(--s);color:#fff;padding:4px 12px;box-shadow:none!important;border-top:0}
:root[data-theme="dark"] tr.stagerow td{color:#15130F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) tr.stagerow td{color:#15130F}}
.srow{display:flex;align-items:center;gap:10px;font-size:13px;flex-wrap:wrap}
.srow .n{font-family:var(--label);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;opacity:.85}
.srow .nm{font-weight:600;font-size:13.5px}
.srow .dt{font-size:11.5px;opacity:.9;font-variant-numeric:tabular-nums}
.srow .sp{flex:1}
.srow .pr{display:flex;align-items:center;gap:7px;font-size:11.5px;font-variant-numeric:tabular-nums}
.srow .pr .track{width:80px;height:4px;border-radius:2px;background:rgba(255,255,255,.35);overflow:hidden}
.srow .pr .track i{display:block;height:100%;background:currentColor}
.srow .add{background:transparent;border:1px solid currentColor;color:inherit;border-radius:5px;font-size:11.5px;padding:1px 8px;font-weight:600}
/* metryczka */
#dlg-met .lb{display:block;font-family:var(--label);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:3px}
#dlg-met .mv{font-size:14.5px;font-variant-numeric:tabular-nums}
.met-goal{border-left:3px solid var(--gold);padding-left:12px;font-size:14px;line-height:1.45}
.mrow2{display:flex;gap:9px;align-items:center}
.mteam{display:flex;flex-wrap:wrap;gap:6px 14px}
.mteam .p{display:flex;gap:7px;align-items:center;font-size:12.5px;min-width:190px}
.mteam .p .role{font-size:10.5px}
.mstages{display:flex;flex-direction:column;gap:5px}
.mstages .r{--s:var(--s-indygo);display:flex;align-items:center;gap:10px;font-size:12.5px;border-left:4px solid var(--s);background:color-mix(in srgb,var(--s) 8%,var(--card));border-radius:5px;padding:4px 10px}
.mstages .r b{font-weight:600;min-width:210px}
.mstages .r .d{color:var(--ink-3);font-variant-numeric:tabular-nums}
.mstages .r .sp{flex:1}
.mstages .r .now{font-family:var(--label);font-size:9px;letter-spacing:.12em;text-transform:uppercase;background:var(--s);color:#fff;border-radius:3px;padding:1px 5px;font-weight:600}
.met-f{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px dashed var(--line);padding-top:10px}
.met-sec{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;border-top:1px dashed var(--line);padding-top:10px}
.met-sec>.lb{flex:0 0 100%}
.met-sec>.btn{margin-left:auto}
.mstages .r .linkbtn{font-size:12px}
.metbtn{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:3px 10px;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.metbtn:hover{border-color:var(--gold);color:var(--gold-strong)}
.ki.meet{cursor:pointer;border:1px solid var(--gold-line)}
.ki.meet:hover{background:color-mix(in srgb,var(--gold) 22%,var(--card))}
.mdates{display:inline-flex;gap:3px;background:var(--card-2);border:1px solid var(--line);border-radius:7px;padding:2px}
.mdates button{background:none;border:0;border-radius:5px;padding:3px 9px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.mdates button[aria-pressed="true"]{background:var(--gold-strong);color:#fff;font-weight:600}
.scrollhint{display:flex;align-items:center;gap:8px;padding:4px 14px;border-top:1px solid var(--line-2);background:var(--card-2);font-size:11.5px;color:var(--ink-3)}
.btn.icononly{padding:7px 10px;font-size:15px;line-height:1}
.mx{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);margin-left:auto}
.mx b{font-variant-numeric:tabular-nums;color:var(--ink)}
.mx .dot{width:6px;height:6px;border-radius:50%;background:var(--gold-strong)}
#pplbtn[aria-expanded="true"],#pplbtn2[aria-expanded="true"]{border-color:var(--gold);color:var(--gold-strong)}
@media (max-width:1200px){.planwrap.withnote{grid-template-columns:minmax(0,1fr)}.npanel{position:static}}

/* eksport do Excela */
.btn.xls{display:inline-flex;align-items:center;gap:7px;border-color:#1D6F42;color:#1D6F42;background:var(--card)}
.btn.xls:hover{background:color-mix(in srgb,#1D6F42 8%,var(--card));border-color:#1D6F42}
.btn.xls .xi{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;background:#1D6F42;color:#fff;font-size:11px;font-weight:700;font-family:var(--label)}
.xdlg{width:min(1320px,calc(100vw - 32px))}
.xbody{display:grid;grid-template-columns:330px minmax(0,1fr);gap:20px;padding:16px 22px;max-height:74vh;overflow:auto}
.xopts{display:flex;flex-direction:column;gap:14px}
.xopts fieldset{border:1px solid var(--line);border-radius:10px;padding:10px 14px 12px;margin:0;display:flex;flex-direction:column;gap:9px}
.xopts legend{font-family:var(--label);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding:0 6px;font-weight:600}
.xopts label{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.35}
.xopts label input{margin-top:3px;accent-color:var(--gold-strong)}
.xopts label small{display:block;color:var(--ink-3);font-size:12px}
.xopts select{margin-top:6px;width:100%}
.xprev{min-width:0;display:flex;flex-direction:column;gap:8px}
.xl{border:1px solid #BFBFBF;background:#fff;color:#1F1F1F;font-family:Calibri,Carlito,"Segoe UI",Arial,sans-serif;font-size:12px;overflow:auto;max-height:52vh;border-radius:4px 4px 0 0}
.xl table{border-collapse:collapse;width:max-content}
.xl th,.xl td{border:1px solid #D9D9D9;padding:3px 7px;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis;text-align:left;font-weight:400}
.xl thead th{position:sticky;top:0;z-index:2;background:#F2F2F2;color:#666;text-align:center;font-size:11px;min-width:34px}
.xl tbody th{position:sticky;left:0;z-index:1;background:#F2F2F2;color:#666;text-align:center;font-size:11px;width:34px}
.xl .ttl td{font-weight:700;font-size:14px;border-color:transparent}
.xl .meta td{color:#666;border-color:transparent}
.xl .hdr td{background:#1C1A15;color:#fff;font-weight:700;border-color:#3A352C}
.xl .hdr td::after{content:" ▾";color:#C9A96A;font-size:10px}
.xl tr.subr td{color:#555}
.xl tr.subr td.ind{padding-left:22px}
.xl .x-todo{background:#EEEAE3;color:#5D564B}.xl .x-doing{background:#DCE8F9;color:#1F5FB0}.xl .x-risk{background:#FBEBC8;color:#8A5A00}
.xl .x-hold{background:#E3E7EB;color:#4A5663}.xl .x-done{background:#DDF0E3;color:#22713F}.xl .x-late{background:#F9DCDA;color:#B3261E;font-weight:700}
.xl .num{text-align:right}
.xl .frz td{border-bottom:2px solid #7F7F7F}
.xtabs{display:flex;gap:2px;align-items:center;background:#F2F2F2;border:1px solid #BFBFBF;border-top:0;padding:0 6px;margin-top:-8px;border-radius:0 0 4px 4px;font-family:Calibri,Carlito,"Segoe UI",Arial,sans-serif;font-size:12px;color:#444}
.xtabs button{background:none;border:0;padding:5px 14px;color:#444}
.xtabs button[aria-pressed="true"]{background:#fff;color:#1D6F42;font-weight:700;border-bottom:2px solid #1D6F42}
.xfile{display:flex;gap:10px;align-items:center;font-size:13px}
.xfile .ico{width:30px;height:36px;border-radius:3px;background:#1D6F42;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--label);font-size:13px;flex:none}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-size:13px;box-shadow:var(--shadow);z-index:100;max-width:calc(100vw - 32px)}

/* ===== ZASADA: każde okno / panel / lista przewija się NIEZALEŻNIE (nagłówek zostaje na wierzchu) ===== */
.mcols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.mcols .msec{margin-bottom:0;display:flex;flex-direction:column;max-height:calc(100vh - 250px)}
.msec-b{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0}
.msec .mrow2x .mw-x{min-width:160px}
.npanel{max-height:calc(100vh - 110px);overflow:auto;overscroll-behavior:contain}
.npanel .np-h{position:sticky;top:0;background:var(--card);z-index:2}
.mw-b .npanel{max-height:calc(100vh - 160px)}
.cols3 .list{display:flex;flex-direction:column;max-height:calc(100vh - 230px)}
.cols3 .list .list-h{flex:none}
.cols3 .list>.item:first-of-type{border-top:0}
.cols3 .list .lbody{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0}
@media (max-width:1000px){.mcols{grid-template-columns:1fr}.mcols .msec{max-height:60vh}}
/* ===== Spotkania v3 ===== */
.msec{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;overflow:hidden}
.msec-h{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}
.msec-h h3{font-size:18px}
.mrow2x{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;border-bottom:1px solid var(--line-2);padding:9px 14px;text-align:left;font-size:13px;color:var(--ink);flex-wrap:wrap}
.mrow2x:last-child{border-bottom:0}
.mrow2x:hover{background:var(--card-2)}
.mrow2x .mw-d{display:flex;flex-direction:column;min-width:74px;line-height:1.2}
.mrow2x .mw-d b{font-size:14px;font-variant-numeric:tabular-nums}
.mrow2x .mw-d span{font-size:11.5px;color:var(--ink-3)}
.mrow2x .mw-x{flex:1;min-width:220px;color:var(--ink-2)}
.mrow2x .go{color:var(--gold-strong);font-weight:700;font-size:12.5px;white-space:nowrap}
.nbadge.plan{color:var(--ink-3);background:var(--card-2);border-color:var(--line)}
.mwdlg{width:calc(100vw - 32px);max-width:1680px;height:calc(100vh - 32px);max-height:none;display:none;flex-direction:column}
.mwdlg[open]{display:flex}
.mw-h{display:flex;align-items:center;gap:10px 18px;padding:12px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap;background:var(--card)}
.mw-h .sp{flex:1}
.mw-t{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.mw-t h2{font-size:22px}
.mw-ppl{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.mw-ppl .lbl{font-family:var(--label);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-right:3px}
.mw-b{flex:1;overflow:auto;padding:12px 20px 20px;background:var(--bg)}
.mw-b .tscroll{max-height:calc(100vh - 230px)}
.mw-b .npanel{top:0}
.archdlg{width:min(860px,calc(100vw - 32px))}
.adddlg{width:min(680px,calc(100vw - 32px))}
.seg{display:inline-flex;background:var(--card-2);border:1px solid var(--line);border-radius:8px;padding:2px;gap:2px;justify-self:start}
.seg button{background:none;border:0;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--ink-2)}
.seg button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(28,26,21,.14)}
.pick{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:4px}
.pk{display:flex;gap:8px;align-items:baseline;padding:5px 8px;border-radius:6px;font-size:13px;cursor:pointer;text-transform:none;letter-spacing:0;font-family:var(--sans);color:var(--ink);font-weight:400}
.pk:hover{background:var(--card-2)}
.pk input{accent-color:var(--gold-strong)}
.dd{position:relative;display:inline-block}
.ddbtn{text-align:left;cursor:pointer;min-width:260px}
.ddlist{position:absolute;z-index:40;top:calc(100% + 4px);left:0;min-width:280px;max-height:300px;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);padding:6px}
.ddlist label{display:flex;gap:8px;align-items:center;padding:4px 6px;border-radius:6px;font-size:13px;cursor:pointer;text-transform:none;letter-spacing:0;font-family:var(--sans);color:var(--ink);font-weight:400}
.ddlist label:hover{background:var(--card-2)}
.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.extchip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;border:1px dashed var(--line);border-radius:5px;padding:1px 7px;color:var(--ink-2);background:var(--card-2)}
.agrm{background:none;border:1px solid transparent;border-radius:5px;color:var(--faint);font-size:12px;padding:2px 6px}
.agrm:hover{border-color:color-mix(in srgb,var(--st-late) 45%,transparent);color:var(--st-late)}
tr.rmrow td{opacity:.6}
tr.freerow td{background:color-mix(in srgb,var(--gold) 5%,var(--card))}
.why.newp{color:var(--st-doing);background:color-mix(in srgb,var(--st-doing) 10%,var(--card));border-color:color-mix(in srgb,var(--st-doing) 35%,transparent)}
.why.addp{color:var(--gold-strong);background:var(--gold-bg);border-color:var(--gold-line)}
tr.grouprow.addgrp td{color:var(--gold-strong)}
tr.grouprow.rmgrp td{color:var(--ink-3)}
/* okno decyzji z etykiety */
.actwhy{font-size:13.5px;line-height:1.5;background:var(--card-2);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:7px;padding:9px 12px}
.actq{font-style:italic;margin:5px 0 6px;color:var(--ink)}
.actopts{display:flex;flex-direction:column;gap:6px}
.actopt{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:9px 12px;cursor:pointer}
.actopt b{font-size:14px;color:var(--ink)}
.actopt span{font-size:12.5px;color:var(--ink-2)}
.actopt:hover{border-color:var(--gold)}
.actopt[aria-pressed="true"]{border-color:var(--gold-strong);background:var(--gold-bg);box-shadow:inset 3px 0 0 var(--gold-strong)}
.actstep{display:flex;flex-direction:column;gap:10px;border-top:1px dashed var(--line);padding-top:10px}
#dlg-act{width:min(560px,calc(100vw - 32px))}
.why .chev{font-weight:700;margin-left:2px}
body.role-ed .own{display:none!important}   /* Edytor nie widzi elementów Właściciela/Administratora */
.effbtns{display:flex;gap:8px;flex-wrap:wrap}
.effb{flex:1;min-width:110px;border:1px solid var(--line);background:var(--card);border-radius:8px;padding:10px 12px;font-weight:700;font-size:14px;cursor:pointer}
.effb.ok{color:var(--st-done)} .effb.part{color:var(--st-risk)} .effb.no{color:var(--st-late)}
.effb:hover,.effb[aria-pressed="true"]{border-color:currentColor;background:color-mix(in srgb,currentColor 9%,var(--card))}
.why.eff{color:var(--st-late);background:color-mix(in srgb,var(--st-late) 10%,var(--card));border-color:color-mix(in srgb,var(--st-late) 40%,transparent)}
#dlg-eff{width:min(560px,calc(100vw - 32px))}
.hide{display:none!important}
@media (max-width:900px){.xbody{grid-template-columns:1fr}}
@media (max-width:1100px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.risk{grid-template-columns:120px minmax(0,1fr) 120px}.risk>:nth-child(4),.risk>:nth-child(5){display:none}}
@media (max-width:820px){.cols3,.split{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.team{align-items:flex-start}.team .row{justify-content:flex-start}.db{grid-template-columns:1fr}.agenda{position:static}.plan .hide-m{display:none}}

/* ekran logowania: logo w dwóch liniach — dłuższa nazwa systemu nie wychodzi poza kartę (i nie przesuwa jej zawartości) */
.lcard .logo{white-space:normal;letter-spacing:.18em;line-height:1.7}
.lcard .logo span{display:block;margin-left:0;padding-left:0;border-left:0}
.lcard{max-width:100%}
/* ── etap 2: edycja na tablicy ── */
.subrow2{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}
.subrow2 .ctl[data-f="title"]{flex:1;min-width:200px}
.subrow2 select.ctl{width:170px}.subrow2 input[type=date]{width:145px}
.subrow2 .x{border:0;background:none;color:var(--ink-3);cursor:pointer;font-size:14px;padding:4px}
.subrow2 .x:hover{color:var(--st-late)}
tr.drop-before td{box-shadow:inset 0 2px 0 var(--gold-strong)}
tr.task .handle{cursor:grab;color:var(--ink-3);user-select:none}
.btn.armed{background:var(--st-late);color:#fff;border-color:var(--st-late)}
.effb[aria-pressed="true"]{border-color:currentColor;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 25%,transparent)}
dialog.wide{width:min(980px,calc(100vw - 32px))}
dialog.wide .db{grid-template-columns:1fr 1fr}dialog.wide .db .full{grid-column:1/-1}@media(max-width:640px){dialog.wide .db{grid-template-columns:1fr}}
