/* Quick record sheet: a dialog on wide screens, a bottom sheet on phones with the save
   button pinned above the home indicator and lifted above the on-screen keyboard. */
dialog.q-sheet[open]{display:flex;flex-direction:column;width:min(560px,calc(100% - 28px));max-height:min(88vh,880px);padding:0;overflow:hidden}
.q-sheet .sheet-grabber{display:none}
.q-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 12px;border-bottom:1px solid #26364c}
.q-head>div{flex:1;min-width:0}
.q-head h2{font-size:18px;line-height:1.3;overflow-wrap:anywhere}
.q-head p{color:var(--muted);font-size:12px;margin-top:3px;overflow-wrap:anywhere}
.q-head .q-plan{color:#b9cde9}
.q-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#1a2c45;color:#9fc5ff;flex-shrink:0}
.q-icon .icon{width:20px;height:20px}
.q-form{display:flex;flex-direction:column;flex:1;min-height:0}
.q-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px 20px 18px;display:flex;flex-direction:column;gap:6px}
.q-field{border:0;padding:0;margin:6px 0;min-width:0}
.q-field .field-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-bottom:6px}
.q-req{font-size:11px;font-weight:400;color:#9fb6d3}
.q-unit{font-weight:400;color:var(--muted)}
.q-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.q-chips.is-wrap{display:flex;flex-wrap:wrap}
.q-chip{position:relative;display:block;cursor:pointer;min-width:0}
.q-chip input{position:absolute;opacity:0;width:1px;height:1px}
.q-chip span{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:48px;padding:8px 12px;border:1px solid #33496a;border-radius:12px;background:#101c2d;color:#d6e6fb}
.q-chips.is-wrap .q-chip span{min-height:44px}
.q-chip strong{font-size:14px;font-weight:600}
.q-chip small{font-size:11px;color:var(--muted);line-height:1.3}
.q-chip input:checked+span{border-color:#6298de;background:#1d3354;box-shadow:inset 0 0 0 1px #6298de}
.q-chip input:checked+span strong::before{content:'✓ ';color:#9fc5ff}
.q-chip input:focus-visible+span{outline:2px solid #8ebcff;outline-offset:2px}
.q-chip input[aria-invalid="true"]+span{border-color:#ff9d8a}
.q-input-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.q-input-row input{flex:1 1 140px;min-width:0}
.q-field input:not([type=radio]),.q-field select{min-height:44px}
.q-field [aria-invalid="true"]{border-color:#ff9d8a!important}
.q-suggest{min-height:44px;padding:6px 12px;border-radius:22px;border:1px dashed #4c74a8;background:transparent;color:#a9c9f4;font-size:12px}
.q-suggest:focus-visible{outline:2px solid #8ebcff;outline-offset:2px}
.q-date-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.q-date-row input{min-height:44px;max-width:200px}
.q-error{color:#ffc2ae;font-size:12px;margin-top:4px}
.q-error:empty{display:none}
.q-skip-note{margin:2px 0 6px}
.q-more{border-top:1px solid #26364c;margin-top:8px;padding-top:2px}
.q-more summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#a9c9f4;font-size:13px}
.q-more[open] summary{margin-bottom:4px}
.q-edit-note{margin:0 0 4px}
.q-footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid #26364c;background:#111c2d}
.q-feedback{flex-basis:100%;font-size:12px}
.q-feedback:empty{display:none}
.q-msg{color:#b9cde9}
.q-msg-error{color:#ffc2ae}
.q-spacer{flex:1}
.q-full{min-height:44px}
.q-save{min-width:150px}
.q-confirm{flex-basis:100%;display:flex;flex-direction:column;gap:10px}
.q-confirm p{font-size:13px;color:#d6e6fb}
.q-confirm div{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.q-done{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:#10241f;border:1px solid #3d7a68;margin-bottom:8px}
.q-done:focus{outline:2px solid #8ebcff;outline-offset:2px}
.q-done>.icon{color:#71dab3;width:22px;height:22px;flex-shrink:0;margin-top:2px}
.q-done p{font-size:13px;color:#c9dbef;margin-top:2px}
.q-facts{margin-top:6px}
@media(max-width:700px){
 dialog.q-sheet[open]{width:100%;max-width:100%;margin:auto 0 var(--vv-bottom,0);max-height:min(92dvh,calc(100dvh - 24px - var(--vv-bottom,0px)));border-radius:22px 22px 0 0;border-bottom:0}
 .q-sheet .sheet-grabber{display:grid;height:28px;min-height:28px}
 .q-head{padding:6px 16px 12px}
 .q-body{padding:12px 16px 16px}
 .q-footer{padding:10px 16px max(12px,env(safe-area-inset-bottom))}
 .q-chips{gap:6px}
 .q-chip span{padding:8px 9px}
 .q-chip small{font-size:10.5px}
 .q-save{flex:1 1 auto}
}
@media(prefers-reduced-motion:no-preference){dialog.q-sheet[open]{animation:q-enter 200ms cubic-bezier(.2,.75,.25,1)}}
body[data-motion="reduced"] dialog.q-sheet[open]{animation:none}
@keyframes q-enter{from{transform:translateY(16px);opacity:.6}to{transform:none;opacity:1}}
