/* 구조 규칙 — 테마와 무관한 동작 담당 (스킨은 theme.css) */
[hidden]{display:none !important}
.view{display:none}
body[data-mode="morning"] .view-morning{display:block}
body[data-mode="day"] .view-day{display:block}

/* 바텀 시트 */
.sheet-overlay{
  position:fixed;inset:0;background:rgba(60,45,30,.45);z-index:80;
  display:flex;align-items:flex-end;justify-content:center;
}
.sheet{
  width:100%;max-width:430px;max-height:84vh;overflow-y:auto;
  border-radius:14px 14px 0 0;
  padding:18px 16px calc(22px + env(safe-area-inset-bottom));
}
.sheet h3{margin:0 0 12px;font-size:20px}
.sheet .sec{margin-top:20px}
.sheet-acts{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
.f-row{display:flex;align-items:center;gap:10px;margin:10px 0;flex-wrap:wrap}
.f-row>label{flex:0 0 88px;font-size:16px}
.f-row input[type=text],.f-row input[type=time],.f-row input[type=date],
.f-row input[type=number],.f-row select{
  flex:1;min-width:90px;font:inherit;padding:7px 10px;
}
.f-row input[type=checkbox]{width:20px;height:20px}
.seg{display:flex;gap:6px;flex-wrap:wrap}

/* 토스트 */
.toast-wrap{
  position:fixed;left:0;right:0;bottom:calc(118px + env(safe-area-inset-bottom));
  display:flex;flex-direction:column;align-items:center;gap:8px;z-index:90;pointer-events:none;
}
.toast{
  opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s;
  max-width:340px;padding:10px 16px;font-size:16px;
}
.toast.show{opacity:1;transform:none}

/* 접근성 보조 */
button{touch-action:manipulation}
