/* proj-page.css: the Projects page. Rules are the approved board's, with the board's page-local class names kept so the board and the build can be compared line for line. Tokens only, no hex. */

/* ---- components the board uses that projects.html did not define yet (design-system.css originals) ---- */
.ds-tag{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:700;letter-spacing:.3px;padding:3px 11px;border-radius:999px;white-space:nowrap;border:1px solid transparent;}
.ds-tag-kind{background:var(--tag-kind-bg);color:var(--tag-kind-fg);border-color:var(--tag-kind-bd);text-transform:uppercase;letter-spacing:.5px;font-size:12px;}
.ds-status{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;padding:3px 11px;border-radius:999px;border:1px solid transparent;white-space:nowrap;line-height:1.2;}
.ds-status-ok{background:var(--status-ok-bg);color:var(--status-ok-fg);border-color:var(--status-ok-bd);}
.ds-status-alert{background:var(--status-alert-bg);color:var(--status-alert-fg);border-color:var(--status-alert-bd);}
.ds-status-warn{background:var(--status-warn-bg);color:var(--status-warn-fg);border-color:var(--status-warn-bd);}
.ds-status-info{background:var(--status-info-bg);color:var(--status-info-fg);border-color:var(--status-info-bd);}
.btn-icon{width:var(--icon-btn);height:var(--icon-btn);padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--raise-2);border:1px solid var(--border-strong);border-radius:9px;color:var(--accent-green);cursor:pointer;}
.btn-icon:hover{background:var(--raise-3);border-color:var(--accent-green);color:var(--accent-green-bright);}
.btn-icon.sm{width:var(--icon-btn-sm);height:var(--icon-btn-sm);border-radius:8px;}
.btn-icon.sm i{font-size:var(--ico-sm);}
.btn-back{display:inline-flex;align-items:center;gap:6px;}.btn-back i{order:-1;}.tv-back{margin:0 0 14px;}


/* ---- the page ---- */
.pp-main{display:grid;gap:16px;margin-top:24px;}
.pp-main[hidden],.pp-back[hidden],#pp-table[hidden],#pick-cols[hidden]{display:none;}
.pick-bar .f-view{margin-left:auto;}
.pick-bar .pj-combo{margin-left:0;}

