@import url("project-gantt.css?v=3");
:root{
  --hivis:var(--ui-accent,#a4dc72);--navy:#16223c;--navy-2:#1f2e50;
  --ground:#eef0f4;--card:#fff;--board:#f7f8fa;
  --line:#dfe3ea;--soft:#ebeef3;
  --ink:#182136;--ink2:#5c6677;--ink3:#9aa4b5;
  --red:#d4382e;--reds:#fdecea;--green:#1f8a4c;--greens:#e8f5ee;
  --utstyr:#5b5f6b;
  --sh:0 1px 2px rgba(22,34,60,.06),0 10px 30px rgba(22,34,60,.07);
  --day:104px;--label:236px;
  --disp:"Avenir Next Condensed","Helvetica Neue Condensed","Arial Narrow","Segoe UI",sans-serif;
}
@media(prefers-color-scheme:dark){:root{
  --navy:#0c1322;--navy-2:#16223c;--ground:#0a0f1a;--card:#131b2c;--board:#101726;
  --line:#263149;--soft:#1c2638;--ink:#e7ebf2;--ink2:#9aa6ba;--ink3:#64708a;
  --reds:#341f1d;--greens:#14291d;--utstyr:#7b8090;
  --sh:0 1px 2px rgba(0,0,0,.35),0 12px 34px rgba(0,0,0,.35);}}
:root[data-theme=dark]{
  --navy:#0c1322;--navy-2:#16223c;--ground:#0a0f1a;--card:#131b2c;--board:#101726;
  --line:#263149;--soft:#1c2638;--ink:#e7ebf2;--ink2:#9aa6ba;--ink3:#64708a;
  --reds:#341f1d;--greens:#14291d;--utstyr:#7b8090;
  --sh:0 1px 2px rgba(0,0,0,.35),0 12px 34px rgba(0,0,0,.35);}
:root[data-theme=light]{
  --navy:#16223c;--ground:#eef0f4;--card:#fff;--board:#f7f8fa;--line:#dfe3ea;--soft:#ebeef3;
  --ink:#182136;--ink2:#5c6677;--ink3:#9aa4b5;--reds:#fdecea;--greens:#e8f5ee;--utstyr:#5b5f6b;
  --sh:0 1px 2px rgba(22,34,60,.06),0 10px 30px rgba(22,34,60,.07);}

*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font-family:"Segoe UI",system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}
.tab{font-variant-numeric:tabular-nums}
.sp{flex:1}
h1{margin:0;font-size:23px;font-weight:700;letter-spacing:-.01em}
h2{margin:0;font-size:17px;font-weight:700}
.muted{color:var(--ink2);font-size:12.5px}

/* chrom */
.top{display:flex;align-items:center;gap:14px;background:var(--navy);color:#fff;padding:0 16px;height:52px;position:sticky;top:0;z-index:60}
.brand{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:700;font-size:16px;letter-spacing:.06em}
.mark{width:21px;height:21px;background:var(--hivis);border-radius:5px;display:grid;place-items:center;color:var(--navy);font-size:12px;font-weight:800;font-family:inherit}
.orgname{font-size:11px;color:rgba(255,255,255,.55);border-left:1px solid rgba(255,255,255,.2);padding-left:12px}
.modes{display:flex;gap:2px;margin-left:6px}
.modes button{border:0;background:none;color:rgba(255,255,255,.6);font-size:11.5px;font-weight:700;letter-spacing:.1em;padding:6px 11px;border-radius:7px;cursor:pointer}
.modes button.on{color:var(--navy);background:var(--hivis)}
.modes button:hover:not(.on){color:#fff}
.tright{margin-left:auto;display:flex;align-items:center;gap:8px}
.pulsbtn{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;border-radius:8px;padding:6px 12px;font-size:11.5px;font-weight:800;letter-spacing:.08em;cursor:pointer}
.pulsbtn.on{background:var(--hivis);border-color:var(--hivis);color:var(--navy)}
.cnt{background:var(--red);border-radius:999px;min-width:17px;height:17px;display:grid;place-items:center;font-size:10.5px;padding:0 4px;color:#fff}
.pulsbtn.on .cnt{background:var(--navy);color:#fff}
.kbd{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);border-radius:8px;padding:6px 11px;font-size:11.5px;cursor:pointer}
.avm{width:29px;height:29px;border-radius:50%;background:var(--navy-2);border:2px solid rgba(255,255,255,.25);display:grid;place-items:center;font-size:11px;font-weight:700;cursor:pointer}

.stage{max-width:1440px;margin:0 auto;padding:16px}
.view{display:none}.view.on{display:block}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:13px}
.btn{border:0;background:var(--hivis);color:var(--navy);font-size:12.5px;font-weight:800;padding:9px 16px;border-radius:999px;cursor:pointer}
.btn.g{background:var(--card);color:var(--ink);border:1px solid var(--line);font-weight:700}
.btn.d{background:var(--reds);color:var(--red)}
.btn:hover{filter:brightness(1.05)}
.btn:disabled{opacity:.45;cursor:default}

/* Główna nawigacja aplikacji: stały lewy rail jak w używanej dziś wersji.
   Ressursplan pozostaje obszarem pracy, a nie elementem dominującym nad menu. */
body[data-session=app] #chrome-app.top{
  position:fixed;inset:0 auto 0 0;width:196px;height:100vh;
  padding:18px 12px 14px;align-items:stretch;flex-direction:column;gap:0;
  box-shadow:3px 0 18px rgba(9,16,31,.14)
}
body[data-session=app] #chrome-app .brand{padding:0 8px 14px}
body[data-session=app] #chrome-app .orgname{
  border-left:0;border-top:1px solid rgba(255,255,255,.14);
  padding:12px 8px 14px;line-height:1.35
}
body[data-session=app] #chrome-app .modes{
  display:flex;flex-direction:column;gap:4px;margin:0;
  border-top:1px solid rgba(255,255,255,.14);padding-top:14px
}
body[data-session=app] #chrome-app .modes::before{
  content:"HOVEDMENY";padding:0 9px 5px;color:rgba(255,255,255,.38);
  font-size:9px;font-weight:800;letter-spacing:.18em
}
body[data-session=app] #chrome-app .modes button{
  width:100%;padding:10px 11px;text-align:left;border-radius:8px
}
body[data-session=app] #chrome-app .tright{
  margin: auto 0 0;display:flex;flex-direction:column;align-items:stretch;gap:7px;
  border-top:1px solid rgba(255,255,255,.14);padding-top:12px
}
body[data-session=app] #chrome-app .pulsbtn,
body[data-session=app] #chrome-app .kbd{width:100%;min-height:36px;justify-content:space-between;text-align:left}
body[data-session=app] #chrome-app .avm{margin-top:3px;align-self:flex-start}
body[data-session=app] .stage{max-width:none;margin:0 0 0 196px;padding:16px}

@media(max-width:760px){
  body[data-session=app] #chrome-app.top{
    position:sticky;inset:auto;width:auto;height:auto;padding:8px 10px;
    align-items:center;flex-direction:row;flex-wrap:wrap;gap:6px;box-shadow:none
  }
  body[data-session=app] #chrome-app .brand{padding:0}
  body[data-session=app] #chrome-app .orgname{display:none}
  body[data-session=app] #chrome-app .modes{
    flex-direction:row;flex:0 0 100%;gap:2px;margin:0;border:0;padding:0;overflow-x:auto;order:2
  }
  body[data-session=app] #chrome-app .modes::before{display:none}
  body[data-session=app] #chrome-app .modes button{width:auto;padding:6px 9px;text-align:center;white-space:nowrap}
  body[data-session=app] #chrome-app .tright{
    margin:0;flex:0 0 100%;flex-direction:row;align-items:center;gap:5px;border:0;padding:0;overflow-x:auto;order:3
  }
  body[data-session=app] #chrome-app .pulsbtn,
  body[data-session=app] #chrome-app .kbd{width:auto;min-height:0}
  body[data-session=app] #chrome-app .kbd,
  body[data-session=app] #chrome-app .avm{display:none}
  body[data-session=app] #chrome-app #help-top,
  body[data-session=app] #chrome-app #assistant-top,
  body[data-session=app] #chrome-app #presence-button,
  body[data-session=app] #chrome-app #collaboration-bell{display:block;white-space:nowrap;flex-shrink:0}
  body[data-session=app] #chrome-app .avm{display:grid;flex-shrink:0;color:white}
  body[data-session=app] .stage{margin:0;padding:12px}
}

