.psg-wrapper{width:100%;max-width:80rem;margin:0 auto;padding:1.5rem 1rem}@media (min-width:640px){.psg-wrapper{padding:2.5rem 1.5rem}}.psg-container{--navy:#000000;--text:#111827;--muted:#6b7280;--subtle:#9ca3af;--border:rgba(0,0,0,0.08);--border-light:rgba(0,0,0,0.04);--surface:#f2f0ee;--surface-soft:#ffffff;--surface-inner:#fbfafa;--blue:#000000;--blue-soft:#e5e7eb;--purple:#6366f1;--purple-soft:#eef2ff;--red:#ef4444;--red-soft:#fef2f2;--orange:#f59e0b;--orange-soft:#fffbeb;--grid-line:rgba(0,0,0,0.08);--time-tick:rgba(0,0,0,0.15);width:100%;background:var(--surface);border:1px solid var(--border);border-radius:28px;padding:24px 26px 20px;color:var(--text);box-shadow:0 30px 80px -35px rgba(0,0,0,.25);font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif;box-sizing:border-box;transition:background-color .2s ease,border-color .2s ease}.dark .psg-container{--navy:#ffffff;--text:#f3f4f6;--muted:#9ca3af;--subtle:#6b7280;--border:rgba(255,255,255,0.08);--border-light:rgba(255,255,255,0.04);--surface:#121318;--surface-soft:#1a1c24;--surface-inner:#0d0e12;--blue:#ffffff;--blue-soft:#262934;--purple:#818cf8;--purple-soft:#1e1b4b;--red:#f87171;--red-soft:#450a0a;--orange:#fbbf24;--orange-soft:#451a03;--grid-line:rgba(255,255,255,0.06);--time-tick:rgba(255,255,255,0.15);box-shadow:0 40px 100px -45px rgba(0,0,0,.85)}.psg-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--border)}.psg-heading{min-width:0}.live-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border:1px solid #b8ead5;border-radius:999px;background:#f1fcf7;color:#15966a;font-size:9.5px;font-weight:700;letter-spacing:.055em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dark .live-badge{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.3);color:#34d399}.live-dot{width:5px;height:5px;border-radius:50%;background:#16b77a;box-shadow:0 0 6px rgba(22,183,122,.6);animation:psg-live-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes psg-live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.psg-heading h2{margin:8px 0 4px;color:var(--navy);font-size:clamp(20px,2vw,28px);line-height:1.15;letter-spacing:-.03em;font-weight:800}.psg-heading p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45;max-width:680px}.mode-selector{display:flex;align-items:center;padding:4px;border:1px solid var(--border);border-radius:9999px;background:var(--surface-soft);flex-shrink:0}.mode-selector button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;min-height:32px;padding:0 16px;border-radius:9999px;color:var(--muted);font-size:11.5px;font-weight:600;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.mode-selector button:hover{color:var(--navy)}.mode-selector button.active{background:#000000;color:#ffffff;box-shadow:0 1px 3px rgba(0,0,0,.2)}.dark .mode-selector button.active{background:#ffffff;color:#000000;box-shadow:0 1px 6px rgba(255,255,255,.25)}.clinical-alert{justify-content:space-between;gap:12px;min-height:44px;margin-top:12px;padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-inner);box-sizing:border-box}.alert-content,.clinical-alert{display:flex;align-items:center}.alert-content{gap:8px;color:var(--text);font-size:11px;line-height:1.4}.info-icon{display:grid;place-items:center;width:16px;height:16px;border:1px solid var(--blue);border-radius:50%;color:var(--blue);font-style:normal;flex-shrink:0}.ahi-badge,.info-icon{font-size:10px;font-weight:700}.ahi-badge{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:0 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--navy);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;white-space:nowrap}.ahi-badge span{color:var(--red)}.ahi-badge span.normal{color:#15966a}.dark .ahi-badge span.normal{color:#34d399}.waveform-panel{margin-top:12px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.chart-toolbar{justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--border-light);background:var(--surface);box-sizing:border-box}.chart-toolbar,.toolbar-controls-row{display:flex;align-items:center;gap:12px}.toolbar-controls-row{flex-wrap:wrap}.toolbar-group{display:flex;align-items:center;gap:6px}.toolbar-group label{color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap}.toolbar-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;padding:0 22px 0 8px;border:1px solid var(--border);border-radius:6px;background:linear-gradient(45deg,transparent 50%,#64748b 50%) calc(100% - 11px) 11px /4px 4px no-repeat,linear-gradient(135deg,#64748b 50%,transparent 50%) calc(100% - 7px) 11px /4px 4px no-repeat,var(--surface);color:var(--text);font-size:11px;font-weight:500;cursor:pointer;transition:border-color .15s ease}.toolbar-group select:hover{border-color:var(--blue)}.event-jump-group{display:flex;align-items:center;gap:6px}.event-jump-select{width:175px!important;max-width:175px!important;font-weight:600!important;color:var(--navy)!important;background-color:var(--surface-soft)!important;text-overflow:ellipsis}.recording-status{display:flex;align-items:center;gap:8px;margin-left:auto}.flow-cessation{display:inline-flex;align-items:center;height:24px;padding:0 8px;border:1px solid #fecdd3;border-radius:999px;background:#fff5f6;color:#e5484d;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:700;animation:psg-fade-in .2s ease-out}.dark .flow-cessation{background:rgba(244,63,94,.15);border-color:rgba(244,63,94,.35);color:#fb7185}.epoch-pill{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:700;animation:psg-fade-in .2s ease-out}.epoch-pill.warning{border:1px solid #fde68a;background:#fffbeb;color:#b45309}.dark .epoch-pill.warning{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.15);color:#fbbf24}.live-status{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border:1px solid #cceee1;border-radius:999px;background:#f4fcf8;color:#16976b;font-size:10px;font-weight:650}.dark .live-status{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.3);color:#34d399}.live-status span{width:5px;height:5px;border-radius:50%;background:#1db87c}.time-axis{display:grid;grid-template-columns:repeat(7,1fr);align-items:center;padding:8px 40px 6px 190px;color:var(--subtle);font-size:9px;font-family:SFMono-Regular,Consolas,monospace;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--surface)}.time-axis span,.time-axis strong{position:relative;text-align:center}.time-axis span:after,.time-axis strong:after{content:"";position:absolute;left:50%;top:15px;width:1px;height:5px;background:var(--time-tick)}.time-axis strong{color:var(--navy);font-weight:700}.signal-row{display:grid;grid-template-columns:180px minmax(0,1fr);min-height:94px;border-top:1px solid var(--border-light)}.signal-info,.signal-row{background:var(--surface)}.signal-info{display:flex;align-items:center;gap:10px;padding:12px 14px;border-right:1px solid var(--border-light)}.signal-info>div:last-child{display:flex;flex-direction:column;gap:2px}.signal-info strong{color:var(--navy);font-size:11px;font-weight:700}.signal-info span{color:var(--subtle);font-size:9.5px;font-family:SFMono-Regular,Consolas,monospace}.signal-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:6px;font-size:15px;flex-shrink:0}.signal-icon.blue{background:var(--blue-soft);color:var(--blue)}.signal-icon.purple{background:var(--purple-soft);color:var(--purple)}.signal-icon.red{background:var(--red-soft);color:var(--red)}.signal-chart{position:relative;min-width:0;min-height:94px;overflow:hidden;background:var(--surface)}.psg-wave-svg{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:3}.psg-wave-animated{animation:psg-fade-in .2s cubic-bezier(.16,1,.3,1)}@keyframes psg-fade-in{0%{opacity:.4}to{opacity:1}}.chart-grid{position:absolute;inset:12px 16px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;z-index:1}.chart-grid span{width:100%;height:1px;background:repeating-linear-gradient(90deg,var(--grid-line) 0,var(--grid-line) 4px,transparent 4px,transparent 8px)}.event-highlight{position:absolute;top:0;bottom:0;display:flex;justify-content:center;z-index:2;pointer-events:none;animation:psg-fade-in .2s ease-out}.event-highlight:before{content:"";position:absolute;inset:0;opacity:.65}.apnea-highlight:before{background:rgba(229,72,77,.055);border-left:1px dashed rgba(229,72,77,.45);border-right:1px dashed rgba(229,72,77,.45)}.dark .apnea-highlight:before{background:rgba(244,63,94,.1);border-left:1px dashed rgba(244,63,94,.5);border-right:1px dashed rgba(244,63,94,.5)}.paradoxical-highlight:before{background:rgba(245,158,11,.045)}.dark .paradoxical-highlight:before{background:rgba(245,158,11,.08)}.event-highlight span{position:relative;align-self:flex-start;margin-top:6px;padding:2px 5px;border-radius:4px;font-size:8px;font-weight:800;letter-spacing:.03em;white-space:nowrap}.apnea-highlight span{background:#f0444b;color:white}.dark .apnea-highlight span{background:#e11d48}.paradoxical-highlight span{background:#f59e0b;color:white}.dark .paradoxical-highlight span{background:#d97706}.event-boundary{position:absolute;top:0;bottom:0;width:1px;border-left:1px dashed rgba(229,72,77,.42);z-index:4}.dark .event-boundary{border-left-color:rgba(244,63,94,.5)}.event-boundary.left{left:40.5%}.event-boundary.right{left:66.5%}.spo2-chart{min-height:94px}.spo2-scale{top:8px;right:6px;display:flex;flex-direction:column;justify-content:space-between;color:var(--subtle);font-size:7.5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.spo2-nadir,.spo2-scale{position:absolute;bottom:8px;font-family:SFMono-Regular,Consolas,monospace;z-index:5}.spo2-nadir{left:47%;padding:2px 5px;border:1px solid #ffb4ba;border-radius:4px;background:#fff6f7;color:#e5484d;font-size:8px;font-weight:800;white-space:nowrap}.spo2-nadir.recovery{border-color:#fde68a;background:#fffbeb;color:#b45309}.dark .spo2-nadir{background:rgba(244,63,94,.15);border-color:rgba(244,63,94,.35);color:#fb7185}.dark .spo2-nadir.recovery{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.35);color:#fbbf24}.event-timeline{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:50px;padding:0 14px;border-top:1px solid var(--border-light);background:var(--surface);align-items:center}.event-label{gap:12px;color:var(--navy);font-size:10.5px;font-weight:700}.event-label,.event-legend{display:flex;align-items:center}.event-legend{gap:8px;color:var(--muted);font-size:9px;font-weight:500}.event-legend span{display:inline-flex;align-items:center;gap:3px}.event-dot{width:5px;height:5px;border-radius:50%}.event-dot.apnea{background:#ef4444}.event-dot.hypopnea{background:#f59e0b}.event-dot.arousal{background:#7c5cfc}.event-track{position:relative;height:24px}.event-baseline{position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border)}.timeline-event{position:absolute;top:5px;width:2px;height:12px;border-radius:2px;transform:translateX(-50%);z-index:2;transition:left .3s cubic-bezier(.16,1,.3,1)}.timeline-event.apnea{background:#ef4444}.timeline-event.hypopnea{background:#f59e0b}.timeline-event.arousal{background:#7c5cfc}.major-apnea-region{position:absolute;top:9px;height:5px;border-radius:3px;background:#ef4444;opacity:.85;z-index:1}.study-footer{display:grid;grid-template-columns:1.2fr 1.1fr .9fr 1fr auto;min-height:58px;padding:10px 14px;border-top:1px solid var(--border-light);background:var(--surface-soft);align-items:center;gap:0}.metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-right:14px;border-right:1px solid var(--border-light)}.metadata.single{padding-left:14px}.metadata div,.metadata.single{display:flex;flex-direction:column;gap:2px}.artifact-status span,.metadata span{color:var(--subtle);font-size:8.5px}.artifact-status strong,.metadata strong{color:var(--navy);font-size:10px;font-weight:650;font-family:SFMono-Regular,Consolas,monospace}.artifact-status{display:flex;align-items:center;gap:7px;padding-left:14px}.artifact-status>div:last-child{display:flex;flex-direction:column;gap:2px}.artifact-icon{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--blue);font-size:12px}.export-button{display:inline-flex;align-items:center;justify-content:center;height:30px;margin-left:14px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--navy);font-size:10px;font-weight:650;cursor:pointer;white-space:nowrap;transition:border-color .15s ease,background .15s ease,transform .1s ease}.export-button:hover{background:var(--surface-soft);border-color:var(--blue);transform:translateY(-1px)}.export-button:active{transform:translateY(0)}.export-button span{margin-right:4px;color:var(--blue);font-size:12px}button:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media (max-width:1024px){.chart-toolbar{flex-wrap:wrap;gap:8px}.recording-status{margin-left:auto}}@media (max-width:760px){.psg-wrapper{padding:1rem .5rem}.psg-container{padding:12px 10px;border-radius:12px}.psg-header{align-items:flex-start;flex-direction:column;gap:10px;padding-bottom:10px}.mode-selector{width:100%}.mode-selector button{flex:1;min-height:28px;font-size:11px;padding:0 6px}.psg-heading h2{font-size:18px}.clinical-alert{align-items:flex-start;flex-direction:column;gap:6px;padding:8px 10px;margin-top:8px}.ahi-badge{width:100%;justify-content:center}.chart-toolbar{padding:6px 10px;gap:6px}.toolbar-controls-row{gap:8px}.toolbar-group label{font-size:10px}.toolbar-group select{height:26px;font-size:10px;padding:0 18px 0 6px}.event-jump-select{width:145px!important;max-width:145px!important}.epoch-pill,.flow-cessation,.live-status{height:22px;font-size:9px;padding:0 6px}.signal-row{grid-template-columns:1fr;min-height:80px}.signal-info{min-height:34px;padding:5px 8px;border-right:0;border-bottom:1px solid var(--border-light)}.signal-chart{min-height:80px}.time-axis{display:none}.event-timeline{grid-template-columns:1fr;gap:6px;padding:8px 10px}.event-label{flex-wrap:wrap}.study-footer{grid-template-columns:1fr;gap:8px;padding:8px 10px}.metadata{grid-template-columns:1fr 1fr;border-right:0;padding-right:0;gap:6px}.artifact-status,.metadata.single{padding-left:0;border-right:0}.export-button{width:100%;margin-left:0}}@media (max-width:480px){.psg-wrapper{padding:.5rem .25rem}.psg-container{padding:8px 6px}.toolbar-controls-row{gap:5px}.toolbar-group label{display:none}.event-jump-select{width:130px!important;max-width:130px!important}.recording-status{gap:4px}.event-legend{width:100%;flex-wrap:wrap}.metadata{grid-template-columns:1fr}.metadata div{padding-bottom:2px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.sleep-calculator-container{--calc-navy:#000000;--calc-text:#111827;--calc-muted:#6b7280;--calc-muted-light:#9ca3af;--calc-blue:#000000;--calc-blue-dark:#1f2937;--calc-blue-soft:#f3f4f6;--calc-blue-border:rgba(0,0,0,0.08);--calc-border:rgba(0,0,0,0.08);--calc-border-light:rgba(0,0,0,0.04);--calc-surface:#f2f0ee;--calc-surface-soft:#ffffff;--calc-surface-card:#ffffff;--calc-green:#10b981;--calc-green-bg:#ecfdf5;--calc-green-border:#a7f3d0;--calc-orange:#f59e0b;--calc-orange-text:#d97706;--calc-orange-bg:#fffbeb;--calc-orange-border:#fde68a;--calc-red:#ef4444;--calc-red-bg:#fef2f2;--calc-red-border:#fecaca;--calc-crimson:#e11d48;--calc-crimson-bg:#fff1f2;--calc-crimson-border:#fecdd3;width:100%;max-width:1240px;margin:0 auto;padding:10px 16px 40px;box-sizing:border-box;color:var(--calc-text);font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif}.dark .sleep-calculator-container{--calc-navy:#ffffff;--calc-text:#f3f4f6;--calc-muted:#9ca3af;--calc-muted-light:#6b7280;--calc-blue:#ffffff;--calc-blue-dark:#e5e7eb;--calc-blue-soft:rgba(255,255,255,0.08);--calc-blue-border:rgba(255,255,255,0.12);--calc-border:rgba(255,255,255,0.08);--calc-border-light:rgba(255,255,255,0.04);--calc-surface:#121318;--calc-surface-soft:#1a1c24;--calc-surface-card:#1a1c24;--calc-green:#34d399;--calc-green-bg:rgba(16,185,129,0.12);--calc-green-border:rgba(16,185,129,0.3);--calc-orange:#fbbf24;--calc-orange-text:#f59e0b;--calc-orange-bg:rgba(245,158,11,0.12);--calc-orange-border:rgba(245,158,11,0.3);--calc-red:#f87171;--calc-red-bg:rgba(239,68,68,0.12);--calc-red-border:rgba(239,68,68,0.3);--calc-crimson:#fb7185;--calc-crimson-bg:rgba(244,63,94,0.12);--calc-crimson-border:rgba(244,63,94,0.3)}.calc-header{text-align:center;margin-bottom:36px}.calc-clinical-badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 14px;border:1px solid var(--calc-blue-border);border-radius:999px;background:var(--calc-blue-soft);color:var(--calc-navy);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.calc-header h2{margin:0 0 8px;color:var(--calc-navy);font-family:Instrument Sans,ui-sans-serif,system-ui,sans-serif;font-size:clamp(26px,2.5vw,36px);line-height:1.15;letter-spacing:-.035em;font-weight:600}.calc-header p{margin:0 auto;max-width:620px;color:var(--calc-muted);font-size:14px;line-height:1.5}.calc-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);gap:0;align-items:stretch;background:var(--calc-surface);border:1px solid var(--calc-border);border-radius:28px;overflow:hidden;box-shadow:0 40px 100px -45px rgba(0,0,0,.35)}.dark .calc-grid{box-shadow:0 40px 100px -45px rgba(0,0,0,.85)}@media (max-width:1024px){.calc-grid{grid-template-columns:1fr}}.calc-output-panel,.calc-risk-panel{background:transparent;border:0;border-radius:0;box-shadow:none;box-sizing:border-box}.calc-risk-panel{padding:32px 34px;display:flex;flex-direction:column}.calc-output-panel{padding:32px 30px 28px;display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid var(--calc-border)}@media (max-width:1024px){.calc-output-panel{border-left:0;border-top:1px solid var(--calc-border)}}.calc-panel-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:28px}.calc-heading-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--calc-blue-soft);color:var(--calc-blue);flex-shrink:0;border:1px solid var(--calc-blue-border)}.calc-panel-heading h3{margin:0 0 3px;color:var(--calc-blue);font-size:15px;line-height:1.25;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.calc-panel-heading p{margin:0;color:var(--calc-muted);font-size:13px;line-height:1.45}.calc-field{width:100%;margin-bottom:24px}.calc-field-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.calc-field-title{display:flex;align-items:center;gap:7px;color:var(--calc-navy);font-size:13px;font-weight:650}.calc-field-value{color:var(--calc-blue);font-size:13px;font-weight:700;font-family:inherit}.calc-info-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:1px solid var(--calc-border);border-radius:50%;background:transparent;color:var(--calc-muted);font-size:10px;cursor:pointer;transition:all .15s ease}.calc-info-btn:hover{color:var(--calc-blue);border-color:var(--calc-blue);background:var(--calc-blue-soft)}.calc-slider-wrapper{position:relative;width:100%;padding:4px 0}.calc-slider{display:block;width:100%;height:5px;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:999px;background:linear-gradient(to right,var(--calc-blue) 0,var(--calc-blue) var(--slider-progress),#e5eaf2 var(--slider-progress),#e5eaf2 100%);cursor:pointer;outline:none}.dark .calc-slider{background:linear-gradient(to right,var(--calc-blue) 0,var(--calc-blue) var(--slider-progress),#1e293b var(--slider-progress),#1e293b 100%)}.calc-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--calc-blue);border-radius:50%;background:#ffffff;box-shadow:0 1px 4px rgba(15,23,42,.15);cursor:grab;-webkit-transition:transform .12s ease,box-shadow .12s ease;transition:transform .12s ease,box-shadow .12s ease}.dark .calc-slider::-webkit-slider-thumb{background:#0f172a}.calc-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 0 4px rgba(23,105,224,.18)}.calc-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1)}.calc-slider::-moz-range-thumb{width:18px;height:18px;border:2px solid var(--calc-blue);border-radius:50%;background:#ffffff;box-shadow:0 1px 4px rgba(15,23,42,.15);cursor:grab}.calc-slider-labels{display:grid;margin-top:8px;color:var(--calc-muted);font-size:11px;line-height:1.2}.calc-slider-labels span:first-child{text-align:left}.calc-slider-labels span:last-child{text-align:right}.calc-slider-labels span:not(:first-child):not(:last-child){text-align:center}.calc-slider-labels span.active-label{color:var(--calc-blue);font-weight:700}.calc-dual-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.calc-dual-row .calc-field{margin-bottom:22px}.calc-additional-heading{margin:6px 0 12px;color:var(--calc-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.calc-factors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.calc-factor-card{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:12px 14px;box-sizing:border-box;border:1px solid var(--calc-border);border-radius:12px;background:var(--calc-surface-card);transition:border-color .15s ease,box-shadow .15s ease}.calc-factor-card:hover{border-color:#cbd5e1}.dark .calc-factor-card:hover{border-color:#334155}.calc-factor-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.calc-factor-title{display:flex;align-items:center;gap:6px;color:var(--calc-navy);font-size:12px;font-weight:700}.calc-factor-desc{color:var(--calc-muted);font-size:10px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calc-toggle{position:relative;width:42px;height:24px;flex-shrink:0;padding:0;border:0;border-radius:999px;background:#dce3ed;cursor:pointer;transition:background-color .18s cubic-bezier(.4,0,.2,1);outline:none}.dark .calc-toggle{background:#334155}.calc-toggle span{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#ffffff;box-shadow:0 1px 3px rgba(15,23,42,.2);transition:transform .18s cubic-bezier(.4,0,.2,1)}.calc-toggle.is-active{background:var(--calc-blue)}.calc-toggle.is-active span{transform:translateX(18px)}.calc-gender-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--calc-blue-border);border-radius:8px;background:var(--calc-blue-soft);color:var(--calc-blue);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease}.calc-gender-btn:hover{background:rgba(23,105,224,.15)}.calc-screening-banner{display:flex;align-items:center;gap:10px;min-height:46px;margin-top:20px;padding:10px 14px;box-sizing:border-box;border:1px solid #bdd7ff;border-radius:10px;background:#f4f8ff;color:#1757a6;font-size:11.5px;line-height:1.45}.dark .calc-screening-banner{border-color:rgba(59,130,246,.3);background:rgba(59,130,246,.08);color:#93c5fd}.calc-banner-icon{display:grid;place-items:center;width:18px;height:18px;flex-shrink:0;border:1.5px solid #5b9af2;border-radius:50%;font-size:10px;font-weight:700;font-family:serif}.calc-output-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--calc-border-light)}.calc-output-title{display:flex;align-items:center;gap:8px;color:var(--calc-muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calc-output-icon{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--calc-border);border-radius:50%;color:var(--calc-blue)}.calc-stopbang-badge{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.calc-stopbang-badge>span{color:var(--calc-blue);letter-spacing:.04em}.calc-stopbang-badge strong{padding:4px 9px;border-radius:6px;background:var(--calc-surface-soft);border:1px solid var(--calc-border-light);color:var(--calc-text);font-family:inherit;font-size:12px}.calc-ahi-display{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:18px}.calc-ahi-label{color:var(--calc-muted);font-size:12px;font-weight:500}.calc-ahi-metric{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:4px 0 8px}.calc-ahi-metric strong{color:var(--calc-navy);font-size:clamp(42px,4vw,54px);line-height:1;letter-spacing:-.04em;font-weight:800}.calc-ahi-metric span{color:var(--calc-muted);font-size:13px;font-weight:500}.calc-severity-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 12px;border-radius:999px;border:1px solid;font-size:12px;font-weight:700}.calc-severity-chip .chip-dot{width:7px;height:7px;border-radius:50%}.calc-severity-chip.normal{background:var(--calc-green-bg);border-color:var(--calc-green-border);color:var(--calc-green)}.calc-severity-chip.normal .chip-dot{background:var(--calc-green)}.calc-severity-chip.mild{background:var(--calc-blue-soft);border-color:var(--calc-blue-border);color:var(--calc-blue)}.calc-severity-chip.mild .chip-dot{background:var(--calc-blue)}.calc-severity-chip.moderate{background:var(--calc-orange-bg);border-color:var(--calc-orange-border);color:var(--calc-orange-text)}.calc-severity-chip.moderate .chip-dot{background:var(--calc-orange)}.calc-severity-chip.severe{background:var(--calc-red-bg);border-color:var(--calc-red-border);color:var(--calc-red)}.calc-severity-chip.severe .chip-dot{background:var(--calc-red)}.calc-severity-chip.very-severe{background:var(--calc-crimson-bg);border-color:var(--calc-crimson-border);color:var(--calc-crimson)}.calc-severity-chip.very-severe .chip-dot{background:var(--calc-crimson)}.calc-scale-section{position:relative;margin-top:24px;padding-top:14px}.calc-scale-marker{position:absolute;top:2px;left:0;width:100%;height:12px;pointer-events:none}.calc-scale-marker span{position:absolute;left:calc(var(--marker-pos, 50%) - 6px);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--calc-orange);transition:left .24s cubic-bezier(.4,0,.2,1),border-top-color .2s ease}.calc-scale-marker.normal span{border-top-color:var(--calc-green)}.calc-scale-marker.mild span{border-top-color:var(--calc-blue)}.calc-scale-marker.moderate span{border-top-color:var(--calc-orange)}.calc-scale-marker.severe span{border-top-color:var(--calc-red)}.calc-scale-marker.very-severe span{border-top-color:var(--calc-crimson)}.calc-scale-track{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;height:4px;border-radius:999px;overflow:hidden;background:#e2e8f0}.dark .calc-scale-track{background:#1e293b}.calc-scale-segment{height:100%;transition:opacity .15s ease}.calc-scale-segment.normal{background:#a7f3d0}.calc-scale-segment.mild{background:#bfdbfe}.calc-scale-segment.moderate{background:#fed7aa}.calc-scale-segment.severe{background:#fecaca}.calc-scale-segment.very-severe{background:#fda4af}.dark .calc-scale-segment.normal{background:#065f46}.dark .calc-scale-segment.mild{background:#1e40af}.dark .calc-scale-segment.moderate{background:#9a3412}.dark .calc-scale-segment.severe{background:#991b1b}.dark .calc-scale-segment.very-severe{background:#881337}.calc-scale-segment.is-active{filter:brightness(.95)}.calc-scale-levels{display:grid;grid-template-columns:repeat(5,1fr);margin-top:8px;gap:2px}.calc-scale-col{display:flex;flex-direction:column;align-items:center;text-align:center;padding:6px 2px 4px;border-radius:8px;color:var(--calc-muted);transition:all .18s ease}.calc-scale-col strong{font-size:11px;font-weight:600;line-height:1.2}.calc-scale-col span{font-size:10px;margin-top:2px;opacity:.85}.calc-scale-col.active-normal{color:var(--calc-green);background:linear-gradient(180deg,var(--calc-green-bg) 0,rgba(255,255,255,0) 100%)}.calc-scale-col.active-mild{color:var(--calc-blue);background:linear-gradient(180deg,var(--calc-blue-soft) 0,rgba(255,255,255,0) 100%)}.calc-scale-col.active-moderate{color:var(--calc-orange-text);background:linear-gradient(180deg,var(--calc-orange-bg) 0,rgba(255,255,255,0) 100%)}.calc-scale-col.active-severe{color:var(--calc-red);background:linear-gradient(180deg,var(--calc-red-bg) 0,rgba(255,255,255,0) 100%)}.calc-scale-col.active-very-severe{color:var(--calc-crimson);background:linear-gradient(180deg,var(--calc-crimson-bg) 0,rgba(255,255,255,0) 100%)}.calc-recommendation-card{margin-top:18px;padding:14px 16px;border:1px solid var(--calc-border);border-radius:12px;background:var(--calc-surface-card);box-sizing:border-box}.calc-rec-heading{display:flex;align-items:center;gap:8px;color:var(--calc-navy);font-size:13px;font-weight:700}.calc-rec-heading svg{color:var(--calc-blue)}.calc-recommendation-card p{margin:6px 0 0;color:var(--calc-muted);font-size:11.5px;line-height:1.45}.calc-schedule-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:18px;padding:0 24px;border:0;border-radius:9999px;background:#000000;color:#ffffff;font-size:13.5px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.15);transition:all .15s ease}.dark .calc-schedule-btn{background:#ffffff;color:#000000;box-shadow:0 4px 16px rgba(255,255,255,.18)}.calc-schedule-btn:hover{background:#1f2937;transform:translateY(-1px)}.dark .calc-schedule-btn:hover{background:#e5e7eb}.calc-schedule-btn:active{transform:translateY(0)}.calc-footnote{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;color:var(--calc-muted);font-size:10.5px;text-align:center}.calc-footnote svg{color:var(--calc-green)}button:focus-visible,input:focus-visible{outline:2px solid var(--calc-blue);outline-offset:2px}@media (max-width:1100px){.calc-grid{grid-template-columns:1fr}}@media (max-width:768px){.sleep-calculator-container{padding:10px 12px 30px}.calc-header{margin-bottom:24px}.calc-output-panel,.calc-risk-panel{padding:20px 18px}.calc-dual-row{gap:0}.calc-dual-row,.calc-factors-grid{grid-template-columns:1fr}.calc-scale-col strong{font-size:9.5px}.calc-scale-col span{font-size:8.5px}}@media (max-width:480px){.calc-header h2{font-size:22px}.calc-panel-heading{margin-bottom:20px}.calc-ahi-metric strong{font-size:40px}.calc-scale-levels{overflow-x:auto}.calc-scale-col{min-width:58px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important}}