:root{--color-bg:#f7f8fa;--color-surface:#fff;--color-border:#d8dce2;--color-text:#1c2430;--color-text-muted:#5a6472;--color-primary:#1a5f7a;--color-primary-hover:#144a5f;--color-success:#1e7d4a;--color-success-bg:#e6f4ec;--color-warning:#9a6400;--color-warning-bg:#fdf2df;--color-danger:#b3261e;--color-danger-bg:#fce8e6;--color-locked:#5a4a9e;--radius:8px;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:24px;--spacing-6:32px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);margin:0;font-size:15px;line-height:1.5}.app-shell{max-width:960px;padding:var(--spacing-5) var(--spacing-4);margin:0 auto}.app-header{margin-bottom:var(--spacing-5);justify-content:space-between;align-items:baseline;display:flex}.app-header h1{margin:0;font-size:20px;font-weight:600}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-4);margin-bottom:var(--spacing-4)}.panel h2{margin:0 0 var(--spacing-3) 0;font-size:16px;font-weight:600}.panel h3{margin:var(--spacing-4) 0 var(--spacing-2) 0;font-size:14px;font-weight:600}.field{margin-bottom:var(--spacing-3)}.field label{margin-bottom:var(--spacing-1);color:var(--color-text-muted);font-size:13px;font-weight:500;display:block}.field input,.field select{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);background:var(--color-surface);font-family:inherit;font-size:15px}.field input:focus-visible,.field select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button{padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius);cursor:pointer;border:1px solid #0000;font-family:inherit;font-size:14px;font-weight:500}button:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-bg)}.btn-danger{background:var(--color-surface);border-color:var(--color-danger);color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-bg)}.btn-row{gap:var(--spacing-2);display:flex}.badge{border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-neutral{background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border)}.badge-locked{color:var(--color-locked);background:#efecfb}.list-plain{margin:0;padding:0;list-style:none}.list-plain li{padding:var(--spacing-2) 0;border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;font-size:14px;display:flex}.list-plain li:last-child{border-bottom:none}.muted{color:var(--color-text-muted);font-size:13px}.error-text{color:var(--color-danger);font-size:14px}.empty-state{text-align:center;padding:var(--spacing-5);color:var(--color-text-muted)}.causal-chain{font-family:var(--font-mono);background:var(--color-bg);border-radius:var(--radius);padding:var(--spacing-3);white-space:pre-wrap;font-size:12.5px}.app-top-bar{margin-bottom:var(--spacing-3);justify-content:space-between;align-items:center;gap:var(--spacing-3);flex-wrap:wrap;display:flex}.app-brand{align-items:baseline;gap:var(--spacing-2);display:flex}.brand-title{color:var(--color-primary);letter-spacing:-.3px;margin:0;font-size:22px;font-weight:700}.brand-subtitle{color:var(--color-text-muted);font-size:13px}.nav-bar{margin-bottom:var(--spacing-5);border-bottom:1px solid var(--color-border)}.nav-list{gap:var(--spacing-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.nav-list-item{display:inline-flex}.nav-link{padding:var(--spacing-2) var(--spacing-3);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.nav-link:hover:not(:disabled){color:var(--color-text);background:0 0}.nav-link-active,.nav-link[aria-current=page]{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.placeholder-panel{padding:var(--spacing-6) var(--spacing-5);text-align:center}.placeholder-panel h2{margin:0 0 var(--spacing-2) 0;font-size:18px}.placeholder-panel p{color:var(--color-text-muted);max-width:540px;margin:0 auto;font-size:14px}@media (width<=640px){.app-top-bar{flex-direction:column;align-items:flex-start}.app-brand,.nav-list{flex-direction:column;gap:0}.nav-link{text-align:left;width:100%;padding-left:var(--spacing-2);border-bottom:none;border-left:2px solid #0000}.nav-link-active,.nav-link[aria-current=page]{border-left-color:var(--color-primary);border-bottom-color:#0000}}.user-guide-container{gap:var(--spacing-4);flex-direction:column;display:flex}.user-guide-top-bar{justify-content:space-between;align-items:center;gap:var(--spacing-3);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.user-guide-header-title h2{margin:0 0 var(--spacing-1) 0;color:var(--color-text);font-size:20px;font-weight:600}.user-guide-subtitle{color:var(--color-text-muted);margin:0;font-size:13.5px}.user-guide-mobile-toc-toggle{display:none}.user-guide-layout{gap:var(--spacing-5);align-items:flex-start;display:flex;position:relative}.user-guide-sidebar{width:280px;top:var(--spacing-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;flex-shrink:0;max-height:calc(100vh - 40px);display:flex;position:sticky;overflow:hidden}.user-guide-sidebar-inner{height:100%;max-height:calc(100vh - 60px);padding:var(--spacing-3);flex-direction:column;display:flex}.toc-header{margin-bottom:var(--spacing-2);justify-content:space-between;align-items:center;display:flex}.toc-title{color:var(--color-text);margin:0;font-size:14px;font-weight:600}.toc-clear-btn{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.toc-search-wrapper{margin-bottom:var(--spacing-2)}.toc-search-input{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:13px}.toc-filter-count{color:var(--color-text-muted);margin-bottom:var(--spacing-2);font-size:12px}.toc-nav{flex:1;padding-right:4px;overflow-y:auto}.toc-empty{color:var(--color-text-muted);padding:var(--spacing-2) 0;font-size:13px}.toc-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.toc-item{border-radius:4px;font-size:13px;line-height:1.4}.toc-item.toc-level-1{margin-top:6px;font-weight:600}.toc-item.toc-level-2{padding-left:10px;font-weight:500}.toc-item.toc-level-3{color:var(--color-text-muted);padding-left:20px}.toc-link{color:inherit;border-radius:4px;padding:4px 6px;text-decoration:none;transition:background-color .15s,color .15s;display:block}.toc-link:hover{background:var(--color-bg);color:var(--color-primary)}.toc-item.active .toc-link{color:var(--color-primary);background:#e9f2f6;font-weight:600}.user-guide-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:0;padding:var(--spacing-5);color:var(--color-text);flex:1;line-height:1.65}.user-guide-content h1,.user-guide-content h2,.user-guide-content h3,.user-guide-content h4{color:var(--color-text);scroll-margin-top:24px}.user-guide-content h1{margin:var(--spacing-5) 0 var(--spacing-3) 0;padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-border);font-size:22px;font-weight:700}.user-guide-content h1:first-child{margin-top:0}.user-guide-content h2{margin:var(--spacing-4) 0 var(--spacing-2) 0;font-size:18px;font-weight:600}.user-guide-content h3{margin:var(--spacing-4) 0 var(--spacing-2) 0;font-size:15px;font-weight:600}.user-guide-heading{align-items:center;gap:8px;display:flex}.heading-anchor{opacity:0;color:var(--color-text-muted);padding:0 4px;font-size:14px;font-weight:400;text-decoration:none;transition:opacity .15s,color .15s}.user-guide-heading:hover .heading-anchor,.heading-anchor:focus-visible{opacity:1;color:var(--color-primary)}.user-guide-content p{margin:0 0 var(--spacing-3) 0}.user-guide-content ul,.user-guide-content ol{margin:0 0 var(--spacing-3) 0;padding-left:var(--spacing-5)}.user-guide-content li{margin-bottom:var(--spacing-1)}.user-guide-content blockquote{margin:var(--spacing-3) 0;padding:var(--spacing-3) var(--spacing-4);border-left:4px solid var(--color-primary);background:var(--color-bg);border-radius:0 var(--radius) var(--radius) 0;color:var(--color-text)}.user-guide-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-5) 0}.user-guide-content code{font-family:var(--font-mono);background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:2px 5px;font-size:13px}.user-guide-content pre{font-family:var(--font-mono);color:#f0f4f8;padding:var(--spacing-3);border-radius:var(--radius);margin:var(--spacing-3) 0;background:#1e2530;font-size:13px;line-height:1.45;overflow-x:auto}.user-guide-content pre code{color:inherit;background:0 0;border:none;padding:0}.table-responsive{width:100%;margin:var(--spacing-4) 0;border:1px solid var(--color-border);border-radius:var(--radius);overflow-x:auto}.user-guide-table{border-collapse:collapse;text-align:left;width:100%;font-size:13.5px}.user-guide-table th,.user-guide-table td{padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--color-border)}.user-guide-table th{background:var(--color-bg);color:var(--color-text);font-weight:600}.user-guide-table tr:last-child td{border-bottom:none}.user-guide-table tr:hover td{background:#1a5f7a0a}.user-guide-link{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.user-guide-link:hover{color:var(--color-primary-hover)}@media (width<=860px){.user-guide-mobile-toc-toggle{display:inline-block}.user-guide-layout{flex-direction:column}.user-guide-sidebar{width:100%;max-height:none;display:none;position:static}.user-guide-sidebar.open{display:block}.user-guide-sidebar-inner{max-height:400px}.user-guide-content{padding:var(--spacing-3)}}.calendar-view-container{margin-top:var(--spacing-3)}.calendar-header-toolbar{justify-content:space-between;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;display:flex}.calendar-month-nav{align-items:center;gap:var(--spacing-3);display:flex}.calendar-month-nav .btn-secondary{padding:4px 10px;font-size:13px}.calendar-month-title{text-align:center;min-width:140px;font-size:15px;font-weight:600}.calendar-grid-wrapper{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;max-height:540px;overflow:auto}.calendar-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;font-size:13px}.calendar-th-physician{z-index:4;background:var(--color-bg);padding:var(--spacing-2) var(--spacing-3);border-bottom:2px solid var(--color-border);border-right:2px solid var(--color-border);min-width:160px;font-weight:600;position:sticky;top:0;left:0}.calendar-th-date{z-index:2;background:var(--color-bg);padding:var(--spacing-1) var(--spacing-2);border-bottom:2px solid var(--color-border);border-right:1px solid var(--color-border);text-align:center;min-width:76px;position:sticky;top:0}.calendar-col-header{flex-direction:column;align-items:center;line-height:1.2;display:flex}.calendar-col-label{color:var(--color-text);white-space:nowrap;font-size:12px;font-weight:600}.calendar-day--weekend{background:#00000009}.calendar-th-date.calendar-day--weekend .calendar-col-label{color:var(--color-primary);font-weight:600}.calendar-td-physician{z-index:3;background:var(--color-surface);padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--color-border);border-right:2px solid var(--color-border);vertical-align:middle;position:sticky;left:0}.calendar-physician-info{flex-direction:column;gap:2px;display:flex}.calendar-physician-name{color:var(--color-text);white-space:nowrap;font-weight:600}.calendar-physician-qual{color:var(--color-text-muted);font-size:11px}.calendar-td-date{border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);vertical-align:top;min-width:76px;height:52px;padding:4px}.calendar-cell-duties{flex-direction:column;gap:4px;display:flex}.calendar-duty-pill{background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:3px 6px;font-size:11px;line-height:1.2;transition:transform .1s,box-shadow .1s}.calendar-duty-pill:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000014}.calendar-duty-pill--holiday{background:var(--color-warning-bg);border-color:#9a64004d}.calendar-duty-pill--school-holiday{background:#5a4a9e1a;border-color:#5a4a9e4d}.calendar-duty-pill--weekend{background:#1a5f7a14;border-color:#1a5f7a40}.calendar-duty-pill--on-call{background:#f0f4f8;border-color:#cbd5e1}.calendar-duty-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.calendar-duty-time{color:var(--color-text-muted);font-size:10px;font-family:var(--font-mono);margin-top:1px}.calendar-duty-badge{text-transform:uppercase;color:var(--color-text-muted);background:#0000000f;border-radius:2px;margin-top:2px;padding:1px 3px;font-size:9px;font-weight:600;display:inline-block}.calendar-empty-cell{color:var(--color-text-muted);opacity:.3;text-align:center;-webkit-user-select:none;user-select:none;font-size:12px;line-height:44px}.btn-group{border-radius:var(--radius);border:1px solid var(--color-border);display:inline-flex;overflow:hidden}.btn-group button{border:none;border-right:1px solid var(--color-border);border-radius:0}.btn-group button:last-child{border-right:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media print{.calendar-month-nav button,.btn-group{display:none!important}.calendar-grid-wrapper{border:none!important;max-height:none!important;overflow:visible!important}.calendar-table{font-size:10px!important}.calendar-th-physician,.calendar-td-physician,.calendar-th-date{position:static!important}}.fairness-visualization{margin-top:var(--spacing-3);margin-bottom:var(--spacing-4)}.fairness-toolbar{justify-content:space-between;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2);flex-wrap:wrap;display:flex}.fairness-metric-selector{flex-wrap:wrap;gap:6px;display:flex}.fairness-view-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fairness-chart-panel{background:var(--color-surface,#fff)}@media (width<=640px){.fairness-row{flex-direction:column;align-items:flex-start!important}.fairness-entity-label{text-align:left!important;width:100%!important}.fairness-bar-area{width:100%!important}.fairness-row-actions{justify-content:flex-start!important;width:100%!important}}
