.lb { flex: 1; min-height: 0; overflow: auto; display: flex; flex-direction: column; gap: 1rem; padding: 1.2rem; }
.lb-top { display: flex; align-items: center; gap: 0.8rem; flex-wrap: wrap; }
.lb-top .grow { flex: 1; }
.seg { display: inline-flex; background: var(--surface); border-radius: var(--radius); padding: 0.25rem; box-shadow: inset 0 0 0 1px var(--border); }
.seg button { min-height: 2.8rem; padding: 0 1.3rem; border-radius: 0.55rem; font-weight: 700; color: var(--text-2); font-size: 1.05rem; }
.seg button[aria-pressed="true"] { background: var(--navy); color: #fff; }
.staff-pill { display: none; align-items: center; gap: 0.4rem; padding: 0.4rem 0.9rem; border-radius: 999px; background: var(--bad-soft); color: var(--bad); font-weight: 700; }
.staff .staff-pill { display: inline-flex; }

.lb-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.panel { background: var(--surface); border-radius: var(--radius-lg); box-shadow: var(--shadow); display: flex; flex-direction: column; overflow: hidden; animation: rise .4s var(--ease) both; }
.panel.focus { box-shadow: 0 0 0 4px var(--warn), var(--shadow-lg); }
.panel-head { display: flex; align-items: center; gap: 0.6rem; padding: 0.8rem 1rem; text-align: start; width: 100%; border-bottom: 1px solid var(--border); }
.panel-head b { font-size: 1.15rem; color: var(--navy); }
.panel-head small { font-size: 0.85rem; color: var(--primary); background: var(--primary-soft); border-radius: 999px; padding: 0.1rem 0.55rem; font-weight: 700; }
.panel-head .more { margin-inline-start: auto; font-size: 0.85rem; color: var(--text-2); }
.rows { padding: 0.4rem 0.6rem 0.7rem; display: flex; flex-direction: column; gap: 0.15rem; }
.rowe { display: flex; align-items: center; gap: 0.7rem; padding: 0.4rem 0.4rem; border-radius: 0.6rem; }
.rowe.new { background: var(--warn-soft); }
.rk { width: 2rem; height: 2rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.95rem; background: var(--muted); color: var(--text-2); flex: none; }
.rk.r1 { background: #FCD34D; color: #78350F; }
.rk.r2 { background: #E2E8F0; color: #334155; }
.rk.r3 { background: #FDBA74; color: #7C2D12; }
.rowe .nm { flex: 1; min-width: 0; font-weight: 700; color: var(--navy); font-size: 1.05rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rowe .sc { color: var(--text-2); font-size: 0.9rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rowe .del { width: 2.4rem; height: 2.4rem; border-radius: 50%; color: var(--bad); background: var(--bad-soft); display: none; align-items: center; justify-content: center; flex: none; }
.rowe .del svg { width: 1.1rem; height: 1.1rem; }
.staff .rowe .del { display: inline-flex; }
.empty { padding: 1rem; text-align: center; color: var(--text-2); display: flex; flex-direction: column; align-items: center; gap: 0.6rem; }
.empty .btn { min-height: 2.6rem; font-size: 0.95rem; }
.panel-foot { display: none; padding: 0 0.8rem 0.8rem; }
.staff .panel-foot { display: block; }
.panel-foot .btn { width: 100%; min-height: 2.6rem; background: var(--bad-soft); color: var(--bad); font-size: 0.95rem; }

.sheet .rows { text-align: start; margin-top: 0.6rem; }
.sheet .rowe .nm { font-size: 1.2rem; }

@media (max-aspect-ratio: 1/1) { .lb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .lb-grid { grid-template-columns: 1fr; } .lb { padding: 0.8rem; } }
