.ocean-bg{background:linear-gradient(135deg,#00a7b5 0%,#007991 100%);width:100vw;min-height:100vh;display:flex}.dashboard-root{width:100vw;min-height:100vh;display:flex}.dashboard-main{background:#f8f9faf2;flex:1;min-height:100vh;padding:2rem 1rem;overflow-x:auto}.sidebar-ocean{color:#fff;background:linear-gradient(#007991 0%,#00a7b5 100%);min-height:100vh;transition:width .3s;box-shadow:2px 0 16px #00000012}.dashboard-mobile-topbar,.dashboard-mobile-backdrop{display:none}@media (max-width:900px){.dashboard-root{flex-direction:column}.dashboard-mobile-topbar{z-index:40;background:linear-gradient(90deg,#007991 0%,#00a7b5 100%);justify-content:space-between;align-items:center;height:60px;padding:0 1rem;display:flex;position:fixed;top:64px;left:0;right:0;box-shadow:0 2px 12px #0000001f}.dashboard-mobile-backdrop{z-index:38;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);opacity:0;pointer-events:none;background:#00000059;transition:opacity .3s;display:block;position:fixed;inset:64px 0 0}.dashboard-mobile-backdrop.mobile-open{opacity:1;pointer-events:auto}.sidebar-ocean{z-index:41;min-height:auto;box-shadow:none;opacity:0;pointer-events:none;border-radius:16px 0 0 16px;max-height:calc(100vh - 64px);transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .25s;position:fixed;inset:64px 0 0 auto;overflow-y:auto;transform:translate(110%);width:min(84vw,340px)!important}.sidebar-ocean.mobile-open{opacity:1;pointer-events:auto;transform:translate(0)}.sidebar-ocean .collapse-toggle{display:none}.sidebar-ocean.collapsed{width:min(84vw,340px)!important}.dashboard-main{margin-top:60px;padding:1rem}}.sidebar-ocean .active,.sidebar-ocean a:hover{color:#ff6b35;background:#ffffff1f}.sidebar-ocean .icon{margin-right:.5rem;font-size:1.5rem}.sidebar-ocean.collapsed{width:60px!important}.dashboard-container{color:#15313a;flex-direction:column;gap:1.5rem;display:flex}.dashboard-loading-shell{place-items:center;min-height:calc(100vh - 120px);padding:2rem 1rem;display:grid}.dashboard-loading-card{text-align:center;background:#ffffffe6;border:1px solid #0079911f;border-radius:28px;width:min(100%,760px);padding:2rem;box-shadow:0 18px 36px #0f2f3a1a}.dashboard-loading-card h2{margin:1rem 0 .35rem;font-size:1.5rem}.dashboard-loading-card p{color:#15313ab8;margin:0 0 1.5rem}.loading-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.loading-skeleton{background:linear-gradient(90deg,#00799114,#00799129,#00799114) 0 0/200% 100%;border-radius:18px;animation:1.6s linear infinite loading-shimmer;position:relative;overflow:hidden}.loading-skeleton-card{height:96px}.loading-spinner{border:4px solid #00799129;border-top-color:#007991;border-radius:50%;width:48px;height:48px;margin:0 auto;animation:.9s linear infinite loading-spin}.dashboard-header{background:linear-gradient(135deg,#0079911f,#ff6b3514);border:1px solid #0079911f;border-radius:24px;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 12px 28px #0f2f3a14}.welcome-section h1,.services-section h2,.activities-section h2,.bookings-section h2,.notifications-section h2,.social-section h2{margin:0 0 .35rem;font-size:1.45rem;line-height:1.15}.welcome-section p{color:#15313ab8;margin:0}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.stat-card,.booking-card,.notification-card{background:#fff;border:1px solid #0079911a;border-radius:20px;box-shadow:0 10px 24px #0f2f3a0f}.stat-card{align-items:center;gap:.9rem;min-height:92px;padding:1rem 1.1rem;display:flex}.stat-icon{background:linear-gradient(135deg,#00799124,#ff6b351f);border-radius:14px;place-items:center;width:46px;height:46px;font-size:1.25rem;display:grid}.stat-content h3{color:#15313ab8;margin:0 0 .35rem;font-size:.9rem;font-weight:600}.stat-number{color:#0f4c5c;margin:0;font-size:1.65rem;font-weight:700}.empty-state-card{color:#15313a;background:#0079910d;border:1px dashed #0079912e;border-radius:18px;padding:1.1rem 1.15rem}.empty-state-card h4{color:#0f4c5c;margin:0 0 .35rem;font-size:1rem}.empty-state-card p{color:#15313ab8;margin:0}.services-section,.activities-section,.bookings-section,.notifications-section,.social-section{background:#ffffffd1;border:1px solid #0079911a;border-radius:24px;flex-direction:column;gap:1rem;padding:1.35rem;display:flex;box-shadow:0 12px 28px #0f2f3a0f}.activities-grid,.bookings-list,.notifications-list,.social-buttons{gap:.9rem;display:grid}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-header h2{margin-bottom:0}.activities-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.bookings-list,.notifications-list{grid-template-columns:1fr}.booking-card,.notification-card{justify-content:space-between;gap:1rem;padding:1rem 1.1rem;display:flex}.booking-info h4,.notification-card h4{margin:0 0 .35rem;font-size:1rem}.booking-info p,.notification-card p{color:#15313ab8;margin:0 0 .55rem}.booking-actions{align-items:center;display:flex}.status-badge{text-transform:capitalize;color:#0f4c5c;background:#0079911a;border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.82rem;font-weight:600;display:inline-flex}.status-badge.cancelled{color:#b42318;background:#cc3f3f1f}.status-badge.completed{color:#1d6f4f;background:#2c91651f}.notification-card.unread{border-left:4px solid #ff6b35}.notification-card.read{opacity:.86}.notification-meta{color:#15313a8c;flex-shrink:0;font-size:.8rem}.social-buttons{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.filter-controls{flex-wrap:wrap;gap:.65rem;display:flex}.filter-btn,.btn-outline,.social-btn{color:#0f4c5c;background:#fff;border:1px solid #00799124;border-radius:14px;padding:.7rem 1rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s}.filter-btn.active,.filter-btn:hover,.btn-outline:hover,.social-btn:hover{background:#00799114;transform:translateY(-1px);box-shadow:0 10px 18px #0f2f3a14}@media (max-width:1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.dashboard-loading-card{border-radius:22px;padding:1.25rem}.dashboard-header,.booking-card,.notification-card{flex-direction:column}.section-header,.filter-controls{width:100%}.filter-controls .filter-btn{flex:calc(50% - .65rem)}.stats-grid{grid-template-columns:1fr}.services-section,.activities-section,.bookings-section,.notifications-section,.social-section{border-radius:18px;padding:1rem}}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
