.theme-switcher{z-index:1000;border:1px solid var(--color-border);width:252px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border-radius:12px;padding:.75rem .8rem;position:fixed;top:50%;right:.75rem;transform:translateY(-50%)}.theme-switcher__section+.theme-switcher__section{border-top:1px solid var(--color-border);margin-top:.6rem;padding-top:.6rem}.theme-switcher__title{font-family:var(--font-heading);color:var(--color-text);margin:0 0 .35rem;font-size:.88rem}.theme-switcher__hint{display:none}.theme-switcher__options{grid-template-columns:repeat(2,1fr);gap:.35rem;display:grid}.theme-switcher__btn{text-align:left;border:1px solid var(--color-border);background:var(--color-surface-muted);cursor:pointer;font:inherit;border-radius:8px;gap:.25rem;padding:.38rem .42rem;transition:border-color .15s,box-shadow .15s;display:grid}.theme-switcher__preview{border:1px solid #00000014;border-radius:5px;height:32px;display:block}.theme-switcher__preview--color{background-repeat:no-repeat;background-size:cover}.theme-switcher__btn:hover{box-shadow:0 2px 8px #0000000f}.theme-switcher__btn--active{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 25%, transparent)}.theme-switcher__label{color:var(--color-text);font-size:.72rem;font-weight:600;line-height:1.2}.theme-switcher__desc{display:none}.theme-switcher__btn--natural{background:linear-gradient(135deg,#c8dfc9,#edf7ef);border-color:#3d7a52}.theme-switcher__btn--earth{background:linear-gradient(135deg,#f0c9a8,#fae8d8);border-color:#b85c38}.theme-switcher__btn--minimal{background:linear-gradient(135deg,#fff,#e8e8e8);border-color:#111}.theme-switcher__btn--illustrated{background:linear-gradient(135deg,#ddd0f5,#ffe8d6);border-color:#6b4fa8}.theme-switcher__logo-grid{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.theme-switcher__logo-btn{aspect-ratio:1;border:1px solid var(--color-border);cursor:pointer;background:#f5efe6;border-radius:6px;place-items:center;min-height:42px;padding:.28rem;transition:border-color .15s;display:grid;position:relative}.theme-switcher__logo-btn--active{border-color:var(--color-primary);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-primary) 35%, transparent)}.theme-switcher__logo-btn img,.theme-switcher__logo-thumb{object-fit:contain;width:100%;height:100%;display:block}.theme-switcher__logo-num{color:#0006;font-size:.55rem;font-weight:700;line-height:1;position:absolute;bottom:0;right:1px}.theme-switcher__logo-current{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin:.4rem 0 0;font-size:.7rem;font-weight:600;overflow:hidden}.theme-switcher__slider{cursor:pointer;gap:.35rem;margin-top:.65rem;display:grid}.theme-switcher__slider-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.theme-switcher__slider-label{color:var(--color-text);font-size:.68rem;font-weight:600}.theme-switcher__slider-value{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.62rem;font-weight:600}.theme-switcher__slider-input{width:100%;accent-color:var(--color-primary);cursor:pointer;margin:0}.theme-switcher__meta{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin-top:.6rem;padding-top:.55rem;font-size:.6rem;line-height:1.35}.theme-switcher__meta p{margin:0}.theme-switcher__meta p+p{margin-top:.2rem}.theme-switcher__version{font-variant-numeric:tabular-nums}.theme-switcher__meta a{color:var(--color-primary-dark);text-decoration:none}.theme-switcher__meta a:hover{text-decoration:underline}.theme-switcher__fab,.theme-switcher__backdrop{display:none}@media (width<=1180px){.theme-switcher__fab{top:max(.75rem, env(safe-area-inset-top));right:max(.85rem, env(safe-area-inset-right));z-index:1001;border:2px solid var(--color-border);width:3.25rem;height:3.25rem;box-shadow:var(--shadow);cursor:pointer;background:#f5efe6;border-radius:999px;place-items:center;padding:.4rem;transition:border-color .2s,box-shadow .2s;display:grid;position:fixed;bottom:auto}.theme-switcher__fab--open{z-index:1002;border-color:var(--color-primary);box-shadow:0 4px 16px #00000024}.theme-switcher__fab-logo{object-fit:contain;filter:contrast(1.45)saturate(1.35)brightness(.82);width:2rem;height:2rem}.theme-switcher__backdrop{z-index:999;cursor:pointer;opacity:1;background:#00000059;border:none;padding:0;transition:opacity .36s;display:block;position:fixed;inset:0}.theme-switcher__backdrop--closing{opacity:0;pointer-events:none}.theme-switcher--mobile{width:auto;max-width:none;max-height:min(88vh,720px);padding:0 .85rem calc(.85rem + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;pointer-events:none;visibility:hidden;border-radius:16px 16px 0 0;transition:transform .36s cubic-bezier(.32,.72,0,1);inset:auto 0 0;overflow-y:auto;transform:translateY(100%)}.theme-switcher--mobile.theme-switcher--open:not(.theme-switcher--closing){pointer-events:auto;visibility:visible;transform:translateY(0)}.theme-switcher--mobile.theme-switcher--closing{pointer-events:none;visibility:visible;transform:translateY(100%)!important}.theme-switcher--mobile.theme-switcher--dragging{transition:none}.theme-switcher--mobile.theme-switcher--open:not(.theme-switcher--dragging):not(.theme-switcher--closing){transition:transform .36s cubic-bezier(.32,.72,0,1)}.theme-switcher__sheet-handle{background:color-mix(in srgb, var(--color-text-muted) 45%, transparent);border-radius:999px;flex-shrink:0;width:2.75rem;height:.28rem;margin:.45rem auto .15rem}.theme-switcher__sheet-head{z-index:1;border-bottom:1px solid var(--color-border);background:#fffffff5;justify-content:space-between;align-items:center;gap:.75rem;margin:0 -.85rem .5rem;padding:.65rem .85rem .55rem;display:flex;position:sticky;top:0}.theme-switcher__sheet-title{font-family:var(--font-heading);color:var(--color-text);margin:0;font-size:1rem;font-weight:600}.theme-switcher__close{border:1px solid var(--color-border);background:var(--color-surface-muted);width:2rem;height:2rem;color:var(--color-text);cursor:pointer;border-radius:999px;place-items:center;padding:0;font-size:1.35rem;line-height:1;display:grid}.theme-switcher__logo-btn{min-height:48px}.theme-switcher__btn{min-height:44px}}@media (width<=520px){.theme-switcher__logo-grid{grid-template-columns:repeat(5,1fr)}.theme-switcher__logo-btn{min-height:44px;padding:.2rem}}.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}html[data-theme=natural]{--color-bg-gradient:linear-gradient(145deg, #dcefe0 0%, #f2f8ef 35%, #c8dfc9 100%);--color-surface:#ffffffeb;--color-surface-muted:#edf7ef;--color-input-bg:#fff;--color-text:#1e3d28;--color-text-muted:#4a6b52;--color-primary:#3d7a52;--color-primary-dark:#2a5c3a;--color-secondary:#b8d9be;--color-border:#3d7a5259;--color-sticky-bar:#dcefe0f5;--color-accent:#3d7a52;--shadow:0 16px 40px #1e3d2829;--radius:18px;--radius-sm:12px;--font:"Nunito Sans", "Segoe UI", sans-serif;--font-heading:"Cormorant Garamond", Georgia, serif;--pattern-opacity:.28;--pattern-size:155px;--decor-opacity:.34;--decor-size:min(40vw, 320px)}html[data-theme=earth]{--color-bg-gradient:linear-gradient(150deg, #f0c9a8 0%, #fae8d8 40%, #d4a07a 100%);--color-surface:#fff8f0f0;--color-surface-muted:#faefe3;--color-input-bg:#fffaf5;--color-text:#3d2214;--color-text-muted:#7a4a32;--color-primary:#b85c38;--color-primary-dark:#943d22;--color-secondary:#e8c4a8;--color-border:#b85c3866;--color-sticky-bar:#fae8d8f5;--color-accent:#b85c38;--shadow:0 16px 38px #64321933;--radius:22px;--radius-sm:14px;--font:"Source Sans 3", "Segoe UI", sans-serif;--font-heading:"Playfair Display", Georgia, serif;--pattern-opacity:.24;--pattern-size:155px;--decor-opacity:.26;--decor-size:min(40vw, 320px)}html[data-theme=minimal]{--color-bg-gradient:linear-gradient(180deg, #fff 0%, #e8e8e8 100%);--color-surface:#fff;--color-surface-muted:#f5f5f5;--color-input-bg:#fff;--color-text:#111;--color-text-muted:#555;--color-primary:#111;--color-primary-dark:#000;--color-secondary:#eee;--color-border:#ccc;--color-sticky-bar:#fffffffa;--color-accent:#111;--shadow:0 1px 0 #ddd, 0 8px 24px #00000012;--radius:4px;--radius-sm:2px;--font:"Inter", "Segoe UI", sans-serif;--font-heading:"Inter", "Segoe UI", sans-serif;--pattern-opacity:.18;--pattern-size:145px;--decor-opacity:.18;--decor-size:min(36vw, 280px)}html[data-theme=illustrated]{--color-bg-gradient:linear-gradient(135deg, #ddd0f5 0%, #ffe8d6 45%, #c5f0e3 100%);--color-surface:#fffffff2;--color-surface-muted:#faf5ff;--color-input-bg:#fff;--color-text:#2d2450;--color-text-muted:#5e4f8a;--color-primary:#6b4fa8;--color-primary-dark:#523a88;--color-secondary:#e8d9ff;--color-border:#6b4fa859;--color-sticky-bar:#ede4fff5;--color-accent:#6b4fa8;--shadow:0 18px 44px #50328233;--radius:26px;--radius-sm:16px;--font:"Quicksand", "Segoe UI", sans-serif;--font-heading:"Comfortaa", "Segoe UI", sans-serif;--pattern-opacity:.3;--pattern-size:155px;--decor-opacity:.36;--decor-size:min(40vw, 320px)}html[data-theme]{min-height:100%}html[data-theme]:before{content:"";z-index:-3;background:var(--color-bg-gradient);pointer-events:none;position:fixed;inset:0}html[data-theme]:after{content:"";z-index:-2;background-image:var(--pattern-image);background-size:var(--pattern-size,120px);opacity:var(--pattern-opacity);pointer-events:none;clip-path:var(--pattern-clip-path);background-position:0 100%;background-repeat:repeat;position:fixed;inset:0}html[data-theme] body:after{content:"";width:var(--decor-size);height:var(--decor-size);z-index:-1;background-image:var(--decor-image);opacity:var(--decor-opacity);pointer-events:none;background-position:0 100%;background-repeat:no-repeat;background-size:contain;position:fixed;bottom:-16px;left:-16px}@media (width<=1180px){html[data-theme=natural],html[data-theme=earth],html[data-theme=illustrated]{--decor-size:min(32vw, 200px);--decor-opacity:.22}html[data-theme=minimal]{--decor-size:min(28vw, 160px);--decor-opacity:.14}}html[data-theme] .page-header h1,html[data-theme] .auth-card h1{font-family:var(--font-heading)}html[data-theme] .page-header{border-bottom:3px solid var(--color-accent);padding-bottom:1rem}html[data-theme] .form-section h2{border-left:4px solid var(--color-accent);color:var(--color-text);padding-left:.75rem}html[data-theme=natural] .page-header h1{color:var(--color-primary-dark);font-size:2.4rem}html[data-theme=earth] .page-header h1{color:var(--color-primary-dark);font-size:2.3rem}html[data-theme=minimal] .page-header h1{letter-spacing:-.03em;text-transform:uppercase;font-size:1.75rem;font-weight:700}html[data-theme=illustrated] .page-header h1{color:var(--color-primary);font-size:2rem}html[data-theme=natural] .auth-card h1:before{content:"🌿 "}html[data-theme=earth] .auth-card h1:before{content:"☀ "}html[data-theme=illustrated] .auth-card h1:before{content:"🧘 "}html[data-theme=natural] .auth-card,html[data-theme=earth] .auth-card,html[data-theme=illustrated] .auth-card{border-top:6px solid var(--color-accent)}html[data-theme=minimal] .form-section,html[data-theme=minimal] .card,html[data-theme=minimal] .list-toolbar,html[data-theme=minimal] .auth-card{box-shadow:none;border:1px solid #ccc}html[data-theme=minimal] .page-header{border-bottom:2px solid #111}html[data-theme=minimal] .btn{border-radius:4px}html[data-theme=minimal] .btn--primary{letter-spacing:.02em;text-transform:uppercase;border-radius:4px;font-size:.85rem;font-weight:600}html[data-theme=natural] .form-section,html[data-theme=earth] .form-section,html[data-theme=illustrated] .form-section,html[data-theme=natural] .card,html[data-theme=earth] .card,html[data-theme=illustrated] .card,html[data-theme=natural] .list-toolbar,html[data-theme=earth] .list-toolbar,html[data-theme=illustrated] .list-toolbar,html[data-theme=natural] .auth-card,html[data-theme=earth] .auth-card,html[data-theme=illustrated] .auth-card{border:1px solid var(--color-border)}html[data-theme=natural] .btn--primary,html[data-theme=earth] .btn--primary,html[data-theme=illustrated] .btn--primary{box-shadow:0 6px 18px color-mix(in srgb, var(--color-primary) 45%, transparent)}html[data-theme=earth] .status-badge--completed{color:#5c3018;background:#e8c4a8}html[data-theme=illustrated] .status-badge--draft{color:#523a88;background:#e8d9ff}html[data-theme=illustrated] .btn,html[data-theme=natural] .letter-chip--active,html[data-theme=earth] .letter-chip--active,html[data-theme=illustrated] .letter-chip--active{font-weight:700}:root{--color-danger:#b94a48}*{box-sizing:border-box}body{font-family:var(--font);color:var(--color-text);z-index:0;background:0 0;min-height:100vh;margin:0;position:relative}.page-header h1,.auth-card h1,.form-section h2,.theme-switcher__title{font-family:var(--font-heading)}a{color:inherit}.page{max-width:960px;padding:2rem 1rem 4rem;padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));margin:0 auto}@media (width>=1181px){.page{padding-right:11rem}}@media (width<=1180px){.page{padding-top:calc(4.75rem + env(safe-area-inset-top));padding-bottom:1.25rem}.auth-page{padding:calc(4.75rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) 1rem max(1rem, env(safe-area-inset-left));align-content:center}.auth-card{padding:1.5rem}.auth-card h1{font-size:1.55rem}}.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;line-height:1.15}.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;transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.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:var(--color-input-bg);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);background:var(--color-surface-muted);color:var(--color-text);min-width:2.2rem;font:inherit;cursor:pointer;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.85rem;line-height:1.2}.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:var(--color-input-bg);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{z-index:500;background:var(--color-sticky-bar);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-wrap:wrap;gap:.75rem;padding:1rem 0;display:flex;position:sticky;bottom:1rem}@media (width<=1180px){.page:has(.intake-form){padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.form-actions{padding:.65rem max(.85rem, env(safe-area-inset-left)) calc(.65rem + env(safe-area-inset-bottom)) max(.85rem, env(safe-area-inset-right));border-top:1px solid var(--color-border);flex-wrap:nowrap;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #0000001f}.form-actions .btn{white-space:normal;text-align:center;width:100%;min-width:0;min-height:2.65rem;padding:.55rem .35rem;font-size:.74rem;line-height:1.2}}.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:var(--color-surface-muted);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{background:var(--color-surface-muted);border-radius:var(--radius-sm);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}.page-header h1{font-size:1.65rem}.page-header__actions,.card__actions{width:100%}.card__actions .btn,.page-header__actions .btn{flex:1;min-height:2.75rem}.form-section{padding:1.1rem}.form-section h2{font-size:1.05rem}.list-toolbar{padding:1rem}.btn{min-height:2.75rem}.attachment-item{grid-template-columns:64px 1fr}.attachment-item img,.attachment-file{width:64px;height:64px}}