/* project dropdown/search (type into the field; a menu of every project, newest first) */
.pj-combo{position:relative;min-width:min(340px,100%);}
.pj-combo .slab-search{width:100%;}
.pj-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;box-sizing:border-box;background:var(--surface-menu);border:1px solid var(--border-strong);border-radius:12px;padding:6px 0;box-shadow:var(--shadow-lg);max-height:min(360px,60vh);overflow-y:auto;display:none;overscroll-behavior:contain;min-width:380px;}
.pj-menu.open{display:block;}
.pj-none{padding:10px 12px;color:var(--text-muted);font-size:14px;}
.pj-opt{padding:10px 16px;font-size:15px;color:var(--text-2);cursor:pointer;display:flex;align-items:center;gap:8px;}
.pj-opt:hover,.pj-opt.active{background:var(--border);color:var(--text-bright);}
.pj-opt-two{display:flex;flex-direction:column;gap:1px;min-width:0;}
.pj-opt-two b{font-weight:700;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pj-opt-two span{font-size:12.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pj-opt .pick-tag{position:static;margin-left:auto;}
.pj-menu::-webkit-scrollbar{width:20px;}.pj-menu::-webkit-scrollbar-track{background:transparent;}
.pj-menu::-webkit-scrollbar-thumb{background:var(--accent-blue);border-radius:999px;border:6px solid transparent;background-clip:padding-box;}
@media (max-width:640px){.pj-menu{min-width:0;}.pick-bar .pj-combo{flex:1 1 100%;}.pick-bar .f-view{margin-left:0;}}

/* project card: the next scheduled thing and the chips, no money */
.dr-next{display:flex;gap:6px;align-items:center;margin-top:6px;font-size:12.5px;color:var(--text-muted);min-width:0;}
.dr-next b{color:var(--text-2);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dr-next span{white-space:nowrap;}
.dr-next i{font-size:var(--ico-sm);color:var(--accent-green);}
.dr-next.inv i{color:var(--text-muted);}
.dr-next.none{color:var(--text-faint);}
.dr-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px;}
.dr-chips .ds-status,.tk-cts .ds-status{font-size:12px;padding:2px 9px;}
button.pick-tile{display:block;width:100%;text-align:left;font:inherit;color:inherit;}

/* section body + shared bits */
.dr-body{padding:4px 14px 12px;}
.dr-gh{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:12px 0 2px;}
.dr-foot{font-size:13px;color:var(--text-faint);padding:10px 14px 12px;border-top:1px solid var(--border);}
.pp-empty{padding:16px 4px;color:var(--text-muted);font-size:15px;}
.pp-err{padding:14px;color:var(--text-muted);font-size:14.5px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.pp-err .mi{color:var(--accent-red);}
.pp-sk{height:18px;margin:14px;border-radius:8px;background:var(--surface-3,var(--raise-2));animation:skPulse 1.3s ease-in-out infinite;}
.tk-sw,.wk-sw{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 14px 0;padding:0 2px;border:1px solid var(--border-strong);border-radius:9px;height:var(--control-h);box-sizing:content-box;}
.tk-sw b{font-size:15px;color:var(--text);text-align:center;flex:1;}
.wk-sw{min-width:240px;margin:0;}.fx-sec-h .dr-legend{margin-right:12px;}
.fx-sec-h{flex-wrap:wrap;}

/* Next 2 Weeks */
.dr-tl{overflow-x:auto;}
.dr-tl-r{display:grid;grid-template-columns:230px repeat(14,minmax(30px,1fr)) 150px;border-bottom:1px solid var(--border);min-height:44px;position:relative;min-width:800px;}
.dr-tl-r:last-child{border-bottom:0;}
.dr-tl-head{min-height:0;position:sticky;top:0;background:var(--surface-head);}
.dr-tl-n{font:inherit;font-size:14px;font-weight:600;color:var(--text);text-align:left;background:none;border:0;border-right:1px solid var(--border);padding:8px 12px;cursor:pointer;display:flex;align-items:center;}
.dr-tl-n:hover{color:var(--accent-green-bright);}
.dr-tl-head .dr-tl-n,.dr-tl-head .dr-tl-l{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);cursor:default;}
.dr-tl-d{border-right:1px solid color-mix(in srgb,var(--border) 60%,transparent);padding:4px 2px;font-size:11px;color:var(--text-faint);text-align:center;position:relative;display:flex;flex-direction:column;gap:3px;align-items:stretch;overflow:visible;}
.dr-tl-head .dr-tl-d{padding:6px 0 4px;justify-content:flex-end;}
.dr-tl-head .dr-tl-d b{display:block;font-size:11px;color:var(--text-2);white-space:nowrap;text-align:left;padding-left:3px;}
.dr-tl-d.we{background:color-mix(in srgb,var(--surface-sunken) 70%,transparent);}
.dr-tl-d.today{background:color-mix(in srgb,var(--action-primary) 18%,transparent);}
.dr-tl-l{padding:6px 8px;display:flex;flex-direction:column;gap:3px;}
.dr-tl-ov{position:absolute;top:0;bottom:0;left:230px;right:150px;pointer-events:none;}
.dr-tl-ov .dr-tl-e{position:absolute;pointer-events:auto;}
.dr-tl-e{display:block;font:inherit;border-radius:999px;font-size:12px;font-weight:700;line-height:1.2;padding:2px 9px;border:1px solid transparent;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;width:max-content;max-width:200px;position:relative;z-index:1;cursor:pointer;}
.dr-tl-e:hover{filter:brightness(1.15);}
.dr-tl-e:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;}
.dr-tl-e.ins{background:var(--status-ok-bg);color:var(--status-ok-fg);border-color:var(--status-ok-bd);}
.dr-tl-e.del{background:var(--status-warn-bg);color:var(--status-warn-fg);border-color:var(--status-warn-bd);}
.dr-tl-e.ord{background:var(--status-alert-bg);color:var(--status-alert-fg);border-color:var(--status-alert-bd);}
.dr-tl-e.crew{background:var(--status-info-bg);color:var(--status-info-fg);border-color:var(--status-info-bd);}
.dr-tl-e.sub{background:color-mix(in srgb,var(--accent-violet) 14%,transparent);color:var(--accent-violet);border-color:color-mix(in srgb,var(--accent-violet) 45%,transparent);}
.dr-tl-e.lat{position:static;white-space:normal;max-width:100%;border-radius:10px;}
.dr-legend{display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--text-muted);flex-wrap:wrap;}
.dr-legend i{display:inline-block;width:10px;height:10px;border-radius:999px;border:1px solid transparent;margin-right:-6px;}
.dr-legend i.ins{background:var(--status-ok-fg);}.dr-legend i.del{background:var(--status-warn-fg);}.dr-legend i.ord{background:var(--status-alert-fg);}.dr-legend i.crew{background:var(--status-info-fg);}.dr-legend i.sub{background:var(--accent-violet);}

