:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f0f2f5;--border: #dde1e7;--text: #1c2430;--text-muted: #6b7684;--accent: #1f6f8b;--accent-dark: #17566c;--accent-soft: #e6f1f5;--ok: #2f7d4f;--ok-soft: #e6f4ec;--warn: #9a6a10;--warn-soft: #fdf3e0;--danger: #b3261e;--danger-soft: #fdeceb;--radius: 8px;--shadow: 0 1px 2px rgba(28, 36, 48, .08), 0 2px 8px rgba(28, 36, 48, .06);--sidebar-w: 220px;--sidebar-w-collapsed: 56px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif}h1,h2,h3,h4{margin:0 0 .5em;font-weight:600;line-height:1.25}h2{font-size:20px}h3{font-size:16px}h4{font-size:14px}code{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.92em}.muted,.hint{color:var(--text-muted)}.hint.small{font-size:12px}.spacer{flex:1}.right{text-align:right}.btn{padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-dark)}.btn.danger{color:var(--danger);border-color:#e7b9b6}.btn.danger:hover:not(:disabled){background:var(--danger-soft)}.btn.small{padding:3px 8px;font-size:12px}.btn.block{width:100%;justify-content:center;margin-bottom:8px}.btn.link{border:none;background:none;color:var(--accent);text-decoration:underline;padding:0}input,select,textarea{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;min-width:0}input:focus,select:focus,textarea:focus,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}textarea{resize:vertical}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field>span{font-size:12px;color:var(--text-muted)}.field.grow{flex:1}.field.checkbox{flex-direction:row;align-items:center;gap:8px}.field.checkbox>span{font-size:14px;color:var(--text)}.field-row{display:flex;gap:12px}.field-row>.field{flex:1}.file-btn{display:inline-block;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer}.file-btn:hover{background:var(--surface-2)}.app{display:flex;height:100%}.sidebar{width:var(--sidebar-w-collapsed);flex:0 0 auto;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .15s ease;overflow:hidden}.sidebar.open{width:var(--sidebar-w)}.burger{border:none;background:none;font-size:18px;padding:12px 16px;cursor:pointer;text-align:left;color:var(--text-muted)}.nav{display:flex;flex-direction:column}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border:none;border-left:3px solid transparent;background:none;font:inherit;color:var(--text);cursor:pointer;text-align:left;white-space:nowrap}.nav-item:hover{background:var(--surface-2)}.nav-item.active{border-left-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark);font-weight:600}.nav-icon{font-size:16px;width:20px;text-align:center;flex:0 0 auto}.sidebar:not(.open) .nav-label{display:none}.content{flex:1;display:flex;flex-direction:column;min-width:0}.app-header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.app-header h1{margin:0;font-size:16px}.app-subtitle{color:var(--text-muted);border-left:1px solid var(--border);padding-left:12px}.app-user{margin-left:auto;display:flex;align-items:center;gap:10px}.user-name{font-weight:600}.app-main{flex:1;overflow:auto;padding:16px}.brand{display:flex;align-items:center;gap:10px}.brand-full{flex-direction:column;gap:12px;text-align:center}.brand-mark{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:6px;background:var(--accent);color:#fff;font-weight:700;font-size:12px;letter-spacing:.5px}.brand-mark-lg{width:52px;height:52px;border-radius:12px;font-size:20px}.brand-name{font-weight:600}.brand-full .brand-name{font-size:20px}.brand-tagline{color:var(--text-muted);font-size:12px}.login-screen{height:100%;display:grid;place-items:center;background:var(--bg)}.login-card{width:min(360px,92vw);padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.login-sub{text-align:center;color:var(--text-muted);margin:4px 0 16px}.login-lang{display:flex;justify-content:center;margin-bottom:12px}.login-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.login-field>span{font-size:12px;color:var(--text-muted)}.login-submit{width:100%;justify-content:center;margin-top:8px}.lang-switch{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.lang-btn{border:none;background:var(--surface);padding:4px 10px;font:inherit;font-size:12px;cursor:pointer;color:var(--text-muted)}.lang-btn.active{background:var(--accent);color:#fff}.tab{height:100%}.split{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:16px;height:100%}.list-pane,.detail-pane{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;overflow:auto}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.toolbar input[type=search],.toolbar input[type=text]{flex:1}.filters{display:flex;gap:14px;font-size:12px;color:var(--text-muted);margin-bottom:8px;flex-wrap:wrap}.filters label{display:flex;align-items:center;gap:5px;cursor:pointer}.empty{padding:16px;color:var(--text-muted);text-align:center}.empty.large{padding:64px 16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.card.highlight{border-color:var(--accent);background:var(--accent-soft)}.status{padding:8px 12px;border-radius:var(--radius);margin:8px 0}.status.error{background:var(--danger-soft);color:var(--danger)}.status.warn{background:var(--warn-soft);color:var(--warn)}.badge{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;background:var(--surface-2);color:var(--text-muted);white-space:nowrap}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.muted{background:var(--surface-2)}.role-badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600}.role-admin{background:#ede4f7;color:#5b3d86}.role-medic{background:var(--accent-soft);color:var(--accent-dark)}.role-patient,.status-scheduled{background:var(--surface-2);color:var(--text-muted)}.status-confirmed{background:var(--accent-soft);color:var(--accent-dark)}.status-arrived{background:var(--warn-soft);color:var(--warn)}.status-completed{background:var(--ok-soft);color:var(--ok)}.status-cancelled{background:var(--surface-2);color:var(--text-muted)}.status-no_show{background:var(--danger-soft);color:var(--danger)}.invoice-draft{background:var(--surface-2);color:var(--text-muted)}.invoice-issued{background:var(--accent-soft);color:var(--accent-dark)}.invoice-partially_paid{background:var(--warn-soft);color:var(--warn)}.invoice-paid{background:var(--ok-soft);color:var(--ok)}.invoice-cancelled{background:var(--surface-2);color:var(--text-muted);text-decoration:line-through}.day-heading{display:flex;align-items:baseline;gap:12px}.day-count{font-size:13px;font-weight:400;color:var(--text-muted)}.agenda-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.agenda-row{display:flex;align-items:center;gap:14px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border);border-radius:var(--radius)}.agenda-row.status-confirmed{border-left-color:var(--accent)}.agenda-row.status-arrived{border-left-color:var(--warn)}.agenda-row.status-completed{border-left-color:var(--ok)}.agenda-row.status-no_show{border-left-color:var(--danger)}.agenda-row.status-cancelled{opacity:.55}.agenda-time{display:flex;flex-direction:column;min-width:52px;font-variant-numeric:tabular-nums}.agenda-time span{font-size:12px;color:var(--text-muted)}.agenda-main{flex:1;min-width:0}.agenda-patient{font-weight:600}.agenda-meta{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-select{font-size:12px}.patient-list,.invoice-list{list-style:none;margin:0;padding:0}.patient-item,.invoice-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius);background:none;font:inherit;text-align:left;cursor:pointer}.invoice-item{flex-direction:row;align-items:center;gap:8px}.invoice-item .right{margin-left:auto;font-variant-numeric:tabular-nums}.patient-item:hover,.invoice-item:hover{background:var(--surface-2)}.patient-item.active,.invoice-item.active{background:var(--accent-soft)}.patient-name{font-weight:600}.patient-sub{font-size:12px;color:var(--text-muted)}.alert-dot{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:6px;border-radius:50%;background:var(--danger);color:#fff;font-size:10px;font-weight:700;vertical-align:1px}.record-header{display:flex;align-items:flex-start;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.record-header h2{margin:0}.record-sub{color:var(--text-muted);font-size:13px}.alerts-banner{margin:10px 0;padding:8px 12px;border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);border-left:4px solid var(--danger)}.record-tabs{display:flex;gap:2px;margin:12px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.record-tab{padding:7px 12px;border:none;border-bottom:2px solid transparent;background:none;font:inherit;color:var(--text-muted);cursor:pointer}.record-tab.active{color:var(--accent-dark);border-bottom-color:var(--accent);font-weight:600}.detail-grid{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 16px}.detail-grid dt{color:var(--text-muted);font-size:13px}.detail-grid dd{margin:0}.note-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.note-form-actions{display:flex;gap:8px;justify-content:flex-end}.note-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.note{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.note header{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:12px;flex-wrap:wrap}.note header strong{font-size:14px}.note header .btn{margin-left:auto}.note p{margin:0;white-space:pre-wrap}.link-button{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline}.note-versions{margin-top:8px;font-size:13px}.note-version-list{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:8px;border-left:2px solid var(--border)}.note-version-list .muted{font-size:12px}.note-version-list p{color:var(--text-muted)}.doc-archive{margin-top:14px}.doc-archive summary{cursor:pointer;color:var(--text-muted);margin-bottom:8px}.doc-list,.mini-list{list-style:none;margin:8px 0 0;padding:0}.doc-list li,.mini-list li{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.doc-list li>.muted,.mini-list li>.muted{font-size:12px}.mini-list li.reversed>span:not(.muted){text-decoration:line-through;color:var(--text-muted)}.doc-list li>a:first-child{flex:1}.mini-list .right{margin-left:auto;font-variant-numeric:tabular-nums}.consent-state{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);margin-bottom:16px}.consent-state .btn{margin-left:auto}.consent-state.ok{background:var(--ok-soft);color:var(--ok)}.consent-state.missing{background:var(--warn-soft);color:var(--warn)}.consent-history{list-style:none;margin:0;padding:0}.consent-history li{padding:10px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px;align-items:flex-start}.consent-history li.revoked{opacity:.6}.consent-state.warn{background:var(--danger-soft);color:var(--danger)}.consent-withheld{margin:4px 0 0;padding-left:18px;font-size:.92em}.badge.warn{background:var(--danger-soft);color:var(--danger)}.consent-panel .pc-card,.consent-panel-head{margin-bottom:12px}.consent-panel-head .field-row{align-items:center;gap:8px}.consent-panel .seg{display:inline-flex;gap:4px}.consent-panel .status.warn ul{margin:4px 0 0;padding-left:18px}.pc-withheld{margin:6px 0 0;padding:6px 8px;border-radius:6px;background:var(--danger-soft);color:var(--danger);font-weight:600}.clause-list{list-style:none;margin:0;padding:0}.clause-list li{padding:8px 0;border-bottom:1px solid var(--border)}.clause-list label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.clause-list li.blocked label{cursor:not-allowed;opacity:.6}.clause-list .badge{margin-left:8px}.doc-body{max-height:60vh;overflow:auto;padding:12px;background:var(--surface-2);border-radius:var(--radius);white-space:pre-wrap}.table{width:100%;border-collapse:collapse;margin:8px 0}.table th,.table td{padding:7px 10px;border-bottom:1px solid var(--border);text-align:left}.table th{font-size:12px;color:var(--text-muted);font-weight:600}.table td.right,.table th.right{text-align:right;font-variant-numeric:tabular-nums}.table tfoot td,.table tfoot th{border-bottom:none}.table tfoot tr.total td,.table tfoot tr.total th{font-weight:700;border-top:2px solid var(--border)}.table tr.overdue td{background:var(--danger-soft)}.table tr.muted-row{opacity:.55}.table .actions{display:flex;gap:4px;justify-content:flex-end}.add-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;background:var(--surface-2);border-radius:var(--radius);margin:8px 0}.add-line input[type=text]{flex:1;min-width:140px}.add-line input[type=number]{width:90px}.invoice-actions{display:flex;gap:8px;justify-content:flex-end;margin:12px 0}.lookup{list-style:none;margin:4px 0;padding:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.lookup li button{display:block;width:100%;padding:7px 10px;border:none;background:none;font:inherit;text-align:left;cursor:pointer}.lookup li button:hover{background:var(--accent-soft)}.chosen{display:flex;align-items:center;gap:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(28,36,48,.42);display:grid;place-items:center;padding:16px;z-index:50}.modal{width:min(520px,100%);max-height:90vh;overflow:auto;padding:20px;background:var(--surface);border-radius:12px;box-shadow:var(--shadow)}.modal.wide{width:min(760px,100%)}.modal.pdf-viewer{width:min(1100px,100%);height:92vh;max-height:92vh;padding:12px;display:flex;flex-direction:column;gap:8px;overflow:hidden}.pdf-viewer-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pdf-viewer-head h3{margin:0}.pdf-viewer-frame{flex:1;width:100%;border:1px solid var(--border, #d9dee5);border-radius:8px;background:#fff}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.portal{min-height:100%;display:flex;flex-direction:column}.portal-main{flex:1;width:min(760px,100%);margin:0 auto;padding:20px 16px}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(28,36,48,.45);display:grid;place-items:center;padding:16px;z-index:180;animation:toast-in .15s ease-out}.confirm-box{width:min(460px,100%);max-height:85vh;overflow:auto;padding:22px 24px;background:var(--surface);border-radius:12px;box-shadow:0 18px 50px #1c24304d}.confirm-box h3{margin:0 0 10px}.confirm-box p{margin:0 0 12px}.confirm-details{margin:0 0 12px;padding-left:18px}.confirm-box .row{display:flex;flex-direction:row-reverse;justify-content:flex-start;gap:8px;margin-top:16px}.toast-stack{position:fixed;top:18px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:200;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--accent);box-shadow:0 10px 30px #1c243038;min-width:300px;max-width:min(560px,calc(100vw - 32px));font-size:15px;pointer-events:auto;animation:toast-in .18s ease-out}.toast-success{border-left-color:var(--ok)}.toast-error{border-left-color:var(--danger)}.toast-success .toast-icon{color:var(--ok);font-weight:700}.toast-error .toast-icon{color:var(--danger);font-weight:700}.toast-leaving{opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.bell{position:relative}.bell-button{position:relative;border:1px solid var(--border);background:var(--surface);border-radius:50%;width:36px;height:36px;font-size:17px;cursor:pointer}.bell-button.has-unread{border-color:var(--danger)}.bell-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.bell-panel{position:absolute;top:calc(100% + 8px);right:0;width:min(380px,calc(100vw - 24px));max-height:70vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 40px #1c243040;z-index:150}.bell-head,.bell-foot{display:flex;align-items:center;gap:8px;padding:10px 12px}.bell-head{border-bottom:1px solid var(--border)}.bell-foot{border-top:1px solid var(--border);justify-content:flex-end}.bell-empty{padding:16px 12px}.bell-list{list-style:none;margin:0;padding:0}.bell-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:10px 12px;border:none;border-bottom:1px solid var(--border);background:transparent;cursor:pointer}.bell-item:hover{background:var(--surface-2)}.bell-item.unread{background:var(--accent-soft)}.bell-item.unread .bell-text{font-weight:700}.bell-title{color:var(--text-muted)}.tab.tasks{max-width:1100px}.tasks .segmented{gap:0}.tasks .segmented .btn{border-radius:0;margin-left:-1px;padding:8px 16px}.tasks .segmented .btn:first-child{border-radius:var(--radius) 0 0 var(--radius);margin-left:0}.tasks .segmented .btn:last-child{border-radius:0 var(--radius) var(--radius) 0}.tab-count{display:inline-block;min-width:20px;padding:0 6px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700;line-height:20px;text-align:center}.btn.primary .tab-count{background:rgba(255,255,255,.25);color:#fff}.task-quick{display:flex;align-items:center;gap:10px;margin:8px 0 16px;padding:8px 12px;background:var(--surface);border:1px dashed var(--accent);border-radius:10px}.task-quick-icon{color:var(--accent);font-size:18px;font-weight:700}.task-quick input{flex:1;border:none;outline:none;background:transparent;font:inherit;font-size:15px;padding:6px 0}.task-group{margin:14px 0}.task-group h4{margin:0 0 6px;display:flex;align-items:center;gap:6px}.task-group-overdue h4{color:var(--danger)}.task-group-done>.btn{margin-bottom:6px}.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.task-item{display:flex;align-items:flex-start;gap:14px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent-soft);border-radius:10px;transition:box-shadow .15s}.task-item:hover{box-shadow:var(--shadow)}.task-item.prio-high{border-left-color:var(--danger)}.task-item.prio-low{border-left-color:var(--border)}.task-item.done{opacity:.6}.task-item.done .task-title{text-decoration:line-through}.task-check{flex:none;width:24px;height:24px;margin-top:1px;border:2px solid var(--accent);border-radius:50%;background:var(--surface);color:#fff;font-weight:700;font-size:13px;line-height:1;cursor:pointer}.task-check:hover:not(:disabled){background:var(--accent-soft)}.task-check.checked{background:var(--ok);border-color:var(--ok)}.task-check:disabled{cursor:default;opacity:.5}.task-body{flex:1;min-width:0}.task-title{font-weight:600;font-size:15px}.task-desc{white-space:pre-wrap;margin:4px 0;color:var(--text-muted)}.task-chips,.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}.task-actions{display:flex;gap:6px;flex:none}.task-empty{text-align:center;padding:32px 16px}.task-empty-icon{font-size:34px;margin-bottom:8px}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;background:var(--surface-2);border:1px solid transparent;color:var(--text);font-size:12.5px;white-space:nowrap}.chip-danger{background:var(--danger-soft);color:var(--danger)}.chip-warn{background:var(--warn-soft);color:var(--warn)}.chip-ok{background:var(--ok-soft);color:var(--ok)}.chip-person{background:var(--accent-soft);color:var(--accent)}.chip-button{cursor:pointer;padding:6px 12px;font-size:13.5px;border-color:var(--border);background:var(--surface)}.chip-button:hover{border-color:var(--accent)}.chip-button.active{background:var(--accent);border-color:var(--accent);color:#fff}.chip-button.active.prio-high{background:var(--danger);border-color:var(--danger)}.chip-sub{opacity:.7;font-size:11px;margin-left:4px}.task-dialog .field-label{display:block;font-size:13px;color:var(--text-muted);margin-bottom:2px}.task-dialog .field{margin-bottom:12px}.task-form-row{display:flex;flex-wrap:wrap;gap:8px 32px}.task-title-input{font-size:16px;padding:8px 10px}@media (max-width: 720px){.task-action-label{display:none}}.toast-spinner{width:13px;height:13px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (max-width: 900px){.split{grid-template-columns:1fr;height:auto}.field-row{flex-direction:column;gap:0}.app-subtitle{display:none}}.fam-prime{background:var(--accent-soft);color:var(--accent-dark)}.fam-glide{background:#e8f0e6;color:#40663a}.fam-seal{background:#efe9f4;color:#5b4570}.fam-axis{background:#fdf0e4;color:#8a5a20}.fam-sync{background:#e4f0f4;color:#2b6070}.fam-neco{background:#f4e9e9;color:#7a4040}.fam-restore{background:#eaf1e9;color:#46663f}.fam-microbiome,.fam-other{background:var(--surface-2);color:var(--text-muted)}.status-active{background:var(--ok-soft);color:var(--ok)}.rule-cell{font-size:12px;color:var(--text-muted);max-width:240px}.rule-cell .badge{margin-left:6px}.nowrap{white-space:nowrap}.nowrap .btn+.btn{margin-left:6px}.field.inline{flex-direction:row;align-items:center;gap:8px}.field-group{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin:12px 0;min-width:0}.field-group legend{font-size:12px;font-weight:600;color:var(--text-muted);padding:0 6px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.card-head h3{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card-head-actions{display:flex;align-items:center;gap:8px}.patient-code{font-size:12px;background:var(--surface-2);border-radius:4px;padding:2px 6px;color:var(--text-muted);letter-spacing:.02em}.enrolment-card .detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.detail-field dt{color:var(--text-muted);font-size:12px;margin-bottom:2px}.detail-field dd{margin:0;font-weight:600}.warn-cell{color:var(--warn)}.enrolment-notes{background:var(--surface-2);border-radius:var(--radius);padding:8px 12px;margin:0 0 12px;font-size:13px}.plan-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:12px;margin-top:4px;flex-wrap:wrap}.plan-head .btn+.btn{margin-left:6px}.plan-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:12px}.plan-group h4{margin:0 0 8px;font-size:13px}.plan-list{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto}.plan-slot{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;font-size:13px}.plan-slot:nth-child(odd){background:var(--surface-2)}.plan-index{color:var(--text-muted);font-size:12px}.plan-status{font-size:11px;color:var(--text-muted)}.plan-slot.status-completed .plan-when{color:var(--ok)}.plan-slot.status-cancelled .plan-when,.plan-slot.status-no_show .plan-when{text-decoration:line-through;color:var(--text-muted)}.preview-dates{display:flex;flex-wrap:wrap;gap:6px}.preview-chip{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-muted)}.preview-chip.visit{background:var(--accent-soft);color:var(--accent-dark)}.empty-state{text-align:center;padding:32px 16px;color:var(--text-muted)}.section-footer{margin-top:8px}.check-list{list-style:none;margin:0 0 16px;padding:0}.check-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border)}.check-row:last-child{border-bottom:none}.check-row.unset .check-label{color:var(--text-muted)}.check-label{font-size:13px}.check-buttons{display:flex;gap:4px}.check-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:6px;padding:2px 10px;font-size:12px;cursor:pointer}.check-btn:hover{border-color:var(--accent)}.check-btn.active.yes{background:var(--ok-soft);border-color:var(--ok);color:var(--ok);font-weight:600}.check-btn.active.no{background:var(--danger-soft);border-color:var(--danger);color:var(--danger);font-weight:600}.check-btn.active.not_applicable{background:var(--surface-2);border-color:var(--text-muted);color:var(--text);font-weight:600}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.stat.warn{border-color:var(--warn);background:var(--warn-soft)}.stat-label{font-size:12px;color:var(--text-muted)}.stat-value{font-size:22px;font-weight:600;margin:2px 0;font-variant-numeric:tabular-nums}.stat-sub{font-size:12px;color:var(--text-muted)}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.dash-grid .card h3{margin-top:0;font-size:14px}.bars{display:flex;flex-direction:column;gap:6px}.bar-row{display:grid;grid-template-columns:110px 1fr 32px;align-items:center;gap:8px;font-size:12px}.bar-row.empty{opacity:.45}.bar-label{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.bar-fill{display:block;height:100%;background:var(--accent);border-radius:999px}.bar-value{text-align:right;font-variant-numeric:tabular-nums}.origin-program{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;margin-bottom:16px;background:var(--surface-2);border-radius:var(--radius);font-size:13px}.origin-label{color:var(--text-muted)}.origin-program .hint{flex:1 1 240px;min-width:0}.patient-program{display:flex;align-items:center;gap:6px;margin-top:3px;flex-wrap:wrap}.next-visit{font-size:11px;color:var(--accent-dark)}.glide-list{display:grid;gap:12px}.glide-card .card-head{align-items:flex-start}.badge.glide-protocol{margin-left:8px}.glide-total{display:flex;align-items:center;gap:18px;padding:12px 0 4px}.glide-total-value{font-size:2.6rem;font-weight:600;line-height:1;letter-spacing:-.02em;color:var(--accent)}.glide-total.incomplete .glide-total-value{color:var(--text-muted)}.glide-total-max{font-size:1rem;font-weight:400;color:var(--text-muted);margin-left:2px}.glide-total-side{display:grid;gap:2px;min-width:0}.glide-outlook{font-weight:600}.glide-limiting,.glide-interp{font-size:.85rem;line-height:1.45}.glide-interp-label{font-weight:600}.glide-params{align-items:flex-start}.glide-param{display:grid;gap:2px;margin-top:4px;font-size:.8rem;font-weight:400;line-height:1.4}.glide-param-points{font-weight:600;margin-right:6px;font-variant-numeric:tabular-nums}.glide-param-text{color:var(--text)}.glide-thresholds{font-size:.75rem;font-variant-numeric:tabular-nums}.glide-param-error{color:var(--danger);font-size:.8rem;font-weight:400}.glide-form input.invalid{border-color:var(--danger);background:var(--danger-soft)}.glide-tracking{margin:12px 0}.glide-tracking-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.glide-tracking-table input{width:100%;max-width:120px}.glide-tracking-table td{vertical-align:top;font-variant-numeric:tabular-nums}.glide-bars{margin-top:4px}.glide-bars .bar-row.empty .bar-track{opacity:.35}.glide-trend{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:10px;font-size:.85rem}.glide-delta{border:1px solid var(--border);border-radius:999px;padding:2px 9px;white-space:nowrap}.glide-notes{margin:10px 0 0;font-size:.9rem;white-space:pre-wrap}.glide-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:16px;align-items:start}.glide-form{display:grid;gap:12px;min-width:0}.glide-form h4{margin:0 0 10px}.glide-panel{position:sticky;top:12px;display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);min-width:0}.glide-panel .glide-total{padding-top:0}.glide-age dd{font-variant-numeric:tabular-nums}.glide-report p{margin:8px 0 0;font-size:.85rem;line-height:1.5}.glide-disclaimer{border-top:1px solid var(--border);padding-top:8px;margin:0}@media (max-width: 1100px){.glide-split{grid-template-columns:1fr}.glide-panel{position:static}}.consent-invites{margin-top:12px}.invite-fresh{margin-top:10px;padding:12px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft)}.invite-fresh-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:8px}.invite-link{display:flex;gap:8px}.invite-link input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.invite-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.invite-row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius)}.invite-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.invite-hint{font-size:.8rem;color:var(--text-muted)}.invite-audit{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:12px;font-size:.78rem;color:var(--text-muted)}.invite-audit .ok{color:var(--ok)}.invite-row.state-expired,.invite-row.state-revoked,.invite-row.state-completed{opacity:.72}.badge.invite-sent{background:var(--accent-soft);color:var(--accent-dark)}.badge.invite-opened{background:var(--warn-soft);color:var(--warn)}.badge.invite-completed{background:var(--ok-soft);color:var(--ok)}.badge.invite-expired,.badge.invite-revoked{background:var(--surface-2);color:var(--text-muted)}.consent-answers{margin:6px 0;font-size:.85rem}.consent-answers pre{margin:6px 0 0;padding:10px;background:var(--surface-2);border-radius:var(--radius);white-space:pre-wrap;font-size:.78rem;line-height:1.45}.pc-shell{max-width:720px;margin:0 auto;padding:24px 16px 64px;color:var(--text)}.pc-head{padding:8px 4px 20px}.pc-brand{font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;color:var(--accent)}.pc-head h1{font-size:1.5rem;line-height:1.25;margin:8px 0 12px}.pc-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px;margin-bottom:14px}.pc-card h2{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px}.pc-card p{margin:0 0 10px;line-height:1.6}.pc-question{border:0;border-top:1px solid var(--border);margin:16px 0 0;padding:16px 0 0}.pc-question legend{font-weight:600;line-height:1.5;padding:0;margin-bottom:10px}.pc-required{color:var(--danger)}.pc-optional{font-size:.82rem;color:var(--text-muted);margin:-4px 0 10px}.pc-choice{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:8px;line-height:1.5;cursor:pointer}.pc-choice:hover{background:var(--surface-2)}.pc-choice input{margin-top:3px;flex:none;width:18px;height:18px}.pc-input{width:100%;padding:10px 12px;font-size:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.pc-question.missing{background:var(--danger-soft);border-radius:8px;padding:16px 12px}.pc-error{color:var(--danger);font-size:.88rem;margin:8px 0 0}.pc-submit{text-align:center}.pc-button{width:100%;padding:14px 20px;font-size:1rem;font-weight:600;color:#fff;background:var(--accent);border:0;border-radius:10px;cursor:pointer}.pc-button:disabled{opacity:.6;cursor:default}.pc-muted{color:var(--text-muted);font-size:.85rem}.pc-message{text-align:center;padding:40px 24px}.pc-message h1{font-size:1.4rem;margin:0 0 12px}.pc-foot{text-align:center;color:var(--text-muted);font-size:.8rem;line-height:1.7;padding:16px 0}@media (max-width: 520px){.pc-shell{padding:12px 10px 48px}.pc-card{padding:14px}}.intake-list{display:grid;gap:12px;margin-top:12px}.intake-card.flagged{border-color:var(--danger);box-shadow:inset 3px 0 0 var(--danger)}.badge.danger-badge{background:var(--danger-soft);color:var(--danger);margin-left:8px}.intake-flag-note{margin:8px 0 0;color:var(--danger);font-size:.88rem}.intake-answers{margin-top:8px;font-size:.85rem}.intake-answers pre{margin:8px 0 0;padding:12px;background:var(--surface-2);border-radius:var(--radius);white-space:pre-wrap;font-size:.78rem;line-height:1.5;max-height:60vh;overflow-y:auto}.pc-scale{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pc-scale-end{font-size:.82rem;color:var(--text-muted);flex:none}.pc-scale-row{display:flex;gap:2px;flex:1 1 260px;justify-content:space-between}.pc-scale-step{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;border-radius:8px;cursor:pointer;min-width:30px}.pc-scale-step:hover{background:var(--surface-2)}.pc-scale-number{font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.pc-scale-step input{width:18px;height:18px;margin:0}.pc-progress{position:sticky;top:0;z-index:2;display:grid;gap:4px;padding:10px 0 12px;background:var(--bg)}.pc-progress-track{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.pc-progress-fill{height:100%;background:var(--accent);transition:width .2s ease}@media (max-width: 520px){.pc-scale-row{gap:0}.pc-scale-step{min-width:26px;padding:6px 1px}}.form-picker{border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px 8px;margin:0}.form-picker legend{font-size:.78rem;color:var(--text-muted);padding:0 4px}.check-inline{display:flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}.pc-step{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-top:6px}.pc-handover{padding:10px 12px;border-radius:8px;background:var(--ok-soft);color:var(--ok);font-size:.9rem}.sheet{display:grid;gap:14px}.sheet .card{padding:16px}.sheet .card h3{margin:0 0 4px;font-size:1rem}.sheet .card h4{margin:14px 0 6px;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.sheet-alert{margin:0;padding:10px 12px;border-radius:var(--radius);background:var(--warn-soft);color:var(--warn);font-size:.85rem;line-height:1.45}.sheet-alert.danger{background:var(--danger-soft);color:var(--danger);font-weight:600}.sheet-versions{display:flex;flex-wrap:wrap;gap:6px}.sheet-snapshot{width:100%;table-layout:fixed}.sheet-snapshot thead th:first-child{width:25%}.sheet-snapshot thead th:last-child{width:75%}.sheet-snapshot th{text-align:left;vertical-align:top;font-weight:600}.sheet-snapshot td{line-height:1.5}.sheet-issues{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.sheet-issue{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.sheet-issue.pressing{background:var(--warn-soft);border-color:var(--warn)}.sheet-issue strong{display:block;font-size:.9rem}.sheet-issue p{margin:4px 0 0;font-size:.85rem;line-height:1.5;color:var(--text-muted)}.sheet-axes{display:grid;gap:10px;margin-top:8px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.sheet-axis{padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.sheet-axis.high{border-color:var(--warn);box-shadow:inset 3px 0 0 var(--warn)}.sheet-axis-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.sheet-axis-interpretation{margin:6px 0 0;font-size:.85rem;line-height:1.5}.sheet-axis-evidence{margin:8px 0 0;padding-left:18px;font-size:.8rem;line-height:1.5;color:var(--text-muted)}.sheet-appendix summary{cursor:pointer;font-weight:600}.sheet-appendix-section th{width:45%;text-align:left;vertical-align:top;font-weight:500;font-size:.8rem}.sheet-appendix-section td{font-size:.8rem;line-height:1.5}.sheet-free-text{white-space:pre-wrap;color:var(--text-muted)}.intake-import{margin-top:12px;padding:14px 16px}.intake-import ul{margin:8px 0 0;padding-left:18px;font-size:.8rem;color:var(--text-muted)}.appt-table td,.appt-table th{padding:6px 10px 6px 0;vertical-align:middle}.appt-table td.nowrap{white-space:nowrap;font-variant-numeric:tabular-nums}.appt-table td:last-child,.appt-table th:last-child{width:1%;white-space:nowrap}.plan-edit{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.plan-edit input{width:auto}.plan-adjusted{font-size:11px;color:var(--warn, #b45309);font-weight:600}.plan-slot{grid-template-columns:36px 1fr auto auto}.plan-edit{grid-column:2 / -1}.labs-table-wrap{overflow-x:auto}.labs-review td{vertical-align:top;white-space:nowrap}.labs-review input[type=text]{font-size:13px;padding:2px 4px}.labs-review select{font-size:12px}.labs-review tr.labs-edited td{background:var(--warn-soft)}.labs-review tr.selected td,.labs .table tr.selected td{background:var(--accent-soft)}.labs-metrics{display:flex;gap:24px;margin-bottom:12px}.labs-metric-value{font-size:22px;font-weight:600}.labs-source{border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin:12px 0;background:var(--surface-2)}.labs-source img{max-width:100%;background:#fff}.labs-ok{color:var(--ok)}.labs-history-points{display:flex;flex-wrap:wrap;gap:12px}.labs-history-point{display:flex;flex-direction:column}.link-btn{background:none;border:none;padding:0 2px;cursor:pointer;color:inherit;font:inherit}.measurement-device+.measurement-device{margin-top:28px}.field-row.wrap{flex-wrap:wrap}.field-row.wrap>.field{flex:0 1 170px}.help{max-width:860px;display:flex;flex-direction:column;gap:16px}.help h2{margin-top:0}.help h3{margin-top:0;display:flex;align-items:center;gap:10px}.help ul,.help ol{padding-left:20px;margin:8px 0}.help li+li{margin-top:4px}.help-toc{columns:2}@media (max-width: 640px){.help-toc{columns:1}}.help-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:14px;flex:none}.help-where{margin:0 0 4px}.help-notes{margin-top:10px;padding:10px 12px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:4px}.help-step{scroll-margin-top:16px}.help-screens dt{font-weight:600;margin-top:8px}.help-screens dd{margin:2px 0 0}.portal-account{margin:16px 0;max-width:640px}.portal-account h4{margin-top:0}.portal-account .field-row{align-items:flex-end}.glide-source{display:block;font-size:12px;color:var(--accent);margin-top:2px}.glide-devices .glide-device-line{margin:4px 0}.glide-devices .toolbar{margin-top:8px;flex-wrap:wrap;gap:8px}.glide-device-old{color:#a15c00}.glide-device-old.small{font-size:12px}.report-section{display:flex;flex-direction:column;gap:12px;max-width:900px}.report-section .card h3,.report-section .card h4{margin-top:0}.report-labs{list-style:none;padding:0;margin:8px 0 0}.report-labs li+li{margin-top:4px}.segmented{display:inline-flex;gap:2px}.agenda-week{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:6px;overflow-x:auto}.agenda-week-day{display:flex;flex-direction:column;gap:4px;min-height:160px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.agenda-week-day.today,.agenda-month-cell.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.agenda-week-head{display:flex;align-items:baseline;gap:4px;padding:2px 2px 6px;border:0;border-bottom:1px solid var(--border);background:none;color:var(--text);font:inherit;cursor:pointer;text-align:left}.agenda-weekday{color:var(--text-muted);font-size:12px}.agenda-week-count,.agenda-month-count{margin-left:auto;min-width:18px;padding:0 5px;border-radius:9px;background:var(--accent-soft);color:var(--accent-dark);font-size:11px;text-align:center}.agenda-week-empty{color:var(--text-muted);font-size:12px;padding:2px}.agenda-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:4px 6px;border:0;border-left:3px solid var(--border);border-radius:4px;font:inherit;font-size:12px;text-align:left;cursor:pointer;overflow:hidden}.agenda-chip.status-confirmed{border-left-color:var(--accent)}.agenda-chip.status-arrived{border-left-color:var(--warn)}.agenda-chip.status-completed{border-left-color:var(--ok)}.agenda-chip.status-no_show{border-left-color:var(--danger)}.agenda-chip.status-cancelled{text-decoration:line-through;opacity:.6}.agenda-chip-time{font-weight:600;font-variant-numeric:tabular-nums}.agenda-chip-name,.agenda-chip-meta{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-chip-meta{color:var(--text-muted);font-size:11px}.agenda-chip.small{flex-direction:row;gap:4px;padding:1px 4px;font-size:11px;cursor:inherit}.agenda-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.agenda-month-weekday{padding:2px 4px;color:var(--text-muted);font-size:12px;text-align:center}.agenda-month-cell{display:flex;flex-direction:column;gap:2px;min-height:92px;min-width:0;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;text-align:left;cursor:pointer}.agenda-month-cell:hover,.agenda-week-head:hover{background:var(--surface-2)}.agenda-month-cell.outside{opacity:.45}.agenda-month-date{display:flex;align-items:center;width:100%;font-weight:600;font-size:13px}.agenda-month-more{color:var(--text-muted);font-size:11px}@media (max-width: 700px){.agenda-month-cell{min-height:48px}.agenda-month-cell .agenda-chip,.agenda-month-more{display:none}}.date-input{position:relative;display:inline-flex;align-items:stretch;min-width:0}.date-input>input[type=text]{width:9.5em;flex:1 1 auto;border-top-right-radius:0;border-bottom-right-radius:0}.date-input.pc-date>input[type=text]{width:100%;padding:10px 12px;font-size:1rem}.date-input.invalid>input[type=text]{border-color:var(--danger);background:var(--danger-soft)}.date-input-cal{border:1px solid var(--border);border-left:none;border-radius:0 var(--radius) var(--radius) 0;background:var(--surface);cursor:pointer;padding:0 8px;font:inherit}.date-input-cal:disabled{cursor:default;opacity:.5}.date-input-native{position:absolute;right:0;bottom:0;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}.tab.settings{display:flex;flex-direction:column;gap:16px;max-width:820px}.tab.settings .btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.tab.settings .table.compact th{text-align:left;width:12em;font-weight:500;color:var(--text-muted)}.tab.settings code{word-break:break-all}.settings-ok{color:var(--accent)}.settings-error{color:var(--danger)}.scores-kinds{margin-bottom:12px}.assistant{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;min-height:560px}.assistant-side{display:flex;flex-direction:column;gap:10px}.assistant-new{justify-content:center}.assistant-threads{flex:1;overflow:auto;max-height:60vh;display:flex;flex-direction:column;gap:4px}.assistant-thread{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.assistant-thread.active{border-color:var(--accent);background:var(--accent-soft)}.assistant-thread-open{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:none;background:transparent;text-align:left;cursor:pointer}.assistant-thread-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.assistant-thread-delete{border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:0 10px}.assistant-thread-delete:hover{color:var(--danger)}.assistant-main{display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 16px}.assistant-sources{margin:0 0 8px}.assistant-messages{flex:1;overflow:auto;max-height:62vh;min-height:300px;display:flex;flex-direction:column;gap:12px;padding:4px 2px 12px}.assistant-empty{text-align:center;margin:auto;max-width:560px}.assistant-empty-icon{font-size:40px}.bubble{max-width:88%;padding:10px 14px;border-radius:14px}.bubble-user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.bubble-user .bubble-text{white-space:pre-wrap}.bubble-agent{font-size:12px;opacity:.85;margin-bottom:2px}.bubble-ai{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:4px;max-width:96%}.bubble-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.assistant-composer{border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:6px}.assistant-agent-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.assistant-input{display:flex;gap:10px;align-items:flex-end}.assistant-input textarea{flex:1;font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);resize:vertical}.assistant-input .btn{height:42px}.markdown h3,.markdown h4,.markdown h5,.markdown h6{margin:12px 0 6px}.markdown p{margin:0 0 8px}.markdown ul,.markdown ol{margin:0 0 8px;padding-left:22px}.markdown pre{background:var(--surface);padding:8px;border-radius:6px;overflow:auto}.markdown code{background:var(--surface);padding:0 4px;border-radius:4px}.markdown-table{overflow-x:auto;margin:6px 0 10px}@media (max-width: 860px){.assistant{grid-template-columns:1fr}.assistant-threads{max-height:200px}}
