:root{color:#17212b;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{width:100%;min-height:100%;margin:0;overflow-x:hidden}body{background:#f4f7f8;min-height:100vh}button,input,select,textarea{font:inherit}input,select,button{box-sizing:border-box;max-width:100%}*{box-sizing:border-box}.login-page{background:linear-gradient(135deg,#edf6f4 0%,#f7fafb 55%,#edf3f6 100%);justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.login-card{background:#fff;border:1px solid #e2e8ec;border-radius:18px;width:100%;max-width:440px;padding:44px;box-shadow:0 18px 50px #1e34401a}.login-brand h1{letter-spacing:-1px;margin:0 0 8px;font-size:34px}.login-brand p{color:#63717c;margin:0 0 32px;line-height:1.6}.login-form{flex-direction:column;gap:20px;display:flex}.form-field{flex-direction:column;gap:7px;display:flex}.form-field label{color:#33434f;font-size:14px;font-weight:600}.form-field input{border:1px solid #ccd6dc;border-radius:9px;outline:none;width:100%;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.form-field input:focus{border-color:#287f75;box-shadow:0 0 0 3px #287f751f}.primary-button{color:#fff;cursor:pointer;background:#176f66;border:0;border-radius:9px;padding:13px 18px;font-weight:700}.primary-button:hover{background:#125e57}.primary-button:disabled{opacity:.65;cursor:default}.form-error{color:#9d2929;background:#fff1f1;border-radius:8px;padding:11px 13px;font-size:14px}.login-footnote{color:#77848d;margin:28px 0 0;font-size:12px;line-height:1.5}.app-main{min-height:100vh;overflow:hidden}.app-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:#123e3a;flex-direction:column;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:12px;padding:4px 8px 28px;display:flex}.brand-mark{color:#176f66;background:#fff;border-radius:11px;place-items:center;width:40px;height:40px;font-size:20px;font-weight:800;display:grid}.sidebar-brand strong{font-size:18px;display:block}.sidebar-brand span{color:#b9cfcc;margin-top:2px;font-size:11px;display:block}.sidebar-nav{flex-direction:column;gap:6px;display:flex}.sidebar-link{color:#dbe8e6;border-radius:8px;padding:11px 12px;font-size:14px;font-weight:500;text-decoration:none;display:block}.sidebar-link:hover{background:#ffffff14}.sidebar-link.active{color:#123e3a;background:#fff;font-weight:700}.sidebar-footer{border-top:1px solid #ffffff24;margin-top:auto;padding:18px 8px 4px}.sidebar-user strong{font-size:13px;display:block}.sidebar-user span{color:#b9cfcc;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;display:block;overflow:hidden}.logout-button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:7px;width:100%;margin-top:14px;padding:9px 10px}.logout-button:hover{background:#ffffff14}.app-content{width:100%;min-width:1680px;margin:0 auto}.app-header{background:#fff;border-bottom:1px solid #e1e7ea;justify-content:space-between;align-items:center;min-height:84px;padding:18px 34px;display:flex}.app-header h1{letter-spacing:-.4px;margin:2px 0 0;font-size:20px}.header-eyebrow{color:#71808a;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.header-status{color:#176f66;background:#eaf5f2;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}.page-content{width:100%;max-width:1720px;margin:0 auto;padding:34px}.page-heading{margin-bottom:26px}.page-heading h2,.coming-soon-page h2{letter-spacing:-.8px;margin:4px 0 6px;font-size:30px}.page-heading p,.coming-soon-page p{color:#6b7882;margin:0}.page-eyebrow{color:#176f66;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px;display:grid}.dashboard-card{background:#fff;border:1px solid #e0e6e9;border-radius:13px;padding:22px;box-shadow:0 5px 18px #142a350a}.card-label{color:#65737d;font-size:13px;display:block}.card-value{margin:13px 0;font-size:30px;display:block}.card-description{color:#87939b;font-size:12px}.dashboard-panel{background:#fff;border:1px solid #e0e6e9;border-radius:13px;padding:24px;box-shadow:0 5px 18px #142a350a}.panel-heading h3{margin:0 0 6px}.panel-heading p{color:#6b7882;margin:0 0 20px}.system-status-list{border-top:1px solid #edf0f2}.system-status-item{border-bottom:1px solid #edf0f2;justify-content:space-between;padding:14px 0;font-size:14px;display:flex}.system-status-item strong{color:#176f66}.research-notice{color:#78858e;margin-top:22px;font-size:12px}.coming-soon-page{padding:12px 0}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.sidebar-nav{flex-flow:wrap}.sidebar-footer{margin-top:20px}.dashboard-grid{grid-template-columns:1fr}}.participants-table-wrap{width:100%;overflow-x:auto}.participants-table{border-collapse:collapse;width:100%;font-size:14px}.participants-table th,.participants-table td{text-align:left;border-bottom:1px solid #edf0f2;padding:14px 16px}.participants-table th{color:#5f6d77;letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.participants-table tbody tr:hover{background:#f8fafb}.page-heading-actions{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.participant-form-panel{margin-bottom:22px}.participant-form{grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:end;gap:20px;display:grid}.form-field select{background:#fff;border:1px solid #ccd6dc;border-radius:9px;outline:none;width:100%;padding:12px 14px}.form-field select:focus{border-color:#287f75;box-shadow:0 0 0 3px #287f751f}.form-actions{grid-column:1/-1}@media (width<=700px){.page-heading-actions{flex-direction:column;align-items:stretch}.participant-form{grid-template-columns:1fr}}.encounter-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.encounter-form .form-field{min-width:0}.prediction-result{margin-top:22px}@media (width<=800px){.encounter-form{grid-template-columns:1fr}}.encounter-workspace{grid-template-columns:1fr;align-items:start;gap:24px;display:grid}.encounter-workspace.has-result{grid-template-columns:minmax(760px,1.8fr) minmax(430px,.85fr);align-items:stretch;gap:24px}.encounter-form-panel{min-width:0}.encounter-workspace.has-result .encounter-form-panel,.encounter-workspace.has-result .prediction-result{height:100%}.encounter-workspace,.encounter-workspace.has-result,.encounter-form-panel,.prediction-result{min-width:0}.prediction-result{width:100%;min-width:430px;margin-top:0;position:sticky;top:24px}.prediction-result-header{border-bottom:1px solid #e6ecef;padding-bottom:18px}.prediction-result-header h3{margin:6px 0;font-size:24px}.prediction-result-header p{color:#6c7b86;margin:0}.prediction-primary-result{border-bottom:1px solid #e6ecef;padding:28px 0}.prediction-primary-result span{color:#6c7b86;margin-bottom:8px;font-size:14px;display:block}.prediction-primary-result strong{color:#14786f;font-size:42px;line-height:1;display:block}.prediction-result-details{gap:10px;display:grid}.prediction-detail{border-bottom:1px solid #e6ecef;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.prediction-detail span{color:#6c7b86}.prediction-detail strong{color:#14786f;font-size:18px}.prediction-research-note{color:#7b8790;margin:20px 0 0;font-size:13px;line-height:1.5}@media (width<=1100px){.encounter-workspace.has-result{grid-template-columns:1fr}.prediction-result{position:static}}.prediction-actions .primary-button{width:100%}.encounter-page-heading{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:18px;display:flex}.encounter-context{background:#fff;border:1px solid #e3e9ec;border-radius:10px;gap:28px;padding:14px 18px;display:flex}.encounter-context-item{flex-direction:column;gap:4px;display:flex}.encounter-context-item span{color:#7a8790;letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:700}.encounter-context-item strong{color:#244740;white-space:nowrap;font-size:14px}@media (width<=900px){.encounter-page-heading{flex-direction:column;align-items:stretch}.encounter-context{width:fit-content}}.field-help{color:#7a8790;margin-top:6px;font-size:12px;line-height:1.4;display:block}.table-wrapper{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;border-spacing:0;width:100%}.data-table thead{background:#f7f9fa}.data-table th{color:#667680;letter-spacing:.03em;text-align:left;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #dfe6e9;padding:14px 16px;font-size:12px;font-weight:700}.data-table td{color:#26363d;vertical-align:middle;border-bottom:1px solid #edf1f2;padding:16px;font-size:14px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fafcfc}.data-table td strong{color:#173f39}.prediction-badge{border-radius:999px;justify-content:center;align-items:center;min-width:76px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.prediction-badge.negative{color:#245d53;background:#edf4f2}.prediction-badge.positive{color:#a33b3b;background:#fceeee}.prediction-result{flex-direction:column;gap:12px;min-width:500px;display:flex}.prediction-classification{border-radius:14px;align-items:center;gap:20px;padding:16px 18px;display:flex}.prediction-classification.positive{background:#edf8f1}.prediction-classification.negative{background:#f3f6f7}.prediction-classification-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:34px;font-weight:700;display:flex}.prediction-classification.positive .prediction-classification-icon{color:#fff;background:#1f9d55}.prediction-classification.negative .prediction-classification-icon{color:#fff;background:#64747c}.prediction-classification-content{border-left:1px solid #bfd9d1;padding-left:20px}.prediction-classification-content span{color:#55716a;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:700;display:block}.prediction-classification-content strong{color:#076544;font-size:38px;line-height:1.05;display:block}.prediction-classification.negative .prediction-classification-content strong{color:#44575f}.prediction-classification-content p{color:#477066;margin:6px 0 0;font-size:14px}.prediction-metrics{grid-template-columns:1fr 1fr;gap:14px;display:grid}.prediction-metric-card{background:#fff;border:1px solid #e2e9eb;border-radius:12px;padding:12px 14px}.prediction-metric-card span{color:#73828a;margin-bottom:6px;font-size:13px;display:block}.prediction-metric-card strong{color:#08796b;font-size:28px;line-height:1}.prediction-interpretation{padding-top:4px}.prediction-section-title{color:#53656d;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;font-size:12px;font-weight:700;display:block}.prediction-risk-labels{color:#48575d;justify-content:space-between;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.prediction-scale{height:68px;margin:0 10px;position:relative}.prevalence-marker span,.threshold-marker span{font-size:9px}.prediction-scale-line{background:linear-gradient(90deg,#65b89c 0% 20%,#d3bc69 50%,#e39b62 75%,#d75d5d 100%);height:3px;position:absolute;top:26px;left:0;right:0}.prediction-scale-line:before,.prediction-scale-line:after{content:"";background:#66777e;width:1px;height:15px;position:absolute;top:-6px}.prediction-scale-line:before{left:0}.prediction-scale-line:after{right:0}.prediction-marker{text-align:center;position:absolute;top:0;transform:translate(-50%)}.prediction-marker:before{content:"";border-left:1px dashed;width:1px;height:34px;position:absolute;top:21px;left:50%;transform:translate(-50%)}.prediction-marker:after{content:"";background:currentColor;border-radius:50%;width:11px;height:11px;position:absolute;top:21px;left:50%;transform:translate(-50%,-50%)}.prediction-marker strong{white-space:nowrap;font-size:12px;display:block}.prediction-marker span{white-space:nowrap;margin-top:34px;font-size:10px;line-height:1.2;display:block}.prevalence-marker{color:#7c8a90}.threshold-marker{color:#4c8fc5}.patient-marker{color:#08796b;font-weight:700}.patient-marker:after{width:17px;height:17px}.prediction-scale-extremes{color:#64747c;justify-content:space-between;margin:-4px 10px 0;font-size:11px;display:flex}@media (width<=1100px){.prediction-metrics{grid-template-columns:1fr}.prediction-classification-content strong{font-size:32px}}.prediction-actions{margin-top:auto}.prediction-actions .primary-button{width:100%;padding:12px 16px}.prediction-research-footnote{color:#7a8790;text-align:center;margin:0;font-size:11px;line-height:1.4}@media (width<=1180px){body{overflow-y:auto}.encounter-workspace.has-result{grid-template-columns:1fr}.prediction-result{min-width:0}}.prevalence-marker strong{transform:translate(-22px)}.threshold-marker strong{transform:translate(22px)}.prevalence-marker span{transform:translate(-32px)}.threshold-marker span{transform:translate(30px)}.patient-marker strong,.patient-marker span{transform:none}
