:root{--bg: #F5F1EC;--surface: #FFFFFF;--text: #1F1B18;--muted: #8A817A;--divider: #E8E1D9;--accent: #B76E6E;--danger: #A33B3B;--radius: 14px;--page: 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100dvh}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button{border:none;background:none;cursor:pointer}.page{max-width:620px;margin:0 auto;padding:var(--page);padding-bottom:calc(var(--page) + env(safe-area-inset-bottom,0px))}.title{font-size:26px;font-weight:650;letter-spacing:-.02em;margin:0}.subtitle{color:var(--muted);font-size:14px;margin:6px 0 0}.segmented{display:flex;gap:4px;background:#ede7e0;border-radius:999px;padding:4px;margin:20px 0 16px}.segmented button{flex:1;padding:9px 12px;border-radius:999px;font-size:14px;font-weight:500;color:var(--muted);transition:background .15s,color .15s}.segmented button[data-active=true]{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #1f1b1814}.day{font-size:13px;font-weight:600;color:var(--muted);margin:22px 0 8px 2px;letter-spacing:.01em}.card{width:100%;display:flex;align-items:center;gap:14px;text-align:left;background:var(--surface);border-radius:var(--radius);padding:14px 16px;margin-bottom:8px;box-shadow:0 1px 2px #1f1b180d;transition:transform .12s}.card:active{transform:scale(.994)}.card[data-cancelled=true]{opacity:.55}.card-time{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums;min-width:58px}.card-body{flex:1;min-width:0}.card-name{font-size:15px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card[data-cancelled=true] .card-name{text-decoration:line-through}.card-meta{font-size:12.5px;color:var(--muted);margin-top:3px;display:flex;gap:8px;flex-wrap:wrap}.code{font-variant-numeric:tabular-nums;letter-spacing:.02em}.tag-cancelled{color:var(--danger);font-weight:600}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f1b1852;display:flex;align-items:flex-end;justify-content:center;animation:fade .16s ease-out}.sheet{width:100%;max-width:620px;background:var(--bg);border-radius:20px 20px 0 0;padding:20px var(--page) calc(24px + env(safe-area-inset-bottom,0px));animation:rise .2s ease-out}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{transform:translateY(14px)}to{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.scrim,.sheet{animation:none}}.sheet h2{font-size:19px;font-weight:650;margin:0 0 2px}.field{display:flex;gap:10px;margin:16px 0}.field input{flex:1;background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:12px 14px;font-size:16px}.btn{width:100%;padding:14px;border-radius:12px;font-size:15px;font-weight:600;background:var(--text);color:#fff;margin-top:4px}.btn[disabled]{opacity:.45}.btn-quiet{background:transparent;color:var(--muted);font-weight:500}.btn-danger{background:transparent;color:var(--danger);border:1px solid #E6CFCF}.empty{text-align:center;color:var(--muted);font-size:14px;padding:56px 0}.error{background:#fbeded;border:1px solid #EFD4D4;color:var(--danger);border-radius:12px;padding:10px 14px;font-size:13.5px;margin-top:14px}.login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--page)}.login-card{width:100%;max-width:360px;background:var(--surface);border-radius:18px;padding:28px 24px;box-shadow:0 2px 10px #1f1b180f}
