.sleep-page{--sleep-radius:24px}.sleep-page .sleep-panel{border:1px solid var(--color-border);border-radius:var(--sleep-radius);background:var(--color-card);padding:28px}.sleep-page .sleep-section-heading{align-items:flex-start;gap:16px;display:flex}.sleep-page .sleep-section-heading h2{letter-spacing:-.025em;font-size:1.5rem;font-weight:650}.sleep-page .sleep-section-heading p{color:var(--color-muted-foreground);max-width:680px;margin-top:8px;line-height:1.65}.sleep-page .sleep-step{width:39px;height:39px;color:var(--color-primary);background:var(--color-primary-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.sleep-page .sleep-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.sleep-page .sleep-field{flex-direction:column;gap:8px;min-width:0;font-size:.875rem;font-weight:550;display:flex}.sleep-page .sleep-field small{color:var(--color-muted-foreground);font-weight:400;line-height:1.5}.sleep-page :is(input,select){background:var(--color-background);width:100%;min-width:0;min-height:46px;color:var(--color-foreground);border:1px solid var(--color-border);font:inherit;border-radius:10px;padding:10px 12px;font-size:16px}.sleep-page :is(input,select,button,a):focus-visible{outline:3px solid var(--color-ring);outline-offset:3px}.sleep-page input::-webkit-date-and-time-value{text-align:left}.sleep-page .sleep-privacy{max-width:650px;color:var(--color-muted-foreground);gap:10px;margin-top:28px;font-size:12px;line-height:1.6;display:flex}.sleep-page :is(.sleep-primary,.sleep-secondary){cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:13px 22px;font-size:14px;font-weight:600;transition:opacity .15s;display:inline-flex}.sleep-page .sleep-primary{color:var(--color-primary-foreground);background:var(--color-primary)}.sleep-page .sleep-secondary{border:1px solid var(--color-border);background:var(--color-card);color:var(--color-foreground)}.sleep-page button:disabled{opacity:.5;cursor:default}.sleep-page .sleep-text-button{color:var(--color-primary);cursor:pointer;padding:10px 8px;font-size:13px;font-weight:550}.sleep-page .sleep-week{border:1px solid var(--color-border);cursor:pointer;border-radius:10px;padding:10px 16px;font-size:13px}.sleep-page .sleep-week.active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.sleep-page .sleep-rota-row{background:var(--color-background);border-radius:14px;grid-template-columns:110px 160px 1fr;align-items:center;gap:16px;padding:14px 16px;display:grid}.sleep-page .sleep-rota-date{font-size:13px;font-weight:600}.sleep-page .sleep-rota-times{gap:12px;display:flex}.sleep-page .sleep-rota-times label{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.sleep-page .sleep-rota-times label span{color:var(--color-muted-foreground);font-size:12px}.sleep-page .sleep-results{margin-top:48px;animation:.25s ease-out sleep-appear}.sleep-page .sleep-days{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.sleep-page .sleep-day{border:1px solid var(--color-border);border-radius:var(--sleep-radius);background:var(--color-card);min-width:0;padding:26px}.sleep-page .sleep-event{align-items:flex-start;gap:12px;font-size:13px;line-height:1.55;display:flex}.sleep-page .sleep-event svg{color:var(--color-muted-foreground);flex-shrink:0;margin-top:2px}.sleep-page .sleep-event dt{color:var(--color-muted-foreground)}.sleep-page .sleep-event dd{overflow-wrap:anywhere;font-weight:550}.sleep-page .sleep-event-main{background:var(--color-primary-light);border-radius:14px;padding:15px}.sleep-page .sleep-event-main :is(dt,svg){color:var(--color-primary)}.sleep-page .sleep-warning{color:var(--color-foreground);border-left:3px solid var(--color-primary);background:var(--color-muted);border-radius:0 10px 10px 0;gap:8px;padding:12px 14px;font-size:12px;line-height:1.65;display:flex}.sleep-page :is(.sleep-timeline-row,.sleep-timeline-axis){grid-template-columns:105px 1fr;align-items:center;gap:14px;display:grid}.sleep-page .sleep-timeline-axis{margin:22px 0 10px}.sleep-page .sleep-timeline-axis div{justify-content:space-between;display:flex}.sleep-page :is(.sleep-timeline-axis,.sleep-timeline-row){color:var(--color-muted-foreground);font-size:11px}.sleep-page .sleep-track{background:var(--color-muted);background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(25% - 1px),var(--color-border)calc(25% - 1px),var(--color-border)25%);border-radius:7px;height:21px;position:relative;overflow:hidden}.sleep-page .sleep-track i{background:var(--color-primary);border-radius:6px;position:absolute;top:3px;bottom:3px}@keyframes sleep-appear{0%{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.sleep-page .sleep-results{animation:none}.sleep-page *{scroll-behavior:auto}}@media (prefers-color-scheme:dark){.sleep-page :is(.sleep-hero-image,.sleep-learn img){filter:brightness(.8)saturate(.85)}}@media (max-width:639px){.sleep-page .sleep-panel{padding:20px}.sleep-page .sleep-fields{grid-template-columns:1fr;gap:18px}.sleep-page .sleep-section-heading{gap:11px}.sleep-page .sleep-section-heading h2{font-size:1.3rem}.sleep-page .sleep-section-heading p{font-size:14px}.sleep-page .sleep-rota-row{grid-template-columns:100px 1fr;gap:10px;padding:12px}.sleep-page .sleep-rota-times{grid-column:1/-1}.sleep-page .sleep-rota-times label{display:block}.sleep-page .sleep-rota-times label span{margin-bottom:4px;display:block}.sleep-page .sleep-days{grid-template-columns:1fr}.sleep-page .sleep-day{padding:22px}.sleep-page :is(.sleep-timeline-row,.sleep-timeline-axis){grid-template-columns:80px 1fr;gap:8px}.sleep-page .sleep-hero-image{border-radius:24px}}@media print{.sleep-page [data-result-action=app],.sleep-page .sleep-hero-image{display:none!important}body:has(.sleep-page)>header{display:none!important}body:has(.sleep-page)>footer{display:none!important}.sleep-page{color:#172033;max-width:none;padding:0}.sleep-page .sleep-results{margin-top:20px}.sleep-page .sleep-day{break-inside:avoid;border:1px solid #ccc;padding:15px}.sleep-page .sleep-panel{break-inside:avoid;padding:15px}.sleep-page .sleep-days{gap:12px}.sleep-page .sleep-hero h1{font-size:24px}.sleep-page .sleep-hero p{margin-top:6px;font-size:12px}.sleep-page .sleep-event-main{border:1px solid #b8c9e0}.sleep-page .sleep-track i{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
