/* Onboarding and offboarding (includes/lifecycle-view.php). Builds on ui.css tokens (--u-*). */

.cw-life .cw-field{display:grid;gap:6px;min-width:0}
.cw-life .cw-field > span{font-size:13px;font-weight:500;color:var(--u-mut)}
.cw-life .cw-field input,.cw-life .cw-field select,.cw-life .cw-field textarea{width:100%;min-width:0;max-width:100%}
.cw-life-hint{margin:0;font-size:13px}
.cw-life-cb{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}
.cw-life-inline{display:inline}
.cw-life-stack{display:grid;gap:12px;justify-items:start}
.cw-life-stack .cw-field{width:100%}

/* Progress */
.cw-life-prog{display:flex;align-items:center;gap:10px;min-width:140px}
.cw-life-bar{flex:1;display:block;height:8px;min-width:60px;border-radius:999px;background:var(--u-soft);overflow:hidden}
.cw-life-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--u-a),color-mix(in srgb,var(--u-a) 65%,#22c3a6));transition:width .4s ease}
.cw-life-pct{font-size:12.5px;color:var(--u-mut);font-variant-numeric:tabular-nums;white-space:nowrap}

/* List */
.cw-life-who{display:flex;align-items:center;gap:10px;min-width:0;color:var(--u-ink);text-decoration:none}
.cw-life-who > span:last-child{display:grid;min-width:0}
.cw-life-who b{font-weight:600;overflow-wrap:anywhere}
.cw-life-who small,.cw-life-next small{color:var(--u-mut);font-size:12.5px}
a.cw-life-who:hover b{color:var(--u-a)}
.cw-life-next{display:inline-grid;margin-right:6px}

/* Hero */
.cw-life-hero{display:flex;align-items:center;gap:18px;padding:20px 22px;border:1px solid color-mix(in srgb,var(--u-a) 22%,var(--u-line));border-radius:var(--u-r);background:linear-gradient(135deg,color-mix(in srgb,var(--u-a) 7%,var(--u-card)),var(--u-card) 70%)}
.cw-life-hero__main{flex:1;min-width:0;display:grid;gap:10px}
.cw-life-hero__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:16px}
.cw-life-hero__bar{display:flex;align-items:center;gap:12px;max-width:520px}
.cw-life-hero__sub{margin:0;font-size:13.5px}

/* Layout */
.cw-life-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.cw-life-col{display:grid;gap:16px;min-width:0}
.cw-life-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;align-items:start;min-width:0}
@media (min-width:1400px){.cw-life-grid{grid-template-columns:minmax(0,1fr) 320px}.cw-life-side{grid-template-columns:minmax(0,1fr)}}

/* Tasks */
.cw-life-tasks{container-type:inline-size;list-style:none;margin:0;padding:0;display:grid}
.cw-life-task{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--u-line)}
.cw-life-task:first-child{border-top:0;padding-top:4px}
.cw-life-task:target{background:color-mix(in srgb,var(--u-a) 6%,transparent);border-radius:10px}
.cw-life-task__main{display:grid;gap:4px;min-width:0}
.cw-life-task__t{font-weight:500;overflow-wrap:anywhere}
.cw-life-task.is-done .cw-life-task__t{color:var(--u-mut);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--u-mut) 50%,transparent)}
.cw-life-task__meta{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:12.5px;color:var(--u-mut)}
.cw-life-role{font-weight:500;color:var(--u-ink)}
.cw-life-auto{color:var(--u-g);font-weight:500}
.cw-life-autohint{display:inline-block;white-space:nowrap;padding:1px 7px;border-radius:999px;background:var(--u-vi-bg);color:var(--u-vi);font-size:11.5px;font-weight:500}
.cw-life-task__end{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
@container (min-width:640px){.cw-life-task{grid-template-columns:auto minmax(0,1fr) auto}.cw-life-task__end{grid-column:auto;justify-content:flex-end;max-width:360px}}
.cw-life-due{font-size:13px;color:var(--u-mut);font-variant-numeric:tabular-nums;white-space:nowrap}
.cw-life-task.is-late .cw-life-due{color:var(--u-red)}

.cw-life-box{display:inline-grid;place-items:center;width:22px;height:22px;margin-top:1px;padding:0;border:1.5px solid color-mix(in srgb,var(--u-ink) 30%,transparent);border-radius:7px;background:var(--u-card);cursor:pointer;transition:background .15s,border-color .15s}
.cw-life-box:hover{border-color:var(--u-a)}
.cw-life-box:focus-visible{outline:2px solid var(--u-a);outline-offset:2px}
.cw-life-box[aria-pressed="true"],.cw-life-box[data-done]{background:var(--u-g);border-color:var(--u-g)}
.cw-life-box[aria-pressed="true"]::after,.cw-life-box[data-done]::after{content:"";width:6px;height:11px;margin-top:-2px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.cw-life-box.is-static{cursor:default;opacity:.85}

.cw-life-assign{display:flex;align-items:center;gap:6px}
.cw-life-assign select{max-width:160px;font-size:13px;padding:4px 6px}

.cw-life-notes summary{cursor:pointer;font-size:12.5px;color:var(--u-a);width:max-content}
.cw-life-notes[open]{display:grid;gap:8px}
.cw-life-note{display:flex;gap:8px;font-size:13.5px}
.cw-life-note p{margin:2px 0 0;overflow-wrap:anywhere}
.cw-life-note__f{display:flex;gap:8px;align-items:flex-end}
.cw-life-note__f textarea{flex:1;min-width:0}
.cw-life-link{display:flex;gap:8px;margin-top:4px}
.cw-life-link input{flex:1;min-width:0;font-size:13px}

/* Equipment */
.cw-life-eq{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:10px}
.cw-life-eq li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.cw-life-eq li > span:first-child{display:grid;flex:1 1 140px;min-width:0}
.cw-life-eq small{color:var(--u-mut);font-size:12px}
.cw-life-eq__acts{display:flex;gap:10px;width:100%;font-size:13px}
.cw-life-del{color:var(--u-red)}
.cw-life-add summary{cursor:pointer;color:var(--u-a);font-size:14px;margin-bottom:8px}
.cw-life-state{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--u-line)}

/* Templates */
.cw-life-tpls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:20px;align-items:start}
.cw-life-tpl__sec{margin:14px 0 6px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--u-mut)}
.cw-life-tpl__sec:first-child{margin-top:0}
.cw-life-tpl__list{list-style:none;margin:0;padding:0;display:grid}
.cw-life-tpl__list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding:8px 0;border-top:1px solid var(--u-line);font-size:14px}
.cw-life-tpl__list li:first-child{border-top:0}
.cw-life-tpl__list small{color:var(--u-mut)}

