:root{--bg-primary:#f4f5f7;--bg-secondary:#fceef2;--bg-wave:#f5dce4;--surface:#fff;--surface-soft:#fff5f8;--surface-glass:#ffffffd1;--brand-primary:#781b3b;--brand-deep:#5e152f;--brand-light:#f5dce4;--brand-gradient:linear-gradient(135deg, #781b3b 0%, #781b3b 55%, #5e152f 100%);--brand-gradient-hover:linear-gradient(135deg, #781b3b 0%, #781b3b 55%, #5e152f 100%);--text-primary:#21151b;--text-secondary:#786b73;--text-muted:#a9959e;--text-on-brand:#fff;--border-color:#f2e3e9;--border-strong:#e8cad5;--success:#16834a;--success-bg:#eaf7ef;--success-border:#c8ebd8;--nordic-green:#2e6e5e;--nordic-orange:#d96c3f;--warning:#c18424;--warning-bg:#fff5df;--warning-border:#ffe2b8;--error:#d92d20;--error-bg:#fdedec;--error-border:#f8ccd1;--neutral:#786b73;--neutral-bg:#f5f0f2;--neutral-border:#e5dce0;--app-bg:var(--bg-primary);--bg-card:var(--surface);--border:var(--border-color);--accent-color:var(--brand-primary);--accent-text:var(--text-on-brand);--status-valid-bg:var(--success-bg);--status-valid-text:var(--success);--status-valid-dot:var(--success);--status-valid-border:var(--success-border);--status-warning-bg:var(--warning-bg);--status-warning-text:var(--warning);--status-warning-dot:var(--warning);--status-warning-border:var(--warning-border);--status-expired-bg:var(--error-bg);--status-expired-text:var(--error);--status-expired-dot:var(--error);--status-expired-border:var(--error-border);--status-notfound-bg:var(--neutral-bg);--status-notfound-text:var(--neutral);--status-notfound-dot:var(--text-muted);--status-notfound-border:var(--neutral-border);--radius-small:12px;--radius-sm:12px;--radius-control:18px;--radius-md:18px;--radius-card:24px;--radius-lg:24px;--radius-large:30px;--radius-modal:30px;--radius-pill:999px;--shadow-card:0 6px 20px #781b3b14;--shadow-floating:0 10px 28px #781b3b24;--shadow-glass:0 10px 28px #781b3b24;--shadow-button:0 5px 14px #781b3b38;--shadow-glow:0 5px 14px #781b3b38;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#root{width:100%;max-width:100%;overflow-x:hidden}body{color:var(--text-primary);-webkit-user-select:none;user-select:none;background-color:#fff;height:100dvh;min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.45;overflow-x:hidden}html:before{content:"";z-index:-3;pointer-events:none;background:linear-gradient(#fff 0%,#fffeff 8%,#fff9fb 22%,#fff5f8 40%,#fceef2 68%,#f9e8ef 85%,#f5dce4 100%);position:fixed;inset:0}html:after{content:"";z-index:-2;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23F5DCE4' fill-opacity='0.55' d='M0,192L48,197.3C96,203,192,213,288,208C384,203,480,181,576,170.7C672,160,768,160,864,170.7C960,181,1056,203,1152,208C1248,213,1344,203,1392,197.3L1440,192L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23FCEEF2' fill-opacity='0.65' d='M0,224L48,218.7C96,213,192,203,288,197.3C384,192,480,192,576,186.7C672,181,768,171,864,165.3C960,160,1056,160,1152,165.3C1248,171,1344,181,1392,186.7L1440,192L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23FFFFFF' fill-opacity='0.45' d='M0,256L48,250.7C96,245,192,235,288,229.3C384,224,480,224,576,213.3C672,203,768,181,864,181.3C960,181,1056,203,1152,208C1248,213,1344,203,1392,197.3L1440,192L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'/%3E%3C/svg%3E");background-position:bottom;background-repeat:no-repeat;background-size:100% 100%;height:55vh;max-height:520px;position:fixed;bottom:0;left:0;right:0}.mobile-app{width:100%;max-width:480px;min-height:100dvh;padding-bottom:calc(85px + env(safe-area-inset-bottom,0px));box-sizing:border-box;background:0 0;flex-direction:column;margin:0 auto;display:flex;position:relative;overflow-x:hidden}.mobile-app:before{content:none}.app-header{background:var(--surface-glass);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-color);z-index:30;box-sizing:border-box;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #850d3c0a}.app-header-banner{z-index:30;position:sticky;top:0;-webkit-backdrop-filter:none!important;box-shadow:none!important;background:0 0!important;border-bottom:none!important;padding:0!important;display:block!important}.header-banner-img{width:100%;height:auto;display:block}.header-overlay{pointer-events:none;height:100%;position:absolute;top:0;left:0;right:0}.header-overlay .header-back{pointer-events:auto}.back-btn.header-back{-webkit-backdrop-filter:blur(6px);border:1px solid var(--border-color);color:var(--text-primary);background:#ffffffd9;border-radius:12px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #0000000f}.brand-badge{white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.brand-logo-img{object-fit:contain;border-radius:10px;width:auto;height:44px;max-height:44px;display:block;box-shadow:0 2px 8px #850d3c1f}.app-header-title{color:var(--brand-primary);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;font-weight:700;overflow:hidden}.back-btn{color:var(--brand-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:6px;padding:6px 0;font-size:14px;font-weight:600;transition:opacity .15s;display:flex}.back-btn:hover{opacity:.8}.content-area{box-sizing:border-box;z-index:1;flex-direction:column;gap:14px;width:100%;padding:14px 16px;display:flex;position:relative;overflow-x:hidden}.patient-card{background:var(--surface);border:1px solid var(--border-color);border-left:4.5px solid var(--brand-primary);border-radius:var(--radius-card);box-shadow:var(--shadow-card);box-sizing:border-box;align-items:center;gap:12px;width:100%;padding:14px 16px;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.ui-list{flex-direction:column;gap:12px;width:100%;display:flex}.ui-card{background:var(--surface);border:1px solid var(--border-color);border-left:4.5px solid var(--brand-primary);border-radius:var(--radius-card);box-shadow:var(--shadow-card);box-sizing:border-box;align-items:center;gap:12px;width:100%;padding:14px 16px;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.ui-card:hover{box-shadow:var(--shadow-floating);transform:translateY(-1px)}.ui-card:active{transform:scale(.99)}.ui-card-title{color:var(--text-primary);word-break:break-word;overflow-wrap:break-word;font-size:15.5px;font-weight:700;line-height:1.25}.ui-card-sub{color:var(--text-secondary);word-break:break-word;overflow-wrap:break-word;margin-top:3px;font-size:12.5px}.patient-card:hover{box-shadow:var(--shadow-floating);transform:translateY(-1px)}.patient-card:active{transform:scale(.99)}.avatar-circle{background:var(--bg-secondary);width:44px;height:44px;color:var(--brand-primary);border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.patient-info{flex:1;min-width:0;overflow:hidden}.patient-name{color:var(--text-primary);word-break:break-word;overflow-wrap:break-word;font-size:15.5px;font-weight:700;line-height:1.25}.patient-sub{color:var(--text-secondary);word-break:break-word;overflow-wrap:break-word;margin-top:3px;font-size:12.5px}.operation-card{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);box-sizing:border-box;flex-direction:column;gap:12px;width:100%;padding:14px 16px;display:flex}.field-group{flex-direction:column;gap:5px;width:100%;min-width:0;display:flex}.field-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11.5px;font-weight:700}.select-input,.date-input,.text-input{box-sizing:border-box;border:1px solid var(--border-color);border-radius:var(--radius-control);background-color:var(--surface-soft);width:100%;max-width:100%;color:var(--text-primary);outline:none;padding:10px 14px;font-family:inherit;font-size:14px;transition:all .15s}.select-input:focus,.date-input:focus,.text-input:focus{border-color:var(--brand-primary);background-color:var(--surface);box-shadow:0 0 0 3px #850d3c14}.summary-card{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);box-sizing:border-box;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:16px 18px;display:flex}.progress-donut-container{flex-shrink:0;justify-content:center;align-items:center;width:76px;height:76px;display:flex;position:relative}.donut-svg{width:76px;height:76px;transform:rotate(-90deg)}.donut-center-text{color:var(--brand-primary);font-size:17px;font-weight:800;position:absolute}.summary-counters{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.counter-row{justify-content:space-between;align-items:center;gap:6px;font-size:12.5px;display:flex}.counter-tag{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:7px;font-size:12.5px;display:flex}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot.valid{background:var(--status-valid-dot)}.dot.warning{background:var(--status-warning-dot)}.dot.expired{background:var(--status-expired-dot)}.counter-val{color:var(--text-primary);flex-shrink:0;font-weight:700}.alert-banner{background:var(--warning-bg);border:1px solid var(--border-color);border-left:4px solid var(--warning);border-radius:var(--radius-md);box-sizing:border-box;align-items:flex-start;gap:10px;width:100%;padding:12px 14px;display:flex;box-shadow:0 2px 10px #850d3c0a}.alert-banner.warning{color:var(--warning)}.alert-title{word-break:break-word;color:var(--text-primary);margin-bottom:2px;font-size:13.5px;font-weight:700}.alert-desc{color:var(--text-secondary);word-break:break-word;font-size:12px;line-height:1.4}.mismatch-alert-banner{box-sizing:border-box;background:#fff5f2;border:1.5px solid #ffd3c4;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 14px;display:flex}.mismatch-alert-content{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.mismatch-alert-icon-wrap{flex-shrink:0;align-items:center;gap:12px;display:flex}.mismatch-alert-icon{color:#d92d20;flex-shrink:0}.mismatch-alert-divider{background-color:#ffd3c4;flex-shrink:0;width:1px;height:32px}.mismatch-alert-text{flex-direction:column;gap:2px;min-width:0;display:flex}.mismatch-alert-title{color:#b91c1c;font-size:13.5px;font-weight:700;line-height:1.25}.mismatch-alert-desc{color:#1f2937;word-break:break-word;font-size:12.5px;line-height:1.35}.mismatch-alert-btn{background:var(--brand-primary);color:#fff;cursor:pointer;text-align:center;box-sizing:border-box;border:none;border-radius:10px;flex-shrink:0;max-width:170px;padding:8px 14px;font-size:12px;font-weight:600;line-height:1.25;transition:opacity .15s,transform .15s}.mismatch-alert-btn:hover{opacity:.92;transform:scale(1.02)}.mismatch-alert-btn:active{transform:scale(.98)}@media (width<=480px){.mismatch-alert-banner{flex-direction:column;align-items:stretch;gap:10px}.mismatch-alert-btn{width:100%;max-width:100%}}.section-block{margin-top:10px}.section-header{color:var(--brand-primary);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin-top:8px;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.section-list{box-shadow:none;background:0 0;border:none;flex-direction:column;gap:12px;padding:4px 0 8px;display:flex;overflow:visible}.analysis-list-row{border-bottom:1px solid var(--border-color);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:background-color .15s;display:flex}.analysis-list-row:last-child{border-bottom:none}.analysis-list-row:hover,.analysis-list-row:active{background-color:var(--surface-soft)}.analysis-row-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.analysis-row-title-wrap{align-items:center;gap:6px;display:flex}.analysis-row-title{color:var(--text-primary);word-break:break-word;font-size:13.5px;font-weight:600;line-height:1.3}.analysis-row-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;display:flex}.analysis-row-date{color:var(--text-secondary);align-items:center;gap:4px;font-weight:500;display:inline-flex}.analysis-row-validity{color:var(--text-secondary)}.analysis-row-validity.warning{color:var(--warning);font-weight:600}.result-badge-mini{background-color:var(--status-notfound-bg);color:var(--text-secondary);border-radius:var(--radius-pill);white-space:nowrap;padding:2px 7px;font-size:11px;font-weight:600}.analysis-row-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.row-action-btn.add{background:var(--brand-gradient);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 6px #850d3c33}.row-action-btn.add:hover{transform:scale(1.05);box-shadow:0 4px 10px #850d3c47}.row-action-btn.add:active{transform:scale(.95)}.row-chevron{color:var(--text-muted)}.items-group{flex-direction:column;gap:12px;width:100%;display:flex}.analysis-card{border:1px solid var(--border-color);box-sizing:border-box;background:#fff;border-radius:16px;flex-direction:column;gap:12px;width:100%;padding:16px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative;box-shadow:0 1px 4px #0000000a,0 4px 12px #850d3c08}.analysis-card.interactive{cursor:pointer}.analysis-card.interactive:hover{border-color:#850d3c40;transform:translateY(-1px);box-shadow:0 4px 16px #850d3c14}.analysis-card-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.analysis-card-title{color:#111827;word-break:break-word;margin:0;font-size:16px;font-weight:700;line-height:1.3}.analysis-card-upload-btn{background:var(--brand-gradient);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;transition:transform .15s;display:inline-flex;box-shadow:0 2px 6px #850d3c33}.analysis-card-upload-btn:hover{transform:scale(1.03)}.analysis-card-banner{border-radius:12px;align-items:center;gap:8px;padding:9px 14px;font-size:14px;font-weight:700;line-height:1.25;display:flex}.analysis-card-banner.valid{color:#15803d;background-color:#eaf7ee}.analysis-card-banner.expiring{color:#881337;background-color:#fdecef}.analysis-card-banner.not_found{color:#64748b;background-color:#f3f4f6}.analysis-card-banner.partial,.analysis-card-banner.needs_review{color:#92400e;background-color:#fef3c7}.banner-icon{flex-shrink:0}.analysis-card-grid{justify-content:space-between;align-items:stretch;gap:4px;padding:2px 0;display:flex}.analysis-card-col{flex-direction:column;flex:1;align-items:flex-start;gap:6px;min-width:0;display:flex}.analysis-card-col.col-center{text-align:center;align-items:center}.analysis-card-col-header{color:#64748b;white-space:nowrap;align-items:center;gap:5px;font-size:12px;font-weight:500;line-height:1;display:flex}.analysis-card-col-value{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:700;line-height:1.25;overflow:hidden}.analysis-card-divider{background-color:#f1f3f5;flex-shrink:0;align-self:stretch;width:1px;margin:0 8px}.analysis-date-badge{border-radius:8px;padding:3px 8px;font-size:14px;font-weight:700;line-height:1.25;display:inline-block}.analysis-date-badge.valid{color:#166534;background-color:#eaf7ee}.analysis-date-badge.expiring{color:#991b1b;background-color:#fdecef}.analysis-card-op-bar{background-color:#f8f6f6;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;display:flex}.op-bar-icon{flex-shrink:0}.analysis-card-op-text{color:#475569;font-size:13px;font-weight:500}.analysis-card-op-date{color:#781b3b;margin-left:2px;font-size:13px;font-weight:700}.compact-readiness-card{border:1px solid var(--border-color);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px 16px;display:flex;box-shadow:0 1px 4px #0000000a,0 4px 12px #850d3c08}.compact-readiness-info{flex-direction:column;flex-shrink:0;display:flex}.compact-readiness-title{color:#111827;font-size:15px;font-weight:700;line-height:1.25}.compact-readiness-subtitle{color:#64748b;margin-top:3px;font-size:13px;font-weight:500}.compact-readiness-bar-wrap{flex:1;justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.compact-readiness-progress-track{background-color:#e5e7eb;border-radius:9999px;flex:1;min-width:60px;max-width:140px;height:9px;position:relative;overflow:hidden}.compact-readiness-progress-fill{background:var(--brand-gradient);border-radius:9999px;height:100%;transition:width .35s}.compact-readiness-percentage{color:#111827;text-align:right;flex-shrink:0;min-width:38px;font-size:16px;font-weight:700}.analyses-unified-card{border:1px solid var(--border-color);background:#fff;border-radius:16px;flex-direction:column;margin-bottom:24px;display:flex;overflow:hidden;box-shadow:0 1px 4px #0000000a,0 4px 12px #850d3c08}.analysis-unified-row{cursor:pointer;border-bottom:1px solid #f6ebf0;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:background-color .15s;display:flex}.analysis-unified-row:last-child{border-bottom:none}.analysis-unified-row:hover,.analysis-unified-row:active{background-color:var(--surface-soft)}.analysis-unified-icon-circle{background-color:var(--surface-soft);width:38px;height:38px;color:var(--brand-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.analysis-unified-icon-circle.additive{color:var(--nordic-green);background-color:#e4efea}.study-list{flex-direction:column;display:flex}.study-row{border-bottom:1px solid var(--border-color);align-items:center;gap:14px;padding:12px 0;display:flex}.study-row:last-child{border-bottom:none}.study-icon-wrap{background:var(--surface-soft);width:44px;height:44px;color:var(--brand-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.study-info{flex:1;min-width:0}.study-title{color:var(--text-primary);word-break:break-word;font-size:15px;font-weight:600;line-height:1.3}.study-term{color:var(--text-secondary);margin-top:3px;font-size:12.5px}.analysis-unified-name{color:#1f2937;word-break:break-word;flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.35}.analysis-unified-badge-wrap{flex-shrink:0;align-items:center;display:flex}.analysis-status-pill{white-space:nowrap;border-radius:9999px;align-items:center;gap:6px;padding:5px 12px;font-size:12.5px;font-weight:600;line-height:1.2;display:inline-flex}.analysis-status-pill.status-valid{color:#166534;background-color:#eaf7ee}.analysis-status-pill.status-expiring{color:#881337;background-color:#fdecef}.analysis-status-pill.status-not-found{color:#64748b;background-color:#f3f4f6}.analysis-unified-chevron{color:#94a3b8;flex-shrink:0;transition:transform .15s,color .15s}.analysis-unified-row:hover .analysis-unified-chevron{color:var(--brand-primary);transform:translate(2px)}.analysis-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.analysis-name{color:var(--text-primary);word-break:break-word;overflow-wrap:break-word;flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.3}.status-pill{border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.status-pill.valid{background-color:var(--status-valid-bg);color:var(--status-valid-text);border:1px solid var(--status-valid-border)}.status-pill.warning{background-color:var(--status-warning-bg);color:var(--status-warning-text);border:1px solid var(--status-warning-border)}.status-pill.expired{background-color:var(--status-expired-bg);color:var(--status-expired-text);border:1px solid var(--status-expired-border)}.status-pill.not_found{background-color:var(--status-notfound-bg);color:var(--status-notfound-text);border:1px solid var(--status-notfound-border)}.analysis-details-row{color:var(--text-secondary);border-top:1px dashed var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding-top:6px;font-size:12px;display:flex}.validity-info{align-items:center;gap:4px;display:flex}.validity-info.warning{color:var(--warning);font-weight:600}.result-badge{color:var(--text-primary);background-color:var(--status-notfound-bg);border-radius:var(--radius-pill);padding:2px 7px;font-size:12px;font-weight:500}.card-action-btn{background-color:var(--surface-soft);color:var(--brand-primary);border:1px solid var(--border-color);border-radius:var(--radius-pill);cursor:pointer;flex-shrink:0;align-self:flex-start;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.card-action-btn:hover{background-color:var(--bg-secondary);border-color:var(--brand-primary)}.bottom-dock{background:var(--surface-glass);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border-color);width:100%;max-width:480px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));z-index:40;box-sizing:border-box;gap:10px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #850d3c0f}.primary-btn{background:var(--brand-gradient);min-width:0;color:var(--text-on-brand);border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-button);white-space:nowrap;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s,filter .15s;display:flex}.primary-btn:hover{background:var(--brand-gradient-hover);box-shadow:0 7px 18px #850d3c47}.primary-btn:active{transform:scale(.98);box-shadow:0 3px 8px #850d3c33}.secondary-btn{background-color:var(--surface);color:var(--brand-primary);border:1px solid var(--border-strong);border-radius:var(--radius-pill);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:10px 16px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 2px 6px #850d3c0a}.secondary-btn:hover{background-color:var(--bg-secondary);border-color:var(--brand-primary)}.secondary-btn:active{transform:scale(.98)}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(6px);box-sizing:border-box;background:#21151b73;flex-direction:column;justify-content:flex-end;width:100%;max-width:100vw;display:flex;position:fixed;inset:0;overflow-x:hidden}.modal-sheet{background:var(--surface);border-top-left-radius:var(--radius-modal);border-top-right-radius:var(--radius-modal);padding:22px 18px calc(24px + env(safe-area-inset-bottom,0px));box-sizing:border-box;border-top:1px solid var(--border-color);flex-direction:column;gap:16px;width:100%;max-width:480px;max-height:88vh;margin:0 auto;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden auto;box-shadow:0 -8px 30px #850d3c26}.modal-sheet.settings-sheet{max-height:94vh;padding:10px 16px calc(24px + env(safe-area-inset-bottom,0px))}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{border-radius:var(--radius-pill);background-color:var(--border-strong);align-self:center;width:44px;height:5px;margin-bottom:-4px}.sheet-title{color:var(--text-primary);font-size:18px;font-weight:800}.search-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-pill);box-sizing:border-box;align-items:center;gap:10px;width:100%;padding:10px 16px;transition:border-color .15s,background-color .15s;display:flex;box-shadow:inset 0 1px 3px #850d3c08}.search-box:focus-within{border-color:var(--border-strong);background-color:var(--surface)}.search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;width:100%;min-width:0;font-size:14.5px}.search-input::placeholder{color:var(--text-muted)}.filter-tabs{background:var(--bg-secondary);border-radius:var(--radius-pill);border:1px solid var(--border-color);box-sizing:border-box;align-items:center;gap:6px;width:100%;padding:4px;display:flex}.filter-tab-btn{color:var(--text-secondary);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 12px;font-size:12.5px;font-weight:600;transition:all .18s;display:flex}.filter-tab-btn.active{background:var(--brand-gradient);color:var(--text-on-brand);box-shadow:0 3px 10px #850d3c38}@media (width<=360px){.content-area{gap:10px;padding:10px}.app-header{gap:8px;padding:10px 12px}.brand-badge{gap:6px;font-size:13px}.brand-logo-img{height:38px;max-height:38px}.app-header-title{font-size:12.5px}.patient-card{gap:10px;padding:12px}.avatar-circle{width:38px;height:38px;font-size:15px}.patient-name{font-size:14.5px}.summary-card{gap:10px;padding:12px 14px}.progress-donut-container,.donut-svg{width:66px;height:66px}.donut-center-text{font-size:14.5px}.counter-row,.counter-tag{font-size:11.5px}.bottom-dock{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));gap:8px}.primary-btn{padding:11px 14px;font-size:13px}}
