.stepper{display:flex;gap:0;overflow-x:auto;padding:4px 0 8px}.step{flex:1 1;min-width:108px;position:relative;text-align:center;padding:10px 6px 2px;cursor:pointer;border:none;background:none;font:inherit;color:inherit}.step:before{content:"";position:absolute;top:25px;left:0;right:0;height:2px;background:var(--border-2)}.step:first-child:before{left:50%}.step:last-child:before{right:50%}.step.done:before{background:var(--accent)}.step-dot{position:relative;z-index:1;width:30px;height:30px;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12.5px;font-weight:700;background:var(--panel-2);border:2px solid var(--border-2);color:var(--fg-faint);transition:transform .15s ease,box-shadow .15s ease}.step:hover .step-dot{transform:scale(1.12);box-shadow:var(--shadow)}.step.current .step-dot,.step.done .step-dot{background:var(--accent);border-color:var(--accent);color:#fff}.step.current .step-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}.step-label{font-size:12px;font-weight:600;color:var(--fg-faint)}.step.done .step-label{color:var(--fg-dim)}.step.current .step-label{color:var(--fg)}.step-hint{font-size:10.5px;color:var(--fg-faint);margin-top:2px;line-height:1.35}.mini-stepper{display:flex;align-items:center;gap:0;margin:10px 0 4px}.mini-dot{width:9px;height:9px;border-radius:50%;background:var(--border-2);flex-shrink:0}.mini-dot.current,.mini-dot.done{background:var(--accent)}.mini-dot.current{width:12px;height:12px;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.mini-line{flex:1 1;height:2px;background:var(--border-2);min-width:8px}.mini-line.done{background:var(--accent)}.mini-stage-label{font-size:11.5px;color:var(--accent-ink);font-weight:600;margin-top:2px}.proj-card{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.proj-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px}.proj-meta{justify-content:space-between;font-size:12px;color:var(--fg-faint);margin-top:8px}.proj-meta,.proj-sec-head{display:flex;align-items:center}.proj-sec-head{gap:10px;margin:22px 0 10px}.proj-sec-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-dim)}.proj-sec-bar{width:90px;height:4px;border-radius:2px;background:var(--border-2);overflow:hidden}.proj-sec-fill{display:block;height:100%;border-radius:2px;background:var(--accent)}.proj-sec-pct{font-size:11.5px;font-weight:600;color:var(--fg-faint)}.proj-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.proj-chip{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.6;background:var(--panel-2);border:1px solid var(--border);color:var(--fg-dim)}.proj-chip.launch{background:color-mix(in srgb,#7a5cf0 12%,transparent);border-color:color-mix(in srgb,#7a5cf0 35%,transparent);color:#7a5cf0}.kind-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:6px 0 14px}.kind-card{text-align:left;padding:14px;border-radius:12px;cursor:pointer;font:inherit;color:inherit;background:var(--panel-2);border:1.5px solid var(--border);transition:border-color .12s ease,box-shadow .12s ease}.kind-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.kind-card b{display:block;font-size:13.5px;margin-bottom:4px}.kind-card span{font-size:11.5px;color:var(--fg-dim);line-height:1.4}.pjb-board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:12px}.pjb-col{flex:0 0 290px;background:var(--bg-2);border:1px solid var(--border);border-radius:14px}.pjb-col-head{display:flex;align-items:center;gap:8px;padding:12px 14px 10px}.pjb-col-strip{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pjb-col-name{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-dim)}.pjb-col-count{margin-left:auto;font-size:11.5px;font-weight:700;color:var(--fg-faint);background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:1px 8px}.pjb-col-body{display:flex;flex-direction:column;gap:8px;padding:0 8px 8px}.pjb-col-empty{text-align:center;color:var(--fg-faint);font-size:13px;padding:18px 0 22px}.pjb-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:11px 12px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.pjb-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-lift);border-color:var(--border-2)}.pjb-card-top{display:flex;align-items:flex-start;gap:7px}.pjb-svc{font-size:14px;line-height:1.3;flex-shrink:0}.pjb-name{font-size:13.5px;font-weight:600;line-height:1.35}.pjb-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:12px}.pjb-budget{font-weight:700;color:var(--accent-ink)}.pjb-tasks{color:var(--fg-faint);font-size:11.5px}.pjb-progress{height:4px;border-radius:3px;background:var(--border);margin-top:6px;overflow:hidden}.pjb-progress-fill{display:block;height:100%;border-radius:3px;background:var(--accent)}.pjb-card-foot{display:flex;align-items:center;gap:6px;margin-top:9px}.pjb-due{font-size:11px;font-weight:600;color:var(--fg-dim);background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:2px 8px}.pjb-due.overdue{color:var(--red);border-color:color-mix(in srgb,var(--red) 40%,transparent);background:color-mix(in srgb,var(--red) 10%,transparent)}.pjb-ava{margin-left:auto;width:22px;height:22px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-ink))}.pjb-status{font:inherit;font-size:11px;color:var(--fg-dim);margin-left:auto;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:2px 4px;cursor:pointer;max-width:92px}.pjb-ava+.pjb-status{margin-left:0}