.robocall-metrics-page{padding:20px;max-width:1400px;margin:0 auto}.metrics-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px;padding:21px 23px;border:1px solid #cfdceb;border-radius:14px;background:linear-gradient(135deg,#f3f8ff,#fff 68%);box-shadow:var(--shadow-sm);color:var(--color-darkblue)}.metrics-header h1{margin:0;font-size:20px;font-weight:600;color:var(--color-darkblue)}.metrics-header-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.date-range-picker{display:flex;align-items:center;gap:8px}.date-range-picker label{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--color-text-secondary)}.date-range-picker input[type=date]{width:auto}.time-view-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-border-light)}.time-view-tab{min-height:0;padding:7px 16px;border:0;border-radius:9px;background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:color .15s,background .15s}.time-view-tab:hover:not(:disabled){color:var(--color-text);background:transparent}.time-view-tab.active,.time-view-tab.active:hover:not(:disabled){background:var(--color-card);color:var(--color-darkblue);box-shadow:var(--shadow-sm)}.pipeline-select{min-width:220px}.metrics-cards{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.metrics-card{flex:1;min-width:120px;display:grid;gap:3px;padding:14px 16px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-card);box-shadow:var(--shadow-sm)}.metrics-card-value{color:var(--color-darkblue);font-size:25px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.metrics-card-label{color:var(--color-text-muted);font-size:11.5px;font-weight:700;margin-top:4px}.metrics-section-title{margin:24px 0 12px;font-size:16px;font-weight:700;color:var(--color-darkblue);border-bottom:1px solid var(--color-border);padding-bottom:6px}.metrics-chart-section{margin-bottom:16px}.metrics-chart-title{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--color-darkblue)}.metrics-toggles{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.toggle-btn{min-height:0;padding:4px 10px;border:2px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-card);color:var(--color-text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.toggle-btn:hover:not(:disabled){background:var(--color-card);border-color:var(--color-primary);opacity:.85}.toggle-btn.active,.toggle-btn.active:hover:not(:disabled){background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.toggle-btn.toggle-all{border-color:var(--color-text-muted);color:var(--color-text-muted)}.toggle-btn.toggle-all.active,.toggle-btn.toggle-all.active:hover:not(:disabled){background-color:var(--color-text-muted);border-color:var(--color-text-muted);color:#fff}.metrics-chart-container{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:12px;min-height:200px;display:flex;align-items:center;justify-content:center}.metrics-loading{min-height:240px;display:grid;place-content:center;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text-secondary);font-size:15px}.metrics-loading.metrics-error{border-color:#f3c2c9;border-left:4px solid var(--color-error);background:var(--color-error-soft);color:var(--color-error-text)}.metrics-empty{color:var(--color-text-muted);font-size:15px}.custom-tooltip{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:10px 14px;font-size:13px;line-height:1.5;color:var(--color-darkblue)}.custom-tooltip .tooltip-label{margin:0 0 4px;font-weight:600;color:var(--color-darkblue)}.custom-tooltip p{margin:2px 0}.custom-tooltip .tooltip-total{margin-top:4px;font-weight:600;color:var(--color-darkblue);border-top:1px solid var(--color-border);padding-top:4px}.conversion-subtitle{margin:0 0 12px;font-size:12px;color:var(--color-text-muted)}.conversion-funnel{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px;display:flex;flex-direction:column;gap:10px}.funnel-row{display:flex;align-items:center;gap:10px}.funnel-label{width:200px;flex-shrink:0;font-size:12px;font-weight:500;color:var(--color-text-secondary);text-align:right}.funnel-fraction{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;font-size:.9em;line-height:1.15;margin-left:4px}.funnel-fraction .frac-num{border-bottom:1px solid currentColor;padding:0 2px 1px;line-height:1.1}.funnel-fraction .frac-den{padding:1px 2px 0;line-height:1.1}.funnel-bar-track{flex:1;display:flex;align-items:center;gap:8px}.funnel-bar{height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:flex-end;padding:0 8px;min-width:40px;transition:width .4s ease}.funnel-bar-value{font-size:12px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);white-space:nowrap;font-variant-numeric:tabular-nums}.funnel-drop{font-size:11px;font-weight:600;color:var(--color-error);white-space:nowrap}.funnel-conv{font-size:10px;color:var(--color-text-muted);white-space:nowrap}.funnel-footnote{font-size:10px;color:var(--color-text-muted);margin-top:10px;line-height:1.5;font-style:italic}.funnel-baseline{font-size:10px;color:var(--color-text-muted);white-space:nowrap;margin-left:6px;font-style:italic}.funnel-bucket-group{display:flex;flex-direction:column;gap:3px;padding-top:10px;border-top:1px dashed var(--color-border)}.funnel-bucket-group:first-of-type{border-top:none;padding-top:0}.funnel-row.funnel-sub-row .funnel-label{padding-left:16px;font-size:11px;color:var(--color-text-muted)}.funnel-row.funnel-sub-row .funnel-bar{height:22px}.funnel-section-divider{font-size:10.5px;font-weight:900;color:var(--color-primary-dark);text-transform:uppercase;letter-spacing:.1em;padding:8px 0 2px;border-top:1px solid var(--color-border);margin-top:6px;grid-column:1 / -1}.summary-tables-section{margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border)}.summary-table-wrapper{margin-bottom:16px}.summary-subtitle{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--color-darkblue)}.summary-table{width:100%;border-collapse:collapse;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;font-size:13px}.summary-table th{background:var(--color-surface-2);padding:10px 12px;text-align:left;font-weight:600;font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap}.summary-table td{padding:10px 12px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:13px;vertical-align:top;font-variant-numeric:tabular-nums}.summary-table tbody tr:hover td{background:var(--color-surface-hover)}.summary-table tbody tr:last-child td{border-bottom:none}.summary-table .summary-total-row td,.summary-table tbody tr.summary-total-row:hover td{font-weight:600;background:var(--color-success-soft);color:var(--color-success-text)}.appointments-page{min-height:100vh}.appointments-header{margin:0 0 16px;padding:21px 23px;border:1px solid #cfdceb;border-radius:14px;background:linear-gradient(135deg,#f3f8ff,#fff 68%);box-shadow:var(--shadow-sm);color:var(--color-darkblue)}.appointments-header h1{margin:0 0 6px;font-size:20px;font-weight:600;color:var(--color-darkblue)}.appointments-header p{margin:0;color:var(--color-text-secondary);font-size:13px}.appointments-content{padding:0;max-width:none;margin:0}.appointments-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px;flex-wrap:wrap}.toolbar-left{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.view-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-border-light)}.view-btn{min-height:0;padding:7px 16px;border:0;border-radius:9px;background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:color .15s,background .15s}.view-btn:hover:not(:disabled){color:var(--color-text);background:transparent}.view-btn.active,.view-btn.active:hover:not(:disabled){background:var(--color-card);color:var(--color-darkblue);box-shadow:var(--shadow-sm)}.week-nav{display:flex;gap:8px}.week-nav button,.refresh-btn{min-height:30px;padding:5px 12px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-card);color:var(--color-darkblue);font-size:12px;cursor:pointer;transition:background .15s,border-color .15s}.week-nav button:hover:not(:disabled),.refresh-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.appointments-empty{min-height:240px;display:grid;place-content:center;text-align:center;padding:40px 20px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text-secondary);font-size:15px}.cal-section{margin-bottom:28px}.cal-env-label{display:inline-block;margin:0 0 10px;padding:4px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.cal-env-label.dev{background:var(--color-warning-soft);color:var(--color-warning-text)}.cal-env-label.prod{background:var(--color-error-soft);color:var(--color-error-text)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.cal-day{background:var(--color-card);min-height:120px;display:flex;flex-direction:column}.cal-day.today{background:var(--color-warning-soft)}.cal-day-header{padding:8px 10px;font-size:12px;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface-2);border-bottom:1px solid var(--color-border-light);text-align:center}.cal-day.today .cal-day-header{background:var(--color-warning-soft);color:var(--color-warning-text);border-bottom-color:#efd392}.cal-day-body{flex:1;padding:6px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;max-height:300px}.cal-empty{text-align:center;color:var(--color-text-muted);font-size:13px;padding:12px 0}.cal-appt{background:var(--color-card);border:1px solid var(--color-border);border-left:3px solid var(--color-success);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:6px 8px;font-size:12px;position:relative}.cal-appt.cancelled{background:var(--color-surface-2);border-color:var(--color-border);border-left-color:var(--color-text-muted);opacity:.5}.cal-appt-time{font-weight:700;color:var(--color-success-text);font-size:12px;margin-bottom:2px;font-variant-numeric:tabular-nums}.cal-appt-patient{font-weight:600;color:var(--color-darkblue);font-size:12px}.cal-appt-specialist{color:var(--color-text-secondary);font-size:11px;text-transform:capitalize}.cal-appt-reason{color:var(--color-text-muted);font-size:11px;font-style:italic}.cal-appt-meta{display:flex;gap:8px;align-items:center;margin-top:3px}.cal-portal-badge{font-size:10px;font-weight:700;text-decoration:none}.portal-status{font-size:12px;font-weight:600;text-decoration:none}.portal-success{color:var(--color-success-text)}.portal-error{color:var(--color-error-text)}.portal-warning{color:var(--color-warning-text)}.portal-muted{color:var(--color-text-muted)}.cal-call-link{font-size:10px;color:var(--color-primary-dark);text-decoration:none}.cal-call-link:hover{text-decoration:underline}.cal-cancel-btn{position:absolute;top:4px;right:4px;min-height:0;padding:1px 6px;border:1px solid #f3c2c9;border-radius:var(--radius-pill);background:var(--color-error-soft);color:var(--color-error-text);font-size:10px;font-weight:700;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s}.cal-appt:hover .cal-cancel-btn{opacity:1}.cal-cancel-btn:hover:not(:disabled){background:var(--color-error);border-color:var(--color-error);color:#fff}.cal-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.cal-no-appts{text-align:center;color:var(--color-text-muted);font-size:13px;padding:10px 0}.appointments-table-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.table-filters{display:flex;gap:6px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--color-border-light)}.filter-btn{min-height:30px;padding:5px 14px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-card);color:var(--color-text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.filter-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary);color:var(--color-darkblue)}.filter-btn.active,.filter-btn.active:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-darkblue);border-color:var(--color-primary)}.table-search{width:auto;min-width:220px;min-height:30px;padding:5px 12px}.appointments-table-wrapper{overflow-x:auto}.appointments-table{width:100%;border-collapse:collapse;font-size:13px}.appointments-table th{position:sticky;top:0;text-align:left;padding:10px 12px;background:var(--color-surface-2);color:var(--color-text-secondary);font-weight:600;font-size:12px;letter-spacing:.4px;text-transform:uppercase;border-bottom:1px solid var(--color-border);white-space:nowrap}.appointments-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.appointments-table th.sortable:hover{background:var(--color-surface-hover);color:var(--color-darkblue)}.appointments-table td{padding:10px 12px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:13px;vertical-align:top}.appointments-table tbody tr:hover td{background:var(--color-surface-hover)}.appointments-table tbody tr.row-cancelled{opacity:.5}.table-empty{text-align:center;padding:24px;color:var(--color-text-muted)}.patient-cell{display:flex;flex-direction:column;gap:2px}.patient-name{font-weight:600;color:var(--color-darkblue)}.patient-id-cell{font-size:12px;color:var(--color-text-muted);font-family:var(--font-mono)}.notes-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:12px}.status-badge.status-confirmed{background:var(--color-success-soft);color:var(--color-success-text)}.status-badge.status-pending{background:var(--color-warning-soft);color:var(--color-warning-text)}.status-badge.status-cancelled{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.date-cell{white-space:nowrap;font-size:12px;display:flex;flex-direction:column;gap:4px}.call-link{font-size:11px;color:var(--color-primary-dark);text-decoration:none}.call-link:hover{text-decoration:underline}.cancelled-label{color:var(--color-text-muted);font-size:12px}.action-btn{min-height:30px;padding:5px 12px;border:0;border-radius:var(--radius-pill);font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.action-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-btn{background:var(--color-error);color:#fff}.availability-page{max-width:1200px;margin:0 auto;padding:20px}.availability-header{margin-bottom:16px;padding:21px 23px;border:1px solid #cfdceb;border-radius:14px;background:linear-gradient(135deg,#f3f8ff,#fff 68%);box-shadow:var(--shadow-sm);color:var(--color-darkblue)}.availability-header h1{margin:0 0 6px;font-size:20px;font-weight:600;color:var(--color-darkblue)}.availability-header p{margin:0;color:var(--color-text-secondary);font-size:13px}.availability-content{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px}.availability-controls{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.control-group{display:flex;flex-direction:column;gap:4px;min-width:200px}.control-group label{font-size:11px;font-weight:700;color:var(--color-text-secondary)}.week-nav{display:flex;gap:8px;margin-left:auto}.week-nav button{min-height:30px;padding:5px 12px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-card);color:var(--color-darkblue);font-size:12px;cursor:pointer;transition:background .15s,border-color .15s}.week-nav button:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.availability-empty{min-height:240px;display:grid;place-content:center;text-align:center;padding:48px 20px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text-secondary);font-size:.95rem}.availability-legend{display:flex;gap:20px;margin-bottom:12px;font-size:.8rem;color:var(--color-text-secondary)}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:14px;height:14px;border-radius:4px;display:inline-block}.legend-dot.available{background:var(--color-success-soft);border:1px solid var(--color-success)}.legend-dot.blocked{background:var(--color-error-soft);border:1px solid var(--color-error)}.legend-dot.booked{background:var(--color-primary-soft);border:1px solid var(--color-primary)}.availability-grid-wrapper{overflow-x:auto}.availability-grid{width:100%;border-collapse:collapse;table-layout:fixed}.availability-grid.dragging{user-select:none;-webkit-user-select:none}.availability-grid.dragging .slot-cell.clickable{cursor:crosshair}.availability-grid th,.availability-grid td{text-align:center;padding:0;border:1px solid var(--color-border)}.availability-grid th{position:sticky;top:0;padding:10px 8px;font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-secondary);background:var(--color-surface-2);white-space:nowrap}.availability-grid .time-col{width:90px;text-align:right;padding-right:12px;font-size:.8rem;color:var(--color-text-muted);background:var(--color-surface-2);font-weight:500;font-variant-numeric:tabular-nums}.slot-cell{height:40px;transition:background .15s;position:relative}.slot-cell.off{background:var(--color-neutral-soft)}.slot-cell.available{background:var(--color-success-soft)}.slot-cell.blocked{background:var(--color-error-soft)}.slot-cell.booked{background:var(--color-primary-soft)}.slot-cell.clickable{cursor:pointer}.slot-cell.clickable:hover{opacity:.7}.booked-label{font-size:.7rem;color:var(--color-primary-dark);font-weight:600}.slot-cell.pending{animation:pulse-pending 1.2s ease-in-out infinite;outline:2px solid var(--color-warning);outline-offset:-2px}@keyframes pulse-pending{0%,to{opacity:1}50%{opacity:.6}}.availability-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.pending-count{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-pill);background:var(--color-warning-soft);color:var(--color-warning-text);font-size:12px;font-weight:700;margin-right:auto}.btn-discard{background:var(--color-card);color:var(--color-darkblue);border:1px solid var(--color-border)}.btn-discard:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.dbg-page{padding:20px;max-width:1200px;margin:0 auto}.dbg-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.dbg-toolbar label{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-secondary);font-size:12px;font-weight:700}.dbg-toolbar input[type=date]{width:auto}.dbg-state{min-height:240px;display:grid;place-content:center;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text-secondary);text-align:center}.dbg-state-error{color:var(--color-error-text)}.dbg-section-title{margin:0 0 12px;padding-bottom:6px;border-bottom:2px solid var(--color-border);color:var(--color-darkblue);font-size:16px;font-weight:700}.dbg-subsection-title{margin:16px 0 0;color:var(--color-text-secondary);font-size:14px;font-weight:600}.dbg-list{display:flex;flex-direction:column;gap:12px}.dbg-card{padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-sm)}.dbg-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.dbg-card-title{color:var(--color-darkblue);font-size:15px;font-weight:600}.dbg-card-count{margin-left:8px;color:var(--color-text-muted);font-size:13px}.dbg-card-samples{margin-top:2px;color:var(--color-text-muted);font-size:11px}.dbg-progress{margin-top:8px;padding:8px 10px;border:1px solid #efd392;border-left:4px solid var(--color-warning);border-radius:9px;background:var(--color-warning-soft);color:var(--color-warning-text);font-size:12px}.dbg-reports{margin-top:10px;padding-top:8px;border-top:1px solid var(--color-border-light)}.dbg-report-item{margin-bottom:4px}.dbg-report-row{display:flex;gap:4px;align-items:center}.dbg-report-toggle{flex:1;min-height:0;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text);font-weight:400;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:8px;white-space:normal}.dbg-report-toggle:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-primary)}.dbg-report-toggle-bare,.dbg-report-toggle-bare:hover:not(:disabled){padding:0;border:0;background:transparent}.dbg-report-title{font-size:12px}.dbg-report-title-lg{font-size:13px}.dbg-report-reasons{color:var(--color-darkblue);font-weight:600}.dbg-report-excerpt{color:var(--color-text-muted)}.dbg-report-meta{flex-shrink:0;margin-left:8px;color:var(--color-text-muted);font-size:11px}.dbg-icon-btn{flex-shrink:0;width:28px;height:28px;min-height:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--color-text-muted);font-size:12px;font-weight:700}.dbg-icon-btn:hover:not(:disabled){background:var(--color-error-soft);color:var(--color-error-text)}.dbg-tone-error{--dbg-sev: var(--color-error);--dbg-sev-soft: var(--color-error-soft);--dbg-sev-text: var(--color-error-text)}.dbg-tone-warning{--dbg-sev: var(--color-warning);--dbg-sev-soft: var(--color-warning-soft);--dbg-sev-text: var(--color-warning-text)}.dbg-tone-primary{--dbg-sev: var(--color-primary);--dbg-sev-soft: var(--color-primary-soft);--dbg-sev-text: var(--color-primary-dark)}.dbg-tone-neutral{--dbg-sev: var(--color-text-muted);--dbg-sev-soft: var(--color-neutral-soft);--dbg-sev-text: var(--color-neutral-text)}.dbg-sev{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--radius-pill);background:var(--dbg-sev-soft, var(--color-neutral-soft));color:var(--dbg-sev-text, var(--color-neutral-text));font-size:10px;font-weight:800;letter-spacing:.02em;line-height:1.2;white-space:nowrap;vertical-align:middle}.dbg-report{margin-top:8px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2)}.dbg-stages{display:inline-flex;flex-wrap:wrap;gap:4px;margin-bottom:10px;padding:4px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-border-light)}.dbg-stage{min-height:0;padding:5px 12px;border:0;border-radius:9px;background:transparent;color:var(--color-text-muted);font-size:11.5px;font-weight:600}.dbg-stage:hover:not(:disabled){background:transparent;color:var(--color-text)}.dbg-stage.active,.dbg-stage.active:hover:not(:disabled){background:var(--color-card);color:var(--color-darkblue);box-shadow:var(--shadow-sm)}.dbg-pre{margin:0 0 10px;padding:10px;max-height:400px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-card);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:12px;white-space:pre-wrap}.dbg-analysis,.dbg-block{margin-bottom:10px}.dbg-block-title{margin-bottom:4px;color:var(--color-primary-dark);font-size:10.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.dbg-summary{color:var(--color-text-secondary);font-size:13px}.dbg-chain{list-style:none;display:grid;gap:4px;margin:8px 0 0 4px;padding:0 0 0 14px;border-left:2px solid var(--color-border)}.dbg-chain li{position:relative;color:var(--color-text-secondary);font-size:12px;line-height:1.4}.dbg-chain li:before{content:"";position:absolute;left:-18px;top:5px;width:6px;height:6px;border-radius:50%;background:var(--color-text-muted)}.dbg-flag{margin-bottom:6px;padding:8px 10px;border:1px solid var(--color-border);border-left:4px solid var(--dbg-sev, var(--color-text-muted));border-radius:var(--radius-sm);background:var(--color-card);font-size:12px}.dbg-flag-name{color:var(--color-darkblue);font-weight:600}.dbg-flag-explanation{margin-top:2px;color:var(--color-text-secondary)}.dbg-flag-evidence{margin-top:2px;color:var(--color-text-muted);font-style:italic}.dbg-rec{margin-bottom:6px;padding:8px 10px;border:1px solid var(--color-primary-border);border-left:4px solid var(--dbg-sev, var(--color-primary));border-radius:9px;background:var(--color-primary-soft);color:var(--color-text-secondary);font-size:12px}.dbg-rec-target{color:var(--color-text-muted)}.dbg-rec-action{margin-left:4px;color:var(--color-darkblue)}.dbg-rec-rationale{margin-top:2px;color:var(--color-text-muted)}.dbg-report-summary{margin-bottom:6px;color:var(--color-text-secondary);font-size:13px}.dbg-report-summary strong{color:var(--color-darkblue)}.dbg-report-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--color-text-muted);font-size:11px}.action-items-page{padding:24px;max-width:1400px;margin:0 auto}.action-items-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.action-items-header h1{margin:0;font-size:20px;font-weight:600;color:var(--color-darkblue)}.action-items-filters{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-border-light)}.action-items-filters .filter-btn{min-height:0;padding:7px 16px;border:0;border-radius:9px;background:transparent;cursor:pointer;font-size:13px;font-weight:600;color:var(--color-text-muted);transition:color .15s,background .15s}.action-items-filters .filter-btn:hover:not(:disabled){color:var(--color-text);background:transparent}.action-items-filters .filter-btn.active,.action-items-filters .filter-btn.active:hover:not(:disabled){background:var(--color-card);color:var(--color-darkblue);box-shadow:var(--shadow-sm)}.action-items-loading,.action-items-empty{min-height:240px;display:grid;place-content:center;border:1px solid var(--color-border);border-radius:12px;background:var(--color-card);color:var(--color-text-secondary);font-size:14px;text-align:center;padding:48px}.action-items-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}.action-items-table th{position:sticky;top:0;background:var(--color-surface-2);padding:10px 12px;text-align:left;font-size:12px;font-weight:600;letter-spacing:.4px;color:var(--color-text-secondary);text-transform:uppercase;white-space:nowrap;border-bottom:1px solid var(--color-border)}.action-items-table td{padding:10px 12px;font-size:13px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light);vertical-align:top}.action-items-table tbody tr:hover td{background:var(--color-surface-hover)}.action-items-table tbody tr:last-child td{border-bottom:none}.action-items-table tr.status-resolved td{opacity:.5}.action-items-table tr.status-dismissed td{opacity:.4}.col-time{white-space:nowrap;color:var(--color-text-muted);font-size:12px;font-variant-numeric:tabular-nums}.col-desc{max-width:400px}.col-actions{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}.type-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:800;letter-spacing:.02em;background:var(--color-primary-soft);color:var(--color-primary-dark);white-space:nowrap}.action-items-table .status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;background:var(--color-neutral-soft);color:var(--color-neutral-text)}.action-items-table .status-badge.status-pending{background:var(--color-warning-soft);color:var(--color-warning-text)}.action-items-table .status-badge.status-resolved{background:var(--color-success-soft);color:var(--color-success-text)}.action-items-table .status-badge.status-dismissed{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.portal-link{margin-left:6px;font-size:12px;color:var(--color-primary-dark);text-decoration:none}.portal-link:hover{text-decoration:underline}.action-link{font-size:13px;font-weight:600;color:var(--color-primary-dark);text-decoration:none;white-space:nowrap}.action-link:hover{text-decoration:underline}.resolve-btn,.dismiss-btn{min-height:28px;padding:4px 10px;border:1px solid;font-size:12px;cursor:pointer;white-space:nowrap}.resolve-btn{background:var(--color-success-soft);border-color:#bfe3cf;color:var(--color-success-text)}.resolve-btn:hover:not(:disabled){background:var(--color-success);border-color:var(--color-success);color:#fff}.dismiss-btn{background:var(--color-card);border-color:var(--color-border);color:var(--color-darkblue)}.dismiss-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.conv-page{display:flex;flex-direction:column;height:100%;padding:16px}.conv-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.conv-toolbar label{color:var(--color-text-secondary);font-size:11px;font-weight:700}.conv-input{padding:8px 12px;min-height:38px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-card);color:var(--color-text);font-size:13px}.conv-input-mono{font-family:var(--font-mono)}.conv-input-owner{width:340px}.conv-input-phone{width:180px}.conv-meta{color:var(--color-text-muted);font-size:12px}.conv-meta-right{margin-left:auto}.conv-meta-id{font-family:var(--font-mono)}.conv-status{margin-bottom:8px;padding:8px 12px;border:1px solid #efd392;border-left:4px solid var(--color-warning);border-radius:9px;background:var(--color-warning-soft);color:var(--color-warning-text);font-size:13px}.conv-layout{display:flex;gap:16px;flex:1;min-height:0}.conv-sidebar{width:320px;flex:none;padding:12px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-sm)}.conv-sidebar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.conv-sidebar-head strong{color:var(--color-darkblue);font-size:13px}.conv-sidebar-empty{padding:24px 12px;text-align:center;color:var(--color-text-muted);font-size:12px}.conv-row{margin-bottom:6px;padding:10px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s}.conv-row:hover{background:var(--color-surface-2);border-color:var(--color-border-light)}.conv-row.active{background:var(--color-primary-soft);border-color:var(--color-primary-border)}.conv-row-phone{color:var(--color-darkblue);font-family:var(--font-mono);font-size:13px;font-weight:600}.conv-row-owner{color:var(--color-text-muted);font-family:var(--font-mono);font-size:11px}.conv-row-preview{margin-top:4px;color:var(--color-text-secondary);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-dir{font-weight:600}.conv-dir-in{color:var(--color-success)}.conv-dir-out{color:var(--color-primary-dark)}.conv-main{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-sm)}.conv-pane-empty{flex:1;min-height:240px;display:grid;place-content:center;color:var(--color-text-secondary);font-size:13px;text-align:center}.conv-messages{flex:1;min-height:300px;overflow-y:auto;padding:12px}.conv-load-earlier{text-align:center;margin-bottom:12px}.conv-empty{min-height:240px;display:grid;place-content:center;color:var(--color-text-secondary);font-size:13px;text-align:center}.conv-msg-row{display:flex;margin-bottom:8px}.conv-msg-row-out{justify-content:flex-end}.conv-msg-row-in{justify-content:flex-start}.conv-bubble{max-width:70%;padding:8px 12px;border-radius:12px;color:var(--color-darkblue);font-size:14px;line-height:1.4;word-break:break-word}.conv-bubble-out{background:var(--color-primary-soft);border:1px solid var(--color-primary-border)}.conv-bubble-in{background:var(--color-surface-2);border:1px solid var(--color-border-light)}.conv-bubble-text{white-space:pre-wrap}.conv-bubble-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px;color:var(--color-text-muted);font-size:10.5px}.conv-bubble-err{color:var(--color-error-text)}.conv-composer{display:flex;gap:8px;padding:12px;border-top:1px solid var(--color-border-light);background:var(--color-card)}.conv-compose-input{flex:1;min-height:38px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-card);color:var(--color-text);font-size:14px}.iv-mainline-row{display:flex;gap:8px;align-items:center}.iv-mainline-row input{flex:1}.iv-current{color:var(--color-text-muted);font-size:12px;margin-top:4px}.iv-current strong{color:var(--color-darkblue)}.iv-kind-row{display:flex;gap:16px;align-items:center}.iv-kind-option{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--color-text);cursor:pointer}.iv-recording{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-card);padding:12px;margin-bottom:12px}.iv-recording.active{border-color:#bfe3cf;border-left:4px solid var(--color-success);background:var(--color-success-soft)}.iv-recording-head{display:flex;align-items:center;gap:8px}.iv-recording-head strong{color:var(--color-darkblue)}.iv-kind-badge,.iv-active-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:800;letter-spacing:.02em;line-height:1.2;white-space:nowrap}.iv-kind-badge.office_hours{background:var(--color-primary-soft);color:var(--color-primary-dark)}.iv-kind-badge.after_hours{background:var(--color-warning-soft);color:var(--color-warning-text)}.iv-active-badge{background:var(--color-success-soft);color:var(--color-success-text);text-transform:uppercase}.iv-recording.active .iv-active-badge{background:var(--color-success);color:#fff}.iv-meta{color:var(--color-text-muted);font-size:12px;margin-left:auto}.iv-text{color:var(--color-text-secondary);font-size:13px;margin:6px 0;white-space:pre-wrap}.iv-audio{width:100%;margin-bottom:8px}.read-aloud-page{padding:24px;max-width:820px}.read-aloud-page h1{margin:0 0 4px;font-size:20px;font-weight:600;color:var(--color-darkblue)}.read-aloud-page h2{margin:24px 0 12px;font-size:16px;font-weight:700;color:var(--color-darkblue)}.read-aloud-sub{color:var(--color-text-secondary);font-size:13px;margin:0 0 16px}.read-aloud-text{width:100%;min-height:160px;box-sizing:border-box}.read-aloud-counter{text-align:right;font-size:12px;color:var(--color-text-muted);margin-top:4px}.read-aloud-counter.over{color:var(--color-error);font-weight:700}.read-aloud-controls{display:flex;gap:16px;align-items:flex-end;margin:12px 0;flex-wrap:wrap}.read-aloud-controls label{display:flex;flex-direction:column;font-size:11px;font-weight:700;color:var(--color-text-secondary);gap:4px}.read-aloud-tone input{min-width:220px}.read-aloud-error{margin:8px 0;padding:10px 14px;border:1px solid #f3c2c9;border-left:4px solid var(--color-error);border-radius:9px;background:var(--color-error-soft);color:var(--color-error-text);font-size:12px}.read-aloud-player{display:flex;align-items:center;gap:16px;margin:12px 0 24px}.read-aloud-download{display:inline-flex;align-items:center;color:var(--color-primary-dark)}.read-aloud-download:hover{color:var(--color-primary)}.read-aloud-history{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--color-border);border-radius:12px;background:var(--color-card);box-shadow:var(--shadow-sm);overflow:hidden;font-size:13px}.read-aloud-history th,.read-aloud-history td{text-align:left;padding:10px 12px;vertical-align:middle}.read-aloud-history th{position:sticky;top:0;background:var(--color-surface-2);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap}.read-aloud-history td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary)}.read-aloud-history tbody tr:last-child td{border-bottom:none}.read-aloud-history tbody tr:hover td{background:var(--color-surface-hover)}.read-aloud-history td.at{white-space:nowrap;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.read-aloud-history td.voice{font-weight:600;color:var(--color-darkblue)}.read-aloud-history td.fmt{font-weight:700;color:var(--color-primary-dark)}.read-aloud-history td.text{max-width:360px}.read-aloud-history audio{height:32px}:root{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#263f6e;background:#fafafa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--color-primary: #5da1d8;--color-primary-dark: #4a8fce;--color-primary-soft: #eef6fc;--color-primary-border: #cfe1ef;--color-coral: #ff916e;--color-darkblue: #263f6e;--color-bg: #fafafa;--color-card: #ffffff;--color-surface-2: #f7f9fc;--color-surface-hover: #f9fbfd;--color-border: #e0e0e0;--color-border-light: #f1f1f1;--color-text: #263f6e;--color-text-secondary: #646c7a;--color-text-muted: #929aa9;--color-success: #2f9d67;--color-success-soft: #e9f6ef;--color-success-text: #246747;--color-error: #d94255;--color-error-soft: #fff0f2;--color-error-text: #b71f33;--color-warning: #a66d00;--color-warning-soft: #fff7df;--color-warning-text: #8a5c00;--color-neutral-soft: #edf1f4;--color-neutral-text: #586673;--radius: 12px;--radius-sm: 8px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(38, 63, 110, .06);--shadow-md: 0 4px 14px rgba(38, 63, 110, .09);--focus-ring: 0 0 0 3px rgba(93, 161, 216, .35);--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--primary: var(--color-primary);--text: var(--color-text);--text-muted: var(--color-text-muted);--border: var(--color-border);--surface: var(--color-card);--surface-hover: var(--color-surface-hover)}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--color-bg);color:var(--color-text)}button,input,select,textarea{font:inherit}a{color:var(--color-primary-dark);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{color:var(--color-darkblue)}h1{font-size:28px;font-weight:600;line-height:1.25}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(93,161,216,.35);outline-offset:2px}code,pre,.mono{font-family:var(--font-mono)}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:5px;color:var(--color-text-secondary);font-size:11px;font-weight:700;letter-spacing:.02em}.form-group input[type=tel],.form-group input[type=text],.form-group input[type=number],.form-group input[type=email],.form-group input[type=date],.form-group input[type=time],.form-group select,.form-group textarea,input[type=text],input[type=tel],input[type=number],input[type=search],input[type=date],input[type=time],input[type=email],select,textarea{width:100%;padding:8px 12px;min-height:38px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-card);color:var(--color-text);font-size:13px}select{width:auto}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #5da1d826}textarea{min-height:80px;line-height:1.45}::placeholder{color:var(--color-text-muted)}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 18px;border:0;border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;font-size:13px;font-weight:700;line-height:1.2;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}button:where(:hover):where(:not(:disabled)){background:var(--color-primary-dark)}button:disabled{opacity:.55;cursor:not-allowed}.btn-secondary,button.secondary{background:var(--color-card);color:var(--color-darkblue);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled),button.secondary:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.btn-danger,button.danger{background:var(--color-error)}.btn-danger:hover:not(:disabled),button.danger:hover:not(:disabled){background:var(--color-error-text)}.btn-sm,button.small{min-height:30px;padding:5px 12px;font-size:12px}.error-message{margin-top:12px;padding:10px 14px;border:1px solid #f3c2c9;border-left:4px solid var(--color-error);border-radius:var(--radius-sm);background:var(--color-error-soft);color:var(--color-error-text);font-size:13px}.success-message{margin-top:12px;padding:10px 14px;border:1px solid #bfe3cf;border-left:4px solid var(--color-success);border-radius:var(--radius-sm);background:var(--color-success-soft);color:var(--color-success-text);font-size:13px}.radio-group{display:flex;gap:16px;flex-wrap:wrap}.radio-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--color-text)}.radio-label input{cursor:pointer;width:auto;min-height:0}input[type=checkbox],input[type=radio]{width:auto;min-height:0;padding:0;accent-color:var(--color-primary)}.toggle-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.toggle-label span:first-child{font-weight:600;font-size:13px;color:var(--color-text)}.toggle-label input{display:none}.toggle-switch{width:44px;height:24px;background:#cfd6de;border-radius:12px;position:relative;transition:background .2s;flex:none}.toggle-switch:after{content:"";position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 3px #263f6e40}.toggle-label input:checked+.toggle-switch{background:var(--color-primary)}.toggle-label input:checked+.toggle-switch:after{transform:translate(20px)}.toggle-label.small{display:inline-flex;gap:0}.toggle-switch.small{width:34px;height:19px}.toggle-switch.small:after{width:15px;height:15px}.toggle-label input:checked+.toggle-switch.small:after{transform:translate(15px)}.search-box{display:flex;align-items:center;position:relative}.search-input{padding:8px 32px 8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;width:220px;min-height:36px}.clear-search-btn{position:absolute;right:8px;min-height:0;background:var(--color-text-muted);color:#fff;border:none;width:18px;height:18px;border-radius:50%;font-size:12px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;line-height:1}.clear-search-btn:hover:not(:disabled){background:var(--color-text-secondary)}.env-badge,.agent-badge,.status-badge,.ended-by-badge,.pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:800;letter-spacing:.02em;white-space:nowrap;line-height:1.2}.env-badge{text-transform:uppercase}.env-badge.dev{background:var(--color-warning-soft);color:var(--color-warning-text)}.env-badge.prod{background:var(--color-error-soft);color:var(--color-error-text)}.agent-badge{background:var(--color-primary-soft);color:var(--color-primary-dark)}.status-badge{color:#fff;text-transform:uppercase}.ended-by-badge{margin-left:6px;background:var(--color-neutral-soft);color:var(--color-neutral-text);text-transform:capitalize}.pill.success{background:var(--color-success-soft);color:var(--color-success-text)}.pill.error{background:var(--color-error-soft);color:var(--color-error-text)}.pill.warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.pill.neutral{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.pill.primary{background:var(--color-primary-soft);color:var(--color-primary-dark)}.tool-toggles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px}.tool-toggle{position:relative;display:flex;align-items:center;gap:9px;min-height:40px;padding:6px 10px 6px 9px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text-secondary);transition:border-color .15s,background .15s}.tool-toggle:hover{border-color:var(--color-primary)}.tool-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;margin:0}.tool-toggle:before{content:"";flex:none;width:16px;height:16px;border:1.5px solid var(--color-border);border-radius:4px;background:#fff;transition:background .15s,border-color .15s}.tool-toggle:after{content:"";position:absolute;left:14px;top:50%;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-60%) rotate(45deg);opacity:0}.tool-toggle:has(input:checked){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-darkblue)}.tool-toggle:has(input:checked):before{background:var(--color-primary);border-color:var(--color-primary)}.tool-toggle:has(input:checked):after{opacity:1}.tool-toggle:has(input:focus-visible){box-shadow:var(--focus-ring)}.tool-toggle-label{display:block;font-size:12.5px;font-weight:600;line-height:1.2}.tool-toggle-name{display:block;font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted);line-height:1.2}.tool-toggle>span,.tool-toggle>code{min-width:0}.tool-toggle-text{display:grid;gap:2px}.page-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px;padding:21px 23px;border:1px solid #cfdceb;border-radius:14px;background:linear-gradient(135deg,#f3f8ff,#fff 68%);box-shadow:var(--shadow-sm)}.page-hero .eyebrow{display:block;margin-bottom:5px;color:var(--color-primary-dark);font-size:10.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.page-hero h1,.page-hero h2{margin:0;font-size:20px;font-weight:600;color:var(--color-darkblue)}.page-hero p{margin:6px 0 0;color:var(--color-text-secondary);font-size:13px}.card{padding:16px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-sm)}.callout{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:13px 16px;border:1px solid var(--color-primary-border);border-left:4px solid var(--color-primary);border-radius:9px;background:var(--color-primary-soft);color:var(--color-text-secondary);font-size:12px}.loading-spinner{width:38px;height:38px;border:3px solid #dfe8ef;border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-group .tool-toggles .tool-toggle,.modal-field .tool-toggles .tool-toggle{display:flex;margin:0;font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--color-text-secondary)}.form-group .tool-toggles .tool-toggle:has(input:checked),.modal-field .tool-toggles .tool-toggle:has(input:checked){color:var(--color-darkblue)}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1;min-height:calc(100vh - 128px);background:var(--color-bg)}.app-nav{position:sticky;top:0;z-index:50;height:70px;display:flex;align-items:center;gap:22px;padding:0 24px;border-bottom:1px solid var(--color-border);background:#fff;box-shadow:var(--shadow-sm)}.app-brand{display:inline-flex;flex:none;align-items:center;gap:10px;color:var(--color-darkblue);text-decoration:none}.app-brand:hover{text-decoration:none}.app-brand-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:800;letter-spacing:-.02em}.app-brand strong{font-size:18px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.app-nav-tabs{display:flex;align-items:center;gap:14px;flex:1;min-width:0;height:100%;overflow-x:auto;scrollbar-width:none}.app-nav-tabs::-webkit-scrollbar{display:none}.app-nav-tab{display:inline-flex;align-items:center;height:100%;padding:0 2px;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:13px;font-weight:500;white-space:nowrap;text-decoration:none;transition:color .15s,border-color .15s}.app-nav-tab:hover{color:var(--color-darkblue);text-decoration:none}.app-nav-tab.active{color:var(--color-darkblue);border-bottom-color:var(--color-primary)}.app-subnav{width:fit-content;max-width:calc(100% - 48px);display:inline-flex;align-items:center;gap:4px;margin:16px 24px 0;padding:4px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-border-light);overflow-x:auto}.app-subtab{display:inline-flex;align-items:center;padding:7px 16px;border-radius:9px;color:var(--color-text-muted);font-size:14px;font-weight:600;white-space:nowrap;text-decoration:none}.app-subtab:hover{color:var(--color-text);text-decoration:none}.app-subtab.active{color:var(--color-darkblue);background:#fff;box-shadow:var(--shadow-sm)}.app-header{margin:0 0 16px;padding:21px 23px;border:1px solid #cfdceb;border-radius:14px;background:linear-gradient(135deg,#f3f8ff,#fff 68%);box-shadow:var(--shadow-sm);color:var(--color-darkblue)}.app-header h1{margin:0 0 4px;font-size:20px;font-weight:600}.app-header p{margin:0;color:var(--color-text-secondary);font-size:13px}.main-content{display:flex;padding:0;gap:20px}.left-panel{flex:1;min-width:400px;max-width:500px}.right-panel{flex:2;min-width:500px}.panel-tabs{display:inline-flex;align-items:center;gap:4px;margin-bottom:16px;padding:4px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-border-light)}.panel-tab{flex:1;min-height:0;padding:7px 16px;font-size:14px;font-weight:600;background:transparent;color:var(--color-text-muted);border:none;border-radius:9px;cursor:pointer;transition:color .15s,background .15s}.panel-tab:hover:not(:disabled){color:var(--color-text);background:transparent}.panel-tab.active,.panel-tab.active:hover:not(:disabled){background:#fff;color:var(--color-darkblue);box-shadow:var(--shadow-sm)}.no-selection{min-height:240px;display:grid;place-content:center;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);padding:48px 20px;text-align:center;color:var(--color-text-secondary);box-shadow:var(--shadow-sm)}.modal-overlay{position:fixed;inset:0;background:#263f6e73;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media(max-width:980px){.app-nav{padding:0 18px;gap:18px}.main-content{flex-direction:column}.left-panel,.right-panel{min-width:100%;max-width:100%}}.app-content>.openai-calls-page,.app-content>.settings-page,.app-content>.appointments-page,.app-content>.action-items-page,.app-content>.sim-lab-page,.app-content>.pipeline-page,.app-content>.pipeline-manager,.app-content>.robocall-metrics-page,.app-content>.conv-page,.app-content>.dbg-page,.app-content>.read-aloud-page,.app-content>.robot-lab-page,.app-content>.availability-page{max-width:none;margin:0;padding:16px 24px 48px}.app-content>.architecture-page,.app-content>.call-detail-page{max-width:1100px;margin:0 auto;padding:16px 24px 48px}@media(max-width:980px){.app-content>[class$=-page],.app-content>.pipeline-manager{padding:16px 18px 48px}.app-subnav{margin:12px 18px 0;max-width:calc(100% - 36px)}}.call-initiator{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.call-initiator h2{margin:0 0 16px;font-size:16px;font-weight:700;color:var(--color-darkblue)}.prompt-section{margin-bottom:16px}.toggle-prompt{min-height:0;background:transparent;color:var(--color-primary-dark);padding:8px 0;font-size:13px;font-weight:600;border:none;cursor:pointer}.toggle-prompt:hover:not(:disabled){color:var(--color-darkblue);background:transparent}.prompt-form{background:var(--color-surface-2);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:16px;margin-top:12px}.prompt-form textarea{width:100%;font-family:var(--font-mono);font-size:12.5px;resize:vertical;min-height:300px}.prompt-hint{margin:8px 0 0;font-size:12px;color:var(--color-text-muted)}.prompt-form select{width:100%;cursor:pointer}.prompt-actions{display:flex;gap:10px;margin-top:12px;margin-bottom:8px}.save-prompt-btn{min-height:30px;padding:5px 12px;font-size:12px}.delete-prompt-btn{min-height:30px;padding:5px 12px;font-size:12px;background:var(--color-error)}.delete-prompt-btn:hover:not(:disabled){background:var(--color-error-text)}.copy-agent-btn{min-height:30px;padding:5px 12px;font-size:12px;background:var(--color-card);color:var(--color-darkblue);border:1px solid var(--color-border);cursor:pointer;transition:background .15s,border-color .15s}.copy-agent-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.copy-agent-btn:disabled{opacity:.55;cursor:not-allowed}.save-message{margin:8px 0;font-size:13px;color:var(--color-success-text)}.variables-subsection{margin-top:20px;padding-top:16px;border-top:1px solid var(--color-border)}.variables-subsection>label{display:block;font-weight:700;font-size:11px;color:var(--color-text-secondary);margin-bottom:4px}.variables-hint{font-size:12px;color:var(--color-text-muted);margin:0 0 12px}.custom-variable-row{display:flex;gap:8px;margin-bottom:10px;align-items:center}.variable-key-input{flex:1;font-family:var(--font-mono)}.variable-value-input{flex:2}.remove-variable-btn{background:transparent;color:var(--color-text-muted);border:none;width:32px;height:32px;min-height:0;border-radius:50%;font-size:18px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;flex:none}.remove-variable-btn:hover:not(:disabled){background:var(--color-error-soft);color:var(--color-error-text)}.add-variable-btn{min-height:30px;padding:5px 12px;font-size:12px;margin-top:8px;background:var(--color-card);color:var(--color-darkblue);border:1px solid var(--color-border)}.add-variable-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.prompt-filter{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:12px}.prompt-filter label{font-size:11px;font-weight:700;color:var(--color-text-secondary);white-space:nowrap}.prompt-filter select{flex:1;cursor:pointer}.call-list{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.call-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.call-list h2{margin:0;font-size:16px;font-weight:700;color:var(--color-darkblue)}.call-list-filters{display:flex;align-items:center;gap:12px}.call-type-filter{cursor:pointer}.call-list.loading,.call-list.empty{min-height:240px;display:grid;place-content:center;text-align:center;color:var(--color-text-secondary);padding:40px 20px}.call-list.empty p{margin:0}.no-results{text-align:center;padding:40px 20px;color:var(--color-text-secondary);font-size:13px}.call-list table{width:100%;border-collapse:collapse}.call-list th{position:sticky;top:0;text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap}.call-list th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.call-list th.sortable:hover{background:var(--color-primary-soft)}.sort-indicator{margin-left:4px;color:var(--color-text-muted);font-size:10px}.sort-indicator.active{color:var(--color-primary-dark)}.call-list td{padding:10px 12px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:13px;vertical-align:top}.call-list td:first-child{color:var(--color-darkblue);font-variant-numeric:tabular-nums}.call-list tr{cursor:pointer;transition:background .2s}.call-list tbody tr:hover td{background:var(--color-surface-hover)}.call-list tr.selected td{background:var(--color-primary-soft)}.call-list .status-badge,.call-list .status-badge.status-pending{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.call-list .status-badge.status-calling{background:var(--color-warning-soft);color:var(--color-warning-text)}.call-list .status-badge.status-completed{background:var(--color-success-soft);color:var(--color-success-text)}.call-list .status-badge.status-failed{background:var(--color-error-soft);color:var(--color-error-text)}.annotation-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:800;letter-spacing:.02em;line-height:1.2;white-space:nowrap;background:var(--color-neutral-soft);color:var(--color-neutral-text)}.annotation-badge.pending{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.annotation-badge.annotated{background:var(--color-primary-soft);color:var(--color-primary-dark)}.annotation-badge.success,.annotation-badge.human,.annotation-badge.engaged{background:var(--color-success-soft);color:var(--color-success-text)}.annotation-badge.not-engaged{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.annotation-badge.voicemail{background:var(--color-warning-soft);color:var(--color-warning-text)}.annotation-badge.info{background:var(--color-primary-soft);color:var(--color-primary-dark)}.annotation-badge.transfer-requested,.annotation-badge.voicemail-full{background:var(--color-error-soft);color:var(--color-error-text)}.annotation-badge.reschedule{background:var(--color-primary-soft);color:var(--color-primary-dark)}.annotation-badge.emergency,.annotation-badge.cease{background:var(--color-error-soft);color:var(--color-error-text)}.result-badges{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.ai-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:800;letter-spacing:.02em;line-height:1.2;white-space:nowrap;background:var(--color-neutral-soft);color:var(--color-neutral-text)}.ai-badge.voicemail{background:var(--color-warning-soft);color:var(--color-warning-text)}.ai-badge.human,.ai-badge.engaged{background:var(--color-success-soft);color:var(--color-success-text)}.ai-badge.not-engaged{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.ai-badge.voicemail-full{background:var(--color-error-soft);color:var(--color-error-text)}.ai-badge.transfer-requested{background:var(--color-error-soft);color:var(--color-error-text);animation:pulse-badge 1.5s ease-in-out infinite}.ai-badge.reschedule{background:var(--color-primary-soft);color:var(--color-primary-dark)}.ai-badge.emergency{background:var(--color-error-soft);color:var(--color-error-text);animation:pulse-badge 1.5s ease-in-out infinite}.ai-badge.cease{background:var(--color-error-soft);color:var(--color-error-text)}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}.call-detail{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.alert-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--color-primary-border);border-left:4px solid var(--color-primary);border-radius:9px;background:var(--color-primary-soft);color:var(--color-darkblue);margin-bottom:16px;font-weight:600;font-size:14px}.alert-banner .alert-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-weight:700;font-size:14px;flex:none}.transfer-requested-banner{border-color:#f3c2c9;border-left-color:var(--color-error);background:var(--color-error-soft);color:var(--color-error-text);animation:pulse-banner 2s ease-in-out infinite}.transfer-requested-banner .alert-icon{background:var(--color-error);color:#fff}.reschedule-banner{border-color:var(--color-primary-border);border-left-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-darkblue)}.reschedule-banner .alert-icon{background:transparent}.emergency-banner{border-color:#f3c2c9;border-left-color:var(--color-error);background:var(--color-error-soft);color:var(--color-error-text);animation:pulse-banner 2s ease-in-out infinite}.emergency-banner .alert-icon{background:transparent}@keyframes pulse-banner{0%,to{opacity:1}50%{opacity:.85}}.call-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.call-detail-header h2{margin:0;font-size:16px;font-weight:700;color:var(--color-darkblue)}.call-detail-header-actions{display:flex;gap:8px;align-items:center}.copy-link-btn{min-height:30px;padding:5px 12px;font-size:12px;background:var(--color-card);border:1px solid var(--color-border);cursor:pointer;color:var(--color-darkblue);transition:background .15s,border-color .15s}.copy-link-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.refresh-btn{min-height:30px;padding:5px 12px;font-size:12px}.call-detail-page{max-width:800px;margin:0 auto;padding:20px}.call-detail-page .back-link{display:inline-block;margin-bottom:16px;color:var(--color-primary-dark);text-decoration:none;font-size:13px;font-weight:600}.call-detail-page .back-link:hover{text-decoration:underline}.call-detail-page-error{padding:10px 14px;border:1px solid #f3c2c9;border-left:4px solid var(--color-error);border-radius:9px;background:var(--color-error-soft);color:var(--color-error-text);font-size:13px}.call-metadata{background:var(--color-surface-2);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:16px;margin-bottom:20px}.metadata-row{display:flex;align-items:flex-start;margin-bottom:8px}.metadata-row:last-child{margin-bottom:0}.metadata-row .label{min-width:120px;flex-shrink:0;font-weight:600;color:var(--color-text-secondary);font-size:13px;margin-right:8px}.metadata-row .value{flex:1;font-size:13px;color:var(--color-text);min-width:0;word-break:break-word}.metadata-row .value.mono{font-family:var(--font-mono);font-size:12px}.metadata-row .value[class*=status-],.metadata-row .value[class*=ended-by-]{flex:none;display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:800;letter-spacing:.02em;line-height:1.2;text-transform:uppercase;background:var(--color-neutral-soft);color:var(--color-neutral-text)}.metadata-row .value.status-pending{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.metadata-row .value.status-completed{background:var(--color-success-soft);color:var(--color-success-text)}.metadata-row .value.status-calling{background:var(--color-warning-soft);color:var(--color-warning-text)}.metadata-row .value.status-failed{background:var(--color-error-soft);color:var(--color-error-text)}.ended-by-agent{background:var(--color-primary-soft);color:var(--color-primary-dark)}.ended-by-patient{background:var(--color-success-soft);color:var(--color-success-text)}.ended-by-voicemail{background:var(--color-warning-soft);color:var(--color-warning-text)}.ended-by-system{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.ended-by-transfer{background:var(--color-primary-soft);color:var(--color-primary-dark)}.call-detail h3{color:var(--color-darkblue);font-weight:700}.audio-section{margin-bottom:20px}.audio-section h3{margin:0 0 16px;font-size:15px}.audio-player-group{display:flex;flex-direction:column;gap:16px}.audio-player{background:var(--color-surface-2);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:12px;margin-bottom:8px}.audio-player:last-child{margin-bottom:0}.audio-player label{display:block;font-weight:700;font-size:11px;margin-bottom:8px;color:var(--color-text-secondary)}.audio-player audio{width:100%}.audio-player .audio-error{color:var(--color-text-muted);font-size:13px;margin:0;padding:8px 0}.prompt-display-section{margin-bottom:20px}.prompt-display-section h3{margin:0 0 12px;font-size:15px}.prompt-display{background:var(--color-surface-2);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:16px;color:var(--color-text-secondary);font-size:12.5px;line-height:1.6;white-space:pre-wrap;max-height:200px;overflow-y:auto;font-family:var(--font-mono)}.transcript-section{margin-bottom:20px}.transcript-section h3{margin:0 0 12px;font-size:15px}.transcript{background:var(--color-surface-2);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:16px;color:var(--color-text);font-family:inherit;font-size:13px;line-height:1.6;white-space:pre-wrap;max-height:200px;overflow-y:auto}.ai-evaluation-section{margin-bottom:20px}.ai-evaluation-section h3{margin:0 0 12px;font-size:15px}.ai-evaluation-content{background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-left:4px solid var(--color-primary);border-radius:9px;padding:16px}.ai-eval-row{display:flex;margin-bottom:8px}.ai-eval-label{width:140px;flex:none;font-weight:600;color:var(--color-text-secondary);font-size:13px}.ai-eval-value{font-size:13px;font-weight:700;color:var(--color-darkblue)}.ai-eval-value.voicemail{color:var(--color-warning)}.ai-eval-value.human,.ai-eval-value.engaged,.ai-eval-value.result-engaged{color:var(--color-success)}.ai-eval-value.result-transferred,.ai-eval-value.result-emergency,.ai-eval-value.result-cease{color:var(--color-error)}.ai-eval-value.result-rescheduled{color:var(--color-primary-dark)}.ai-eval-value.result-not_engaged{color:var(--color-text-secondary)}.ai-eval-value.result-voicemail,.ai-eval-value.result-voicemail_full{color:var(--color-warning)}.ai-eval-value.confidence-high{color:var(--color-success)}.ai-eval-value.confidence-medium{color:var(--color-warning)}.ai-eval-value.confidence-low,.ai-eval-value.problematic-yes{color:var(--color-error)}.ai-eval-value.problematic-no{color:var(--color-success)}.ai-eval-reasoning{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-primary-border)}.ai-eval-reasoning .ai-eval-label{display:block;margin-bottom:6px}.ai-eval-reasoning p{margin:0;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.tool-calls-section{margin-bottom:20px}.tool-calls-section h3{margin:0 0 12px;font-size:15px}.tool-calls-list{background:var(--color-surface-2);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:8px}.tool-call-item{display:flex;align-items:center;gap:12px;padding:6px 10px;background:var(--color-card);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:13px}.tool-call-name{font-weight:600;color:var(--color-darkblue);min-width:140px}.tool-call-result{display:inline-flex;align-items:center;font-weight:800;font-size:10px;letter-spacing:.02em;padding:4px 8px;border-radius:var(--radius-pill)}.tool-result-executed{background:var(--color-success-soft);color:var(--color-success-text)}.tool-result-failed{background:var(--color-error-soft);color:var(--color-error-text)}.tool-result-ignored{background:var(--color-warning-soft);color:var(--color-warning-text)}.tool-result-pending{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.tool-call-time{color:var(--color-text-muted);font-size:12px;margin-left:auto}.tool-call-item.appt-item{flex-direction:column;align-items:flex-start;gap:4px}.appt-item-head{display:flex;gap:8px;align-items:center;width:100%}.appt-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:800;letter-spacing:.02em;background:var(--color-neutral-soft);color:var(--color-neutral-text)}.appt-status.appt-status-pending{background:var(--color-warning-soft);color:var(--color-warning-text)}.appt-status.appt-status-confirmed{background:var(--color-success-soft);color:var(--color-success-text)}.appt-status.appt-status-cancelled{background:var(--color-error-soft);color:var(--color-error-text)}.appt-status.appt-status-completed{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.appt-reason{font-size:12px;color:var(--color-text-secondary)}.appt-notes{font-size:12px;color:var(--color-text-muted)}.annotation-form{border-top:1px solid var(--color-border-light);padding-top:20px}.annotation-form h3{margin:0 0 16px;font-size:15px}.patient-id-link{color:var(--color-primary-dark);text-decoration:none}.patient-id-link:hover{text-decoration:underline}.stats-panel{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.stats-panel.loading{min-height:120px;display:grid;place-content:center;color:var(--color-text-secondary)}.stats-panel h2{margin:0 0 16px;font-size:16px;font-weight:700;color:var(--color-darkblue)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-card{display:grid;gap:3px;padding:14px 16px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-card);box-shadow:var(--shadow-sm);text-align:left}.stat-card.highlight{border-left:4px solid var(--color-primary)}.stat-card.human,.stat-card.engaged{border-left:4px solid #2f7d59}.stat-card.not-engaged{border-left:4px solid var(--color-text-muted)}.stat-card.voicemail{border-left:4px solid #d89b1d}.stat-card.voicemail-full{border-left:4px solid var(--color-error)}.stat-card.transfer{border-left:4px solid var(--color-coral)}.stat-card.reschedule{border-left:4px solid var(--color-primary)}.stat-card.emergency{border-left:4px solid var(--color-error)}.stat-card.success{border-left:4px solid #2f7d59}.stat-value{color:var(--color-darkblue);font-size:25px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.stat-label{color:var(--color-text-muted);font-size:11.5px;font-weight:700}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.voicemail-tester{min-height:100vh}.automatic-pipeline{min-height:calc(100vh - 56px);background:var(--color-bg)}.pipeline-page{min-height:calc(100vh - 56px);padding:20px;background:var(--color-bg)}.pipeline-content{display:flex;max-width:none;margin:0;padding:0;gap:20px}.pipeline-loading{min-height:240px;display:grid;place-content:center;margin:20px;padding:40px;text-align:center;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text-secondary)}.pipeline-error-page{padding:60px 20px;text-align:center;color:var(--color-text-secondary);background:var(--color-card);margin:20px;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.pipeline-error-page p{margin:8px 0}.pipeline-config-panel{width:320px;flex-shrink:0;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);align-self:flex-start}.back-to-pipelines{display:inline-block;color:var(--color-primary-dark);text-decoration:none;font-size:13px;font-weight:600;margin-bottom:16px}.back-to-pipelines:hover{text-decoration:underline}.pipeline-config-panel h2{margin:0 0 4px;font-size:16px;font-weight:700;color:var(--color-darkblue)}.pipeline-type-name{margin:0 0 16px;font-size:13px;color:var(--color-text-secondary)}.unsaved-changes-banner{display:flex;justify-content:space-between;align-items:center;background:#fff8e7;border:1px solid #efd392;border-left:4px solid #d89b1d;border-radius:9px;padding:10px 12px;margin-bottom:16px}.unsaved-changes-banner span{font-size:12px;font-weight:600;color:#704c00}.unsaved-actions{display:flex;gap:8px}.discard-btn{background:var(--color-card);color:var(--color-darkblue);border:1px solid var(--color-border);min-height:30px;padding:5px 12px;font-size:12px}.discard-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.save-config-btn{min-height:30px;padding:5px 12px;font-size:12px}.pipeline-status-card{padding:14px 16px;border-radius:11px;margin-bottom:20px;border:1px solid var(--color-border);border-left:4px solid var(--color-border);background:var(--color-card);box-shadow:var(--shadow-sm)}.pipeline-status-card.enabled{border-left-color:#2f7d59}.pipeline-status-card.disabled{border-left-color:var(--color-error)}.pipeline-status-card .status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pipeline-status-card .status-label{font-weight:700;font-size:13px;color:var(--color-darkblue)}.pipeline-status-card .status-value{display:inline-flex;align-items:center;font-weight:800;font-size:10px;letter-spacing:.02em;padding:4px 8px;border-radius:var(--radius-pill);line-height:1.2}.pipeline-status-card .status-value.on{background:var(--color-success-soft);color:var(--color-success-text)}.pipeline-status-card .status-value.off{background:var(--color-error-soft);color:var(--color-error-text)}.pipeline-status-card .toggle-label span:first-child{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.config-section{margin-bottom:20px}.config-section>label{display:block;font-weight:700;font-size:11px;margin-bottom:6px;color:var(--color-text-secondary)}.config-section input[type=text],.config-section input[type=number],.config-section select{width:100%}.config-hint{margin:6px 0 0;font-size:12px;color:var(--color-text-muted)}.threshold-control{display:flex;align-items:center;gap:8px}.threshold-input{width:70px;text-align:right}.threshold-percent{font-size:13px;color:var(--color-text-secondary)}.threshold-control input[type=range]{flex:1;height:6px;min-height:0;padding:0;border:0;-webkit-appearance:none;background:var(--color-border);border-radius:3px;outline:none}.threshold-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--color-primary);border-radius:50%;cursor:pointer}.threshold-value{font-weight:700;font-size:14px;color:var(--color-primary-dark);font-variant-numeric:tabular-nums;min-width:50px}.time-range-control{display:flex;align-items:center;gap:8px}.time-range-control select{flex:1}.time-separator{color:var(--color-text-secondary);font-size:13px}.pipeline-actions{display:flex;flex-direction:column;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border-light)}.preview-btn{width:100%;background:var(--color-card);color:var(--color-darkblue);border:1px solid var(--color-border)}.preview-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.run-btn{width:100%;background:var(--color-success)}.run-btn:hover:not(:disabled){background:var(--color-success-text)}.cancel-btn{width:100%;background:var(--color-error)}.cancel-btn:hover:not(:disabled){background:var(--color-error-text)}.last-run-info{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:10px;background:var(--color-surface-2);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:12px;color:var(--color-text-secondary)}.env-info{display:flex;align-items:center;gap:12px}.api-path{font-family:var(--font-mono);font-size:12px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-warning-banner{background:#fff8e7;border:1px solid #efd392;border-left:4px solid #d89b1d;color:#704c00;padding:10px 14px;border-radius:9px;font-size:12px;margin-bottom:12px}.pipeline-warning-banner a{color:#704c00;font-weight:700}.field-mapping-summary{font-size:12px}.field-mapping-summary>label{font-weight:700;font-size:11px;color:var(--color-text-secondary);margin-bottom:8px;display:block}.mapping-details,.mapping-vars,.mapping-cols{margin-bottom:8px}.mapping-row,.mapping-var-row{display:flex;align-items:center;gap:6px;padding:2px 0;color:var(--color-text-secondary)}.mapping-label{font-weight:600;color:var(--color-darkblue);min-width:70px}.mapping-var-row code{background:var(--color-primary-soft);padding:1px 5px;border-radius:var(--radius-sm);font-size:11px;color:var(--color-primary-dark)}.mapping-arrow-small{color:var(--color-text-muted);font-size:11px}.mapping-cols{display:flex;gap:6px;align-items:baseline;color:var(--color-text-secondary)}.pipeline-patients-panel{flex:1;min-width:0;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.patients-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.patients-header h2{margin:0;font-size:16px;font-weight:700;color:var(--color-darkblue)}.patient-filters{display:flex;align-items:center;gap:12px}.patient-filters .date-filter-input{width:auto}.clear-filters-btn{min-height:30px;padding:5px 12px;font-size:12px;background:var(--color-card);color:var(--color-darkblue);border:1px solid var(--color-border)}.clear-filters-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.pipeline-error{background:var(--color-error-soft);color:var(--color-error-text);border:1px solid #f3c2c9;border-left:4px solid var(--color-error);padding:10px 14px;border-radius:9px;margin-bottom:16px;font-size:12px}.patients-loading,.patients-empty{min-height:240px;display:grid;place-content:center;text-align:center;padding:60px 20px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text-secondary);font-size:13px}.patients-table-container{flex:1;overflow:auto;max-height:calc(100vh - 250px);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-sm)}.patients-table{width:100%;border-collapse:collapse}.patients-table th{position:sticky;top:0;z-index:1;text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap}.patients-table td{padding:10px 12px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:13px;vertical-align:top}.patients-table td strong{color:var(--color-darkblue);font-variant-numeric:tabular-nums}.patients-table tr.excluded{opacity:.6}.patients-table tbody tr:hover td{background:var(--color-surface-hover)}.patients-table tbody tr.clickable{cursor:pointer}.patients-table tbody tr.clickable:hover td,.patients-table tbody tr.selected td,.patients-table tbody tr.selected:hover td{background:var(--color-primary-soft)}.patients-table tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}.patients-table th.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.patients-table th.sortable-header:hover{background:var(--color-border-light);color:var(--color-darkblue)}.hash-cell{font-family:var(--font-mono);font-size:12px}.hash-pass{color:var(--color-success-text)}.hash-fail{color:var(--color-error)}.filter-badge,.call-status-badge,.run-status-badge,.ai-result-badge,.annotation-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:800;letter-spacing:.02em;line-height:1.2;white-space:nowrap}.filter-badge.pass{background:var(--color-success-soft);color:var(--color-success-text)}.filter-badge.fail{background:var(--color-error-soft);color:var(--color-error-text)}.filter-badge.already-called{background:var(--color-primary-soft);color:var(--color-primary-dark)}.call-status-badge.pending{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.call-status-badge.calling{background:var(--color-warning-soft);color:var(--color-warning-text)}.call-status-badge.completed{background:var(--color-success-soft);color:var(--color-success-text)}.call-status-badge.failed{background:var(--color-error-soft);color:var(--color-error-text)}.call-status-badge.excluded{background:var(--color-neutral-soft);color:var(--color-text-muted)}.call-status-badge.already_called{background:var(--color-primary-soft);color:var(--color-primary-dark)}.pipeline-history-panel{width:340px;flex-shrink:0;display:flex;flex-direction:column;gap:20px}.pipeline-history-panel .stats-panel{margin-bottom:0;padding:16px}.pipeline-history-panel .stats-panel h2{font-size:16px;margin-bottom:12px}.pipeline-history-panel .stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.pipeline-history-panel .stat-card{padding:8px}.pipeline-history-panel .stat-value{font-size:18px}.pipeline-history-panel .stat-label{font-size:10px}.current-run-section,.run-history-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.current-run-section h3,.run-history-section h3{margin:0 0 16px;font-size:15px;font-weight:700;color:var(--color-darkblue)}.run-progress{margin-bottom:16px}.progress-bar{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);transition:width .3s ease}.progress-stats{margin-top:8px;font-size:13px;color:var(--color-text-secondary);text-align:center;font-variant-numeric:tabular-nums}.run-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.run-stat{display:grid;gap:3px;text-align:center;padding:14px 16px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-card);box-shadow:var(--shadow-sm)}.run-stat .stat-value{display:block;font-size:25px;line-height:1;font-weight:700;color:var(--color-darkblue);font-variant-numeric:tabular-nums}.run-stat .stat-label{font-size:11.5px;font-weight:700;color:var(--color-text-muted)}.run-status-badge.running{background:var(--color-warning-soft);color:var(--color-warning-text)}.run-status-badge.completed{background:var(--color-success-soft);color:var(--color-success-text)}.run-status-badge.failed{background:var(--color-error-soft);color:var(--color-error-text)}.run-status-badge.cancelled{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.history-empty{text-align:center;padding:20px;color:var(--color-text-secondary);font-size:13px}.history-hint{margin:0 0 12px;font-size:12px;color:var(--color-text-muted)}.history-item.clickable{cursor:pointer;transition:background .15s,border-color .15s}.history-item.clickable:hover{background:var(--color-primary-soft);border-color:var(--color-primary-border)}.history-item.clickable.selected{background:var(--color-primary-soft);border-color:var(--color-primary)}.viewing-run{font-size:13px;font-weight:500;color:var(--color-primary-dark)}.clear-selection-btn{min-height:30px;padding:5px 12px;font-size:12px;background:var(--color-card);color:var(--color-darkblue);border:1px solid var(--color-border)}.clear-selection-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.export-csv-btn{min-height:30px;padding:5px 12px;font-size:12px}.pipeline-call-detail{margin-top:20px;border-top:1px solid var(--color-border);padding-top:20px}.pipeline-call-detail.loading{text-align:center;color:var(--color-text-secondary);padding:40px}.call-detail-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.call-detail-header-bar h3{margin:0;font-size:16px;font-weight:700;color:var(--color-darkblue)}.call-detail-header-bar-actions{display:flex;gap:8px;align-items:center}.close-detail-btn{min-height:30px;padding:5px 12px;font-size:12px;background:var(--color-card);color:var(--color-darkblue);border:1px solid var(--color-border)}.close-detail-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.pipeline-call-detail .call-detail{box-shadow:none;padding:0}.pipeline-call-detail .call-detail-header{display:none}.history-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.history-item{padding:12px;background:var(--color-surface-2);border:1px solid var(--color-border-light);border-radius:var(--radius-sm)}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.history-date{font-size:12px;color:var(--color-text-secondary)}.history-stats{display:flex;gap:12px;font-size:12px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.history-error{margin-top:8px;padding:8px 10px;background:var(--color-error-soft);color:var(--color-error-text);border:1px solid #f3c2c9;border-left:4px solid var(--color-error);border-radius:var(--radius-sm);font-size:12px}.ai-result-badge.human,.ai-result-badge.engaged,.ai-result-badge.no{background:var(--color-success-soft);color:var(--color-success-text)}.ai-result-badge.not_engaged{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.ai-result-badge.voicemail,.ai-result-badge.yes{background:var(--color-warning-soft);color:var(--color-warning-text)}.ai-result-badge.voicemail_full{background:var(--color-error-soft);color:var(--color-error-text)}.ai-result-badge.transfer_requested{background:var(--color-primary-soft);color:var(--color-primary-dark)}.result-cell-wrapper{display:inline-flex;align-items:center;gap:4px}.problematic-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--color-error);color:#fff;font-size:11px;font-weight:700;cursor:help;flex-shrink:0}.annotation-badge.yes{background:var(--color-success-soft);color:var(--color-success-text)}.annotation-badge.no{background:var(--color-error-soft);color:var(--color-error-text)}.annotation-badge.partial{background:var(--color-warning-soft);color:var(--color-warning-text)}.call-history-section{margin-bottom:16px}.view-all-calls-btn{width:100%;background:var(--color-card);border:1px solid var(--color-border);color:var(--color-darkblue);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.view-all-calls-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.view-all-calls-btn.active,.view-all-calls-btn.active:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-dark)}.patient-link{color:var(--color-primary-dark);text-decoration:none;font-family:var(--font-mono);font-size:10px}.patient-link:hover{text-decoration:underline}.summary-subtitle-note{font-weight:400;font-size:.8em;color:var(--color-text-muted)}.pipeline-confirm-modal{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;width:90%;max-width:440px;overflow:hidden;box-shadow:var(--shadow-md)}.confirm-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--color-card);border-bottom:1px solid var(--color-border);color:var(--color-darkblue)}.confirm-modal-header h3{margin:0;font-size:16px;font-weight:700;color:var(--color-darkblue)}.confirm-modal-body{padding:20px}.confirm-modal-body p{margin:0 0 16px;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.confirm-modal-body p strong{color:var(--color-darkblue)}.confirm-details{display:flex;flex-direction:column;gap:10px;background:var(--color-surface-2);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:14px}.confirm-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--color-darkblue);font-variant-numeric:tabular-nums}.confirm-label{color:var(--color-text-muted);font-weight:600}.confirm-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--color-border)}.confirm-cancel-btn{padding:8px 16px;background:var(--color-card);color:var(--color-darkblue);border:1px solid var(--color-border);font-size:13px}.confirm-cancel-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.confirm-run-btn{padding:8px 20px;background:var(--color-success);font-size:13px}.confirm-run-btn:hover:not(:disabled){background:var(--color-success-text)}@media(max-width:1200px){.pipeline-content{flex-direction:column}.pipeline-config-panel,.pipeline-history-panel{width:100%}.patients-table-container{max-height:400px}}.pipeline-manager{min-height:calc(100vh - 56px);background:var(--color-bg);padding:20px}.pipeline-manager-content{max-width:none;margin:0 auto}.manager-header{margin-bottom:16px;padding:21px 23px;border:1px solid #cfdceb;border-radius:14px;background:linear-gradient(135deg,#f3f8ff,#fff 68%);box-shadow:var(--shadow-sm);color:var(--color-darkblue)}.manager-header h1{margin:0 0 4px;font-size:20px;font-weight:600;color:var(--color-darkblue)}.manager-header p{margin:0;color:var(--color-text-secondary);font-size:13px}.manager-error{display:flex;justify-content:space-between;align-items:center;background:var(--color-error-soft);color:var(--color-error-text);border:1px solid #f3c2c9;border-left:4px solid var(--color-error);padding:10px 14px;border-radius:9px;margin-bottom:20px;font-size:12px}.dismiss-error{background:transparent;color:var(--color-error-text);min-height:30px;padding:5px 12px;font-size:12px;border:1px solid var(--color-error-text)}.dismiss-error:hover:not(:disabled){background:var(--color-error-text);color:#fff}.manager-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.manager-section h2{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--color-darkblue)}.section-description{margin:0 0 16px;color:var(--color-text-secondary);font-size:13px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.env-switches-inline{display:flex;gap:32px;align-items:center}.env-toggle-inline{display:flex;align-items:center;gap:12px}.env-toggle-label{display:inline-flex;align-items:center;font-weight:800;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:var(--radius-pill);line-height:1.2}.env-toggle-label.dev{background:var(--color-warning-soft);color:var(--color-warning-text)}.env-toggle-label.prod{background:var(--color-error-soft);color:var(--color-error-text)}.env-switches{display:flex;gap:20px;margin-bottom:32px}.env-switch-card{flex:1;background:var(--color-card);border:1px solid var(--color-border);border-radius:11px;padding:20px;box-shadow:var(--shadow-sm)}.env-switch-card h3{margin:0 0 8px;font-size:15px;font-weight:700;color:var(--color-darkblue);display:flex;align-items:center;gap:8px}.env-switch-card p{margin:0 0 16px;font-size:13px;color:var(--color-text-secondary)}.env-switch-card.dev{border-left:4px solid #d89b1d}.env-switch-card.prod{border-left:4px solid var(--color-error)}.add-type-btn{flex:none}.loading-message,.empty-message{min-height:240px;display:grid;place-content:center;text-align:center;padding:40px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text-secondary);font-size:13px}.pipeline-types-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-sm);overflow:hidden}.pipeline-types-table th{position:sticky;top:0;text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap}.pipeline-types-table th:first-child{border-top-left-radius:11px}.pipeline-types-table th:last-child{border-top-right-radius:11px}.pipeline-types-table td{padding:10px 12px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:13px;vertical-align:middle}.pipeline-types-table tbody tr:last-child td{border-bottom:0}.pipeline-types-table tbody tr:hover td{background:var(--color-surface-hover)}.pipeline-types-table tr.disabled-row{opacity:.7}.pipeline-types-table .name-cell{font-weight:500;padding:0}.pipeline-name-link{display:block;min-height:0;background:var(--color-primary-soft);border:none;border-radius:0;color:var(--color-darkblue);font-weight:600;font-size:13px;padding:14px 16px;cursor:pointer;text-decoration:none;text-align:left;justify-content:flex-start;width:100%;height:100%;transition:background .15s,color .15s}.pipeline-name-link:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary-dark);text-decoration:none}.pipeline-types-table .prompt-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-types-table .hours-cell{white-space:nowrap}.pipeline-types-table .api-path-cell{font-family:var(--font-mono);font-size:12px;color:var(--color-text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-types-table .actions-cell{text-align:right;white-space:nowrap}.pipeline-types-table .actions-cell button{min-height:30px;padding:5px 12px;font-size:12px;margin-left:8px}.edit-btn{background:var(--color-card);color:var(--color-darkblue);border:1px solid var(--color-border)}.edit-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.delete-type-btn{background:var(--color-error)}.delete-type-btn:hover:not(:disabled){background:var(--color-error-text)}.pipeline-types-empty{min-height:240px;display:grid;place-content:center;text-align:center;padding:40px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text-secondary)}.pipeline-modal{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;width:90%;max-width:520px;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-md);display:flex;flex-direction:column}.pipeline-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:var(--color-card);border-bottom:1px solid var(--color-border);color:var(--color-darkblue)}.pipeline-modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--color-darkblue)}.modal-close-btn{background:transparent;color:var(--color-text-muted);border:none;width:32px;height:32px;min-height:0;padding:0;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.modal-close-btn:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-darkblue)}.pipeline-modal-body{padding:24px;overflow-y:auto;flex:1}.modal-section{margin-bottom:24px}.modal-section:last-child{margin-bottom:0}.modal-section h3{font-size:10.5px;font-weight:900;color:var(--color-primary-dark);text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--color-border-light)}.modal-field{margin-bottom:16px}.modal-field:last-child{margin-bottom:0}.modal-field>label{display:block;font-size:11px;font-weight:700;color:var(--color-text-secondary);margin-bottom:6px}.modal-field label .optional{font-weight:400;color:var(--color-text-muted)}.modal-field input,.modal-field select{width:100%}.modal-field input.mono-input{font-family:var(--font-mono);font-size:13px}.field-hint{display:block;font-size:11px;color:var(--color-text-muted);margin-top:4px}.modal-field-row{display:flex;gap:16px}.modal-field-row .modal-field{flex:1}.status-toggle{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:700}.status-toggle.enabled{background:var(--color-success-soft);color:var(--color-success-text)}.status-toggle.disabled{background:var(--color-error-soft);color:var(--color-error-text)}.toggle-label.compact{margin-left:8px}.threshold-input-group{display:flex;align-items:center;gap:8px}.threshold-input-group input{width:80px;text-align:right}.threshold-input-group span{color:var(--color-text-secondary);font-size:13px}.time-select-group{display:flex;align-items:center;gap:8px}.time-select-group select{flex:1}.time-select-group span{color:var(--color-text-secondary);font-size:13px}.weekday-checkboxes{display:flex;gap:4px;flex-wrap:wrap}.weekday-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--color-border);background:var(--color-card);color:var(--color-text-muted);transition:background .15s,border-color .15s,color .15s;-webkit-user-select:none;user-select:none}.weekday-chip input[type=checkbox]{display:none}.weekday-chip.active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-dark)}.weekday-chip:hover{border-color:var(--color-primary);color:var(--color-darkblue)}.weekday-chip.active:hover{border-color:var(--color-primary-dark);color:var(--color-primary-dark)}.days-cell{font-size:12px;white-space:nowrap}.modal-success{background:var(--color-success-soft);color:var(--color-success-text);border:1px solid #bfe3cf;border-left:4px solid var(--color-success);padding:10px 14px;border-radius:9px;font-size:12px;text-align:center;margin-top:16px}.pipeline-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;background:var(--color-surface-2);border-top:1px solid var(--color-border)}.btn-cancel{background:var(--color-card);color:var(--color-darkblue);border:1px solid var(--color-border);padding:8px 20px}.btn-cancel:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.btn-save{padding:8px 24px}.field-mapping-toggle{margin-bottom:16px}.field-mapping-toggle .toggle-label{display:flex;align-items:center;gap:8px;font-size:13px}.field-mapping-toggle .field-hint{display:block;margin-top:4px;margin-left:0}.fetch-sample-section{display:flex;align-items:center;gap:12px;margin-bottom:16px}.fetch-sample-btn{min-height:30px;padding:5px 12px;font-size:12px}.sample-error{color:var(--color-error);font-size:12px}.sample-fields-table{margin-bottom:16px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-sm);max-height:200px;overflow:auto}.sample-fields-table table{width:100%;border-collapse:collapse;font-size:12px}.sample-fields-table th{background:var(--color-surface-2);padding:6px 10px;text-align:left;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);position:sticky;top:0;white-space:nowrap}.sample-fields-table td{padding:5px 10px;border-top:1px solid var(--color-border-light);color:var(--color-text-secondary)}.sample-fields-table .field-name{font-family:var(--font-mono);font-weight:600;color:var(--color-primary-dark)}.sample-fields-table .field-value{color:var(--color-text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sample-fields-table .field-type{color:var(--color-text-muted);font-size:11px}.structural-fields{margin-bottom:16px}.structural-fields h4,.variable-mappings h4,.display-columns h4{font-size:12px;font-weight:700;color:var(--color-darkblue);margin:0 0 8px}.structural-field-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.structural-field-row label{width:100px;font-size:12px;font-weight:600;color:var(--color-text-secondary);flex-shrink:0}.structural-field-row select,.structural-field-row input{flex:1;min-height:32px;padding:6px 10px}.variable-mappings{margin-bottom:16px}.variable-mappings>.field-hint{margin-bottom:10px}.variable-mapping-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.var-name-input,.api-field-input{flex:1;min-height:32px;padding:6px 10px;font-family:var(--font-mono)}.api-field-select{flex:1;min-height:32px;padding:6px 10px}.mapping-arrow{color:var(--color-text-muted);font-size:14px;flex-shrink:0}.remove-mapping-btn{background:var(--color-error-soft);color:var(--color-error-text);border:none;width:28px;height:28px;min-height:0;border-radius:50%;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s;padding:0}.remove-mapping-btn:hover:not(:disabled){background:var(--color-error);color:#fff}.optional-checkbox{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-muted);white-space:nowrap;cursor:pointer}.optional-checkbox input[type=checkbox]{margin:0}.optional-tag{font-size:11px;color:var(--color-text-muted);font-style:italic}.add-mapping-btn{background:var(--color-primary-soft);color:var(--color-primary-dark);border:1px dashed var(--color-primary);min-height:30px;padding:5px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.add-mapping-btn:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary-dark);color:var(--color-darkblue)}.display-columns{margin-bottom:8px}.display-columns>.field-hint{margin-bottom:10px}.display-columns-grid{display:flex;flex-wrap:wrap;gap:6px}.display-column-checkbox{display:flex;align-items:center;gap:4px;font-size:12px;padding:4px 8px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;transition:background .15s,border-color .15s}.display-column-checkbox:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.display-column-checkbox:has(input:checked){background:var(--color-primary-soft);border-color:var(--color-primary)}.display-column-checkbox input[type=checkbox]{width:auto;margin:0}.display-column-checkbox span{font-family:var(--font-mono);color:var(--color-text-secondary)}@media(max-width:900px){.env-switches{flex-direction:column}.env-switches-inline{flex-direction:column;gap:16px;align-items:flex-start}.pipeline-types-table{font-size:12px}.pipeline-types-table th,.pipeline-types-table td{padding:8px}.pipeline-types-table .api-path-cell{display:none}}.openai-calls-page{min-height:100vh}.openai-calls-header{margin:0 0 16px;padding:21px 23px;border:1px solid #cfdceb;border-radius:14px;background:linear-gradient(135deg,#f3f8ff,#fff 68%);box-shadow:var(--shadow-sm);color:var(--color-darkblue);text-align:left}.openai-calls-header h1{margin:0;font-size:20px;font-weight:600;color:var(--color-darkblue)}.openai-calls-header p{margin:6px 0 0;color:var(--color-text-secondary);font-size:13px}.openai-call-form{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.openai-call-form .form-row{display:flex;gap:12px}.openai-call-form .form-row .form-group{flex:1}.openai-call-form h3{margin:0 0 16px;font-size:16px;font-weight:700;color:var(--color-darkblue)}.openai-call-form .form-group{margin-bottom:12px}.openai-call-form .form-group>label{display:block;font-size:11px;font-weight:700;color:var(--color-text-secondary);margin-bottom:4px}.openai-call-form .form-group input,.openai-call-form .form-group textarea,.openai-call-form .form-group select{width:100%;box-sizing:border-box}.openai-call-form .form-group textarea{resize:vertical;min-height:80px}.openai-call-form .form-loading{min-height:120px;display:grid;place-content:center;padding:2rem;text-align:center;color:var(--color-text-secondary)}.openai-call-form .form-hint{display:block;margin-top:4px;font-size:11px;color:var(--color-text-muted);line-height:1.4}.openai-call-form .form-error{padding:10px 14px;border:1px solid #f3c2c9;border-left:4px solid var(--color-error);border-radius:9px;background:var(--color-error-soft);color:var(--color-error-text);font-size:12px;margin-bottom:12px}.openai-call-form .make-call-btn{width:100%;min-height:40px;margin-top:8px;padding:10px 18px;font-size:14px;transition:background .15s,box-shadow .15s}.openai-call-form .make-call-btn:hover:not(:disabled){box-shadow:var(--shadow-md)}.appt-config-panel{margin-top:8px;padding:12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.appt-config-panel .form-row{display:flex;gap:12px}.appt-config-panel .form-group{flex:1;margin-bottom:8px}.schedule-grid-actions{display:flex;gap:6px;margin-bottom:6px}.schedule-grid-wrapper{overflow-x:auto;margin:0 -12px;padding:0 12px}.schedule-grid-table{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-card);overflow:hidden;-webkit-user-select:none;user-select:none;min-width:640px}.schedule-grid-header,.schedule-grid-row{display:flex}.schedule-grid-corner{width:40px;min-width:40px;height:24px;background:var(--color-surface-2);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.schedule-grid-col-header{flex:1;min-width:28px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:600;color:var(--color-text-muted);background:var(--color-surface-2);border-right:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border)}.schedule-grid-col-header:last-child{border-right:none}.schedule-grid-row-header{width:40px;min-width:40px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface-2);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border-light);cursor:pointer}.schedule-grid-row-header:hover{background:var(--color-primary-soft);color:var(--color-darkblue)}.schedule-grid-row:last-child .schedule-grid-row-header,.schedule-grid-row:last-child .schedule-grid-cell{border-bottom:none}.schedule-grid-cell{flex:1;min-width:28px;height:28px;background:var(--color-card);border-right:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background .05s}.schedule-grid-cell:last-child{border-right:none}.schedule-grid-cell:hover{background:var(--color-primary-soft)}.schedule-grid-cell.active{background:var(--color-primary)}.schedule-grid-cell.active:hover{background:var(--color-primary-dark)}.select-all-btn{min-height:26px;padding:3px 10px;border:1px solid var(--color-border);background:var(--color-card);font-size:.75rem;font-weight:600;cursor:pointer;color:var(--color-darkblue)}.select-all-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}@media(max-width:980px){.openai-calls-header{margin:0 0 16px}}.openai-calls-page .right-panel>*+*{margin-top:16px}.settings-page{min-height:100vh}.settings-header{margin:0 0 16px;padding:21px 23px;border:1px solid #cfdceb;border-radius:14px;background:linear-gradient(135deg,#f3f8ff,#fff 68%);box-shadow:var(--shadow-sm);color:var(--color-darkblue);text-align:left}.settings-header h1{margin:0;font-size:20px;font-weight:600;color:var(--color-darkblue)}.settings-header p{margin:6px 0 0;color:var(--color-text-secondary);font-size:13px;line-height:1.5}.settings-content{padding:0;max-width:none;margin:0}.settings-content>*+*{margin-top:16px}.settings-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.settings-card h3{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--color-darkblue)}.settings-description{font-size:13px;color:var(--color-text-secondary);margin:0 0 16px;line-height:1.5}.settings-card textarea{width:100%;resize:vertical}.settings-actions{display:flex;gap:12px}.settings-loading{min-height:120px;display:grid;place-content:center;padding:20px;text-align:center;color:var(--color-text-secondary)}.settings-message{margin-top:12px;padding:10px 14px;border-radius:9px;font-size:13px}.settings-message-success{background:var(--color-success-soft);color:var(--color-success-text);border:1px solid #bfe3cf;border-left:4px solid var(--color-success)}.settings-message-error{background:var(--color-error-soft);color:var(--color-error-text);border:1px solid #f3c2c9;border-left:4px solid var(--color-error)}@media(max-width:980px){.settings-header{margin:16px 18px 0}}.architecture-page{max-width:960px;margin:0 auto;padding:24px 16px}.architecture-page h2{margin:0 0 16px;font-size:22px;font-weight:600;color:var(--color-darkblue)}.arch-view-toggle{display:inline-flex;gap:4px;margin-bottom:20px;padding:4px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-border-light);width:fit-content}.arch-toggle-btn{min-height:0;padding:7px 16px;border:0;border-radius:9px;background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.arch-toggle-btn:hover:not(:disabled){color:var(--color-text);background:transparent}.arch-toggle-btn.active,.arch-toggle-btn.active:hover:not(:disabled){background:var(--color-card);color:var(--color-darkblue);box-shadow:var(--shadow-sm)}.arch-diagram{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.arch-description{margin:0 0 16px;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.arch-description code{background:var(--color-primary-soft);color:var(--color-primary-dark);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:12.5px}.arch-svg{width:100%;height:auto}.arch-box-label{font-size:12px;font-weight:600;fill:var(--color-text)}.arch-box-sub{font-size:9.5px;fill:var(--color-text-muted)}.arch-note{font-size:9px;fill:var(--color-text-muted)}.arch-path-label{font-size:11px;font-weight:600}.arch-path-label.manual{fill:#667eea}.arch-path-label.auto{fill:#f6993f}.arch-group-label{font-size:11px;font-weight:600;fill:#48bb78}.arch-section-label{font-size:13px;font-weight:600;fill:var(--color-text)}.arch-phase-label{font-size:11px;font-weight:700;fill:var(--color-text-secondary)}.arch-legend{font-size:10px;fill:var(--color-text-secondary)}.arch-transition{font-size:9.5px;font-weight:600;fill:var(--color-text-secondary)}.arch-transition-r{font-size:9.5px;font-weight:600;fill:var(--color-text-secondary);text-anchor:end}.arch-note-r{font-size:9px;fill:var(--color-text-muted);text-anchor:end}.arch-table-title{margin:24px 0 8px;font-size:15px;font-weight:600;color:var(--color-darkblue)}.arch-table-wrap{overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-sm)}.arch-table{width:100%;border-collapse:collapse;font-size:12.5px;line-height:1.4}.arch-table th{position:sticky;top:0;padding:10px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;text-align:left;white-space:nowrap}.arch-table td{padding:10px 12px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:13px;text-align:left;vertical-align:top}.arch-table th+th,.arch-table td+td{border-left:1px solid var(--color-border-light)}.arch-table tbody tr:hover td{background:var(--color-surface-hover)}.arch-table td:first-child{font-family:var(--font-mono);font-size:12px;color:var(--color-darkblue);white-space:nowrap}.arch-table tr.arch-row-result td:first-child{border-left:4px solid #f6993f}.arch-table tr.arch-row-line td:first-child{border-left:4px solid #fc5c65}.arch-table tr.arch-row-end td:first-child{border-left:4px solid var(--color-text-secondary)}.arch-chain-state{font-size:9.5px;font-weight:600;fill:var(--color-text)}.arch-chain-event{font-size:8.5px;fill:var(--color-text-secondary)}.robot-lab-page{min-height:100vh;background:var(--color-bg)}.rl-header{margin:0 0 16px;padding:21px 23px;border:1px solid #cfdceb;border-radius:14px;background:linear-gradient(135deg,#f3f8ff,#fff 68%);box-shadow:var(--shadow-sm);color:var(--color-darkblue)}.rl-header h1{margin:0 0 6px;font-size:20px;font-weight:600;color:var(--color-darkblue)}.rl-header p{margin:0;color:var(--color-text-secondary);font-size:13px}.rl-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px 24px;margin:0 0 16px;box-shadow:var(--shadow-sm)}.rl-section h2{margin:0 0 6px;font-size:16px;font-weight:600;color:var(--color-darkblue)}.rl-section-desc{margin:0 0 16px;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.rl-empty{color:var(--color-text-muted);font-size:14px;padding:12px 0}.rl-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:20px}.rl-table th{text-align:left;padding:10px 12px;background:var(--color-surface-2);color:var(--color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;border-bottom:1px solid var(--color-border);white-space:nowrap}.rl-table td{padding:10px 12px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:13px;vertical-align:middle}.rl-table tbody tr:hover td{background:var(--color-surface-hover)}.rl-table tr:last-child td{border-bottom:none}.rl-editing td,.rl-table tbody tr.rl-editing:hover td{background:var(--color-primary-soft)}.rl-phone{font-family:var(--font-mono);font-size:13px;color:var(--color-darkblue)}.rl-role-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.rl-role-clinician{background:var(--color-primary-soft);color:var(--color-primary-dark)}.rl-role-patient{background:var(--color-success-soft);color:var(--color-success-text)}.rl-role-spare{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.rl-status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:800;line-height:1.2;text-transform:capitalize;white-space:nowrap}.rl-status-pending{background:var(--color-warning-soft);color:var(--color-warning-text)}.rl-status-running{background:var(--color-primary-soft);color:var(--color-primary-dark)}.rl-status-completed{background:var(--color-success-soft);color:var(--color-success-text)}.rl-status-failed{background:var(--color-error-soft);color:var(--color-error-text)}.rl-label{color:var(--color-text-secondary);font-size:13px}.rl-btn{min-height:30px;padding:5px 12px;font-size:12px;font-weight:700;border:1px solid transparent;border-radius:var(--radius-pill);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.rl-btn:disabled{opacity:.5;cursor:not-allowed}.rl-btn-add,.rl-btn-save{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.rl-btn-add:hover:not(:disabled),.rl-btn-save:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.rl-btn-start{background:var(--color-success);color:#fff;border-color:var(--color-success);min-height:36px;padding:8px 20px;font-size:13px}.rl-btn-start:hover:not(:disabled){background:var(--color-success-text);border-color:var(--color-success-text)}.rl-btn-edit,.rl-btn-cancel,.rl-btn-detail,.rl-btn-refresh{background:var(--color-card);color:var(--color-darkblue);border-color:var(--color-border)}.rl-btn-edit:hover:not(:disabled),.rl-btn-cancel:hover:not(:disabled),.rl-btn-detail:hover:not(:disabled),.rl-btn-refresh:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.rl-btn-cancel{color:var(--color-text-secondary)}.rl-btn-remove{background:var(--color-error);color:#fff;border-color:var(--color-error)}.rl-btn-remove:hover:not(:disabled){background:var(--color-error-text);border-color:var(--color-error-text)}.rl-actions{display:flex;gap:6px;align-items:center}.rl-input,.rl-select{padding:8px 12px;min-height:38px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;color:var(--color-text);background:var(--color-card)}.rl-select{cursor:pointer}.rl-input:focus,.rl-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #5da1d826}.rl-select-wide{min-width:220px}.rl-add-row{border-top:1px solid var(--color-border-light);padding-top:16px}.rl-add-row h3{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--color-darkblue)}.rl-add-fields{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rl-input-phone{width:160px;font-family:var(--font-mono)}.rl-input-label{width:180px}.rl-launcher-form{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end}.rl-form-group{display:flex;flex-direction:column;gap:6px}.rl-form-group label{font-size:11px;font-weight:700;color:var(--color-text-secondary)}.rl-error{margin:8px 0 0;color:var(--color-error-text);font-size:13px}.rl-success{margin:8px 0 0;color:var(--color-success-text);font-size:13px}.rl-runs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.rl-runs-header h2{margin:0}.rl-run-row:hover td{background:var(--color-surface-hover)}.rl-run-selected td{background:var(--color-primary-soft)!important}.rl-run-id{font-family:var(--font-mono);font-size:12px;color:var(--color-text-muted)}.rl-detail-id{font-family:var(--font-mono);font-size:14px;color:var(--color-primary-dark)}.rl-legs{display:flex;gap:16px;flex-wrap:wrap}.rl-leg{flex:1 1 240px;border:1px solid var(--color-border);border-radius:var(--radius);padding:16px;background:var(--color-surface-2)}.rl-leg-clinician{border-left:4px solid var(--color-primary)}.rl-leg-patient{border-left:4px solid var(--color-success)}.rl-leg-role{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary-dark);margin-bottom:8px}.rl-leg-call{margin-bottom:6px}.rl-transcript-link{color:var(--color-primary-dark);font-size:13px;font-weight:600;text-decoration:none}.rl-transcript-link:hover{text-decoration:underline}.rl-no-call{color:var(--color-text-muted);font-size:13px}.rl-leg-id{font-size:11px;color:var(--color-text-muted);margin-top:4px}.rl-leg-id code{font-family:var(--font-mono);color:var(--color-text-secondary)}.sim-lab-page{padding:1.5rem;max-width:1400px;margin:0 auto}.sl-header{margin-bottom:16px;padding:21px 23px;border:1px solid #cfdceb;border-radius:14px;background:linear-gradient(135deg,#f3f8ff,#fff 68%);box-shadow:var(--shadow-sm);color:var(--color-darkblue)}.sl-header h1{margin:0 0 6px;font-size:20px;font-weight:600;color:var(--color-darkblue)}.sl-header p{margin:0;color:var(--color-text-secondary);font-size:13px}.sl-tabs{display:inline-flex;gap:4px;margin-bottom:1rem;padding:4px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-border-light)}.sl-tab{min-height:0;padding:7px 16px;border:0;border-radius:9px;background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:color .15s,background .15s}.sl-tab:hover:not(:disabled){color:var(--color-text);background:transparent}.sl-tab.active,.sl-tab.active:hover:not(:disabled){background:var(--color-card);color:var(--color-darkblue);box-shadow:var(--shadow-sm)}.sl-section{margin-bottom:1.25rem;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-sm)}.sl-section h2{font-size:16px;font-weight:600;color:var(--color-darkblue);margin:0 0 .5rem}.sl-section-desc{color:var(--color-text-secondary);font-size:13px;margin:0 0 .75rem}.sl-empty{color:var(--color-text-muted);font-style:italic}.sl-muted{color:var(--color-text-muted);font-size:12px;margin:.25rem 0}.sl-error{color:var(--color-error-text);margin:.5rem 0}.sl-ok{color:var(--color-success-text);margin:.5rem 0}.sl-table{width:100%;border-collapse:collapse;font-size:13px}.sl-table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap}.sl-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:13px;vertical-align:top}.sl-table tbody tr:hover td{background:var(--color-surface-hover)}.sl-table tr.clickable{cursor:pointer}.sl-table-wrap{overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-sm)}.sl-table-wrap .sl-table th{position:sticky;top:0}.sl-td-wrap{max-width:420px}.sl-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem 1rem;align-items:end}.sl-form label{display:flex;flex-direction:column;gap:.25rem;font-size:11px;font-weight:700;color:var(--color-text-secondary)}.sl-form .sl-wide{grid-column:1 / -1}.sl-input,.sl-select,.sl-textarea{padding:8px 12px;min-height:38px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;font-size:13px;font-weight:400;background:var(--color-card);color:var(--color-text)}.sl-input:focus,.sl-select:focus,.sl-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #5da1d826}.sl-input-wide{min-width:340px}.sl-textarea{min-height:120px;font-family:var(--font-mono);font-size:12.5px;resize:vertical}.sl-textarea.tall{min-height:260px}.sl-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 18px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-card);color:var(--color-darkblue);font:inherit;font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.sl-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary);text-decoration:none}.sl-btn:disabled{opacity:.55;cursor:default}.sl-btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.sl-btn-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.sl-btn-sm{min-height:30px;padding:5px 12px;font-size:12px}.sl-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:800;line-height:1.2;white-space:nowrap;background:var(--color-neutral-soft);color:var(--color-neutral-text)}.sl-badge.running{background:var(--color-primary-soft);color:var(--color-primary-dark)}.sl-badge.completed{background:var(--color-success-soft);color:var(--color-success-text)}.sl-badge.failed{background:var(--color-error-soft);color:var(--color-error-text)}.sl-badge.paused_budget{background:var(--color-warning-soft);color:var(--color-warning-text)}.sl-badge.queued{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.sl-grade{font-weight:700;font-variant-numeric:tabular-nums}.sl-grade.g-high{color:var(--color-success-text)}.sl-grade.g-mid{color:var(--color-warning-text)}.sl-grade.g-low{color:var(--color-error-text)}.sl-delta-pos{color:var(--color-success-text)}.sl-delta-neg{color:var(--color-error-text)}.sl-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1.25rem}.sl-metric{display:grid;gap:3px;padding:14px 16px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-card);box-shadow:var(--shadow-sm)}.sl-metric .label{font-size:11.5px;font-weight:700;color:var(--color-text-muted)}.sl-metric .value{color:var(--color-darkblue);font-size:25px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.sl-metric .baseline{font-size:12px;color:var(--color-text-muted)}.sl-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:900px){.sl-two-col{grid-template-columns:1fr}}.sl-panel{border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;background:var(--color-card);box-shadow:var(--shadow-sm)}.sl-section>.sl-panel{border:0;padding:0;box-shadow:none}.sl-panel h3{margin:0 0 .5rem;font-size:14px;font-weight:600;color:var(--color-darkblue)}.sl-notes{white-space:pre-wrap;background:var(--color-surface-2);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:.6rem;font-size:13px;color:var(--color-text-secondary)}.sl-transcript{white-space:pre-wrap;font-family:var(--font-mono);font-size:12px;max-height:360px;overflow:auto;background:var(--color-surface-2);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:.6rem;color:var(--color-text-secondary)}.sl-facts{font-family:var(--font-mono);font-size:12px;white-space:pre-wrap;color:var(--color-text-secondary)}.sl-flags{display:flex;flex-wrap:wrap;gap:.3rem}.sl-inline{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.sl-inline.sl-space-between{justify-content:space-between}.sl-mt-sm{margin-top:.5rem}.sl-mt{margin-top:.75rem}.sl-mt-md{margin-top:1rem}.sl-mt-lg{margin-top:1.5rem}
