.ledger-page .step-title{font-family:var(--font-body)}.week-day{border-radius:calc(var(--radius) * .5);border:1px solid var(--border);background:var(--card);min-height:72px;color:var(--foreground);flex-direction:column;justify-content:center;align-items:center;gap:1px;transition:transform .18s cubic-bezier(.2,0,0,1),background-color .22s,color .22s,border-color .22s;display:flex;position:relative}.week-day:hover{border-color:var(--foreground)}.week-day:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.week-day[data-closed=true]{color:var(--muted-foreground);background-color:#0000;background-image:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--foreground) 9%, transparent) 0 1px, transparent 1px 6px);border-style:dashed}.week-day[aria-pressed=true]{background:var(--foreground);border-color:var(--foreground);color:var(--background);background-image:none}.week-day .free-bar{gap:2px;margin-top:3px;display:flex}.week-day .free-bar>i{border-radius:calc(var(--radius) * .08);opacity:.25;background:currentColor;width:4px;height:4px;display:block}.week-day .free-bar>i[data-on]{opacity:.9}.slot-covered{background:color-mix(in srgb, var(--svc) 26%, var(--card));color:var(--foreground);outline:1.5px dashed color-mix(in srgb, var(--svc) 70%, var(--foreground));outline-offset:-4px}@media (prefers-reduced-motion:no-preference){.slot-covered{animation:.36s cubic-bezier(.22,1,.36,1) backwards cover-in}.slot-covered:nth-child(n){animation-delay:80ms}@keyframes cover-in{0%{background:var(--card)}}}.field{border-radius:calc(var(--radius) * .5);border:1px solid var(--input);background:var(--card);width:100%;height:48px;color:var(--foreground);padding:0 14px;font-size:16px;transition:border-color .2s,box-shadow .2s;display:block}.field::placeholder{color:var(--muted-foreground)}.field:hover{border-color:color-mix(in srgb, var(--foreground) 50%, var(--border))}.field:focus-visible{border-color:var(--foreground);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 30%, transparent);outline:none}.field[aria-invalid=true]{border-color:var(--destructive)}.chip{border-radius:calc(var(--radius) * .5);border:1.5px solid var(--foreground);background:var(--card);min-height:40px;color:var(--foreground);cursor:pointer;align-items:center;gap:.4rem;padding:0 14px;font-size:14px;font-weight:700;transition:transform .16s cubic-bezier(.2,0,0,1),background-color .2s,color .2s;display:inline-flex}.chip:hover{background:var(--foreground);color:var(--background)}.chip:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.chip:active{transform:scale(.96)}.bottom-bar{z-index:40;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--background) 94%, transparent);border-top:1px solid var(--border);position:fixed;bottom:0;left:0;right:0}@media (min-width:1024px){.bottom-bar{background:0 0;border:0;padding:0;position:static}}.pay-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.pay-rail button{border-radius:calc(var(--radius) * .5);border:1px solid var(--border);background:var(--background);min-height:44px;color:var(--muted-foreground);cursor:pointer;font-size:14px;font-weight:700;transition:border-color .2s,color .2s,box-shadow .2s}.pay-rail button:hover{color:var(--foreground);border-color:var(--foreground)}.pay-rail button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.pay-rail button[aria-checked=true]{color:var(--foreground);border-color:var(--foreground);box-shadow:0 0 0 1px var(--foreground) inset, 0 3px 0 0 var(--foreground)}.pay-rail button:disabled{cursor:not-allowed;opacity:.55}.skel{border-radius:calc(var(--radius) * .25);background:color-mix(in srgb, var(--foreground) 7%, transparent)}.saved-note{border-radius:calc(var(--radius) * .4)}.ticket{display:flex;position:relative}.ticket-stub{border-radius:var(--radius) 0 0 var(--radius);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;width:92px;padding:14px 8px;display:flex;position:relative}.ticket-stub:after{content:"";border-radius:calc(var(--radius) * .12);opacity:.5;border:1px dashed;position:absolute;inset:5px}.bk-row{transition:background-color .2s}.bk-row:hover{background:var(--muted)}.status-tag{border-radius:calc(var(--radius) * .2);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:5px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.status-tag[data-s=booked]{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.status-tag[data-s=arrived]{background:var(--muted);color:var(--foreground)}.status-tag[data-s=no_show]{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary)}.status-tag[data-s=cancelled]{background:var(--muted);color:var(--muted-foreground)}.ticket-new{box-shadow:0 0 0 2px var(--foreground), 0 14px 34px -20px color-mix(in srgb, var(--p-jjok) 40%, transparent)}.new-patch{pointer-events:none;width:72px;height:72px;position:absolute;top:-18px;right:10px}@media (prefers-reduced-motion:no-preference){.skel{animation:1.4s ease-in-out infinite skel-breathe}@keyframes skel-breathe{50%{opacity:.55}}.week-day:active{transform:scale(.94)}.ticket-new{animation:.52s cubic-bezier(.22,1,.36,1) .3s backwards ticket-settle}@keyframes ticket-settle{30%{transform:translateY(3px)scale(.995)}}.saved-note{animation:.36s cubic-bezier(.22,1,.36,1) backwards note-in}@keyframes note-in{0%{opacity:0;transform:translateY(-4px)}}}