/* tavla */
.org3{display:grid;grid-template-columns:158px minmax(0,1fr) 288px;gap:12px;align-items:start}
.org3.nopuls{grid-template-columns:158px minmax(0,1fr)}
.org3.nopuls .puls{display:none}
@media(max-width:1080px){
  .org3,.org3.nopuls{grid-template-columns:1fr}
  .hero{position:static;flex-direction:row;align-items:center;gap:18px;padding:12px 14px}
  .hero>div:first-child{display:flex;align-items:baseline;gap:10px}
  .hero .n{font-size:34px}
  .hero .nav{flex:none;width:150px}
  .hero .st{border-top:0;border-left:1px solid rgba(255,255,255,.12);padding:0 0 0 16px;flex:1;
    display:grid;grid-template-columns:repeat(3,1fr);gap:4px 14px}
  .puls{position:static;max-height:none}
}
.hero{background:var(--navy);color:#fff;border-radius:15px;padding:16px 14px;display:flex;flex-direction:column;gap:11px;box-shadow:var(--sh);position:sticky;top:64px}
.hero .k{font-size:10px;font-weight:700;letter-spacing:.22em;color:var(--hivis)}
.hero .n{font-family:var(--disp);font-size:70px;font-weight:700;line-height:.86}
.hero .r{font-size:11.5px;color:rgba(255,255,255,.7)}
.hero .nav{display:flex;gap:5px}
.hero .nav button{flex:1;height:29px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff;font-size:12px;cursor:pointer}
.hero .nav button:hover{background:rgba(255,255,255,.16)}
.hero .st{border-top:1px solid rgba(255,255,255,.12);padding-top:10px;display:flex;flex-direction:column;gap:6px;font-size:11.5px}
.hero .st div{display:flex;justify-content:space-between;color:rgba(255,255,255,.72)}
.hero .st b{color:#fff}.hero .st b.bad{color:#ff8a80}.hero .st b.ok{color:#7ee2a8}

.board{background:var(--card);border:1px solid var(--line);border-radius:15px;box-shadow:var(--sh);overflow:hidden;min-width:0}
.lens{display:flex;align-items:center;gap:4px;padding:10px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.lens .l{border:0;background:none;font-size:12.5px;font-weight:700;color:var(--ink3);padding:6px 13px;border-radius:999px;cursor:pointer}
.lens .l.on{background:var(--ink);color:var(--card)}
.zoom{display:flex;gap:2px;background:var(--board);border:1px solid var(--line);border-radius:8px;padding:2px}
.zoom button{border:0;background:none;font-size:11.5px;font-weight:700;color:var(--ink3);padding:4px 10px;border-radius:6px;cursor:pointer}
.zoom button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.aibtn{display:inline-flex;align-items:center;gap:7px;border:0;background:var(--navy);color:#fff;font-size:11.5px;font-weight:800;padding:7px 14px;border-radius:999px;cursor:pointer;margin-left:6px}
.aibtn i{width:8px;height:8px;border-radius:50%;background:var(--hivis)}
.filters{display:flex;gap:5px;padding:8px 12px;border-bottom:1px solid var(--soft);flex-wrap:wrap;background:var(--board);align-items:center}
.tavla-filter-label{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--ink3);margin-right:3px}.tavla-project-picker summary{min-width:205px}.tavla-project-picker .overview-picker-menu{min-width:300px}.tavla-project-picker label{display:flex;align-items:center;gap:5px}.tavla-project-picker label small{margin-left:auto;color:var(--ink3);font-size:9px}.tavla-picker-actions{display:flex;gap:5px;padding:2px 6px 6px;border-bottom:1px solid var(--soft)}.tavla-picker-actions button{border:0;background:none;color:var(--hivis);font-size:10.5px;font-weight:800;padding:3px;cursor:pointer}.fag-project-toggle{display:flex;align-items:center;gap:8px;border:0;background:none;color:inherit;padding:0;cursor:pointer;font:inherit}.fag-project-toggle .chev{font-size:18px;line-height:12px;color:var(--ink3);transform:rotate(90deg);transition:transform .15s}.fag-project-toggle[aria-expanded="false"] .chev{transform:rotate(0)}.fag-project-toggle:hover .gn{color:var(--hivis)}.tavla-project-empty{color:var(--ink3);font-size:11px;padding-block:13px}
.dagmulkt-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.dagmulkt-admin-head h3{margin:0;font-size:13px}.dagmulkt-admin-head p{margin:4px 0 0;color:var(--ink3);font-size:11px}.dagmulkt-admin-grid{display:grid;grid-template-columns:minmax(340px,1.2fr) minmax(270px,.8fr);gap:10px}.dagmulkt-add-card,.dagmulkt-default-card,.dagmulkt-list-card{border:1px solid var(--line);background:var(--board);border-radius:11px;padding:11px}.dagmulkt-add-card h4,.dagmulkt-default-card h4{margin:0 0 9px;font-size:9.5px;letter-spacing:.1em;color:var(--ink3)}.dagmulkt-add-card>.btn{margin-top:1px}.dagmulkt-default-card p{font-size:10.5px;color:var(--ink3);line-height:1.45}.dagmulkt-list-card{margin-top:10px}.dagmulkt-list-tools{display:flex;margin-bottom:8px}.dagmulkt-date-count{font-size:9.5px;color:var(--ink3);padding:0 2px 7px}.dagmulkt-date-list{max-height:430px;overflow:auto;border:1px solid var(--soft);border-radius:9px;background:var(--card)}.dagmulkt-date-list section h4{position:sticky;top:0;z-index:2;margin:0;padding:7px 11px;background:var(--board);border-bottom:1px solid var(--soft);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3)}.dagmulkt-date-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--soft)}.dagmulkt-date-row:last-child{border-bottom:0}.dagmulkt-date-row>span{display:flex;align-items:baseline;gap:8px;flex:1}.dagmulkt-date-row b{font-size:11px}.dagmulkt-date-row small{font-size:9px;color:var(--ink3)}.dagmulkt-date-row button{border:0;background:none;color:var(--ink3);font-size:17px;cursor:pointer}.dagmulkt-date-row button:hover{color:var(--red)}.dagmulkt-date-empty{padding:24px;text-align:center;color:var(--ink3);font-size:11px}.holiday-admin-grid{display:grid;grid-template-columns:minmax(340px,1.2fr) minmax(270px,.8fr);gap:10px}.holiday-list-card{margin-top:10px;border:1px solid var(--line);background:var(--board);border-radius:11px;padding:11px}.holiday-year-nav{display:flex;align-items:center;gap:7px;margin-bottom:9px}.holiday-year-nav button{width:30px;height:29px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink);font-size:17px;cursor:pointer}.holiday-year-nav b{min-width:54px;text-align:center;font-size:15px}.holiday-year-nav span{margin-left:auto;color:var(--ink3);font-size:10px}.holiday-row{display:flex;align-items:center;gap:9px;padding:8px 9px;border-top:1px solid var(--soft);background:var(--card)}.holiday-row:first-child{border-top:0}.holiday-date{flex:1}.holiday-date b,.holiday-date small{display:block}.holiday-date b{font-size:11.5px}.holiday-date small{font-size:9.5px;color:var(--ink3);margin-top:2px}.holiday-row>button{border:0;background:none;color:var(--ink3);font-size:17px;cursor:pointer}.holiday-row>button:hover{color:var(--red)}@media(max-width:800px){.dagmulkt-admin-grid,.holiday-admin-grid{grid-template-columns:1fr}}
.chip{border:1px solid var(--line);background:var(--card);color:var(--ink2);font-size:11px;font-weight:700;padding:4px 11px;border-radius:999px;cursor:pointer}
.chip.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.hintbar{padding:7px 12px;background:#fffdf5;border-bottom:1px solid var(--soft);font-size:11.5px;color:var(--ink2)}
:root[data-theme=dark] .hintbar{background:#1a1c15}
@media(prefers-color-scheme:dark){.hintbar{background:#1a1c15}}
.hintbar b{color:var(--ink)}

.scroll{overflow-x:auto}
.grid{min-width:calc(var(--label) + var(--ndays)*var(--day))}
.drow,.trow{display:grid;grid-template-columns:var(--label) repeat(var(--ndays),var(--day))}
.drow{border-bottom:1px solid var(--line);background:var(--board);position:sticky;top:0;z-index:5}
.drow.floating{box-shadow:0 5px 14px rgba(15,23,42,.09)}
.drow .c{display:flex;align-items:end;padding:7px 13px;font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--ink3)}
#board .drow .c{position:sticky;left:0;z-index:7;background:var(--board);box-shadow:1px 0 0 var(--line),7px 0 12px rgba(15,23,42,.045)}
.dh{text-align:center;padding:6px 0 7px;border-left:1px solid var(--soft)}
.dh .dn{font-size:10px;color:var(--ink3);text-transform:uppercase;letter-spacing:.08em}
.dh .dd{font-family:var(--disp);font-size:17px;font-weight:600;line-height:1.1}
.dh.today .dd{color:var(--hivis)}
.dh.today::after{content:"I DAG";display:block;font-size:8px;font-weight:800;letter-spacing:.14em;color:var(--hivis)}
.dh.we .dd,.dh.we .dn{color:var(--ink3);opacity:.75}.dh.holiday{background:color-mix(in srgb,var(--red) 8%,var(--board));color:var(--red)}
.grp{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:6px 13px;background:var(--board);border-bottom:1px solid var(--soft)}
.grp-sticky{display:flex;align-items:center;gap:8px}
#board .grp-sticky{position:sticky;left:13px;z-index:8;width:max-content}
.grp .dot{width:8px;height:8px;border-radius:2.5px}
.grp .gn{font-size:10.5px;font-weight:800;letter-spacing:.1em;color:var(--ink2)}
.grp .gc{font-size:10.5px;color:var(--ink3);font-weight:600}

.trow{border-bottom:1px solid var(--soft);min-height:56px}
.trow:hover{background:color-mix(in srgb,var(--navy) 2.5%,transparent)}
.trow.hl{background:color-mix(in srgb,var(--hivis) 10%,transparent)}
.rl{padding:8px 13px;display:flex;align-items:center;gap:10px;min-width:0;border-right:1px solid var(--soft)}
#board .trow .rl{position:sticky;left:0;z-index:9;background:var(--card);box-shadow:1px 0 0 var(--line),7px 0 12px rgba(15,23,42,.045)}
#board .trow:hover .rl{background:color-mix(in srgb,var(--navy) 2.5%,var(--card))}
#board .trow.hl .rl{background:color-mix(in srgb,var(--hivis) 10%,var(--card))}
#board .trow.unmanned-row .rl{background:color-mix(in srgb,var(--red) 2.5%,var(--card))}
.avt{width:31px;height:31px;border-radius:9px;flex:none;display:grid;place-items:center;color:#fff;font-size:11.5px;font-weight:700}
.avt.eq{border-radius:7px;font-size:15px}
.rn{min-width:0;flex:1}
.rn .n{display:block;font-weight:600;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rn .s{display:block;font-size:10.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rn .lk{color:var(--hivis);cursor:pointer;font-weight:700}
.track{grid-column:2/-1;position:relative;touch-action:none}
.cl{position:absolute;top:0;bottom:0;width:1px;background:var(--soft)}
.wknd{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--ink3) 6%,transparent)}.wknd.holiday{background:color-mix(in srgb,var(--red) 8%,transparent)}
.nowl{position:absolute;top:0;bottom:0;width:2px;background:var(--hivis);z-index:4;pointer-events:none}
.dropzone{position:absolute;top:2px;bottom:2px;border-radius:8px;pointer-events:none;z-index:6}
.dropzone.ok{background:color-mix(in srgb,var(--green) 22%,transparent);outline:2px solid var(--green)}
.dropzone.bad{background:color-mix(in srgb,var(--red) 20%,transparent);outline:2px solid var(--red)}
.dropmsg{position:absolute;z-index:7;background:var(--navy);color:#fff;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:6px;pointer-events:none;white-space:nowrap}

.bar{position:absolute;height:31px;border-radius:8px;padding:0 9px;display:flex;align-items:center;gap:7px;color:#fff;cursor:grab;box-shadow:0 1px 2px rgba(10,16,26,.25);overflow:visible;border:0;text-align:left;user-select:none;touch-action:none}
.bar .bt{font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.bar .bh{margin-left:auto;font-size:10.5px;font-weight:700;opacity:.85;white-space:nowrap;pointer-events:none}
.bar:hover{filter:brightness(1.08)}
.bar.drag{opacity:.85;cursor:grabbing;z-index:20;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.bar:focus-visible{outline:2px solid var(--hivis);outline-offset:2px}
.bar.conf{box-shadow:0 1px 2px rgba(10,16,26,.25),inset 3px 0 0 var(--red)}
.bar.over{outline:2px solid #f2a900;outline-offset:-2px}
.bar.res{background:repeating-linear-gradient(135deg,var(--utstyr) 0 8px,#3f434d 8px 10px)!important;border-radius:5px;height:27px}
.bar.project-bem{padding-left:28px;cursor:pointer}.bar-day-hit{position:absolute;inset-block:0;z-index:2;cursor:grab;border-right:1px solid rgba(255,255,255,.22)}.bar-day-hit:hover{background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}.bar-day-hit:active{cursor:grabbing}.bar-day-hit.moving{background:rgba(0,0,0,.32)}.bar-conf-day{position:absolute;inset-block:0;z-index:1;background:rgba(212,56,46,.4);box-shadow:inset 0 0 0 2px var(--red);pointer-events:none}.bar-grip{position:absolute;left:9px;top:5px;z-index:5;width:14px;height:21px;display:grid;place-items:center;border-radius:4px;background:rgba(0,0,0,.24);color:#fff;font-size:13px;line-height:1;cursor:grab}.bar-grip:active{cursor:grabbing}.bar.project-bem .bt,.bar.project-bem .bh{position:relative;z-index:3}.bem-day-drag{position:absolute;height:31px;border-radius:8px;opacity:.82;z-index:20;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.hnd{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:3}
.hnd.l{left:-2px}.hnd.r{right:-2px}
.hnd::after{content:'';position:absolute;top:50%;transform:translateY(-50%);left:3px;width:2px;height:12px;background:rgba(255,255,255,.5);border-radius:1px}
.ctag{position:absolute;height:17px;display:inline-flex;align-items:center;padding:0 7px;background:var(--red);color:#fff;font-size:10px;font-weight:800;border-radius:999px;z-index:8;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.3);pointer-events:none}
.otag{position:absolute;height:16px;display:inline-flex;align-items:center;padding:0 6px;background:#fffbeb;color:#92620a;font-size:9.5px;font-weight:800;border-radius:5px;z-index:8;pointer-events:none;border:1px solid #f2a900}
.free{position:absolute;height:31px;display:flex;align-items:center;justify-content:center;color:var(--green);font-size:10.5px;font-weight:600;pointer-events:none}
.unmanned-grp .dot{background:var(--red)}.unmanned-avt{background:var(--reds)!important;color:var(--red)!important}.unmanned-row{background:color-mix(in srgb,var(--red) 2.5%,var(--card))}.unmanned-slot{position:absolute;top:10px;height:32px;border:1px solid color-mix(in srgb,var(--red) 38%,transparent);border-radius:7px;background:var(--reds);color:var(--red);font-size:10px;font-weight:800;cursor:pointer;z-index:3}.unmanned-slot:hover{background:color-mix(in srgb,var(--red) 18%,var(--card));border-color:var(--red)}
.abs{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;color:var(--ink3);font-size:10px;font-weight:700;letter-spacing:.04em;background:repeating-linear-gradient(-45deg,transparent 0 6px,color-mix(in srgb,var(--ink3) 9%,transparent) 6px 7px);pointer-events:none}
.legend{display:flex;gap:14px;flex-wrap:wrap;padding:9px 13px;border-top:1px solid var(--line);font-size:10.5px;color:var(--ink3)}
.legend span{display:inline-flex;align-items:center;gap:5px}
.legend i{width:10px;height:10px;border-radius:3px;flex:none}

/* paleta zasobów do przeciągania */
.palette{border-top:1px solid var(--line);background:var(--board);padding:9px 12px}
.palette .ph{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--ink3);margin-bottom:7px}.palette-group+.palette-group{margin-top:11px;padding-top:9px;border-top:1px solid var(--line)}.palette-group.equipment .ph{color:var(--utstyr)}
.pitems{display:flex;gap:6px;flex-wrap:wrap}
.pitem{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 11px 4px 4px;cursor:grab;font-size:11.5px;font-weight:600;user-select:none;touch-action:none}
.pitem:hover{border-color:var(--hivis)}
.pitem .pa{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:9.5px;font-weight:700}
.pitem .pf{font-size:10px;color:var(--ink3);font-weight:500}
.ghostdrag{position:fixed;z-index:99;pointer-events:none;background:var(--navy);color:#fff;border-radius:8px;padding:6px 11px;font-size:11.5px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.4)}

/* puls */
.puls{display:flex;flex-direction:column;gap:9px;position:sticky;top:64px;max-height:calc(100vh - 80px);overflow-y:auto}
.ph2{display:flex;align-items:baseline;gap:8px;padding:2px 4px}
.ph2 .t{font-family:var(--disp);font-size:18px;font-weight:700;letter-spacing:.04em}
.ph2 .c{font-size:11px;color:var(--ink3)}
.pc{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 13px;box-shadow:var(--sh)}
.pc.active{border-color:var(--hivis);box-shadow:0 0 0 2px color-mix(in srgb,var(--hivis) 45%,transparent),var(--sh)}
.tg{display:inline-flex;font-size:9.5px;font-weight:800;letter-spacing:.1em;border-radius:999px;padding:2px 8px;margin-bottom:6px}
.tg.red{background:var(--reds);color:var(--red)}
.tg.amber{background:color-mix(in srgb,#f2a900 18%,transparent);color:#92620a}
.tg.green{background:var(--greens);color:var(--green)}
.tg.grey{background:color-mix(in srgb,var(--ink3) 14%,transparent);color:var(--ink2)}
.pc h4{margin:0 0 3px;font-size:12.5px;font-weight:700}
.pc p{margin:0;font-size:11.5px;color:var(--ink2)}
.pc .act{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
.pc .act button{border:1px solid var(--line);background:none;color:var(--ink);font-size:11px;font-weight:700;padding:5px 11px;border-radius:8px;cursor:pointer}
.pc .act button.p{background:var(--ink);color:var(--card);border-color:var(--ink)}
.pempty{background:var(--greens);border:1px solid color-mix(in srgb,var(--green) 30%,transparent);border-radius:12px;padding:14px;font-size:12.5px;color:var(--green);font-weight:600;text-align:center}

/* karty / listy / tabele */
.cards{display:grid;gap:10px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:13px 15px;box-shadow:var(--sh);cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 150px 120px 110px;gap:14px;align-items:center}
.pcard:hover{border-color:var(--ui-accent-border,var(--hivis))}
:root{--budget-over:#c9342b;--budget-missing:#b42318}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--budget-over:#ff7b70;--budget-missing:#ff9b91}}
:root[data-theme=dark]{--budget-over:#ff7b70;--budget-missing:#ff9b91}
.pcard.has-over-budget,.pcard.has-over-budget:hover{border:2px solid var(--budget-over)}
.pcard.has-over-budget:hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--budget-over) 25%,transparent),var(--sh)}
.project-over-note{display:inline-flex;width:fit-content;margin-top:5px;padding:2px 7px;border-radius:6px;background:color-mix(in srgb,var(--budget-over) 10%,var(--card));color:var(--budget-over);font-size:11px;font-weight:800}
.pcard.has-missing-staffing:not(.has-over-budget),.pcard.has-missing-staffing:not(.has-over-budget):hover{border:2px dashed var(--budget-missing)}
.pcard.has-missing-staffing:not(.has-over-budget):hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--budget-missing) 20%,transparent),var(--sh)}
.project-missing-note{display:inline-flex;width:fit-content;margin-top:5px;padding:2px 7px;border-radius:6px;background:color-mix(in srgb,var(--budget-missing) 10%,var(--card));color:var(--budget-missing);font-size:11px;font-weight:800}
.pcard h3{margin:0 0 3px;font-size:15px;font-weight:700}
.prog{height:6px;border-radius:4px;background:var(--soft);overflow:hidden;margin-top:6px}
.prog i{display:block;height:100%;background:var(--green);border-radius:4px}
.prog i.warn{background:#f2a900}
.kv{font-size:11.5px;color:var(--ink2)}.kv b{color:var(--ink);display:block;font-size:15px;font-weight:700}
.dm-card{display:grid;gap:4px;align-content:center}.dm-card>span{display:block;white-space:nowrap}.dm-card>span b{font-size:13px}.dm-card strong{color:#f2a900;font-size:9px}.dm-card .over strong{color:var(--red)}
.pill{font-size:10px;font-weight:800;border-radius:999px;padding:3px 9px;display:inline-block}
.pill.ok{background:var(--greens);color:var(--green)}
.pill.warn{background:#fffbeb;color:#92620a}
.pill.bad{background:var(--reds);color:var(--red)}
.pill.grey{background:var(--soft);color:var(--ink2)}
.pill.lead{background:#fff4d6;color:#8b5a00;border:1px solid #f2d17f;vertical-align:middle}
.project-group-head{display:flex;align-items:center;gap:8px;margin:16px 2px 7px;font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--ink3)}
.project-group-head span{border-radius:999px;background:var(--soft);padding:1px 7px;font-size:10px;letter-spacing:0}
.project-group-head.lead{color:#9a6800}
.project-list-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 6px;padding:10px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh)}.project-search{display:flex;align-items:center;gap:7px;min-width:min(390px,100%);flex:1;border:1px solid var(--line);background:var(--board);border-radius:9px;padding:0 10px}.project-search span{color:var(--ink3);font-size:17px}.project-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);padding:8px 0;font-size:12px}.project-list-tools>small{color:var(--ink3);font-size:10.5px;white-space:nowrap}.project-list-empty{margin-top:12px}.pill.project-state{margin-left:5px;vertical-align:2px}.pill.project-state.aktiv{background:var(--greens);color:var(--green)}.pill.project-state.planlagt{background:#eaf1ff;color:#315f9e}.pill.project-state.fullfort{background:var(--soft);color:var(--ink2)}
.pros-switch{display:inline-flex;gap:3px;padding:3px;background:var(--soft);border:1px solid var(--line);border-radius:10px;margin-bottom:5px}.pros-switch button{border:0;background:transparent;color:var(--ink3);font-size:12.5px;font-weight:800;padding:7px 15px;border-radius:7px;cursor:pointer}.pros-switch button.on{background:var(--card);color:var(--ink);box-shadow:var(--sh)}
.overview-hub-head{display:flex;align-items:center;justify-content:space-between;margin:14px 1px 8px}.overview-hub-head h2{margin:0;font-size:18px}.overview-hub-head p{margin:3px 0 0;color:var(--ink3);font-size:11.5px}.overview-levels{background:var(--card);border:1px solid var(--line);border-radius:12px 12px 0 0;padding:10px 11px 7px}.overview-scope-row{display:flex;align-items:center;gap:8px;margin:0 0 8px;flex-wrap:wrap}.overview-scope{margin:0}.overview-pdf-btn{margin-left:2px;padding:7px 12px}.overview-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.overview-picker{position:relative}.overview-picker summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:var(--board);border-radius:8px;padding:6px 10px;font-size:11.5px;font-weight:700}.overview-picker summary::-webkit-details-marker{display:none}.overview-picker summary span{color:var(--ink3);font-weight:500;margin-left:4px}.overview-picker-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:260px;max-height:340px;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:7px;box-shadow:var(--sh)}.overview-picker-menu section{padding:6px;border-bottom:1px solid var(--soft)}.overview-picker-menu section:last-child{border:0}.overview-picker-menu b,.overview-picker-menu label{display:block;font-size:11px;padding:3px}.overview-picker-menu label{cursor:pointer;color:var(--ink2)}.overview-picker-menu input{accent-color:var(--hivis)}.overview-picker-menu>button{border:0;background:none;color:var(--hivis);font-size:11px;font-weight:800;padding:4px 6px;cursor:pointer}.filter-chips{display:flex;gap:4px;flex-wrap:wrap}.filter-chips button{border:1px solid var(--line);background:var(--board);color:var(--ink3);border-radius:999px;padding:5px 10px;font-size:10.5px;font-weight:700;cursor:pointer}.filter-chips button.on{background:var(--navy);border-color:var(--navy);color:#fff}.overview-levels+.contractor-tabs{margin-top:0;border-radius:0;border-top:0}
.contractor-head{display:flex;align-items:end;justify-content:space-between;margin:14px 1px 0}.contractor-head h2{margin:0;font-size:18px}.contractor-head p{margin:3px 0 0;color:var(--ink3);font-size:11.5px}.contractor-tabs{margin-top:10px;border-top:1px solid var(--line);border-radius:12px 12px 0 0}.contractor-body{background:var(--card);border:1px solid var(--line);border-radius:0 0 13px 13px;padding:13px;box-shadow:var(--sh)}
.contractor-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(370px,1fr));gap:11px}.contractor-card{border:1px solid var(--line);background:var(--board);border-radius:12px;padding:12px}.contractor-card-top{display:flex;align-items:center;gap:10px}.contractor-card-top .avt{background:#7a6248;color:#fff}.contractor-card-top div{min-width:0;flex:1}.contractor-card h3{margin:0;font-size:14px}.contractor-card p{margin:2px 0 0;color:var(--ink3);font-size:10.5px}.contractor-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:11px 0}.contractor-metrics b{background:var(--card);border:1px solid var(--soft);border-radius:8px;padding:7px;text-align:center;font-size:14px}.contractor-metrics small{display:block;color:var(--ink3);font-size:8.5px;font-weight:600;margin-top:2px}.contractor-jobs button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;border-top:1px solid var(--soft);background:none;color:var(--ink);padding:7px 2px;text-align:left;cursor:pointer}.contractor-jobs b,.contractor-jobs small{display:block}.contractor-jobs b{font-size:11.5px}.contractor-jobs small{font-size:9.5px;color:var(--ink3);margin-top:1px}.contractor-jobs i{font-style:normal}.contractor-next{font-size:10px;color:var(--ink3);padding-top:7px}.contractor-next b{color:var(--ink2)}
.contractor-table-scroll{overflow-x:auto}.contractor-table{min-width:1120px}.contractor-table tbody tr{cursor:pointer}.contractor-table td>small{display:block;font-size:9.5px;color:var(--ink3);margin-top:2px}
.contractor-gantt{border:1px solid var(--line);border-radius:11px;overflow:auto}.contractor-gantt-inner{--pgl:230px;position:relative}.contractor-gantt-rows{position:relative}.contractor-gantt-row{display:grid;grid-template-columns:var(--pgl) 1fr;min-height:48px;border-bottom:1px solid var(--soft)}.contractor-gantt-label{display:flex;flex-direction:column;justify-content:center;padding:6px 10px;border-right:1px solid var(--line);background:var(--card);position:sticky;left:0;z-index:5}.contractor-gantt-label b,.contractor-gantt-label small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contractor-gantt-label b{font-size:11px}.contractor-gantt-label small{font-size:9.5px;color:var(--ink3)}.contractor-gantt-track{position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent 27px,var(--soft) 27px,var(--soft) 28px)}.contractor-gantt-bar{position:absolute;top:7px;height:34px;border:0;border-radius:6px;color:#fff;padding:3px 7px;text-align:left;overflow:hidden;cursor:pointer;box-shadow:0 2px 6px rgba(22,34,60,.18)}.contractor-gantt-bar.ok{background:var(--green)}.contractor-gantt-bar.warn{background:#b07d2b}.contractor-gantt-bar.grey{background:#667083}.contractor-gantt-bar b,.contractor-gantt-bar span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contractor-gantt-bar b{font-size:9.5px}.contractor-gantt-bar span{font-size:8px;opacity:.85}.contractor-today{position:absolute;top:0;bottom:0;width:2px;background:var(--hivis);z-index:4;pointer-events:none}
.contractor-gantt-row.portfolio-project-start:not(:first-child){border-top:3px solid color-mix(in srgb,var(--ink3) 45%,var(--line))}
table.t{width:100%;border-collapse:collapse;font-size:12.5px}
table.t th{text-align:left;font-size:10px;letter-spacing:.1em;color:var(--ink3);padding:8px 10px;border-bottom:1px solid var(--line);font-weight:800}
table.t td{padding:9px 10px;border-bottom:1px solid var(--soft)}
table.t tr:hover td{background:var(--board)}
.rowbtn{border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:11px;font-weight:700;padding:4px 10px;border-radius:7px;cursor:pointer}
.rowbtn.d{color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,var(--line))}

/* workspace */
.ws-head{background:var(--card);border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0;padding:14px 17px;box-shadow:var(--sh)}
.crumb{font-size:11.5px;color:var(--ink3);margin-bottom:4px;cursor:pointer;display:inline-block}
.crumb:hover{color:var(--hivis)}
.ws-tabs{display:flex;gap:2px;background:var(--card);border:1px solid var(--line);border-top:0;border-bottom:0;padding:0 10px;overflow-x:auto}
.ws-tabs button{border:0;background:none;font-size:12.5px;font-weight:700;color:var(--ink3);padding:10px 12px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.ws-tabs button.on{color:var(--ink);border-bottom-color:var(--hivis)}
.tabcount{display:inline-grid;place-items:center;min-width:17px;height:17px;border-radius:999px;background:var(--soft);font-size:10px;color:var(--ink2);padding:0 4px}
.ws-body{background:var(--card);border:1px solid var(--line);border-top:1px solid var(--line);border-radius:0 0 14px 14px;padding:15px 17px;box-shadow:var(--sh)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:11px}
.info{background:var(--board);border:1px solid var(--soft);border-radius:11px;padding:11px 13px}
.info .l{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--ink3);margin-bottom:5px}
.info .v{font-size:13.5px;font-weight:600}
.info .v small{display:block;font-size:11.5px;color:var(--ink2);font-weight:400;margin-top:2px}
.info.has-over-budget{border:2px solid var(--budget-over);background:color-mix(in srgb,var(--budget-over) 5%,var(--board))}
.info.has-over-budget .l{color:var(--budget-over)}
.info.has-missing-staffing{border:2px dashed var(--budget-missing);background:color-mix(in srgb,var(--budget-missing) 5%,var(--board))}
.info.has-missing-staffing .l{color:var(--budget-missing)}
.sect{margin-top:15px}
.sect .sh2{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.sect .sh2 h3{margin:0;font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--ink3)}
.doc{display:flex;align-items:center;gap:11px;padding:9px 11px;border:1px solid var(--soft);border-radius:10px;margin-bottom:7px;background:var(--board)}
.doc .ic{width:32px;height:32px;border-radius:8px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:10.5px;font-weight:800}
.msgc{background:var(--board);border:1px solid var(--soft);border-radius:11px;padding:11px 13px;margin-bottom:8px}
.msgc .mh{display:flex;justify-content:space-between;font-size:11px;color:var(--ink3);margin-bottom:4px}
.reply{background:var(--card);border:1px solid var(--soft);border-radius:9px;padding:8px 11px;margin-top:7px;font-size:12.5px}

/* project form */
.project-form-block{border:1px solid var(--line);background:var(--board);border-radius:11px;padding:10px;margin:3px 0 11px}
.project-form-block-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}
.project-form-block-head b{display:block;font-size:10px;letter-spacing:.12em;color:var(--ink2)}
.project-form-block-head span{display:block;font-size:10.5px;color:var(--ink3);margin-top:1px}
.dmform{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:9px;margin-top:7px}
.dmform-top{display:flex;gap:7px;margin-bottom:7px}.dmform-top input{flex:1;border:1px solid var(--line);background:var(--board);color:var(--ink);border-radius:8px;padding:7px 9px;font-size:12.5px}
.dmform-top button{border:0;background:none;color:var(--ink3);font-size:20px;cursor:pointer}
.leadcheck{display:flex;align-items:center;gap:10px;border:1px solid #efd28b;background:#fff9e9;border-radius:10px;padding:9px 11px;margin-bottom:10px;cursor:pointer;color:#6f4a00}
:root[data-theme=dark] .leadcheck{background:#2a2414}.leadcheck input{accent-color:var(--hivis);width:16px;height:16px}.leadcheck b,.leadcheck small{display:block}.leadcheck small{font-size:10.5px;opacity:.7}
.dmchecks{display:flex;gap:6px;flex-wrap:wrap}.dmchecks label{display:flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:5px 9px;font-size:11px!important;color:var(--ink)!important;cursor:pointer}.dmchecks input{width:auto!important;accent-color:var(--hivis)}
.fag-derived{display:grid;grid-template-columns:.7fr 1fr 1.8fr;gap:8px;margin-top:8px}.fag-derived>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px;background:var(--bg);border-radius:8px}.fag-derived span{font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--ink3)}.fag-derived small{color:var(--ink3)}
.fag-derived.compact{grid-template-columns:1fr 1fr}
.fag-new-company{padding:10px 11px 2px;margin:-3px 0 10px;background:var(--bg);border:1px solid var(--line);border-radius:9px}
.fag-plan-box{padding:10px 11px 2px;margin:0 0 10px;background:var(--bg);border:1px solid var(--line);border-radius:9px}
.fag-table-scroll{overflow-x:auto}.fag-table{min-width:1340px}.fag-table td{vertical-align:top}.fag-table td>small{display:block;color:var(--ink3);margin-top:3px}.fag-note{max-width:190px;white-space:normal}.resource-chip{display:block;width:max-content;max-width:180px;padding:3px 7px;margin:0 0 4px;border-radius:999px;background:var(--bg);font-size:11px;font-weight:700}.mini-progress{width:90px;height:4px;margin:5px 0;background:var(--line);border-radius:99px;overflow:hidden}.mini-progress i{display:block;height:100%;background:var(--green)}
.bem-toolbar{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-bottom:0;border-radius:11px 11px 0 0;background:var(--card);padding:9px 12px}.bem-toolbar>div:first-child{min-width:170px}.bem-toolbar b,.bem-toolbar small{display:block}.bem-toolbar b{font-size:12px}.bem-toolbar small{font-size:9.5px;color:var(--ink3);margin-top:2px}.bem-toolbar>.zoom{margin-left:auto}.bem-nav{display:flex;gap:4px}.bem-nav button{border:1px solid var(--line);background:var(--board);color:var(--ink);border-radius:7px;padding:5px 10px;font-size:11px;font-weight:700;cursor:pointer}.bem-scope-note{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-bottom:0;background:var(--board);padding:8px 12px}.bem-scope-note b{font-size:11px}.bem-scope-note span{font-size:10.5px;color:var(--ink3)}.bem-empty{border:1px solid var(--line);border-radius:0;padding:24px}.bem-fag-frame{position:absolute;inset-block:4px;border:1px dashed color-mix(in srgb,var(--ink3) 45%,transparent);border-radius:8px;background:color-mix(in srgb,var(--ink3) 4%,transparent);pointer-events:none;z-index:1}.bem-fag-frame span{position:absolute;right:5px;bottom:2px;color:var(--ink3);font-size:8px;font-weight:700}.bem-missing-day{position:absolute;bottom:1px;height:15px;border-radius:4px;background:color-mix(in srgb,var(--red) 13%,var(--card));border:1px solid color-mix(in srgb,var(--red) 30%,transparent);color:var(--red);z-index:2;pointer-events:none;overflow:hidden}.bem-missing-day span{display:block;padding:1px 4px;font-size:8.5px;font-weight:800;white-space:nowrap}.bem-missing-day.tavla-missing{z-index:1}.bem-forecast{display:block;font-size:9px;font-weight:700;margin-top:2px}.bem-forecast.ok{color:var(--green)}.bem-forecast.bad{color:var(--red)}#projboard .bar{z-index:3}
.bar-excess-day{position:absolute;top:0;bottom:0;border:2px solid #f2a900;background:repeating-linear-gradient(135deg,rgba(255,180,0,.08) 0 5px,rgba(255,180,0,.38) 5px 8px);border-radius:7px;pointer-events:none;z-index:2}
.equipment-missing-day{position:absolute;top:3px;height:20px;border:1px solid color-mix(in srgb,var(--red) 42%,transparent);border-radius:6px;background:var(--reds);color:var(--red);font-size:9px;font-weight:800;z-index:9;display:grid;place-items:center;white-space:nowrap;overflow:hidden;padding:0 4px;cursor:pointer}.equipment-missing-day.fag-view,.equipment-missing-day.project{pointer-events:none}.pg-missing.equipment{background:color-mix(in srgb,var(--utstyr) 16%,var(--card));color:var(--utstyr)}

/* project Gantt */
.project-gantt-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:9px}.project-gantt-toolbar>span:first-child b,.project-gantt-toolbar>span:first-child small{display:block}.project-gantt-toolbar small{font-size:10.5px;color:var(--ink3);font-weight:400}.cascade{border:1px solid var(--line);border-radius:7px;padding:4px 9px;font-size:11px;font-weight:700;cursor:pointer}.cascade input{accent-color:var(--hivis);vertical-align:-2px}
.project-gantt-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:11px;align-items:start}.gantt-side{display:flex;flex-direction:column;gap:9px;position:sticky;top:16px}.gantt-side section{border:1px solid var(--line);border-radius:11px;background:var(--board);padding:10px}.gantt-side h3{margin:0 0 8px;font-size:9px;letter-spacing:.13em;color:var(--ink3)}.gantt-side section>button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;border:0;border-top:1px solid var(--soft);background:none;color:var(--ink);padding:7px 1px;text-align:left;cursor:pointer}.gantt-side section>button b,.gantt-side section>button small{display:block}.gantt-side section>button b{font-size:10.5px}.gantt-side section>button small,.gantt-side section>button i,.gantt-side p{font-size:9.5px;color:var(--ink3);font-style:normal}.gantt-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.gantt-metrics>b{text-align:center;font-size:17px}.gantt-metrics small{display:block;font-size:8px;color:var(--ink3);font-weight:600}.gantt-metrics .bad{color:var(--red)}.gantt-metrics .ok{color:var(--green)}

/* dated notes */
.note-list{display:flex;flex-direction:column;gap:7px}.note-item{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:10px;width:100%;border:1px solid var(--soft);background:var(--board);color:var(--ink);border-radius:10px;padding:9px 11px;text-align:left;cursor:pointer}.note-item:hover{border-color:var(--hivis)}.note-date{font-size:12px;font-weight:800;color:var(--hivis)}.note-item b,.note-item small{display:block}.note-item b{font-size:12.5px}.note-item small{font-size:10.5px;color:var(--ink3);margin-top:2px}.note-item i{font-size:10.5px;color:var(--ink3);font-style:normal}
@media(max-width:1050px){.project-gantt-layout{grid-template-columns:1fr}.gantt-side{position:static;display:grid;grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.pcard{grid-template-columns:1fr}.contractor-cards{grid-template-columns:1fr}.contractor-metrics{grid-template-columns:repeat(2,1fr)}.gantt-side{grid-template-columns:1fr}.g2,.g3{grid-template-columns:1fr}.note-item{grid-template-columns:60px 1fr}.note-item i{display:none}}

@media print{
  :root,:root[data-theme=dark]{--bg:#fff;--ground:#fff;--board:#f8fafc;--card:#fff;--ink:#172033;--ink2:#526078;--ink3:#8793a8;--line:#cbd5e1;--soft:#e8edf3;--reds:#fee2e2;--red:#c9342b;--green:#21884a;--hivis:#ffb400;color-scheme:light}
  *,*:before,*:after{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  html,body,body[data-session=app],body[data-session=app] .stage,body[data-session=app] .view,body[data-session=app] .ws-body{background:#fff!important;color:#172033!important}
  body[data-session=app] #chrome-app,.ws-head,.ws-tabs,.project-gantt-toolbar,.gantt-side,.toast,.ov,.searchov,.aiov{display:none!important}
  body[data-session=app] .stage{margin:0;padding:0}.ws-body{border:0;box-shadow:none;padding:0}.project-gantt-layout{display:block}.project-gantt{overflow:visible;border:0;background:#fff!important}.pg-inner{transform-origin:top left;background:#fff!important}
  .pg-head,.pg-corner,.pg-calendar,.pg-weeks,.pg-days,.pg-day{background:#f8fafc!important;color:#526078!important}.pg-day.weekend{background:#e9edf2!important;color:#8793a8!important}.pg-day.holiday{background:#fee2e2!important;color:#c9342b!important}.pg-day.today{background:#fff0b8!important;color:#8a5700!important}
  .pg-row,.pg-body,.pg-label{background:#fff!important;color:#172033!important}.pg-track{background-color:#fff!important;background-image:repeating-linear-gradient(to right,transparent 0,transparent 29px,#e8edf3 29px,#e8edf3 30px)!important}.pg-bg.weekend{background:#e9edf2!important}.pg-bg.holiday{background:#fde8e8!important}
}

/* modale */
.ov{position:fixed;inset:0;background:rgba(10,16,26,.5);z-index:70;display:none;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow:auto}
.ov.on{display:flex}
.sheet{background:var(--card);border-radius:16px;width:560px;max-width:100%;box-shadow:0 24px 70px rgba(0,0,0,.4)}
.sheet.wide{width:760px}
.sh{padding:16px 21px 12px;border-bottom:1px solid var(--line);position:relative}
.sh .kk{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--hivis)}
.sh h2{margin:2px 0;font-family:var(--disp);font-size:22px;font-weight:700}
.sh .s{font-size:12.5px;color:var(--ink2)}
.x{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:none;color:var(--ink2);cursor:pointer;font-size:15px}
.note{margin:12px 21px 0;border-radius:10px;padding:9px 12px;font-size:12px;font-weight:600;background:var(--reds);color:var(--red)}
.note.ok{background:var(--greens);color:var(--green)}
.note.warn{background:#fffbeb;color:#92620a}
section.f{padding:13px 21px 2px}
section.f h3{margin:0 0 8px;font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--ink3)}
.fl{margin-bottom:10px}
.fl label{display:block;font-size:11px;color:var(--ink2);margin-bottom:4px;font-weight:600}
.fl input,.fl select,.fl textarea{width:100%;border:1px solid var(--line);background:var(--board);color:var(--ink);border-radius:9px;padding:8px 10px;font-size:13px}
.fl input:focus-visible,.fl select:focus-visible,.fl textarea:focus-visible{outline:2px solid var(--hivis);outline-offset:1px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.hint{font-size:11px;color:var(--ink3);margin-top:-4px;margin-bottom:9px}
.hint b.ok{color:var(--green)}.hint b.bad{color:var(--red)}
.tgl{display:flex;align-items:center;gap:9px;margin-bottom:10px;font-size:12.5px;color:var(--ink2)}
.who{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.who .w{display:flex;align-items:center;gap:10px}
.who b{display:block;font-size:13.5px}.who span{font-size:11.5px;color:var(--ink2)}
.coll{border-top:1px solid var(--soft);margin:10px 21px 0;padding:10px 0;display:flex;justify-content:space-between;font-size:12.5px;font-weight:600;color:var(--ink2);cursor:pointer}
.collbody{padding:0 21px 10px;font-size:12.5px;color:var(--ink2);display:none}
.collbody.on{display:block}
.sf{display:flex;align-items:center;gap:9px;padding:13px 21px 17px}
.sf .dg{color:var(--red);border:0;background:none;font-size:12px;font-weight:700;cursor:pointer}
.sf .ca{border:1px solid var(--line);background:none;color:var(--ink);font-size:12.5px;font-weight:700;padding:8px 16px;border-radius:9px;cursor:pointer}
.sf .sv{border:0;background:var(--ink);color:var(--card);font-size:12.5px;font-weight:700;padding:8px 20px;border-radius:9px;cursor:pointer}
.sf .sv:disabled{opacity:.45;cursor:not-allowed}
.overtime-policy-save{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin:4px 0 18px;padding:10px 20px;border:1px solid var(--ui-accent-border);border-radius:9px;background:var(--hivis);color:#182136;font:inherit;font-size:13px;font-weight:800;box-shadow:0 2px 5px #18213624;cursor:pointer}.overtime-policy-save:hover{filter:brightness(.94);box-shadow:0 3px 8px #18213633}.overtime-policy-save:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.overtime-policy-save:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.resource-account-choice{display:flex;align-items:flex-start;gap:10px;margin:4px 0 0;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--board);cursor:pointer}.resource-account-choice input{margin-top:2px;accent-color:var(--ui-accent-border)}.resource-account-choice b,.resource-account-choice small{display:block}.resource-account-choice b{font-size:12.5px}.resource-account-choice small{margin-top:3px;font-size:11px;line-height:1.4;color:var(--ink2)}.resource-account-choice[hidden]{display:none}
.report-sheet{overflow:hidden}.report-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-bottom:15px!important}.report-type-grid>button{min-height:104px;border:1px solid var(--line);border-radius:11px;background:var(--board);color:var(--ink);padding:15px;text-align:left;cursor:pointer}.report-type-grid>button:hover{border-color:var(--hivis);box-shadow:inset 0 0 0 1px var(--hivis)}.report-type-grid b,.report-type-grid span{display:block}.report-type-grid b{font-size:13px}.report-type-grid span{margin-top:5px;color:var(--ink3);font-size:10.5px;line-height:1.4}.report-picker{padding-bottom:6px!important}.report-select-all,.report-item-list>label{display:flex;align-items:center;gap:10px;cursor:pointer}.report-select-all{padding:8px 6px;border-bottom:1px solid var(--line)}.report-select-all span{margin-left:auto;font-size:10px;color:var(--ink3)}.report-item-list{max-height:390px;overflow:auto}.report-item-list>label{padding:9px 6px;border-bottom:1px solid var(--soft)}.report-item-list>label:hover{background:var(--board)}.report-item-list>label>span{flex:1;min-width:0}.report-item-list b,.report-item-list small{display:block}.report-item-list b{font-size:12px}.report-item-list small{margin-top:2px;color:var(--ink3);font-size:10px}.report-item-list em{font-style:normal}.report-item-list .lev-diamond{width:9px;height:9px;transform:rotate(45deg);flex:none}.report-item-list input,.report-select-all input{accent-color:var(--hivis)}
@media(max-width:700px){.report-type-grid{grid-template-columns:1fr}.report-type-grid>button{min-height:72px}}
.puls-ai-problem{margin:14px 21px 0;padding:10px 12px;border-radius:10px;background:var(--reds);color:var(--red);display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline}.puls-ai-problem>span,.puls-ai-kicker,.puls-ai-result>span{font-size:9px;font-weight:800;letter-spacing:.12em}.puls-ai-problem>b{font-size:13px}.puls-ai-problem>small{grid-column:2;font-size:10.5px;opacity:.8}.puls-ai-choice{margin:12px 21px 0;border:1px solid color-mix(in srgb,var(--green) 32%,var(--line));border-radius:12px;padding:12px;background:color-mix(in srgb,var(--green) 4%,var(--card))}.puls-ai-kicker{color:var(--green);margin-bottom:4px}.puls-ai-choice h3{font-family:var(--disp);font-size:18px;margin:0 0 9px}.puls-ai-plan-row{display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:9px;padding:7px 0;border-top:1px solid var(--soft)}.puls-ai-plan-row b,.puls-ai-plan-row small{display:block}.puls-ai-plan-row b{font-size:12px}.puls-ai-plan-row small{font-size:10px;color:var(--ink3);margin-top:1px}.puls-ai-plan-row strong{font-size:12px}.puls-ai-checks{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.puls-ai-checks span{font-size:9.5px;font-weight:700;color:var(--green);background:var(--greens);border-radius:999px;padding:3px 7px}.puls-ai-result{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;align-items:baseline;margin-top:10px;padding-top:9px;border-top:1px solid var(--soft)}.puls-ai-result>span{color:var(--ink3)}.puls-ai-result>b{font-size:12px}.puls-ai-result>small{grid-column:2;font-size:10px;color:var(--ink3)}.puls-ai-alts{display:none;margin:12px 21px 0}.puls-ai-alts.on{display:block}.puls-ai-alts .puls-ai-kicker{color:var(--ink3)}.puls-ai-alts button{width:100%;display:flex;align-items:center;text-align:left;gap:10px;border:1px solid var(--line);background:var(--board);color:var(--ink);padding:8px 10px;border-radius:9px;margin-top:6px;cursor:pointer}.puls-ai-alts button>span{flex:1}.puls-ai-alts button b,.puls-ai-alts button small{display:block}.puls-ai-alts button b{font-size:11.5px}.puls-ai-alts button small{font-size:10px;color:var(--ink3);margin-top:2px}.puls-ai-alts button strong{font-size:10.5px;color:var(--hivis)}
.bem-remove-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 21px;padding:10px 0;border-top:1px solid var(--line)}.bem-remove-actions>span{width:100%;font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--ink3)}.bem-remove-actions button{border:1px solid color-mix(in srgb,var(--red) 25%,var(--line));background:var(--reds);color:var(--red);border-radius:7px;padding:6px 9px;font-size:10.5px;font-weight:700;cursor:pointer}

/* godzinowy plan dnia — 15 minut */
#board.hourly-mode{overflow:auto;max-height:calc(100vh - 168px);background:var(--card);overscroll-behavior:contain}
.hourly-board{width:max-content;background:var(--card)}
.hourly-v-head{display:grid;position:sticky;top:0;z-index:30;height:70px;border-bottom:1px solid var(--line);background:var(--board)}
.hourly-v-corner{position:sticky;left:0;z-index:4;display:flex;flex-direction:column;justify-content:center;padding:7px 10px;border-right:1px solid var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--hivis) 10%,var(--board)),var(--board))}.hourly-date-dow{font-size:8px;font-weight:900;letter-spacing:.15em;color:#9a6800}.hourly-date-main{display:flex;align-items:baseline;gap:5px;margin-top:-1px}.hourly-date-main strong{font-family:var(--disp);font-size:27px;line-height:30px;color:var(--ink)}.hourly-date-main i{font-size:9px;font-weight:900;letter-spacing:.1em;color:var(--ink2);font-style:normal;text-transform:uppercase}
.hourly-v-resource{display:flex;align-items:center;gap:8px;min-width:0;border:0;border-right:1px solid var(--line);background:var(--board);color:var(--ink);padding:8px 9px;text-align:left;cursor:pointer}.hourly-v-resource:hover{background:color-mix(in srgb,var(--hivis) 7%,var(--board))}.hourly-v-resource>span:last-child{min-width:0}.hourly-v-resource b,.hourly-v-resource small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hourly-v-resource b{font-size:10.5px}.hourly-v-resource small{font-size:8.5px;color:var(--ink3);margin-top:2px}
.filter-sep{width:1px;height:22px;background:var(--line);margin:0 3px}.hourly-resource-picker{z-index:55}.hourly-resource-picker summary{min-width:164px;padding:5px 9px}.hourly-resource-picker .overview-picker-menu{min-width:300px;left:auto;right:0;z-index:55}.hourly-picker-search{display:flex;align-items:center;gap:7px;margin:1px 2px 7px;border:1px solid var(--line);border-radius:8px;background:var(--board);padding:0 8px}.hourly-picker-search span{color:var(--ink3);font-size:15px}.hourly-picker-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);padding:7px 0;font-size:11px}.hourly-picker-presets{display:flex;gap:5px;padding:7px 6px;border-bottom:1px solid var(--soft)}.hourly-picker-presets button{border:1px solid var(--line);border-radius:999px;background:var(--board);color:var(--ink2);padding:4px 8px;font-size:9.5px;font-weight:800;cursor:pointer}.hourly-resource-picker section label{display:grid;grid-template-columns:18px 30px 1fr;align-items:center;gap:7px;padding:6px 4px!important}.hourly-resource-picker section label[hidden]{display:none}.hourly-resource-picker section label .avt{width:28px;height:28px;font-size:9px}.hourly-resource-picker section label b,.hourly-resource-picker section label small{display:block}.hourly-resource-picker section label b{font-size:10.5px}.hourly-resource-picker section label small{font-size:8.5px;color:var(--ink3)}.hourly-empty{display:flex;align-items:center;gap:10px;min-height:150px;padding:24px;color:var(--ink2)}.hourly-empty b,.hourly-empty span{display:block}.hourly-empty b{color:var(--ink)}.hourly-empty span{font-size:10.5px;color:var(--ink3)}
.hourly-v-body{display:grid;position:relative}.hourly-time-axis{position:sticky;left:0;z-index:20;height:100%;border-right:1px solid var(--line);background:var(--board)}.hourly-time-axis span{position:absolute;right:10px;transform:translateY(-50%);font-size:9px;font-weight:800;color:var(--ink3)}.hourly-time-axis span:first-child{transform:none}.hourly-time-axis span:last-child{transform:translateY(-100%)}
.hourly-v-grid{position:relative;display:flex;background:repeating-linear-gradient(to bottom,transparent 0,transparent 15px,var(--soft) 15px,var(--soft) 16px)}.hourly-v-grid:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(to bottom,transparent 0,transparent 63px,color-mix(in srgb,var(--ink3) 25%,transparent) 63px,color-mix(in srgb,var(--ink3) 25%,transparent) 64px)}
.hourly-resource-column{position:relative;flex:none;border-right:1px solid var(--line);cursor:pointer}.hourly-resource-column:hover{background-color:color-mix(in srgb,var(--hivis) 2.5%,transparent)}.hourly-resource-column.hour-drop-target{box-shadow:inset 0 0 0 3px var(--green);background-color:color-mix(in srgb,var(--green) 7%,transparent)}.hourly-resource-column.hour-drop-invalid{box-shadow:inset 0 0 0 3px var(--red);background-color:color-mix(in srgb,var(--red) 7%,transparent)}
.hour-block{position:absolute;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;border:0;border-radius:6px;color:#fff;padding:9px 7px 5px;text-align:left;overflow:hidden;box-shadow:0 1px 5px rgba(15,23,42,.22);cursor:grab;z-index:4;touch-action:none;user-select:none}.hour-block.dragging{cursor:grabbing;z-index:25;opacity:.88;box-shadow:0 6px 18px rgba(15,23,42,.38)}.hour-block.invalid{outline:3px solid var(--red);filter:saturate(.55)}
.hour-block b,.hour-block span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hour-block b{font-size:9px;line-height:12px}.hour-block span{font-size:8px;line-height:11px;opacity:.86}.hour-block.travel{background:var(--ink2);background-image:repeating-linear-gradient(135deg,transparent 0,transparent 6px,rgba(255,255,255,.15) 6px,rgba(255,255,255,.15) 9px)}.hour-block.inferred{border:2px dashed rgba(255,255,255,.9);opacity:.84}.hour-block.conflict{outline:2px solid var(--red);outline-offset:1px}
.hour-resize{position:absolute;left:0;right:0;height:8px;z-index:6;cursor:ns-resize;background:rgba(15,23,42,.2);opacity:.45}.hour-resize:hover{opacity:.95}.hour-resize.top{top:0}.hour-resize.bottom{bottom:0}
.hour-conflict{position:sticky;top:6px;left:6px;display:inline-flex;z-index:12;margin:6px;background:var(--red);color:#fff;border-radius:999px;padding:2px 7px;font-size:8px;font-weight:800}.hourly-resource-column.unavailable{background-color:color-mix(in srgb,var(--soft) 55%,var(--card));background-image:repeating-linear-gradient(135deg,transparent 0,transparent 8px,color-mix(in srgb,var(--ink3) 9%,transparent) 8px,color-mix(in srgb,var(--ink3) 9%,transparent) 11px)}.hour-unavailable{position:sticky;top:10px;display:flex;justify-content:center;z-index:3;margin:10px 7px 0;border-radius:999px;background:color-mix(in srgb,var(--ink3) 12%,var(--card));color:var(--ink3);padding:4px 7px;font-size:8px;font-weight:900;letter-spacing:.06em;pointer-events:none}.hourly-now-line{position:absolute;left:0;right:0;height:2px;background:var(--hivis);z-index:18;pointer-events:none}.hourly-now-line:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--hivis)}.hourly-now-line span{position:absolute;left:5px;top:-9px;border-radius:4px;background:var(--hivis);color:var(--navy);padding:1px 4px;font-size:7px;font-weight:900}
.hour-editor-track:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to right,transparent 0,transparent 79px,color-mix(in srgb,var(--ink3) 25%,transparent) 79px,color-mix(in srgb,var(--ink3) 25%,transparent) 80px)}

.sheet.hour-plan-sheet{width:940px}.hour-plan-content{overflow:hidden}.hour-editor-scroll{overflow-x:auto;padding:5px 0 12px}.hour-editor-scale{position:relative;height:70px;padding-top:22px}.hour-editor-scale>span{position:absolute;top:0;transform:translateX(-50%);font-size:9px;font-weight:800;color:var(--ink3)}
.hour-editor-track{position:absolute;left:0;right:0;top:22px;height:43px;border:1px solid var(--line);border-radius:8px;background:repeating-linear-gradient(to right,transparent 0,transparent 11px,var(--soft) 11px,var(--soft) 12px);overflow:hidden}
.hour-editor-block{position:absolute;top:7px;height:28px;border-radius:5px;color:#fff;padding:6px 8px;font-size:9px;font-weight:800;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:2}.hour-editor-block.travel{background:var(--ink2);background-image:repeating-linear-gradient(135deg,transparent 0,transparent 6px,rgba(255,255,255,.15) 6px,rgba(255,255,255,.15) 9px)}
.hour-plan-list{border-top:1px solid var(--line);margin-top:2px}.hour-plan-row{display:grid;grid-template-columns:54px minmax(210px,1fr) 92px 92px 50px 28px;gap:7px;align-items:end;padding:8px 0;border-bottom:1px solid var(--soft)}
.hour-plan-kind{align-self:center;font-size:8.5px;font-weight:900;letter-spacing:.08em;color:var(--ink3)}.hour-plan-row select,.hour-plan-row input{width:100%;border:1px solid var(--line);border-radius:7px;background:var(--board);color:var(--ink);padding:6px 7px;font-size:11px}.hour-plan-row label{font-size:8.5px;font-weight:800;color:var(--ink3)}.hour-plan-row label input{display:block;margin-top:3px}.hour-plan-row>b{align-self:center;font-size:10.5px}.hour-plan-row>button{align-self:center;border:0;background:none;color:var(--red);font-size:19px;cursor:pointer}
.hour-plan-add{display:flex;align-items:center;gap:7px;padding-top:10px}.hour-plan-add span{margin-left:auto;font-size:9.5px;color:var(--ink3)}
@media(max-width:760px){.hour-plan-row{grid-template-columns:48px 1fr 84px 84px}.hour-plan-row>b,.hour-plan-row>button{justify-self:end}.sheet.hour-plan-sheet{width:100%}}

/* toast + undo */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(100px);background:var(--navy);color:#fff;border-radius:12px;padding:11px 16px;display:flex;align-items:center;gap:14px;font-size:13px;box-shadow:0 12px 40px rgba(0,0,0,.4);z-index:90;transition:transform .28s}
.toast.on{transform:translateX(-50%) translateY(0)}
.toast button{border:0;background:var(--hivis);color:var(--navy);font-size:12px;font-weight:800;padding:6px 13px;border-radius:8px;cursor:pointer}

/* søk */
.searchov{position:fixed;inset:0;background:rgba(10,16,26,.45);z-index:80;display:none;justify-content:center;padding-top:12vh}
.searchov.on{display:flex}
.searchbox{background:var(--card);border-radius:14px;width:560px;max-width:92%;box-shadow:0 24px 70px rgba(0,0,0,.4);overflow:hidden;height:fit-content}
.searchbox input{width:100%;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);padding:15px 18px;font-size:15px}
.searchbox input:focus{outline:none}
.sres{max-height:340px;overflow-y:auto}
.sres .it{display:flex;align-items:center;gap:11px;padding:10px 18px;cursor:pointer;border-bottom:1px solid var(--soft)}
.sres .it:hover,.sres .it.sel{background:var(--board)}
.sres .it .tp{font-size:9.5px;font-weight:800;letter-spacing:.08em;color:var(--ink3);background:var(--soft);border-radius:5px;padding:2px 6px}
.sres .empty{padding:22px;text-align:center;color:var(--ink3);font-size:12.5px}

/* mobil */
.mob{max-width:400px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--sh)}
.mobtop{background:var(--navy);color:#fff;padding:14px 16px}
.mobtop .h{font-size:17px;font-weight:700}
.mobtop .s{font-size:12px;color:rgba(255,255,255,.65)}
.mobday{padding:12px 16px;border-bottom:1px solid var(--soft)}
.mobcard{border:1px solid var(--line);border-radius:12px;padding:12px;margin:10px 16px;background:var(--board)}
.mobcard h4{margin:0 0 3px;font-size:14px}
.mobcard .meta{font-size:11.5px;color:var(--ink2)}
.mobact{display:flex;gap:6px;margin-top:10px}
.mobact button{flex:1;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:11.5px;font-weight:700;padding:9px 4px;border-radius:9px;cursor:pointer}
.mobact button.ok.on{background:var(--greens);border-color:var(--green);color:var(--green)}
.mobact button.part.on{background:#fffbeb;border-color:#f2a900;color:#92620a}
.mobact button.prob.on{background:var(--reds);border-color:var(--red);color:var(--red)}
.mobnav{display:flex;border-top:1px solid var(--line)}
.mobnav button{flex:1;border:0;background:none;padding:12px 4px;font-size:11px;font-weight:700;color:var(--ink3);cursor:pointer}
.mobnav button.on{color:var(--hivis)}

/* AI */
.aiov{position:fixed;inset:0;background:rgba(10,16,26,.55);z-index:75;display:none;padding:3vh 3vw;overflow:auto}
.aiov.on{display:flex;justify-content:center}
.aish{background:var(--ground);border-radius:18px;width:100%;max-width:1180px;box-shadow:0 30px 90px rgba(0,0,0,.45);height:fit-content}
.aih{display:flex;align-items:center;gap:12px;padding:14px 20px;background:var(--navy);color:#fff;border-radius:18px 18px 0 0}
.aih .k{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);font-size:18px;font-weight:700;letter-spacing:.04em}
.aih .k i{width:9px;height:9px;border-radius:50%;background:var(--hivis)}
.aih .c{font-size:12px;color:rgba(255,255,255,.65)}
.aib{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:12px;padding:13px 18px 18px;align-items:start}
@media(max-width:1000px){.aib{grid-template-columns:1fr}}
.ain{grid-column:1/-1;font-size:12px;color:var(--ink2);background:var(--card);border:1px solid var(--line);border-left:3px solid var(--hivis);border-radius:10px;padding:9px 12px}
.bar.ghost{background:transparent!important;border:2px dashed color-mix(in srgb,var(--ink3) 55%,transparent);color:var(--ink3);box-shadow:none!important;cursor:default}
.bar.prop{outline:2px solid var(--hivis);outline-offset:2px}
.fc{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 12px;box-shadow:var(--sh);margin-bottom:8px}
.fc.rej{opacity:.4}
.fc .nn{font-size:9.5px;font-weight:800;letter-spacing:.1em;color:#92620a;margin-bottom:5px}
.fc h4{margin:0 0 4px;font-size:12.5px}.fc p{margin:0;font-size:11.5px;color:var(--ink2)}
.fc .why{margin-top:6px;font-size:11px;color:var(--ink3)}.fc .why b{color:var(--green)}
.fc button{border:1px solid var(--line);background:none;color:var(--ink);font-size:11px;font-weight:700;padding:5px 11px;border-radius:8px;cursor:pointer;margin-top:8px}
.chat{grid-column:1/-1;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 13px;box-shadow:var(--sh)}
.msgs{display:flex;flex-direction:column;gap:7px;max-height:160px;overflow-y:auto;margin-bottom:9px}
.m{max-width:80%;padding:7px 12px;border-radius:11px;font-size:12.5px;line-height:1.45}
.m.a{background:var(--board);border:1px solid var(--soft);align-self:flex-start}
.m.me{background:var(--navy);color:#fff;align-self:flex-end}
.m.a b{color:var(--green)}
.m .upd{display:inline-block;margin-top:4px;font-size:10.5px;font-weight:800;letter-spacing:.06em;color:#92620a}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.chips button{border:1px solid var(--line);background:var(--board);color:var(--ink2);font-size:11px;font-weight:700;padding:5px 11px;border-radius:999px;cursor:pointer}
.ask{display:flex;gap:8px}
.ask input{flex:1;border:1px solid var(--line);background:var(--board);color:var(--ink);border-radius:9px;padding:8px 12px;font-size:12.5px}
.ask button{border:0;background:var(--navy);color:#fff;font-size:12px;font-weight:800;padding:8px 16px;border-radius:9px;cursor:pointer}
.aif{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.aif .h{font-size:11.5px;color:var(--ink3)}
.aif .ap{border:0;background:var(--navy);color:#fff;font-size:12.5px;font-weight:800;padding:9px 20px;border-radius:9px;cursor:pointer}

/* ── rozdzielone sesje: logowanie i panel platformy ─────────────────────── */
.loginscreen{display:none;min-height:calc(100vh - 0px);align-items:center;justify-content:center;padding:40px 18px}
.loginscreen.on{display:flex}
.loginbox{width:460px;max-width:100%;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--sh)}
.lbrand{display:flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:700;font-size:22px;letter-spacing:.06em;margin-bottom:6px}
.lsub{margin:0 0 18px;font-size:12.5px;color:var(--ink2);line-height:1.5}
.lcard{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:var(--board);border:1px solid var(--line);
  border-radius:13px;padding:13px 15px;margin-bottom:9px;cursor:pointer;color:var(--ink)}
.lcard:hover{border-color:var(--hivis)}
.lcard .li{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;font-size:12.5px;font-weight:800;flex:none}
.lcard b{display:block;font-size:13.5px}
.lcard small{display:block;font-size:11.5px;color:var(--ink2);margin-top:1px}
.lnote{margin:14px 0 0;font-size:11px;color:var(--ink3);line-height:1.5}
.top.platform{background:#2a1f04;border-bottom:2px solid var(--hivis)}
.top.platform .orgname{border-left:0;color:var(--hivis);font-weight:800;letter-spacing:.06em}

/* Register resource type selection */
.register-resource-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.register-resource-filters button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:9px 14px;background:var(--board);color:var(--ink2);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer}.register-resource-filters button span{font-size:11px;opacity:.75}.register-resource-filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--board)}.register-resource-filters button:focus-visible{outline:2px solid #2879d0;outline-offset:2px}

/* Shared Fag/Gantt row ordering. */
.fag-order-hint{margin:0 18px 12px}.fag-name-order{display:flex;align-items:flex-start;gap:8px}.fag-name-order small{display:block;color:var(--ink3);margin-top:3px}.fag-order-handle{flex:none;border:0;background:transparent;color:var(--ink3);font-size:20px;line-height:1;cursor:grab;padding:2px 4px}.fag-order-handle:active{cursor:grabbing}.fag-order-handle:disabled{cursor:default;opacity:.35}.fag-table tr.fag-order-target>td{box-shadow:inset 0 3px 0 var(--green)}.pg-row.fag-order-target{box-shadow:inset 0 3px 0 var(--green)}

/* Compact screen overview; standalone PDF layouts keep their own sizing. */
.overview-gantt-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:0 0 10px;font-size:11px;color:var(--ink2)}
.overview-gantt-toolbar .cascade{margin:0;white-space:nowrap}
.overview-gantt-toolbar small{font-size:10px;line-height:1.4}
.overview-compact .contractor-gantt-bar.ov-gantt-editable{cursor:grab;touch-action:none;user-select:none;padding-right:14px}
.overview-compact .contractor-gantt-bar.ov-gantt-editable:active{cursor:grabbing}
.overview-compact .ov-gantt-resize{position:absolute;right:0;top:0;width:10px;height:100%;background:rgba(22,34,60,.4);cursor:ew-resize;touch-action:none;z-index:2}
.mobile-project-workspace .overview-gantt-toolbar .cascade{min-height:40px}
.mobile-project-workspace .ov-gantt-resize{width:14px}
@media screen {
.overview-compact .contractor-gantt-row{min-height:30px}
.overview-compact .contractor-gantt-label{padding:2px 8px;line-height:12px}
.overview-compact .contractor-gantt-label b{font-size:10px}
.overview-compact .contractor-gantt-label small{font-size:9px}
.overview-compact .contractor-gantt-bar{top:3px;height:24px;padding:1px 5px;border-radius:4px;line-height:10px;box-shadow:none}
.overview-compact .contractor-gantt-bar b{font-size:9.5px;line-height:11px}
.overview-compact .contractor-gantt-bar span{font-size:8px;line-height:10px}
.overview-compact .ov-project-tables{gap:8px}
.overview-compact .ov-project-card + .ov-project-card{border-top:3px solid #b5beca}
.overview-compact .ov-project-heading{padding:6px 9px;gap:8px}
.overview-compact .ov-project-heading b{font-size:12px}
.overview-compact .ov-project-heading small{font-size:10px;margin-top:1px}
.overview-compact .ov-project-status{font-size:10px;padding:1px 7px}
.overview-compact .ov-table{font-size:11px}
.overview-compact .ov-table th{padding:4px 7px;font-size:10px}
.overview-compact .ov-table td{padding:4px 7px;line-height:15px}
.overview-compact .ov-cell-text{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.overview-compact .ov-progress span{font-size:10px}
}
.overview-project-picker>.overview-picker-menu{width:360px;max-width:calc(100vw - 40px);max-height:420px;padding:0}
.overview-picker-actions{display:flex;gap:6px;position:sticky;top:0;z-index:2;background:var(--card);padding:8px;border-bottom:1px solid var(--line)}
.overview-picker-actions button{font-size:11px;padding:5px 8px;border:1px solid var(--line);border-radius:5px;background:var(--soft);color:var(--ink);cursor:pointer}
.overview-project-group{border-bottom:1px solid var(--line)}
.overview-project-picker .overview-project-group>summary{display:flex;align-items:center;gap:7px;padding:7px 9px;border:0;border-radius:0;min-height:32px;background:var(--card);list-style:none}
.overview-project-group>summary::-webkit-details-marker{display:none}
.overview-project-group>summary::before{content:'▸';width:10px;flex:none;color:var(--ink3)}
.overview-project-group[open]>summary::before{content:'▾'}
.overview-project-group>summary input{margin:0;flex:none;cursor:pointer}
.overview-project-group>summary b{flex:1;min-width:0;padding:0;font-size:11px;white-space:normal}
.overview-project-group>summary span{flex:none;font-size:10px;color:var(--ink3)}
.overview-project-fags{padding:2px 10px 7px 27px}
.overview-project-fags label{cursor:pointer}

.project-export-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}
.project-export-toolbar>:last-child{justify-self:end}.project-export-toolbar .project-export{justify-self:center;white-space:nowrap}
@media(max-width:760px){.project-export-toolbar{grid-template-columns:1fr!important}.project-export-toolbar>*{justify-self:start!important}}
@media screen{.contractor-gantt-label b,.contractor-gantt-label small{white-space:normal;overflow:visible;overflow-wrap:anywhere}}
.access-project-list,.sharing-list{max-height:55vh;overflow:auto}.access-project-list label{display:flex;gap:8px;padding:7px 0}.access-project-list input{width:auto}
.sharing-section{border:1px solid var(--line);border-radius:10px;padding:16px;margin:16px 0}.sharing-section>summary{cursor:pointer;font-weight:700}
.sharing-row{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.sharing-row small{display:block;color:var(--ink3)}
@media(max-width:760px){.sharing-row{grid-template-columns:1fr}}

/* Presentation usability: readable task details and compact filters. */
.ux-filters{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 16px}.ux-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink2)}.ux-filters input,.ux-filters select{min-height:36px;max-width:100%;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink);padding:6px 9px}.ux-table-scroll{overflow-x:auto}.hour-plan-row textarea{width:100%;min-width:160px;resize:vertical}.hour-plan-row label{white-space:normal}.project-state.passert{color:var(--red);background:var(--reds)}
.hour-block b{font-size:11px}.hour-block span{font-size:10px}.pg-bar-pct{font-size:10px}.ux-filters~.t{min-width:650px}
@media(max-width:700px){.top{height:auto;min-height:52px;flex-wrap:wrap;padding-block:8px}.top .modes{order:3;flex-basis:100%;flex-wrap:wrap;overflow:visible}.top .modes button{min-height:34px}.ux-filters label{flex:1;min-width:140px}.ux-filters~.t{min-width:0}.hour-plan-row{display:flex;flex-wrap:wrap}.hour-plan-row>div{flex-basis:100%}}

#files-page .file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}#files-page .hub-tools{display:flex;flex-wrap:wrap;gap:10px}#files-page .hub-tools select{max-width:100%}.hour-plan-row label{font-size:11px}.hour-editor-block{font-size:11px}

/* Independent audit: distinct reservation lanes and readable secondary text. */
.week-smalljob{position:absolute;height:31px;z-index:3;overflow:hidden;text-align:left;border:1px solid #b45309;border-radius:5px;background:#fef3c7;color:#78350f;padding:2px 5px;cursor:pointer;font-size:10px}
.week-smalljob b,.week-smalljob small,.t td>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t td>small{white-space:normal;margin-top:3px;color:var(--muted)}
@media(max-width:600px){.tright{flex-wrap:wrap;gap:4px;max-width:100%}.top{height:auto;min-height:56px;flex-wrap:wrap}}

/* Module boundaries must override component display rules. */
[hidden]{display:none!important}.module-status{padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--board);font-size:12px}

body[data-bemanning="false"] [data-bem-only],body[data-bemanning="false"] #ff-bem-box{display:none!important}

.project-primary-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:190px}.project-primary-actions>.btn,.project-primary-actions .followup-summary>.btn{width:100%}.followup-summary{display:flex;flex-direction:column;align-items:stretch;gap:4px;color:var(--muted)}.followup-summary:empty{display:none}.followup-summary span{font-size:10.5px;line-height:1.3;text-align:center;max-width:220px}.followup-event{border-top:1px solid var(--line,#dce2ec);padding:14px 0}.followup-event p{overflow-wrap:anywhere}
.followup-history{margin-top:16px;border-top:1px solid var(--line,#dce2ec);padding-top:12px}.followup-history>summary{cursor:pointer;font-weight:700}.followup-history-list{max-height:55vh;overflow:auto;margin-top:10px}.followup-unavailable{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line,#dce2ec);border-radius:10px}.followup-unavailable small{display:block;margin-top:3px;color:var(--muted)}

.followup-recipients{border:1px solid var(--line);border-radius:9px;padding:12px;margin:12px 0}.followup-recipients legend{font-weight:700;padding:0 6px}.followup-recipients label{display:block;padding:7px 0;overflow-wrap:anywhere}.followup-recipients input[type=checkbox]{width:auto;margin-right:7px}.followup-recipients .btn{padding:6px 10px;font-size:11px}

#followup-settings{display:grid;gap:14px;margin:18px 0 24px}#followup-settings label{display:block;line-height:1.5}#followup-settings select,#followup-settings input[type=number]{display:block;width:100%;min-height:38px;margin-top:5px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink);font:inherit}#followup-settings input[type=checkbox]{margin-right:7px}#followup-settings .g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#followup-settings p{margin:0}#followup-settings>.btn{justify-self:start}@media(max-width:480px){#followup-settings .g2{grid-template-columns:1fr}}

.date-notice-dialog{width:min(620px,calc(100vw - 32px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:24px;color:var(--ink);background:var(--card);box-shadow:0 20px 80px #0004}.date-notice-dialog::backdrop{background:#10182780}.date-notice-dialog h2{margin-top:0}.date-notice-rows article{padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.date-notice-rows p{margin:5px 0}.date-notice-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}

.project-change-panel{border:2px solid #d88b12!important;background:#fffaf0!important;box-shadow:0 8px 28px rgba(112,72,8,.12)}.project-change-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}.project-change-heading>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#d88b12;color:#fff;font-size:20px;font-weight:900}.project-change-heading h3,.project-change-heading p{margin:0}.project-change-heading p{color:var(--ink2);margin-top:3px}.project-change-card{border:1px solid #e4c180;border-radius:12px;background:var(--card);padding:16px;margin-top:12px}.project-change-title,.project-change-dates,.project-change-actions{display:flex;gap:14px;align-items:center}.project-change-title{justify-content:space-between;flex-wrap:wrap}.project-change-title small,.project-change-dates small{display:block;font-size:9px;letter-spacing:.09em;color:var(--ink3);margin-bottom:3px}.project-change-dates{margin:14px 0;padding:12px;background:var(--board);border-radius:9px;flex-wrap:wrap}.project-change-dates span{flex:1;min-width:155px}.project-change-dates i{font-size:20px;color:#a2670d}.project-change-reason,.project-change-review{line-height:1.55}.project-change-review{border-left:3px solid #d88b12;padding-left:10px}.project-change-actions{justify-content:flex-end;margin-top:16px}.project-change-actions button{min-height:44px;padding:10px 18px;border-radius:9px;font-weight:800;cursor:pointer}.project-change-reject{border:1px solid #b9c2cf;background:#fff;color:var(--ink)}.project-change-approve{border:1px solid var(--green);background:var(--green);color:#fff}@media(max-width:600px){.project-change-actions{align-items:stretch;flex-direction:column-reverse}.project-change-actions button{width:100%}}

/* Select recipients across all trades without changing follow-up settings. */
.followup-recipient-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.followup-recipient-actions>.btn{min-height:44px;padding:10px 12px;white-space:normal}

/* Oversikt selection dialogs: hold a view-only draft until Vis utvalg. */
@media screen{
 .overview-selection-trigger{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--board);color:var(--ink);font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-align:left}
 .overview-selection-trigger>span{font-size:11px;color:var(--ink2);font-weight:500}.overview-selection-trigger>i{margin-left:auto;font-style:normal}
 #modalov:has(.overview-selection-sheet){z-index:110;align-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:hidden}
 #modal:has(.overview-selection-sheet){width:760px;max-width:100%;min-width:0}
 .sheet.overview-selection-sheet{--card:var(--ui-card);--board:var(--ui-board);--line:var(--ui-line);--ink:var(--ui-ink);--ink2:var(--ui-ink2);--ink3:var(--ui-ink3);display:flex;flex-direction:column;width:100%;max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));background:var(--card);color:var(--ink);color-scheme:var(--ui-color-scheme);border:1px solid var(--line);border-radius:12px;overflow:hidden}
 .overview-selection-sheet>.sh{flex:none;padding:18px 66px 14px 20px;background:var(--board)}.overview-selection-sheet .sh h2{font-size:22px;line-height:1.35;overflow-wrap:anywhere}.overview-selection-sheet .sh .s{margin:6px 0 0;line-height:1.5}
 .overview-selection-sheet .x{width:44px;height:44px;right:10px;top:10px}
 .overview-selection-sheet>section.f{display:flex;flex-direction:column;min-height:0;padding:16px 20px 0;overflow:hidden}
 .overview-selection-search{display:grid;gap:6px;flex:none;font-size:13px;font-weight:700;line-height:1.5}.overview-selection-search>input{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:var(--board);color:var(--ink);font:inherit;font-size:16px;box-sizing:border-box}
 .overview-selection-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;flex:none}.overview-selection-actions>.rowbtn{min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:var(--board);font-size:12px;white-space:normal;color:var(--ink)}
 #overview-selection-count{margin-left:auto;font-size:12px;color:var(--ink2)}.overview-selection-hint{font-size:11px;line-height:1.5;margin:8px 0 12px;color:var(--ink2);flex:none}
 .overview-selection-list{overflow-y:auto;min-height:0;overscroll-behavior:contain;border:1px solid var(--line);border-radius:8px;scroll-padding:8px;margin-bottom:14px}
 .overview-selection-list input[type=checkbox]{width:20px;height:20px;flex:none;margin:0;accent-color:var(--ui-accent-border);cursor:pointer}
 .overview-selection-project{border-bottom:1px solid var(--line)}.overview-selection-project:last-child{border-bottom:0}
 .overview-selection-project>summary{display:flex;align-items:center;gap:10px;list-style:none;min-height:54px;padding:8px 12px;background:var(--board);cursor:pointer;line-height:1.5}
 .overview-selection-project>summary::-webkit-details-marker{display:none}.overview-selection-project>summary::before{content:'▸';color:var(--ink2);width:10px;flex:none}.overview-selection-project[open]>summary::before{content:'▾'}
 .overview-selection-project>summary>b{flex:1;min-width:0;font-size:14px;overflow-wrap:anywhere}.overview-selection-project>summary>span{font-size:12px;color:var(--ink2);flex:none}
 .overview-selection-fags{padding:4px 12px 8px 32px}.overview-selection-fags>label,.overview-selection-firm{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 6px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.5;cursor:pointer;overflow-wrap:anywhere}
 .overview-selection-fags>label:last-child,.overview-selection-firm:last-child{border-bottom:0}.overview-selection-firm{padding:12px 16px;font-size:14px}.overview-selection-list p{padding:12px;font-size:13px;color:var(--ink2)}
 .overview-selection-sheet [hidden]{display:none!important}#overview-selection-empty,#overview-selection-warning{flex:none;font-size:13px;margin:0 0 14px;color:var(--ink2)}
 .overview-selection-sheet>.sf{flex:none;border-top:1px solid var(--line);padding:12px 20px;background:var(--board);gap:8px;flex-wrap:wrap}.overview-selection-sheet>.sf>button{min-height:44px;min-width:120px;padding:10px 16px;font-size:13px}.overview-selection-sheet>.sf>.sv{background:var(--hivis);color:var(--ui-accent-ink)}.overview-selection-sheet button:disabled{opacity:.5;cursor:default}
 .overview-selection-sheet :is(input,button,summary):focus-visible{outline:2px solid var(--ui-accent-border);outline-offset:2px}
}
@media screen and (max-width:480px){
 #modalov:has(.overview-selection-sheet){padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
 .sheet.overview-selection-sheet{max-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)))}
 .overview-selection-sheet>.sh{padding:14px 60px 12px 14px}.overview-selection-sheet .sh h2{font-size:20px}.overview-selection-sheet>section.f{padding:12px 12px 0}.overview-selection-sheet>.sf{padding:12px}.overview-selection-sheet>.sf>.sp{display:none}.overview-selection-sheet>.sf>button{flex:1;min-width:0}#overview-selection-count{width:100%;margin-left:0}.overview-selection-project>summary{padding:8px;gap:8px}.overview-selection-fags{padding-left:20px}
}
@media screen and (min-width:600px) and (max-height:500px){
 .overview-selection-sheet>.sh{padding:12px 66px 12px 16px}.overview-selection-sheet .sh h2{font-size:19px}.overview-selection-sheet .sh .s{display:none}
 .overview-selection-sheet>section.f{padding:8px 16px 0}.overview-selection-search{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:12px}.overview-selection-actions{margin:8px 0}.overview-selection-hint{display:none}.overview-selection-list{margin-bottom:8px}.overview-selection-sheet>.sf{padding:8px 16px}
}
.overview-selection-copy{display:grid;gap:3px;min-width:0}.overview-selection-copy>b{font-size:14px;font-weight:650}.overview-selection-copy>small{font-size:12px;line-height:1.5;color:var(--ink2);overflow-wrap:anywhere}
