body{margin:0;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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{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-color:#f8fafc;color:#334155;line-height:1.6}.App{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#1b2951;color:#fff;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px -1px #0000001a}.logo-section{display:flex;align-items:center;gap:1rem}.logo-section a{display:flex;align-items:center}.logo-section a img{display:block}.header-logo{width:64px;height:64px;object-fit:contain}.header-text h1{font-size:2rem;font-weight:700;margin-bottom:0;line-height:1.2}.header-text p{font-size:1rem;opacity:.9;margin-top:.125rem;line-height:1.2}.reset-button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.875rem;transition:all .2s}.reset-button:hover{background:#ffffff4d;transform:translateY(-1px)}.app-main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.step-indicator{display:flex;justify-content:center;margin-bottom:3rem;position:relative}.step-indicator:before{content:"";position:absolute;top:1.5rem;left:2rem;right:2rem;height:2px;background:#e2e8f0;z-index:1}.step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;background:#fff;padding:0 1rem}.step-number{width:3rem;height:3rem;border-radius:50%;background:#e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;font-weight:600;margin-bottom:.5rem;transition:all .3s}.step.active .step-number{background:#1b2951;color:#fff;transform:scale(1.1)}.step.completed .step-number{background:#10b981;color:#fff}.step-label{font-size:.875rem;font-weight:500;color:#64748b;text-align:center;white-space:normal;word-wrap:break-word;word-break:normal;line-height:1.3;max-width:3.5rem;margin:0 auto;display:block}.step:nth-child(4) .step-label{max-width:4rem;word-break:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none}.step:nth-child(5) .step-label{max-width:3.2rem;word-break:normal;overflow-wrap:break-word}.step.active .step-label{color:#1b2951;font-weight:600}.step.completed .step-label{color:#10b981}.content-area{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden}.file-upload-container{padding:3rem 2rem}.upload-header{text-align:center;margin-bottom:2rem}.upload-header h2{font-size:1.875rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.upload-header p{color:#64748b;font-size:1.125rem}.upload-area{border:2px dashed #cbd5e1;border-radius:1rem;padding:3rem 2rem;text-align:center;transition:all .3s;cursor:pointer;position:relative}.upload-area:hover,.upload-area.drag-active{border-color:#1b2951;background:#f8fafc}.upload-area.uploading{border-color:#10b981;background:#f0fdf4}.upload-content{pointer-events:none}.upload-icon{color:#94a3b8;margin-bottom:1rem}.upload-area:hover .upload-icon,.upload-area.drag-active .upload-icon{color:#1b2951}.upload-area h3{font-size:1.5rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.upload-area p{color:#64748b;margin-bottom:1rem}.file-types{display:flex;justify-content:center;gap:.5rem;margin-bottom:1rem}.file-type{background:#e2e8f0;color:#475569;padding:.25rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500}.file-size-limit{font-size:.875rem;color:#94a3b8}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;pointer-events:all}.upload-status{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:2rem;height:2rem;border:3px solid #e2e8f0;border-top:3px solid #1b2951;border-radius:50%;animation:spin 1s linear infinite}.spinner.small{width:1rem;height:1rem;border-width:2px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:1rem;border-radius:.5rem;margin-top:1rem}.manual-entry-option{margin-top:2rem;text-align:center}.manual-entry-divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0 1rem;color:#cbd5e1;font-size:.8125rem}.manual-entry-divider:before,.manual-entry-divider:after{content:"";flex:1;border-bottom:1px solid #e2e8f0}.manual-entry-divider span{padding:0 1rem;background:#fff}.manual-entry-button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:transparent;border:1px solid #cbd5e1;border-radius:.5rem;color:#64748b;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.manual-entry-button:hover{border-color:#94a3b8;color:#475569;background:#f8fafc}.manual-entry-button:active{background:#f1f5f9}.manual-entry-button svg{width:18px;height:18px;opacity:.7}.manual-entry-hint{margin-top:.5rem;color:#94a3b8;font-size:.8125rem;text-align:center;max-width:400px;margin-left:auto;margin-right:auto;line-height:1.5}@media(max-width:768px){.manual-entry-hint{max-width:100%;padding:0 1rem}.manual-entry-button{width:100%;justify-content:center}}.extraction-container,.review-container,.suggestion-container{padding:2rem}.extraction-header,.review-header,.suggestion-header{text-align:center;margin-bottom:2rem}.extraction-header h2,.review-header h2,.suggestion-header h2{font-size:1.875rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.extraction-header p,.review-header p,.suggestion-header p{color:#64748b;font-size:1.125rem}.llm-fallback-notice{background:#f0f9ff;border:1px solid #bae6fd;color:#0369a1;padding:.75rem 1rem;border-radius:.5rem;display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.875rem}.patient-demographics{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem}.patient-demographics h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:1rem;text-align:center}.demographics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.demographic-item{display:flex;flex-direction:column;gap:.5rem}.demographic-item label{font-size:.875rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.demographic-item .value{font-size:1.125rem;font-weight:600;color:#1e293b}.eye-data{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.eye-section{background:#f8fafc;border-radius:.75rem;padding:1.5rem}.eye-section h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.toric-recommendation-label{font-size:.875rem;font-weight:500;padding:.5rem .75rem;border-radius:.5rem;display:inline-flex;flex-direction:column;align-items:center;gap:.25rem;margin-top:.25rem}.recommendation-text{font-weight:500}.corneal-astigmatism-inline{font-size:.8125rem;font-weight:400;margin-top:.125rem;text-align:center}.corneal-astigmatism-header{font-size:.875rem;color:#475569;margin-top:.5rem;margin-bottom:0}.measurements-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.measurement{display:flex;flex-direction:column;gap:.25rem}.measurement label{font-size:.875rem;font-weight:500;color:#475569}.measurement .value{font-size:1rem;font-weight:600;color:#1e293b;padding:.5rem;background:#fff;border-radius:.375rem;border:1px solid #e2e8f0}.measurement .value.confidence-high{border-color:#10b981;background:#f0fdf4}.measurement .value.confidence-medium{border-color:#f59e0b;background:#fffbeb}.measurement .value.confidence-low{border-color:#ef4444;background:#fef2f2}.confidence{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.confidence-high{color:#10b981}.confidence-medium{color:#f59e0b}.confidence-low{color:#ef4444}.measurement input{font-size:1rem;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;background:#fff;transition:border-color .2s}.measurement input:focus{outline:none;border-color:#1b2951;box-shadow:0 0 0 3px #1b29511a}.database-note{margin-top:.5rem;padding:.5rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:.375rem;text-align:center}.database-note small{color:#0369a1;font-size:.75rem;font-weight:500}.demographics-section,.biometry-section,.keratometry-section{background:#f0f9ff;border:1px solid #bae6fd;border-radius:.75rem;padding:1.5rem;margin:1.5rem 0}.demographics-section h3,.biometry-section h3,.keratometry-section h3{color:#0369a1;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.demographics-section p,.biometry-section p,.keratometry-section p{color:#64748b;font-size:.875rem;margin-bottom:1rem}.device-selector-group{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem}.device-selector{display:flex;flex-direction:column;gap:.5rem}.device-selector label{font-size:.875rem;font-weight:600;color:#475569}.device-select,.device-display,.device-input{padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.9375rem;background:#fff;transition:border-color .2s}.device-select:focus,.device-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.device-display{background:#f8fafc;color:#64748b;cursor:not-allowed}@media(max-width:768px){.device-selector-group{grid-template-columns:1fr;gap:1rem}}.demographics-inputs{display:flex;gap:1rem;flex-wrap:wrap}.demographics-input{display:flex;flex-direction:column;min-width:200px}.demographics-input label{font-weight:600;color:#374151;margin-bottom:.5rem}.gender-select{padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.9375rem;background:#fff;transition:border-color .2s;width:100%}.gender-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.measurement input[type=text],.measurement input[type=number],.measurement select{padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.9375rem;background:#fff;transition:border-color .2s;width:100%}.measurement input[type=text]:focus,.measurement input[type=number]:focus,.measurement select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.extracted-badge{background:#dcfce7;color:#166534;font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:4px;margin-left:.5rem}.name-conflict-warning{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;margin-bottom:1.5rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:.75rem;color:#92400e}.name-conflict-warning svg{flex-shrink:0;margin-top:.125rem;color:#f59e0b}.name-conflict-warning p{margin:0;font-size:.9375rem;line-height:1.5;font-weight:500}.assumed-sia-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;margin:1.5rem 0}.assumed-sia-section h3{color:#1b2951;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.assumed-sia-section p{color:#64748b;font-size:.875rem;margin-bottom:1rem}.sia-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sia-input{display:flex;flex-direction:column}.sia-input label{font-weight:500;color:#374151;margin-bottom:.5rem;font-size:.875rem}.sia-magnitude-axis{display:flex;align-items:center;gap:.5rem}.sia-magnitude-axis input{padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;background:#fff;transition:border-color .2s,box-shadow .2s;text-align:center;flex:1}.sia-magnitude-axis input:focus{outline:none;border-color:#1b2951;box-shadow:0 0 0 3px #1b29511a}.sia-label{color:#6b7280;font-size:.875rem;font-weight:500;white-space:nowrap}.sia-input input:not(.sia-magnitude-axis input){padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;background:#fff;transition:border-color .2s,box-shadow .2s}.sia-input input:not(.sia-magnitude-axis input):focus{outline:none;border-color:#1b2951;box-shadow:0 0 0 3px #1b29511a}.validation-warnings{background:#fffbeb;border:1px solid #fed7aa;border-radius:.5rem;padding:1rem;margin-bottom:1rem}.validation-warnings h4{color:#92400e;font-size:1rem;font-weight:600;margin-bottom:.5rem}.validation-warnings ul{list-style:none}.validation-warnings li{display:flex;align-items:center;gap:.5rem;color:#92400e;font-size:.875rem;margin-bottom:.25rem}.continue-button,.submit-button,.retry-button,.new-analysis-button{background:#1b2951;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;margin:0 auto}.continue-button:hover,.submit-button:hover,.retry-button:hover,.new-analysis-button:hover{background:#0f1a3a;transform:translateY(-1px)}.suggestion-actions{display:flex;justify-content:center;margin-top:2rem}.proceed-button{background:#10b981;color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.proceed-button:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.submit-button:disabled{background:#94a3b8;cursor:not-allowed;transform:none}.eye-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.eye-suggestion{background:#f8fafc;border-radius:.75rem;padding:1.5rem}.eye-suggestion h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:1rem;text-align:center}.measurement-summary{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:1.5rem}.measurement-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#fff;border-radius:.375rem;border:1px solid #e2e8f0}.measurement-item label{font-size:.875rem;font-weight:500;color:#475569}.measurement-item .value{font-size:1rem;font-weight:600;color:#1e293b}.recommendation{border-radius:.75rem;padding:1.5rem;margin-bottom:1rem}.recommendation.toric{background:#f0fdf4;border:1px solid #bbf7d0}.recommendation.non-toric{background:#fef3c7;border:1px solid #fde68a}.recommendation-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.recommendation-icon{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.recommendation.toric .recommendation-icon{background:#10b981;color:#fff}.recommendation.non-toric .recommendation-icon{background:#f59e0b;color:#fff}.recommendation h4{font-size:1.125rem;font-weight:600;color:#1e293b}.recommendation.toric h4{color:#065f46}.recommendation.non-toric h4{color:#92400e}.rationale{font-size:.875rem;color:#64748b;line-height:1.5}.iol-families{margin-top:1rem}.iol-families h5{font-size:1rem;font-weight:600;color:#1e293b;margin-bottom:.75rem}.families-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.family-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem}.family-card h6{font-size:.875rem;font-weight:600;color:#1e293b;margin-bottom:.25rem}.family-card p{font-size:.75rem;color:#64748b;margin-bottom:.5rem}.powers{font-size:.75rem;color:#475569}.summary-section{background:#f8fafc;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem}.summary-section h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:1rem;text-align:center}.summary-content{display:flex;flex-direction:column;gap:.75rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fff;border-radius:.5rem;border:1px solid #e2e8f0}.summary-item .label{font-size:1rem;font-weight:500;color:#475569}.summary-item .recommendation{padding:.25rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:600}.summary-item .recommendation.toric{background:#dcfce7;color:#166534}.summary-item .recommendation.non-toric{background:#fef3c7;color:#92400e}.corner-logo{position:fixed;bottom:1rem;right:1rem;opacity:.3;transition:opacity .3s;z-index:1000}.corner-logo a{display:inline-flex}.corner-logo img{width:48px;height:48px;opacity:.75;transition:opacity .2s}.corner-logo:hover img{opacity:1}.corner-logo:hover{opacity:.6}.multiple-files-note{font-size:.875rem;color:#10b981;font-weight:500;margin-top:.5rem}@media(max-width:768px){.demographics-grid{grid-template-columns:1fr;gap:1rem}.patient-demographics{padding:1rem}.app-header{padding:1rem;flex-direction:column;gap:1rem;text-align:center}.logo-section{flex-direction:column;gap:.5rem}.header-logo{width:56px;height:56px}.app-main{padding:1rem}.eye-data,.eye-suggestions,.demographics-grid,.measurements-grid{grid-template-columns:1fr}.step-indicator{flex-wrap:wrap;gap:1rem}.step-indicator:before{display:none}}.show-all-section{text-align:center;padding:1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;margin-top:1rem}.family-selection-controls{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}@media(min-width:768px){.family-selection-controls{flex-direction:row;align-items:center;gap:1rem}}.selected-family{flex:1;min-width:0;padding:1rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:.75rem}.selected-family h6{color:#0369a1;font-size:1rem;font-weight:600;margin-bottom:.75rem}.selected-family-card{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;padding:1rem}.selected-family-card .family-brand{font-weight:600;color:#374151;font-size:1.1rem}.selected-family-card .family-name{color:#6b7280;font-size:.9rem;margin:.25rem 0}.selected-family-card .family-details{display:flex;gap:1rem;flex-wrap:wrap;row-gap:.5rem;font-size:.85rem;color:#6b7280}.formulas-table{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.formula-group{border-bottom:1px solid #e5e7eb}.formula-group:last-child{border-bottom:none}.formula-group-header{background:#f8fafc;padding:.5rem 1.5rem;border-bottom:1px solid #e5e7eb;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.formula-comparison-header{margin-bottom:1rem}.formula-comparison-header h4{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:#111827}.formula-instruction{margin:0;font-size:.875rem;color:#6b7280}.table-header{display:grid;grid-template-columns:2fr 1.2fr 200px;background:#f8fafc;border-bottom:1px solid #e5e7eb;font-weight:600;color:#6b7280;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.table-header>div{padding:.75rem 1rem;border-right:1px solid #e5e7eb;display:flex;align-items:center}.table-header>div:last-child{border-right:none}.table-row{display:grid;grid-template-columns:2fr 1.2fr 200px;border-bottom:1px solid #f3f4f6;transition:background-color .2s}.col-micro-window{display:flex;align-items:center;justify-content:center}.table-row:hover{background:#f9fafb}.table-row>div{padding:1rem 1.5rem;border-right:1px solid #f3f4f6;display:flex;align-items:center}.table-row>div:last-child{border-right:none}.col-formula{flex-direction:column;align-items:flex-start!important;gap:.25rem}.formula-name{font-weight:600;color:#111827;font-size:1rem}.recommended-badge{background:#3b82f6;color:#fff;font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:.25rem;text-transform:uppercase;letter-spacing:.025em}.col-power .power-value{font-weight:700;color:#111827;font-size:1.125rem}.col-accuracy .accuracy-value{color:#6b7280;font-weight:500}.confidence-indicator{color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:.375rem;text-transform:uppercase;letter-spacing:.025em}.status-info{color:#6b7280;cursor:help;font-size:1.25rem}@media(max-width:768px){.table-header,.table-row{grid-template-columns:1fr;gap:0}.table-header>div,.table-row>div{padding:.75rem 1rem;border-right:none;border-bottom:1px solid #f3f4f6}.table-header>div:last-child,.table-row>div:last-child{border-bottom:none}.table-header>div:before{content:attr(data-label);font-weight:600;margin-right:.5rem}}.recommendation-summary{margin-bottom:2rem}.recommendation-header h3{color:#111827;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.recommendation-subtitle{color:#6b7280;font-size:1rem;margin:0;line-height:1.5}.recommendation-subtitle strong{color:#374151;font-weight:600}.confidence-note{color:#9ca3af;font-size:.875rem}.eye-results{display:flex;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.eye-section{flex:1;min-width:400px;background:#f9fafb;border-radius:.75rem;padding:1.5rem;border:1px solid #e5e7eb}.eye-header{text-align:center;margin-bottom:1rem}.eye-section h3{color:#111827;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.toric-recommendation-label{font-size:.875rem;font-weight:500;padding:.375rem .75rem;border-radius:.5rem;display:inline-block;margin-top:.25rem}.toric-recommendation-label.toric{background-color:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.toric-recommendation-label.non-toric{background-color:#e0e7ef;color:#475569;border:1px solid #cbd5e1}.iol-diagram-section{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;padding:.75rem;background:#fff;border-radius:.5rem;border:1px solid #e5e7eb}.iol-diagram-section.os-reversed{flex-direction:row-reverse}.iol-diagram-container{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;position:relative}.nasal-temporal-label{position:absolute;font-size:40px;font-weight:700;color:#111827;z-index:10;top:.75rem;line-height:1}.nasal-temporal-label.nasal-label{right:.75rem}.nasal-temporal-label.temporal-label{left:.75rem}.iol-diagram-section.os-reversed .nasal-temporal-label.nasal-label{right:auto;left:.75rem}.iol-diagram-section.os-reversed .nasal-temporal-label.temporal-label{left:auto;right:.75rem}.iol-diagram{flex-shrink:0;position:relative;width:360px;height:360px;display:flex;align-items:center;justify-content:center;margin:0 auto}.compass-toric-plot-wrapper{width:100%;display:flex;align-items:center;justify-content:center;overflow:visible}.iol-diagram svg{display:block;overflow:visible}.iol-info-bottom{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-top:.5rem}.iol-info-bottom p{margin:0;font-size:.85rem;color:#374151;line-height:1.4}.iol-info-bottom strong{color:#111827}.non-toric-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;padding:2rem;text-align:center;color:#64748b}.non-toric-placeholder p{margin:.5rem 0;font-size:1rem}.non-toric-placeholder .power-display{font-size:2rem;font-weight:700;color:#1e293b;margin-top:1rem}.formula-comparison-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.formula-comparison-header h4{color:#374151;font-size:1rem;font-weight:600;margin:0}.formula-instruction{font-size:.875rem;color:#dc2626;margin:.5rem 0;font-weight:500;background-color:#fef2f2;padding:.75rem;border-radius:6px;border-left:3px solid #dc2626}.formula-instruction strong{color:#991b1b;font-weight:600}.formula-selection-prompt{margin-top:1.5rem;padding:1rem;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;text-align:center}.formula-selection-prompt .prompt-text{margin:0;color:#0369a1;font-size:.875rem;font-weight:500}.eye-section .formulas-comparison h4{color:#374151;font-size:1rem;font-weight:600;margin-bottom:1rem}.eye-section .formulas-table{font-size:.875rem}.eye-selection-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;margin:1.5rem 0}.eye-selection-section h3{color:#1b2951;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.eye-selection-section p{color:#64748b;font-size:.875rem;margin-bottom:1rem}.eye-selection-checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.eye-selection-item{display:flex;align-items:center;justify-content:center}.eye-selection-label{display:flex;align-items:center;justify-content:center;gap:.75rem;cursor:pointer;width:100%;padding:.75rem;border-radius:.5rem;background:#fff;border:1px solid #e2e8f0;transition:all .2s}.eye-selection-label:hover{border-color:#cbd5e1;background:#f8fafc}.eye-selection-label input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:#1b2951;margin:0;flex-shrink:0}.eye-selection-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.eye-selection-label:has(input[type=checkbox]:disabled){opacity:.6;cursor:not-allowed}.eye-selection-text{display:flex;flex-direction:column;gap:.25rem;align-items:center;text-align:center}.eye-selection-name{font-weight:500;color:#374151;font-size:.9375rem}.eye-selection-hint{font-size:.8125rem;color:#94a3b8;font-style:italic}.eye-selection-warning{margin-top:.75rem;padding:.75rem 1rem;background:#fffbeb;border:1px solid #fed7aa;border-radius:.5rem;color:#d97706;font-size:.875rem;text-align:center}@media(max-width:768px){.eye-selection-checkboxes{grid-template-columns:1fr}}.eye-section .table-header{font-size:.75rem}.eye-section .table-header>div{padding:.75rem 1rem}.eye-section .table-row>div{padding:.75rem 1rem}@media(max-width:1024px){.eye-results{flex-direction:column;gap:1.5rem}.iol-diagram-section{flex-direction:column;text-align:center;gap:1rem}}@media(max-width:768px){.eye-section{padding:1rem}.iol-diagram-container{width:100%;max-width:360px}.iol-diagram{width:300px;height:300px}}.show-all-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:.5rem}.show-all-button:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px)}.show-all-note{font-size:.875rem;color:#6b7280;margin:0}.iol-popup-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.iol-popup-content{background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:900px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.iol-popup-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.iol-popup-header h3{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0}.close-button{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:6px;color:#64748b;transition:all .2s}.close-button:hover{background:#e2e8f0;color:#1e293b}.iol-popup-filters{padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0;display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.search-container{flex:1;min-width:200px}.search-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:border-color .2s}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.manufacturer-filter{display:flex;flex-direction:column;gap:.5rem}.manufacturer-filter label{font-size:.875rem;font-weight:500;color:#374151}.manufacturer-select{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background:#fff;min-width:150px}.iol-popup-body{flex:1;overflow-y:auto;padding:1.5rem 2rem}.families-grid-popup{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.families-grouped-container{display:flex;flex-direction:column;gap:2rem}.family-group-section{display:flex;flex-direction:column;gap:1rem}.family-group-label{font-size:1.25rem;font-weight:700;color:#1e293b;padding:.75rem 0;border-bottom:2px solid #e2e8f0;margin-bottom:.5rem;text-transform:none;letter-spacing:.025em}.models-grid-popup{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.models-section{min-height:320px}.manufacturer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.manufacturer-card{border:2px solid #e2e8f0;border-radius:10px;padding:1.25rem;background:#fff;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 1px 2px #0f172a0f}.manufacturer-card:hover{border-color:#2563eb;box-shadow:0 8px 20px #2563eb2e;transform:translateY(-2px)}.manufacturer-name{font-size:1.1rem;font-weight:600;color:#0f172a}.manufacturer-stats{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.8rem;color:#475569}.manufacturer-stats span{background:#f8fafc;padding:.25rem .5rem;border-radius:9999px}.manufacturer-cta{margin-top:auto;font-weight:600;font-size:.85rem;color:#2563eb;display:flex;align-items:center;gap:.25rem}.manufacturer-card:hover .manufacturer-cta{color:#1d4ed8}.family-card-popup{border:2px solid #e2e8f0;border-radius:8px;padding:1.25rem;cursor:pointer;transition:all .2s;position:relative;background:#fff}.family-card-popup:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.family-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.family-name{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0}.manufacturer-name{font-size:.75rem;font-weight:500;color:#64748b;background:#f1f5f9;padding:.25rem .5rem;border-radius:4px}.family-description{font-size:.875rem;color:#64748b;margin:.5rem 0;line-height:1.4}.family-meta{display:flex;gap:.5rem;align-items:center;margin:.75rem 0;flex-wrap:wrap}.toric-badge{font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:4px}.toric-badge.toric-available{background:#dcfce7;color:#166534}.toric-badge.toric-not-available{background:#fef3c7;color:#92400e}.model-count{font-size:.75rem;color:#64748b;background:#f1f5f9;padding:.25rem .5rem;border-radius:4px}.family-specs{margin:.75rem 0}.spec-item{font-size:.75rem;color:#64748b;background:#f8fafc;padding:.25rem .5rem;border-radius:4px;display:inline-block;margin-right:.5rem}.select-indicator{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#64748b;opacity:0;transition:opacity .2s}.family-card-popup:hover .select-indicator{opacity:1}.no-results{text-align:center;padding:3rem 1rem;color:#64748b}.clear-filters-button{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;margin-top:1rem;transition:background-color .2s}.clear-filters-button:hover{background:#2563eb}.model-card-popup{border:2px solid #e2e8f0;border-radius:8px;padding:1.25rem;background:#fff;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:.75rem}.model-card-popup:hover{border-color:#10b981;box-shadow:0 4px 16px #10b98126}.family-brand-popup{font-size:.875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.family-name-popup{font-size:1.125rem;font-weight:600;color:#1e293b;margin-bottom:.75rem}.family-details-popup{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:.75rem}.family-a-constant-popup{font-size:.875rem;font-weight:500;color:#1e293b;background:#f0f9ff;padding:.375rem .75rem;border-radius:.375rem;border:1px solid #bae6fd}.family-model-count-popup{font-size:.875rem;color:#64748b;background:#f1f5f9;padding:.375rem .75rem;border-radius:.375rem}.toric-badge-popup{font-size:.75rem;font-weight:500;color:#166534;background:#dcfce7;padding:.375rem .75rem;border-radius:.375rem}.family-select-popup{display:flex;align-items:center;gap:.5rem;color:#3b82f6;font-weight:500;font-size:.875rem;margin-top:.5rem}.model-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.model-name{font-size:1.05rem;font-weight:600;color:#0f172a}.model-type{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.model-type.toric{background:#dcfce7;color:#065f46}.model-type.monofocal{background:#e0f2fe;color:#075985}.model-description{font-size:.875rem;color:#475569;line-height:1.5;min-height:48px}.model-a-constant{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0;font-size:.875rem}.model-a-constant-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.model-a-constant-label{color:#64748b;font-weight:500}.model-a-constant-value{color:#1e293b;font-weight:600;font-family:Courier New,monospace}.model-toric-list{font-size:.8rem;color:#0f172a;background:#f8fafc;padding:.5rem;border-radius:8px;display:flex;flex-direction:column;gap:.25rem}.model-select{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#0f172a;font-weight:600;margin-top:auto}.model-select svg{color:#10b981}.model-card-popup:hover .model-select svg{color:#047857}.model-filter select{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background:#fff;min-width:150px}.header-titles{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;flex:1}.iol-constants-disclaimer{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#64748b;background:#f1f5f9;padding:.5rem .75rem;border-radius:6px;margin-top:.5rem}.iol-constants-disclaimer svg{flex-shrink:0;color:#3b82f6}.back-button{background:transparent;border:none;color:#3b82f6;font-size:.875rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:6px}.back-button:hover{background:#3b82f61a}.loading-models{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 1rem;color:#64748b}.iol-popup-footer{padding:1.5rem 2rem;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;background:#f8fafc}.popup-stats{font-size:.875rem;color:#64748b}.cancel-button{background:#f1f5f9;color:#64748b;border:1px solid #d1d5db;padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-button:hover{background:#e2e8f0;color:#374151}.select-family-button{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap;flex-shrink:0}.select-family-button:hover{background:#2563eb}.calculation-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;padding:2rem;margin:2rem 0}.calculation-header{text-align:center;margin-bottom:2rem}.calculation-header h2{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.calculation-header p{color:#64748b;font-size:1rem}.calculation-controls{display:flex;gap:2rem;margin-bottom:2rem;padding:1.5rem;background:#f8fafc;border-radius:8px;flex-wrap:wrap}.control-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.control-group label{font-size:.875rem;font-weight:500;color:#374151}.control-input{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:border-color .2s}.control-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.calculation-results{display:flex;flex-direction:column;gap:2rem}.recommendation-summary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;padding:2rem;border-radius:12px;text-align:center}.recommendation-summary h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.primary-recommendation{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap}.recommended-formula{font-size:1.5rem;font-weight:700;background:#fff3;padding:.75rem 1.5rem;border-radius:8px}.overall-confidence{font-size:1.125rem;font-weight:500}.formulas-comparison h3{font-size:1.5rem;font-weight:600;color:#1e293b;margin-bottom:1rem}.formulas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.formula-result{border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem;background:#fff;transition:all .2s}.formula-result:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.formula-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.formula-name{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0}.formula-badges{display:flex;gap:.5rem;flex-wrap:wrap}.confidence-badge{color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.accuracy-badge{background:#f1f5f9;color:#64748b;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.formula-content{display:flex;flex-direction:column;gap:1rem}.iol-power-result{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;padding:1rem;border-radius:8px}.power-label{font-size:.875rem;color:#64748b;font-weight:500}.power-value{font-size:1.5rem;font-weight:700;color:#1e293b}.formula-notes{font-size:.875rem;color:#64748b;margin:0;line-height:1.4}.formula-data{margin-top:.5rem}.formula-data details{font-size:.75rem}.formula-data summary{cursor:pointer;color:#64748b;font-weight:500;margin-bottom:.5rem}.formula-data pre{background:#f8fafc;padding:.75rem;border-radius:6px}.external-formula-section{margin-top:24px;padding:16px 20px;border-radius:14px;border:1px solid #e2e6f2;background:#f9fafb}.external-formula-section h3{margin:0 0 4px;font-size:15px;font-weight:600;color:#111827}.external-formula-caption{margin:0 0 10px;font-size:12px;color:#4b5563;max-width:640px}.mini-browser-inline{border-radius:10px;border:1px solid #d1d5e6;background:#fff;overflow:hidden}.mini-browser-header{padding:4px 10px;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:2px}.mini-browser-title{font-size:11px;font-weight:600;color:#111827}.mini-browser-caption{font-size:10px;color:#6b7280}.mini-browser-frame{width:100%;height:150px}.mini-browser-iframe{width:100%;height:100%;border:0;overflow-x:auto;font-size:.75rem;color:#64748b}.barrett-inputs{display:flex;flex-direction:column;gap:20px;margin-bottom:16px}.barrett-eye-section{padding:12px;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.barrett-eye-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#111827}.barrett-helper-toggle{padding:6px 12px;font-size:12px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;color:#374151;margin-bottom:8px;transition:all .2s}.barrett-helper-toggle:hover{background:#e5e7eb;border-color:#9ca3af}.barrett-data-helper{margin:8px 0;padding:10px;background:#f9fafb;border-radius:6px;border-left:3px solid #3b82f6}.barrett-data-helper p{margin:0 0 6px;font-size:12px;color:#374151}.barrett-data-helper ul{margin:0;padding-left:20px;font-size:12px;color:#4b5563}.barrett-data-helper li{margin:4px 0}.barrett-data-helper strong{color:#111827;font-weight:600}.barrett-result-input{display:flex;flex-direction:column;gap:8px;margin-top:12px}.barrett-result-input label{font-size:12px;font-weight:500;color:#374151}.barrett-power-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;width:100%;max-width:200px}.barrett-power-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.barrett-select-btn{padding:8px 16px;font-size:12px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;max-width:200px;transition:background .2s}.barrett-select-btn:hover{background:#2563eb}.barrett-select-btn:active{background:#1d4ed8}.toric-calculation{background:#f0f9ff;border:2px solid #0ea5e9;border-radius:12px;padding:1.5rem}.toric-calculation h4{font-size:1.25rem;font-weight:600;color:#0c4a6e;margin-bottom:1rem}.toric-content{display:flex;flex-direction:column;gap:1rem}.toric-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.toric-item{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:.75rem;border-radius:6px}.toric-label{font-size:.875rem;color:#64748b;font-weight:500}.toric-value{font-size:1rem;font-weight:600;color:#0c4a6e}.toric-recommendation{text-align:center}.recommendation-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}.recommendation-badge.toric-recommended{background:#dcfce7;color:#166534}.clinical-notes{background:#fef3c7;border:2px solid #f59e0b;border-radius:12px;padding:1.5rem}.clinical-notes h3{font-size:1.25rem;font-weight:600;color:#92400e;margin-bottom:1rem}.notes-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.note-item{background:#fff;padding:.75rem;border-radius:6px;font-size:.875rem;color:#92400e;border-left:4px solid #f59e0b}.target-refraction-controls{display:flex;align-items:center;gap:.5rem}.increment-btn,.decrement-btn{width:32px;height:32px;border:2px solid #3b82f6;background:#fff;color:#3b82f6;border-radius:6px;font-size:1.2rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-user-select:none;user-select:none}.increment-btn:hover,.decrement-btn:hover{background:#3b82f6;color:#fff;transform:scale(1.05)}.increment-btn:active,.decrement-btn:active{transform:scale(.95)}.target-refraction-controls .control-input{width:100px;text-align:center;margin:0}@media(max-width:768px){.iol-popup-overlay{padding:.5rem}.iol-popup-content{max-height:90vh}.iol-popup-header,.iol-popup-filters,.iol-popup-body,.iol-popup-footer{padding:1rem}.iol-popup-filters{flex-direction:column;align-items:stretch}.families-grid-popup{grid-template-columns:1fr}}.policy-selector-section{background:#2563eb;color:#fff;padding:1.5rem;border-radius:12px;margin:1.5rem 0;box-shadow:0 4px 6px #0000001a;border:2px solid #1d4ed8}.policy-selector-section h3{font-size:1.25rem;margin-bottom:.5rem;font-weight:600}.policy-description{font-size:.875rem;opacity:.95;margin-bottom:1rem;line-height:1.5}.policy-selector{display:flex;align-items:center;gap:1rem}.policy-selector label{font-weight:500;font-size:1rem}.policy-dropdown{flex:1;padding:.75rem 1rem;border:2px solid rgba(255,255,255,.25);border-radius:8px;font-size:1rem;background:#fff;color:#0f172a;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #0f172a26}.policy-dropdown option{background:#fff;color:#0f172a;padding:.5rem}.policy-dropdown:disabled{opacity:.6;cursor:not-allowed}.policy-dropdown:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb40}.policy-dropdown:hover{border-color:#2563eb99}.policy-dropdown:hover{background:#ffffff40;border-color:#ffffff80}.policy-dropdown:focus{outline:none;border-color:#fff;box-shadow:0 0 0 3px #fff3}@media(max-width:768px){.policy-selector{flex-direction:column;align-items:stretch}.policy-selector label{text-align:left}}.disclaimer-footer{background:#0f172a;color:#ffffffbf;padding:1rem 2rem;font-size:.85rem;line-height:1.5;text-align:center;border-top:1px solid rgba(255,255,255,.05)}.disclaimer-footer div+div{margin-top:.25rem}.table-row.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.table-row.selected{background:#dbeafe;border-left:3px solid #2563eb;font-weight:600}.table-row.selected:hover{background:#bfdbfe}.table-row.clickable:hover{background:#f3f4f6}.checkmark{color:#2563eb;font-weight:700;margin-left:.5rem;font-size:1.125rem}.final-selection{margin-top:1.5rem;padding:1.5rem;background:#f8fafc;border-radius:8px;border:2px solid #e2e8f0}.final-selection h4{margin:0 0 1rem;color:#1e293b;font-size:1.125rem;font-weight:600}.selection-controls{display:flex;gap:2rem;flex-wrap:wrap}.selection-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.selection-group label{font-size:.875rem;font-weight:500;color:#64748b}.toric-selection-heading{font-size:1.25rem;font-weight:700;color:#1e293b;margin-bottom:.75rem}.selected-formula-display{font-size:1.125rem;font-weight:600;color:#1e293b;padding:.75rem 1rem;background:#fff;border-radius:6px;border:1px solid #d1d5db}.power-selector{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;background:#fff;color:#1e293b;cursor:pointer;transition:all .2s}.power-selector:hover{border-color:#3b82f6}.power-selector:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.report-actions{margin-top:2rem;padding:2rem;display:flex;justify-content:center;border-top:2px solid #e2e8f0}.generate-report-button{background:#2563eb;color:#fff;border:none;padding:1rem 2.5rem;border-radius:8px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px #2563eb33}.generate-report-button:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 6px 12px #2563eb4d}.generate-report-button:active{transform:translateY(0)}.report-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;padding:2rem;margin:2rem 0;max-width:1200px;margin-left:auto;margin-right:auto}.report-header{border-bottom:2px solid #e2e8f0;padding-bottom:1.5rem;margin-bottom:2rem}.report-header-content h1{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 1rem}.report-meta{display:flex;gap:2rem;flex-wrap:wrap;color:#64748b;font-size:1.125rem}.report-meta p{margin:0}.report-actions-bar{margin-top:1rem;display:flex;gap:1rem;justify-content:flex-end}.new-calculation-button{padding:.75rem 1.5rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid #3b82f6;background:#3b82f6;color:#fff}.new-calculation-button:hover{background:#2563eb;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px #3b82f633}.print-button,.pdf-button{padding:.75rem 1.5rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid #d1d5db;background:#fff;color:#374151}.print-button:hover,.pdf-button:hover{background:#f9fafb}.print-button:disabled,.pdf-button:disabled{opacity:.6;cursor:not-allowed}.print-button:hover:not(:disabled),.pdf-button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.report-body{display:flex;flex-direction:column;gap:2rem;page-break-after:avoid}.report-eyes-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;align-items:stretch}@media(max-width:768px){.report-eyes-container{grid-template-columns:1fr}}.report-eye-section{min-width:0;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;background:#f8fafc;page-break-inside:avoid;page-break-after:auto;display:flex;flex-direction:column;gap:1.5rem;height:100%}.report-eye-section .iol-diagram-section{flex:0 0 auto}.report-eye-section .report-details-section{flex:1 1 auto;display:flex;flex-direction:column}.report-eye-section+.report-eye-section{page-break-before:auto}.report-summary-page+.report-eye-section{page-break-before:always}.report-eye-section:last-of-type{page-break-after:avoid;margin-bottom:0}.report-eye-header{text-align:center;margin-bottom:.5rem}.report-eye-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0}.report-details-section{display:flex;flex-direction:column;gap:.75rem;flex:1 1 auto;background:#fff;border-radius:6px;border:1px solid #e2e8f0;padding:1rem;word-wrap:break-word;overflow-wrap:break-word}.report-section-title{font-size:1rem;font-weight:600;color:#334155;margin:0;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.report-details{display:flex;flex-direction:column;gap:.5rem;min-width:0}.report-detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid #f1f5f9;min-width:0;gap:.5rem}.report-detail-row:last-child{border-bottom:none}.report-label{font-weight:500;color:#64748b;font-size:.875rem;flex:0 0 40%;min-width:0;word-wrap:break-word;overflow-wrap:break-word}.report-value{font-weight:400;color:#1e293b;font-size:.875rem;text-align:right;flex:1 1 0;min-width:0;word-break:break-word;word-wrap:break-word;overflow-wrap:break-word}.report-summary-page{page-break-inside:avoid;margin-bottom:2rem;margin-top:0}.report-summary{margin-top:0;margin-bottom:1.5rem;padding:1.5rem;background:#f0f9ff;border-radius:8px;border:2px solid #bfdbfe}.report-summary h3{margin:0 0 1rem;color:#1e293b;font-size:1.25rem;font-weight:600}.summary-content{display:flex;flex-direction:column;gap:1.5rem}.summary-eye{font-size:1rem;color:#1e293b}.summary-eye-header{font-size:1.125rem;margin-bottom:.75rem;color:#1e293b}.summary-eye-details{display:flex;flex-direction:column;gap:.5rem;padding-left:1rem}.summary-detail{font-size:.9375rem;color:#475569;line-height:1.5}.summary-measurements{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #cbd5e1}.summary-measurements-title,.summary-iol-selection-title{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 .75rem}.summary-measurements-grid{display:flex;flex-direction:column;gap:.75rem}.summary-measurements-eye{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}.summary-measurements-eye strong{color:#1e293b;font-weight:600}.summary-measurements-details{display:flex;flex-wrap:wrap;gap:1rem;padding-left:1rem;color:#475569}.summary-measurements-details span{white-space:nowrap}.summary-iol-selection{margin-top:1rem}.summary-detail strong{color:#1e293b;font-weight:600;margin-right:.5rem}.report-footer{margin-top:2rem;padding-top:1.5rem;padding-bottom:1rem;border-top:2px solid #e2e8f0;page-break-before:avoid;page-break-after:avoid;break-inside:avoid;orphans:3;widows:3;margin-bottom:0}.disclaimer-content{max-width:100%}.disclaimer-title{font-size:1rem;font-weight:600;color:#1e293b;margin-bottom:1rem;text-align:center}.disclaimer-section{margin-bottom:1rem}.disclaimer-subtitle{font-size:.875rem;font-weight:600;color:#334155;margin-bottom:.5rem;margin-top:0}.disclaimer-text{font-size:.75rem;color:#64748b;line-height:1.6;margin:.5rem 0;text-align:left}.disclaimer-text strong{color:#475569;font-weight:600}.disclaimer-list{font-size:.75rem;color:#64748b;line-height:1.6;margin:.5rem 0 .5rem 1.5rem;padding:0}.disclaimer-list li{margin:.25rem 0}.disclaimer-meta{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0;text-align:center}.disclaimer-meta .disclaimer-text{text-align:center;font-size:.7rem;color:#94a3b8;margin:.25rem 0}.report-footer .disclaimer{font-size:.75rem;color:#64748b;text-align:center;margin:.5rem 0;line-height:1.5}@media print{.app-header,.step-indicator,.report-actions-bar,.disclaimer-footer,.reset-button,.new-calculation-button{display:none!important}.report-container{box-shadow:none;padding:0;margin:0;height:auto;overflow:visible}.report-header{page-break-after:avoid}.report-body{page-break-after:avoid;gap:0;margin:0;padding:0}.report-summary-page{page-break-inside:avoid;page-break-after:auto;margin-bottom:0}.report-eye-section{page-break-inside:avoid;border:1px solid #000;margin:0}.report-eye-section:first-of-type{page-break-before:always}.report-eye-section+.report-eye-section{page-break-before:always}.report-eye-section:last-of-type{page-break-after:auto;margin-bottom:0}.report-footer{page-break-before:always;page-break-after:avoid;page-break-inside:avoid;break-inside:avoid;orphans:3;widows:3;margin-top:0;margin-bottom:0;padding-top:1rem;padding-bottom:0}.report-footer .disclaimer-content{margin-bottom:0;padding-bottom:0}.report-footer .disclaimer-section:last-child{margin-bottom:0;padding-bottom:0}.report-footer .disclaimer-text:last-child{margin-bottom:0}.report-container,.report-body{page-break-after:avoid;margin-bottom:0;padding-bottom:0}.iol-diagram{page-break-inside:avoid}.report-container:after,.report-body:after,.report-footer:after{content:none!important;display:none!important;height:0!important;margin:0!important;padding:0!important}}@media(max-width:768px){.report-eyes-container{flex-direction:column;gap:1.5rem}.report-eye-section{min-width:100%}.report-detail-row{flex-direction:column;gap:.25rem}.report-label{flex:1}.report-value{text-align:left}}.pdf-end-marker{display:none}@media(max-width:768px){.selection-controls{flex-direction:column}.report-meta{flex-direction:column;gap:.5rem}.report-actions-bar{flex-direction:column}.report-eyes-container{grid-template-columns:1fr;gap:1.5rem}.report-eye-section{min-width:100%}.report-detail-row{flex-direction:column;gap:.25rem}.report-label{flex:1}.report-value{text-align:left}}.calculator-micro-window-inline{display:flex;flex-direction:column;width:160px;min-height:100px;background:#fff;border:1.5px solid #3b82f6;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #00000026,0 0 0 1px #0000000d;transition:opacity .4s ease-out,transform .4s ease-out;position:relative;z-index:1000;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.calculator-micro-window-inline.fade-out{opacity:0;transform:translateY(-10px) scale(.95);pointer-events:none}.calculator-micro-window-inline.complete{border-color:#10b981;box-shadow:0 8px 24px #10b98140,0 0 0 1px #10b9811a}.micro-window-header-inline{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e5e7eb}.calculator-name-inline{display:flex;align-items:center;gap:3px;font-weight:600;font-size:10px;color:#374151}.status-icon-inline{font-size:11px}.name-text-inline{font-size:10px}.eye-badge-inline{font-size:8px;padding:1px 4px;background:#e5e7eb;border-radius:3px;color:#6b7280;font-weight:500}.status-badge-inline{padding:2px 4px;border-radius:4px;font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.2px;color:#fff}.screenshot-container-inline{position:relative;width:100%;height:100px;background:#f3f4f6;overflow:hidden}.screenshot-image-inline{width:100%;height:100%;object-fit:cover;display:block}.screenshot-overlay-inline{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:4px}.progress-indicator-inline{display:flex;align-items:center;gap:4px}.progress-bar-inline{flex:1;height:3px;background:#ffffff4d;border-radius:2px;overflow:hidden}.progress-fill-inline{height:100%;border-radius:2px;transition:width .3s ease-out}.progress-text-inline{color:#fff;font-size:9px;font-weight:600;min-width:25px;text-align:right}.status-only-container-inline{display:flex;align-items:center;gap:4px;padding:6px;background:#f9fafb}.micro-window-footer-inline{padding:4px 6px;background:#f9fafb;border-top:1px solid #e5e7eb}.status-message-inline{margin:0;font-size:9px;color:#6b7280;line-height:1.3}.screenshot-container-inline:empty:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@media(max-width:1024px){.calculator-micro-window-inline{width:140px}.screenshot-container-inline{height:80px}}@media(max-width:768px){.calculator-micro-window-inline{width:120px;margin-left:4px}.screenshot-container-inline{height:70px}.micro-window-header-inline{padding:3px 5px}.calculator-name-inline{font-size:9px}}
