.chat-view[data-v-d029670d]{display:flex;flex-direction:column;flex:1;min-height:0}.chat-thread[data-v-d029670d]{flex:1;overflow-y:auto;padding:2rem 0;display:flex;flex-direction:column;gap:1rem}.chat-bubble[data-v-d029670d]{max-width:72%;padding:.75rem 1rem;border-radius:2px;line-height:1.65;font-family:ui-sans-serif,system-ui,sans-serif;font-size:16px}.chat-bubble.user[data-v-d029670d]{align-self:flex-end;background:#17362f;color:#fffaf0}.chat-bubble.assistant[data-v-d029670d]{align-self:flex-start;background:#ece7dd;color:#17362f;border-left:2px solid #9a3d2f}.bubble-text[data-v-d029670d]{margin:0;white-space:pre-wrap}.tool-chips[data-v-d029670d]{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.tool-chip[data-v-d029670d]{display:inline-flex;align-items:center;gap:.25rem;font-size:12px;font-family:ui-sans-serif,system-ui,sans-serif;color:#6b5a4e;background:#9a3d2f14;border:1px solid rgba(154,61,47,.2);border-radius:99px;padding:2px 10px;white-space:nowrap;transition:opacity .2s}.tool-chip.done[data-v-d029670d]{color:#17362f;background:#17362f14;border-color:#17362f33}.chat-input[data-v-d029670d]{border-top:1px solid rgba(23,54,47,.15);padding:1rem 0 2rem;background:#f6f1e8}.attachment-tag[data-v-d029670d]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;color:#6b5a4e}.attachment-name[data-v-d029670d]{font-style:italic}.remove-btn[data-v-d029670d]{background:none;border:none;color:#9a3d2f;cursor:pointer;padding:0;font-size:13px;min-height:unset;text-decoration:underline;text-underline-offset:2px}.input-row[data-v-d029670d]{display:flex;gap:.5rem;align-items:flex-end}.attach-label[data-v-d029670d]{cursor:pointer;padding:0 14px;min-height:42px;display:flex;align-items:center;background:transparent;border:1px solid #17362f;border-radius:4px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;color:#17362f;white-space:nowrap;-webkit-user-select:none;user-select:none}.attach-label[data-v-d029670d]:hover{background:#17362f0f}textarea[data-v-d029670d]{flex:1;font-family:ui-sans-serif,system-ui,sans-serif;font-size:16px;background:#fff;border:1px solid rgba(23,54,47,.35);border-radius:4px;padding:9px 14px;color:#17362f;resize:none;line-height:1.5;max-height:8rem;overflow-y:auto}textarea[data-v-d029670d]:focus{outline:none;border-color:#17362f}textarea[data-v-d029670d]:disabled{opacity:.6}.pulse[data-v-d029670d]{display:block;width:18px;height:18px;border:2px solid #17362f;border-radius:999px;animation:breathe-d029670d 1.2s ease-in-out infinite}@keyframes breathe-d029670d{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.user-menu[data-v-9c0dae9a]{position:relative}.avatar-btn[data-v-9c0dae9a]{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:0;min-height:unset;color:inherit}.avatar-btn:hover .avatar-circle[data-v-9c0dae9a]{opacity:.85}.avatar-circle[data-v-9c0dae9a]{width:32px;height:32px;border-radius:50%;background:#17362f;color:#fffaf0;display:flex;align-items:center;justify-content:center;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;font-weight:600;flex-shrink:0;transition:opacity .15s}.avatar-name[data-v-9c0dae9a]{font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;color:#17362fa6;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown[data-v-9c0dae9a]{position:absolute;right:0;top:calc(100% + 8px);background:#fffaf0;border:1px solid rgba(23,54,47,.18);border-radius:6px;min-width:220px;box-shadow:0 4px 16px #17362f1a,0 1px 4px #17362f0f;z-index:100;overflow:hidden}.dropdown-header[data-v-9c0dae9a]{padding:14px 16px 12px;display:flex;flex-direction:column;gap:2px}.dropdown-display-name[data-v-9c0dae9a]{font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;font-weight:600;color:#17362f}.dropdown-user-id[data-v-9c0dae9a]{font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;color:#17362f73;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-spend[data-v-9c0dae9a]{margin-top:6px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;color:#17362f99;display:flex;align-items:center;gap:6px}.spend-spinner[data-v-9c0dae9a]{display:inline-block;width:9px;height:9px;border:1.5px solid rgba(23,54,47,.2);border-top-color:#17362f80;border-radius:50%;animation:spin-9c0dae9a .7s linear infinite}@keyframes spin-9c0dae9a{to{transform:rotate(360deg)}}.divider[data-v-9c0dae9a]{height:1px;background:#17362f1a;margin:4px 0}.stat-row[data-v-9c0dae9a]{display:flex;justify-content:space-between;align-items:center;width:100%;padding:9px 16px;background:none;border:none;cursor:pointer;min-height:unset;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;color:#17362f;text-align:left;transition:background .1s}.stat-row[data-v-9c0dae9a]:hover{background:#17362f0d}.stat-label[data-v-9c0dae9a]{color:#17362fbf}.stat-count[data-v-9c0dae9a]{font-weight:600;font-variant-numeric:tabular-nums;color:#17362f}.no-records[data-v-9c0dae9a]{font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;color:#17362f66;padding:10px 16px;margin:0;font-style:italic}.signout-btn[data-v-9c0dae9a]{display:block;width:100%;text-align:left;padding:10px 16px;background:none;border:none;cursor:pointer;min-height:unset;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;color:#17362fa6;transition:background .1s;border-radius:0}.signout-btn[data-v-9c0dae9a]:hover{background:#17362f0d;color:#17362f}.dropdown-enter-active[data-v-9c0dae9a],.dropdown-leave-active[data-v-9c0dae9a]{transition:opacity .15s ease,transform .15s ease}.dropdown-enter-from[data-v-9c0dae9a],.dropdown-leave-to[data-v-9c0dae9a]{opacity:0;transform:translateY(-4px)}@media (max-width: 680px){.avatar-name[data-v-9c0dae9a]{display:none}.dropdown[data-v-9c0dae9a]{right:0;left:auto;min-width:200px;max-width:calc(100vw - 32px)}}:root{color-scheme:light;font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;background:#f6f1e8;color:#17362f}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(120deg,rgba(255,255,255,.75),transparent 42%),#f6f1e8}button,a{font:inherit}button{border:1px solid #17362f;border-radius:4px;background:#17362f;color:#fffaf0;cursor:pointer;min-height:42px;padding:0 18px}a{color:#9a3d2f;text-underline-offset:3px}.app-shell{min-height:100vh}.gate{display:grid;min-height:100vh;place-content:center;gap:18px;padding:28px;text-align:center}.mark{font-size:clamp(46px,10vw,104px);line-height:.9}.gate-copy{max-width:34rem;font-family:ui-sans-serif,system-ui,sans-serif;font-size:17px}.pulse{width:30px;height:30px;border:2px solid #17362f;border-radius:999px;animation:breathe 1.2s ease-in-out infinite}.workspace{display:flex;flex-direction:column;height:100vh}.workspace-body{flex:1;min-height:0;width:min(1120px,calc(100vw - 32px));margin:0 auto;padding-top:28px;display:flex;flex-direction:column}.workspace-body.graph-mode{width:100%;margin:0;padding-top:0}.topbar{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 20px;border-bottom:1px solid rgba(23,54,47,.14);flex-shrink:0}.topbar-brand{font-family:ui-serif,Georgia,serif;font-size:15px;letter-spacing:.05em;color:#17362f;-webkit-user-select:none;user-select:none}.topbar-right{display:flex;align-items:center;gap:16px}h1,h2,p{margin:0}h2{margin-bottom:12px;font-size:clamp(30px,5vw,56px);font-weight:500}.panel{max-width:760px;border-top:1px solid rgba(23,54,47,.35);padding-top:26px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:18px;line-height:1.65}@keyframes breathe{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.tab-btn{min-height:32px;padding:0 14px;font-size:13px;background:transparent;color:#17362f;border:1px solid rgba(23,54,47,.3);border-radius:4px}.tab-btn.active{background:#17362f;color:#fffaf0}.records-panel{flex:1;min-height:0;overflow-y:auto;padding-bottom:32px;font-family:ui-sans-serif,system-ui,sans-serif}.records-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:18px}.records-toolbar select{font:inherit;font-size:13px;padding:6px 10px;border:1px solid rgba(23,54,47,.3);border-radius:4px;background:#fffaf0;color:#17362f}.refresh-btn{min-height:32px;padding:0 14px;font-size:13px}.records-empty,.records-error{font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;color:#17362f8c;padding:16px 0}.records-error{color:#9a3d2f}.records-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.record-card{background:#fff;border:1px solid rgba(23,54,47,.12);border-radius:8px;padding:14px 16px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.card-type{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#17362f80}.card-date{font-size:11px;color:#17362f80}.card-summary{font-weight:600;font-size:14px;margin-bottom:10px;color:#17362f;line-height:1.3}.card-body{display:flex;flex-direction:column;gap:4px}.field{display:flex;gap:8px;font-size:12px;line-height:1.5}.field .label{color:#17362f80;min-width:90px;flex-shrink:0}.status-badge{text-transform:capitalize;font-weight:500}.status-badge[data-status=active]{color:#2e7d32}.status-badge[data-status=chronic]{color:#e65100}.status-badge[data-status=resolved]{color:#17362f73}.sections-toggle{margin-top:8px;font-size:12px}.sections-toggle summary{cursor:pointer;color:#17362f8c;-webkit-user-select:none;user-select:none}.section-block{margin-top:8px;padding-top:6px;border-top:1px solid rgba(23,54,47,.08)}.section-name{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#17362f80;margin-bottom:2px}.section-text{white-space:pre-wrap;font-size:12px;line-height:1.5}.record-card.labresult{border-left:3px solid #1565c0}.record-card.medicine{border-left:3px solid #2e7d32}.record-card.vaccination{border-left:3px solid #00838f}.record-card.diagnosis{border-left:3px solid #e65100}.record-card.doctorvisit{border-left:3px solid #6a1b9a}.record-card.imaging{border-left:3px solid #4e342e}.graph-view{flex:1;min-height:0;position:relative;overflow:hidden;background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.3),transparent 28%),radial-gradient(circle at 80% 24%,rgba(117,178,230,.2),transparent 24%),radial-gradient(circle at 28% 78%,rgba(244,180,92,.12),transparent 22%),linear-gradient(135deg,#dbe8f3,#cfdeed 32%,#b9d0e5 62%,#d8e4ef)}.graph-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 16% 16%,rgba(255,255,255,.48),transparent 20%),radial-gradient(circle at 84% 22%,rgba(255,255,255,.2),transparent 18%),radial-gradient(circle at 74% 74%,rgba(97,145,189,.08),transparent 24%)}.graph-hud{position:absolute;inset:18px 22px auto 22px;display:grid;grid-template-columns:minmax(220px,300px) minmax(240px,320px);gap:16px;align-items:start;justify-content:space-between;pointer-events:none;z-index:10}.graph-intro,.graph-legend-card,.graph-key-card{pointer-events:auto;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7fbffb8;border:1px solid rgba(50,86,122,.16);box-shadow:0 18px 40px #2c48641f}.graph-intro{border-radius:28px;padding:18px 20px 20px}.graph-kicker,.legend-eyebrow{margin-bottom:8px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#1931478a}.graph-intro h2{margin-bottom:6px;font-size:clamp(28px,3vw,40px);line-height:.94;color:#17304a}.graph-copy{max-width:28ch;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;line-height:1.55;color:#17304ab8}.graph-root-picker{display:grid;gap:6px;margin-top:16px}.graph-refresh-btn{width:100%;margin-top:10px;border-radius:14px;border:1px solid rgba(23,48,74,.14);background:#ffffffd6;color:#17304a;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;font-weight:600;box-shadow:0 10px 22px #2c486414}.graph-root-label{font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#17304a8f}.graph-root-picker select{width:100%;font:inherit;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;padding:10px 12px;border-radius:14px;border:1px solid rgba(23,48,74,.14);background:#ffffffd1;color:#17304a}.graph-legend-card{justify-self:end;width:min(320px,100%);border-radius:26px;padding:16px}.legend-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.legend-caption{font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;line-height:1.45;color:#17304aad}.legend-reset{min-height:30px;padding:0 12px;border-radius:999px;border:1px solid rgba(23,48,74,.14);background:#ffffffbf;color:#17304a;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px}.legend-tree{width:100%;display:flex;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;border:1px solid rgba(23,48,74,.1);border-radius:18px;background:#ffffff94;color:#17304a;text-align:left;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.legend-tree:hover,.legend-tree.active{transform:translateY(-1px);border-color:#17304a2e;background:#ffffffeb;box-shadow:0 14px 28px #2c48641f}.legend-tree.disabled,.legend-tree:disabled{opacity:.58;cursor:default;transform:none;box-shadow:none}.legend-tree-swatch{width:18px;height:18px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 6px color-mix(in srgb,var(--swatch) 16%,white);flex-shrink:0}.legend-tree-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.legend-tree-label{font-family:ui-serif,Georgia,serif;font-size:17px}.legend-tree-meta{font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;color:#17304a9e}.graph-key-card{grid-column:2;justify-self:end;width:min(220px,100%);border-radius:22px;margin-top:4px;padding:14px 16px}.shape-key{display:grid;gap:10px}.shape-key-row{display:flex;align-items:center;gap:10px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;color:#17304ab8}.shape-chip{width:16px;height:16px;background:#5f7d99;opacity:.88;flex-shrink:0}.shape-chip.diagnosis{border-radius:50%}.shape-chip.labroot{width:18px;border-radius:5px;background:#17869a}.shape-chip.labanalysis{background:#17869a;clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}.shape-chip.medicinegroup{transform:rotate(45deg);border-radius:3px;background:#2e7d32}.shape-chip.doctorvisit{border-radius:5px}.shape-chip.labresult{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}.shape-chip.medicine{transform:rotate(45deg);border-radius:3px}.graph-controls{position:absolute;right:22px;bottom:22px;display:flex;flex-direction:column;gap:8px;z-index:10}.ctrl-btn{width:42px;height:42px;padding:0;min-height:unset;background:#f7fbffc7;color:#17304abd;border:1px solid rgba(50,86,122,.14);border-radius:14px;box-shadow:0 12px 24px #2c48641f;font-size:18px;line-height:1;cursor:pointer;transition:background .14s,color .14s,transform .14s}.ctrl-btn:hover{transform:translateY(-1px);background:#ffffffeb;color:#17304a}.graph-breadcrumb{position:absolute;top:18px;left:50%;transform:translate(-50%);z-index:10}.breadcrumb-btn{padding:8px 18px;min-height:unset;background:#f7fbffd1;color:#17304acc;border:1px solid rgba(50,86,122,.16);border-radius:20px;box-shadow:0 8px 20px #2c48641a;font-size:13px;font-weight:600;cursor:pointer;letter-spacing:.01em;transition:background .14s,color .14s,transform .14s}.breadcrumb-btn:hover{background:#fffffff0;color:#17304a;transform:translateY(-1px)}.graph-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;z-index:12;pointer-events:none}.graph-state-card{max-width:420px;border-radius:28px;padding:24px 26px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7fbffc7;border:1px solid rgba(50,86,122,.16);box-shadow:0 18px 40px #2c486424;text-align:center;pointer-events:auto}.graph-state-kicker{margin-bottom:8px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#17304a8f}.graph-state-copy{font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.6;color:#17304ac7}.graph-state-btn{margin-top:16px;min-height:36px}.node-panel{position:absolute;top:0;right:0;bottom:0;width:min(360px,calc(100vw - 24px));background:#fffaf0f5;border-left:4px solid var(--accent, #888);padding:24px 20px 32px;overflow-y:auto;z-index:20;font-family:ui-sans-serif,system-ui,sans-serif;box-shadow:-18px 0 44px #26364738}.panel-record-card .record-card{margin-top:8px;background:#ffffffd1}.panel-group-list{display:flex;flex-direction:column;gap:14px;margin-top:4px}.panel-group-item{border-radius:10px;overflow:hidden;background:#ffffffd1;box-shadow:0 2px 8px #17362f12}.panel-group-item .record-card{background:transparent}.panel-group-date{font-size:10px;font-weight:600;letter-spacing:.06em;color:#17362f6b;text-transform:uppercase;padding:8px 14px 0}.panel-close{position:absolute;top:12px;right:14px;width:28px;height:28px;min-height:unset;padding:0;font-size:18px;line-height:1;background:transparent;color:#17362f73;border:none;cursor:pointer;border-radius:4px;transition:color .12s,background .12s}.panel-close:hover{color:#17362f;background:#17362f14}.panel-type-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:4px}.panel-date{font-size:11px;color:#17362f73;margin-bottom:10px}.panel-summary{font-family:ui-serif,Georgia,serif;font-size:17px;font-weight:600;color:#17362f;line-height:1.35;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid rgba(23,54,47,.1)}.panel-fields{display:flex;flex-direction:column;gap:8px}.panel-field{display:flex;flex-direction:column;gap:2px}.panel-field-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#17362f66}.panel-field-value{font-size:13px;color:#17362f;line-height:1.45}.panel-enter-active{transition:transform .32s cubic-bezier(.16,1,.3,1)}.panel-leave-active{transition:transform .2s cubic-bezier(.4,0,1,1)}.panel-enter-from,.panel-leave-to{transform:translate(100%)}@media (max-width: 900px){.graph-hud{inset:14px 14px auto 14px;grid-template-columns:1fr}.graph-intro,.graph-legend-card,.graph-key-card{width:min(100%,360px)}.graph-legend-card,.graph-key-card{justify-self:start}.graph-key-card{grid-column:auto;margin-top:0}}@media (max-width: 680px){.topbar-spend{display:none}}