/* Where To Put Our Effort */
.ef-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px;}
.ef-lane{display:grid;gap:10px;align-content:start;background:var(--surface-sunken);border:1px solid var(--border);border-radius:12px;padding:12px;}
.ef-lh{display:flex;align-items:center;gap:8px;}
.ef-lsub{font-size:13px;color:var(--text-muted);margin-top:-4px;}
.ef-lt{margin-left:auto;font-size:14px;color:var(--text-muted);}
.ef-lt b{color:var(--text-strong);font-size:16px;font-variant-numeric:tabular-nums;}
.ef-tile{position:relative;outline:0;background:var(--surface-card);border:1px solid var(--border);border-radius:10px;padding:14px 14px 13px;display:grid;gap:10px;}
.ef-tile.chase{border-color:var(--status-alert-bd);}
.ef-tile:focus-visible{box-shadow:0 0 0 2px var(--focus-ring);}
.ef-th{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:4px;}
.ef-th b{font-size:15px;color:var(--text);line-height:1.3;display:flex;align-items:center;gap:6px;min-width:0;}
.ef-nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.ef-th b .ds-status{flex:none;}
.ef-tn{min-width:0;display:grid;gap:3px;}
.ef-why{font-size:13px;color:var(--text-muted);}
.ef-tile .ef-tn .ef-why{height:auto;display:block;min-height:1.35em;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ef-score{font-size:22px;font-weight:800;color:var(--text-strong);line-height:1;text-align:right;font-variant-numeric:tabular-nums;}
.ef-score small{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-top:6px;}
.ef-owed{font-size:15px;font-weight:700;color:var(--status-alert-fg);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;}
.ef-score.ef-owed{color:var(--status-alert-fg);}
.ef-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;}
.ef-seg .sg{display:block;height:10px;border-radius:0;background:var(--raise-2);box-shadow:inset 0 0 0 1px var(--border);overflow:hidden;}
.ef-seg .sg i{display:block;height:100%;border-radius:0;}
.ef-seg .sg:first-child{border-radius:5px 0 0 5px;}.ef-seg .sg:last-child{border-radius:0 5px 5px 0;}
.ef-seg .sg.m i{background:var(--accent-green-bright);}.ef-seg .sg.p i{background:var(--accent-blue);}.ef-seg .sg.c i{background:var(--accent-violet);}
.ef-segl{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;font-size:13px;font-weight:700;color:var(--text-2);margin-top:-2px;}
.ef-segl b{display:block;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);}
.ef-segl small{display:block;font-weight:500;color:var(--text-muted);font-size:12px;line-height:1.3;min-height:1.3em;}
.ef-acts{position:absolute;left:0;right:0;bottom:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;padding:11px 14px;background:var(--surface-card);border-top:1px solid var(--border);border-radius:0 0 10px 10px;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .12s,transform .12s;}
.ef-tile:hover .ef-acts,.ef-tile:focus-within .ef-acts,.ef-tile.show .ef-acts{opacity:1;transform:none;pointer-events:auto;}
.ef-acts .btn.sm{height:28px;font-size:12.5px;padding:0 10px;}
.ef-acts .btn.sm:not(.btn-icon) .mi{display:none;}
.ef-acts .btn-icon{margin-left:auto;}
@media (hover:none){.ef-tile:hover .ef-acts{opacity:0;pointer-events:none;}.ef-tile.show .ef-acts{opacity:1;pointer-events:auto;}}
.ef-more{margin-top:0;}
@media (max-width:1100px){.ef-lanes{grid-template-columns:minmax(0,1fr);}}
.ef-lane,.ef-tile{min-width:0;}
.ef-score{flex:none;}

