:root{--canvas: #f2f1fb;--surface: #ffffff;--surface-tint: #f7f6fd;--surface-alt: #f4f3fc;--surface-alt-hover: #ebe9fa;--violet-tint: #eeebfc;--hairline: #efeef8;--ink: #1b1a2e;--ink-2: #4a4866;--ink-3: #6b6989;--ink-4: #6e6c8c;--primary: #5b4be6;--primary-hover: #4536c9;--mint: #17c39a;--mint-tint: #e4f9f3;--mint-text: #0e6b54;--amber: #ffb43f;--amber-tint: #fff6e6;--amber-text: #6b5a33;--amber-hover: #f0a32c;--amber-ink: #40320f;--coral: #ff6b5a;--coral-tint: #ffe8e4;--sky: #3fa9f5;--error: #c0392b;--error-text: #8a4a42;--error-bg: #fff1ef;--focus-ring: 0 0 0 3px rgba(91, 75, 230, .22);--font-display: "Plus Jakarta Sans", system-ui, sans-serif;--font-body: "Plus Jakarta Sans", system-ui, sans-serif;--radius-pill: 999px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-display);margin:0}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover);text-decoration:underline}::placeholder{color:#9c9ab8}::selection{background:var(--primary);color:#fff}.shell{display:flex;gap:14px;height:100vh;min-height:720px;padding:14px;background:var(--canvas);color:var(--ink)}.rail{width:252px;flex:0 0 252px;display:flex;flex-direction:column;background:var(--surface);border-radius:22px;padding:18px 14px;overflow-y:auto}.rail-brand{display:flex;align-items:center;gap:11px;padding:0 6px 18px}.logo-mark{flex-shrink:0}.rail-brand-text{min-width:0}.rail-brand-text .name{font-size:14.5px;font-weight:700;letter-spacing:-.015em;white-space:nowrap}.rail-brand-text .sub{font-size:11.5px;font-weight:500;color:var(--ink-3);white-space:nowrap}.rail-nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:14px;color:var(--ink-2);background:transparent;border:none;cursor:pointer;font-family:var(--font-body);text-align:left;width:100%;transition:background-color .14s ease,color .14s ease}.nav-item:hover:not(.active){background:var(--surface-alt)}.nav-item.active{background:var(--primary);color:#fff}.nav-item .nav-icon{flex-shrink:0;display:flex}.nav-item .nav-label{flex:1;font-size:14px;font-weight:600;white-space:nowrap}.nav-item.active .nav-label{font-weight:700}.nav-count{font-size:11.5px;font-weight:700;color:var(--mint-text);background:var(--mint-tint);border-radius:var(--radius-pill);padding:2px 8px;white-space:nowrap}.rail-meds-heading{padding:22px 8px 10px;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--ink-4)}.rail-meds-list{display:flex;flex-direction:column;gap:6px}.rail-med-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:13px;background:transparent;border:none;color:var(--ink);cursor:pointer;font-family:var(--font-body);text-align:left;width:100%;transition:background-color .14s ease}.rail-med-row:hover,.rail-med-row.selected{background:var(--surface-alt)}.rail-med-row.selected:hover{background:var(--surface-alt-hover)}.med-chip{width:9px;height:9px;border-radius:3px;flex-shrink:0}.rail-med-name{flex:1;min-width:0;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-med-cadence{font-size:11px;font-weight:600;color:var(--ink-3);white-space:nowrap}.rail-med-show-all{padding:6px 10px;border:none;background:transparent;color:var(--primary-hover);font-family:var(--font-body);font-size:11.5px;font-weight:700;cursor:pointer;text-align:left}.rail-med-show-all:hover{background:transparent;text-decoration:underline}.rail-spacer{flex:1}.rail-account{display:flex;align-items:center;gap:10px;margin-top:14px;padding:0 4px}.rail-account-link{display:flex;align-items:center;gap:10px;min-width:0;flex:1;color:var(--ink);text-decoration:none;background:transparent;border:none;padding:0;font-family:var(--font-body);text-align:left;cursor:pointer}.rail-account-link:hover{color:var(--ink);text-decoration:none;background:transparent}.avatar-tile{width:32px;height:32px;border-radius:11px;background:var(--coral);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0;text-decoration:none;border:none;padding:0;font-family:var(--font-body);cursor:pointer}.avatar-tile:hover{color:var(--ink);text-decoration:none;background:var(--coral)}.rail-account-text{flex:1;min-width:0}.rail-account-text .name{font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-account-text .sub{font-size:11px;font-weight:500;color:var(--ink-3);white-space:nowrap}.signout-btn{width:30px;height:30px;border:0;border-radius:10px;background:var(--surface-alt);color:var(--ink-3);font-size:14px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0}.signout-btn:hover{background:var(--surface-alt-hover);color:var(--ink-2)}.main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:14px}.mobilebar{display:none;align-items:center;gap:10px;padding:12px 14px;background:var(--surface)}.mobilebar .name{flex:1;min-width:0;font-size:14.5px;font-weight:700;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobilebar-newchat{width:34px;height:34px;border:0;border-radius:12px;background:var(--surface-alt);color:var(--primary-hover);font-size:17px;font-weight:700;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;text-decoration:none}.mobilebar-newchat:hover{background:var(--surface-alt-hover);color:var(--primary-hover);text-decoration:none}.mobilebar .avatar-tile{width:34px;height:34px;border-radius:12px}.bottomnav{display:none;align-items:stretch;gap:4px;padding:8px 10px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--hairline)}.bottomnav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 0;min-height:44px;border-radius:14px;color:var(--ink-2);background:transparent;border:none;cursor:pointer;font-family:var(--font-body)}.bottomnav-item:hover{background:var(--surface-alt)}.bottomnav-item.active{background:var(--violet-tint);color:var(--primary-hover)}.bottomnav-item .label{font-size:11px;font-weight:600}.bottomnav-item.active .label{font-weight:700}.panel{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--surface);border-radius:22px;overflow:hidden}.panel-head{display:flex;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid var(--hairline);flex-shrink:0}.panel-head h1,.panel-head h2{font-size:17px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.privacy-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--radius-pill);background:var(--mint-tint);color:var(--mint-text);font-size:11.5px;font-weight:700;white-space:nowrap;flex-shrink:0}.privacy-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--mint)}.panel-head-spacer{flex:1}.ghost-btn{height:34px;padding:0 14px;border:0;border-radius:12px;background:var(--surface-alt);color:var(--primary-hover);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:var(--font-body)}.ghost-btn:hover{background:var(--surface-alt-hover)}.panel-scroll{flex:1;min-height:0;overflow-y:auto;padding:24px 22px 6px}.panel-scroll-inner{max-width:760px;margin:0 auto}.thread{max-width:760px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:20px}.empty{max-width:520px;margin:6vh auto 0;text-align:center}.empty .empty-mark{margin:0 auto 16px}.empty h3{font-size:19px;font-weight:800;letter-spacing:-.02em;margin:0 0 6px}.empty p{color:var(--ink-3);font-size:13.5px;font-weight:500;margin:0 0 22px}.suggestions{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.suggestion{height:32px;padding:0 13px;border:0;border-radius:var(--radius-pill);background:var(--surface-alt);color:var(--ink-2);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:var(--font-body);transition:background-color .14s ease,color .14s ease}.suggestion:hover{background:var(--violet-tint);color:var(--primary-hover)}.msg-row{display:flex;gap:12px}.msg-row.user{justify-content:flex-end}.msg-mark{flex:0 0 32px;margin-top:2px}.msg-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.bubble{max-width:76%;padding:13px 17px;border-radius:20px 20px 6px;background:var(--primary);color:#fff;font-size:14.5px;font-weight:500;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.answercard{border-radius:20px;background:var(--surface-tint);padding:18px 20px 20px}.med-tag{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border-radius:var(--radius-pill);background:var(--primary);color:#fff;font-size:11px;font-weight:700;margin-bottom:13px;white-space:nowrap}.med-tag-square{width:7px;height:7px;border-radius:2px;flex-shrink:0}.answercard p{margin:0 0 16px;font-size:15.5px;line-height:1.62;font-weight:500;color:var(--ink);white-space:pre-wrap}.answercard p:last-child{margin-bottom:0}.answercard p strong{font-weight:800}.facts{display:grid;grid-template-columns:repeat(min(var(--fact-cols, 4),4),1fr);gap:8px}.fact-cell{background:var(--surface);border-radius:15px;padding:12px 13px;min-width:0}.fact-label{font-size:10.5px;font-weight:700;letter-spacing:.05em;color:var(--ink-4);margin-bottom:5px;white-space:nowrap;text-transform:uppercase}.fact-value{font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fact-cell.emphasis{background:var(--violet-tint)}.fact-cell.emphasis .fact-label{color:var(--primary)}.fact-cell.emphasis .fact-value{color:var(--primary-hover)}.safety-note{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;border-radius:15px;background:var(--amber-tint)}.safety-icon{width:20px;height:20px;border-radius:7px;background:var(--amber);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.safety-note p{margin:0;font-size:12.5px;font-weight:500;line-height:1.55;color:var(--amber-text)}.answercard.loading{display:flex;flex-direction:column;gap:10px}.skeleton-bar{height:14px;border-radius:7px;background:#edebf8;animation:pulse 1.4s ease-in-out infinite}.skeleton-bar.short{width:70%}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.loading-label{font-size:12.5px;font-weight:600;color:var(--ink-3);margin-top:2px}.answercard.error{background:var(--error-bg)}.answercard.error .error-title{font-size:14px;font-weight:700;color:var(--error);margin:0 0 4px}.answercard.error .error-body{font-size:12.5px;font-weight:500;color:var(--error-text);margin:0 0 12px}.retry-btn{height:32px;padding:0 14px;border:0;border-radius:11px;background:var(--coral);color:var(--ink);font-size:12.5px;font-weight:700;cursor:pointer;font-family:var(--font-body)}.retry-btn:hover{opacity:.9}.sources{display:grid;grid-template-columns:repeat(min(var(--source-cols, 2),2),1fr);gap:10px}.source-card{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:17px;background:var(--surface);border:1.5px solid var(--hairline);color:var(--ink);transition:border-color .14s ease;min-width:0;text-align:left;font-family:var(--font-body);cursor:pointer}.source-card:hover{background:var(--surface);border-color:#c9c3f7;text-decoration:none}.source-tile{width:34px;height:34px;border-radius:11px;background:var(--violet-tint);color:var(--primary);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.source-tile.note{background:var(--coral-tint);color:var(--ink);font-size:15px}.source-text{min-width:0;display:flex;flex-direction:column;gap:2px}.source-text .title{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-text .meta{font-size:11.5px;font-weight:500;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.action-btn{height:30px;padding:0 12px;border:0;border-radius:10px;background:var(--surface-alt);color:var(--ink-3);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:var(--font-body);transition:background-color .14s ease,color .14s ease}.action-btn:hover{background:var(--surface-alt-hover);color:var(--ink)}.composerwrap{padding:8px 22px 18px;flex-shrink:0}.composerwrap-inner{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.chips{display:flex;flex-wrap:wrap;gap:7px}.composer{display:flex;align-items:center;gap:10px;padding:9px 9px 9px 16px;border-radius:20px;background:var(--surface-tint);transition:box-shadow .14s ease}.composer:focus-within{box-shadow:var(--focus-ring)}.composer input{flex:1;min-width:0;height:36px;border:0;outline:none;background:transparent;font-size:14.5px;font-weight:500;color:var(--ink);padding:0;font-family:var(--font-body)}.composer input:focus-visible{box-shadow:none}.attach-btn{width:36px;height:36px;border:0;border-radius:13px;background:var(--surface);color:var(--ink-3);font-size:16px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0}.attach-btn:hover{background:var(--surface);color:var(--primary)}.send-btn{height:38px;padding:0 18px;border:0;border-radius:14px;background:var(--primary);color:#fff;font-size:13.5px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:var(--font-body)}.send-btn:hover{background:var(--primary-hover)}.send-btn:disabled{opacity:.5;cursor:default}.composer-hint{text-align:center;font-size:11.5px;font-weight:500;color:var(--ink-3)}.no-records-cta{height:38px;padding:0 18px;border:0;border-radius:14px;background:var(--primary);color:#fff;font-size:13.5px;font-weight:700;cursor:pointer;font-family:var(--font-body)}.no-records-cta:hover{background:var(--primary-hover)}.content--page{flex:1;min-height:0;overflow-y:auto}.page{max-width:760px;width:100%;margin:0 auto;padding:24px 22px 32px}.toast{flex-shrink:0;background:var(--amber-tint);color:var(--amber-text);border-bottom:1px solid var(--hairline);padding:10px 16px;text-align:center;font-size:13px;font-weight:600}.cards{display:flex;flex-direction:column;gap:12px}.records-summary{font-size:12.5px;font-weight:600;color:var(--ink-3);white-space:nowrap}.records-search{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:12px;background:var(--surface-tint);flex-shrink:0}.records-search input{border:0;background:transparent;height:auto;padding:0;width:180px;font-size:13px;font-weight:500}.filter-row{display:flex;align-items:center;gap:7px;padding:14px 22px 0;flex-wrap:wrap}.filter-pill{height:30px;padding:0 13px;border:0;border-radius:var(--radius-pill);background:var(--surface-alt);color:var(--ink-2);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.filter-pill:hover{background:var(--surface-alt-hover);color:var(--primary-hover)}.filter-pill.active{background:var(--primary);color:#fff;font-weight:700}.sort-btn{height:30px;padding:0 12px;border:0;border-radius:10px;background:var(--surface-alt);color:var(--ink-3);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.sort-btn:hover{background:var(--surface-alt-hover);color:var(--ink-2)}.records-page{padding:16px 22px 22px;max-width:none}.cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.record-card{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:20px;background:var(--surface);border:1.5px solid var(--hairline);cursor:pointer;position:relative;transition:border-color .14s ease;text-align:left}.record-card:hover,.record-card.highlighted{border-color:#c9c3f7}.record-card-top{display:flex;align-items:flex-start;gap:12px}.record-thumb{width:42px;height:52px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}.record-card-title-block{flex:1;min-width:0}.record-card-title-row{display:flex;align-items:center;gap:8px}.record-card-title{font-size:14.5px;font-weight:800;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-card-meta{margin-top:3px;font-size:12px;font-weight:500;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-fact-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.record-fact-chip{padding:3px 9px;border-radius:var(--radius-pill);background:var(--surface-alt);color:var(--ink-2);font-size:11px;font-weight:700;white-space:nowrap}.record-status-badge{flex-shrink:0;padding:4px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;white-space:nowrap}.record-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--hairline)}.record-card-filename{font-size:11.5px;font-weight:600;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-ask-link{border:0;background:transparent;padding:0;color:var(--primary);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0}.record-ask-link:hover{background:transparent;color:var(--primary-hover)}.record-card-delete{position:absolute;top:12px;right:12px;height:24px;padding:0 9px;border:0;border-radius:8px;background:var(--surface-alt);color:var(--ink-3);font-size:10.5px;font-weight:600;cursor:pointer;opacity:0;transition:opacity .14s ease}.record-card:hover .record-card-delete,.record-card:focus-within .record-card-delete{opacity:1}.record-card-delete:hover{background:var(--error-bg);color:var(--error)}.record-card-skeleton{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:20px;background:var(--surface-tint);height:120px}.record-detail-card{padding:18px 20px 20px;border-radius:20px;background:var(--surface-tint);margin-top:14px;max-width:640px}.record-detail-card h2{font-size:17px;font-weight:800;letter-spacing:-.02em;margin-bottom:10px}.card{border:1.5px solid var(--hairline);border-radius:18px;padding:16px 18px;background:var(--surface)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.card-head h3{font-size:15px;font-weight:700}.date{font-size:11.5px;font-weight:600;color:var(--ink-3)}.card p{margin:6px 0;font-size:13.5px;font-weight:500;color:var(--ink-2)}.card p strong{color:var(--ink);font-weight:700}.med-list{margin:10px 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.med-list li{display:flex;align-items:baseline;gap:8px;font-size:13px;font-weight:500;color:var(--ink-2)}.med-dot{width:8px;height:8px;border-radius:3px;flex-shrink:0}.med-list li strong{color:var(--ink);font-weight:700}.card-meta{display:flex;gap:14px;font-size:11.5px;font-weight:600;color:var(--ink-3);margin-top:8px}.notes{margin-top:10px;padding-top:10px;border-top:1px solid var(--hairline);color:var(--ink-2);font-size:13px;font-weight:500}.upload-page{max-width:760px;display:flex;flex-direction:column;gap:18px}.dropzone{padding:34px 24px;border-radius:20px;background:var(--surface-tint);border:2px dashed var(--dashed-border, #d6d2f4);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;transition:border-color .14s ease,background-color .14s ease}.dropzone.drag-over{border-color:var(--primary);background:var(--violet-tint)}.dropzone-tile{width:52px;height:52px;border-radius:17px;background:var(--violet-tint);display:flex;align-items:center;justify-content:center}.dropzone-title{font-size:15.5px;font-weight:800;letter-spacing:-.015em}.dropzone-sub{font-size:12.5px;font-weight:500;color:var(--ink-3);margin-top:-6px}.dropzone-actions{display:flex;gap:10px;margin-top:6px}.secondary-white{background:var(--surface);color:var(--primary-hover)}.secondary-white:hover{background:var(--violet-tint)}.camera-panel{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.camera-video{width:100%;max-width:420px;aspect-ratio:4 / 3;border-radius:16px;background:#000;object-fit:cover}.camera-actions{display:flex;gap:10px}.dropzone-error{margin:4px 0 0;font-size:12.5px;font-weight:600;color:var(--error)}.upload-progress{width:100%;max-width:320px;display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:6px}.progress-track{width:100%;height:6px;border-radius:var(--radius-pill);background:var(--hairline);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-pill);background:var(--primary);transition:width .2s ease}.progress-label{font-size:12.5px;font-weight:600;color:var(--ink-3)}.or-divider{display:flex;align-items:center;gap:14px;color:var(--ink-4)}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:var(--hairline)}.or-divider span{font-size:11.5px;font-weight:700;letter-spacing:.06em;white-space:nowrap}.review-card{padding:18px 20px 20px;border-radius:20px;background:var(--surface-tint)}.review-card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.med-tag.typed{background:var(--surface-alt);color:var(--ink-2)}.review-card-hint{font-size:12px;font-weight:600;color:var(--ink-3)}.review-fields{display:flex;flex-direction:column;gap:14px}.review-med-block{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.review-med-block-head{display:flex;align-items:center;justify-content:space-between;font-size:10.5px;font-weight:700;letter-spacing:.05em;color:var(--ink-4);text-transform:uppercase}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-grid label{display:flex;flex-direction:column;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:.05em;color:var(--ink-4);text-transform:uppercase}.review-grid input{height:42px;padding:0 13px;border:1.5px solid var(--hairline);border-radius:14px;background:var(--surface);font-size:14px;font-weight:600;color:var(--ink);text-transform:none;letter-spacing:normal}.review-grid input:focus{border-color:var(--primary)}.review-grid label.flagged input{border-color:var(--amber)}.field-hint{font-size:11.5px;font-weight:600;color:var(--amber-text);text-transform:none;letter-spacing:normal}.field-hint.error-text{color:var(--error)}.review-errors{margin-top:12px}.review-errors p{margin:0 0 4px;font-size:12px;font-weight:600;color:var(--error)}.review-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.review-actions button:first-child{height:42px;padding:0 20px}.review-actions .danger-btn{flex:none;padding:0 18px;border-radius:var(--radius-pill)}.rail-tip-card{border-radius:18px;background:var(--surface-tint);padding:14px;margin-top:14px}.rail-tip-title{font-size:12.5px;font-weight:700;margin-bottom:4px}.rail-tip-body{font-size:12px;font-weight:500;color:var(--ink-2);line-height:1.5}.uploader{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.uploader input[type=file]{padding:9px;background:var(--surface-tint);color:var(--ink-2);font-size:12.5px;border:none;border-radius:14px}.uploader input[type=file]::file-selector-button{background:var(--violet-tint);color:var(--primary-hover);border:0;border-radius:10px;padding:7px 12px;margin-right:12px;font-family:var(--font-body);font-weight:700;cursor:pointer}.preview{max-width:100%;max-height:320px;border-radius:15px;border:1.5px solid var(--hairline)}.raw{margin:14px 0;font-size:13px}.raw summary{cursor:pointer;color:var(--primary-hover);font-weight:600;font-size:12.5px}.raw pre{margin-top:10px;background:var(--surface-tint);padding:14px;border-radius:15px;overflow-x:auto;white-space:pre-wrap;font-family:ui-monospace,monospace;font-size:12px;color:var(--ink-2)}.hint{color:var(--ink-3);font-size:13px;font-weight:500}input,textarea{width:100%;padding:10px 13px;border:none;border-radius:14px;font-size:14px;font-family:var(--font-body);background:var(--surface-tint);color:var(--ink)}input:focus,textarea:focus{outline:none;box-shadow:var(--focus-ring)}.form{display:flex;flex-direction:column;gap:14px}.form label{display:flex;flex-direction:column;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.meds{border-radius:15px;padding:14px;background:var(--surface-tint)}.meds-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4)}.med-row{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr 1fr auto;gap:6px;margin-bottom:6px}.med-row input{background:var(--surface);font-size:12.5px}.actions.form-actions{margin-top:6px}button{background:var(--primary);color:#fff;border:none;border-radius:var(--radius-pill);padding:10px 18px;font-family:var(--font-body);font-size:13.5px;font-weight:700;cursor:pointer;transition:background-color .14s ease,opacity .14s ease}button:hover{background:var(--primary-hover)}button:disabled{opacity:.45;cursor:not-allowed}button.ghost{background:var(--surface-alt);color:var(--ink-2);font-weight:600}button.ghost:hover{color:var(--ink);background:var(--surface-alt-hover)}button.ghost.danger{color:var(--error);background:var(--error-bg)}button.ghost.danger:hover{opacity:.85}.error{background:var(--error-bg);color:var(--error);padding:11px 14px;border-radius:14px;margin-bottom:14px;font-size:13.5px;font-weight:500}.footer{text-align:center;color:var(--ink-3);font-size:11.5px;font-weight:500;padding:22px 0 4px}.app-loading{height:100vh;display:grid;place-items:center;color:var(--ink-3);font-weight:600}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--canvas)}.auth-column{width:100%;max-width:420px;display:flex;flex-direction:column;gap:18px}.auth-header{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.auth-header h1{font-size:22px;font-weight:800;letter-spacing:-.025em}.auth-header p{margin:0;font-size:13.5px;font-weight:500;color:var(--ink-3)}.auth-card.v2{width:100%;background:var(--surface);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:12px}.auth-card.v2.compact{padding:20px;gap:11px}.auth-card.v2 label{display:flex;flex-direction:column;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:.05em;color:var(--ink-4)}.auth-card.v2 input{height:46px;padding:0 14px;border-radius:15px;background:var(--surface-tint);font-size:14.5px;font-weight:500;color:var(--ink)}.auth-card.v2.compact input{height:44px}.auth-password-field{position:relative;display:flex}.auth-password-field input{flex:1;padding-right:68px}.auth-show-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);height:32px;padding:0 11px;border:0;border-radius:11px;background:var(--surface);color:var(--primary-hover);font-size:12px;font-weight:700;cursor:pointer}.auth-show-toggle:hover{background:var(--violet-tint)}.auth-helper-line{font-size:11.5px;font-weight:600;color:var(--ink-3);letter-spacing:normal;text-transform:none}.auth-submit{height:46px;width:100%;margin-top:4px;border-radius:15px;font-size:14.5px;font-weight:700}.auth-submit:disabled{opacity:.5;cursor:default}.auth-error{padding:12px 14px;border-radius:15px;background:var(--error-bg);color:var(--error);font-size:12.5px;font-weight:600}.auth-alt{text-align:center;font-size:13px;font-weight:600;color:var(--ink-2);margin:0}.auth-alt a{color:var(--primary);font-weight:700}.auth-footnote{text-align:center;font-size:11.5px;font-weight:500;color:var(--ink-3);margin:0}.strength-meter{display:flex;align-items:center;gap:10px;margin-top:-2px}.strength-bars{display:flex;gap:7px;flex:1}.strength-bar{height:4px;flex:1;border-radius:var(--radius-pill);background:var(--hairline)}.strength-bar.s1{background:var(--amber)}.strength-bar.s2,.strength-bar.s3{background:var(--mint)}.strength-label{font-size:11px;font-weight:700;white-space:nowrap}.strength-label.s1{color:var(--amber-text)}.strength-label.s2,.strength-label.s3{color:var(--mint-text)}.consent-row{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;font-weight:500;color:var(--ink-2);line-height:1.5;letter-spacing:normal;text-transform:none;cursor:pointer}.consent-row input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:6px;background:var(--surface);border:1.5px solid var(--dashed-border, #d6d2f4);flex-shrink:0;margin-top:1px;cursor:pointer;position:relative}.consent-row input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}.consent-row input[type=checkbox]:checked:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:800}.profile-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--hairline);font-size:13.5px;font-weight:500}.profile-row:last-of-type{border-bottom:none}.profile-label{color:var(--ink-3);font-weight:600}.btn-link{display:inline-flex;align-items:center;padding:10px 18px;border-radius:var(--radius-pill);background:var(--primary);color:#fff;text-decoration:none;font-size:13.5px;font-weight:700}.btn-link:hover{background:var(--primary-hover);text-decoration:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b1a2e73;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal{width:100%;max-width:480px;max-height:80vh;overflow-y:auto;background:var(--surface);border-radius:20px;padding:22px 24px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.modal-head h3{font-size:15.5px;font-weight:800;letter-spacing:-.015em}.modal-close{width:30px;height:30px;border:0;border-radius:10px;background:var(--surface-alt);color:var(--ink-3);font-size:16px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0}.modal-close:hover{background:var(--surface-alt-hover)}.modal-body p,.modal-body .med-list,.modal-body .card-meta,.modal-body .notes{font-size:13.5px}.profile-modal{max-width:480px;padding:0}.profile-modal-head{padding:20px 22px;margin-bottom:0}.profile-modal-avatar{width:48px;height:48px;border-radius:16px;font-size:19px}.profile-modal-headtext{flex:1;min-width:0}.profile-modal-headtext .name{font-size:16.5px;font-weight:800;letter-spacing:-.02em}.profile-modal-headtext .email{font-size:12.5px;font-weight:500;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-modal-body{padding:18px 22px 22px;display:flex;flex-direction:column;gap:18px}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.profile-section-heading{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--ink-4);margin-bottom:4px}.profile-inline-edit{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}.profile-inline-edit input{height:32px;padding:0 10px;font-size:13px}.profile-inline-edit.password{flex-direction:column;align-items:stretch}.profile-row-action{height:28px;padding:0 10px;border:0;border-radius:10px;background:var(--surface-alt);color:var(--primary-hover);font-size:12px;font-weight:700;cursor:pointer;flex-shrink:0}.profile-row-action:hover{background:var(--surface-alt-hover)}.profile-data-note{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:15px;background:var(--mint-tint)}.profile-data-icon{width:20px;height:20px;border-radius:7px;background:var(--mint);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-data-note p{margin:0;font-size:12.5px;font-weight:500;color:var(--mint-text);line-height:1.5}.profile-data-actions{display:flex;gap:8px}.profile-data-actions .ghost{flex:1;border-radius:13px;height:38px}.danger-btn{flex:1;height:38px;border-radius:13px;background:var(--error-bg);color:var(--error);font-weight:700}.danger-btn:hover{background:#ffe3df}.danger-btn:disabled{opacity:.5;cursor:default}.delete-confirm{padding:13px 14px;border-radius:15px;background:var(--error-bg);display:flex;flex-direction:column;gap:10px}.delete-confirm p{margin:0;font-size:12.5px;font-weight:500;color:var(--error-text);line-height:1.5}.delete-confirm input{height:38px;background:var(--surface)}.delete-confirm-actions{display:flex;gap:8px}.delete-confirm-actions .danger-btn,.delete-confirm-actions .ghost{flex:1}.signout-full{width:100%;height:44px;border-radius:15px;background:var(--dark-button, #1b1a2e);color:#fff;font-weight:700}.signout-full:hover{background:#302e4d}@media(max-width:760px){.modal-overlay:has(.profile-modal){align-items:flex-end;padding:0}.profile-modal{width:100%;max-width:100%;border-radius:24px 24px 0 0;max-height:88vh;padding-bottom:env(safe-area-inset-bottom)}.profile-data-actions{flex-direction:column}}button:focus-visible,input:focus-visible,a:focus-visible,.source-card:focus-visible,.suggestion:focus-visible,.rail-med-row:focus-visible,.nav-item:focus-visible,.bottomnav-item:focus-visible,.record-card:focus-visible,.filter-pill:focus-visible{outline:none;box-shadow:var(--focus-ring)}.panel-scroll::-webkit-scrollbar,.content--page::-webkit-scrollbar,.rail::-webkit-scrollbar{width:10px}.panel-scroll::-webkit-scrollbar-thumb,.content--page::-webkit-scrollbar-thumb,.rail::-webkit-scrollbar-thumb{background:#d9d6f2;border-radius:6px;border:3px solid var(--surface)}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media(max-width:1080px){.rail{width:214px;flex:0 0 214px}}@media(max-width:940px){.rail{width:76px;flex:0 0 76px;padding:16px 10px}.rail-brand-text,.rail-account-text,.signout-btn,.nav-label,.nav-count,.rail-meds{display:none}.rail-brand,.nav-item,.rail-account,.rail-account-link{justify-content:center;padding-left:0;padding-right:0}.rail-account-link{flex:0}.facts{grid-template-columns:repeat(min(var(--fact-cols, 4),2),1fr)}.cards-grid{grid-template-columns:1fr}.records-search input{display:none}.records-search{width:34px;height:34px;padding:0;justify-content:center;border-radius:12px}.review-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.shell{padding:0;gap:0;min-height:0;height:100dvh}.rail{display:none}.main{gap:0}.mobilebar,.bottomnav{display:flex}.panel{border-radius:0}.panel-head{padding:12px 14px}.ghost-btn.newchat{display:none}.panel-scroll{padding:16px 14px 6px}.answercard{padding:16px 15px;border-radius:18px}.sources{grid-template-columns:1fr}.bubble{max-width:88%}.composerwrap{padding:8px 14px 14px}.actions{flex-wrap:wrap}.records-page{padding:14px 14px 22px}.filter-row{padding:12px 14px 0}.review-grid{grid-template-columns:1fr}.record-card-delete{opacity:1}.upload-page{max-width:none}.page{padding:18px 14px 24px}.grid2{grid-template-columns:1fr}.med-row{grid-template-columns:1fr 1fr}}@media(max-width:420px){.chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.privacy-pill{display:none}.facts{grid-template-columns:repeat(min(var(--fact-cols, 4),2),1fr);gap:6px}}