/* Drawer */
.cw-life-drawer{position:fixed;inset:0 0 0 auto;width:min(460px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:18px 0 0 18px;background:#fff;color:var(--u-ink);box-shadow:-20px 0 60px rgba(20,10,40,.18)}
.cw-life-drawer--wide{width:min(760px,100vw)}
.cw-life-drawer::backdrop{background:rgba(20,10,40,.35)}
.cw-life-drawer[open]{animation:cw-life-in .22s cubic-bezier(.2,.8,.2,1)}
@keyframes cw-life-in{from{transform:translateX(24px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.cw-life-drawer[open]{animation:none}}
.cw-life-drawer__f{display:flex;flex-direction:column;height:100%}
.cw-life-drawer__h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--u-line)}
.cw-life-drawer__h h2{margin:0;font-size:18px}
.cw-life-drawer__b{flex:1;overflow:auto;padding:18px 22px;display:grid;gap:14px;align-content:start}
.cw-life-drawer__ft{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--u-line)}
.cw-life-x{width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--u-ink);font-size:22px;line-height:1;cursor:pointer}
.cw-life-x:hover{background:var(--u-soft)}
.cw-life-trows{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cw-life-trow{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) 90px minmax(0,1.3fr);gap:8px 10px;align-items:end;padding:12px;border:1px solid var(--u-line);border-radius:12px}
.cw-life-trow.is-new{border-style:dashed}
.cw-life-trow{align-items:start}
.cw-life-trow .cw-field input,.cw-life-trow .cw-field select{height:40px;margin:0;box-sizing:border-box}
.cw-life-trow__x{grid-column:1/-1;font-size:13px;color:var(--u-mut)}
@media (max-width:720px){.cw-life-trow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cw-life-trow__t{grid-column:1/-1}}

/* Phones */
@media (max-width:600px){
	.cw-life-hero{flex-direction:column;align-items:flex-start;padding:16px}
	.cw-life-drawer{border-radius:0}
	.cw-life-assign select{max-width:100%}
}
.cw-life .cw-link{padding:0;border:0;background:none;color:var(--u-a);font:inherit;font-size:13px;font-weight:500;cursor:pointer;text-align:left}
.cw-life .cw-link:hover{text-decoration:underline}
.cw-life .cw-life-del{color:var(--u-red)}
[data-theme="dark"] .cw-life-drawer{background:#1a1428;box-shadow:-20px 0 60px rgba(0,0,0,.5)}
.cw-life-drawer .cw-life-trow{background:var(--u-card)}

/* Polish: section progress, overdue rows, offboarding facts, access box */
.cw-life-secprog{display:inline-flex;align-items:center;gap:8px}
.cw-life-secprog .cw-life-bar{width:72px;flex:none;height:6px;min-width:0}
.cw-life-sec.is-complete .cw-life-secprog .cw-life-bar i{background:var(--u-g)}
.cw-life-task.is-late{box-shadow:inset 3px 0 0 var(--u-red);padding-left:10px;margin-left:-10px;border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--u-red) 4%,transparent)}
.cw-life-task.is-late + .cw-life-task{border-top-color:transparent}
.cw-life-hero .cw-ui-avatar,.cw-life-hero > img{flex:none}
.cw-life-facts{display:flex;flex-wrap:wrap;gap:8px}
.cw-life-fact{display:inline-grid;gap:1px;padding:6px 12px;border:1px solid var(--u-line);border-radius:10px;background:var(--u-card);font-size:13.5px;font-weight:500;color:var(--u-ink)}
.cw-life-fact small{font-size:11.5px;font-weight:500;color:var(--u-mut)}
.cw-life-fact.is-yes{border-color:color-mix(in srgb,var(--u-g) 35%,var(--u-line))}
.cw-life-fact.is-no{border-color:color-mix(in srgb,var(--u-red) 35%,var(--u-line))}
.cw-life-access{border-color:color-mix(in srgb,var(--u-red) 25%,var(--u-line));background:linear-gradient(180deg,color-mix(in srgb,var(--u-red) 5%,var(--u-card)),var(--u-card) 60%)}
.cw-life-access p{margin:0}
.cw-life-link{padding:8px;border:1px dashed var(--u-line);border-radius:10px;background:var(--u-soft)}
.cw-life-task__main .cw-link{width:max-content;max-width:100%}
.cw-life-listcard .cw-life-prog{min-width:160px}
