.shell{display:grid;grid-template-columns:240px 1fr;height:100%}.sidebar{display:flex;flex-direction:column;gap:var(--sp-sm);padding:var(--sp-page) var(--sp-md);border-right:1px solid var(--separator);background:var(--surface)}.brand{display:flex;align-items:center;gap:10px;padding:6px var(--sp-md) var(--sp-lg)}.brand-mark{font-size:24px}.brand-name{font-weight:800;letter-spacing:.04em;font-size:17px}.side-nav{display:flex;flex-direction:column;gap:2px;flex:1}.side-foot{border-top:1px solid var(--separator);padding-top:var(--sp-sm)}.side-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-field);color:var(--text-2);font-weight:600;text-decoration:none;transition:background .12s,color .12s}.side-link:hover{background:var(--fill);text-decoration:none}.side-link.active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.content{overflow-y:auto;height:100%;background:var(--bg)}.tabbar{display:none}@media(max-width:860px){.shell{grid-template-columns:1fr}.sidebar{display:none}.content{padding-bottom:64px}.tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;height:56px;padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--separator);z-index:50}.tab{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-3);text-decoration:none}.tab.active{color:var(--accent)}}.page{max-width:900px;margin:0 auto;padding:var(--sp-page)}.page-wide{max-width:1100px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md);margin-bottom:var(--sp-lg)}.page-title{font-size:var(--fs-large);font-weight:800}.section-title{font-size:var(--fs-title);font-weight:700;margin:var(--sp-xl) 0 var(--sp-sm)}:root{--sp-2: 2px;--sp-xs: 4px;--sp-sm: 8px;--sp-md: 12px;--sp-lg: 16px;--sp-page: 20px;--sp-xl: 24px;--r-chip: 8px;--r-field: 12px;--r-panel: 16px;--r-card: 20px;--r-xl: 24px;--c-ok: #2e8b57;--c-warning: #c0842b;--c-danger: #b23b3b;--c-info: #3a4ca8;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--fs-caption: 12px;--fs-sm: 13px;--fs-body: 15px;--fs-title: 20px;--fs-large: 28px;--accent: #014baa;--accent-strong: #014baa;color-scheme:light dark}:root[data-accent=blue]{--accent: #014baa;--accent-strong: #014baa}:root[data-accent=teal]{--accent: #0e7c6f;--accent-strong: #0e7c6f}:root[data-accent=coral]{--accent: #cf5236;--accent-strong: #cf5236}:root[data-accent=violet]{--accent: #5b4bd6;--accent-strong: #5b4bd6}:root,:root[data-theme=light]{--bg: #f2f2f7;--bg-grouped: #f2f2f7;--surface: #ffffff;--surface-2: #f7f7fb;--surface-3: #ececf1;--text: #1c1c1e;--text-2: #6b6b70;--text-3: #98989f;--separator: rgba(60, 60, 67, .14);--fill: rgba(120, 120, 128, .12);--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04)}:root[data-theme=dark]{--bg: #000000;--bg-grouped: #000000;--surface: #1c1c1e;--surface-2: #2c2c2e;--surface-3: #3a3a3c;--text: #ffffff;--text-2: #a1a1a6;--text-3: #6b6b70;--separator: rgba(84, 84, 88, .4);--fill: rgba(120, 120, 128, .24);--shadow: none}:root[data-theme=dark][data-accent=blue]{--accent: #4c90e8}:root[data-theme=dark][data-accent=teal]{--accent: #2fbfae}:root[data-theme=dark][data-accent=coral]{--accent: #f07a5c}:root[data-theme=dark][data-accent=violet]{--accent: #8e7df2}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg: #000000;--bg-grouped: #000000;--surface: #1c1c1e;--surface-2: #2c2c2e;--surface-3: #3a3a3c;--text: #ffffff;--text-2: #a1a1a6;--text-3: #6b6b70;--separator: rgba(84, 84, 88, .4);--fill: rgba(120, 120, 128, .24);--shadow: none}:root:not([data-theme]):not([data-accent]),:root:not([data-theme])[data-accent=blue]{--accent: #4c90e8}:root:not([data-theme])[data-accent=teal]{--accent: #2fbfae}:root:not([data-theme])[data-accent=coral]{--accent: #f07a5c}:root:not([data-theme])[data-accent=violet]{--accent: #8e7df2}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:var(--fs-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.2}input,textarea,select{font-family:inherit;font-size:var(--fs-body);color:var(--text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--fill);border-radius:8px;border:2px solid transparent;background-clip:padding-box}.card{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow);border:1px solid var(--separator)}.panel{background:var(--surface);border-radius:var(--r-panel);border:1px solid var(--separator)}.chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-caption);font-weight:600;text-transform:uppercase;letter-spacing:.02em;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--chip-tint, var(--text-2)) 15%,transparent);color:var(--chip-tint, var(--text-2))}.chip[data-sev=info]{--chip-tint: var(--c-info)}.chip[data-sev=caution],.chip[data-sev=warning]{--chip-tint: var(--c-warning)}.chip[data-sev=contraindication]{--chip-tint: var(--c-danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:var(--r-field);padding:10px 16px;font-size:var(--fs-body);font-weight:600;cursor:pointer;background:var(--fill);color:var(--text);transition:opacity .15s,background .15s}.btn:hover{opacity:.85}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--accent);color:#fff}.btn-ghost{background:transparent;color:var(--accent)}.input{width:100%;padding:10px 12px;border-radius:var(--r-field);border:1px solid var(--separator);background:var(--surface-2);outline:none;transition:border-color .15s}.input:focus{border-color:var(--accent)}.eyebrow{font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}.muted{color:var(--text-2)}.center{display:flex;align-items:center;justify-content:center}.spinner{width:22px;height:22px;border:2.5px solid var(--fill);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
