:root{--bg:#f6f7f9;--panel:#ffffff;--text:#1a1d21;--muted:#5c6470;--accent:#2454ff;--border:#e2e5ea;--danger:#c0392b}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1rem;gap:1rem}.brand{font-weight:700;font-size:1.2rem}.sidebar nav{display:flex;flex-direction:column;gap:.25rem}.nav-link{padding:.4rem .6rem;border-radius:6px;color:var(--muted)}.nav-link:hover{background:var(--bg);color:var(--text)}.sidebar-footer{margin-top:auto;display:grid;grid-gap:.5rem;gap:.5rem}.user-email{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.signout{width:100%;padding:.4rem;border:1px solid var(--border);border-radius:6px;background:var(--panel)}.content{padding:2rem}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.toolbar form{display:flex;gap:.5rem}input[type=email],input[type=search],input[type=tel],input[type=text],select,textarea{font:inherit;padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text)}.btn{display:inline-block;padding:.45rem .9rem;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff}.btn-secondary{border-color:var(--border);background:var(--panel);color:var(--text)}.data-table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.data-table td,.data-table th{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--border)}.data-table th{color:var(--muted);font-weight:600;font-size:.85rem;text-transform:uppercase}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--bg)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.9rem;gap:.9rem;max-width:720px}.field{display:grid;grid-gap:.25rem;gap:.25rem}.field.full{grid-column:1/-1}.field span{font-size:.85rem;color:var(--muted)}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1.25rem}.card h2{margin-top:0;font-size:1.05rem}.inline-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.tag{display:inline-block;padding:.1rem .5rem;border-radius:999px;background:var(--bg);border:1px solid var(--border);font-size:.75rem}.empty,.tag{color:var(--muted)}.empty{padding:2rem 0;text-align:center}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem}.photo-grid figure{margin:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg)}.photo-grid img{width:100%;height:140px;object-fit:cover;display:block}.photo-grid figcaption{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .5rem;font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.status-chip{display:inline-block;padding:.15rem .6rem;border-radius:999px;color:#fff;font-size:.78rem;white-space:nowrap}.overdue{color:var(--danger);font-weight:600}.filter-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.checkbox-list{display:grid;grid-gap:.35rem;gap:.35rem;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;padding:.6rem}.timeline{display:grid;grid-gap:.75rem;gap:.75rem}.timeline-entry{border-left:3px solid var(--border);padding-left:.75rem}.timeline-entry .when{font-size:.78rem;color:var(--muted)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}.cal-cell{background:var(--panel);min-height:96px;padding:.35rem;font-size:.8rem}.cal-cell.other-month{background:var(--bg);color:var(--muted)}.cal-cell .day-num{font-weight:600;margin-bottom:.25rem}.cal-cell.today .day-num{color:var(--accent)}.cal-event{display:block;color:#fff;border-radius:4px;padding:.05rem .35rem;margin-bottom:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-event.overdue-event{outline:2px solid var(--danger)}.cal-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:.78rem;color:var(--muted);padding:0 1px;margin-bottom:.25rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.stat{text-decoration:none;color:inherit;display:block}.stat .stat-value{font-size:1.6rem;font-weight:700}.stat .stat-label{color:#64748b;font-size:.85rem}.tag.active{background:#1a202c;color:#fff}