/* Tasks | To Order, side by side, same height; the lists scroll inside */
.tlr-row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch;height:520px;}
.tlr-row2>.fx-sec{display:flex;flex-direction:column;min-height:0;height:100%;}
.tlr-row2>.fx-sec>.dr-body{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;}
.tlr-row2>.fx-sec>.dr-body::-webkit-scrollbar{width:20px;height:20px;}
.tlr-row2>.fx-sec>.dr-body::-webkit-scrollbar-track{background:transparent;box-shadow:inset 0 0 0 1px var(--border);border-radius:999px;}
.tlr-row2>.fx-sec>.dr-body::-webkit-scrollbar-thumb{background:var(--accent-blue);border-radius:999px;border:6px solid transparent;background-clip:padding-box;}
.tlr-row2>.fx-sec>.dr-body::-webkit-scrollbar-thumb:hover{background:var(--blue-300);background-clip:padding-box;}
.tlr-row2>.fx-sec>.dr-body::-webkit-scrollbar-corner{background:transparent;}
@media (max-width:900px){.tlr-row2{grid-template-columns:minmax(0,1fr);height:auto;}.tlr-row2>.fx-sec{height:440px;}}
.tk-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--border);}
.tk-row .tk-t{cursor:pointer;background:none;border:0;text-align:left;font:inherit;padding:0;}
.tk-row .tk-t:hover b{color:var(--accent-green-bright);}
.tk-t{font-size:14.5px;font-weight:600;color:var(--text);line-height:1.3;min-width:0;}
.tk-t b{font-weight:600;}
.tk-t small{display:block;font-size:12.5px;font-weight:400;color:var(--text-muted);}
.tk-row .r{font-size:13px;font-weight:700;white-space:nowrap;color:var(--text-muted);}
.tk-row .r.late{color:var(--accent-red);}
.tk-av{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--action-primary);color:var(--on-action);font-size:11px;font-weight:800;flex:none;}
.tk-av.lg{width:32px;height:32px;font-size:12.5px;}
.tk-people{display:grid;gap:10px;padding-top:12px;}
.tk-pc{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface-sunken);}
.tk-pch{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.tk-pch b{font-size:15px;color:var(--text);}
.tk-cts{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;}
.tk-none{font-size:13px;color:var(--text-faint);}
.tk-row.gone{opacity:.45;transition:opacity .2s;}
.ord-it{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--border);cursor:pointer;}
.ord-it:hover .ord-t{color:var(--accent-green-bright);}
.dr-gh + .ord-it{border-top:0;}
.ord-t{display:block;font-size:15px;font-weight:600;color:var(--text);line-height:1.3;}
.ord-s{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:13px;color:var(--text-muted);}
.ord-s .ds-tag{font-size:11px;padding:1px 8px;}
.ord-r{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right;}
.ord-r .ds-status{font-size:12px;padding:2px 9px;}
.ord-r small{font-size:12.5px;color:var(--text-muted);white-space:nowrap;}
.ord-set{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--accent-green);border:1.5px dashed var(--border-hover);border-radius:999px;padding:3px 10px;}
.ord-set i{font-size:var(--ico-sm);}.ord-set:hover{border-color:var(--accent-green);background:var(--raise-2);}
.ord-set:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;}

