@font-face{font-family:"Inter";font-weight:400;src:url(fonts/Inter-Regular.otf) format("opentype");font-display:swap}
@font-face{font-family:"Inter";font-weight:600;src:url(fonts/Inter-SemiBold.otf) format("opentype");font-display:swap}
@font-face{font-family:"Inter";font-weight:700;src:url(fonts/Inter-Bold.otf) format("opentype");font-display:swap}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.4 "Inter",-apple-system,system-ui,sans-serif;min-height:100vh;min-height:100dvh;overscroll-behavior-y:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
.num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.wrap{max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 14px) 18px calc(env(safe-area-inset-bottom) + 120px)}
.hidden{display:none!important}
/* bottom sheet */
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .2s;z-index:40}
.scrim.on{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;max-width:560px;margin:0 auto;background:var(--sheet);border-radius:22px 22px 0 0;padding:10px 18px calc(env(safe-area-inset-bottom) + 18px);max-height:92dvh;overflow:auto;transform:translateY(105%);transition:transform .25s cubic-bezier(.2,.8,.2,1);z-index:50;box-shadow:0 -12px 40px rgba(0,0,0,.35)}
.sheet.on{transform:none}
.sheet .grip{width:38px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 12px}
.sheet h2{margin:0 0 14px;font-size:20px}
.fld{display:block;margin:0 0 12px}
.fld>span{display:block;font-size:12px;color:var(--mute);margin:0 0 5px;letter-spacing:.02em}
.fld input,.fld select,.fld textarea{width:100%;background:var(--field);border:1px solid var(--line);border-radius:12px;padding:13px 14px;font-size:17px;outline:none;appearance:none;-webkit-appearance:none}
.fld input:focus,.fld select:focus{border-color:var(--accent)}
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.fld input[type=datetime-local]{min-height:50px}
.err{color:var(--bad);font-size:14px;min-height:20px;margin:4px 0}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 96px);transform:translate(-50%,20px);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:12px;font-size:14px;opacity:0;transition:.25s;z-index:60;pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}
