/* One vacancy per row, with small candidate tiles across the process. */
.pipe-lanes-scroll{max-width:100%;overflow:auto;border:1px solid #dce3d7;border-radius:8px;background:#fff;scrollbar-width:thin;overscroll-behavior-x:contain}
.pipe-lanes{min-width:790px;--lane-cols:210px repeat(4,minmax(140px,1fr))}
.pipe-lanes.with-archive{min-width:930px;--lane-cols:210px repeat(5,minmax(140px,1fr))}
.lane-head,.lane-row{display:grid;grid-template-columns:var(--lane-cols)}
.lane-head{background:#edf2e7;color:#55694b;font-size:11px;line-height:1.3}
.lane-head>span{display:flex;align-items:center;gap:7px;padding:12px;border-right:1px solid #dce3d7;font-weight:500;min-height:40px}
.lane-head>span:first-child,.lane-job{position:sticky;left:0;z-index:2;background:#f6f8f2;box-shadow:1px 0 #dce3d7}
.lane-head>span:first-child{background:#edf2e7}
.lane-row{border-top:1px solid #e0e6da;min-height:110px}
.lane-job{padding:12px 13px;color:#344a30;display:flex;flex-direction:column;justify-content:center;min-width:0}
.lane-job-title button{display:block;border:0;background:none;padding:0;min-height:44px;text-align:left;width:100%;color:inherit;cursor:pointer;font:inherit}
.lane-job-title strong{font-size:12px;font-weight:600;line-height:1.4;display:block;overflow-wrap:anywhere}
.lane-job-title span{display:block;font-size:11px;line-height:1.45;color:#68785f;margin-top:3px;overflow-wrap:anywhere}
.lane-job>small{display:block;font-size:10px;line-height:1.5;color:#718269;margin-top:6px}
.lane-job-warning{display:flex;gap:6px;align-items:center;font-size:10px;font-weight:600;line-height:1.45;color:#a33532;margin-top:8px}
.lane-job-alert{box-shadow:inset 3px 0 #c3544e,1px 0 #dce3d7;background:#fcf4f0}
.lane-cell{display:flex;align-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:7px;padding:9px;min-width:0;border-right:1px solid #e6ebdf;background:#fff;position:relative}
.lane-cell:last-child{border-right:0}
.lane-interview1{background:#fafcf9}.lane-interview2{background:#fafbfc}.lane-hired{background:#f4f8ee}.lane-rejected{background:#f8f5f3}
.lane-empty{color:#d0d9c9;font-size:14px;align-self:center;margin:auto;user-select:none}
.lane-tile.pipe-card{flex:1 1 132px;max-width:180px;min-width:0;padding:7px 8px;border:1px solid #dce4d6;border-radius:6px;box-shadow:0 1px 2px #22361c06;background:#fff;cursor:grab;transition:background .15s}
.lane-tile-top{display:flex;align-items:center;gap:3px}
.lane-tile .pipe-card-open{min-height:30px;gap:6px;min-width:0}
.lane-tile .pipe-card-open strong{font-size:11px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}
.lane-tile .pipe-card-open small{font-size:9px;line-height:1.4;margin-top:2px;color:#78846f}
.lane-tile .pipe-avatar{width:22px;height:26px;border-radius:50% 50% 5px 5px}
.lane-tile .pipe-avatar svg{width:20px;height:24px}
.lane-move{align-self:stretch;flex-shrink:0;width:23px;min-height:30px;padding:0;border:0;background:transparent;border-radius:3px;font-size:21px;line-height:1;color:#8a9880;cursor:grab;touch-action:manipulation}
.lane-move:hover{background:#edf3e5;color:#355534}
.lane-next{display:flex;align-items:center;gap:5px;border:0;background:transparent;padding:3px 0 0;color:#5e7752;text-align:left;line-height:1.4;font:inherit;font-size:10px;cursor:pointer;width:100%;min-height:18px}
.lane-wait{display:block;font-size:9px;color:#aa635b;line-height:1.4;margin-top:2px}
.lane-tile.lane-alert{border-color:#d99288;background:#fff8f5;animation:laneRedPulse 3s ease-in-out infinite}
.lane-alert .lane-next{color:#a63831}.lane-alert-dot{display:inline-block;width:5px;height:5px;flex-shrink:0;border-radius:100%;background:#c35048}
.lane-job-warning .lane-alert-dot{animation:laneDotPulse 3s ease-in-out infinite}
.lane-tile.is-hired{background:#f1f7e9;border-color:#c3d4ae}
.lane-tile.tile-selected{outline:2px solid #567d45;outline-offset:2px;animation:none}
.lane-tile.pipe-saving{border-color:#658c72;background:#f0f7f1;cursor:progress;animation:laneArrive .16s ease-out}
.pipe-saving .lane-move:disabled{cursor:progress;opacity:.45}
.pipe-saving .lane-next{color:#31563f}
@keyframes laneArrive{from{transform:translateY(4px);opacity:.65}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.lane-tile.pipe-saving{animation:none}}
.lane-can-place{padding-bottom:44px;min-height:118px}
.lane-place{position:absolute;bottom:5px;left:5px;right:5px;min-height:36px;border:1px dashed #8ea881;background:#eff7e8;border-radius:4px;font:inherit;font-size:10px;color:#3e6035;cursor:pointer}
.lane-archive{display:flex;align-items:center;gap:6px;min-height:40px;border:1px solid #d4ddcd;border-radius:5px;background:#f8faf5;color:#66785c;font:inherit;font-size:11px;padding:8px 10px;cursor:pointer;white-space:nowrap}
.lane-archive b{font-size:10px;font-weight:500;opacity:.7}.lane-archive[aria-pressed=true]{background:#f4e8e2;border-color:#c99e8f;color:#974f3b}
.lane-instruction{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;line-height:1.6;color:#7b8870;margin:0 0 9px}
.lane-instruction button{border:0;background:none;min-height:32px;color:#60774f;cursor:pointer;font:inherit;text-decoration:underline}
.lane-legend{display:flex;align-items:center;gap:5px}.lane-no-jobs{padding:20px;color:#78876c;font-size:12px}
.pipe-detail .pipe-job-actions{display:flex;flex-wrap:wrap;gap:8px}
.pipe-swimlane-page .pipe-help{font-size:10px;line-height:1.6}
#aidan-concept .lane-next{font-size:10px;line-height:1.4}
#aidan-concept .lane-move{font-size:21px;line-height:1}
#aidan-concept .lane-place{font-size:10px;line-height:1.4}
#aidan-concept .lane-archive{font-size:11px;line-height:1.4}
#aidan-concept .pipe-swimlane-page .pipe-job-filter select,#aidan-concept .pipe-swimlane-page .pipe-search input{font-size:12px;line-height:1.4}
#aidan-concept .lane-instruction button{font-size:10px;line-height:1.4}
@keyframes laneRedPulse{0%,100%{box-shadow:0 0 0 0 #ca544600;border-color:#e3ada5}50%{box-shadow:0 0 0 2px #ca544619;border-color:#c55449}}
@keyframes laneDotPulse{0%,100%{box-shadow:0 0 0 0 #c3504800}50%{box-shadow:0 0 0 4px #c3504825}}
@media(min-width:1101px){.pipe-lanes-scroll:not(:has(.with-archive)){overflow:visible}.pipe-lanes:not(.with-archive)>.lane-head{position:sticky;top:0;z-index:4}.pipe-lanes:not(.with-archive)>.lane-head>span:first-child{border-radius:7px 0 0 0}.pipe-lanes:not(.with-archive)>.lane-head>span:last-child{border-radius:0 7px 0 0}}
@media(min-width:1500px){.pipe-lanes{--lane-cols:235px repeat(4,minmax(140px,1fr))}.pipe-lanes.with-archive{--lane-cols:235px repeat(5,minmax(140px,1fr))}}
@media(max-width:1100px){.pipe-lanes{min-width:740px;--lane-cols:180px repeat(4,minmax(140px,1fr))}.pipe-lanes.with-archive{min-width:880px;--lane-cols:180px repeat(5,minmax(140px,1fr))}.lane-job{padding:10px}.lane-cell{padding:7px}.lane-tile.pipe-card{padding:6px}.lane-tile .pipe-avatar{display:none}}
@media(max-width:700px){.pipe-lanes{min-width:750px;--lane-cols:150px repeat(4,150px)}.pipe-lanes.with-archive{min-width:900px;--lane-cols:150px repeat(5,150px)}.lane-head>span{padding:10px;font-size:10px}.lane-instruction{align-items:flex-start;flex-direction:column;gap:3px}.lane-job-title strong{font-size:11px}.lane-job-title span{font-size:10px}.lane-tile .pipe-card-open,.lane-move{min-height:44px}.lane-tile .pipe-card-open strong{font-size:11px}.lane-move{width:30px}.lane-place{min-height:44px}.lane-can-place{padding-bottom:53px}.lane-archive{min-height:44px;margin-left:auto}.pipe-swimlane-page .pipe-toolbar .pipe-search{flex-basis:auto;flex:1;min-width:150px}.lane-next{min-height:28px}.lane-job-warning{font-size:10px}}
@media(prefers-reduced-motion:reduce){.lane-tile.lane-alert,.lane-job-warning .lane-alert-dot{animation:none}.lane-tile.pipe-card{transition:none}}

/* Each employer appears once; its vacancies retain independent lanes. */
.lane-company-group{border-top:1px solid #cbd9c2}.lane-company-group+.lane-company-group{border-top:6px solid #f3f6ef}.lane-company-heading{background:#e9f0e1;border-bottom:1px solid #d6e1cc;color:#2d4f39}.lane-company-heading>[role=cell]{min-width:0}.lane-company-caption{position:sticky;left:0;width:max-content;max-width:min(560px,100%);display:flex;align-items:center;gap:11px;min-height:37px;padding:8px 14px}.lane-company-caption strong{font-size:13px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.lane-company-caption span{font-size:10px;color:#5c7250;white-space:nowrap}.lane-company-group>.lane-row{border-top:0}.lane-company-group>.lane-row+.lane-row{border-top:1px solid #dce5d4}.lane-company-group .lane-job{padding:10px 13px 10px 22px;justify-content:flex-start}.lane-company-group .lane-job:before{content:'';position:absolute;left:10px;top:21px;width:5px;height:5px;border-radius:50%;background:#acbea0}.lane-company-group .lane-job-title button{min-height:30px}.lane-company-group .lane-job-title strong{font-weight:500!important;font-size:12px!important;line-height:1.5!important}.lane-company-group .lane-job-warning{margin-top:7px}.lane-company-group .lane-job>small{margin-top:5px}
@media(max-width:700px){.lane-company-caption{min-height:40px;gap:8px;padding:9px 11px;max-width:330px}.lane-company-caption strong{font-size:12px}.lane-company-group .lane-job{padding:9px 9px 9px 17px}.lane-company-group .lane-job:before{left:7px}.lane-company-group .lane-job-title button{min-height:44px}}
#aidan-concept .pipe-appointment{display:flex;align-items:flex-start;gap:5px;width:100%;min-width:0;min-height:28px;padding:4px 0 0;border:0;background:transparent;color:#536c5b;font-size:10px;font-weight:400;line-height:1.35;text-align:left;cursor:pointer}
.pipe-appointment svg{flex:none;margin-top:1px}.pipe-appointment-copy{display:grid;gap:1px;min-width:0}.pipe-appointment time{font-size:inherit;font-variant-numeric:tabular-nums;white-space:nowrap}#aidan-concept .pipe-appointment-relative{display:block;margin:0;color:#315440;font-size:11px;font-weight:600;line-height:1.35}.pipe-appointment:hover .pipe-appointment-copy{text-decoration:underline}.pipe-appointment:focus-visible{outline:2px solid #2d5b4b;outline-offset:3px;border-radius:4px}
.pipe-schedule{max-width:540px}.pipe-schedule>p{color:#68796d;line-height:1.6}.pipe-schedule .form label{display:grid;gap:7px}.pipe-schedule input{width:100%;box-sizing:border-box;min-height:46px;font:inherit;padding:10px 12px;border:1px solid #d5dfd6;border-radius:9px;background:#fff;color:#274d41}.pipe-schedule .form>small{color:#68796d;line-height:1.5}.pipe-schedule-actions{display:flex;gap:9px;flex-wrap:wrap}.pipe-schedule-actions .btn{white-space:normal}

/* Dense job rows: a plus beside the title replaces the separate action row. */
#aidan-concept .pipe-swimlane-page .lane-row{min-height:82px}
#aidan-concept .pipe-swimlane-page .lane-company-group+.lane-company-group{border-top-width:3px}
#aidan-concept .pipe-swimlane-page .lane-company-caption{min-height:28px;padding:4px 13px;gap:9px}
#aidan-concept .pipe-swimlane-page .lane-company-caption strong{font-size:12px}
#aidan-concept .pipe-swimlane-page .lane-job{padding:8px 9px 8px 18px;justify-content:flex-start}
#aidan-concept .pipe-swimlane-page .lane-job:before{left:7px;top:17px}
#aidan-concept .pipe-swimlane-page .lane-job-title{display:flex;gap:5px;align-items:flex-start;min-width:0}
#aidan-concept .pipe-swimlane-page .lane-job-title>[data-pipe="job-detail"]{flex:1;min-width:0;min-height:24px;width:auto}
#aidan-concept .pipe-swimlane-page .lane-job-title strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.4!important}
#aidan-concept .pipe-swimlane-page .lane-job-actions>.lane-add-compact{display:grid;place-items:center;flex:0 0 28px;width:28px;min-width:28px;min-height:28px;height:28px;padding:0;border:1px solid #ccd9c3;border-radius:6px;background:#edf4e7;color:#385a3e;cursor:pointer}
#aidan-concept .pipe-swimlane-page .lane-add-compact:hover{background:#dcebcf;border-color:#8aa37b}
#aidan-concept .pipe-swimlane-page .lane-add-compact:focus-visible{outline:2px solid #315640;outline-offset:2px}
#aidan-concept .pipe-swimlane-page .lane-job-warning{margin-top:4px;font-size:10.5px;line-height:1.35}
#aidan-concept .pipe-swimlane-page .lane-job>small{margin-top:3px;font-size:10px;line-height:1.35}
#aidan-concept .pipe-swimlane-page .lane-cell{padding:6px;gap:6px}
#aidan-concept .pipe-swimlane-page .lane-tile.pipe-card{padding:6px 7px}
#aidan-concept .pipe-swimlane-page .lane-next{min-height:21px;padding-top:2px;line-height:1.35}
#aidan-concept .pipe-swimlane-page .lane-wait{line-height:1.35}
#aidan-concept .pipe-swimlane-page .lane-archive[aria-pressed=true]{background:#e8efdf;border-color:#8da37c;color:#36563e}
@media(max-width:700px),(pointer:coarse){
 #aidan-concept .pipe-swimlane-page .lane-job-actions>.lane-add-compact{flex-basis:36px;width:36px;min-width:36px;min-height:36px;height:36px}
 #aidan-concept .pipe-swimlane-page .lane-job-title>[data-pipe="job-detail"]{min-height:36px}
 #aidan-concept .pipe-swimlane-page .lane-next{min-height:28px}
}

/* Keep both actions in their own column so job titles retain their width. */
#aidan-concept .pipe-swimlane-page .lane-job-actions{display:flex;flex-direction:column;align-items:center;gap:3px;flex:0 0 28px;width:28px}
#aidan-concept .pipe-swimlane-page .lane-job-actions>.lane-whatsapp{display:grid;place-items:center;width:28px;min-width:28px;min-height:28px;height:28px;padding:0;border:0;border-radius:6px;background:none;color:#38745e;cursor:pointer}
#aidan-concept .pipe-swimlane-page .lane-job-actions>.lane-whatsapp:hover{background:#e4eedf}
#aidan-concept .pipe-swimlane-page .lane-job-actions>.lane-whatsapp:focus-visible{outline:2px solid #315640;outline-offset:2px}
@media(max-width:700px),(pointer:coarse){
 #aidan-concept .pipe-swimlane-page .lane-job-actions{flex-basis:36px;width:36px}
 #aidan-concept .pipe-swimlane-page .lane-job-actions>.lane-whatsapp{width:36px;min-width:36px;min-height:36px;height:36px}
}
