/* ═══════════════════════════════════════════════════════════════════
   Workboard layout for the Projects tab (list + project workspace).
   Layout/components follow the Workboard PM suite; colours are Bildfie's
   (one red accent, navy for progress). Every class is `wb-` prefixed so
   nothing collides with Bootstrap's .btn / .card / .table / .modal.
   ═══════════════════════════════════════════════════════════════════ */
.wb {
  /* Every token follows the universal theme (config/theme.php, /admin/theme.php); literals are fallbacks. */
  --wb-bg:var(--bf-bg,#f5f6f8); --wb-panel:var(--bf-surface,#fff); --wb-panel-2:var(--bf-surface-2,#fafafa); --wb-line:var(--bf-border,#e8e8e8); --wb-line-2:var(--bf-border-2,#f0f0ee);
  --wb-ink:var(--bf-text,#0d0d0d); --wb-muted:var(--bf-muted,#6b6b6b); --wb-muted-2:var(--bf-muted-2,#9b9b9b);
  --wb-brand:var(--bf-brand,#c0392b); --wb-brand-ink:var(--bf-brand-ink,#a93226); --wb-brand-soft:var(--bf-brand-soft,#fdf0ee);
  --wb-navy:var(--bf-navy,#1e3a5f); --wb-navy-soft:var(--bf-navy-soft,#eaf0f6);
  --wb-amber:var(--bf-warning,#b45309); --wb-amber-bg:var(--bf-warning-soft,#fff7e6); --wb-green:var(--bf-success,#166534); --wb-green-bg:var(--bf-success-soft,#eaf7ef);
  --wb-red:var(--bf-danger,#b91c1c); --wb-red-bg:var(--bf-danger-soft,#fdecea); --wb-blue:var(--bf-info,#1e40af); --wb-blue-bg:var(--bf-info-soft,#eaf1fd); --wb-violet:#6d28d9; --wb-violet-bg:#f1ecff;
  --wb-shadow:var(--bf-shadow,0 .125rem .25rem rgba(17,19,28,.05));
  --wb-radius:var(--bf-radius,12px); --wb-display:var(--bf-font-display,'Noto Sans Display','Noto Sans',system-ui,sans-serif);
  --wb-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wb-control-h:var(--bf-control-h,36px); --wb-btn-radius:var(--bf-btn-radius,var(--bf-radius-sm,9px)); --wb-input-bg:var(--bf-input-bg,var(--wb-panel));
  font-size:var(--bf-font-size,14px); line-height:1.5; color:var(--wb-ink);
}
.wb *{box-sizing:border-box}
.bf-main:has(> .wb), .wb, .wb-page, .wb-subview, .wb-panel { min-width:0 }
.bf-shell:has(.wb) > .bf-subnav { flex:0 0 100%; max-width:100% }
.wb-board{max-width:100%}
.wb h1,.wb h2,.wb h3,.wb h4{font-family:var(--wb-display);margin:0}
.wb h3.wb-h{font-size:calc(14px*var(--bf-type,1));font-weight:800;margin:16px 0 8px}
.wb button,.wb input,.wb select,.wb textarea{font:inherit;color:inherit}
.wb button{cursor:pointer}
.wb a{color:inherit;text-decoration:none}
.wb .wb-mono{font-family:var(--wb-mono)}
.wb-page{padding:18px 22px;max-width:1580px;margin:0 auto}

/* page head */
.wb-back{font-size:calc(12px*var(--bf-type-sm,1));color:var(--wb-muted);margin-bottom:8px;display:inline-block}
.wb-back:hover{color:var(--wb-brand)}
.wb-pagehead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:14px;flex-wrap:wrap}
.wb-eyebrow{color:var(--wb-brand);font-weight:700;font-size:calc(11.5px*var(--bf-type-sm,1));text-transform:uppercase;letter-spacing:.07em}
.wb-title{font-size:calc(23px*var(--bf-type,1));font-weight:800;margin:4px 0;font-family:var(--wb-display);letter-spacing:-.01em}
.wb-sub{color:var(--wb-muted);max-width:680px}
.wb-actions{display:flex;gap:8px;flex-wrap:wrap}

/* buttons */
.wb-btn{border:1px solid var(--wb-line);background:var(--wb-panel);padding:0 13px;min-height:var(--wb-control-h);border-radius:var(--wb-btn-radius);justify-content:center;font-size:calc(13px*var(--bf-type,1));font-weight:600;color:var(--wb-ink);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;line-height:1.2}
.wb-btn:hover{border-color:var(--wb-muted-2);color:var(--wb-ink)}
.wb-btn.primary{background:var(--wb-brand);border-color:var(--wb-brand);color:#fff}
.wb-btn.primary:hover{background:var(--wb-brand-ink);color:#fff}
.wb-btn.ghost{border-color:transparent;background:transparent}
.wb-btn.ghost:hover{background:var(--wb-line-2)}
.wb-btn.danger{color:var(--wb-red);border-color:var(--wb-red-bg)}
.wb-btn.sm{padding:0 10px;min-height:calc(var(--wb-control-h) - 6px);font-size:calc(12px*var(--bf-type-sm,1))}
.wb-btn:disabled{opacity:.5;cursor:not-allowed}
.wb-iconbtn{width:34px;height:34px;border-radius:var(--bf-radius-sm,9px);border:1px solid var(--wb-line);background:var(--wb-panel);display:grid;place-items:center;font-size:calc(15px*var(--bf-type,1))}
.wb-inline{display:inline;margin:0}

/* avatars */
.wb-avatar{width:34px;height:34px;border-radius:50%;color:#fff;display:inline-grid;place-items:center;font-weight:700;font-size:calc(12px*var(--bf-type-sm,1));flex:none;vertical-align:middle}
.wb-avatar.sm{width:24px;height:24px;font-size:calc(10px*var(--bf-type-sm,1))}
.wb-avatar.xs{width:20px;height:20px;font-size:calc(9px*var(--bf-type-sm,1))}
.wb-team{display:flex}
.wb-team .wb-avatar{margin-left:-7px;border:2px solid var(--wb-panel)}
.wb-team .wb-avatar:first-child{margin-left:0}

/* grids, stats, cards */
.wb-grid{display:grid;gap:10px}
.wb-stats{grid-template-columns:repeat(5,1fr)}
.wb-stats.c4{grid-template-columns:repeat(4,1fr)}
.wb-stats.c3{grid-template-columns:repeat(3,1fr)}
.wb-stats.c6{grid-template-columns:repeat(6,minmax(0,1fr))}
.wb-stat.compact{padding:9px 11px}
.wb-stat.compact .l{font-size:calc(11.5px*var(--bf-type-sm,1))}
.wb-stat.compact strong{font-size:calc(17px*var(--bf-type,1));margin:2px 0 1px}
.wb-stat.compact .wb-delta{font-size:calc(11px*var(--bf-type-sm,1));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wb-cols{grid-template-columns:1.6fr 1fr}
.wb-cols2{grid-template-columns:1fr 1fr}
.wb-cols3{grid-template-columns:1.3fr 1fr 1fr}
.wb-stat,.wb-card{background:var(--wb-panel);border:1px solid var(--wb-line);border-radius:var(--wb-radius);box-shadow:var(--wb-shadow)}
.wb-stat{padding:12px}
.wb-stat .l{color:var(--wb-muted);font-size:calc(12px*var(--bf-type-sm,1));font-weight:600}
.wb-stat strong{display:block;font-size:calc(21px*var(--bf-type,1));margin:5px 0;font-family:var(--wb-display);line-height:1.15}
.wb-delta{font-size:calc(11.5px*var(--bf-type-sm,1));font-weight:600;color:var(--wb-muted)}
.wb .good{color:var(--wb-green)} .wb .warn{color:var(--wb-amber)} .wb .bad{color:var(--wb-red)}
.wb-card{padding:14px}
.wb-card.compact{padding:12px}
.wb-card.flush{padding:0;overflow:hidden}
.wb-cardhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:10px;flex-wrap:wrap}
.wb-cardtitle{font-size:calc(14.5px*var(--bf-type,1));font-weight:800;font-family:var(--wb-display)}
.wb-mini{color:var(--wb-muted);font-size:calc(12px*var(--bf-type-sm,1))}
.wb-muted{color:var(--wb-muted)}
.wb-mt{margin-top:14px}

/* tables */
.wb-table{width:100%;border-collapse:collapse}
.wb-table th{text-align:left;color:var(--wb-muted-2);font-size:calc(10.5px*var(--bf-type-sm,1));text-transform:uppercase;letter-spacing:.05em;padding:7px 9px;border-bottom:1px solid var(--wb-line);font-weight:700}
.wb-table td{padding:9px;border-bottom:1px solid var(--wb-line-2);vertical-align:middle}
.wb-table tr.click{cursor:pointer}
.wb-table tr:hover td{background:var(--wb-panel-2)}
.wb-table.tight th{padding:6px 9px} .wb-table.tight td{padding:7px 9px}
.wb-tablewrap{overflow-x:auto}

/* pills & tags */
.wb-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:20px;font-size:calc(11px*var(--bf-type-sm,1));font-weight:700;background:var(--wb-line-2);color:var(--wb-muted);white-space:nowrap}
.wb-pill.green{background:var(--wb-green-bg);color:var(--wb-green)} .wb-pill.amber{background:var(--wb-amber-bg);color:var(--wb-amber)}
.wb-pill.red{background:var(--wb-red-bg);color:var(--wb-red)} .wb-pill.blue{background:var(--wb-blue-bg);color:var(--wb-blue)}
.wb-pill.violet{background:var(--wb-violet-bg);color:var(--wb-violet)} .wb-pill.navy{background:var(--wb-navy-soft);color:var(--wb-navy)}
.wb-tag{display:inline-flex;padding:2px 8px;border-radius:6px;font-size:calc(10.5px*var(--bf-type-sm,1));font-weight:650;background:var(--wb-line-2);color:var(--wb-muted)}
.wb-bar{height:7px;background:var(--wb-line-2);border-radius:20px;overflow:hidden}
.wb-bar i{display:block;height:100%;background:var(--wb-navy);border-radius:20px}
.wb-ring{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:calc(10px*var(--bf-type-sm,1));font-weight:800;flex:none}
.wb-ring b{background:var(--wb-panel);width:32px;height:32px;border-radius:50%;display:grid;place-items:center}

/* portfolio */
.wb-projgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.wb-projcard{cursor:pointer;padding:13px;display:block;color:inherit}
.wb-projcard:hover{border-color:#d6d6d6}
.wb-projcard:hover .wb-cardtitle{color:var(--wb-brand)}
.wb-project-row{display:grid;grid-template-columns:1.8fr .85fr .95fr .9fr 1fr 40px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--wb-line-2);cursor:pointer;color:inherit}
.wb-project-row:last-child{border:0}
.wb-project-row:hover .wb-pname{color:var(--wb-brand)}
.wb-pname{font-weight:700}
.wb-sechead{display:flex;align-items:center;gap:10px;margin:4px 0 12px}
.wb-sechead .l{font-size:calc(11px*var(--bf-type-sm,1));font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--wb-muted-2)}
.wb-sechead .rule{flex:1;height:1px;background:var(--wb-line)}

/* view tabs, toolbar, filters */
.wb-viewtabs{display:flex;gap:2px;background:var(--wb-line-2);padding:3px;border-radius:var(--bf-radius-sm,9px);flex-wrap:wrap}
.wb-viewtabs button,.wb-viewtabs a{border:0;background:transparent;padding:6px 11px;border-radius:var(--bf-btn-radius,7px);color:var(--wb-muted);font-size:calc(12.5px*var(--bf-type-sm,1));font-weight:600;display:inline-flex;align-items:center;gap:5px}
.wb-viewtabs .active{background:var(--wb-panel);color:var(--wb-ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.wb-viewtabs .cnt{font-size:calc(10px*var(--bf-type-sm,1));background:var(--wb-line);color:var(--wb-muted);border-radius:20px;padding:0 6px;font-weight:700}
.wb-viewtabs .active .cnt{background:var(--wb-brand-soft);color:var(--wb-brand)}
.wb-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px;flex-wrap:wrap}
.wb-filters{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.wb-filters select,.wb-filters input{border:1px solid var(--wb-line);border-radius:var(--bf-radius-sm,8px);padding:8px 10px;background:var(--wb-panel);font-size:calc(12.5px*var(--bf-type-sm,1))}

/* tasks list */
.wb-task{display:grid;grid-template-columns:24px 1fr 110px 80px 150px 90px 30px;align-items:center;padding:9px 8px;border-bottom:1px solid var(--wb-line-2);gap:10px}
.wb-task:hover{background:var(--wb-panel-2)}
.wb-task.head{background:var(--wb-panel-2);font-size:calc(10.5px*var(--bf-type-sm,1));color:var(--wb-muted-2);text-transform:uppercase;font-weight:700;letter-spacing:.04em}
.wb-task.phase{background:#fcfcfb;border-top:1px solid var(--wb-line)}
.wb-task.phase .wb-task-title{font-weight:800}
.wb-task.sub{padding-left:26px}
.wb-check{width:17px;height:17px;border:1.5px solid var(--wb-muted-2);border-radius:5px;display:grid;place-items:center;flex:none;background:var(--wb-panel);padding:0;font-size:calc(11px*var(--bf-type-sm,1));line-height:1}
.wb-check.on{background:var(--wb-brand);border-color:var(--wb-brand);color:#fff}
.wb-task-title{font-weight:650;cursor:pointer;min-width:0}
.wb-task-title small{display:block;color:var(--wb-muted);font-weight:400;margin-top:2px;font-size:calc(11.5px*var(--bf-type-sm,1))}
.wb-task-title.done{color:var(--wb-muted);text-decoration:line-through}
.wb-priority{font-size:calc(11px*var(--bf-type-sm,1));font-weight:700}
.wb .p1{color:var(--wb-red)} .wb .p2{color:var(--wb-amber)} .wb .p3{color:var(--wb-blue)} .wb .p4{color:var(--wb-muted)}
.wb-assignee{display:flex;align-items:center;gap:6px;min-width:0;font-size:calc(12.5px*var(--bf-type-sm,1))}
.wb-assignee span.n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wb-addrow{display:block;border:0;background:transparent;color:var(--wb-muted-2,#9b9b9b);font-size:calc(11px*var(--bf-type-sm,1));font-weight:600;padding:0 8px 6px 50px;margin-top:-4px;text-align:left}
.wb-addrow:hover{color:var(--wb-brand)}
.wb-menu{min-width:190px;font-size:calc(13px*var(--bf-type,1));border-radius:var(--bf-radius-sm,10px)}
.wb-menu .dropdown-item{font-size:calc(13px*var(--bf-type,1))}

/* board */
.wb-board{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:9px;align-items:start;overflow-x:auto}
.wb-column{background:var(--wb-panel-2);border:1px solid var(--wb-line-2);border-radius:12px;padding:8px;min-height:200px}
.wb-column.dragover{outline:2px dashed var(--wb-brand)}
.wb-colhead{display:flex;justify-content:space-between;align-items:center;font-weight:800;padding:4px 6px 8px;font-size:calc(13px*var(--bf-type,1))}
.wb-cdot{width:8px;height:8px;border-radius:50%;margin-right:6px;display:inline-block}
.wb-ticket{background:var(--wb-panel);border:1px solid var(--wb-line);border-radius:var(--bf-radius-sm,10px);padding:10px;margin-bottom:7px;box-shadow:0 2px 7px rgba(0,0,0,.04);cursor:grab}
.wb-ticket.dragging{opacity:.4}
.wb-ticket h4{margin:0 0 8px;font-size:calc(13px*var(--bf-type,1));font-family:inherit;font-weight:650}
.wb-tagrow{display:flex;gap:5px;margin-bottom:8px;flex-wrap:wrap}
.wb-ticketfoot{display:flex;justify-content:space-between;align-items:center;color:var(--wb-muted);font-size:calc(11px*var(--bf-type-sm,1));margin-top:8px;gap:6px}

/* gantt */
.wb-gantt-wrap{overflow-x:auto;overflow-y:hidden;position:relative;border:1px solid var(--wb-line);border-radius:12px;background:var(--wb-panel)}
.wb-gantt-scale{display:grid;position:sticky;top:0;background:var(--wb-panel);z-index:2}
.wb-gantt-scale > div > div,.wb-gantt-scale > div:first-child{padding:8px 6px;border-bottom:1px solid var(--wb-line);border-right:1px solid var(--wb-line-2);font-size:calc(10.5px*var(--bf-type-sm,1));color:var(--wb-muted);text-align:center}
.wb-grow{display:grid;border-bottom:1px solid var(--wb-line-2);position:relative;min-height:44px}
.wb-gname{padding:12px 10px;font-weight:650;font-size:calc(12.5px*var(--bf-type-sm,1));border-right:1px solid var(--wb-line);display:flex;align-items:center;gap:8px;position:sticky;left:0;background:var(--wb-panel);z-index:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}
.wb-lane{position:relative;border-right:1px solid var(--wb-line-2)}
.wb-gbar{position:absolute;top:10px;height:24px;border-radius:6px;background:var(--wb-navy);color:#fff;font-size:calc(10.5px*var(--bf-type-sm,1));padding:5px 9px;white-space:nowrap;overflow:hidden;display:flex;align-items:center;gap:6px;box-shadow:0 1px 3px rgba(0,0,0,.15);cursor:pointer}
.wb-gbar.green{background:var(--wb-green)} .wb-gbar.amber{background:var(--wb-amber)} .wb-gbar.red{background:var(--wb-red)} .wb-gbar.done{background:var(--wb-muted-2)}
.wb-gbar .gp{height:3px;background:#ffffff55;border-radius:3px;position:absolute;bottom:3px;left:9px;right:9px}
.wb-gbar .gp i{display:block;height:100%;background:var(--bf-surface,#fff);border-radius:3px}
.wb-gantt-svg{position:absolute;top:0;left:0;pointer-events:none;overflow:visible}
.wb-today{position:absolute;top:0;bottom:0;width:2px;background:var(--wb-brand);opacity:.5;z-index:1}

/* calendar */
.wb-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--wb-line);border:1px solid var(--wb-line);border-radius:var(--bf-radius-sm,10px);overflow:hidden}
.wb-cal .dow{background:var(--wb-panel-2);padding:6px 8px;font-size:calc(10.5px*var(--bf-type-sm,1));font-weight:700;color:var(--wb-muted-2);text-transform:uppercase}
.wb-cal .day{min-height:88px;background:var(--wb-panel);padding:6px;display:flex;flex-direction:column;gap:3px}
.wb-cal .day.out{background:var(--wb-panel-2)}
.wb-cal .day.out small{opacity:.4}
.wb-cal .day.today small{background:var(--wb-brand);color:#fff;border-radius:20px;padding:0 6px}
.wb-cal .day small{font-size:calc(11px*var(--bf-type-sm,1));color:var(--wb-muted);align-self:flex-start;font-weight:600}
.wb-cal .wb-pill{font-size:calc(10px*var(--bf-type-sm,1));padding:2px 7px;max-width:100%;overflow:hidden;text-overflow:ellipsis;cursor:default}
.wb-cal .wb-pill[data-task]{cursor:pointer}

/* alerts / health / money */
.wb-alert{display:flex;gap:11px;padding:12px;border-radius:var(--bf-radius-sm,10px);background:var(--wb-red-bg);border:1px solid #f3c6c1;margin-bottom:9px;align-items:flex-start}
.wb-alert.amber{background:var(--wb-amber-bg);border-color:#f3dcae} .wb-alert.blue{background:var(--wb-blue-bg);border-color:#cfdcf5}
.wb-alert.plain{background:var(--wb-panel);border-color:var(--wb-line);align-items:center}
.wb-alert strong{display:block;font-size:calc(13px*var(--bf-type,1))}
.wb-alert small{color:var(--wb-muted)}
.wb-health{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.wb-health > div{padding:10px;background:var(--wb-panel-2);border-radius:var(--bf-radius-sm,10px)}
.wb-health b{display:block;margin-top:5px;font-family:var(--wb-display)}
.wb-donut{height:82px;width:82px;border-radius:50%;display:grid;place-items:center;flex:none;position:relative}
.wb-donut::after{content:attr(data-label);width:58px;height:58px;background:var(--wb-panel);border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:calc(11px*var(--bf-type-sm,1));font-family:var(--wb-display);text-align:center;line-height:1.1}
.wb-finhead{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--wb-line-2);margin-bottom:11px;padding-bottom:11px;row-gap:10px}
.wb-finm{padding-right:16px;margin-right:16px;border-right:1px solid var(--wb-line-2)}
.wb-finm:last-child{border:0;margin:0;padding:0}
.wb-finm .l{color:var(--wb-muted);font-size:calc(10px*var(--bf-type-sm,1));font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.wb-finm strong{display:block;font-size:calc(16.5px*var(--bf-type,1));font-family:var(--wb-display);margin-top:2px;line-height:1.1}
.wb-mtiles{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.wb-mtile{background:var(--wb-panel-2);border-radius:8px;padding:7px 10px;display:flex;justify-content:space-between;align-items:center;gap:6px}
.wb-mtile span{color:var(--wb-muted);font-size:calc(11px*var(--bf-type-sm,1))}
.wb-mtile b{font-size:calc(12.5px*var(--bf-type-sm,1))}
.wb-cbar{margin-bottom:11px}
.wb-cbar:last-child{margin-bottom:0}
.wb-cbar .lbl{display:flex;justify-content:space-between;align-items:baseline;font-size:calc(11.5px*var(--bf-type-sm,1));margin-bottom:4px;gap:8px}
.wb-cbar .track{height:7px;background:var(--wb-line-2);border-radius:20px;position:relative}
.wb-cbar .track i{display:block;height:100%;border-radius:20px}
.wb-cbar .track em{position:absolute;top:-2.5px;width:2px;height:12px;background:var(--wb-ink);opacity:.55}
.wb-finlegend{display:grid;gap:6px;min-width:0}
.wb-finlegend div{display:flex;align-items:flex-start;gap:7px;font-size:calc(11.5px*var(--bf-type-sm,1));min-width:0}
.wb-finlegend div > span{flex:1;min-width:0;overflow-wrap:break-word}
.wb-finlegend div > b{white-space:nowrap;flex:none}
.wb-finlegend i{width:8px;height:8px;border-radius:3px;display:inline-block;flex:none;margin-top:3px}
.wb-stackbar{height:7px;border-radius:20px;overflow:hidden;display:flex;margin-bottom:7px}

/* workspace shell */
.wb-ws-head{padding:14px 18px;border-bottom:1px solid var(--wb-line);display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.wb-ws-head .pills{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.wb-ws-body{padding:18px}
.wb-tabs{overflow-x:auto;flex-wrap:nowrap;max-width:100%}
.wb-tabs button{white-space:nowrap}
.wb-panel{display:none}
.wb-panel.active{display:block}
.wb-subview{display:none}
.wb-subview.active{display:block}

/* lifecycle strip */
.wb-lc{display:flex;gap:6px;flex-wrap:wrap}
.wb-lc > div{flex:1;min-width:96px;text-align:center}
.wb-lc .seg{height:6px;border-radius:4px;background:var(--wb-line-2)}
.wb-lc .done .seg{background:var(--wb-green)} .wb-lc .current .seg{background:var(--wb-amber)}
.wb-lc .nm{font-size:calc(11.5px*var(--bf-type-sm,1));font-weight:650;margin-top:7px}
.wb-lc .current .nm{color:var(--wb-ink)} .wb-lc .pending .nm{color:var(--wb-muted)}

/* next-step guide */
.wb-guide{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--wb-panel);border:1px solid var(--wb-line);border-left:3px solid var(--wb-brand);border-radius:var(--bf-radius-sm,10px);padding:12px 14px;margin-bottom:14px}
.wb-guide .n{width:30px;height:30px;border-radius:8px;background:var(--wb-navy);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}

/* modal + drawer (Workboard style, no Bootstrap) */
.wb-modal{position:fixed;inset:0;background:rgba(10,11,20,.5);display:none;align-items:flex-start;justify-content:center;z-index:1060;padding-top:8vh}
.wb-modal.open{display:flex}
.wb-modalbox{width:min(720px,92vw);max-height:84vh;overflow:auto;background:var(--wb-panel);border-radius:14px;box-shadow:0 25px 70px rgba(0,0,0,.25)}
.wb-modalhead{padding:14px 18px;border-bottom:1px solid var(--wb-line);display:flex;justify-content:space-between;align-items:center}
.wb-modalhead b{font-family:var(--wb-display);font-size:calc(15px*var(--bf-type,1))}
.wb-modalbody{padding:16px}
.wb-modalfoot{padding:12px 18px;border-top:1px solid var(--wb-line);display:flex;justify-content:flex-end;gap:8px}
.wb-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wb-field label{display:block;font-size:calc(11.5px*var(--bf-type-sm,1));font-weight:700;margin-bottom:5px;color:var(--wb-muted)}
.wb-field input,.wb-field select,.wb-field textarea,.wb-input{width:100%;min-height:var(--wb-control-h);border:1px solid var(--wb-line);border-radius:var(--bf-radius-sm,9px);padding:6px 11px;background:var(--wb-input-bg);font-size:calc(13px*var(--bf-type,1))}
.wb-field textarea{min-height:80px;resize:vertical}
.wb-field select[multiple]{min-height:110px}
.wb-field .hint{font-size:calc(11px*var(--bf-type-sm,1));color:var(--wb-muted-2);margin-top:4px}
.wb-span2{grid-column:1/-1}
.wb-checkrow{display:flex;align-items:center;gap:8px;font-size:calc(13px*var(--bf-type,1));color:var(--wb-ink);cursor:pointer}
.wb-checkrow input{width:16px;height:16px}

.wb-drawer-back{position:fixed;inset:0;background:rgba(10,11,20,.25);z-index:1040;display:none}
.wb-drawer-back.open{display:block}
.wb-drawer{position:fixed;right:0;top:0;height:100%;width:min(640px,95vw);background:var(--wb-panel);z-index:1050;box-shadow:-15px 0 45px rgba(0,0,0,.15);transform:translateX(100%);transition:transform .22s ease;overflow:auto}
.wb-drawer.open{transform:none}
.wb-drawerhead{padding:14px 18px;border-bottom:1px solid var(--wb-line);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--wb-panel);z-index:2;gap:10px}
.wb-drawerhead b{font-family:var(--wb-display);font-size:calc(15px*var(--bf-type,1))}
.wb-drawerbody{padding:16px}
.wb-drawerbody p.lead{font-size:calc(14.5px*var(--bf-type,1));line-height:1.6;margin:10px 0}
.wb-detailgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}
.wb-detail{background:var(--wb-panel-2);border-radius:var(--bf-radius-sm,9px);padding:9px 10px}
.wb-detail small{display:block;color:var(--wb-muted);margin-bottom:3px;font-size:calc(11px*var(--bf-type-sm,1))}
.wb-comment{border-top:1px solid var(--wb-line-2);padding:12px 0;display:flex;gap:9px}
.wb-comment p{margin:4px 0 0}
.wb-activity{display:grid;gap:11px}
.wb-event{display:grid;grid-template-columns:26px 1fr;gap:8px;font-size:calc(13px*var(--bf-type,1))}
.wb-event i{width:26px;height:26px;border-radius:50%;background:var(--wb-brand-soft);display:grid;place-items:center;color:var(--wb-brand);font-style:normal;font-size:calc(10px*var(--bf-type-sm,1));font-weight:700}
.wb-event small{display:block;color:var(--wb-muted);margin-top:2px}
.wb-subtask-row{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--wb-line-2)}
.wb-subtask-row form{margin:0}
.wb-subtask-row .x{margin-left:auto;border:0;background:transparent;color:var(--wb-muted-2)}
.wb-attach{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--wb-line);border-radius:var(--bf-radius-sm,9px);margin-bottom:7px}
.wb-attach .fi{width:30px;height:30px;border-radius:8px;background:var(--wb-line-2);display:grid;place-items:center;font-size:calc(13px*var(--bf-type,1))}
.wb-inputrow{display:flex;gap:8px;margin-top:10px}
.wb-inputrow input{flex:1;border:1px solid var(--wb-line);border-radius:var(--bf-radius-sm,9px);padding:9px 11px}

/* files */
.wb-file-row{display:grid;grid-template-columns:30px 1fr 130px 90px 70px 110px;gap:10px;align-items:center;padding:7px 6px;border-bottom:1px solid var(--wb-line-2)}
.wb-file-row:last-child{border-bottom:0}
.wb-file-row:hover{background:var(--wb-panel-2)}
.wb-file-link{color:var(--wb-navy)!important;cursor:pointer;word-break:break-word}
.wb-file-link:hover{text-decoration:underline}
.wb-file-ic{position:relative;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:calc(13px*var(--bf-type,1))}
.wb-file-ext{position:absolute;bottom:-4px;right:-5px;font-size:calc(6px*var(--bf-type-sm,1));font-weight:800;letter-spacing:.03em;color:#fff;padding:1px 3px;border-radius:4px;line-height:1.4;box-shadow:0 0 0 2px var(--wb-panel)}
.wb-file-thumb{width:28px;height:28px;border-radius:8px;background-size:cover;background-position:center}
.wb-folder-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--wb-line);border-radius:var(--bf-radius-sm,9px);background:var(--wb-panel);font-size:calc(12.5px*var(--bf-type-sm,1));color:var(--wb-muted)}
.wb-folder-chip.active{border-color:var(--wb-brand);color:var(--wb-brand);background:var(--wb-brand-soft)}
.wb-drop{display:flex;align-items:center;gap:10px;border:1.5px dashed var(--wb-line);border-radius:var(--bf-radius-sm,10px);padding:14px;cursor:pointer;color:var(--wb-muted);font-size:calc(12.5px*var(--bf-type-sm,1))}
.wb-drop:hover{border-color:var(--wb-brand)}
.wb-drop input{max-width:100%}

/* switches, okr, misc */
.wb-switch{width:38px;height:22px;border-radius:20px;background:var(--wb-line-2);position:relative;flex:none;border:1px solid var(--wb-line);padding:0}
.wb-switch.on{background:var(--wb-brand);border-color:var(--wb-brand)}
.wb-switch::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--bf-surface,#fff);transition:.15s}
.wb-switch.on::after{left:18px}
.wb-okr{padding:9px 0;border-bottom:1px solid var(--wb-line-2)}
.wb-okr:last-child{border-bottom:0}
.wb-empty{padding:40px 20px;text-align:center;color:var(--wb-muted)}
.wb-empty .big{font-size:calc(26px*var(--bf-type,1));margin-bottom:8px;color:var(--wb-muted-2)}
.wb-empty b{color:var(--wb-ink)}
.wb-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--wb-line-2)}
.wb-row:last-child{border-bottom:0}
.wb-flash{display:flex;align-items:center;gap:8px;border-radius:var(--bf-radius-sm,10px);padding:10px 14px;font-size:calc(13px*var(--bf-type,1));margin-bottom:12px}
.wb-flash.ok{background:var(--wb-green-bg);color:var(--wb-green);border:1px solid #cdebd7}
.wb-flash.err{background:var(--wb-red-bg);color:var(--wb-red);border:1px solid #f3c6c1}
.wb-toast-wrap{position:fixed;bottom:20px;right:20px;z-index:1070;display:grid;gap:8px}
.wb-toast{background:var(--wb-ink);color:#fff;padding:11px 16px;border-radius:var(--bf-radius-sm,10px);font-size:calc(13px*var(--bf-type,1));font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.25);animation:wbtoast .18s ease}
@keyframes wbtoast{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.wb-share-list label{display:flex;align-items:center;gap:8px;font-size:calc(12.5px*var(--bf-type-sm,1));padding:4px 0;cursor:pointer}

@media (max-width:1100px){
  .wb-stats,.wb-stats.c6{grid-template-columns:repeat(3,1fr)}
  .wb-cols,.wb-cols2,.wb-cols3{grid-template-columns:1fr}
  .wb-project-row{grid-template-columns:1.5fr .7fr .8fr 1fr 40px}
  .wb-project-row > :nth-child(5){display:none}
  .wb-task{grid-template-columns:24px 1fr 100px 70px 90px 30px}
  .wb-task > :nth-child(5){display:none}
}
@media (max-width:760px){
  .wb-page{padding:14px}
  .wb-stats,.wb-stats.c4,.wb-stats.c3,.wb-stats.c6{grid-template-columns:1fr 1fr}
  .wb-projgrid{grid-template-columns:1fr}
  .wb-task{grid-template-columns:22px 1fr 86px 30px}
  .wb-task > :nth-child(4),.wb-task > :nth-child(5),.wb-task > :nth-child(6){display:none}
  .wb-formgrid{grid-template-columns:1fr}
  .wb-span2{grid-column:auto}
  .wb-file-row{grid-template-columns:30px 1fr 100px}
  .wb-file-row > :nth-child(3),.wb-file-row > :nth-child(4),.wb-file-row > :nth-child(5){display:none}
  .wb-health{grid-template-columns:1fr}
  .wb-ws-body{padding:12px}
  .wb-project-row{grid-template-columns:1fr 80px 40px}
  .wb-project-row > :nth-child(3),.wb-project-row > :nth-child(4){display:none}
}

/* workspace: relevant-professional finder (Assign someone) */
.wb .wb-pro-find{position:relative}
.wb .wb-pro-q{width:100%;border:1px solid var(--wb-line);border-radius:var(--bf-radius-sm,9px);padding:9px 11px;background:var(--wb-panel);font-size:calc(13px*var(--bf-type,1))}
.wb .wb-pro-res{position:absolute;left:0;right:0;top:100%;z-index:30;margin-top:4px;background:var(--wb-panel);border:1px solid var(--wb-line);border-radius:var(--bf-radius-sm,9px);box-shadow:0 8px 24px rgba(0,0,0,.08);max-height:260px;overflow:auto}
.wb .wb-pro-res button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;font-size:calc(12.5px*var(--bf-type-sm,1));border-bottom:1px solid var(--wb-line-2)}
.wb .wb-pro-res button:hover{background:var(--wb-line-2)}

/* task progress: list mini-bar, drawer panel */
.wb .wb-tprog-mini{display:flex;align-items:center;gap:5px;margin-top:4px}
.wb .wb-tprog-mini span{flex:1;max-width:64px;height:4px;border-radius:4px;background:var(--wb-line-2);overflow:hidden}
.wb .wb-tprog-mini i{display:block;height:100%;background:var(--wb-brand)}
.wb .wb-tprog-mini em{font-style:normal;font-size:calc(10.5px*var(--bf-type-sm,1));color:var(--wb-muted);font-weight:600}
.wb .wb-tprog-big{display:flex;align-items:center;gap:10px;margin:8px 0 10px}
.wb .wb-tprog-big .wb-bar{flex:1;height:8px}
.wb .wb-tprog-big b{font-size:calc(15px*var(--bf-type,1));min-width:42px;text-align:right}
.wb .wb-tprog-form{display:grid;gap:8px}
.wb .wb-tprog-form textarea{width:100%;border:1px solid var(--wb-line);border-radius:var(--bf-radius-sm,9px);padding:8px 10px;font-size:calc(12.5px*var(--bf-type-sm,1));background:var(--wb-panel);resize:vertical}
.wb .wb-tprog-steps{display:flex;gap:4px}
.wb .wb-tprog-steps button{flex:1;border:1px solid var(--wb-line);background:var(--wb-panel);border-radius:var(--bf-btn-radius,7px);padding:5px 0;font-size:calc(12px*var(--bf-type-sm,1));font-weight:600;color:var(--wb-muted)}
.wb .wb-tprog-steps button.on{border-color:var(--wb-brand);color:var(--wb-brand);background:var(--wb-panel)}
.wb .wb-card .wb-addrow{color:var(--wb-muted-2,#9b9b9b);font-size:calc(11px*var(--bf-type-sm,1));font-weight:600;background:transparent;padding:0 8px 6px 50px}
.wb .wb-card .wb-addrow:hover{color:var(--wb-brand)}

/* stat rows: fill the row evenly whatever the count (4 cards no longer leave an empty 5th slot) */
.wb .wb-stats:not(.c3):not(.c4):not(.c6){grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
@media (max-width:1100px){
  .wb .wb-stats:not(.c3):not(.c4):not(.c6){grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
  .wb .wb-stats.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:760px){
  .wb .wb-stats,.wb .wb-stats.c3,.wb .wb-stats.c4,.wb .wb-stats.c6,.wb .wb-stats:not(.c3):not(.c4):not(.c6){grid-template-columns:1fr 1fr}
  .wb .wb-stats > :last-child:nth-child(odd){grid-column:1/-1}      /* no lonely half-width card */
}

/* workspace header: icon + label buttons; icon-only on small screens. Quick add = round + button with a dropdown */
.wb .wb-hdr-actions{align-items:center}
.wb .wb-hdr-actions .wb-btn,.wb .wb-hdr-actions .wb-viewtabs button{gap:6px}
.wb .wb-hdr-actions .wb-viewtabs button i{display:none}
.wb .wb-fab{width:40px;height:40px;border-radius:50%;border:0;background:var(--wb-brand);color:#fff;display:inline-grid;place-items:center;font-size:calc(18px*var(--bf-type,1));box-shadow:0 4px 12px rgba(0,0,0,.14);transition:transform .12s,box-shadow .12s}
.wb .wb-fab:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.18)}


@media (max-width:760px){
  .wb .wb-hdr-actions{gap:6px}
  .wb .wb-hdr-actions .wb-lbl{display:none}
  .wb .wb-hdr-actions .wb-btn{width:36px;height:36px;padding:0;justify-content:center}
  .wb .wb-hdr-actions .wb-viewtabs button{padding:6px 9px}
  .wb .wb-hdr-actions .wb-viewtabs button i{display:inline-block}
  .wb .wb-fab{width:38px;height:38px}
}
.wb .wb-ws-panels{margin-top:18px}
.wb .wb-ws-top[hidden] + .wb-ws-panels{margin-top:0}

/* minimal list rows (milestones, deliverables): dot · title+meta · value · state · next step + ⋯ */
.wb .ms-list{border-top:1px solid var(--wb-line-2)}
.wb .ms-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto 150px auto;gap:14px;align-items:center;padding:12px 2px;border-bottom:1px solid var(--wb-line-2)}
.wb .ms-dot{width:8px;height:8px;border-radius:50%;background:var(--wb-line)}
.wb .ms-dot.green{background:var(--wb-green)} .wb .ms-dot.amber{background:var(--wb-amber)} .wb .ms-dot.blue{background:var(--wb-navy,#1e3a5f)}
.wb .ms-t{font-size:calc(13.5px*var(--bf-type,1));font-weight:700;color:var(--wb-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wb .ms-m{font-size:calc(11.5px*var(--bf-type-sm,1));color:var(--wb-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wb .ms-v{font-size:calc(13px*var(--bf-type,1));font-weight:700;white-space:nowrap;text-align:right}
.wb .ms-s{font-size:calc(12px*var(--bf-type-sm,1));color:var(--wb-muted);white-space:nowrap}
.wb .ms-s.green{color:var(--wb-green)} .wb .ms-s.amber{color:var(--wb-amber)}
.wb .ms-a{display:flex;align-items:center;gap:4px;justify-content:flex-end;white-space:nowrap}
.wb .ms-act{border:1px solid var(--wb-line);background:var(--wb-panel);border-radius:7px;padding:4px 11px;font-size:calc(12px*var(--bf-type-sm,1));font-weight:600;color:var(--wb-ink)}
.wb .ms-act:hover{border-color:var(--wb-ink)}
.wb .ms-act.primary{background:var(--wb-brand);border-color:var(--wb-brand);color:#fff}
.wb .ms-more{border:0;background:transparent;color:var(--wb-muted);width:28px;height:28px;border-radius:7px}
.wb .ms-more:hover{background:var(--wb-line-2);color:var(--wb-ink)}
@media (max-width:760px){
  .wb .ms-row{grid-template-columns:10px minmax(0,1fr) auto;row-gap:6px}
  .wb .ms-v{grid-column:3;grid-row:1}
  .wb .ms-s{grid-column:2;grid-row:2}
  .wb .ms-a{grid-column:3;grid-row:2}
}
.wb .wb-back{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}

/* ── task rows (one design everywhere tasks are listed: owner list, pro work plan, dashboard) ──
   status icon · title + one quiet meta line · thin progress · "Update" text link · ⋯            */
.wb .tk-list{margin:0}
.wb .tk-group{border-top:1px solid var(--wb-line-2)}
.wb .tk-group:first-child{border-top:0}
.wb .tk-row{display:flex;align-items:center;gap:10px;padding:8px 2px}
.wb .tk-row.sub{padding:4px 2px 4px 26px}
.wb .tk-ic{border:0;background:none;padding:0;font-size:calc(15px*var(--bf-type,1));line-height:1;flex:none;color:var(--wb-muted-2,#b5b5b5);cursor:pointer}
.wb .tk-row.sub .tk-ic{font-size:calc(13px*var(--bf-type,1))}
.wb .tk-ic.done{color:var(--wb-green)} .wb .tk-ic.blocked{color:var(--wb-red)} .wb .tk-ic.doing{color:var(--wb-navy,#1e3a5f)}
.wb .tk-main{flex:1;min-width:0}
.wb .tk-t{display:block;font-size:calc(13px*var(--bf-type,1));font-weight:650;color:var(--wb-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;text-decoration:none}
.wb .tk-row.sub .tk-t{font-weight:500;font-size:calc(12.5px*var(--bf-type-sm,1))}
.wb .tk-t.done{color:var(--wb-muted);text-decoration:line-through}
.wb .tk-m{font-size:calc(11px*var(--bf-type-sm,1));color:var(--wb-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}
.wb .tk-m .hot{color:var(--wb-red);font-weight:600}
.wb .tk-p{display:flex;align-items:center;gap:6px;flex:none}
.wb .tk-p span{width:56px;height:3px;border-radius:3px;background:var(--wb-line-2);overflow:hidden}
.wb .tk-p i{display:block;height:100%;background:var(--wb-brand)}
.wb .tk-p b{font-size:calc(11px*var(--bf-type-sm,1));font-weight:600;color:var(--wb-muted);width:30px;text-align:right}
.wb .tk-link,.wb button.tk-link{border:0;background:none;padding:2px 4px;font-size:calc(12px*var(--bf-type-sm,1));font-weight:600;color:var(--wb-muted);flex:none;text-decoration:none;cursor:pointer}
.wb .tk-link:hover{color:var(--wb-brand)}
.wb .tk-add,.wb button.tk-add{border:0;background:none;padding:0;font-size:calc(11px*var(--bf-type-sm,1));font-weight:600;color:var(--wb-muted-2,#9b9b9b);cursor:pointer}
.wb .tk-add:hover{color:var(--wb-brand)}
@media (hover:hover){ .wb .tk-add{opacity:0;transition:opacity .12s} .wb .tk-group:hover .tk-add,.wb .tk-add:focus{opacity:1} }
.wb .tk-more{border:0;background:transparent;color:var(--wb-muted);width:26px;height:26px;border-radius:7px;flex:none}
.wb .tk-more:hover{background:var(--wb-line-2);color:var(--wb-ink)}
.wb .tk-upd{display:grid;gap:7px;margin:0 0 10px 26px;padding:10px;border:1px solid var(--wb-line);border-radius:10px;background:var(--wb-panel)}
.wb .tk-upd[hidden]{display:none}
.wb .tk-upd.sub{margin-left:50px}
.wb .tk-upd textarea{width:100%;border:1px solid var(--wb-line);border-radius:var(--bf-radius-sm,8px);padding:8px 10px;font-size:calc(12.5px*var(--bf-type-sm,1));background:var(--wb-panel);resize:vertical}
.wb .tk-steps{display:flex;gap:4px}
.wb .tk-steps button{flex:1;border:1px solid var(--wb-line);background:transparent;border-radius:var(--bf-btn-radius,7px);padding:5px 0;font-size:calc(12px*var(--bf-type-sm,1));font-weight:600;color:var(--wb-muted)}
.wb .tk-steps button.on{border-color:var(--wb-brand);color:var(--wb-brand)}
.wb .tk-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:calc(11.5px*var(--bf-type-sm,1));color:var(--wb-muted)}
.wb .tk-foot label{display:inline-flex;gap:5px;align-items:center;margin:0}
.wb .tk-foot input[type=file]{max-width:170px;font-size:calc(11px*var(--bf-type-sm,1))}
.wb .tk-foot .tk-save{margin-left:auto}
@media (max-width:520px){ .wb .tk-p span{width:36px} .wb .tk-row{gap:8px} }
.wb .tk-m .tk-add{margin-left:8px}
.wb .tk-m .tk-add:first-child{margin-left:0}
/* grid columns may shrink below their content (long titles ellipsis instead of pushing the page wider) */
.wb .wb-cols > *,.wb .wb-cols2 > *,.wb .wb-cols3 > *,.wb .wb-grid > *{min-width:0}

/* ── public boards (Projects, Jobs…): results + one right-hand column for filters, lists and ads ── */
.pb .wb-page{max-width:1280px;padding-top:16px}
.pb-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}
.pb-side{position:sticky;top:14px;display:grid;gap:10px}
.pb-side,.pb-side>*,.pb-f>*,.pb-f input,.pb-f select{min-width:0}
.pb-side .wb-card{padding:13px}
.pb-side h3{font-family:var(--wb-display);font-size:calc(13.5px*var(--bf-type,1));font-weight:800;margin:0 0 9px}
.pb-f{display:grid;gap:8px}
.pb-f label{font-size:calc(11.5px*var(--bf-type-sm,1));font-weight:700;color:var(--wb-muted);display:block;margin-bottom:4px}
.pb-f input[type=search],.pb-f input[type=email],.pb-f select{width:100%;border:1px solid var(--wb-line);border-radius:var(--bf-radius-sm,9px);padding:8px 10px;background:var(--wb-panel);font-size:calc(12.5px*var(--bf-type-sm,1))}
.pb-st{display:grid;gap:2px}
.pb-st a{display:flex;justify-content:space-between;align-items:center;padding:7px 9px;border-radius:8px;font-size:calc(12.5px*var(--bf-type-sm,1));font-weight:600;color:var(--wb-ink)}
.pb-st a:hover{background:var(--wb-panel-2)}
.pb-st a.on{background:var(--wb-brand-soft);color:var(--wb-brand)}
.pb-st a span{font-size:calc(11px*var(--bf-type-sm,1));font-weight:700;color:var(--wb-muted);background:var(--wb-line-2);border-radius:20px;padding:1px 7px}
.pb-st a.on span{background:var(--wb-panel);color:var(--wb-brand)}
.pb-trend{display:flex;flex-wrap:wrap;gap:5px}
.pb-trend a{font-size:calc(11.5px*var(--bf-type-sm,1));font-weight:600;padding:4px 9px;border-radius:20px;border:1px solid var(--wb-line);color:var(--wb-muted);background:var(--wb-panel)}
.pb-trend a:hover,.pb-trend a.on{border-color:var(--wb-brand);color:var(--wb-brand)}
.pb-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.pb-head select{border:1px solid var(--wb-line);border-radius:var(--bf-radius-sm,9px);padding:7px 10px;background:var(--wb-panel);font-size:calc(12.5px*var(--bf-type-sm,1))}
.pb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
/* Card = one big link (stretched title link); buttons & links inside stay independent. */
.pb-card{position:relative;min-width:0;display:flex;flex-direction:column;padding:16px;cursor:pointer;transition:border-color .12s, box-shadow .12s}
.pb-card:hover{border-color:#cfcfcf;box-shadow:0 6px 18px rgba(17,19,28,.07)}
.pb-card:hover .pb-title{color:var(--wb-brand)}
.pb-card .pb-title::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}
.pb-card a:not(.pb-title),.pb-card button,.pb-card form{position:relative;z-index:2}
.pb-card:focus-within{outline:2px solid var(--wb-brand);outline-offset:2px}
.pb-top{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.pb-owner{font-size:calc(12.5px*var(--bf-type-sm,1));min-width:0;flex:1;line-height:1.3}
.pb-owner b{display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-owner small{color:var(--wb-muted);font-size:calc(11.5px*var(--bf-type-sm,1))}
.pb-title{font-family:var(--wb-display);font-size:calc(17px*var(--bf-type,1));font-weight:800;line-height:1.3;margin:0 0 5px;color:var(--wb-ink);outline:none}
.pb-money{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.pb-money b{font-size:calc(15px*var(--bf-type,1));color:var(--wb-green)}
.pb-desc{font-size:calc(13px*var(--bf-type,1));color:var(--wb-muted);line-height:1.6;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3.2em}
.pb-foot{margin-top:auto;padding-top:10px;border-top:1px solid var(--wb-line-2);display:flex;align-items:center;justify-content:space-between;gap:8px}
.pb-fav{width:32px;height:32px;border-radius:50%;border:1px solid var(--wb-line);background:var(--wb-panel);display:inline-grid;place-items:center;color:var(--wb-muted)}
.pb-fav:hover{color:var(--wb-brand);border-color:var(--wb-brand)}
.pb-row{position:relative;display:grid;grid-template-columns:2.4fr .9fr .9fr .7fr auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--wb-line-2);cursor:pointer}
.pb-row:last-child{border-bottom:0}
.pb-row .pb-title::after{content:"";position:absolute;inset:0;z-index:1}
.pb-row a:not(.pb-title){position:relative;z-index:2}
.pb-row:hover .pb-title{color:var(--wb-brand)}
.pb-ad-house{display:block;padding:14px;border-radius:var(--wb-radius);background:var(--wb-panel-2);border:1px dashed var(--wb-line);text-align:center}
@media(max-width:1080px){.pb-layout{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:900px){.pb-layout{grid-template-columns:1fr}.pb-side{position:static;order:-1}.pb-grid{grid-template-columns:minmax(0,1fr)}.pb-side .pb-hide-sm{display:none}
  .pb-row{grid-template-columns:1fr auto}.pb-row>:nth-child(2),.pb-row>:nth-child(3),.pb-row>:nth-child(4){display:none}
  .pb-side{gap:8px}.pb-side h3{display:none}.pb-f{grid-template-columns:1fr 1fr;align-items:end}.pb-f label{display:none}.pb-f>div:last-child{grid-column:1/-1}#jbAlert{grid-template-columns:1fr}#jbAlert h3{display:flex}
  .pb-st{display:flex;overflow-x:auto;gap:4px}.pb-st a{white-space:nowrap;border:1px solid var(--wb-line)}}

/* ── Shared controls (theme kit). Heights, corners and fills come from Admin → Theme. ── */
.wb-input:focus,.wb-field input:focus,.wb-field select:focus,.wb-field textarea:focus{outline:0;border-color:var(--wb-brand);box-shadow:0 0 0 3px var(--wb-brand-soft)}
.wb-btn.lg,.wb-input.lg{min-height:calc(var(--wb-control-h) + 8px);font-size:calc(14px*var(--bf-type,1))}
.wb-input-icon{position:relative;display:flex;align-items:center;min-width:0}
.wb-input-icon>i{position:absolute;left:12px;color:var(--wb-muted);pointer-events:none;font-size:calc(15px*var(--bf-type,1))}
.wb-input-icon>.wb-input{padding-left:36px}
.wb-input-icon>.wb-input-clear{position:absolute;right:6px;border:0;background:none;color:var(--wb-muted);width:28px;height:28px;border-radius:50%;display:grid;place-items:center}
.wb-input-icon>.wb-input-clear:hover{background:var(--wb-line-2);color:var(--wb-ink)}
.wb-input-icon.has-clear>.wb-input{padding-right:36px}
.wb-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.wb-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--wb-line);border-radius:999px;padding:4px 11px;background:var(--wb-panel);color:var(--wb-ink);font-size:calc(12.5px*var(--bf-type-sm,1));text-decoration:none;white-space:nowrap}
.wb-chip:hover{border-color:var(--wb-muted-2);color:var(--wb-ink)}
.wb-chip.on{border-color:var(--wb-brand);color:var(--wb-brand);background:var(--wb-brand-soft)}
/* Suggestion list for type-to-filter fields (assets/js/bf-search.js) */
.wb-suggest{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:var(--wb-panel);border:1px solid var(--wb-line);border-radius:var(--bf-radius-sm,9px);box-shadow:0 12px 30px rgba(17,19,28,.12);max-height:320px;overflow:auto}
.wb-suggest li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;cursor:pointer;font-size:calc(14px*var(--bf-type,1));color:var(--wb-ink)}
.wb-suggest li small{font-size:calc(12px*var(--bf-type-sm,1));color:var(--wb-muted);white-space:nowrap}
.wb-suggest li.on,.wb-suggest li[data-i]:hover{background:var(--wb-line-2)}
.wb-suggest li.lead{justify-content:flex-start;gap:7px;color:var(--wb-muted);border-bottom:1px solid var(--wb-line-2);border-radius:7px 7px 0 0;margin-bottom:4px}
.wb-suggest li.none{cursor:default;color:var(--wb-muted);font-size:calc(12.5px*var(--bf-type-sm,1))}
/* Progressive search: results fade while the next set loads */
[data-live-results]{transition:opacity .15s}
[data-live-results].is-loading{opacity:.55}