:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f4f1;--surface:#fff;--surface-2:#faf8f5;--text:#221f1c;--text-muted:#6f6961;--border:#e7e2db;--border-strong:#d8d2c9;--primary:#7a2434;--primary-hover:#641d2b;--primary-soft:#f5e8ea;--primary-soft-text:#6b1f2e;--accent:#5f7f66;--accent-soft:#e8efea;--accent-soft-text:#3f5a46;--danger:#b33a2b;--danger-soft:#f8e9e6;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #1e19140a, 0 4px 16px #1e19140d;--shadow-raised:0 2px 6px #1e191412, 0 12px 32px #1e191417;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#161311;--surface:#201c19;--surface-2:#262220;--text:#f0ece7;--text-muted:#a69e95;--border:#332e29;--border-strong:#443e37;--primary:#9e3448;--primary-hover:#b03c51;--primary-soft:#3a2228;--primary-soft-text:#e0a3ae;--accent:#7fa187;--accent-soft:#24302a;--accent-soft-text:#a9c4af;--danger:#d06a57;--danger-soft:#3a2420;--shadow:0 1px 2px #00000040, 0 4px 16px #00000040;--shadow-raised:0 2px 6px #00000059, 0 12px 32px #0006}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#161311;--surface:#201c19;--surface-2:#262220;--text:#f0ece7;--text-muted:#a69e95;--border:#332e29;--border-strong:#443e37;--primary:#9e3448;--primary-hover:#b03c51;--primary-soft:#3a2228;--primary-soft-text:#e0a3ae;--accent:#7fa187;--accent-soft:#24302a;--accent-soft-text:#a9c4af;--danger:#d06a57;--danger-soft:#3a2420;--shadow:0 1px 2px #00000040, 0 4px 16px #00000040;--shadow-raised:0 2px 6px #00000059, 0 12px 32px #0006}}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{font-size:16px;line-height:1.55}h1{letter-spacing:-.015em;font-size:1.45rem;font-weight:700}h2{letter-spacing:-.01em;font-size:1.05rem;font-weight:650}h3{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:.78rem;font-weight:650}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input,select,textarea{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:44px;color:var(--text);padding:.6rem .85rem;transition:border-color .15s,box-shadow .15s}textarea{min-height:0}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}label{color:var(--text-muted);margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.field{margin-bottom:1.1rem}.app-shell{flex-direction:column;max-width:640px;height:100%;margin:0 auto;display:flex}.env-banner{padding:calc(env(safe-area-inset-top) + .3rem) .75rem .3rem;background:var(--primary);color:#fff;letter-spacing:.08em;text-transform:uppercase;text-align:center;font-size:.7rem;font-weight:700}.env-banner+.app-header{padding-top:1rem}.app-header{padding:calc(env(safe-area-inset-top) + 1rem) 1.35rem .9rem;background:var(--bg);justify-content:space-between;align-items:center;gap:.75rem;display:flex}.app-header h1{text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;overflow:hidden}.app-header .subtitle{color:var(--text-muted);font-size:.8rem}.icon-btn{width:44px;height:44px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.icon-btn:hover{background:var(--surface);color:var(--text)}.app-main{padding:.5rem 1.35rem calc(env(safe-area-inset-bottom) + 6rem);flex:1;overflow-y:auto}.tab-bar{background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);max-width:640px;padding-bottom:env(safe-area-inset-bottom);margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-bar a{min-height:52px;color:var(--text-muted);letter-spacing:.01em;flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:.6rem 0 .55rem;font-size:.68rem;font-weight:600;text-decoration:none;transition:color .15s;display:flex}.tab-bar a.active{color:var(--primary)}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);margin-bottom:.9rem;padding:1.15rem 1.2rem}.card-title{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.card-title .muted{text-decoration:none}.btn{border-radius:var(--radius-sm);background:var(--primary);color:#fff;justify-content:center;align-items:center;gap:.45rem;min-height:44px;padding:.6rem 1.25rem;font-size:.95rem;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.btn:hover{background:var(--primary-hover)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn.secondary{background:var(--surface);border:1px solid var(--border-strong);color:var(--text)}.btn.secondary:hover{background:var(--surface-2)}.btn.danger{color:var(--danger);background:0 0}.btn.danger:hover{background:var(--danger-soft)}.btn.small{min-height:40px;padding:.4rem .9rem;font-size:.85rem}.btn.block{width:100%;margin-top:.25rem}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;min-height:52px;padding:.7rem 0;display:flex}.list-row:last-child{border-bottom:none;padding-bottom:.2rem}.muted{color:var(--text-muted);font-size:.85rem}.badge{letter-spacing:.01em;background:var(--accent-soft);color:var(--accent-soft-text);border-radius:999px;padding:.12rem .6rem;font-size:.7rem;font-weight:650;display:inline-block}.badge.brown{background:var(--primary-soft);color:var(--primary-soft-text)}.error-msg{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.75rem .95rem;font-size:.9rem;font-weight:500}.success-msg{background:var(--accent-soft);color:var(--accent-soft-text);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.75rem .95rem;font-size:.9rem;font-weight:500}.avatar{object-fit:cover;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.avatar.placeholder{background:var(--primary-soft);color:var(--primary-soft-text);font-size:1rem;font-weight:700}.avatar.large{flex-shrink:0;width:64px;height:64px;font-size:1.5rem}.avatar-btn{border:2px solid #0000;border-radius:50%;padding:2px;transition:border-color .15s;display:inline-flex}.avatar-btn.active,.avatar-btn:hover{border-color:var(--primary)}.avatar-edit{align-items:center;gap:1rem;margin-bottom:1.1rem;display:flex}.check-row{color:var(--text);cursor:pointer;align-items:center;gap:.6rem;min-height:44px;font-size:.95rem;font-weight:500;display:flex}.check-row input[type=checkbox]{width:20px;height:20px;min-height:0;accent-color:var(--primary);flex-shrink:0}.booking-note{font-size:.8rem;font-style:italic}.bell-btn{position:relative}.bell-badge{background:var(--primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.62rem;font-weight:700;display:inline-flex;position:absolute;top:4px;right:4px}.notification-row{text-align:left;border-bottom:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:100%;padding:.75rem .6rem;transition:background .15s;display:block}.notification-row:hover{background:var(--surface)}.notification-row:last-child{border-bottom:none}.notification-row.unread{background:var(--primary-soft);border-bottom:none;margin-bottom:.3rem}.notification-row .muted{margin-top:.15rem}.profile-row .v a{color:var(--primary);font-weight:600;text-decoration:none}.profile-row .v a:hover{text-decoration:underline}.hours-row{align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}.hours-label{min-width:4.6rem;color:var(--text-muted);font-size:.85rem;font-weight:600}.hours-row input[type=time]{flex:1;min-width:0}.hours-closed{flex-shrink:0;min-height:0;font-size:.85rem}.slot-meter{background:var(--border);border-radius:999px;height:6px;margin-top:.5rem;overflow:hidden}.slot-meter span{background:var(--primary);border-radius:999px;height:100%;transition:width .25s;display:block}.rule-row{align-items:flex-start}.rule-number{background:var(--primary-soft);width:24px;height:24px;color:var(--primary-soft-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:.15rem;font-size:.75rem;font-weight:700;display:inline-flex}.empty-state{text-align:center;color:var(--text-muted);padding:2.75rem 1rem}.empty-state .icon{color:var(--border-strong);margin-bottom:.75rem;display:inline-flex}.auth-page{flex-direction:column;justify-content:center;max-width:420px;min-height:100%;margin:0 auto;padding:2rem 1.5rem;display:flex}.auth-logo{text-align:center;margin-bottom:2.25rem}.auth-logo svg{margin-bottom:.9rem;display:inline-block}.auth-logo h1{color:var(--primary);letter-spacing:-.02em;font-size:2rem}.auth-logo p{margin-top:.15rem}.switch-link{text-align:center;color:var(--text-muted);margin-top:1.25rem;font-size:.9rem}.switch-link button{color:var(--primary);padding:.5rem .3rem;font-weight:650}.choice-stack{flex-direction:column;gap:.7rem;display:flex}.day-nav{justify-content:space-between;align-items:center;margin:.4rem 0 1rem;display:flex}.day-nav button{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);width:44px;height:44px;color:var(--text-muted);justify-content:center;align-items:center;font-size:1.25rem;transition:background .15s;display:inline-flex}.day-nav button:hover{background:var(--surface-2);color:var(--text)}.day-nav .day-label{font-size:1.02rem;font-weight:700}.slot-row{border-bottom:1px solid var(--border);align-items:center;gap:.85rem;min-height:52px;padding:.45rem 0;display:flex}.slot-row:last-child{border-bottom:none}.slot-time{font-variant-numeric:tabular-nums;min-width:3.4rem;font-weight:650}.slot-info{flex:1;min-width:0}.slot-row.full .slot-time{color:var(--text-muted)}.slot-row.past{opacity:.4}.slot-row.blocked .slot-time{color:var(--danger)}.blocked-label{color:var(--danger);align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;display:inline-flex}.segmented{scrollbar-width:none;gap:.45rem;margin-bottom:.5rem;padding:.35rem 0 .55rem;display:flex;overflow-x:auto}.segmented::-webkit-scrollbar{display:none}.segmented button{white-space:nowrap;background:var(--surface);border:1px solid var(--border-strong);min-height:40px;color:var(--text-muted);border-radius:999px;padding:.45rem 1rem;font-size:.85rem;font-weight:600;transition:all .15s}.segmented button.active{background:var(--primary);border-color:var(--primary);color:#fff}.modal-backdrop{z-index:50;background:#0f0c0a73;justify-content:center;align-items:flex-end;animation:.18s fade-in;display:flex;position:fixed;inset:0}.modal{background:var(--bg);width:100%;max-width:640px;max-height:88vh;padding:1.35rem 1.35rem calc(env(safe-area-inset-bottom) + 1.35rem);box-shadow:var(--shadow-raised);border-radius:20px 20px 0 0;animation:.22s slide-up;overflow-y:auto}.modal>h2{margin-bottom:1.1rem;font-size:1.2rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal{animation:none}}.invite-code{letter-spacing:.3rem;text-align:center;font-variant-numeric:tabular-nums;background:var(--primary-soft);color:var(--primary-soft-text);border-radius:var(--radius-sm);-webkit-user-select:all;user-select:all;margin:.9rem 0;padding:.85rem;font-size:1.6rem;font-weight:750}.spinner-page{height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.horse-row{text-align:left;cursor:pointer;border-radius:var(--radius-sm);width:100%;transition:background .15s}.horse-row:hover{background:var(--surface-2)}.horse-row-info{flex:1;min-width:0}.horse-row-info .badge{margin-left:.45rem}.horse-row>.muted{color:var(--border-strong);display:inline-flex}.horse-thumb{border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;width:48px;height:48px}.horse-thumb.placeholder{background:var(--primary-soft);color:var(--primary-soft-text);justify-content:center;align-items:center;display:inline-flex}.horse-photo{object-fit:cover;border-radius:var(--radius);width:100%;max-height:220px;margin-bottom:1rem}.profile-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:.9rem;padding:.9rem 1.1rem}.profile-section h3{margin-bottom:.45rem}.profile-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.38rem 0;font-size:.92rem;display:flex}.profile-row:last-child{border-bottom:none}.profile-row .k{color:var(--text-muted);flex-shrink:0}.profile-row .v{text-align:right;font-weight:500}.profile-actions{flex-wrap:wrap;gap:.55rem;margin-top:1.1rem;display:flex}.meal-fields{gap:.6rem;display:flex}.meal-fields .field{flex:1}.announcement{border-bottom:1px solid var(--border);padding:.75rem 0}.announcement:last-child{border-bottom:none;padding-bottom:.2rem}.announcement-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.announcement-body{white-space:pre-wrap;margin:.25rem 0}
