:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182538;background:#fff;font-synthesis:none;--blue:#1764ed;--muted:#778397;--line:#e8edf3}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #88b4ff;outline-offset:3px}[hidden]{display:none!important}
.app{max-width:420px;margin:0 auto;padding:30px 24px 40px}.brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#7a8593;font-size:11px;letter-spacing:1.7px;font-weight:750}.brand-mark{width:13px;height:13px;border-radius:4px;background:var(--blue);transform:rotate(-12deg)}h1{font-size:27px;letter-spacing:-1.05px;margin:18px 0 24px;font-weight:750;line-height:1.2}h2,h3{margin:0;font-weight:700;letter-spacing:-.5px}h2{font-size:22px}h3{font-size:17px}.intro{font-size:15px;line-height:1.7;color:#728096;margin:16px 0 25px}.field-label{display:block;font-size:12px;font-weight:650;margin:15px 0 9px}.field{width:100%;height:50px;padding:0 13px;border:1px solid #dce3ed;border-radius:12px;color:#182538;background:#fff;font-size:16px}.field:focus{border-color:var(--blue)}.hint,.login-note{font-size:12px;line-height:1.65;color:var(--muted)}.login-note{margin-top:22px}.error{color:#bd343b;font-size:13px;line-height:1.5;padding:10px 12px;border-radius:10px;background:#fff1f1;margin:13px 0}.spaced{margin-top:16px}.text-link,.text-button{color:var(--blue);font-size:12px;font-weight:600}.text-link{display:inline-block;margin-top:25px;text-decoration:none}.text-button{background:none;border:0;padding:0}.person{display:flex;align-items:center;gap:10px;background:#f5f7fa;border-radius:13px;padding:10px 12px;margin-bottom:24px}.avatar{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;background:#e4edff;border-radius:11px;color:var(--blue);font-size:12px;font-weight:750}.person-name{font-size:14px;font-weight:650;flex:1}.icon-button{width:32px;height:32px;display:grid;place-items:center;border:0;background:transparent;color:#8793a5;padding:5px}.icon-button svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.admin-link{display:block;margin:-10px 0 22px auto}fieldset{min-width:0;border:0;padding:0;margin:0}.section-label{font-size:12px;font-weight:650;margin:0 0 11px}.calendar{border:1px solid var(--line);border-radius:18px;padding:15px 12px 11px}.monthbar{display:flex;align-items:center;justify-content:space-between;margin:0 4px 18px}.month{font-size:15px;font-weight:650;text-transform:capitalize}.arrows{display:flex;gap:4px}.arrow{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#5d6d82;font-size:24px;font-weight:350;line-height:1}.week,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.week{font-size:9px;font-weight:650;color:#95a0ae;letter-spacing:.4px;margin-bottom:9px}.day{height:40px;border:0;background:transparent;border-radius:11px;font-size:19.5px;font-weight:700;line-height:1;color:#354359;padding:0;display:grid;place-items:center}.day.outside{color:#697a90}.day:disabled{color:#c8ced7;opacity:1}.day.today{font-weight:750;color:var(--blue)}.day.selected{color:#fff;background:var(--blue);box-shadow:0 4px 10px #1764ed25;font-weight:750}.day:not(:disabled):not(.selected):hover{background:#f0f5ff}.time-heading{margin-top:24px}.times{display:grid;grid-template-columns:1fr 1fr;gap:12px}.time-box{border:1px solid var(--line);border-radius:16px;padding:13px 12px 10px;text-align:center;overflow:hidden}.time-label{font-size:11px;color:#7a8799;display:block;margin-bottom:5px}.time-wheel{position:relative;border-radius:10px;overflow:hidden}.time-wheel::before{content:"";position:absolute;inset:42px 0 auto;height:42px;border-top:1px solid #edf1f7;border-bottom:1px solid #edf1f7;background:#f7f9ff;pointer-events:none}.time-scroll{height:calc(var(--time-row-height,42px)*3);padding-block:var(--time-row-height,42px);overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-y;user-select:none;position:relative;mask-image:linear-gradient(transparent,#000 28%,#000 72%,transparent)}.time-scroll::-webkit-scrollbar{display:none}.time-scroll:focus-visible{outline:3px solid #88b4ff;outline-offset:-3px;border-radius:10px}.time-scroll.is-dragging{scroll-snap-type:none}.time-scroll[aria-disabled=true]{overflow-y:hidden;pointer-events:none;opacity:.5}.time-option{height:var(--time-row-height,42px);display:grid;place-items:center;scroll-snap-align:center;color:#1b2d4d;font-size:29px;font-weight:650;letter-spacing:-1px;font-variant-numeric:tabular-nums;cursor:grab}.is-dragging .time-option{cursor:grabbing}.time-hint{text-align:center;font-size:10px;color:#94a0b0;margin:10px 0 21px}.summary{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:13px;gap:8px}.summary span:last-child{color:#738198;font-size:11px}.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:15px;min-height:50px;width:100%;border:0;border-radius:13px;background:var(--blue);color:#fff;font-size:14px;font-weight:650;padding:12px 14px}.primary:not(:disabled):hover{background:#0956da}.primary span{font-size:20px;font-weight:400}.secondary{background:#ecf2ff;color:var(--blue)}.footnote{text-align:center;font-size:10px;color:#98a3b2;line-height:1.7;margin:17px 0 22px}.history{border-top:1px solid var(--line);padding-top:15px;font-size:12px}.history summary{color:#6e7e94;cursor:pointer}.history ul,.admin-users{list-style:none;padding:0}.history li{display:flex;justify-content:space-between;gap:12px;font-size:12px;border-top:1px solid var(--line);padding:12px 0}.history li:first-child{border-top:0}.history li span:last-child{color:#7a8799}.modal{width:calc(100% - 36px);max-width:360px;border:0;border-radius:24px;padding:25px;color:#182538;box-shadow:0 16px 70px #12233b25;max-height:calc(100dvh - 36px);overflow:auto}.modal::backdrop{background:#17283d66;backdrop-filter:blur(3px)}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.close{border:0;background:#f3f5f8;color:#7f8b9b;width:30px;height:30px;border-radius:50%;font-size:23px;font-weight:300;display:grid;place-items:center;line-height:1}.modal .intro{font-size:13px;margin-top:10px;margin-bottom:20px}.result-modal{text-align:center;padding-top:31px}.result-mark{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#e9f7ef;color:#2e9a62;font-size:32px;margin:0 auto 20px}.result-mark.failed{background:#fff0ef;color:#c34444}.result-modal h2{font-size:22px}.result-detail{display:flex;flex-direction:column;gap:8px;margin:21px 0;padding:16px;border:1px solid var(--line);border-radius:14px;font-size:13px;color:#6a7890}.result-detail strong{font-size:25px;font-weight:650;color:#21314b}.admin-modal{max-width:430px}.admin-users{margin-bottom:25px}.admin-users li{padding:13px 0;border-bottom:1px solid var(--line)}.admin-users strong{font-size:13px;display:block}.admin-users small{display:block;color:var(--muted);font-size:11px;margin:5px 0 10px}.admin-actions{display:flex;gap:16px;flex-wrap:wrap}.activation-link{border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.activation-link input{font-size:12px}#login-view{padding-top:13px}#login-view .intro{font-size:22px;line-height:1.45;letter-spacing:-.5px;margin:10px 0 33px}
@media(max-width:350px){.app{padding:24px 16px 30px}h1{font-size:25px}.calendar{padding:14px 8px 9px}.modal{padding:22px 19px}.time-option{font-size:27px}.summary{font-size:11px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .12s,color .12s}dialog[open]{animation:appear .18s ease-out}@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
