:root{--ds-font: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--ds-text-primary: #111213;--ds-text-secondary: #5e636e;--ds-text-muted: #8f96a3;--ds-border: #dee3ed;--ds-border-subtle: rgba(0, 0, 0, .1);--ds-bg: #ffffff;--ds-bg-muted: #ececf0;--ds-bg-input: #f3f3f5;--ds-bg-sidebar: #f8f9fb;--ds-blue: #0078d4;--ds-blue-hover: #005a9e;--ds-blue-50: #f3f9fd;--ds-blue-100: #e1f0fb;--ds-blue-200: #b3d9f5;--ds-dark-blue: #07426F;--ds-radius: 8px;--ds-text-xs: .75rem;--ds-text-sm: .875rem;--ds-text-base: 1rem;--ds-text-lg: 1.125rem;--ds-fw-normal: 400;--ds-fw-medium: 500;--ds-fw-semibold: 600;--ds-fw-bold: 700}.patient-app-shell{min-height:100vh;background:var(--ds-bg);color:var(--ds-text-primary);font-family:var(--ds-font);padding:0}.patient-app-header{max-width:100%;margin:0;display:flex;align-items:center;background:#2d2d2d;border-radius:0;padding:.9rem 1.25rem;box-shadow:none;border:0}.patient-brand{display:flex;align-items:center;gap:.8rem}.patient-brand-badge{width:2rem;height:2rem;border-radius:999px;display:grid;place-items:center;font-weight:700;color:#fff;background:#1976d2}.patient-brand h1{margin:0;font-size:1rem;font-weight:700;color:#fff}.patient-brand p{display:none}.patient-main{max-width:none;margin:0}.patient-shell{height:calc(100vh - 62px);display:grid;grid-template-columns:320px minmax(0,1fr)}.patient-shell--fullscreen{grid-template-columns:0 1fr}.patient-shell--fullscreen .patient-sidebar{display:none}.patient-sidebar{background:var(--ds-bg-sidebar);border-right:1px solid var(--ds-border);padding:0;display:flex;flex-direction:column;overflow:hidden;min-height:0;font-family:var(--ds-font)}.patient-sidebar__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem;background:var(--ds-bg);border-bottom:1px solid var(--ds-border)}.patient-sidebar__footer{padding:.5rem 1rem;font-size:var(--ds-text-sm);color:var(--ds-text-secondary);border-top:1px solid var(--ds-border);background:var(--ds-bg)}.patient-sidebar__header h2{margin:0;font-size:var(--ds-text-lg);font-weight:var(--ds-fw-semibold);color:var(--ds-text-primary)}.patient-search{display:block;padding:.75rem .75rem .5rem;background:var(--ds-bg);position:relative}.patient-search:before{content:"";position:absolute;left:1.45rem;top:50%;transform:translateY(-35%);width:15px;height:15px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%238f96a3' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat center/contain;pointer-events:none}.patient-search input{width:100%;height:2.25rem;padding:.25rem .75rem .25rem 2.5rem;border:1px solid #eeeeee;border-radius:var(--ds-radius);background:#fff;color:var(--ds-text-primary);font-family:var(--ds-font);font-size:var(--ds-text-sm);box-sizing:border-box;outline:none;transition:border-color .15s,box-shadow .15s}.patient-search input::placeholder{color:var(--ds-text-muted)}.patient-search input:focus{border-color:var(--ds-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--ds-blue) 20%,transparent)}.patient-list-grid{display:flex;flex-direction:column;padding:.5rem .75rem 1rem;gap:.5rem;overflow-y:auto;flex:1}.patient-card{border:1px solid var(--ds-border);border-radius:8px;padding:.75rem;background:var(--ds-bg);text-align:left;cursor:pointer;transition:border-color .15s,background .15s;width:100%;box-sizing:border-box}.patient-card:hover,.patient-card--active{background:var(--ds-blue-50);border-color:var(--ds-blue-200)}.patient-card__inner{display:flex;align-items:flex-start;gap:.75rem}.patient-card__content{flex:1;min-width:0}.patient-card__name{font-size:var(--ds-text-sm);font-weight:var(--ds-fw-medium);color:var(--ds-text-primary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-card__meta{margin-top:.25rem;color:var(--ds-text-secondary);font-size:var(--ds-text-xs);line-height:1.4}.patient-card__badge-slot{flex-shrink:0;margin-top:.25rem}.patient-content{background:var(--ds-bg);display:flex;flex-direction:column;height:calc(100vh - 62px);overflow-y:auto}.patient-detail-header{padding:.8125rem 1.5rem;background:linear-gradient(to right,var(--ds-blue-50),var(--ds-bg));border-bottom:1px solid var(--ds-border);display:flex;align-items:center;justify-content:space-between;gap:.75rem}.patient-detail-header__info{display:flex;align-items:center;gap:.75rem}.patient-detail-header h1{margin:0 0 .15rem;font-size:1.25rem;font-weight:var(--ds-fw-semibold);color:var(--ds-text-primary);line-height:1.3}.patient-detail-header p{margin:0;color:#4b5563;font-size:.75rem;line-height:1.4}.upload-modal-overlay{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;z-index:100}.upload-modal{background:var(--ds-bg);border-radius:8px;width:min(56rem,calc(100vw - 2rem));max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040}.upload-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--ds-border);background:linear-gradient(to right,var(--ds-blue-50),var(--ds-bg));border-radius:8px 8px 0 0;flex-shrink:0}.upload-modal__header-left{display:flex;align-items:center;gap:.75rem}.upload-modal__icon{background:var(--ds-blue-100);border-radius:999px;padding:.75rem;display:grid;place-items:center;flex-shrink:0}.upload-modal__title{margin:0 0 .2rem;font-size:1.25rem;font-weight:var(--ds-fw-medium);color:var(--ds-text-primary)}.upload-modal__subtitle{margin:0;font-size:var(--ds-text-sm);color:#4b5563}.upload-modal__close{background:none;border:none;cursor:pointer;color:var(--ds-text-muted);height:2rem;width:2rem;display:grid;place-items:center;border-radius:8px;flex-shrink:0}.upload-modal__close:hover{background:#f3f4f6;color:var(--ds-text-primary)}.upload-modal__body{flex:1;overflow:auto;padding:1.5rem}.upload-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--ds-border);background:#f9fafb;border-radius:0 0 8px 8px;flex-shrink:0}.patient-add-header{display:flex;flex-direction:column;padding:1.5rem;background:linear-gradient(to right,var(--ds-blue-50),var(--ds-bg));border-bottom:1px solid var(--ds-border)}.patient-add-header__top{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.patient-add-header__avatar{width:2.5rem;height:2.5rem;border-radius:999px;background:var(--ds-blue-100);display:grid;place-items:center;flex-shrink:0;padding:.75rem;box-sizing:content-box}.patient-add-header__title{margin:0 0 .2rem;font-size:1.25rem;font-weight:var(--ds-fw-bold);color:var(--ds-text-primary)}.patient-add-header__subtitle{margin:0;font-size:var(--ds-text-sm);color:var(--ds-text-secondary)}.patient-tab{border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text-primary);padding:.7rem 1rem;font:inherit;cursor:pointer}.patient-tab:first-child{border-radius:var(--ds-radius) 0 0 var(--ds-radius)}.patient-tab:last-child{border-radius:0 var(--ds-radius) var(--ds-radius) 0}.patient-detail-stack{display:flex;flex-direction:column;gap:1rem;padding:0 1.5rem 1.5rem}.detail-subtabs{display:flex;width:fit-content}.detail-subtab-btn{padding:.5rem 1rem;border:1px solid #e1dfdd;background:#fff;color:#4b5563;font:inherit;font-size:var(--ds-text-sm);font-weight:var(--ds-fw-medium);cursor:pointer;transition:color .15s,background .15s}.detail-subtab-btn:first-child{border-radius:8px 0 0 8px}.detail-subtab-btn:last-child{border-radius:0 8px 8px 0}.detail-subtab-btn:hover:not(.detail-subtab-btn--active){color:#111213}.detail-subtab-btn--active{background:var(--ds-blue);border-color:var(--ds-blue);color:#fff;box-shadow:0 1px 2px #0000001a}.patient-upload-screen{display:flex;flex:1;flex-direction:column;overflow:hidden;min-height:0}.patient-upload-steps{display:flex;align-items:center;justify-content:center;max-width:42rem;margin:0 auto;width:100%}.patient-upload-step-item{display:flex;align-items:center;flex:1}.patient-upload-step{display:flex;align-items:center;gap:.75rem;color:var(--ds-text-muted)}.patient-upload-step span{width:2.5rem;height:2.5rem;border-radius:999px;display:grid;place-items:center;border:2px solid var(--ds-border);background:var(--ds-bg);font-size:var(--ds-text-sm);font-weight:var(--ds-fw-bold);flex-shrink:0}.patient-upload-step__title{display:block;margin:0;font-size:var(--ds-text-sm);font-weight:var(--ds-fw-medium);color:var(--ds-text-primary)}.patient-upload-step__sub{display:block;margin:0;font-size:var(--ds-text-xs);color:var(--ds-text-muted)}.patient-upload-step--active{color:var(--ds-text-primary)}.patient-upload-step--active span,.patient-upload-step--done span{background:var(--ds-blue);border-color:var(--ds-blue);color:#fff}.patient-upload-step-line{flex:1;height:2px;background:#d1d5db;margin:0 .5rem}.patient-upload-body{flex:1;overflow:auto;padding:1.5rem}.patient-upload-card{max-width:56rem;margin:0 auto;border:1px solid #e1dfdd;border-radius:8px;background:var(--ds-bg);overflow:hidden}.patient-upload-card__title{display:flex;align-items:center;gap:.5rem;padding:1.5rem;background:#f3f9fd;color:#07426f;font-weight:var(--ds-fw-semibold);font-size:var(--ds-text-sm);border-bottom:1px solid #e1dfdd}.patient-upload-card__subtitle{font-size:var(--ds-text-xs);font-weight:var(--ds-fw-normal);color:#6b7280;margin:.125rem 0 0}.patient-upload-card__body{padding:1.5rem}.patient-upload-dropzone{border:2px dashed #d1d5db;border-radius:8px;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem;background:#f9fafb}.patient-upload-dropzone h3{margin:0 0 .25rem;font-size:var(--ds-text-base);font-weight:var(--ds-fw-medium);color:#111827}.patient-upload-dropzone p{margin:0 0 .5rem;color:#6b7280;font-size:var(--ds-text-sm)}.patient-upload-dropzone span{color:#9ca3af;font-size:var(--ds-text-xs)}.patient-upload-button{display:flex;align-items:center;gap:.4rem;position:relative;overflow:hidden}.patient-upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.patient-upload-error{margin:.9rem 0 0;color:#b91c1c;font-size:.88rem}.patient-upload-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-top:1px solid var(--ds-border);background:#fff}.patient-upload-footer__right{display:flex;align-items:center;gap:.75rem}@keyframes extraction-spin{to{transform:rotate(360deg)}}.extraction-modal-overlay{position:fixed;inset:0;background:#00000080;display:grid;place-items:center;z-index:200}.extraction-modal{background:var(--ds-bg);border-radius:12px;padding:2.5rem 2rem;width:min(22rem,calc(100vw - 2rem));display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;box-shadow:0 8px 32px #0000002e}.extraction-modal__spinner{width:2.5rem;height:2.5rem;border:3px solid var(--ds-border, #e5e7eb);border-top-color:var(--ds-blue-600, #2563eb);border-radius:50%;animation:extraction-spin .8s linear infinite}.extraction-modal__title{margin:0;font-size:1rem;font-weight:600;color:var(--ds-text-primary)}.extraction-modal__sub{margin:0;font-size:var(--ds-text-sm, .8125rem);color:var(--ds-text-secondary)}.intake-extract-banner{display:flex;align-items:center;gap:.75rem;margin:1rem 1.25rem 0;padding:1rem 1.5rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}.intake-extract-banner__icon-wrap{display:flex;align-items:center;justify-content:center;background:#dbeafe;border-radius:9999px;padding:.5rem;flex-shrink:0}.intake-extract-banner strong{display:block;font-size:.875rem;font-weight:500;color:#1e3a8a}.intake-extract-banner p{font-size:.75rem;margin:0;color:#1d4ed8}.uploaded-docs-section{margin:1rem 0 0;display:flex;flex-direction:column;gap:.75rem}.uploaded-docs-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0;font-size:.875rem;font-weight:500;color:#111827}.uploaded-docs-section__hint{font-size:.75rem;font-weight:400;color:#6b7280}.uploaded-doc-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem}.uploaded-doc-card__icon{display:flex;align-items:center;justify-content:center;background:#dbeafe;border-radius:.25rem;padding:.5rem;margin-top:.25rem;flex-shrink:0}.uploaded-doc-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.uploaded-doc-card__name{font-size:.875rem;font-weight:500;color:#111827;margin:0;word-break:break-word;flex:1;min-width:0}.uploaded-doc-card__kind-row{display:flex;align-items:center;gap:.5rem;width:100%}.uploaded-doc-card__badge{font-size:.75rem;font-weight:500;color:#1d4ed8;background:#dbeafe;border-radius:.375rem;padding:.25rem .5rem}.uploaded-doc-card__edit-btn{background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;color:#2563eb;border-radius:4px}.uploaded-doc-card__edit-btn:hover{color:#1d4ed8}.uploaded-doc-card__kind-input{flex:1;min-width:0;font-size:.875rem;border:1px solid #bfdbfe;border-radius:4px;padding:.25rem .5rem;background:#fff;color:var(--ds-text-primary);outline:none}.uploaded-doc-card__kind-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #bfdbfe}.uploaded-doc-card__save-btn{display:flex;align-items:center;justify-content:center;background:#16a34a;border:none;border-radius:4px;padding:.3rem;cursor:pointer;flex-shrink:0}.uploaded-doc-card__save-btn:hover{background:#15803d}.uploaded-doc-card__cancel-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;padding:.3rem;cursor:pointer;flex-shrink:0}.uploaded-doc-card__cancel-btn:hover{background:#f3f4f6}.uploaded-doc-card__remove{background:none;border:none;cursor:pointer;padding:.25rem .75rem;display:flex;align-items:center;flex-shrink:0;color:#dc2626;border-radius:.375rem;margin-left:.5rem}.uploaded-doc-card__remove:hover{color:#b91c1c;background:#fef2f2}.intake-review-form{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.intake-section{border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-bg);overflow:hidden}.intake-section__header{background:var(--ds-blue-50);color:var(--ds-blue);font-weight:var(--ds-fw-semibold);font-size:var(--ds-text-sm);padding:.6rem 1rem;border-bottom:1px solid var(--ds-blue-100)}.intake-section__body{padding:1rem}.intake-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.intake-field{display:flex;flex-direction:column;gap:.25rem}.intake-field--full{grid-column:1 / -1}.intake-field label{font-size:var(--ds-text-xs);font-weight:var(--ds-fw-medium);color:var(--ds-text-muted)}.intake-field input,.intake-field select{border:1px solid var(--ds-border);border-radius:var(--ds-radius);padding:.45rem .75rem;font-size:var(--ds-text-sm);color:var(--ds-text-primary);background:var(--ds-bg);outline:none;transition:border-color .15s}.intake-field input:focus,.intake-field select:focus{border-color:var(--ds-blue);box-shadow:0 0 0 2px var(--ds-blue-100)}.intake-extracted-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem}.patient-detail-card__section,.patient-add-panel{border:1px solid #e1dfdd;border-radius:8px;background:var(--ds-bg);overflow:hidden}.patient-detail-card__section h4{margin:0;padding:1.25rem 1rem;border-bottom:1px #c8c6c4;font-size:1.0625rem;font-weight:var(--ds-fw-semibold);color:var(--ds-dark-blue);background:#f3f9fd;display:flex;align-items:center;gap:.5rem}.patient-detail-card__section h4 svg{flex-shrink:0}.patient-detail-card__info-btn{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:999px;color:#9ca3af;display:grid;place-items:center;margin-left:auto;line-height:0;transition:background .15s,color .15s}.patient-detail-card__info-btn:hover{background:#f3f4f6;color:#0078d4}.patient-detail-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:1.5rem;row-gap:1rem;padding:1rem 1.5rem 1.5rem;align-items:start}.patient-detail-grid__full{padding:0 1.5rem 1.5rem;margin-top:1rem}.patient-detail-grid div{display:grid;gap:.25rem}.patient-detail-grid span{color:#4b5563;font-size:var(--ds-text-sm)}.patient-detail-grid strong{color:#111827;font-size:var(--ds-text-sm);font-weight:var(--ds-fw-medium)}.copy-field{display:flex;flex-direction:column}.copy-field__label{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:var(--ds-text-sm);font-weight:var(--ds-fw-medium)}.copy-field__value-row{display:flex!important;align-items:center;gap:.5rem;margin-top:.25rem}.copy-field__value{flex:1;margin:0;color:#111827;font-size:var(--ds-text-sm);font-weight:var(--ds-fw-normal)}.copy-field__source-btn{background:#2563eb;border:none;cursor:pointer;padding:0;width:.375rem;height:.375rem;border-radius:999px;flex-shrink:0;transition:background .15s}.copy-field__source-btn:hover{background:#1d4ed8}.copy-field__btn{display:grid;place-items:center;background:none;border:none;cursor:pointer;padding:.25rem;color:#6b7280;border-radius:8px;line-height:0;opacity:0;transition:opacity .15s,background .15s;flex-shrink:0}.copy-field:hover .copy-field__btn{opacity:1}.copy-field__btn:hover{background:#f3f4f6;color:#6b7280}.copy-field__btn--copied{color:#16a34a!important;opacity:1!important}.copy-field__missing{display:inline-flex;align-items:center;justify-content:center;height:1.25rem;flex-shrink:0;overflow:hidden;background:#d13438;color:#fff!important;font-size:.75rem;font-weight:var(--ds-fw-medium);padding:.125rem .5rem;border-radius:8px;border:2px solid transparent;white-space:nowrap}.detail-subtabs-row{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;background:var(--ds-bg);padding:1.5rem 1.5rem .5rem;margin:0 -1.5rem}.detail-actions-bar{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1.5rem;margin:0 -1.5rem;background:var(--ds-bg);border-top:1px solid var(--ds-border);z-index:10}.patient-btn--icon{display:flex;align-items:center;gap:.5rem}.pi-stack{display:grid;gap:1rem}.pi-section{border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-bg);overflow:hidden}.pi-section__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem .5rem;background:#f3f9fd;padding:1.25rem 1rem;border-bottom:1px #c8c6c4}.pi-section__title{margin:0;display:flex;align-items:center;gap:.5rem;font-weight:var(--ds-fw-semibold);font-size:1.0625rem;color:#07426f}.pi-section__body{padding:1.4rem 1.5rem 1.7rem}.pi-fields-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:1.5rem;row-gap:1.5rem}.pi-field{display:flex;flex-direction:column;gap:.375rem}.pi-field__label{display:flex;align-items:center;gap:.5rem;font-size:var(--ds-text-sm);color:#6b7280;font-weight:var(--ds-fw-medium)}.pi-field__value{flex:1;font-size:var(--ds-text-base);color:#111827;font-weight:var(--ds-fw-normal)}.pi-field__empty{color:#9ca3af}.pi-field__input{font-size:var(--ds-text-sm);font-weight:var(--ds-fw-medium);color:var(--ds-text-primary);font-family:inherit;border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-bg);padding:.45rem .65rem;width:100%;box-sizing:border-box;outline:none}.pi-field__input:focus{border-color:var(--ds-blue);box-shadow:0 0 0 2px var(--ds-blue-100)}.pi-insurance-list{display:flex;flex-direction:column;gap:1rem}.pi-insurance-card{border:1px solid var(--ds-border);border-radius:var(--ds-radius);overflow:hidden}.pi-insurance-card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.2rem}.pi-insurance-card__name{font-weight:var(--ds-fw-bold);font-size:var(--ds-text-base);color:var(--ds-text-primary)}.pi-insurance-card__header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.pi-insurance-card__badge{background:#16a34a;color:#fff;font-size:.75rem;font-weight:600;padding:.2rem .65rem;border-radius:999px}.pi-ins-btn{font:inherit;font-size:.78rem;font-weight:500;padding:.25rem .65rem;border-radius:8px;cursor:pointer;border:1px solid}.pi-ins-btn--ghost{background:var(--ds-bg);color:var(--ds-text-primary);border-color:var(--ds-border)}.pi-ins-btn--ghost:hover{background:var(--ds-bg-sidebar)}.pi-insurance-card__fields{padding:1.2rem 1.2rem 1.4rem}.ins-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem}.pi-sleep-list{display:flex;flex-direction:column;gap:1rem}.sleep-card{border:1px solid var(--ds-border);border-radius:var(--ds-radius);background:var(--ds-bg);overflow:hidden}.sleep-card__header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.2rem;border-bottom:1px solid #e1dfdd}.sleep-card__title{font-weight:var(--ds-fw-bold);font-size:var(--ds-text-sm);color:var(--ds-text-primary)}.sleep-card__badge{padding:.2rem .75rem;border-radius:8px;font-size:.78rem;font-weight:600;color:#fff;text-transform:capitalize}.sleep-card__body{padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.75rem}.sleep-card__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sleep-card__full{grid-column:1 / -1}.patient-btn--sm{padding:.5rem 1rem;font-size:.875rem}.patient-btn{border:0;border-radius:8px;padding:.7rem 1.25rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.875rem;font-weight:500;line-height:1.25;cursor:pointer}.patient-btn--primary{background:var(--ds-blue);color:#fff;height:2.25rem;padding:0 .75rem;display:inline-flex;align-items:center;gap:.5rem}.patient-btn--primary:hover{background:#1d4ed8}.patient-btn--compact{display:flex;align-items:center;gap:.375rem;height:2rem;padding:0 .75rem;font-size:var(--ds-text-sm);border-radius:8px}.patient-btn--primary:disabled{background:var(--ds-blue-200);cursor:not-allowed}.patient-btn--ghost{background:var(--ds-bg);color:var(--ds-text-primary);border:1px solid var(--ds-border);height:2.25rem;padding:0 .75rem}.patient-btn--ghost:hover{background:#f3f4f6;color:var(--ds-text-primary)}.patient-btn--ghost:disabled{color:var(--ds-text-muted);border-color:var(--ds-border);cursor:not-allowed}.patient-status{margin:0;color:var(--ds-text-secondary);padding:0 .5rem .75rem}.patient-status--error{color:#b91c1c}.patient-empty-panel{margin:1.5rem}.patient-detail-header{display:flex;align-items:center;justify-content:space-between;color:var(--ds-text-primary)}.patient-tabs-bar{display:flex;border-bottom:1px solid var(--ds-border);background:var(--ds-bg);padding:0 1.5rem}.patient-tabs-bar__tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border:1px solid transparent;border-bottom:2px solid transparent;border-radius:8px 8px 0 0;background:transparent;color:var(--ds-text-primary);font:inherit;font-size:var(--ds-text-sm);font-weight:var(--ds-fw-medium);cursor:pointer;margin-bottom:-1px;white-space:nowrap;transition:color .15s,border-color .15s}.patient-tabs-bar__tab:hover{color:var(--ds-text-primary);border-bottom-color:var(--ds-blue-200)}.patient-tabs-bar__tab--active{color:var(--ds-text-primary);border-bottom-color:var(--ds-blue);font-weight:var(--ds-fw-medium)}.patient-tabs-bar__icon{display:flex;align-items:center}@media(max-width:900px){.patient-shell{grid-template-columns:1fr}.patient-sidebar{border-right:0;border-bottom:1px solid #d6dde7}.patient-upload-card{max-width:100%}.patient-upload-steps{flex-direction:column;align-items:flex-start}.patient-upload-step-line{display:none}}.patient-upload-doc-btn{flex-shrink:0;font-size:.88rem;padding:.55rem .9rem}.patient-doc-list{display:flex;flex-direction:column;padding:1.25rem 1.5rem;gap:1rem}.patient-doc-card{border:1px solid #e1dfdd;border-radius:8px;background:#fff;overflow:hidden}.patient-doc-card__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem .5rem;background:#f3f9fd;border-bottom:1px solid #e1dfdd;gap:.75rem}.patient-doc-card__title{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.patient-doc-card__title-text{min-width:0;flex:1}.patient-doc-card__name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.patient-doc-card__name{margin:0;color:#07426f;font-weight:600;font-size:1.0625rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-doc-card__date{color:#c8c6c4;font-size:var(--ds-text-sm);flex-shrink:0}.patient-doc-card__actions{display:flex;gap:.5rem;flex-shrink:0}.patient-doc-btn{height:2rem;font-size:var(--ds-text-sm);padding:0 .625rem}.patient-doc-card__content{padding:.75rem 1rem 1rem}.patient-doc-card__meta{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.patient-doc-kind-tag--md{gap:.5rem}.patient-doc-kind-tag{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;background:#f1f5f9;color:#334155;border:2px solid transparent;border-radius:8px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;white-space:nowrap;flex-shrink:0}.patient-doc-card__summary h4{margin:0 0 .25rem;font-size:var(--ds-text-sm);font-weight:var(--ds-fw-semibold);color:#374151}.patient-doc-card__summary p{margin:0;font-size:var(--ds-text-sm);color:#4b5563;line-height:1.625}.doc-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.doc-modal{background:#fff;border-radius:8px;width:560px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000002e;overflow:hidden}.doc-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e5eaf2;flex-shrink:0}.doc-modal__title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:var(--ds-fw-semibold);line-height:1;color:#0f172a;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-modal__close{background:none;border:none;font-size:1rem;color:#64748b;cursor:pointer;padding:.25rem .5rem;border-radius:8px;flex-shrink:0}.doc-modal__close:hover{background:#f1f5f9;color:#1e293b}.doc-modal__body{overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.doc-modal__section h4{margin:0 0 .5rem;font-size:var(--ds-text-sm);font-weight:var(--ds-fw-semibold);color:#374151}.doc-modal__section p{margin:0;font-size:var(--ds-text-sm);color:#4b5563}.doc-modal__kind-view{display:flex;align-items:center;gap:.5rem}.doc-modal__kind-edit-btn{background:none;border:none;cursor:pointer;color:#c8c6c4;padding:.25rem;line-height:1;display:grid;place-items:center;border-radius:8px}.doc-modal__kind-edit-btn:hover{color:#2563eb}.doc-modal__kind-edit{display:flex;align-items:center;gap:.5rem}.doc-modal__kind-input{border:1px solid #d6dde7;border-radius:8px;padding:.4rem .65rem;font:inherit;font-size:.875rem;color:#0f172a;flex:1;min-width:0}.doc-modal__kind-input:focus{outline:none;border-color:#1e88e5;box-shadow:0 0 0 2px #dbeafe}.doc-modal__summary-text{background:#f9fafb;border-radius:8px;padding:1rem;margin:0;font-size:var(--ds-text-sm);color:#374151;line-height:1.625}.doc-modal__extracted-table{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.doc-modal__extracted-row{display:flex;align-items:flex-start;gap:.75rem}.doc-modal__extracted-label{min-width:140px;flex-shrink:0;font-size:var(--ds-text-sm);font-weight:var(--ds-fw-medium);color:#4b5563;text-transform:capitalize}.doc-modal__extracted-value{font-size:var(--ds-text-sm);color:#111827;flex:1}.doc-modal__doc-link{font-size:.88rem;color:#1e40af;text-decoration:none}.doc-modal__doc-link:hover{text-decoration:underline}.doc-modal__preview-card{border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#f9fafb}.doc-modal__preview-frame-wrap{background:#fff;max-height:24rem;overflow:hidden}.doc-modal__preview-frame{width:100%;height:24rem;border:none;display:block}.doc-modal__preview-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-top:1px solid #e5e7eb;background:#f3f4f6;gap:.5rem}.doc-modal__preview-meta{display:flex;align-items:center;gap:.5rem;min-width:0}.doc-modal__preview-filename{margin:0;font-size:var(--ds-text-sm);font-weight:var(--ds-fw-medium);color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-modal__preview-date{margin:0;font-size:var(--ds-text-xs);color:#6b7280}.doc-modal__preview-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.doc-modal__preview-btn{height:2rem;padding:0 .625rem;font-size:var(--ds-text-sm);text-decoration:none}.doc-modal__status-badge{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.125rem .5rem;border-radius:8px;border:2px solid transparent;font-size:.75rem;font-weight:500;white-space:nowrap;flex-shrink:0}.doc-modal__status-badge--processed{background:#0f172a;color:#fff}.doc-modal__status-badge--processing{background:#fef3c7;color:#92400e}.doc-modal__status-badge--failed{background:#fee2e2;color:#991b1b}.doc-modal__refresh-status{margin:0;font-size:var(--ds-text-sm);color:#4b5563}:root{color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f1f5f9}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:9999;pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.875rem;font-weight:500;color:#111827;background:#fff;border:1px solid #e5e7eb;min-width:260px;max-width:400px;box-shadow:0 4px 12px #0000001a;pointer-events:all;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast--success{border-left:4px solid #16a34a}.toast--error{border-left:4px solid #dc2626}.toast--info{border-left:4px solid #0078d4}.toast__message{flex:1}.toast__close{background:none;border:none;cursor:pointer;padding:0;color:#9ca3af;display:flex;align-items:center;flex-shrink:0}.toast__close:hover{color:#111827}
