:root{--auth-primary: #0284c7;--auth-primary-dark: #0f4c81;--auth-primary-soft: #e0f2fe;--auth-navy: #0f172a;--auth-cyan: #22d3ee;--auth-surface: #ffffff;--auth-surface-alt: #f8fbff;--auth-border: #cfe3f2;--auth-text: #0f172a;--auth-muted: #526275;--auth-success: #0f766e;--auth-danger: #b91c1c;--auth-danger-soft: #fef2f2;--auth-shadow: 0 30px 60px rgba(15, 23, 42, .18);--auth-radius-lg: 28px;--auth-radius-md: 18px;--auth-radius-sm: 12px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--auth-text);background:radial-gradient(circle at top left,rgba(34,211,238,.22),transparent 28%),linear-gradient(145deg,#eff8ff,#f8fbff 52%,#edf5ff)}body.auth-page{min-height:100vh}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(360px,.95fr);align-items:stretch}.auth-shell--register{grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr)}.auth-aside{position:relative;overflow:hidden;padding:48px clamp(24px,4vw,56px);background:linear-gradient(150deg,#0e7490f0,#0f172afa),linear-gradient(180deg,#082f49,#0f172a);color:#f8fbff;display:flex;flex-direction:column;justify-content:space-between;gap:32px}.auth-aside:before,.auth-aside:after{content:"";position:absolute;border-radius:999px;pointer-events:none}.auth-aside:before{width:260px;height:260px;top:-72px;right:-88px;background:radial-gradient(circle,rgba(34,211,238,.28),transparent 70%)}.auth-aside:after{width:200px;height:200px;bottom:8%;left:-72px;background:radial-gradient(circle,rgba(125,211,252,.2),transparent 68%)}.auth-brand-block,.auth-feature-list,.clinical-visual{position:relative;z-index:1}.brand-pill{width:fit-content;padding:8px 14px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(191,219,254,.3);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.auth-brand-block h1{margin:18px 0 12px;font-size:clamp(2.2rem,4vw,3.5rem);line-height:.95;letter-spacing:-.04em}.auth-lead{margin:0;max-width:34rem;font-size:1rem;line-height:1.75;color:#f0f9ffe0}.clinical-visual{min-height:320px;display:flex;align-items:center}.clinical-visual__halo{position:absolute;inset:auto;border-radius:999px;filter:blur(8px)}.clinical-visual__halo--one{width:160px;height:160px;top:16px;left:12px;background:#22d3ee2e}.clinical-visual__halo--two{width:220px;height:220px;right:28px;bottom:6px;background:#0284c726}.clinical-visual__card{position:relative;width:min(100%,540px);padding:26px;border-radius:32px;background:linear-gradient(180deg,#ffffff2e,#94a3b81a);border:1px solid rgba(186,230,253,.26);box-shadow:0 24px 60px #082f4952;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;grid-template-columns:1fr 1fr;gap:20px;animation:float-card 7s ease-in-out infinite}.clinical-visual__card--register{display:flex;flex-direction:column;gap:24px}@keyframes float-card{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.patient-schematic{position:relative;width:100%;min-height:208px;border-radius:24px;background:linear-gradient(180deg,#082f498f,#0c4a6e38);border:1px solid rgba(165,243,252,.22)}.patient-schematic span{position:absolute;display:block;background:linear-gradient(180deg,#a5f3fc,#38bdf8);box-shadow:0 0 18px #22d3ee38}.patient-schematic__head{width:40px;height:40px;border-radius:50%;top:26px;left:calc(50% - 20px)}.patient-schematic__torso{width:34px;height:90px;top:72px;left:calc(50% - 17px);border-radius:20px}.patient-schematic__arm{width:82px;height:14px;top:92px;border-radius:999px}.patient-schematic__arm--left{left:calc(50% - 92px);transform:rotate(18deg)}.patient-schematic__arm--right{right:calc(50% - 92px);transform:rotate(-18deg)}.patient-schematic__leg{width:16px;height:86px;top:146px;border-radius:999px}.patient-schematic__leg--left{left:calc(50% - 20px);transform:rotate(8deg)}.patient-schematic__leg--right{right:calc(50% - 20px);transform:rotate(-8deg)}.clinical-visual__metrics{display:flex;flex-direction:column;justify-content:center;gap:14px}.metric-chip,.feature-card,.auth-stat{border-radius:18px;border:1px solid rgba(191,219,254,.22);background:#ffffff1f}.metric-chip{padding:16px}.metric-chip strong,.feature-card strong{display:block;margin-bottom:6px;font-size:.95rem}.metric-chip span,.feature-card span{display:block;line-height:1.6;color:#f0f9ffd6;font-size:.88rem}.auth-feature-list{display:grid;gap:14px}.feature-card{padding:18px 18px 16px}.auth-panel{display:flex;align-items:center;justify-content:center;padding:32px}.auth-card{width:min(100%,520px);padding:clamp(28px,4vw,38px);background:#fffffff0;border:1px solid rgba(203,231,248,.85);border-radius:var(--auth-radius-lg);box-shadow:var(--auth-shadow)}.auth-card--wide{width:min(100%,720px)}.auth-card__header{margin-bottom:28px}.eyebrow{margin:0 0 10px;color:var(--auth-primary-dark);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.auth-card__header h2{margin:0 0 10px;font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.05;color:var(--auth-navy)}.auth-card__header p,.auth-switch{margin:0;color:var(--auth-muted);line-height:1.7}.auth-switch{margin-top:22px;text-align:center}.auth-switch a{color:var(--auth-primary-dark);font-weight:700;text-decoration:none}.auth-switch a:hover,.auth-switch a:focus-visible{text-decoration:underline}.auth-form{display:flex;flex-direction:column;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label,.checkbox-field{font-size:.92rem;font-weight:700;color:var(--auth-navy)}.auth-input{width:100%;min-height:52px;padding:14px 16px;border:1px solid var(--auth-border);border-radius:var(--auth-radius-sm);background:var(--auth-surface-alt);color:var(--auth-text);font-size:.98rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.auth-input:focus{outline:none;border-color:var(--auth-primary);box-shadow:0 0 0 4px #0284c724;background:#fff}.auth-input[aria-invalid=true]{border-color:#b91c1c8c;background:var(--auth-danger-soft)}.password-field{position:relative}.password-field .auth-input{padding-right:86px}.toggle-password{position:absolute;top:50%;right:10px;transform:translateY(-50%);border:0;background:#0284c71a;color:var(--auth-primary-dark);border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer}.toggle-password:hover,.toggle-password:focus-visible{background:#0284c72e;outline:none}.form-options{display:flex;justify-content:space-between;align-items:center;gap:12px}.checkbox-field{display:inline-flex;align-items:center;gap:10px;cursor:pointer;line-height:1.5}.checkbox-field input{width:18px;height:18px;accent-color:var(--auth-primary);flex:0 0 auto}.checkbox-field--terms{align-items:flex-start}.field-error{min-height:1.1rem;margin:0;color:var(--auth-danger);font-size:.83rem;line-height:1.35}.form-alert{display:none;padding:14px 16px;border-radius:14px;font-size:.92rem;line-height:1.55}.form-alert.is-visible{display:block}.form-alert.is-error{color:var(--auth-danger);background:var(--auth-danger-soft);border:1px solid rgba(248,113,113,.35)}.form-alert.is-success{color:var(--auth-success);background:#ccfbf1b8;border:1px solid rgba(45,212,191,.32)}.submit-button{min-height:54px;border:0;border-radius:16px;background:linear-gradient(135deg,var(--auth-primary) 0%,#0369a1 55%,#155e75 100%);color:#fff;font-size:1rem;font-weight:800;letter-spacing:.01em;cursor:pointer;box-shadow:0 16px 28px #0284c73d;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.submit-button:hover,.submit-button:focus-visible{transform:translateY(-1px);box-shadow:0 18px 30px #0284c74d;outline:none}.submit-button:disabled{opacity:.78;cursor:wait;transform:none}.password-strength{display:flex;flex-direction:column;gap:8px}.password-strength__bar{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#dbeafe}.password-strength__fill{display:block;width:20%;height:100%;border-radius:inherit;background:#f97316;transition:width .2s ease,background-color .2s ease}.password-strength__text{margin:0;color:var(--auth-muted);font-size:.83rem;line-height:1.5}.auth-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.auth-stat{padding:16px 12px;text-align:center}.auth-stat strong{display:block;font-size:1.8rem;margin-bottom:4px}.auth-stat span{color:#f0f9ffd1;font-size:.82rem}.clinical-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.clinical-grid span{aspect-ratio:1;border-radius:16px;background:linear-gradient(180deg,#7dd3fc42,#ffffff1a);border:1px solid rgba(186,230,253,.22);animation:pulse-grid 2.4s ease-in-out infinite}.clinical-grid span:nth-child(2n){animation-delay:.24s}.clinical-grid span:nth-child(3n){animation-delay:.48s}@keyframes pulse-grid{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(.96);opacity:1}}@media (max-width: 1080px){.auth-shell,.auth-shell--register{grid-template-columns:1fr}.auth-aside{min-height:auto;padding-bottom:36px}.auth-panel{padding-top:12px}}@media (max-width: 720px){.auth-panel,.auth-aside{padding:20px}.auth-card{padding:24px 18px;border-radius:24px}.clinical-visual__card{grid-template-columns:1fr;padding:20px}.form-grid,.auth-stats{grid-template-columns:1fr}.form-options{align-items:flex-start;flex-direction:column}.patient-schematic{min-height:180px}}html,body.admin-page{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:radial-gradient(circle at top right,rgba(34,211,238,.12),transparent 22%),linear-gradient(180deg,#eff8ff,#f8fbff 38%,#eef5ff);color:#0f172a}.admin-shell{min-height:100vh;padding:28px}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:28px 30px;border-radius:28px;background:linear-gradient(135deg,#0f4c81,#0f172a);color:#fff;box-shadow:0 24px 50px #0f172a38}.admin-eyebrow{margin:0 0 10px;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#bae6fd}.admin-header h1{margin:0 0 10px;font-size:clamp(2rem,3vw,2.8rem);line-height:1.05}.admin-subtitle{margin:0;max-width:42rem;color:#e2e8f0e6;line-height:1.7}.admin-user-panel{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#ffffff14;border-radius:22px;border:1px solid rgba(191,219,254,.18)}.admin-user-copy{display:flex;flex-direction:column;gap:4px}.admin-user-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#bae6fd}.admin-user-copy strong{font-size:.98rem}.admin-user-copy span:last-child{color:#e2e8f0d1;font-size:.82rem}.admin-logout-btn,.admin-refresh-btn,.doctor-status-btn{border:0;cursor:pointer;font-weight:800}.admin-logout-btn{min-height:44px;padding:0 16px;border-radius:14px;background:#0284c73d;color:#fff}.admin-main{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);gap:24px;margin-top:24px}.admin-card{background:#fffffff2;border:1px solid rgba(203,231,248,.92);border-radius:26px;padding:24px;box-shadow:0 18px 44px #0f172a1a}.admin-card__header{margin-bottom:22px}.admin-card__header--split{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-card__header h2{margin:0 0 8px;font-size:1.4rem}.admin-card__header p{margin:0;color:#526275;line-height:1.6}.admin-form{display:flex;flex-direction:column;gap:18px}.admin-refresh-btn{min-height:42px;padding:0 14px;border-radius:12px;background:#e0f2fe;color:#0f4c81}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{padding:14px 12px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}.admin-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#526275}.admin-table__empty{text-align:center;color:#64748b}.doctor-name{display:block;font-weight:800;color:#0f172a}.doctor-meta,.doctor-contact{display:block;margin-top:4px;color:#64748b;font-size:.84rem}.doctor-status{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:8px 12px;border-radius:999px;font-size:.76rem;font-weight:800}.doctor-status--active{background:#10b98124;color:#047857}.doctor-status--inactive{background:#ef444424;color:#b91c1c}.doctor-status-btn{min-height:38px;padding:0 14px;border-radius:12px;background:#0f4c81;color:#fff}.doctor-status-btn[data-next-status=ACTIVE]{background:#0f766e}@media (max-width: 1080px){.admin-main{grid-template-columns:1fr}}@media (max-width: 720px){.admin-shell{padding:16px}.admin-header{flex-direction:column;padding:22px 18px}.admin-user-panel,.admin-card__header--split{flex-direction:column;align-items:stretch}}:root{--primary-color: #0284c7;--primary-dark: #0369a1;--primary-light: #f0f9ff;--secondary-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--danger-light: #fee2e2;--text-dark: #0f172a;--text-muted: #64748b;--border-color: #e2e8f0;--bg-light: #f8fafc;--card-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--purple: #7c3aed;--teal: #0d9488;--pink: #db2777}*{box-sizing:border-box;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body{background:#f1f5f9;color:var(--text-dark);line-height:1.5;display:flex;flex-direction:column;min-height:100vh}header{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;padding:1rem 1.75rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px -1px #0000001a;border-bottom:3px solid var(--primary-color);flex-wrap:wrap;gap:.5rem}.header-title h1{font-size:1.4rem;font-weight:800;letter-spacing:-.5px;display:flex;align-items:center;gap:10px}.header-title p{font-size:.78rem;opacity:.85;margin-top:2px;font-weight:400}.header-badge{background:#ffffff1a;padding:.45rem .9rem;border-radius:30px;font-size:.8rem;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;gap:8px;font-weight:600}.header-meta{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;margin-left:auto}.auth-user-area{display:flex;align-items:center}.auth-user-card{display:flex;align-items:center;gap:.75rem;padding:.42rem .5rem .42rem .42rem;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-user-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#38bdf8,#0284c7);display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#fff;box-shadow:inset 0 1px #ffffff40;flex:0 0 auto}.auth-user-details{display:flex;flex-direction:column;min-width:0}.auth-user-label{font-size:.62rem;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:#e2e8f0c7;margin-bottom:.18rem}.auth-user-name{font-size:.8rem;line-height:1.1;font-weight:700;color:#fff;white-space:nowrap}.auth-user-role{font-size:.7rem;line-height:1.1;color:#bae6fd;white-space:nowrap}.auth-logout-btn{border:1px solid rgba(186,230,253,.24);background:#0284c72e;color:#fff;font-size:.74rem;font-weight:700;border-radius:999px;padding:.52rem .85rem;cursor:pointer;transition:background .15s ease,transform .15s ease;flex:0 0 auto}.auth-logout-btn:hover{background:#0284c74d;transform:translateY(-1px)}.auth-logout-btn:focus{outline:2px solid rgba(125,211,252,.7);outline-offset:2px}@media (max-width: 980px){.header-meta{width:100%;justify-content:flex-start;margin-left:0}}@media (max-width: 640px){.auth-user-card{width:100%;border-radius:16px}.auth-user-name,.auth-user-role{white-space:normal}}.main-container{display:flex;flex:1;overflow:hidden;height:calc(100vh - 68px)}.sidebar{width:450px;background:#fff;border-right:1px solid var(--border-color);padding:1.1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;box-shadow:4px 0 6px -1px #0000000d}.sidebar h2{font-size:1.05rem;font-weight:800;color:#1e293b;border-bottom:2px solid var(--primary-color);padding-bottom:.4rem;margin-bottom:.5rem}.form-section,.sidebar-section{border:1px solid var(--border-color);padding:.95rem;border-radius:8px;background:#f8fafc;margin-bottom:.4rem}.form-section h3,.sidebar-section h3{font-size:.78rem;color:var(--primary-dark);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px dashed var(--border-color);padding-bottom:.25rem;font-weight:800}.org-block{border:1px solid #dbeafe;border-radius:8px;padding:.7rem;margin-bottom:.55rem;background:#fff}.org-block .org-head{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.org-block .org-title{font-size:.8rem;font-weight:800;color:#1e3a8a;display:flex;align-items:center;gap:6px}.org-block .org-toggle{font-size:.7rem;color:var(--text-muted)}.org-body{margin-top:.6rem;display:none}.org-body.open{display:block}.form-group{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.65rem}.form-group label{font-size:.7rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.4px}.form-control{padding:.45rem .6rem;font-size:.82rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#1e293b;transition:border-color .15s,box-shadow .15s;width:100%}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0284c726}.form-grid.two-col,.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.form-grid.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.checkbox-group,.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .5rem;margin-top:.4rem}.checkbox-group label,.checkbox-grid label{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:.78rem;color:#334155;font-weight:500}.checkbox-group input,.checkbox-grid input{width:15px;height:15px;cursor:pointer}.btn{padding:.6rem 1rem;font-size:.88rem;font-weight:700;border-radius:6px;border:none;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.btn-secondary:hover{background:#e2e8f0}.content-area{flex:1;padding:1.25rem 1.6rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.35rem}.card{background:#fff;border-radius:8px;border:1px solid var(--border-color);box-shadow:var(--card-shadow);padding:1.15rem}.card-header-flex{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:.7rem;margin-bottom:.9rem;flex-wrap:wrap;gap:.5rem}.card-title{font-size:1.05rem;font-weight:800;color:#1e293b;display:flex;align-items:center;gap:8px}.patient-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border-left:5px solid var(--primary-color);flex-wrap:wrap;gap:.75rem}.hero-left h2{font-size:1.2rem;font-weight:800;color:#0f172a}.hero-left p{font-size:.82rem;color:var(--text-muted);margin-top:2px}.hero-right{text-align:right;display:flex;flex-direction:column;gap:5px;align-items:flex-end}.confidence-badge{display:inline-block;padding:.4rem .8rem;border-radius:20px;font-size:.78rem;font-weight:800;text-transform:uppercase}.confidence-high{background:#d1e7dd;color:#0f5132;border:1px solid #badbcc}.confidence-med{background:#fff3cd;color:#664d03;border:1px solid #ffecb5}.confidence-low{background:#f8d7da;color:#842029;border:1px solid #f5c2c7}.alert-box{background:var(--danger-light);border-left:5px solid var(--danger-color);color:#842029;padding:.9rem;border-radius:6px;margin-bottom:.5rem;font-size:.83rem;box-shadow:var(--card-shadow)}.alert-box.amber{background:#fffbeb;border-left-color:var(--warning-color);color:#78350f}.alert-box h4{font-weight:800;margin-bottom:.25rem;display:flex;align-items:center;gap:6px}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}@media (max-width:1100px){.analysis-grid{grid-template-columns:1fr}}.pathway-item{padding:.8rem;border:1px solid var(--border-color);border-radius:8px;margin-bottom:.65rem;background:var(--bg-light)}.pathway-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.pathway-name{font-weight:700;font-size:.82rem;color:#1e293b}.pathway-score{font-weight:800;font-size:.82rem;padding:.12rem .5rem;border-radius:4px;background:#e2e8f0}.progress-bar-container{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:.4rem}.progress-bar{height:100%;border-radius:4px;transition:width .4s ease}.score-red{background:var(--danger-color)}.score-orange{background:#f97316}.score-yellow{background:var(--warning-color)}.score-green{background:var(--secondary-color)}.pathway-desc{font-size:.74rem;color:var(--text-muted);margin-bottom:.4rem;line-height:1.4}.pathway-evidence{font-size:.74rem;background:#fff;padding:.4rem .6rem;border-radius:6px;border-left:3px solid #94a3b8;margin-top:.4rem}.pathway-evidence ul{padding-left:1rem;margin-top:3px}.pathway-evidence li{margin-bottom:3px}.body-map-card{background:linear-gradient(135deg,#fff,#f0f9ff);border:1px solid var(--border-color)}.body-map-wrap{display:grid;grid-template-columns:360px 1fr;gap:1.5rem;align-items:start}@media (max-width:1000px){.body-map-wrap{grid-template-columns:1fr}}.body-svg-box{position:relative;display:flex;flex-direction:column;justify-content:center}.body-figure{position:relative;width:100%;max-width:360px;margin:0 auto;line-height:0}.body-img{width:100%;height:auto;display:block;border-radius:12px;border:1px solid var(--border-color);box-shadow:0 8px 22px #00000021}.hotspot-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.hotpin{cursor:pointer}.hotpin .pin-bg{transition:fill .35s ease,opacity .35s ease,stroke .35s ease}.hotpin:hover .pin-bg{filter:brightness(1.12) drop-shadow(0 0 2px rgba(2,132,199,.6))}.hotpin.selected .pin-bg{stroke:#0284c7;stroke-width:1.6}.joint-dot{cursor:pointer;transition:fill .3s ease}.joint-dot:hover{fill:#0284c7}.pin-emoji{text-anchor:middle;dominant-baseline:central;pointer-events:none}.pin-pct{text-anchor:middle;dominant-baseline:central;font-weight:800;pointer-events:none;font-family:inherit;paint-order:stroke;stroke:#fff;stroke-width:.3;stroke-linejoin:round}.pin-name{display:none}.hotpin:hover .pin-bg{filter:brightness(1.12) drop-shadow(0 0 3px rgba(2,132,199,.7))}.hotpin.selected .pin-bg{stroke:#0284c7!important;stroke-width:1.4!important}.body-svg{width:100%;max-width:340px;height:auto}.organ-svg{cursor:pointer;transition:fill .4s ease,opacity .4s ease}.organ-svg.dim{opacity:.35}.organ-legend{display:flex;flex-direction:column;gap:.55rem}.organ-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .65rem;border-radius:7px;border:1px solid var(--border-color);background:#fff;font-size:.8rem}.organ-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.organ-row .o-name{flex:1;font-weight:700;color:#1e293b}.organ-row .o-pct{font-weight:900;font-size:.95rem;min-width:48px;text-align:right}.organ-row .o-status{font-size:.66rem;font-weight:800;padding:.1rem .35rem;border-radius:4px;text-transform:uppercase}.st-clear{background:#dcfce7;color:#166534}.st-mild{background:#fef9c3;color:#854d0e}.st-mod{background:#ffedd5;color:#9a3412}.st-sev{background:#fee2e2;color:#991b1b}.severity-key{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.7rem;color:var(--text-muted);margin-bottom:.5rem;align-items:center}.severity-key span{display:flex;align-items:center;gap:4px}.org-table{width:100%;border-collapse:collapse;font-size:.8rem}.org-table th{background:var(--bg-light);padding:.5rem;text-align:left;font-size:.7rem;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid var(--border-color)}.org-table td{padding:.5rem;border-bottom:1px solid var(--border-color)}.org-table tr:hover{background:#f8fafc}.pct-bar{height:7px;background:#e2e8f0;border-radius:4px;overflow:hidden;width:90px;display:inline-block;vertical-align:middle;margin-right:6px}.pct-bar i{display:block;height:100%}.drug-grid{display:grid;grid-template-columns:1fr;gap:1.1rem}.drug-card{border:1px solid var(--border-color);border-radius:8px;padding:1.1rem;background:#fff;transition:box-shadow .2s;position:relative;overflow:hidden}.drug-card:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:var(--primary-color)}.drug-card.drug-high-priority:before{background:var(--danger-color)}.drug-card.drug-supportive:before{background:var(--secondary-color)}.drug-card.drug-investigational:before{background:var(--purple)}.drug-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;border-bottom:1px solid #f1f5f9;padding-bottom:.55rem;gap:.5rem;flex-wrap:wrap}.drug-name-container h3{font-size:1rem;font-weight:800;color:#0f172a}.drug-class{font-size:.72rem;text-transform:uppercase;font-weight:700;color:var(--text-muted);letter-spacing:.4px}.drug-priority-badge{font-size:.68rem;font-weight:800;padding:.25rem .5rem;border-radius:12px;text-transform:uppercase}.badge-essential{background:#fee2e2;color:#991b1b}.badge-recommended{background:#e0f2fe;color:#0369a1}.badge-supportive{background:#d1fae5;color:#065f46}.badge-investigational{background:#ede9fe;color:#5b21b6}.badge-research{background:#fce7f3;color:#9d174d}.drug-details{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.8rem;font-size:.79rem}@media (max-width:700px){.drug-details{grid-template-columns:1fr}}.detail-item strong{display:block;color:#475569;font-size:.68rem;text-transform:uppercase;letter-spacing:.4px;margin-bottom:.15rem}.detail-item p{color:#1e293b}.drug-dosing-box{background:#f8fafc;border:1px dashed var(--primary-color);padding:.8rem;border-radius:6px;margin-top:.8rem;font-size:.83rem}.drug-dosing-box strong{display:flex;align-items:center;gap:6px;color:var(--primary-dark);margin-bottom:.25rem;font-size:.72rem;text-transform:uppercase}.timeline{display:flex;flex-direction:column;gap:.9rem;margin-top:.4rem}.timeline-item{display:flex;gap:1.1rem;position:relative}.timeline-item:before{content:"";position:absolute;top:25px;left:12px;width:2px;height:calc(100% - 10px);background:#cbd5e1}.timeline-item:last-child:before{display:none}.timeline-marker{width:26px;height:26px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;z-index:1;flex-shrink:0}.timeline-marker.marker-warning{background:var(--warning-color)}.timeline-marker.marker-danger{background:var(--danger-color)}.timeline-content{background:var(--bg-light);padding:.8rem .95rem;border-radius:6px;flex:1;font-size:.79rem;border:1px solid var(--border-color)}.timeline-content h4{font-weight:800;color:#0f172a;margin-bottom:.25rem}.rank-table{width:100%;border-collapse:collapse;font-size:.78rem}.rank-table th{background:var(--primary-light);padding:.5rem;text-align:left;font-size:.68rem;text-transform:uppercase;color:var(--primary-dark);border-bottom:2px solid var(--primary-color)}.rank-table td{padding:.55rem .5rem;border-bottom:1px solid var(--border-color);vertical-align:top}.rank-num{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--primary-color);color:#fff;align-items:center;justify-content:center;font-weight:800;font-size:.72rem}.rank-organ{font-weight:700;color:var(--primary-dark);font-size:.7rem;background:#e0f2fe;padding:.1rem .3rem;border-radius:4px;display:inline-block;margin:1px}.risk-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}@media (max-width:700px){.risk-grid{grid-template-columns:1fr}}.risk-card{padding:.85rem;border-radius:8px;border-left:5px solid var(--danger-color);background:#fff5f5}.risk-card.risk-mod{border-left-color:var(--warning-color);background:#fffbeb}.risk-card.risk-low{border-left-color:var(--secondary-color);background:#f0fdf4}.risk-card h4{font-size:.83rem;font-weight:800;color:#0f172a;margin-bottom:.3rem}.risk-card p{font-size:.76rem;color:#334155}.risk-card .risk-prob{font-size:1.4rem;font-weight:900}.acc-meter-wrap{display:flex;align-items:center;gap:.6rem}.acc-meter{flex:1;height:14px;background:#e2e8f0;border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.acc-meter i{display:block;height:100%;background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981);transition:width .5s}.footer-actions{background:#fff;border-top:1px solid var(--border-color);padding:.9rem 1.6rem;display:flex;justify-content:flex-end;gap:.8rem;box-shadow:0 -4px 6px -1px #0000000d;flex-wrap:wrap}.section-anchor{scroll-margin-top:12px}.svg-text{font-family:inherit;font-size:9px;fill:#475569;font-weight:600}.svg-text-bold{font-weight:800;font-size:10px;fill:#0f172a}.tag{display:inline-block;font-size:.65rem;font-weight:700;padding:.1rem .35rem;border-radius:4px;background:#e2e8f0;color:#475569;margin:1px}.empty-note{font-size:.85rem;color:var(--text-muted);text-align:center;margin:1.5rem 0}.organ-svg.clickable{cursor:pointer}.organ-svg.clickable:hover{filter:brightness(1.08) saturate(1.15)}.organ-svg.selected{filter:drop-shadow(0 0 6px rgba(2,132,199,.95))}.organ-tip{background:#fff;border:2px solid var(--primary-color);border-radius:10px;padding:.85rem .95rem;box-shadow:0 6px 20px #0000001f;font-size:.82rem;margin-top:.7rem;display:none}.organ-tip.show{display:block;animation:popIn .22s ease}@keyframes popIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.organ-tip .ot-head{display:flex;align-items:center;gap:8px;font-weight:800;color:#0f172a;margin-bottom:.35rem;flex-wrap:wrap}.organ-tip .ot-pct{font-size:1.6rem;font-weight:900;margin-left:auto}.quickset-btn{padding:.28rem .55rem;font-size:.68rem;font-weight:800}@media (max-width:1024px){.main-container{flex-direction:column;height:auto;overflow:visible}.sidebar{width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border-color)}.content-area{overflow:visible}}.page-view{display:none}.page-view.active{display:flex;flex-direction:column;width:100%}.followup-nav-btn{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;padding:.55rem 1.1rem;font-size:.82rem;font-weight:800;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s;box-shadow:0 2px 8px #7c3aed4d}.followup-nav-btn:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6);transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed66}.back-to-dashboard{background:linear-gradient(135deg,#475569,#334155);color:#fff;border:none;padding:.55rem 1.1rem;font-size:.82rem;font-weight:800;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.back-to-dashboard:hover{background:linear-gradient(135deg,#334159,#1e293b)}.followup-header{background:linear-gradient(135deg,#4c1d95,#6d28d9);color:#fff;padding:1.25rem 1.75rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.followup-header h1{font-size:1.3rem;font-weight:800;letter-spacing:-.3px}.fu-time-selector{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.fu-time-selector .form-group{min-width:120px}.fu-time-selector label{font-size:.68rem;font-weight:700;color:#ffffffd9;text-transform:uppercase;letter-spacing:.4px}.fu-time-selector select,.fu-time-selector input{padding:.4rem .6rem;font-size:.82rem;border:1px solid rgba(255,255,255,.25);border-radius:6px;background:#ffffff1f;color:#fff;width:100%}.fu-time-selector select option{background:#1e1b4b;color:#fff}.fu-sidebar{width:450px;background:#fff;border-right:1px solid var(--border-color);padding:1.1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.7rem;box-shadow:4px 0 6px -1px #0000000d}.fu-content{flex:1;padding:1.25rem 1.6rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.35rem}.fu-save-btn{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;padding:.85rem 2rem;font-size:1rem;font-weight:800;border-radius:8px;cursor:pointer;width:100%;box-shadow:0 4px 10px #7c3aed4d}.fu-save-btn:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6)}.fu-date-display{background:#ffffff26;padding:.4rem .8rem;border-radius:8px;font-size:.78rem;font-weight:700;display:flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.2)}.fu-patient-info{background:#ffffff1a;padding:.4rem .7rem;border-radius:6px;font-size:.78rem;border:1px solid rgba(255,255,255,.15)}.comparison-header{background:linear-gradient(135deg,#065f46,#047857);color:#fff;padding:1.25rem 1.75rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.comparison-header h1{font-size:1.3rem;font-weight:800}.compare-card{background:#fff;border-radius:8px;border:1px solid var(--border-color);box-shadow:var(--card-shadow);padding:1.15rem}.compare-title{font-size:1.05rem;font-weight:800;color:#1e293b;display:flex;align-items:center;gap:8px}.compare-table{width:100%;border-collapse:collapse;font-size:.78rem}.compare-table th{background:var(--bg-light);padding:.5rem .55rem;text-align:left;font-size:.68rem;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid var(--border-color)}.compare-table td{padding:.5rem .55rem;border-bottom:1px solid var(--border-color);vertical-align:middle}.compare-table tr:hover{background:#f8fafc}.change-improved{color:#059669;font-weight:800}.change-worsened{color:#dc2626;font-weight:800}.change-stable{color:#64748b;font-weight:700}.change-new{color:#7c3aed;font-weight:800}.trend-arrow{display:inline-block;font-size:1rem;font-weight:900}.trend-up{color:#dc2626}.trend-down{color:#059669}.trend-same{color:#94a3b8}.bar-compare{display:flex;gap:3px;align-items:center;height:20px}.bar-compare .bar-baseline,.bar-compare .bar-followup{height:100%;border-radius:3px;min-width:2px;transition:width .3s}.legend-row{display:flex;gap:1rem;font-size:.72rem;color:var(--text-muted);margin-top:.3rem;align-items:center}.legend-row .dot{width:10px;height:10px;border-radius:3px;display:inline-block}.therapy-verdict{padding:.75rem;border-radius:8px;margin-bottom:.65rem;border-left:5px solid}.therapy-working{background:#f0fdf4;border-color:#059669}.therapy-notworking{background:#fef2f2;border-color:#dc2626}.therapy-new{background:#f5f3ff;border-color:#7c3aed}.therapy-monitor{background:#fffbeb;border-color:#f59e0b}.verdict-title{font-weight:800;font-size:.88rem;margin-bottom:.3rem;display:flex;align-items:center;gap:6px}.verdict-detail{font-size:.76rem;color:#475569;line-height:1.5}.monitor-item{display:flex;gap:.85rem;padding:.65rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-light);margin-bottom:.55rem;align-items:flex-start}.monitor-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.monitor-urgent{background:#fee2e2}.monitor-routine{background:#dbeafe}.monitor-lifestyle{background:#d1fae5}.monitor-text h4{font-size:.82rem;font-weight:800;color:#0f172a}.monitor-text p{font-size:.74rem;color:#475569;margin-top:.15rem}.chart-container{position:relative;width:100%;height:300px;background:#f8fafc;border:1px solid var(--border-color);border-radius:8px;padding:1rem;overflow:hidden}.chart-svg{width:100%;height:100%}.chart-label{font-size:10px;fill:#64748b;font-weight:600}.chart-value{font-size:9px;font-weight:800}.chart-legend{display:flex;gap:1.2rem;font-size:.74rem;align-items:center;margin-top:.5rem}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend .swatch{width:14px;height:14px;border-radius:3px;display:inline-block}@media (max-width:1024px){.fu-sidebar{width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border-color)}.fu-content{overflow:visible}}.compare-card+.compare-card{margin-top:1rem}#page-comparison .compare-card{margin-bottom:0}#page-comparison,#page-followup{gap:0}details.org-block{border:1px solid #dbeafe;border-radius:8px;padding:.55rem .7rem;margin-bottom:.45rem;background:#fff}details.org-block summary{font-weight:800;font-size:.8rem;color:#1e3a8a;cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none}details.org-block summary::-webkit-details-marker{display:none}details.org-block summary .ot{display:flex;align-items:center;gap:6px}details.org-block summary .tg{font-size:.64rem;color:#64748b;font-weight:700}.sev-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .5rem;margin-top:.55rem}.sev-grid .fg{display:flex;flex-direction:column;gap:.2rem}.sev-grid label{font-size:.68rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.3px}.sev-grid select,.sev-grid input{padding:.35rem .45rem;font-size:.76rem;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#1e293b;width:100%}.org-note{font-size:.66rem;color:#64748b;margin-top:.4rem;font-style:italic}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:#f8fafc;color:#334155;line-height:1.5}
