:root{--cpap-bg: #F7F9FB;--cpap-surface: #FFFFFF;--cpap-sidebar: #EAF0F3;--cpap-sidebar-text: #465B68;--cpap-sidebar-active: #DCEDE7;--cpap-sidebar-hover: #E0EAEC;--cpap-sidebar-border: #C6D1DA;--cpap-sidebar-row-divider: #DCE5E8;--cpap-text: #243447;--cpap-muted: #5D6D7E;--cpap-border: #D5DEE5;--cpap-input-border: #B8C6D1;--cpap-table-head: #EDF2F5;--cpap-table-alt: #FAFBFC;--cpap-shadow-card: 0 2px 8px rgba(36, 52, 71, .04);--cpap-shadow-sidebar: 2px 0 8px rgba(36, 52, 71, .04);--cpap-accent: #285F6B;--cpap-accent-hover: #214F59;--cpap-accent-pressed: #193F48;--cpap-accent-soft: #E2EEF0;--cpap-accent-soft-hover: #D5E3E8;--cpap-accent-text: #285F6B;--cpap-success: #216A48;--cpap-success-soft: #EAF6EF;--cpap-success-border: #C6E5D3;--cpap-warning: #78550B;--cpap-warning-soft: #FFF6E5;--cpap-warning-border: #EFD9A6;--cpap-danger: #A63A32;--cpap-danger-soft: #FDF0EE;--cpap-danger-border: #EDC8C4;--cpap-info: #176474;--cpap-info-soft: #EAF4F6;--cpap-info-border: #C5E0E5;--cpap-disabled-bg: #E9EEF2;--cpap-disabled-text: #7C8A97;--cpap-focus: #285F6B;--cpap-font: Inter, "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--cpap-ease-out: cubic-bezier(.23, 1, .32, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--cpap-bg);color:var(--cpap-text);font-family:var(--cpap-font);font-size:15px;font-weight:400;line-height:1.58;font-feature-settings:"tnum" 1,"zero" 1,"ss02" 1;font-variant-numeric:tabular-nums slashed-zero;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;font-variant-numeric:tabular-nums slashed-zero}button{min-height:36px;border-radius:8px;transition:background-color .15s var(--cpap-ease-out),border-color .15s var(--cpap-ease-out),color .15s var(--cpap-ease-out),opacity .15s var(--cpap-ease-out),transform .12s var(--cpap-ease-out)}button:not(:disabled){cursor:pointer}button:not(:disabled):active{transform:scale(.98)}button:disabled{cursor:not-allowed}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;line-height:1.5;min-height:40px;border-radius:8px;border-color:var(--cpap-input-border)!important;color:var(--cpap-text)!important;background-color:var(--cpap-surface)!important}input::placeholder,textarea::placeholder{color:var(--cpap-muted);opacity:.78}input[type=checkbox],input[type=radio]{accent-color:var(--cpap-accent)}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:1;color:var(--cpap-disabled-text)!important;background-color:var(--cpap-disabled-bg)!important;border-color:var(--cpap-border)!important}:where(button,input,select,textarea,a):focus-visible{outline:2px solid var(--cpap-focus)!important;outline-offset:2px}:where(input,select,textarea):focus-visible{border-color:var(--cpap-accent)!important;box-shadow:0 0 0 3px #285f6b29!important}:where(a){color:var(--cpap-accent-text)}:where(a:hover){color:var(--cpap-accent-hover)}::selection{color:#fff;background:var(--cpap-accent)}.cpap-number,.cpap-number input,.cpap-number select{font-variant-numeric:tabular-nums slashed-zero}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important}}@media (max-width: 768px){body{font-size:14px}}button[data-cpap-button=primary]:hover:not(:disabled),button[data-cpap-button=primary]:focus-visible:not(:disabled){background:var(--cpap-accent-hover)!important}button[data-cpap-button=primary]:active:not(:disabled){background:var(--cpap-accent-pressed)!important}button[data-cpap-button=ghost]:hover:not(:disabled),button[data-cpap-button=dark]:hover:not(:disabled),button[data-cpap-button=outline]:hover:not(:disabled){background:var(--cpap-accent-soft-hover)!important}button[data-cpap-button=danger]:hover:not(:disabled){background:#8e302a!important}.clinic-portal-page{min-height:100vh;background:var(--cpap-bg)}.clinic-portal-topbar{position:sticky;top:0;z-index:100;background:var(--cpap-accent);color:#fff;border-bottom:1px solid rgba(255,255,255,.22)}.clinic-portal-topbar__inner{width:min(1200px,100%);min-height:64px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:12px}.clinic-portal-brand-mark{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(255,255,255,.34);border-radius:10px;background:#ffffff24}.clinic-portal-tabs{position:sticky;top:64px;z-index:99;border-bottom:1px solid var(--cpap-border);background:var(--cpap-surface);box-shadow:0 1px #24344705}.clinic-portal-tabs__inner{width:min(1200px,100%);margin:0 auto;padding:0 16px;display:grid;grid-template-columns:repeat(6,minmax(112px,1fr));overflow-x:auto}button.clinic-portal-tab{min-height:62px;padding:8px 10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--cpap-muted);font-size:13px;font-weight:600;white-space:nowrap}button.clinic-portal-tab:hover:not(:disabled){background:var(--cpap-table-alt);color:var(--cpap-accent)}button.clinic-portal-tab[aria-current=page]{border-bottom-color:var(--cpap-accent);background:var(--cpap-accent-soft);color:var(--cpap-accent);font-weight:800}.clinic-portal-main{width:min(1200px,100%);margin:0 auto;padding:28px 24px 48px}.clinic-portal-panel{min-width:0}.clinic-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.clinic-form-span-full{grid-column:1 / -1}.clinic-section-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:20px;align-items:start}.clinic-section-title{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--cpap-text);font-size:15px;font-weight:800;letter-spacing:.01em}.clinic-info-banner{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--cpap-info-border);border-radius:10px;padding:12px 14px;line-height:1.65}.clinic-search-result{width:100%;min-height:56px;padding:10px 14px;display:block;border:0;border-bottom:1px solid var(--cpap-border);border-radius:0;background:var(--cpap-surface);color:var(--cpap-text);text-align:left}.clinic-search-result:hover:not(:disabled),.clinic-search-result:focus-visible:not(:disabled){background:var(--cpap-accent-soft)}.clinic-selected-patient{margin-top:10px;border:1px solid var(--cpap-success-border);border-radius:8px;padding:10px 12px;background:var(--cpap-success-soft)}.clinic-inline-feedback{display:flex;align-items:flex-start;gap:8px;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.55}.clinic-empty-state,.clinic-loading-state{min-height:172px;padding:28px 18px;display:grid;place-items:center;align-content:center;gap:8px;border:1px solid var(--cpap-border);border-radius:12px;background:var(--cpap-surface);color:var(--cpap-muted);text-align:center}.clinic-view-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;padding:4px;border:1px solid var(--cpap-border);border-radius:10px;background:var(--cpap-table-alt)}.clinic-view-switch__button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--cpap-muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}.clinic-view-switch__button:hover{background:var(--cpap-surface);color:var(--cpap-text)}.clinic-view-switch__button[aria-pressed=true]{border-color:var(--cpap-border);background:var(--cpap-surface);color:var(--cpap-accent);box-shadow:0 1px 2px #1c3d4914}.clinic-portal [role=button][tabindex="0"]:focus-visible{outline:3px solid var(--cpap-focus);outline-offset:-3px}@media (max-width: 840px){.clinic-portal-topbar__inner{padding-inline:16px}.clinic-portal-tabs{top:56px}.clinic-portal-tabs__inner{grid-template-columns:repeat(6,minmax(104px,1fr))}button.clinic-portal-tab{min-height:56px;font-size:12px}.clinic-portal-main{padding:20px 16px 40px}.clinic-section-grid{grid-template-columns:1fr;gap:14px}}@media (max-width: 600px){.clinic-portal-topbar__inner{min-height:56px;padding-block:8px}.clinic-portal-brand-mark{width:32px;height:32px;border-radius:9px}.clinic-portal-tabs{top:56px}.clinic-portal-tabs__inner{padding:0 8px;grid-template-columns:repeat(6,minmax(96px,1fr))}button.clinic-portal-tab{min-height:54px;padding-inline:8px;font-size:11px}.clinic-portal-main{padding:16px 12px 32px}.clinic-form-grid{grid-template-columns:1fr;gap:12px}.clinic-form-span-full{grid-column:auto}.clinic-history-filters{grid-template-columns:1fr!important}}