/* All Projects (table view) */
.slab-table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface-card);}
.tv-tbl{min-width:0;}
.tv-tbl td{white-space:normal;}
.tv-eff{min-width:44px;justify-content:center;font-size:13px;}
.tv-cl b{min-width:40px;text-align:right;}
.tv-cl{display:flex;width:100%;align-items:center;gap:8px;white-space:nowrap;}
.tv-cl small,.tv-bid{font-size:12.5px;color:var(--text-muted);}
.tv-bar{flex:1;min-width:40px;height:8px;background:var(--raise-2);box-shadow:inset 0 0 0 1px var(--border);border-radius:5px;overflow:hidden;}
.tv-bar i{display:block;height:100%;background:var(--accent-violet);}
.tv-m{color:var(--text);font-weight:700;}.tv-bid{display:block;}
.slab-table--pin1 :is(thead th,tbody td:not([colspan])):first-child{position:sticky;left:0;z-index:2;background:var(--surface-card);box-shadow:inset -1px 0 0 var(--border);}
.slab-table--pin1 thead th:first-child{z-index:4;background:var(--surface-head);box-shadow:inset -1px 0 0 var(--border),inset 0 -1px 0 0 var(--border);}
.slab-table--pin1 tbody tr:hover td:first-child{background-image:linear-gradient(var(--raise-1),var(--raise-1));}
.tv-tbl tbody tr{cursor:pointer;}
.tv-tbl tbody td{height:56px;box-sizing:border-box;padding-top:6px;padding-bottom:6px;}   /* every row is one line, 56px: the Margin cell's two lines fit inside it */
.tv-m,.tv-bid{line-height:1.25;}
.tv-sort{all:unset;display:inline-flex;align-items:center;gap:4px;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;}
.tv-sort .slab-th-sort{flex:0 0 auto;width:20px;height:20px;margin:0 0 0 2px;border-radius:5px;display:flex;align-items:center;justify-content:center;transition:background .12s;}
.tv-sort .slab-th-sort svg{width:8px;height:6px;display:block;fill:currentColor;opacity:.4;transition:opacity .12s;}
.tv-sort:hover .slab-th-sort{background:var(--surface-hover);}.tv-sort:hover .slab-th-sort svg{opacity:.8;}
.tv-sort.on .slab-th-sort svg{opacity:1;}.tv-sort.dn .slab-th-sort svg{transform:rotate(180deg);}
.tv-sort:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px;}
.tv-nm{font-weight:600;color:var(--text)!important;white-space:nowrap;}.tv-1{white-space:nowrap;}
.tv-none{color:var(--text-faint);}.tv-when{color:var(--text-muted);white-space:nowrap;}
.tv-tbl td.tv-1,.tv-tbl td.tv-nm{white-space:nowrap;}
.tv-ell{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;}
/* Where the table scrolls, the cap keeps the Project column narrow enough to freeze (SlabTable pins it only under half the card). */
@media (max-width:1099px){.tv-nm .tv-ell{max-width:18ch;}.tv-1 .tv-ell{max-width:14ch;}}
.slab-table td .ds-status{font-size:12px;padding:2px 9px;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.tv-tbl .pick-tag{position:static;}
.tv-foot{font-size:13px;color:var(--text-faint);padding:10px 2px 0;}

/* the new dialogs (A to F): the page's own .modal / .fld shape */
.pp-dlg .modal-body{display:grid;gap:12px;}
.pp-dlg .fld{margin:0;}
.pp-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.pp-hint{font-size:12.5px;color:var(--text-muted);margin-top:4px;}
.pp-inv{border:1px solid var(--border);border-radius:8px;}
.pp-ir{display:grid;grid-template-columns:auto 1fr auto 90px;gap:10px;align-items:center;padding:8px 12px;border-top:1px solid var(--border);font-size:14px;}
.pp-ir:first-child{border-top:0;}
.pp-ir b{color:var(--text);}
.pp-ir span{font-weight:700;color:var(--text-strong);font-variant-numeric:tabular-nums;}
.pp-ir em{font-style:normal;color:var(--status-alert-fg);font-size:12.5px;font-weight:700;text-align:right;}
.pp-dlg .fld textarea.pp-msg,.pp-msg{width:100%;min-height:150px;box-sizing:border-box;background:var(--field-bg);border:1px solid var(--field-border);border-radius:8px;padding:10px 12px;font:inherit;font-size:14.5px;line-height:1.5;color:var(--text);resize:vertical;}
.pp-warn{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:8px;background:var(--status-warn-bg);border:1px solid var(--status-warn-bd);color:var(--status-warn-fg);}
.pp-warn b{display:block;font-size:14.5px;}.pp-warn span{font-size:13.5px;color:var(--text-2);}
.pp-att{font-size:13px;color:var(--text-muted);display:flex;align-items:center;gap:6px;}
.pp-p{margin:0;font-size:15px;line-height:1.5;color:var(--text-2);}
.pp-del{margin-right:auto;}
.slab-toast .pp-undo{all:unset;cursor:pointer;color:var(--accent-green-bright);font-weight:700;margin-left:8px;}
.slab-toast .pp-undo:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px;}
/* Set Needed By: a popover anchored to its button */
.pp-pop{position:fixed;z-index:300;width:290px;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:12px;box-shadow:var(--shadow-lg);padding:14px;display:grid;gap:10px;}
.pp-qh{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);}
.pp-q{all:unset;cursor:pointer;display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text-2);}
.pp-q b{color:var(--text);}.pp-q.on{border-color:var(--accent-green);background:var(--tint-green);}
.pp-q:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;}
.pp-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;font-size:13px;color:var(--text-2);}
.pp-cal .h{font-size:11px;font-weight:700;color:var(--text-faint);}
.pp-cal button{all:unset;cursor:pointer;padding:5px 0;border-radius:6px;}
.pp-cal button:hover{background:var(--raise-2);}
.pp-cal .w{color:var(--text-faint);}.pp-cal .t{box-shadow:inset 0 0 0 1px var(--border-strong);}
.pp-cal .on{background:var(--action-primary);color:var(--on-action);font-weight:700;}
/* the Calendar's own Add/Edit Event, New Task and crew-schedule dialogs, opened over this page */
.pp-embed{position:fixed;inset:0;width:100%;height:100%;border:0;z-index:400;background:transparent;color-scheme:normal;}

