.mobile-bottom-nav,.mobile-more-sheet,.mobile-more-overlay{display:none}
.customer-app header{height:76px;padding:0 28px;position:sticky;top:0;background:#0e1815;z-index:300}
.customer-sidebar{position:fixed;left:0;top:76px;bottom:0;width:225px;padding:30px 20px;background:#111c17;border-right:1px solid var(--line);display:flex;flex-direction:column}
.customer-sidebar nav{display:grid;gap:8px;margin-top:16px}.customer-sidebar nav a{color:var(--muted);text-decoration:none;padding:14px;border-radius:8px;font-weight:600}
.customer-sidebar nav a:hover{background:#203225;color:var(--ink)}.customer-sidebar nav a[aria-current]{background:#3ee6a2;color:#03150d}
.sidebar-note{margin-top:auto;color:var(--muted);font-size:12px;line-height:2}.sidebar-note small{font-size:10px}
.customer-app .customer-main{max-width:1600px;margin-left:225px;padding:28px 36px}.page-heading{padding:10px 0 20px}.page-heading h1{font-size:36px;margin:10px 0;letter-spacing:-1.4px}.page-heading p{margin:5px 0}
.welcome-card{padding:28px;border:1px solid var(--line);background:linear-gradient(130deg,#203023,#131f19);border-radius:14px}
.welcome-card h2{overflow-wrap:anywhere}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}
.destination-grid a{display:block;text-decoration:none;border:1px solid var(--line);border-radius:12px;padding:25px;color:var(--ink);background:var(--panel)}.destination-grid a:hover{border-color:var(--accent)}.destination-grid span{color:var(--accent)}.destination-grid h2{font-size:20px}.destination-grid p{font-size:13px}
.nav-action{color:var(--accent);text-decoration:none}.customer-main .section-heading{margin-top:8px}.customer-main .catalog,.customer-main .team{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.customer-main #customerCampus{height:65vh!important;min-height:540px}.customer-main #socialOffice>.section-heading{display:none}
@media(max-width:900px){.destination-grid{grid-template-columns:1fr}.customer-sidebar{width:180px}.customer-app .customer-main{margin-left:180px;padding:24px}}
@media(max-width:650px){
  .customer-app header{padding:0 14px;height:56px}
  .customer-app header .tag{display:none}
  .customer-app header .brand{font-size:24px}
  #logout{font-size:12px;padding:8px 12px}
  .customer-sidebar{display:none}
  .mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:300;background:#070b11e6;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom));justify-content:space-around;align-items:stretch}
  .mobile-bottom-nav a,.mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;color:var(--muted);text-decoration:none;font:600 10px 'DM Sans',sans-serif;padding:6px 4px;min-width:0;flex:1;cursor:pointer;transition:color .15s}
  .mobile-bottom-nav a[aria-current],.mobile-bottom-nav a.active{color:var(--accent)}
  .mobile-bottom-nav a:hover,.mobile-bottom-nav button:hover{color:var(--ink)}
  .mobile-bottom-nav .ai{display:block;margin:0 auto 1px}
  .mobile-more-sheet{display:none;position:fixed;bottom:0;left:0;right:0;z-index:350;background:var(--panel);border-top-left-radius:16px;border-top-right-radius:16px;border:1px solid var(--line);border-bottom:none;padding:16px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px #0009;animation:sheet-up .25s var(--ease)}
  .mobile-more-sheet.open{display:block}
  .mobile-more-sheet a{display:flex;align-items:center;gap:14px;padding:14px 12px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;transition:background .15s}
  .mobile-more-sheet a:hover{background:#ffffff0a}
  .mobile-more-sheet a[aria-current]{color:var(--accent)}
  .mobile-more-sheet a .ai{flex:none;opacity:.8}
  .mobile-more-sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--line-strong);margin:0 auto 14px}
  .mobile-more-overlay{display:none;position:fixed;inset:0;z-index:340;background:#000a}
  .mobile-more-overlay.open{display:block}
  @keyframes sheet-up{from{transform:translateY(100%)}}
  .customer-app .customer-main{margin-left:0;padding:16px 14px 90px}
  .page-heading h1{font-size:26px}
  .chat-controls{grid-template-columns:1fr}
  .notif-toasts{bottom:72px}
}

.notif{position:relative}.notif-bell{position:relative;padding:10px 12px;font-size:16px;line-height:1}
.notif-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#e2574c;color:#fff;font:700 11px/20px 'DM Sans',sans-serif}
.notif-list{position:absolute;right:0;top:calc(100% + 8px);z-index:400;width:min(360px,90vw);max-height:70vh;overflow:auto;padding:14px;border-radius:12px;background:#111a25;border:1px solid var(--line);box-shadow:0 12px 32px #000a}
.notif-list>strong{display:block;margin-bottom:8px}.notif-list>button{width:100%;margin-top:8px;padding:8px}
.notif-item{padding:10px;border-radius:8px;border:1px solid transparent;margin-bottom:6px}.notif-item.unread{background:#1e2e25;border-color:#3b5244}
.notif-item b{display:block;font-size:13px}.notif-item p{margin:4px 0;font-size:12px;line-height:1.4}.notif-item small{color:var(--muted);font-size:11px}
.notif-item a{display:inline-block;margin-top:6px;color:var(--accent);font-size:12px;font-weight:600;text-decoration:none}
.notif-toasts{position:fixed;right:16px;bottom:16px;z-index:500;display:grid;gap:10px;width:min(380px,calc(100vw - 32px))}
.notif-toast{padding:16px;border-radius:14px;background:#2a2414;border:1px solid #c9a45c;box-shadow:0 12px 32px #000c;animation:notif-in .3s ease-out}
.notif-toast b{display:block;color:#f2d38b}.notif-toast p{margin:6px 0 12px;color:#e8dcc0;font-size:13px}
.notif-toast div{display:flex;gap:8px}.notif-toast button{padding:9px 12px}
.notif-go{padding:9px 14px;border-radius:7px;background:#f2c94c;color:#2a2414;font-weight:700;text-decoration:none;font-size:13px}
@keyframes notif-in{from{transform:translateY(12px);opacity:0}}
@media(prefers-reduced-motion:reduce){.notif-toast{animation:none}}
/* home: daily check-in streak card (customer-home.js fills it and adds .due when today is still open) */
.streak-card{display:block;margin:14px 0;padding:14px 16px;border-radius:12px;border:1px solid #6b5520;background:#231d0c;color:#fbe8b0;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.streak-card[hidden]{display:none}.streak-card.due{border-color:#f2c94c;box-shadow:0 0 0 3px #f2c94c33}
