.reminder-alert{z-index:var(--z-reminder-alert);justify-content:center;align-items:center;padding:1.25rem;animation:.28s both reminderAlertIn;display:flex;position:fixed;inset:0}.reminder-alert__backdrop{-webkit-backdrop-filter:blur(10px);background:#0f172a8c;position:absolute;inset:0}.reminder-alert__dialog{z-index:1;border-radius:calc(var(--radius-lg) + 4px);background:var(--color-surface);border:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);width:min(520px,100%);padding:1.5rem 1.55rem 1.35rem;animation:.32s cubic-bezier(.22,1,.36,1) both reminderDialogIn;position:relative;box-shadow:0 24px 60px #0f172a47,0 2px 8px #0f172a14}.reminder-alert__eyebrow{color:var(--color-primary);font-size:var(--font-size-sm);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:.85rem;font-weight:800;display:flex}.reminder-alert__missed{margin-left:auto}.reminder-alert__title{letter-spacing:-.03em;color:var(--color-text);margin:0;font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:800;line-height:1.2}.reminder-alert__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:.7rem 0 0;line-height:1.5}.reminder-alert__rates{flex-direction:column;gap:.95rem;margin-top:.95rem;display:flex}.reminder-alert__rates-hotel{flex-direction:column;gap:.45rem;display:flex}.reminder-alert__rates-hotel-name{letter-spacing:-.02em;color:var(--color-text);text-transform:uppercase;margin:0;font-size:clamp(1.05rem,2vw,1.25rem);font-weight:800;line-height:1.25}.reminder-alert__rates-details,.reminder-alert__rates-compact{font-size:var(--font-size-sm);color:var(--color-text);flex-direction:column;gap:.28rem;margin:0;padding:0;list-style:none;display:flex}.reminder-alert__rates-details li,.reminder-alert__rates-compact li{flex-wrap:wrap;align-items:baseline;gap:.2rem .35rem;line-height:1.4;display:flex}.reminder-alert__rates-details li:before,.reminder-alert__rates-compact li:before{content:"•";color:var(--color-text-secondary);font-weight:700}.reminder-alert__rates-key{color:var(--color-text-secondary);font-weight:650}.reminder-alert__rates-date{color:#dc2626;font-weight:800}.reminder-alert__rates-days{color:var(--color-text);font-weight:800}.reminder-alert__rates-days--urgent{color:#ea580c}.reminder-alert__rates-empty{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:.85rem 0 0}.reminder-alert__meta{font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-top:1.1rem;display:flex}.reminder-alert__meta span{align-items:center;gap:.35rem;display:inline-flex}.reminder-alert__actions{flex-wrap:wrap;gap:.55rem;margin-top:1.35rem;display:flex}.reminder-alert__snooze{border-top:1px solid var(--color-border);margin-top:1.2rem;padding-top:1rem}.reminder-alert__snooze-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.reminder-alert__snooze-head h3{font-size:var(--font-size-sm);color:var(--color-text);margin:0;font-weight:800}.reminder-alert__snooze-options{gap:.5rem;display:grid}.reminder-alert__snooze-option{appearance:none;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg-muted,#f8fafc) 70%, var(--color-surface));color:var(--color-text);border-radius:var(--radius-md);text-align:left;font:inherit;font-size:var(--font-size-sm);cursor:pointer;padding:.7rem .9rem;font-weight:650;transition:border-color .15s,background .15s,transform .15s}.reminder-alert__snooze-option:hover{border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));transform:translateY(-1px)}.reminder-alert__custom{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.reminder-alert__custom-actions{grid-column:1/-1;justify-content:flex-end;gap:.5rem;display:flex}@keyframes reminderAlertIn{0%{opacity:0}to{opacity:1}}@keyframes reminderDialogIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=560px){.reminder-alert__dialog{padding:1.2rem 1.1rem 1.1rem}.reminder-alert__actions{flex-direction:column}.reminder-alert__actions .btn,.reminder-alert__actions button{width:100%}.reminder-alert__custom{grid-template-columns:1fr}.reminder-alert__missed{margin-left:0}}.supabase-boot{background:radial-gradient(circle at top, #e8eef8 0%, transparent 45%), var(--color-bg,#f1f5f9);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.supabase-boot__card{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff);text-align:center;border-radius:16px;width:min(420px,100%);padding:1.75rem 1.5rem;box-shadow:0 12px 40px #0f172a14}.supabase-boot__card--error{text-align:left}.supabase-boot__spinner{border:3px solid #dbe3f0;border-top-color:var(--color-primary,#2563eb);border-radius:999px;width:2.25rem;height:2.25rem;margin:0 auto 1rem;animation:.8s linear infinite supabase-boot-spin}@keyframes supabase-boot-spin{to{transform:rotate(360deg)}}.supabase-boot__title{letter-spacing:-.02em;color:var(--color-text,#0f172a);margin:0 0 .5rem;font-size:1.25rem;font-weight:800}.supabase-boot__text{color:var(--color-text-secondary,#475569);margin:0;font-size:.95rem;line-height:1.5}.supabase-boot__steps{color:var(--color-text-secondary,#475569);margin:1rem 0 1.25rem;padding-left:1.2rem;font-size:.875rem;line-height:1.55}.supabase-boot__steps code{background:#f1f5f9;border-radius:6px;padding:.1rem .35rem;font-size:.8rem}.supabase-boot__retry{background:var(--color-primary,#2563eb);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;height:40px;padding:0 1rem;font-weight:700;display:inline-flex}.supabase-boot__retry:hover{filter:brightness(1.05)}.error-boundary{background:radial-gradient(circle at top left, #1d4ed81f, transparent 42%), var(--color-bg);place-items:center;min-height:100vh;padding:2rem;display:grid}.error-boundary__card{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);width:min(480px,100%);box-shadow:var(--shadow-lg);text-align:center;padding:1.75rem}.error-boundary__title{font-size:var(--font-size-xl);letter-spacing:-.02em;margin-bottom:.65rem;font-weight:800}.error-boundary__text{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:.85rem}.error-boundary__detail{font-size:var(--font-size-xs);color:var(--color-danger);background:var(--color-danger-light);border-radius:var(--radius-md);word-break:break-word;margin-bottom:1rem;padding:.65rem .8rem}.error-boundary__actions{flex-wrap:wrap;justify-content:center;gap:.65rem;display:flex}.header{z-index:var(--z-header);height:var(--header-height);background:var(--color-surface-glass);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:1.5rem;padding:0 1.75rem;display:flex;position:sticky;top:0}.header__leading{flex:1;align-items:center;gap:.65rem;min-width:0;display:flex}.header__menu{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);flex-shrink:0;justify-content:center;align-items:center;display:none}.header__menu:hover{background:var(--color-primary-muted);color:var(--color-primary);border-color:#1d4ed840}.header__search{flex:1;min-width:0;max-width:440px;position:relative}.header__search-results{z-index:var(--z-dropdown);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:320px;box-shadow:var(--shadow-lg);padding:.35rem;animation:.15s both fadeInUp;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.header__search-empty{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;padding:.85rem .75rem}.header__search-item{border-radius:var(--radius-sm);text-align:left;width:100%;transition:background var(--transition-fast);flex-direction:column;align-items:flex-start;gap:.15rem;padding:.65rem .75rem;display:flex}.header__search-item:hover{background:var(--color-primary-muted)}.header__search-item-title{font-size:var(--font-size-sm);color:var(--color-text);align-items:center;gap:.5rem;font-weight:700;display:flex}.header__search-item-id{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:600}.header__search-item-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.header__search-recent{border-bottom:1px solid var(--color-border);margin-bottom:.25rem;padding-bottom:.25rem}.header__search-recent-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);padding:.4rem .75rem .2rem;font-size:10px;font-weight:700}.header__actions{flex-shrink:0;align-items:center;gap:1rem;display:flex}.header__date{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;align-items:center;gap:.45rem;font-weight:500;display:flex}.header__date-icon{color:var(--color-primary)}.header__user{background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:.65rem;padding:.35rem .55rem .35rem .35rem;display:flex}.header__avatar{color:#fff;background:linear-gradient(145deg,#3b82f6,#1d4ed8);border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.7rem;font-weight:700;display:flex}.header__user-meta{flex-direction:column;padding-right:.35rem;line-height:1.2;display:flex}.header__user-name{font-size:var(--font-size-sm);color:var(--color-text);text-transform:capitalize;font-weight:700}.header__user-role{color:var(--color-text-muted);font-size:.65rem;font-weight:500}.header__logout{display:inline-flex}@media (width<=1100px){.header__date span{display:none}.header__date:after{content:attr(data-short);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}}@media (width<=1024px){.header__menu{display:inline-flex}}@media (width<=900px){.header{gap:.65rem;padding:0 1.1rem}.header__user-meta,.header__date{display:none}}@media (width<=640px){.header{gap:.5rem;padding:0 .85rem}.header__actions{gap:.45rem}.header__logout-label{display:none}.header__user{padding:.2rem}}.sidebar{z-index:var(--z-sidebar);width:var(--sidebar-width);border-right:1px solid var(--color-sidebar-border);height:100vh;color:var(--color-sidebar-text);transition:transform var(--transition-base);background:linear-gradient(#0b1220 0%,#0f172a 55%,#111827 100%);flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar__brand{height:var(--header-height);border-bottom:1px solid var(--color-sidebar-border);align-items:center;gap:.85rem;padding:0 1.25rem;display:flex}.sidebar__close{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--color-sidebar-text);flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:none}.sidebar__close:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-active)}.sidebar__logo{background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:3px;display:flex;overflow:hidden;box-shadow:0 6px 16px #00000038}.sidebar__logo img{object-fit:contain;width:100%;height:100%;display:block}.sidebar__brand-text{flex-direction:column;min-width:0;display:flex}.sidebar__brand-name{font-size:var(--font-size-md);color:var(--color-sidebar-text-active);letter-spacing:-.02em;font-weight:800;line-height:1.2}.sidebar__brand-tag{color:var(--color-sidebar-text);font-size:.7rem;font-weight:500}.sidebar__nav{flex:1;padding:1rem .75rem;overflow-y:auto}.sidebar__section-label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;padding:.35rem .75rem .65rem;font-size:.65rem;font-weight:700}.sidebar__link{border-radius:var(--radius-md);color:var(--color-sidebar-text);font-size:var(--font-size-sm);transition:background var(--transition-base), color var(--transition-base), transform var(--transition-fast);align-items:center;gap:.75rem;margin-bottom:.2rem;padding:.7rem .85rem;font-weight:500;display:flex}.sidebar__link:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-active)}.sidebar__link--active{color:#fff;background:#2563eb2e;box-shadow:inset 0 0 0 1px #60a5fa33}.sidebar__link--active .sidebar__link-icon{color:#93c5fd}.sidebar__link-icon{color:inherit;opacity:.85;flex-shrink:0;display:flex}.sidebar__footer{border-top:1px solid var(--color-sidebar-border);padding:.85rem .75rem 1.1rem}.sidebar__logout{border-radius:var(--radius-md);color:#fca5a5;width:100%;font-size:var(--font-size-sm);transition:background var(--transition-base), color var(--transition-base);align-items:center;gap:.75rem;padding:.7rem .85rem;font-weight:600;display:flex}.sidebar__logout:hover{color:#fecaca;background:#dc26261f}.sidebar__nav::-webkit-scrollbar-thumb{background:#94a3b859}@media (width<=1024px){.sidebar{box-shadow:none;transform:translate(-105%)}.sidebar--open{transform:translate(0);box-shadow:12px 0 40px #0f172a59}.sidebar__close{display:inline-flex}}.app-layout{background:radial-gradient(ellipse 80% 50% at 100% -10%, #3b82f614, transparent 50%), radial-gradient(ellipse 60% 40% at 0% 100%, #0ea5e90f, transparent 45%), var(--color-bg);min-height:100vh}.app-layout__main{margin-left:var(--sidebar-width);flex-direction:column;min-width:0;min-height:100vh;display:flex}.app-layout__content{flex:1;min-width:0;padding:1.75rem 1.75rem 2.5rem;overflow-x:hidden}.app-layout__backdrop{display:none}@media (width<=1024px){.app-layout__main{margin-left:0}.app-layout__content{padding:1.25rem 1.1rem 2rem}.app-layout__backdrop{z-index:calc(var(--z-sidebar) - 1);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity var(--transition-base);background:#0f172a73;display:block;position:fixed;inset:0}.app-layout__backdrop.is-visible{opacity:1;pointer-events:auto}}@media (width<=640px){.app-layout__content{padding:1rem .85rem 1.75rem}}.dashboard-skeleton{flex-direction:column;gap:1.25rem;animation:.25s both fadeIn;display:flex}.dashboard-skeleton__toolbar{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.dashboard-skeleton__cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;display:grid}.dashboard-skeleton__card{border-radius:var(--radius-lg);height:132px}.dashboard-skeleton__donuts{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;padding:1.5rem;display:grid}.dashboard-skeleton__donut{flex-direction:column;align-items:center;gap:.85rem;display:flex}.dashboard-skeleton__bottom{grid-template-columns:2fr 3fr;gap:1rem;display:grid}.dashboard-skeleton__panel{border-radius:var(--radius-lg);min-height:320px}@media (width<=1200px){.dashboard-skeleton__cards,.dashboard-skeleton__donuts{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-skeleton__bottom{grid-template-columns:1fr}}@media (width<=780px){.dashboard-skeleton__cards,.dashboard-skeleton__donuts{grid-template-columns:repeat(2,minmax(0,1fr))}}.login-page{background:var(--color-bg);grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-page__visual{color:#fff;background:radial-gradient(70% 55% at 20% 20%,#3b82f659,#0000 55%),radial-gradient(50% 40% at 90% 80%,#0ea5e933,#0000 50%),linear-gradient(160deg,#0b1220 0%,#0f172a 45%,#1e3a5f 100%);flex-direction:column;justify-content:space-between;padding:2.5rem;display:flex;position:relative;overflow:hidden}.login-page__visual:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 50% 40%,#000,#0000);mask-image:radial-gradient(80% 70% at 50% 40%,#000,#0000)}.login-page__visual-brand{z-index:1;align-items:center;gap:.85rem;display:flex;position:relative}.login-page__logo{background:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;padding:4px;display:flex;overflow:hidden;box-shadow:0 8px 24px #00000040}.login-page__logo img{object-fit:contain;width:100%;height:100%;display:block}.login-page__brand-name{font-size:var(--font-size-lg);letter-spacing:-.02em;font-weight:800}.login-page__brand-tag{font-size:var(--font-size-xs);opacity:.65;font-weight:500}.login-page__visual-copy{z-index:1;max-width:28rem;animation:.55s both fadeInUp;position:relative}.login-page__visual-copy h2{letter-spacing:-.03em;margin-bottom:.85rem;font-size:clamp(1.75rem,3vw,2.35rem);font-weight:800;line-height:1.2}.login-page__visual-copy p{font-size:var(--font-size-base);color:#e2e8f0c7;line-height:1.65}.login-page__visual-footer{z-index:1;font-size:var(--font-size-xs);color:#94a3b8cc;flex-direction:column;gap:.35rem;line-height:1.45;display:flex;position:relative}.login-page__credit-link{color:#bae6fdf2;border-bottom:1px solid #bae6fd59;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s}.login-page__credit-link:hover{color:#fff;border-bottom-color:#ffffffb3}.login-page__panel{background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:1.25rem 2.5rem 5.5rem;display:flex}.login-page__panel-content{justify-content:center;align-items:center;width:100%;display:flex;transform:translateY(-3.75rem)}.login-page__card-stack{flex-direction:column;align-items:center;gap:2rem;width:100%;max-width:400px;animation:.45s both fadeInUp;display:flex}.login-page__brand-mark{justify-content:center;width:100%;display:flex}.login-page__brand-mark-img{object-fit:contain;object-position:center;width:auto;max-width:min(320px,100%);height:clamp(110px,16vw,148px);display:block}.login-page__card{width:100%;max-width:400px;padding:2rem 2rem 1.85rem}.login-page__card-header{margin-bottom:1.75rem}.login-page__card-header h1{font-size:var(--font-size-xl);letter-spacing:-.02em;margin-bottom:.35rem;font-weight:800}.login-page__card-header p{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.login-page__form{flex-direction:column;gap:1.1rem;display:flex}.login-page__error{border-radius:var(--radius-md);background:var(--color-danger-light);color:#b91c1c;font-size:var(--font-size-sm);border:1px solid #fecaca;align-items:flex-start;gap:.55rem;padding:.75rem .9rem;font-weight:500;line-height:1.4;display:flex}.login-page__error-icon{flex-shrink:0;margin-top:1px}.login-page__submit{margin-top:.35rem}@media (width<=960px){.login-page{grid-template-columns:1fr}.login-page__visual{min-height:180px;padding:1.5rem}.login-page__visual-copy,.login-page__visual-footer{display:none}.login-page__panel{min-height:auto;padding:1.25rem 1.25rem 2.5rem}.login-page__panel-content{transform:translateY(-1.25rem)}.login-page__brand-mark-img{height:112px}}:root{--color-primary:#1d4ed8;--color-primary-hover:#1e40af;--color-primary-light:#dbeafe;--color-primary-muted:#1d4ed81f;--color-success:#16a34a;--color-success-light:#dcfce7;--color-warning:#ea580c;--color-warning-light:#ffedd5;--color-danger:#dc2626;--color-danger-light:#fee2e2;--color-sidebar:#0b1220;--color-sidebar-elevated:#111827;--color-sidebar-border:#ffffff0f;--color-sidebar-text:#94a3b8;--color-sidebar-text-active:#fff;--color-sidebar-hover:#ffffff0f;--color-bg:#f0f4f8;--color-bg-accent:#e8eef5;--color-surface:#fff;--color-surface-glass:#ffffffb8;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-text:#0f172a;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-text-inverse:#fff;--sidebar-width:260px;--header-height:68px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 2px #0f172a0a;--shadow-md:0 4px 16px #0f172a0f;--shadow-lg:0 12px 32px #0f172a1a;--shadow-card:0 2px 8px #0f172a0a, 0 1px 2px #0f172a08;--shadow-card-hover:0 8px 28px #0f172a1a;--shadow-focus:0 0 0 3px #1d4ed840;--transition-fast:.15s ease;--transition-base:.22s ease;--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--font-sans:"Plus Jakarta Sans", system-ui, sans-serif;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.9375rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--z-sidebar:40;--z-header:30;--z-dropdown:50;--z-modal:100;--z-toast:110;--z-reminder-alert:120}[data-theme=dark]{--color-primary:#3b82f6;--color-primary-hover:#60a5fa;--color-primary-light:#1e3a5f;--color-primary-muted:#3b82f62e;--color-success:#22c55e;--color-success-light:#22c55e29;--color-warning:#fb923c;--color-warning-light:#fb923c29;--color-danger:#f87171;--color-danger-light:#f8717129;--color-sidebar:#020617;--color-sidebar-elevated:#0f172a;--color-sidebar-border:#94a3b81f;--color-sidebar-text:#94a3b8;--color-sidebar-text-active:#f8fafc;--color-sidebar-hover:#94a3b814;--color-bg:#0b1220;--color-bg-accent:#111827;--color-surface:#111827;--color-surface-glass:#111827db;--color-border:#1f2937;--color-border-strong:#334155;--color-text:#e2e8f0;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-text-inverse:#0f172a;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 12px 32px #00000073;--shadow-card:0 2px 8px #00000047;--shadow-card-hover:0 8px 28px #0006;--shadow-focus:0 0 0 3px #3b82f659}[data-theme=dark] body{background:radial-gradient(circle at top right, #3b82f614, transparent 36%), var(--color-bg)}.search-highlight{color:inherit;background:#facc1573;border-radius:2px;padding:0 .1em}[data-theme=dark] .search-highlight{background:#facc1559}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes shake{0%,to{transform:translate(0)}15%,45%,75%{transform:translate(-6px)}30%,60%,90%{transform:translate(6px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulseSoft{0%,to{opacity:1}50%{opacity:.7}}.animate-fade-in{animation:fadeIn var(--transition-slow) both}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) both}.animate-shake{animation:.5s both shake}.animate-scale-in{animation:scaleIn var(--transition-base) both}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);min-height:100vh;line-height:1.5}#root{min-height:100vh}button,input,select,textarea{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}button{cursor:pointer;background:0 0;border:none}:focus-visible{box-shadow:var(--shadow-focus);outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
