.homepage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.homepage-inner{max-width:800px;width:100%;text-align:center}.homepage-hero{margin-bottom:48px}.homepage-title{font-size:1.85rem;font-weight:700;color:var(--color-primary-dark);margin-bottom:16px;line-height:1.2;background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.homepage-tagline{font-size:1rem;line-height:1.6;color:var(--color-text);margin-bottom:28px;max-width:560px;margin-left:auto;margin-right:auto}.homepage-cta{display:inline-block;padding:14px 32px;font-size:1.1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border:none;border-radius:10px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 14px #2c4a6b1f}.homepage-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2c4a6b26}.homepage-cta:active{transform:translateY(0)}.homepage-features{margin-bottom:40px}.homepage-features-title{font-size:1.15rem;font-weight:600;color:var(--color-muted);margin-bottom:20px;text-transform:uppercase;letter-spacing:.05em}.homepage-features-grid{display:grid;grid-template-columns:1fr;gap:20px;text-align:left}.homepage-feature-card{display:block;width:100%;text-align:left;background:var(--color-surface);border:2px solid var(--color-border);border-radius:12px;padding:20px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;font-family:inherit;position:relative}.homepage-feature-card:hover{border-color:var(--color-primary);box-shadow:0 8px 24px #2c4a6b1a;transform:translateY(-4px)}.homepage-feature-card:active{transform:translateY(-2px)}.homepage-feature-card:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2c4a6b1f}.homepage-feature-icon{display:inline-block;color:var(--color-primary);font-size:1rem;margin-bottom:8px}.homepage-feature-card h3{font-size:1.05rem;font-weight:600;color:var(--color-primary-dark);margin-bottom:8px}.homepage-feature-card p{font-size:.9rem;line-height:1.5;color:var(--color-text-muted);margin:0 0 12px}.homepage-feature-cta{display:inline-block;font-size:.85rem;font-weight:600;color:var(--color-primary);margin-top:4px;transition:color .2s ease,transform .2s ease}.homepage-feature-card:hover .homepage-feature-cta{color:var(--color-primary-dark);transform:translate(4px)}.homepage-disclaimer{font-size:.85rem;color:var(--color-text-muted);line-height:1.5;max-width:560px;margin:0 auto;padding-top:24px;border-top:1px solid var(--color-border)}@media (min-width: 600px){.homepage-title{font-size:2.25rem}.homepage-tagline{font-size:1.1rem}.homepage-features-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 768px){.homepage{padding:40px 24px}.homepage-hero{margin-bottom:56px}.homepage-title{font-size:2.5rem;margin-bottom:20px}.homepage-tagline{font-size:1.15rem;margin-bottom:32px}.homepage-cta{padding:16px 40px;font-size:1.15rem}.homepage-features-title{font-size:1.2rem;margin-bottom:28px}.homepage-feature-card{padding:24px}.homepage-feature-card h3{font-size:1.1rem}.homepage-feature-card p{font-size:.95rem}}@media (prefers-color-scheme: dark){.homepage-title{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.homepage-tagline{color:var(--color-text)}.homepage-feature-card{background:var(--color-surface);border-color:var(--color-border)}.homepage-feature-card:hover{border-color:var(--color-primary);box-shadow:0 8px 24px #34d39933}.homepage-feature-cta{color:var(--color-primary)}.homepage-feature-card:hover .homepage-feature-cta{color:var(--color-primary-light)}.homepage-feature-card h3{color:var(--color-primary)}.homepage-feature-card p{color:var(--color-text-muted)}.homepage-features-title{color:var(--color-muted)}.homepage-disclaimer{color:var(--color-text-muted);border-top-color:var(--color-border)}}.user-profile-form{background:var(--color-surface);padding:15px;border-radius:8px;margin-bottom:15px;border:1px solid var(--color-border)}@media (min-width: 768px){.user-profile-form{padding:20px}}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;position:relative;gap:15px;flex-wrap:wrap}.header-controls{display:flex;align-items:center;gap:15px}.user-profile-form h3{color:var(--color-text);margin:0;font-size:1.2rem;font-weight:600}.upload-plus-button{width:32px;height:32px;border-radius:50%;border:2px solid var(--color-primary);background:var(--color-surface);color:var(--color-primary);font-size:24px;font-weight:300;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;flex-shrink:0;position:relative}.upload-plus-button:before{content:"Upload your own ranked list";position:absolute;bottom:100%;right:0;margin-bottom:8px;padding:6px 10px;background:var(--color-text);color:#fff;font-size:.85rem;font-weight:400;white-space:nowrap;border-radius:4px;opacity:0;pointer-events:none;transition:opacity 0s;z-index:1000}.upload-plus-button:after{content:"";position:absolute;bottom:100%;right:12px;margin-bottom:2px;border:5px solid transparent;border-top-color:var(--color-text);opacity:0;pointer-events:none;transition:opacity 0s;z-index:1000}.upload-plus-button:hover:before,.upload-plus-button:hover:after{opacity:1;transition:opacity 0s}.upload-plus-button:hover{background:var(--color-primary);color:#fff;transform:scale(1.1)}.upload-plus-button:active{transform:scale(.95)}.form-two-columns{display:grid;grid-template-columns:1fr;gap:20px}.form-column{display:flex;flex-direction:column;gap:15px}.form-field{display:flex;flex-direction:column}.form-field label{color:var(--color-text);font-size:.9rem;font-weight:500;margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.required{color:var(--color-error);font-weight:700}.form-input{width:100%;padding:8px 12px;font-size:.95rem;border:2px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);transition:all .2s ease}.form-input:hover{border-color:var(--color-muted)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2c4a6b1f}.form-input::placeholder{color:var(--color-text-muted)}select.form-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23102542' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:35px}.form-two-columns{grid-template-columns:1fr;gap:20px}@media (min-width: 900px){.form-two-columns{grid-template-columns:1fr 1fr;gap:30px}.form-column{gap:18px}}.autocomplete-container{position:relative}.autocomplete-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border:2px solid var(--color-border);border-top:none;border-radius:0 0 6px 6px;max-height:200px;overflow-y:auto;list-style:none;padding:0;margin:0;z-index:1000;box-shadow:0 4px 12px #2c4a6b1a}.autocomplete-suggestions li{padding:10px 12px;cursor:pointer;font-size:.95rem;color:var(--color-text);border-bottom:1px solid var(--color-border);transition:background-color .15s ease}.autocomplete-suggestions li:last-child{border-bottom:none}.autocomplete-suggestions li:hover,.autocomplete-suggestions li.selected{background-color:var(--color-surface-alt);color:var(--color-primary)}.autocomplete-suggestions li:active{background-color:var(--color-border)}.toggle-label{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;gap:10px}.toggle-text{font-size:.85rem;font-weight:500;color:var(--color-text);white-space:nowrap}.toggle-switch{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:relative;display:inline-block;width:50px;height:26px;background-color:#ccc;border-radius:26px;transition:background-color .3s ease}.toggle-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:transform .3s ease}.toggle-switch:checked+.toggle-slider{background-color:var(--color-primary)}.toggle-switch:checked+.toggle-slider:before{transform:translate(24px)}.toggle-switch:focus+.toggle-slider{box-shadow:0 0 0 2px #2dc2bd33}@media (prefers-color-scheme: dark){.user-profile-form{background:var(--color-surface);border-color:var(--color-border)}.user-profile-form h3,.form-field label{color:var(--color-text)}.form-input{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.form-input:hover{border-color:var(--color-muted)}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f8706040}.form-input::placeholder{color:var(--color-text-muted)}.autocomplete-suggestions{background:var(--color-surface);border-color:var(--color-border);box-shadow:0 4px 12px #0006}.autocomplete-suggestions li{color:var(--color-text);border-bottom-color:var(--color-border)}.autocomplete-suggestions li:hover,.autocomplete-suggestions li.selected{background-color:var(--color-surface-alt);color:var(--color-primary)}.autocomplete-suggestions li:active{background-color:var(--color-border)}.toggle-text{color:var(--color-text)}.upload-plus-button{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.upload-plus-button:before{background:var(--color-surface-alt);color:var(--color-text)}.upload-plus-button:after{border-top-color:var(--color-surface-alt)}select.form-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23CDD7D6' d='M6 9L1 4h10z'/%3E%3C/svg%3E")}}.rank-list-builder{background:#fff;padding:15px;border-radius:8px;margin-bottom:15px;border:1px solid var(--color-border)}.rank-list-builder h3{color:var(--color-text);margin-bottom:12px;font-size:1.1rem;font-weight:600}.warning-message{padding:10px;background:#fff3cd;border-left:3px solid #ffc107;border-radius:6px;color:#856404;margin-bottom:12px;font-size:.9rem}.search-section{margin-bottom:12px}.toggle-search-btn{width:100%;padding:8px;font-size:.9rem;font-weight:600;color:var(--color-primary);background:var(--color-surface-alt);border:1.5px solid var(--color-muted);border-radius:6px;cursor:pointer;transition:all .2s ease;margin-bottom:10px}.search-input-group{position:relative}.search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1.5px solid var(--color-border);border-radius:8px;margin-top:4px;max-height:200px;overflow-y:auto;z-index:10;box-shadow:0 4px 12px #0000001a}.search-result-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--color-border);transition:background .2s ease;font-size:.9rem}.search-result-item:hover{background:var(--color-surface-alt)}.result-name{font-weight:600;color:var(--color-text);margin-bottom:2px;font-size:.9rem}.result-location{font-size:.8rem;color:var(--color-text-muted)}.available-hospitals-section{margin-bottom:12px}.available-hospitals-section h4{color:#555;margin-bottom:8px;font-size:.95rem;font-weight:600}.available-hospitals-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:200px;overflow-y:auto;padding:8px;background:var(--color-surface-alt);border-radius:6px}.available-hospital-item{padding:8px;background:#fff;border:1.5px solid var(--color-border);border-radius:6px;cursor:pointer;transition:all .2s ease;position:relative}.available-hospital-item:hover{border-color:var(--color-muted);transform:translateY(-1px);box-shadow:0 2px 6px #7a82ab33}.available-hospital-item.added{background:#e8f5e9;border-color:#4caf50;cursor:not-allowed}.hospital-name{font-weight:600;color:var(--color-text);margin-bottom:3px;font-size:.85rem}.hospital-location{font-size:.75rem;color:var(--color-text-muted)}.added-badge{position:absolute;top:4px;right:4px;background:#4caf50;color:#fff;padding:2px 6px;border-radius:3px;font-size:.7rem;font-weight:600}.more-hospitals{padding:8px;text-align:center;color:var(--color-text-muted);font-style:italic;font-size:.85rem}.rank-list-section h4{color:#555;margin-bottom:10px;font-size:.95rem;font-weight:600}.empty-rank-list{padding:20px;text-align:center;color:#999;background:var(--color-surface-alt);border-radius:6px;border:2px dashed var(--color-border);font-size:.9rem}.rank-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.rank-list-item{display:flex;align-items:center;padding:10px;background:var(--color-surface-alt);border-radius:6px;border-left:3px solid var(--color-primary-dark);transition:all .2s ease}.rank-list-item:hover{background:#e9ecef;transform:translate(3px)}.rank-number{font-size:1.2rem;font-weight:700;color:var(--color-primary-dark);min-width:35px;text-align:center}.rank-hospital-info{flex:1;margin-left:10px}.rank-hospital-name{font-size:.95rem;font-weight:600;color:var(--color-text);margin-bottom:2px}.rank-hospital-location{font-size:.8rem;color:var(--color-text-muted)}.rank-actions{display:flex;gap:4px}.move-btn,.remove-btn{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s ease;background:#fff;border:1.5px solid var(--color-border)}.move-btn:hover:not(:disabled){background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.move-btn:disabled{opacity:.3;cursor:not-allowed}.remove-btn:hover{background:#dc3545;color:#fff;border-color:#dc3545}@media (max-width: 600px){.available-hospitals-list{grid-template-columns:1fr}.rank-list-item{flex-direction:column;align-items:flex-start}.rank-number{margin-bottom:6px}.rank-hospital-info{margin-left:0;margin-bottom:6px}}@media (prefers-color-scheme: dark){.rank-list-builder{background:var(--color-surface);border-color:#444}.rank-list-builder h3{color:var(--color-text)}.warning-message{background:#3a3510;border-left-color:#ffc107;color:gold}.toggle-search-btn{background:var(--color-surface-alt);color:var(--color-primary);border-color:var(--color-muted)}.search-results{background:#3a3a3a;border-color:#555;box-shadow:0 4px 12px #00000080}.search-result-item{border-bottom-color:#444}.search-result-item:hover{background:#4a4a4a}.result-name{color:var(--color-text)}.result-location{color:#bbb}.available-hospitals-section h4{color:var(--color-text)}.available-hospitals-list{background:#3a3a3a}.available-hospital-item{background:var(--color-surface);border-color:#555}.available-hospital-item.added{background:#1e3a2e;border-color:#4caf50}.hospital-name{color:var(--color-text)}.hospital-location,.more-hospitals{color:#bbb}.rank-list-section h4{color:var(--color-text)}.empty-rank-list{color:#999;background:#3a3a3a;border-color:#555}.rank-list-item{background:#3a3a3a}.rank-list-item:hover{background:#4a4a4a}.rank-hospital-name{color:var(--color-text)}.rank-hospital-location{color:#bbb}.move-btn,.remove-btn{background:var(--color-surface);border-color:#555;color:var(--color-text)}}.rank-list-uploader{background:var(--color-surface);padding:20px;border-radius:8px;margin-bottom:15px;border:1px solid var(--color-border)}.rank-list-uploader h4{color:var(--color-text);margin-bottom:15px;font-size:1.1rem;font-weight:600}.upload-instructions{background:var(--color-surface-alt);padding:15px;border-radius:6px;margin-bottom:15px;border-left:3px solid var(--color-primary)}.upload-instructions p{margin:0 0 10px;color:var(--color-text);font-size:.95rem}.upload-instructions ol{margin:10px 0;padding-left:20px;color:var(--color-text-muted)}.upload-instructions li{margin-bottom:8px;font-size:.9rem;line-height:1.5}.instruction-note{margin-top:10px!important;font-size:.85rem!important;color:var(--color-text-muted)!important;font-style:italic}.text-input-hint{margin-top:8px;font-size:.85rem;color:var(--color-text-muted);font-style:italic}.file-note{margin-top:5px;font-size:.85rem;color:var(--color-text-muted);font-style:italic}.upload-section{margin-top:20px;margin-bottom:15px;padding-top:15px;border-top:2px dashed var(--color-border)}.upload-section-label{margin-bottom:10px;color:var(--color-text);font-size:.95rem}.upload-hint{margin-top:10px;font-size:.85rem;color:var(--color-text-muted);font-style:italic}.file-upload-label{display:block;cursor:pointer}.file-input{display:none}.file-upload-button{display:inline-block;padding:10px 20px;background:var(--color-surface-alt);color:var(--color-primary);border:2px solid var(--color-muted);border-radius:6px;font-weight:600;transition:all .2s ease}.file-upload-button:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.file-info{margin-top:15px;padding:12px;background:#e8f5e9;border-left:3px solid #4caf50;border-radius:6px}.file-name{display:block;color:#2e7d32;font-size:.95rem;margin-bottom:8px}.text-input-section{margin-bottom:15px}.text-input-section label{display:block;color:var(--color-text);font-weight:500;margin-bottom:8px;font-size:.95rem}.text-input-area{width:100%;padding:12px;border:2px solid var(--color-border);border-radius:6px;font-size:.95rem;font-family:inherit;resize:vertical;transition:border-color .2s ease}.text-input-area:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2dc2bd1a}.upload-error{padding:10px;background:#f8d7da;border-left:3px solid #dc3545;border-radius:6px;color:#721c24;margin-bottom:15px;font-size:.9rem}.upload-warning{padding:10px;background:#fff3cd;border-left:3px solid #ffc107;border-radius:6px;color:#856404;margin-top:15px;font-size:.9rem}.parsed-hospitals{margin-top:15px}.parsed-hospitals h5{color:var(--color-text);margin-bottom:10px;font-size:1rem;font-weight:600}.parsed-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.parsed-hospital-item{display:flex;align-items:center;padding:10px;background:var(--color-surface-alt);border-radius:6px;border-left:3px solid var(--color-primary-dark);gap:10px}.parsed-rank{font-weight:700;color:var(--color-primary-dark);min-width:40px}.parsed-name{flex:1;font-weight:600;color:var(--color-text)}.parsed-location{color:var(--color-text-muted);font-size:.9rem}@media (prefers-color-scheme: dark){.rank-list-uploader{background:var(--color-surface);border-color:var(--color-border)}.rank-list-uploader h4{color:var(--color-text)}.upload-instructions{background:var(--color-surface-alt)}.upload-instructions p{color:var(--color-text)}.upload-instructions ol{color:var(--color-text-muted)}.instruction-note,.text-input-hint,.file-note,.upload-hint{color:var(--color-text-muted)!important}.upload-section{border-top-color:var(--color-border)}.upload-section-label{color:var(--color-text)}.file-upload-button{background:var(--color-surface-alt);color:var(--color-primary);border-color:var(--color-muted)}.file-info{background:var(--color-surface-alt);border-left-color:var(--color-success)}.file-name{color:var(--color-success)}.text-input-section label{color:var(--color-text)}.text-input-area{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.upload-error{background:var(--color-surface-alt);border-left-color:var(--color-error);color:var(--color-error)}.upload-warning{background:var(--color-warning-bg);border-left-color:var(--color-warning);color:var(--color-warning)}.parsed-hospitals h5{color:var(--color-text)}.parsed-hospital-item{background:var(--color-surface-alt)}.parsed-name{color:var(--color-text)}.parsed-location{color:var(--color-text-muted)}}.match-results{background:#fff;padding:20px;border-radius:10px;margin-top:20px;box-shadow:0 3px 10px #0000001a;border:1px solid var(--color-border)}.match-results h2{color:var(--color-text);margin-bottom:15px;font-size:1.5rem;text-align:center}.match-status{padding:20px;border-radius:10px;margin-bottom:20px;text-align:center}.match-status.matched{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:3px solid #28a745}.match-status.not-matched{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:3px solid #dc3545}.match-icon{font-size:3rem;font-weight:700;margin-bottom:10px}.match-status.matched .match-icon{color:#28a745}.match-status.not-matched .match-icon{color:#dc3545}.match-title{font-size:2rem;font-weight:700;margin-bottom:8px}.match-status.matched .match-title{color:#155724}.match-status.not-matched .match-title{color:#721c24}.match-message{font-size:1rem;margin-top:8px}.match-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:20px}.match-detail-card{padding:15px;background:var(--color-surface-alt);border-radius:8px;border-left:3px solid var(--color-primary-dark)}.match-detail-card h3{color:var(--color-text);margin-bottom:15px;font-size:1.2rem}.hospital-match{text-align:center}.hospital-name-large{font-size:1.3rem;font-weight:700;color:var(--color-text);margin-bottom:8px}.hospital-location-large{font-size:1rem;color:var(--color-text-muted);margin-bottom:15px}.match-stats{display:flex;flex-direction:column;gap:10px}.stat-item{display:flex;justify-content:space-between;padding:8px;background:#fff;border-radius:6px}.stat-label{color:var(--color-text-muted);font-weight:500}.stat-value{color:var(--color-text);font-weight:700;font-size:1.1rem}.combined-probability{grid-column:1 / -1;padding:25px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:10px;text-align:center;color:#fff}.prob-label{font-size:1.1rem;margin-bottom:10px;opacity:.9}.prob-value{font-size:3rem;font-weight:700}.top-pairs-section{margin-top:30px}.top-pairs-section h3{color:var(--color-text);margin-bottom:20px;font-size:1.5rem}.pairs-list{display:flex;flex-direction:column;gap:15px}.pair-item{display:flex;align-items:center;padding:20px;background:var(--color-surface-alt);border-radius:10px;border-left:4px solid var(--color-muted);transition:all .3s ease}.pair-item.matched-pair{background:#d4edda;border-color:#28a745}.pair-item:hover{transform:translate(5px);box-shadow:0 4px 8px #0000001a}.pair-rank{font-size:1.5rem;font-weight:700;color:var(--color-primary-dark);min-width:60px;text-align:center}.pair-hospitals{flex:1;display:flex;align-items:center;gap:20px;margin-left:20px}.pair-hospital{flex:1}.pair-hospital-name{font-weight:600;color:var(--color-text);margin-bottom:5px}.pair-hospital-location{font-size:.9rem;color:var(--color-text-muted);margin-bottom:5px}.pair-rank-info{font-size:.85rem;color:var(--color-primary-dark);font-weight:600}.pair-connector{font-size:1.5rem;font-weight:700;color:var(--color-primary-dark)}.pair-probability{font-size:1.5rem;font-weight:700;color:var(--color-primary-dark);min-width:80px;text-align:right}.best-pair-section{margin-top:30px;padding:25px;background:#fff3cd;border-left:4px solid #ffc107;border-radius:10px}.best-pair-section h3{color:#856404;margin-bottom:20px;font-size:1.5rem}.best-pair-details{display:flex;align-items:center;gap:20px;margin-bottom:20px}.best-pair-hospital{flex:1;text-align:center;padding:15px;background:#fff;border-radius:8px}.best-pair-connector{font-size:2rem;font-weight:700;color:#856404}.best-pair-probability{text-align:center;font-size:1.3rem;font-weight:700;color:#856404}@media (max-width: 768px){.match-details{grid-template-columns:1fr}.pair-item{flex-direction:column;align-items:flex-start}.pair-rank{margin-bottom:10px}.pair-hospitals{margin-left:0;flex-direction:column;width:100%}.pair-connector{transform:rotate(90deg)}.pair-probability{align-self:flex-end;margin-top:10px}}@media (prefers-color-scheme: dark){.match-results{background:var(--color-surface);border-color:#444}.match-results h2{color:var(--color-text)}.match-detail-card{background:#3a3a3a}.match-detail-card h3,.hospital-name-large{color:var(--color-text)}.hospital-location-large{color:#bbb}.stat-item{background:var(--color-surface)}.stat-label{color:#bbb}.stat-value,.top-pairs-section h3{color:var(--color-text)}.pair-item{background:#3a3a3a;border-left-color:var(--color-muted)}.pair-item.matched-pair{background:#1e3a2e}.pair-hospital-name{color:var(--color-text)}.pair-hospital-location{color:#bbb}.best-pair-section{background:#3a3510;border-left-color:#ffc107}.best-pair-section h3{color:gold}.best-pair-hospital{background:var(--color-surface)}.best-pair-connector,.best-pair-probability{color:gold}.preferred-hospital-section{background:var(--color-surface)}.preferred-hospital-section h3{color:var(--color-text)}.preferred-hospital-same,.preferred-hospital-single,.preferred-hospital-different{background:#3a3a3a}.preferred-hospital-name,.hospital-name-medium{color:var(--color-text)}.preferred-hospital-location,.hospital-location-medium,.preferred-hospital-note,.preferred-hospital-probabilities .prob-label{color:#bbb}.preferred-hospital-probabilities .prob-value{color:var(--color-primary)}.preferred-hospital-combined .prob-label{color:#bbb}.preferred-hospital-combined .prob-value{color:var(--color-primary)}.preferred-hospital-message{background:var(--color-surface)}.preferred-hospital-message h3{color:var(--color-text)}.preferred-hospital-message p{color:#bbb}}.app{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:10px;position:relative}@media (min-width: 768px){.app{padding:40px 20px}}.tab-dropdown-mobile{display:block;margin-bottom:20px}.tab-select{width:100%;padding:12px 40px 12px 16px;font-size:1rem;font-weight:600;color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-primary);border-radius:8px;cursor:pointer;min-height:44px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232c4a6b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.tab-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2c4a6b2e}@media (min-width: 768px){.tab-dropdown-mobile{display:none}}.tab-navigation{display:none;justify-content:center;gap:5px;margin-bottom:20px;border-bottom:2px solid var(--color-border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}@media (min-width: 768px){.tab-navigation{display:flex}}.tab-navigation::-webkit-scrollbar{display:none}.tab-btn{padding:10px 16px;font-size:.9rem;font-weight:600;color:var(--color-text-muted);background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all .3s ease;margin-bottom:-2px;white-space:nowrap;min-height:44px;flex-shrink:0}@media (min-width: 768px){.tab-navigation{gap:10px;margin-bottom:30px}.tab-btn{padding:12px 24px;font-size:1rem}}.tab-btn:hover{color:var(--color-primary);background:var(--color-surface-alt)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface-alt)}.nrmp-match-container{margin-top:20px}.nrmp-intro{background:var(--color-surface);padding:15px;border-radius:8px;margin-bottom:15px;border-left:3px solid var(--color-muted)}.nrmp-intro h2{color:var(--color-text);margin-bottom:8px;font-size:1.4rem}.nrmp-intro p{color:var(--color-text-muted);line-height:1.5;font-size:.95rem;margin:0 0 10px}.intro-note{color:var(--color-text)!important;background:var(--color-warning-bg);padding:10px;border-radius:6px;border-left:3px solid var(--color-warning);font-size:.9rem;margin-top:10px;font-weight:500}.users-section{display:grid;grid-template-columns:1fr;gap:15px;margin-bottom:20px}.user-section{display:flex;flex-direction:column;gap:10px}@media (min-width: 900px){.users-section{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}.container{background:var(--color-surface);border-radius:15px;box-shadow:0 10px 30px #2c4a6b1f;max-width:1200px;width:100%;padding:15px;animation:slideUp .5s ease-out}@media (min-width: 768px){.container{border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:25px}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.header{text-align:center;margin-bottom:25px;display:flex;flex-direction:column;align-items:center}.header-home-link{align-self:flex-start;margin-bottom:12px;padding:6px 12px;font-size:.9rem;font-weight:600;color:var(--color-primary);background:transparent;border:none;cursor:pointer;border-radius:6px;transition:color .2s ease,background .2s ease}.header-home-link:hover{color:var(--color-primary-dark);background:var(--color-surface-alt)}.header h1{color:var(--color-text);font-size:1.75rem;margin-bottom:8px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.subtitle{color:var(--color-text-muted);font-size:.9rem;line-height:1.5;margin-bottom:10px}@media (min-width: 768px){.header{margin-bottom:40px}.header h1{font-size:2.5rem;margin-bottom:10px}.subtitle{font-size:1rem;line-height:1.6;margin-bottom:12px}}.subtitle-note{color:var(--color-text-muted);font-size:.9rem;line-height:1.5;font-style:italic;margin-top:8px;padding-top:12px;border-top:1px solid var(--color-border)}.form-container{margin-bottom:40px}.input-group{margin-bottom:25px}.input-group label{display:block;margin-bottom:8px;color:var(--color-text);font-weight:600;font-size:1rem}.select-input{width:100%;padding:12px 14px;font-size:16px;border:2px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);transition:all .3s ease;min-height:44px}@media (min-width: 768px){.select-input{padding:12px 16px;border-radius:10px;font-size:1rem}}.select-input[type=text]{cursor:text}.select-input:not([type=text]){cursor:pointer}.select-input:hover{border-color:var(--color-muted)}.select-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2c4a6b2e}.select-input::placeholder{color:var(--color-text-muted)}.calculate-btn{width:100%;padding:14px;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;margin-top:10px;min-height:44px}@media (min-width: 768px){.calculate-btn{padding:16px;font-size:1.1rem;border-radius:10px}}.calculate-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #2c4a6b1f}.calculate-btn:active{transform:translateY(0)}.result-container{margin-top:40px;padding:30px;background:linear-gradient(135deg,var(--color-surface-alt) 0%,var(--color-border) 100%);border-radius:15px;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.probability-display{text-align:center;margin-bottom:25px;padding:30px;background:var(--color-surface);border-radius:15px;box-shadow:0 5px 15px #0000001a}.probability-value{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px}@media (min-width: 768px){.probability-value{font-size:4rem}}.probability-label{color:var(--color-text-muted);font-size:1.1rem;font-weight:500}.result-message{text-align:center;font-size:1.1rem;color:var(--color-text-muted);margin-bottom:30px;padding:15px;background:var(--color-surface);border-radius:10px;border-left:4px solid var(--color-muted)}.details-container{background:var(--color-surface);padding:25px;border-radius:10px;margin-bottom:20px}.details-container h3{color:var(--color-text);margin-bottom:20px;font-size:1.3rem}.details-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 600px){.details-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}}.detail-item{display:flex;flex-direction:column;padding:15px;background:var(--color-surface-alt);border-radius:8px}.detail-label{font-size:.9rem;color:var(--color-text-muted);margin-bottom:5px}.detail-value{font-size:1.3rem;font-weight:600;color:var(--color-text)}.disclaimer{padding:15px;background:var(--color-warning-bg);border-left:4px solid var(--color-warning);border-radius:8px}.disclaimer p{margin:0;color:var(--color-text-muted);font-size:.9rem;line-height:1.6}.top-hospitals-container{background:var(--color-surface);padding:25px;border-radius:10px;margin-bottom:20px;border:1px solid var(--color-border)}.top-hospitals-container h3{color:#1a1a1a;margin-bottom:20px;font-size:1.3rem}.hospitals-list{display:flex;flex-direction:column;gap:12px}.hospital-item{display:flex;align-items:center;padding:15px;background:var(--color-surface-alt);border-radius:10px;border-left:4px solid var(--color-primary);transition:all .3s ease}.hospital-item:hover{background:var(--color-surface-alt);transform:translate(5px)}.top-hospitals-container .hospital-rank{font-size:1.5rem;font-weight:700;color:#1a1a1a;min-width:50px;text-align:center}.hospital-info{flex:1;margin-left:15px}.top-hospitals-container .hospital-name{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin-bottom:4px}.top-hospitals-container .hospital-location{font-size:.9rem;color:#4a4a4a}.top-hospitals-container .hospital-probability{font-size:1.5rem;font-weight:700;color:#1a1a1a;min-width:70px;text-align:right}.hospital-name{font-size:1.1rem;font-weight:600;color:var(--color-text);margin-bottom:4px}.hospital-location{font-size:.9rem;color:var(--color-text-muted)}.hospital-probability{font-size:1.5rem;font-weight:700;color:var(--color-primary-dark);min-width:70px;text-align:right}.hospital-search-container{background:var(--color-surface);padding:25px;border-radius:10px;margin-bottom:20px}.toggle-search-btn{width:100%;padding:12px;font-size:1rem;font-weight:600;color:var(--color-primary);background:var(--color-border);border:2px solid var(--color-primary-dark);border-radius:10px;cursor:pointer;transition:all .3s ease;margin-bottom:20px}.toggle-search-btn:hover{background:var(--color-primary);color:#fff}.hospital-search-form{margin-top:20px;position:relative}.hospital-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border:2px solid var(--color-border);border-radius:10px;margin-top:5px;max-height:300px;overflow-y:auto;z-index:10;box-shadow:0 5px 15px #0000001a}.hospital-suggestion-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--color-border);transition:background .2s ease}.hospital-suggestion-item:hover{background:var(--color-surface-alt)}.hospital-suggestion-item:last-child{border-bottom:none}.hospital-suggestion-name{font-weight:600;color:var(--color-text);margin-bottom:4px}.hospital-suggestion-location{font-size:.85rem;color:var(--color-text-muted)}.search-hospital-btn{width:100%;padding:12px;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;margin-top:10px}.search-hospital-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #2c4a6b1f}.hospital-result-container{margin-top:20px;padding:20px;background:linear-gradient(135deg,var(--color-surface-alt) 0%,var(--color-surface) 100%);border-radius:10px;border:2px solid var(--color-primary-dark)}.hospital-probability-display{text-align:center;margin-bottom:15px}.hospital-probability-value{font-size:3rem;font-weight:700;color:var(--color-primary-dark);margin-bottom:5px}.hospital-probability-label{color:var(--color-text-muted);font-size:1rem;font-weight:500}.hospital-result-message{text-align:center;font-size:1rem;color:var(--color-text-muted);margin-bottom:15px;padding:10px;background:var(--color-surface);border-radius:8px}.hospital-details{text-align:center;font-size:.95rem;color:var(--color-text-muted)}.container{padding:15px}.header h1{font-size:1.75rem}.hospital-item{flex-direction:column;align-items:flex-start;padding:12px}.hospital-rank{margin-bottom:8px}.hospital-info{margin-left:0;margin-bottom:8px}.hospital-probability{align-self:flex-end;margin-top:8px}.hospital-probability-value{font-size:2rem}.probability-display{padding:20px 15px}@media (min-width: 600px){.container{padding:20px}.header h1{font-size:2rem}.hospital-item{flex-direction:row;align-items:center;padding:15px}.hospital-rank{margin-bottom:0}.hospital-info{margin-left:15px;margin-bottom:0}.hospital-probability{margin-top:0}.hospital-probability-value{font-size:2.5rem}.probability-display{padding:30px}}@media (min-width: 768px){.container{padding:25px}.header h1{font-size:2.5rem}}html[data-theme=light] .top-hospitals-container{background:var(--color-surface);border:1px solid var(--color-border)}html[data-theme=light] .top-hospitals-container h3,html[data-theme=light] .top-hospitals-container .hospital-name,html[data-theme=light] .top-hospitals-container .hospital-rank,html[data-theme=light] .top-hospitals-container .hospital-probability{color:#1a1a1a}html[data-theme=light] .top-hospitals-container .hospital-location{color:#4a4a4a}html[data-theme=light] .top-hospitals-container .hospital-item{background:var(--color-surface-alt);border-left-color:var(--color-primary)}@media (prefers-color-scheme: dark){.app{background:var(--color-background)}.container{background:var(--color-surface);box-shadow:0 10px 30px #00000080}.tab-select{color:var(--color-text);background:var(--color-surface);border-color:var(--color-primary)}.tab-navigation{border-bottom-color:var(--color-border)}.tab-btn{color:var(--color-text-muted)}.tab-btn:hover,.tab-btn.active{color:var(--color-primary);background:var(--color-surface-alt)}.nrmp-intro{background:var(--color-surface)}.nrmp-intro h2{color:var(--color-text)}.nrmp-intro p{color:var(--color-text-muted)}.header h1{color:var(--color-text)}.header-home-link{color:var(--color-primary)}.header-home-link:hover{color:var(--color-primary-light);background:var(--color-surface-alt)}.subtitle,.subtitle-note{color:var(--color-text-muted)}.subtitle-note{border-top-color:var(--color-border)}.input-group label{color:var(--color-text)}.select-input{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.select-input:hover{border-color:var(--color-muted)}.result-container{background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-background) 100%)}.probability-display{background:var(--color-surface);box-shadow:0 5px 15px #0000004d}.probability-label{color:var(--color-text-muted)}.result-message{color:var(--color-text-muted);background:var(--color-surface);border-left-color:var(--color-muted)}.details-container{background:var(--color-surface)}.details-container h3{color:var(--color-text)}.detail-item{background:var(--color-surface-alt)}.detail-label{color:var(--color-text-muted)}.detail-value{color:var(--color-text)}.disclaimer{background:var(--color-warning-bg);border-left-color:var(--color-warning)}.disclaimer p{color:var(--color-warning)}.top-hospitals-container{background:var(--color-background)}.top-hospitals-container h3,.top-hospitals-container .hospital-name,.top-hospitals-container .hospital-rank,.top-hospitals-container .hospital-probability{color:#fff}.top-hospitals-container .hospital-location{color:#ffffffd9}.hospital-item{background:#ffffff14;border-color:var(--color-accent)}.hospital-name{color:var(--color-text)}.hospital-location{color:var(--color-text-muted)}.hospital-probability{color:var(--color-primary)}.hospital-search-container{background:var(--color-surface)}.hospital-search-container h3{color:var(--color-border)}.hospital-suggestion-item{background:var(--color-surface);border-color:var(--color-border)}.hospital-suggestion-item:hover{background:var(--color-surface-alt)}.hospital-suggestion-name{color:var(--color-border)}.hospital-suggestion-location{color:var(--color-text-muted)}.hospital-result-container{background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-background) 100%);border-color:var(--color-primary)}.hospital-probability-label{color:var(--color-text-muted)}.hospital-result-message{color:var(--color-text-muted);background:var(--color-surface)}.hospital-details{color:var(--color-text-muted)}.preferred-hospital-container{background:var(--color-surface)}.preferred-hospital-container h3{color:var(--color-border)}.preferred-hospital-result{background:var(--color-surface-alt)}.preferred-hospital-name{color:var(--color-border)}.preferred-hospital-location,.preferred-hospital-probability .prob-label{color:var(--color-text-muted)}.preferred-hospital-probability .prob-value{color:var(--color-primary)}}:root{--color-primary: #2c4a6b;--color-primary-light: #e07a6b;--color-primary-dark: #1a3550;--color-accent: #e07a6b;--color-muted: #9c8b7a;--color-muted-light: #d5d9d8;--color-background: #f2f0ed;--color-surface: #fdfcfa;--color-surface-alt: #ebe8e4;--color-border: #d4cfc8;--color-text: #3d4f5c;--color-text-muted: #6b7c89;--color-success: #2c4a6b;--color-warning: #9c8b7a;--color-warning-bg: #f8f5f1;--color-error: #c53030}@media (prefers-color-scheme: dark){:root{--color-background: #102542;--color-surface: #1a3560;--color-surface-alt: #244670;--color-border: #3d5a80;--color-text: #FFFFFF;--color-text-muted: #CDD7D6;--color-primary: #F87060;--color-primary-light: #ff8a7d;--color-primary-dark: #e65a4d;--color-accent: #F87060;--color-muted: #CDD7D6;--color-muted-light: #e5e8e7;--color-warning-bg: #2a3d52;--color-warning: #F87060}}html[data-theme=light]{--color-primary: #2c4a6b;--color-primary-light: #e07a6b;--color-primary-dark: #1a3550;--color-accent: #e07a6b;--color-muted: #9c8b7a;--color-muted-light: #d5d9d8;--color-background: #f2f0ed;--color-surface: #fdfcfa;--color-surface-alt: #ebe8e4;--color-border: #d4cfc8;--color-text: #3d4f5c;--color-text-muted: #6b7c89;--color-success: #2c4a6b;--color-warning: #9c8b7a;--color-warning-bg: #f8f5f1;--color-error: #c53030}html[data-theme=dark]{--color-background: #102542;--color-surface: #1a3560;--color-surface-alt: #244670;--color-border: #3d5a80;--color-text: #FFFFFF;--color-text-muted: #CDD7D6;--color-primary: #F87060;--color-primary-light: #ff8a7d;--color-primary-dark: #e65a4d;--color-accent: #F87060;--color-muted: #CDD7D6;--color-muted-light: #e5e8e7;--color-warning-bg: #2a3d52;--color-warning: #F87060}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-background);min-height:100vh;padding:10px;color:var(--color-text)}@media (min-width: 768px){body{padding:20px}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
