.sidebar{overflow-y:auto}.sidebar .logo{margin-bottom:22px}.sidebar nav{gap:3px}.sidebar nav button{padding:10px 12px;font-size:14px}.sidebar-bottom{padding-top:18px}.demo{font-size:14px}.two-cards{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.client-card>.actions,.work-card-body>.actions{margin-top:18px}.kanban{display:flex;gap:16px;overflow-x:auto;align-items:stretch;padding:0 0 20px;min-height:460px}.lane{flex:0 0 265px;background:#e7edf3;border:1px solid #dce3eb;border-radius:8px;padding:15px}.lane>h2{font-size:16px;min-height:52px;display:flex;gap:12px;justify-content:space-between}.lane>h2>span{font:14px Arial;background:white;border-radius:12px;height:24px;min-width:24px;text-align:center;padding:2px}.kanban-card{background:white;border:1px solid var(--line);border-radius:7px;padding:16px;margin-bottom:14px;box-shadow:0 2px 4px #30455b08}.kanban-card[draggable=true]{cursor:grab}.kanban-card h3{margin:10px 0}.kanban-card h3 button{text-align:left;font-size:16px;color:var(--blue)}.kanban-card>small{font-size:13px;color:#52697d}.kanban-card>p{font-size:14px;margin:12px 0}.kanban-card>button{margin-top:15px;width:100%}.due{display:inline-block;padding:5px 8px;border-radius:4px;font-size:14px;font-weight:500}.due.ontime{background:#e7f1e2;color:#365234}.due.soon{background:#fff2cc;color:#695316}.due.urgent{background:#ffe1c2;color:#793d11}.due.late{background:#f9dedd;color:#8c2420}.blocked{border-left:3px solid #c6a34c;padding-left:9px;color:#6d571f}.toolbar label{display:grid;gap:5px;min-width:180px}.search-label{display:grid;gap:8px;margin-bottom:24px;font-size:14px}.search-label input{max-width:680px;padding:14px}.vendor-group{background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:18px;overflow:hidden}.vendor-group summary{padding:18px 22px;font-weight:600;color:var(--blue);cursor:pointer;background:#eaf0f5}.vendor-group summary span{font-weight:400;margin-left:12px}.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.checklist{border:1px solid var(--line);padding:16px;border-radius:7px}.check-row{display:flex;align-items:start;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.check-row input{width:18px;margin-top:4px}.check-row>div{flex:1}.check-row small{display:block;color:var(--muted);font-size:13px}.check-row .done{text-decoration:line-through;color:var(--muted)}.check-row .due{display:block;margin-top:5px}.history-entry{border-left:2px solid var(--ice);padding:6px 12px}.history-entry small{display:block;color:var(--muted)}dialog{max-width:850px;max-height:90vh;overflow-y:auto}.form>details{border:1px solid var(--line);padding:14px;border-radius:6px}.form>details>summary{cursor:pointer;color:var(--blue);margin-bottom:8px}.form .check-label{display:flex}.form .check-label input{width:18px}.period-cell{min-width:150px;white-space:nowrap}.period-cell b{color:var(--accent)}.period-chart{display:flex;gap:16px;overflow:auto;padding:15px 0}.period-chart>div{min-width:90px;flex:1;text-align:center}.period-chart small{display:block;font-size:12px}.chart-bars{height:160px;display:flex;align-items:end;justify-content:center;gap:6px;border-bottom:1px solid var(--line)}.chart-bars span,.chart-bars b{display:block;width:24px;background:var(--blue);min-height:1px}.chart-bars b{background:#0302ad}.chart-legend{display:flex;gap:20px;font-size:14px;color:var(--blue)}.chart-legend span+span{color:var(--accent)}.photo-editor{display:grid;grid-template-columns:1fr 1fr;gap:20px}.photo-editor img{width:100%;height:170px;object-fit:contain;background:#edf1f4}.report-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px}.report-photos figure{margin:0;break-inside:avoid}.report-photos img{width:100%;max-height:300px;object-fit:contain}.report-photos figcaption{font-size:14px;white-space:pre-line;margin-top:8px}th{font-size:14px}td small{font-size:13px}.panel-head small{font-size:15px;margin-left:12px}.work-card-top small{font-size:14px}.note,.quiet{font-size:14px}@media(max-width:750px){.two-cards,.photo-editor,.report-photos{grid-template-columns:1fr}.lane{flex-basis:260px}}@media print{.report-photos figure{break-inside:avoid}.report-photos img{max-height:90mm}.report-photos{gap:8mm}}
