.checkin-layout { grid-template-columns: minmax(200px,.65fr) minmax(0,1fr); gap:64px; max-width:1100px; }
.checkin-intro h1 { font-size:40px; letter-spacing:-1px; }
.checkin-intro p { color:var(--muted); }
.checkin-intro #progress { color:var(--mint); margin-top:32px; }
.profile-link, .pause-link, .panel a { color:var(--mint); text-underline-offset:4px; }
.panel .button-link { color:#152b23; }
.panel { min-width:0; }
.panel h2 { font-size:28px; line-height:1.3; }
.panel p,.panel label,details { font-size:15px; }
.panel .note { font-size:13px; color:var(--muted); }
.check { display:flex; gap:12px; align-items:flex-start; line-height:1.6; }
.check input { width:20px; height:20px; min-height:20px; flex-shrink:0; margin-top:2px; accent-color:var(--mint); }
textarea { width:100%; padding:14px; border:1px solid #526966; border-radius:6px; background:#101b1d; color:#e6efeb; font:inherit; line-height:1.5; resize:vertical; }
textarea:focus-visible,summary:focus-visible { outline:2px solid #e7d0a4; outline-offset:4px; }
textarea::placeholder { color:#92a8a2; }
summary { cursor:pointer; color:var(--mint); font-size:14px; }
details p { color:var(--muted); }
.scale-header { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
output { color:var(--mint); font-size:14px; }
input[type=range] { accent-color:var(--mint); padding:0; border:0; background:transparent; min-height:36px; }
input[type=range][data-unset=true] { opacity:.5; }
#anchors { display:flex; justify-content:space-between; gap:20px; font-size:13px; line-height:1.4; color:var(--muted); }
#anchors span { max-width:47%; }
#high { text-align:right; }
.rating-controls { display:flex; align-items:center; gap:16px; }
#rating-number { width:110px; }
.rating-controls button { width:auto; margin:0; font-size:13px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#review details { border-top:1px solid var(--line); padding:16px 0; }
#review p { white-space:pre-wrap; overflow-wrap:anywhere; }
#save-status { margin:20px 0; }
#dimension { margin-top:0; }
.pause-link { display:block; text-align:center; font-size:14px; }
@media(max-width:760px) { .checkin-layout { grid-template-columns:1fr; gap:20px; } .checkin-intro h1 { font-size:32px; margin:12px 0; } .checkin-intro .note { display:none; } .checkin-intro #progress { margin:12px 0 0; } .panel { padding:24px; } }
