@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";.login-root{min-height:100vh;min-height:100dvh;background:var(--bg-surface);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:24px 20px;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}.login-bg-circle-1{position:absolute;top:-80px;right:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.08) 0%,transparent 70%);pointer-events:none}.login-bg-circle-2{position:absolute;bottom:-60px;left:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.08) 0%,transparent 70%);pointer-events:none}.login-container{width:100%;max-width:360px;display:flex;flex-direction:column;gap:24px;position:relative;z-index:1}.login-logo-section{display:flex;flex-direction:column;align-items:center;gap:8px}.login-logo-wrap{width:72px;height:72px;border-radius:20px;background:var(--bg-surface);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--border-subtle)}.login-logo{width:54px;height:54px;object-fit:contain}.login-brand{font-size:24px;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;margin-top:4px}.login-tagline{font-size:13px;color:var(--text-tertiary);font-weight:400}.login-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:24px 20px;display:flex;flex-direction:column;gap:20px}.login-card-header{display:flex;flex-direction:column;gap:4px}.login-title{font-size:20px;font-weight:700;color:var(--text-primary)}.login-desc{font-size:14px;color:var(--text-tertiary)}.login-error{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--danger-bg);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:var(--danger);font-size:13px;font-weight:500}.login-form{display:flex;flex-direction:column;gap:16px}.login-footer{text-align:center;font-size:13px;color:var(--text-tertiary)}.login-link{color:var(--brand-primary);font-weight:600;text-decoration:none}.login-link:hover{text-decoration:underline}.top-header{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--app-max-width);height:var(--top-header-h);background:#fffffff2;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border-subtle);z-index:400;padding-top:env(safe-area-inset-top)}.top-header.transparent{background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.top-header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:12px}.header-logo-wrap{display:flex;align-items:center}.header-logo{height:32px;width:auto;object-fit:contain}.header-title-wrap{flex:1}.header-title{font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.2}.header-subtitle{font-size:12px;color:var(--text-tertiary);font-weight:400;margin-top:1px}.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--app-max-width);height:var(--bottom-nav-h);background:#fffffff2;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-around;z-index:500;padding-bottom:env(safe-area-inset-bottom)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;height:100%;color:var(--text-tertiary);transition:color var(--dur-fast) var(--ease-smooth);position:relative;text-decoration:none;padding:4px 8px}.nav-item:active{transform:scale(.92)}.nav-item.active{color:var(--brand-primary)}.nav-icon{position:relative;z-index:1;transition:transform var(--dur-fast) var(--ease-bounce)}.nav-item.active .nav-icon{transform:translateY(-2px)}.nav-label{font-size:10px;font-weight:600;letter-spacing:.02em;line-height:1}.nav-indicator{position:absolute;top:0;left:50%;transform:translate(-50%);width:32px;height:3px;background:var(--brand-primary);border-radius:0 0 4px 4px}.page-dashboard{padding-left:0;padding-right:0}.greeting-section{padding:20px 16px 0}.greeting-text{font-size:14px;color:var(--text-tertiary);font-weight:400}.greeting-name{font-size:22px;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;margin-top:2px}.notif-btn{width:38px;height:38px;border-radius:50%;background:var(--bg-surface-2);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--dur-fast) var(--ease-smooth);border:1px solid var(--border-subtle)}.notif-btn:hover{background:var(--bg-surface-3)}.notif-btn:active{transform:scale(.92)}.sub-card{margin:16px 16px 0;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden}.sub-card-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--border-subtle)}.sub-card-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-weight:600;margin-bottom:4px}.sub-card-plan{font-size:18px;font-weight:700;color:var(--text-primary)}.sub-card-body{padding:16px;display:flex;flex-direction:column;gap:16px}.sub-info-rows{width:100%;display:flex;flex-direction:column;gap:12px}.sub-info-row{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px dashed var(--border-subtle)}.sub-info-row:last-child{padding-bottom:0;border-bottom:none}.sir-label{font-size:13px;color:var(--text-tertiary);font-weight:500}.sir-value{font-size:14px;color:var(--text-primary);font-weight:600}.sub-card-progress{width:100%;margin-top:4px}.progress-bar-wrap{display:flex;flex-direction:column;gap:8px}.pb-header{display:flex;align-items:center;justify-content:space-between}.pb-label{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.pb-value{font-size:14px;font-weight:700;color:var(--brand-primary)}.pb-track{width:100%;height:6px;background:var(--bg-surface-2);border-radius:var(--radius-full);overflow:hidden}.pb-fill{height:100%;background:linear-gradient(90deg,var(--brand-primary),var(--brand-primary-light));border-radius:var(--radius-full);transition:width 1s var(--ease-smooth)}.sub-info-rows{flex:1;display:flex;flex-direction:column;gap:10px}.sub-info-row{display:flex;align-items:center;justify-content:space-between}.sir-label{font-size:12px;color:var(--text-tertiary);font-weight:500}.sir-value{font-size:13px;color:var(--text-primary);font-weight:600}.no-sub{padding:16px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.no-sub-text{font-size:14px;color:var(--text-tertiary)}.section-title{font-size:14px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.quick-section{padding:20px 16px 0}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 14px 16px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);text-align:left;cursor:pointer;transition:all var(--dur-normal) var(--ease-smooth)}.quick-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-card:active{transform:translateY(0);box-shadow:var(--shadow-xs)}.quick-icon{width:42px;height:42px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.quick-label{font-size:14px;font-weight:700;color:var(--text-primary)}.quick-desc{font-size:11px;color:var(--text-tertiary);font-weight:400;line-height:1.4}.info-banner{margin:16px;display:flex;align-items:center;gap:10px;padding:14px;border-radius:var(--radius-lg)}.info-banner-danger{background:var(--danger-bg);border:1px solid rgba(239,68,68,.2);color:var(--danger)}.info-banner>svg{flex-shrink:0}.ib-title{font-size:13px;font-weight:700;color:var(--danger)}.ib-desc{font-size:12px;color:#dc2626;margin-top:1px}.info-banner .btn{margin-left:auto;flex-shrink:0}.token-summary{padding:0 16px;margin-top:16px}.token-summary-list{display:flex;flex-direction:column;gap:8px}.ts-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.ts-code{font-family:Courier New,monospace;font-size:13px;font-weight:700;color:var(--text-primary);letter-spacing:.06em}.source-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .3s ease}.source-modal{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp var(--dur-normal) var(--ease-bounce);display:flex;flex-direction:column}.source-modal-header{padding:1.5rem;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;background:var(--bg-surface-2);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.source-modal-header h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.source-modal-header p{font-size:.875rem;color:var(--text-secondary);margin:.25rem 0 0}.btn-close{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-xs)}.btn-close:hover{background:var(--bg-surface-3);color:var(--text-primary)}.source-modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.source-type-toggle{display:flex;background:var(--bg-surface-2);border-radius:var(--radius-md);padding:.25rem;border:1px solid var(--border-subtle)}.source-type-btn{flex:1;padding:.75rem;background:transparent;border:none;border-radius:calc(var(--radius-md) - .25rem);color:var(--text-secondary);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .3s}.source-type-btn.active{background:var(--bg-surface);color:var(--brand-primary);box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.form-group input{background:var(--bg-surface-2);border:1px solid var(--border-subtle);padding:.875rem 1rem;border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--brand-primary);background:var(--bg-surface);box-shadow:0 0 0 3px #7c3aed26}.form-group input::placeholder{color:var(--text-tertiary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.source-modal-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;gap:1rem;background:var(--bg-surface-2);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.source-modal-footer .btn{padding:.875rem 1.5rem}.error-message{background:var(--danger-bg);border:1px solid rgba(239,68,68,.2);color:var(--danger);padding:1rem;border-radius:var(--radius-md);font-size:.875rem;display:flex;gap:.75rem;align-items:center}.success-message{background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:#10b981;padding:1rem;border-radius:var(--radius-md);font-size:.875rem;display:flex;gap:.75rem;align-items:center}.tokens-info-bar{display:flex;align-items:center;justify-content:space-around;margin-top:16px;padding:16px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.tib-item{display:flex;flex-direction:column;align-items:center;gap:2px}.tib-value{font-size:22px;font-weight:800;color:var(--text-primary);line-height:1}.tib-label{font-size:11px;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.tib-divider{width:1px;height:32px;background:var(--border-subtle)}.redeem-card{margin-top:16px;background:linear-gradient(135deg,#faf5ff,#f5f3ff);border:1px solid rgba(124,58,237,.15);border-radius:var(--radius-xl);padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.redeem-icon-wrap{width:56px;height:56px;border-radius:var(--radius-lg);background:#7c3aed1f;display:flex;align-items:center;justify-content:center;color:var(--brand-primary);margin-bottom:4px}.redeem-title{font-size:18px;font-weight:700;color:var(--text-primary)}.redeem-desc{font-size:13px;color:var(--text-tertiary);max-width:260px;line-height:1.5}.tokens-divider{display:flex;align-items:center;gap:10px;margin:20px 0 14px;color:var(--text-tertiary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.tokens-divider:before,.tokens-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.tokens-loading{display:flex;flex-direction:column;gap:8px}.token-skeleton{height:110px;border-radius:var(--radius-lg)}.tokens-list{list-style:none;display:flex;flex-direction:column;gap:10px}.token-item{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px 16px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-xs)}.token-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.token-code{font-family:Courier New,monospace;font-size:16px;font-weight:700;color:var(--text-primary);letter-spacing:.06em}.token-meta-grid{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.token-plan-badge{font-size:11px;font-weight:700;color:var(--brand-primary);background:#7c3aed14;padding:2px 8px;border-radius:var(--radius-full)}.token-platform{font-size:11px;font-weight:600;color:var(--text-tertiary);background:var(--bg-surface-2);padding:2px 8px;border-radius:var(--radius-full)}.token-days-bar{padding-top:2px}.token-days-label{display:flex;justify-content:space-between;font-size:11px;color:var(--text-tertiary);margin-bottom:5px}.token-bar{height:4px;background:var(--bg-surface-2);border-radius:var(--radius-full);overflow:hidden}.token-bar-fill{height:100%;background:linear-gradient(90deg,var(--brand-primary),var(--brand-primary-light));border-radius:var(--radius-full);transition:width .8s var(--ease-smooth)}.token-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.token-meta{display:flex;align-items:center;gap:5px;color:var(--text-tertiary);font-size:12px}.token-no-device{font-size:12px;color:var(--text-tertiary);font-style:italic}.storage-page{padding-bottom:80px}.storage-header{margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.storage-header h2{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.storage-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:12px;padding:1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.storage-card-header{display:flex;justify-content:space-between;align-items:flex-start}.storage-card-title{font-weight:600;color:var(--text-primary);font-size:1.1rem;margin:0}.storage-card-type{font-size:.75rem;padding:.2rem .5rem;background:var(--primary-10);color:var(--primary);border-radius:4px;font-weight:600}.storage-card-details{font-size:.85rem;color:var(--text-secondary);word-break:break-all}.storage-card-actions{display:flex;gap:.5rem;margin-top:.5rem}.btn-sm{padding:.4rem .8rem;font-size:.85rem}.bulk-modal-body{max-height:300px;overflow-y:auto;margin-bottom:1rem;border:1px solid var(--border-light);border-radius:8px;padding:.5rem}.token-checkbox-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--border-light);cursor:pointer}.token-checkbox-item:last-child{border-bottom:none}.token-checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.token-checkbox-info{display:flex;flex-direction:column}.token-checkbox-code{font-weight:600;color:var(--text-primary)}.token-checkbox-label{font-size:.75rem;color:var(--text-secondary)}.profile-avatar-section{display:flex;align-items:center;gap:16px;margin-top:16px;padding:20px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.profile-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;color:#fff;flex-shrink:0;letter-spacing:-.02em}.profile-avatar-info{flex:1;min-width:0}.profile-name{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-email{font-size:13px;color:var(--text-tertiary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-status-dot{display:inline-flex;align-items:center;margin-top:6px;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.04em}.header-action-btn{display:flex;align-items:center;gap:5px;padding:7px 12px;border-radius:var(--radius-md);background:#7c3aed14;color:var(--brand-primary);font-size:13px;font-weight:600;border:none;cursor:pointer;transition:all var(--dur-fast) var(--ease-smooth)}.header-action-btn:hover{background:#7c3aed24}.header-action-btn:active{transform:scale(.95)}.form-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:14px}.profile-form{margin-top:12px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:20px 16px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-sm)}.form-actions{display:flex;gap:10px;margin-top:4px}.form-actions .btn{flex:1}.profile-info-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:20px 16px;display:flex;flex-direction:column;gap:0;box-shadow:var(--shadow-xs)}.info-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid var(--border-subtle)}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-row:first-of-type{padding-top:0}.info-row-label{font-size:13px;color:var(--text-tertiary);font-weight:500;flex-shrink:0}.info-row-value{font-size:14px;color:var(--text-primary);font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.profile-logout-wrap{margin-top:16px;margin-bottom:8px}.logout-modal-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:20px}.logout-modal-actions{display:flex;flex-direction:column;gap:8px}:root{--hotel-sidebar-w: 256px;--hotel-sidebar-collapsed-w: 72px;--hotel-header-h: 68px;--hotel-brand: #3b82f6;--hotel-brand-dark: #2563eb;--hotel-accent: #f59e0b;--h-bg: #f8f9fc;--h-surface: #ffffff;--h-surface-2: #f1f3f8;--h-border: rgba(15, 23, 42, .08);--h-border-brand: rgba(59, 130, 246, .15);--h-text: #0f172a;--h-text-2: #475569;--h-text-3: #94a3b8;--hotel-transition: all .25s cubic-bezier(.4, 0, .2, 1)}.hotel-shell{display:flex;min-height:100vh;background:var(--h-bg);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--h-text)}.hotel-sidebar{position:fixed;left:0;top:0;height:100vh;background:linear-gradient(180deg,var(--h-surface) 0%,var(--h-bg) 100%);border-right:1px solid var(--h-border);display:flex;flex-direction:column;z-index:100;transition:width .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.hotel-sidebar--open{width:var(--hotel-sidebar-w)}.hotel-sidebar--collapsed{width:var(--hotel-sidebar-collapsed-w)}.hotel-sidebar__logo{display:flex;align-items:center;justify-content:space-between;padding:20px 18px;border-bottom:1px solid var(--h-border);min-height:72px}.hotel-sidebar__brand{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.hotel-sidebar__brand-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#f59e0b33,#d977061a);border:1px solid rgba(245,158,11,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.hotel-sidebar__brand-name{font-size:15px;font-weight:900;color:var(--h-text);letter-spacing:-.01em;white-space:nowrap}.hotel-sidebar__brand-sub{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--hotel-brand);margin-top:2px}.hotel-sidebar__toggle{width:32px;height:32px;border-radius:8px;background:#0000000a;border:1px solid var(--h-border);color:var(--h-text-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--hotel-transition);flex-shrink:0}.hotel-sidebar__toggle:hover{background:#00000014;color:var(--h-text)}.hotel-sidebar__user{display:flex;align-items:center;gap:10px;margin:14px 14px 4px;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,#3b82f614,#2563eb0a);border:1px solid rgba(59,130,246,.12)}.hotel-sidebar__avatar{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--hotel-brand),var(--hotel-brand-dark));display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:#000;flex-shrink:0}.hotel-sidebar__user-name{font-size:13px;font-weight:700;color:var(--h-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hotel-sidebar__user-role{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--hotel-brand);margin-top:2px}.hotel-sidebar__nav{flex:1;padding:8px 10px 12px;overflow-y:auto;overflow-x:hidden}.hotel-sidebar__nav::-webkit-scrollbar{width:3px}.hotel-sidebar__nav::-webkit-scrollbar-thumb{background:var(--h-border);border-radius:99px}.hotel-sidebar__section{margin-bottom:4px}.hotel-sidebar__section-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:var(--h-text-3);padding:8px 12px 4px}.hotel-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;margin-bottom:2px;color:var(--h-text-2);text-decoration:none;font-size:13.5px;font-weight:600;transition:var(--hotel-transition);border:1px solid transparent;white-space:nowrap;overflow:hidden}.hotel-nav-item:hover{background:#ffffff0a;color:var(--h-text)}.hotel-nav-item--active{background:linear-gradient(135deg,#f59e0b1f,#d977060f);border-color:#f59e0b26;color:var(--hotel-brand);font-weight:700}.hotel-nav-item__icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.hotel-nav-item__label{flex:1}.hotel-nav-item__arrow{opacity:.6;flex-shrink:0}.hotel-sidebar__footer{padding:12px 14px 16px;border-top:1px solid var(--h-border);display:flex;flex-direction:column;gap:8px}.hotel-sidebar__copyright{font-size:10px;color:var(--h-text-3);text-align:center;letter-spacing:.04em}.hotel-sidebar__logout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 14px;border-radius:10px;background:#f871710f;border:1px solid rgba(248,113,113,.1);color:#f87171;font-size:13px;font-weight:700;cursor:pointer;transition:var(--hotel-transition)}.hotel-sidebar__logout:hover{background:#f871711f;border-color:#f8717133}.hotel-main{flex:1;display:flex;flex-direction:column;transition:margin-left .25s cubic-bezier(.4,0,.2,1);min-height:100vh}.hotel-main--sidebar-open{margin-left:var(--hotel-sidebar-w)}.hotel-main--sidebar-collapsed{margin-left:var(--hotel-sidebar-collapsed-w)}.hotel-header{height:var(--hotel-header-h);background:#ffffffd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--h-border);padding:0 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.hotel-header__left{display:flex;align-items:center;gap:14px}.hotel-header__menu-btn{width:36px;height:36px;border-radius:9px;background:#ffffff0a;border:1px solid var(--h-border);color:var(--h-text-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--hotel-transition);display:none}.hotel-header__title{font-size:18px;font-weight:800;color:var(--h-text);letter-spacing:-.01em}.hotel-header__date{font-size:12px;color:var(--h-text-3);margin-top:2px}.hotel-header__right{display:flex;align-items:center;gap:10px}.hotel-header__status{display:flex;align-items:center;gap:7px;padding:7px 14px;border-radius:9px;background:#10b98114;border:1px solid rgba(16,185,129,.15);font-size:12px;font-weight:700;color:#34d399}.hotel-header__status-dot{width:7px;height:7px;border-radius:50%;background:#34d399;animation:hPulse 2s ease-in-out infinite}@keyframes hPulse{0%,to{opacity:1;box-shadow:0 0 #34d39966}50%{opacity:.8;box-shadow:0 0 0 5px #34d39900}}.hotel-header__icon-btn{width:36px;height:36px;border-radius:9px;background:#ffffff0a;border:1px solid var(--h-border);color:var(--h-text-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--hotel-transition)}.hotel-header__icon-btn:hover{background:#ffffff14;color:var(--h-text)}.hotel-header__avatar{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,var(--hotel-brand),var(--hotel-brand-dark));display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;color:#000;border:2px solid rgba(245,158,11,.3);cursor:pointer}.hotel-content{flex:1;padding:24px;background:var(--h-bg)}@media(max-width:768px){.hotel-header__menu-btn{display:flex}.hotel-sidebar{transform:translate(-100%)}.hotel-sidebar--open{transform:translate(0);width:var(--hotel-sidebar-w)}}.hotel-app-shell{max-width:1000px!important;width:100%;margin:0 auto}.hotel-app-shell .bottom-nav{max-width:1000px!important;border-top:1px solid var(--border-subtle)}.hotel-app-shell .top-header{max-width:1000px!important}.page-hotel-admin{padding-bottom:90px!important}/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-green-50:oklch(98.2% .018 155.826);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-cyan-50:oklch(98.4% .019 200.873);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-600:oklch(60.9% .126 221.723);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-600:oklch(51.1% .262 276.966);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-900:oklch(38.1% .176 304.987);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.top-1\/2{top:50%}.right-3{right:calc(var(--spacing) * 3)}.left-3{left:calc(var(--spacing) * 3)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-1{margin-right:var(--spacing)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-video{aspect-ratio:var(--aspect-video)}.h-2{height:calc(var(--spacing) * 2)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-12{height:calc(var(--spacing) * 12)}.h-96{height:calc(var(--spacing) * 96)}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-\[90vh\]{max-height:90vh}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-24{width:calc(var(--spacing) * 24)}.w-40{width:calc(var(--spacing) * 40)}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.flex-1{flex:1}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-amber-200\/60{border-color:#fee68599}@supports (color:color-mix(in lab,red,red)){.border-amber-200\/60{border-color:color-mix(in oklab,var(--color-amber-200) 60%,transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-amber-700\/30{border-color:#b750004d}@supports (color:color-mix(in lab,red,red)){.border-amber-700\/30{border-color:color-mix(in oklab,var(--color-amber-700) 30%,transparent)}}.border-blue-200\/60{border-color:#bedbff99}@supports (color:color-mix(in lab,red,red)){.border-blue-200\/60{border-color:color-mix(in oklab,var(--color-blue-200) 60%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500) 30%,transparent)}}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.border-gray-800\/50{border-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.border-gray-800\/50{border-color:color-mix(in oklab,var(--color-gray-800) 50%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500) 30%,transparent)}}.border-green-700{border-color:var(--color-green-700)}.border-purple-700\/30{border-color:#8200da4d}@supports (color:color-mix(in lab,red,red)){.border-purple-700\/30{border-color:color-mix(in oklab,var(--color-purple-700) 30%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-red-700{border-color:var(--color-red-700)}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.bg-amber-600{background-color:var(--color-amber-600)}.bg-amber-900\/20{background-color:#7b330633}@supports (color:color-mix(in lab,red,red)){.bg-amber-900\/20{background-color:color-mix(in oklab,var(--color-amber-900) 20%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-600\/20{background-color:#155dfc33}@supports (color:color-mix(in lab,red,red)){.bg-blue-600\/20{background-color:color-mix(in oklab,var(--color-blue-600) 20%,transparent)}}.bg-blue-900\/20{background-color:#1c398e33}@supports (color:color-mix(in lab,red,red)){.bg-blue-900\/20{background-color:color-mix(in oklab,var(--color-blue-900) 20%,transparent)}}.bg-cyan-50{background-color:var(--color-cyan-50)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/20{background-color:color-mix(in oklab,var(--color-emerald-500) 20%,transparent)}}.bg-gray-500\/20{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/20{background-color:color-mix(in oklab,var(--color-gray-500) 20%,transparent)}}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-700\/30{background-color:#3641534d}@supports (color:color-mix(in lab,red,red)){.bg-gray-700\/30{background-color:color-mix(in oklab,var(--color-gray-700) 30%,transparent)}}.bg-gray-700\/50{background-color:#36415380}@supports (color:color-mix(in lab,red,red)){.bg-gray-700\/50{background-color:color-mix(in oklab,var(--color-gray-700) 50%,transparent)}}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.bg-gray-800\/50{background-color:color-mix(in oklab,var(--color-gray-800) 50%,transparent)}}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-900\/80{background-color:#101828cc}@supports (color:color-mix(in lab,red,red)){.bg-gray-900\/80{background-color:color-mix(in oklab,var(--color-gray-900) 80%,transparent)}}.bg-green-50{background-color:var(--color-green-50)}.bg-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500) 20%,transparent)}}.bg-green-600{background-color:var(--color-green-600)}.bg-green-900\/30{background-color:#0d542b4d}@supports (color:color-mix(in lab,red,red)){.bg-green-900\/30{background-color:color-mix(in oklab,var(--color-green-900) 30%,transparent)}}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500) 20%,transparent)}}.bg-purple-600{background-color:var(--color-purple-600)}.bg-purple-600\/20{background-color:#9810fa33}@supports (color:color-mix(in lab,red,red)){.bg-purple-600\/20{background-color:color-mix(in oklab,var(--color-purple-600) 20%,transparent)}}.bg-purple-900\/20{background-color:#59168b33}@supports (color:color-mix(in lab,red,red)){.bg-purple-900\/20{background-color:color-mix(in oklab,var(--color-purple-900) 20%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-red-600\/20{background-color:#e4001433}@supports (color:color-mix(in lab,red,red)){.bg-red-600\/20{background-color:color-mix(in oklab,var(--color-red-600) 20%,transparent)}}.bg-red-600\/50{background-color:#e4001480}@supports (color:color-mix(in lab,red,red)){.bg-red-600\/50{background-color:color-mix(in oklab,var(--color-red-600) 50%,transparent)}}.bg-red-900\/30{background-color:#82181a4d}@supports (color:color-mix(in lab,red,red)){.bg-red-900\/30{background-color:color-mix(in oklab,var(--color-red-900) 30%,transparent)}}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-500\/20{background-color:#ff235733}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/20{background-color:color-mix(in oklab,var(--color-rose-500) 20%,transparent)}}.bg-rose-600{background-color:var(--color-rose-600)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-teal-50{background-color:var(--color-teal-50)}.bg-teal-500\/20{background-color:#00baa733}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/20{background-color:color-mix(in oklab,var(--color-teal-500) 20%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-500{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-700{--tw-gradient-to:var(--color-blue-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-400{--tw-gradient-to:var(--color-purple-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-blue-100{color:var(--color-blue-100)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-900{color:var(--color-blue-900)}.text-cyan-600{color:var(--color-cyan-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-600{color:var(--color-emerald-600)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-green-400{color:var(--color-green-400)}.text-green-600{color:var(--color-green-600)}.text-indigo-600{color:var(--color-indigo-600)}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-red-400{color:var(--color-red-400)}.text-red-600{color:var(--color-red-600)}.text-rose-400{color:var(--color-rose-400)}.text-rose-500{color:var(--color-rose-500)}.text-rose-600{color:var(--color-rose-600)}.text-rose-800{color:var(--color-rose-800)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-teal-400{color:var(--color-teal-400)}.text-teal-600{color:var(--color-teal-600)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-amber-500:hover{border-color:var(--color-amber-500)}.hover\:border-blue-500:hover{border-color:var(--color-blue-500)}.hover\:border-cyan-500:hover{border-color:var(--color-cyan-500)}.hover\:border-emerald-500:hover{border-color:var(--color-emerald-500)}.hover\:border-green-500:hover{border-color:var(--color-green-500)}.hover\:border-rose-500:hover{border-color:var(--color-rose-500)}.hover\:bg-amber-50\/20:hover{background-color:#fffbeb33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-50\/20:hover{background-color:color-mix(in oklab,var(--color-amber-50) 20%,transparent)}}.hover\:bg-amber-700:hover{background-color:var(--color-amber-700)}.hover\:bg-blue-50\/20:hover{background-color:#eff6ff33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-50\/20:hover{background-color:color-mix(in oklab,var(--color-blue-50) 20%,transparent)}}.hover\:bg-blue-600\/40:hover{background-color:#155dfc66}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-600\/40:hover{background-color:color-mix(in oklab,var(--color-blue-600) 40%,transparent)}}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-blue-900\/30:hover{background-color:#1c398e4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-900\/30:hover{background-color:color-mix(in oklab,var(--color-blue-900) 30%,transparent)}}.hover\:bg-cyan-50\/20:hover{background-color:#ecfeff33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cyan-50\/20:hover{background-color:color-mix(in oklab,var(--color-cyan-50) 20%,transparent)}}.hover\:bg-emerald-50\/20:hover{background-color:#ecfdf533}@supports (color:color-mix(in lab,red,red)){.hover\:bg-emerald-50\/20:hover{background-color:color-mix(in oklab,var(--color-emerald-50) 20%,transparent)}}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\:bg-gray-800\/30:hover{background-color:#1e29394d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-800\/30:hover{background-color:color-mix(in oklab,var(--color-gray-800) 30%,transparent)}}.hover\:bg-green-50\/20:hover{background-color:#f0fdf433}@supports (color:color-mix(in lab,red,red)){.hover\:bg-green-50\/20:hover{background-color:color-mix(in oklab,var(--color-green-50) 20%,transparent)}}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-purple-600\/40:hover{background-color:#9810fa66}@supports (color:color-mix(in lab,red,red)){.hover\:bg-purple-600\/40:hover{background-color:color-mix(in oklab,var(--color-purple-600) 40%,transparent)}}.hover\:bg-purple-700:hover{background-color:var(--color-purple-700)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-red-600\/40:hover{background-color:#e4001466}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-600\/40:hover{background-color:color-mix(in oklab,var(--color-red-600) 40%,transparent)}}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-red-900\/30:hover{background-color:#82181a4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-900\/30:hover{background-color:color-mix(in oklab,var(--color-red-900) 30%,transparent)}}.hover\:bg-rose-50\/20:hover{background-color:#fff1f233}@supports (color:color-mix(in lab,red,red)){.hover\:bg-rose-50\/20:hover{background-color:color-mix(in oklab,var(--color-rose-50) 20%,transparent)}}.hover\:bg-rose-700:hover{background-color:var(--color-rose-700)}.hover\:bg-slate-50\/50:hover{background-color:#f8fafc80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-50\/50:hover{background-color:color-mix(in oklab,var(--color-slate-50) 50%,transparent)}}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:text-blue-500:hover{color:var(--color-blue-500)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-slate-700:hover{color:var(--color-slate-700)}.hover\:text-white:hover{color:var(--color-white)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-amber-500:focus{--tw-ring-color:var(--color-amber-500)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-purple-500:focus{--tw-ring-color:var(--color-purple-500)}.focus\:ring-rose-500:focus{--tw-ring-color:var(--color-rose-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:flex-row{flex-direction:row}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root{--brand-primary:#3b82f6;--brand-primary-light:#60a5fa;--brand-primary-dark:#2563eb;--brand-accent:#f59e0b;--brand-accent-light:#fbbf24;--bg-root:#f8f9fc;--bg-surface:#fff;--bg-surface-2:#f1f3f8;--bg-surface-3:#e8ecf4;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-on-brand:#fff;--border-subtle:#0f172a14;--border-medium:#0f172a24;--success:#10b981;--success-bg:#ecfdf5;--warning:#f59e0b;--warning-bg:#fffbeb;--danger:#ef4444;--danger-bg:#fef2f2;--info:#3b82f6;--info-bg:#eff6ff;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 2px 8px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 8px 32px #0000001a, 0 4px 8px #0000000d;--shadow-brand:0 4px 20px #3b82f640;--font:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--app-max-width:430px;--bottom-nav-h:64px;--top-header-h:60px;--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--dur-fast:.15s;--dur-normal:.25s;--dur-slow:.35s}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font);background:var(--bg-root);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}img,svg{display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}a{color:inherit;text-decoration:none}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}.app-shell{width:100%;max-width:var(--app-max-width);background:var(--bg-surface);min-height:100dvh;margin:0 auto;position:relative;box-shadow:0 0 60px #0000001a}.page{padding-top:var(--top-header-h);padding-bottom:calc(var(--bottom-nav-h) + 16px);min-height:100dvh}.page-content{padding:0 16px}.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}.skeleton{background:linear-gradient(90deg,var(--bg-surface-2) 25%,var(--bg-surface-3) 50%,var(--bg-surface-2) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-ring{0%{transform:scale(.95);box-shadow:0 0 #7c3aed66}70%{transform:scale(1);box-shadow:0 0 0 10px #7c3aed00}to{transform:scale(.95);box-shadow:0 0 #7c3aed00}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn var(--dur-slow) var(--ease-smooth) both}.animate-in-delay-1{animation-delay:60ms}.animate-in-delay-2{animation-delay:.12s}.animate-in-delay-3{animation-delay:.18s}.animate-in-delay-4{animation-delay:.24s}.badge{border-radius:var(--radius-full);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-brand{color:var(--brand-primary);background:#7c3aed1a}.btn{border-radius:var(--radius-md);transition:all var(--dur-fast) var(--ease-smooth);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";transition:background var(--dur-fast);background:#fff0;position:absolute;top:0;right:0;bottom:0;left:0}.btn:active:after{background:#ffffff26}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-light));color:#fff;box-shadow:var(--shadow-brand)}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-surface-2);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-surface-3)}.btn-outline{color:var(--brand-primary);background:0 0;border:1.5px solid #7c3aed4d}.btn-outline:hover{border-color:var(--brand-primary);background:#7c3aed0f}.btn-danger{background:var(--danger-bg);color:var(--danger)}.btn-danger:hover{background:#fee2e2}.btn-full{width:100%}.btn-sm{border-radius:var(--radius-sm);padding:8px 14px;font-size:13px}.btn-lg{padding:15px 24px;font-size:16px}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}.spinner-brand{border-color:#7c3aed33;border-top-color:var(--brand-primary)}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-pad{padding:16px}.card-hover{transition:all var(--dur-normal) var(--ease-smooth);cursor:pointer}.card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-hover:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.divider{background:var(--border-subtle);border:none;height:1px;margin:0}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);font-size:13px;font-weight:600}.form-input{background:var(--bg-surface-2);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--dur-fast) var(--ease-smooth);border:1.5px solid #0000;outline:none;padding:12px 14px;font-size:15px}.form-input::placeholder{color:var(--text-tertiary)}.form-input:focus{background:var(--bg-surface);border-color:var(--brand-primary);box-shadow:0 0 0 3px #7c3aed1f}.form-input.error{border-color:var(--danger)}.form-hint{color:var(--text-tertiary);font-size:12px}.form-error{color:var(--danger);font-size:12px}.input-wrapper{position:relative}.input-icon{color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-wrapper .form-input{padding-left:40px}.input-icon-right{color:var(--text-tertiary);cursor:pointer;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.toast-container{bottom:calc(var(--bottom-nav-h) + 16px);z-index:9999;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:400px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--text-primary);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:slideUp var(--dur-normal) var(--ease-bounce);align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:500;display:flex}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.toast-warning{background:var(--warning);color:var(--text-primary)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:900;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.modal-sheet{background:var(--bg-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:var(--app-max-width);padding:24px 20px;padding-bottom:calc(24px + env(safe-area-inset-bottom));animation:slideUp var(--dur-normal) var(--ease-bounce)}.modal-handle{background:var(--border-medium);border-radius:var(--radius-full);width:36px;height:4px;margin:0 auto 20px}.modal-title{margin-bottom:16px;font-size:18px;font-weight:700}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty-icon{border-radius:var(--radius-full);background:var(--bg-surface-2);width:64px;height:64px;color:var(--text-tertiary);justify-content:center;align-items:center;display:flex}.empty-title{color:var(--text-secondary);font-size:16px;font-weight:600}.empty-desc{color:var(--text-tertiary);font-size:14px}.loading-page{background:var(--bg-surface);z-index:9999;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes pulse{50%{opacity:.5}}
