.body-map__views{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.body-map__panel h3{color:var(--color-text-muted);margin:0 0 .75rem;font-size:1rem}.body-map__svg{width:100%;max-width:220px;margin:0 auto;display:block}.body-outline{fill:none;stroke:var(--color-border);stroke-width:2px}.body-region{fill:#5f8c6e40;stroke:var(--color-primary);stroke-width:1.5px;cursor:pointer;transition:fill .15s,transform .15s}.body-region:hover{fill:#5f8c6e73}.body-region--active{fill:#c25c5c8c;stroke:#a94442}.body-map__selected{background:var(--color-surface);border-radius:var(--radius-sm);margin-top:1rem;padding:.75rem 1rem;font-size:.95rem}:root{--color-bg:#f6f3ee;--color-surface:#fff;--color-text:#2f3431;--color-text-muted:#66706a;--color-primary:#5f8c6e;--color-primary-dark:#4a7058;--color-secondary:#d8e8dd;--color-danger:#b94a48;--color-border:#ddd7cd;--shadow:0 10px 30px #2f343114;--radius:16px;--radius-sm:10px;--font:"Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}body{font-family:var(--font);color:var(--color-text);background:linear-gradient(#f6f3ee 0%,#ece7df 100%);min-height:100vh;margin:0}a{color:inherit}.page{max-width:960px;margin:0 auto;padding:2rem 1rem 4rem}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.page-header h1{margin:.25rem 0 0;font-size:2rem}.page-header p{color:var(--color-text-muted);margin:.5rem 0 0}.page-header__actions{flex-wrap:wrap;gap:.75rem;display:flex}.back-link{color:var(--color-text-muted);margin-bottom:.5rem;text-decoration:none;display:inline-block}.back-link:hover{color:var(--color-primary-dark)}.page-loading,.empty-state{text-align:center;color:var(--color-text-muted);padding:3rem 1rem}.empty-state .btn{margin-top:1rem}.setup-banner{color:#856404;text-align:center;background:#fff3cd;border-bottom:1px solid #ffeeba;padding:.75rem 1rem}.btn{font:inherit;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1.2rem;text-decoration:none;display:inline-flex}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-dark)}.btn--secondary{background:var(--color-secondary);color:var(--color-text)}.btn--ghost{color:var(--color-text-muted);background:0 0}.btn--danger{color:var(--color-danger);background:#f8dede}.btn--small{padding:.35rem .75rem;font-size:.875rem}.btn:disabled{opacity:.6;cursor:not-allowed}.card-list{gap:1rem;display:grid}.list-toolbar{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);gap:1rem;margin-bottom:1.25rem;padding:1.25rem;display:grid}.search-field{gap:.4rem;display:grid}.search-field__label,.letter-filter__label{color:var(--color-text-muted);font-size:.9rem}.search-field input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font:inherit;background:#fff;padding:.75rem .9rem}.letter-filter{gap:.5rem;display:grid}.letter-filter__buttons{flex-wrap:wrap;gap:.4rem;display:flex}.letter-chip{border:1px solid var(--color-border);color:var(--color-text);min-width:2.2rem;font:inherit;cursor:pointer;background:#faf8f5;border-radius:999px;padding:.35rem .65rem}.letter-chip--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.list-toolbar__count{color:var(--color-text-muted);margin:0;font-size:.9rem}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.card h2{margin:0 0 .35rem;font-size:1.2rem}.card__meta{color:var(--color-text-muted);margin:0;font-size:.95rem}.card__actions{flex-wrap:wrap;gap:.5rem;display:flex}.status-badge{border-radius:999px;margin-top:.75rem;padding:.25rem .65rem;font-size:.85rem;display:inline-block}.status-badge--draft{color:#856404;background:#fff3cd}.status-badge--completed{color:#3c763d;background:#dff0d8}.auth-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow);padding:2rem}.auth-card h1{margin:0;font-size:1.6rem}.auth-subtitle{color:var(--color-text-muted)}.auth-form{gap:1rem;display:grid}.auth-form label,.form-field{gap:.4rem;font-size:.95rem;display:grid}.auth-form input,.form-field input,.form-field textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font:inherit;background:#fff;padding:.75rem .9rem}.form-field textarea{resize:vertical;min-height:96px}.form-field__label .required{color:var(--color-danger);margin-left:.2rem}.checkbox-field{align-items:center;gap:.6rem;display:flex!important}.auth-toggle{width:100%;margin-top:1rem}.intake-form{gap:1.5rem;display:grid}.form-section{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.form-section h2{margin:0 0 1rem;font-size:1.15rem}.form-section__grid{gap:1rem;display:grid}.section-hint{color:var(--color-text-muted);margin:0 0 1rem;font-size:.95rem}.form-actions{background:#f6f3eef2;flex-wrap:wrap;gap:.75rem;padding:1rem 0;display:flex;position:sticky;bottom:1rem}.form-error{color:var(--color-danger);margin:0}.feedback{border-radius:var(--radius-sm);margin-bottom:1.25rem;padding:.85rem 1rem;font-size:.95rem}.feedback--success{color:#2f5f2f;background:#dff0d8;border:1px solid #c6e4bc}.form-success{color:#3c763d;margin:0}.attachments{gap:1rem;display:grid}.file-drop{border:2px dashed var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:#faf8f5;place-items:center;padding:1.5rem;display:grid}.file-drop input{display:none}.attachment-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.attachment-item{border-radius:var(--radius-sm);background:#faf8f5;grid-template-columns:80px 1fr;align-items:center;gap:.75rem;padding:.75rem;display:grid}.attachment-item img{object-fit:cover;border-radius:8px;width:80px;height:80px}.attachment-file{background:var(--color-secondary);text-align:center;border-radius:8px;place-items:center;width:80px;height:80px;padding:.25rem;font-size:.75rem;display:grid}.attachment-meta{justify-content:space-between;align-items:center;gap:.5rem;display:flex}@media (width<=720px){.page-header,.card{flex-direction:column;align-items:stretch}.card__actions,.page-header__actions{width:100%}.card__actions .btn,.page-header__actions .btn{flex:1}}