/* the Schedule tab's "On The Calendar" list */
.pcl{display:grid;}
.pcl-row{all:unset;box-sizing:border-box;display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 4px;border-top:1px solid var(--border);cursor:pointer;color:var(--text-2);font-size:15px;}
.pcl-row:first-child{border-top:0;}
.pcl-row:hover{background:var(--raise-1);}
.pcl-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;}
.pcl-d{font-size:13px;font-weight:700;color:var(--text-muted);white-space:nowrap;}
.pcl-t{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ---- the project cards, pills and columns ---- */
/* ---- the picker ---- */
.pick-sec{margin-bottom:26px;}
.pick-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
/* The status pills are the shared .slab-seg (nav.js); only the count inside a segment is styled here. */
.pick-pills .cnt{flex:0 0 auto;display:inline;padding:0;font-size:12px;font-weight:700;opacity:.75;font-variant-numeric:tabular-nums;}   /* a page-wide .cnt rule would stretch it */
/* Focus ring comes from the shared .csel-btn:focus-visible rule (nav.js), not a page-local override. */
.pick-search{flex:0 0 auto;width:280px;margin-left:auto;}
.pick-scroll{display:flex;align-items:flex-start;gap:14px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x proximity;}
.pick-stack{flex:0 0 280px;display:flex;flex-direction:column;gap:16px;scroll-snap-align:start;}
.pick-stack>.pick-col{flex:0 0 auto;}
.pick-col{flex:0 0 280px;background:var(--surface-card);border:1px solid var(--border);border-radius:12px;padding:10px 10px 8px;scroll-snap-align:start;}
.pick-col-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:2px 4px 8px;}
.pick-col-h b{font-size:14px;font-weight:700;letter-spacing:.3px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pick-col-h span{font-size:12px;color:var(--text-muted);white-space:nowrap;}
.pick-tile{position:relative;background:var(--surface-menu);border:1px solid var(--border);border-radius:9px;padding:10px 12px 9px;margin-bottom:8px;cursor:pointer;transition:border-color .15s;}
.pick-tile:hover{border-color:var(--accent-green);}
.pick-tile:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;}
.pick-tile:last-child{margin-bottom:0;}
.pick-tag{position:absolute;top:8px;right:8px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:2px 6px;border-radius:999px;}
.pick-tag.active{background:rgba(110,212,160,.14);color:var(--accent-green-bright);}
.pick-tag.bidding{background:rgba(123,172,217,.16);color:var(--accent-blue);}
.pick-tag.hold{background:var(--tint-amber);color:var(--accent-amber-light);}
.pick-tag.completed{background:var(--raise-1);color:var(--text-muted);}
.pick-name{font-size:15px;font-weight:600;line-height:1.2;padding-right:64px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
/* Board card: the name on one full line, then the next-up line bottom left and the status tag bottom right. Every card one height. */
#pick-cols .pick-tile{height:66px;box-sizing:border-box;overflow:hidden;}
#pick-cols .pick-name{position:absolute;top:10px;left:12px;right:12px;font-size:14px;padding-right:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}   /* pinned: a button centres its content */
#pick-cols .pick-tag{top:auto;bottom:9px;right:12px;}
#pick-cols .pick-tile .dr-next{position:absolute;left:12px;right:100px;bottom:9px;margin:0;}
#pick-cols .dr-next b{min-width:0;}#pick-cols .dr-next.inv b{flex:0 0 auto;}#pick-cols .dr-next span,#pick-cols .dr-next i{flex:0 0 auto;}   /* a long event name ends in an ellipsis; the date always shows */
/* 131: the COMPLETED chip is wider than ACTIVE; its tile reserves the room so the name never runs under it */
.pick-tile:has(.pick-tag.completed) .pick-name{padding-right:96px;}
#pick-cols .pick-tile:has(.pick-tag.completed) .pick-name{padding-right:0;}
.pick-sub{display:flex;justify-content:space-between;gap:8px;margin-top:5px;font-size:12px;color:var(--text-muted);}
.pick-sub .num{font-variant-numeric:tabular-nums;color:var(--text-muted);font-weight:600;}
.pick-empty{padding:18px 4px;color:var(--text-muted);font-size:15px;}
/* Load skeleton: shown until the discovery pass has delivered jobs + store once, so the page never paints placeholder projects and then swaps them. #pick-cols reserves its height so the sections below do not move. */
#pick-cols{min-height:268px;}
.sk-col{flex:0 0 232px;display:flex;flex-direction:column;gap:10px;}
.sk-bar,.sk-tile,.sk-row{background:var(--surface-3,rgba(128,128,128,.18));border-radius:8px;animation:skPulse 1.3s ease-in-out infinite;}
.sk-bar{height:16px;width:60%;} .sk-tile{height:64px;} .sk-row{height:18px;margin:14px 12px;}
@keyframes skPulse{0%,100%{opacity:.45;}50%{opacity:.9;}}
@media (prefers-reduced-motion:reduce){.sk-bar,.sk-tile,.sk-row{animation:none;}}
.pick-list[data-more],.pick-col.fit .pick-list{overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain;}
.pick-list[data-more]::-webkit-scrollbar,.pick-col.fit .pick-list::-webkit-scrollbar{display:none;}
.pick-col.fit{display:flex;flex-direction:column;box-sizing:border-box;}
.pick-col.fit .pick-list{flex:1 1 auto;min-height:0;}
.pick-col.cut{padding-bottom:0;overflow:hidden;}   /* the bucket's own edge cuts the last card */
.pick-more{display:flex;width:100%;justify-content:center;align-items:center;gap:6px;margin-top:4px;font-family:inherit;font-size:13px;font-weight:600;padding:7px 8px;border:1px dashed var(--border-strong);border-radius:8px;background:transparent;color:var(--accent-neutral);cursor:pointer;}
.pick-more:hover{border-color:var(--accent-green);color:var(--accent-green-bright);}
.pick-more:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;}


