.loading-skeleton{animation:pulse 1.5s ease-in-out infinite}.skeleton-box{background:linear-gradient(90deg,hsla(0,0%,100%,.05) 25%,hsla(0,0%,100%,.1) 50%,hsla(0,0%,100%,.05) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:12px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.dashboard-hero{padding:24px;background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.1));border-radius:16px;border:1px solid hsla(0,0%,100%,.08)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.08);border-radius:14px;transition:all .3s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transition:transform .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.2);border-color:var(--accent)}.stat-card:hover:before{transform:scaleX(1)}.stat-icon{font-size:2.5rem;line-height:1}.stat-content{flex:1 1}.stat-value{font-size:2rem;font-weight:800;line-height:1.2;background:linear-gradient(135deg,var(--accent) 0,var(--accent-2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.875rem;color:var(--muted);margin-top:4px}.stat-badge{display:inline-block;padding:2px 8px;background:rgba(16,185,129,.2);color:#10b981;border-radius:999px;font-size:.75rem;font-weight:600;margin-top:6px}.quick-actions{padding:20px;background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.08);border-radius:14px}.quick-action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:8px;color:inherit;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s ease;cursor:pointer}.quick-action-btn:hover{background:hsla(0,0%,100%,.1);border-color:var(--accent);transform:translateY(-2px)}.alert{display:flex;gap:16px;padding:16px;border-radius:12px;border:1px solid}.alert-warning{background:rgba(245,158,11,.08);border-color:#f59e0b}.alert-icon{font-size:1.5rem;line-height:1}.dashboard-grid-enhanced{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:20px;gap:20px}.widget{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.08);border-radius:14px;padding:0;transition:all .3s ease;overflow:hidden}.widget:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.15);border-color:hsla(0,0%,100%,.15)}.widget-header{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid hsla(0,0%,100%,.08)}.widget-icon{font-size:1.75rem;line-height:1}.widget-header h3{margin:0;font-size:1.125rem;font-weight:600}.widget-body{padding:20px}.widget-body p{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.6}.widget-footer{padding:16px 20px;background:hsla(0,0%,100%,.02);border-top:1px solid hsla(0,0%,100%,.08);display:flex;gap:12px;flex-wrap:wrap}.widget-link{color:var(--accent);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s ease}.widget-link:hover{color:var(--accent-2)}.verification-progress{margin-bottom:16px}.progress-bar{height:8px;background:hsla(0,0%,100%,.1);border-radius:999px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0,var(--accent-2) 100%);border-radius:999px;transition:width .5s ease}.progress-label{font-size:.875rem;color:var(--muted);text-align:right}.widget-status{margin:12px 0 0;font-size:.9375rem}.status-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.8125rem;font-weight:600;text-transform:capitalize}.status-verified{background:rgba(16,185,129,.2);color:#10b981}.status-pending{background:rgba(245,158,11,.2);color:#f59e0b}.status-incomplete{background:rgba(239,68,68,.2);color:#ef4444}.wallet-balance{padding:16px;background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.1));border-radius:10px;margin-bottom:12px}.balance-label{font-size:.8125rem;color:var(--muted);margin-bottom:6px}.balance-amount{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--accent) 0,var(--accent-2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.upcoming-booking-alert{margin-top:12px;padding:10px 12px;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);border-radius:8px;font-size:.875rem;color:#10b981}.btn-check-in{display:inline-block;padding:8px 16px;background:var(--accent);color:#fff;text-decoration:none;border-radius:8px;font-size:.875rem;font-weight:600;transition:all .2s ease}.btn-check-in:hover{background:var(--accent-2);transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.3)}.activity-list{display:grid;grid-gap:12px;gap:12px}.activity-item{display:flex;align-items:center;gap:12px;padding:12px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.08);border-radius:8px;transition:all .2s ease}.activity-item:hover{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.15)}.activity-icon{font-size:1.25rem;line-height:1}.activity-content{flex:1 1}.activity-title{font-size:.875rem;font-weight:500;margin-bottom:2px}.activity-time{font-size:.75rem;color:var(--muted)}.booking-card{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.08);border-radius:14px;padding:20px;transition:all .3s ease;position:relative;overflow:hidden}.booking-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}.booking-card.status-pending:before{background:#f59e0b}.booking-card.status-confirmed:before{background:#10b981}.booking-card.status-completed:before{background:#6366f1}.booking-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.15);border-color:hsla(0,0%,100%,.15)}.booking-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap;gap:12px}.booking-title{font-size:1.125rem;font-weight:600;margin:0 0 6px}.booking-meta{font-size:.875rem;color:var(--muted);margin:0}.booking-status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:.8125rem;font-weight:600;text-transform:capitalize}.booking-details{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:16px}.booking-detail-item{flex:1 1;min-width:120px}.booking-detail-label{display:block;font-size:.8125rem;color:var(--muted);margin-bottom:4px}.booking-detail-value{font-size:1rem;font-weight:600}.booking-actions{display:flex;gap:12px;flex-wrap:wrap}.progress-tracker{display:flex;align-items:center;gap:8px;margin:16px 0}.progress-step{flex:1 1;height:4px;background:hsla(0,0%,100%,.1);border-radius:999px;position:relative}.progress-step.active{background:var(--accent)}.progress-step.completed{background:#10b981}.progress-step-label{position:absolute;top:12px;left:0;font-size:.75rem;color:var(--muted);white-space:nowrap}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid-enhanced{grid-template-columns:1fr}.stat-value{font-size:1.5rem}.stat-icon{font-size:2rem}}:root{--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-2xl:32px;--spacing-3xl:48px;--button-height:48px;--input-height:44px;--tap-target:44px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;overflow-x:hidden}a.button,button,input[type=button],input[type=submit]{min-height:var(--button-height);min-width:var(--button-height);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-md)}a.button:active,button:active{transform:scale(.98);opacity:.8}button:disabled{opacity:.5;cursor:not-allowed}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea{min-height:var(--input-height);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);border:1px solid var(--border-color);border-radius:8px;background:hsla(0,0%,100%,.02);color:var(--text-primary);font-family:inherit;width:100%;transition:all .2s ease}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);background:hsla(0,0%,100%,.04);box-shadow:0 0 0 3px rgba(59,130,246,.1)}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:auto;padding:0;border-radius:4px;background:transparent;border:none;accent-color:var(--accent)}textarea{min-height:120px;resize:vertical}h1{font-size:var(--font-size-2xl);line-height:1.2;margin:var(--spacing-lg) 0;font-weight:700}h2{font-size:var(--font-size-xl);line-height:1.3;margin:var(--spacing-lg) 0 var(--spacing-md) 0}h2,h3{font-weight:600}h3{font-size:var(--font-size-lg);line-height:1.4}h3,p{margin:var(--spacing-md) 0}p{font-size:var(--font-size-base);line-height:1.6}small{font-size:var(--font-size-sm);line-height:1.5}.container{width:100%;max-width:1100px;padding:0 var(--spacing-lg);margin:0 auto}.grid{display:grid;grid-gap:var(--spacing-md);gap:var(--spacing-md)}.grid,.grid-2{grid-template-columns:1fr}.flex{display:flex;gap:var(--spacing-md)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}img{max-width:100%;height:auto;display:block}.image-container{position:relative;width:100%;overflow:hidden;border-radius:8px}.image-container img{width:100%;height:auto;object-fit:cover}.card{padding:var(--spacing-lg);border:1px solid var(--border-color);border-radius:12px;background:hsla(0,0%,100%,.02);transition:all .2s ease}.card:active{transform:translateY(-2px);background:hsla(0,0%,100%,.04)}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;z-index:1000}.modal-content{width:100%;background:var(--bg-secondary);border-radius:16px 16px 0 0;padding:var(--spacing-lg);max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (min-width:768px){:root{--spacing-lg:20px;--spacing-xl:32px;--font-size-base:17px}.container{max-width:728px;padding:0 var(--spacing-xl)}.grid-2{grid-template-columns:repeat(2,1fr)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}.modal-content{width:90%;max-width:500px;border-radius:16px;margin:auto}}@media (min-width:1024px){:root{--spacing-lg:24px;--spacing-xl:40px}.container{max-width:1100px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.modal-content{width:600px}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border-width:0}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.truncate{text-overflow:ellipsis}.line-clamp-2{-webkit-line-clamp:2;line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;line-clamp:3}.hidden{display:none!important}.visible{display:block!important}