.ef-tag{flex:none;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);}
.ef-paused{font-weight:700;color:var(--status-warn-fg);}

@media (max-width:560px){.pp-two{grid-template-columns:1fr;}.pp-dlg .seg{flex-wrap:wrap;}.pp-ir{grid-template-columns:auto 1fr auto;}.pp-ir em{grid-column:2/4;text-align:left;}.pp-dlg .modal-foot{flex-wrap:wrap;gap:8px;}}

.tlr-row2.solo{grid-template-columns:minmax(0,1fr);}

/* All Projects: the bulk bar (Review Statuses) and the setup banner slot */
.pp-bulk{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;padding:10px 14px;margin:0 0 12px;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:12px;}
.pp-bulk[hidden],#pp-setup[hidden]{display:none;}
#pp-setup{margin:0 0 12px;}
.tv-tbl td.slab-cb-cell,.tv-tbl th.slab-cb-cell{width:40px;}

/* the status segmented control of the bulk bar (moved from projects.html so the gallery draws it) */
.bs-seg{display:flex;background:var(--surface-topbar);border:1px solid var(--border);border-radius:7px;padding:2px;gap:2px;flex-shrink:0;}
.bs-seg button{padding:5px 10px;border:none;border-radius:5px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;}
.bs-seg button:hover:not(:disabled){color:var(--accent-neutral);}
.bs-seg button.on{background:var(--action-primary);color:var(--on-action);}
.bs-seg button:disabled{cursor:not-allowed;color:var(--text-ghost);}

/* All Projects: the setup banner wins over the nav discovery banner (one banner, not two) */
html.pp-all #disc-banner{display:none !important;}
/* narrow: the status pills scroll inside the page width instead of clipping */
@media (max-width:560px){
  .pick-pills{display:flex;max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .pick-pills::-webkit-scrollbar{display:none;}
  .pick-pills>*{flex:0 0 auto;}
}
