.dashboard-body{min-height:100vh;background:var(--dashboard-bg);color:var(--text-main)}
.portal-shell{width:min(1480px,100%);margin:0 auto;padding:48px clamp(22px,5vw,72px) 100px}
.portal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:28px}
.portal-kicker{margin:0 0 7px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.portal-header h1{margin:0;font-size:clamp(38px,5vw,58px);line-height:1;letter-spacing:-.05em}
.portal-header>div>p:last-child{margin:10px 0 0;color:var(--text-muted)}
.portal-user-actions{display:flex;align-items:center;gap:12px}
.icon-button,.profile-button{border:1px solid var(--dashboard-border);background:var(--dashboard-card);color:var(--text-main);box-shadow:var(--dashboard-shadow);cursor:pointer}
.icon-button{width:50px;height:50px;border-radius:15px;display:grid;place-items:center}.icon-button svg{width:22px;height:22px}.icon-button:hover{transform:translateY(-2px)}
.sun-icon{display:none}html[data-theme="native-light"] .sun-icon{display:block}html[data-theme="native-light"] .moon-icon{display:none}
.profile-button{min-height:58px;border-radius:18px;padding:7px 15px 7px 8px;display:flex;align-items:center;gap:11px;text-align:left}
.profile-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#14b8ff,#2563eb);color:#fff;font-weight:800}
.profile-copy{display:grid;gap:2px}.profile-copy strong{font-size:14px}.profile-copy small{color:var(--text-muted);font-size:11px}
.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:82px}
.stat-card{min-height:188px;padding:28px;border-radius:24px;color:#fff;position:relative;overflow:hidden;box-shadow:0 24px 50px rgba(0,0,0,.15)}
.stat-card:after{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-55px;bottom:-70px;pointer-events:none}
.stat-card-header{display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;z-index:1}
.stat-card-header p{margin:0;font-size:14px;font-weight:600}
.stat-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.17);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.stat-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.stat-card strong{display:block;margin-top:15px;font-size:52px;line-height:1;position:relative;z-index:1}
.stat-card>span{position:absolute;bottom:25px;left:28px;font-size:11px;opacity:.76;z-index:1}
.stat-blue{background:linear-gradient(135deg,#159fe9,#59bbf3)}.stat-purple{background:linear-gradient(135deg,#7c4ee9,#8d96ec)}.stat-gold{background:linear-gradient(135deg,#efa300,#ffca61)}.stat-orange{background:linear-gradient(135deg,#ff761d,#ff914a)}.stat-rose{background:linear-gradient(135deg,#ef5570,#ed91a0)}
.communities-section{margin-top:115px}.section-heading{display:flex;align-items:center;gap:18px}.section-heading h2{margin:0;font-size:clamp(30px,4vw,43px);letter-spacing:-.04em}.section-heading p{margin:7px 0 0;color:var(--text-muted)}
.section-icon{display:grid;gap:4px}.section-icon span{display:block;width:25px;height:3px;border-radius:4px;background:#8b5cf6}.section-icon span:nth-child(2){width:19px}.section-icon span:nth-child(3){width:13px}
.create-button{margin-left:auto;border:0;border-radius:13px;padding:13px 18px;background:var(--button-bg);color:#fff;font-weight:800;cursor:pointer;box-shadow:var(--button-shadow)}.create-button span{font-size:20px;margin-right:7px}
.community-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px}
.community-card{min-height:370px;border-radius:24px;border:1px solid var(--dashboard-border);background:var(--dashboard-card);color:var(--text-main);text-decoration:none;overflow:hidden;box-shadow:var(--dashboard-shadow);transition:transform .2s ease,border-color .2s ease;cursor:pointer}.community-card:hover{transform:translateY(-5px);border-color:rgba(14,165,233,.45)}
.community-art{height:170px;background:var(--dashboard-card-soft);display:grid;place-items:center}.community-art img{width:100%;height:100%;object-fit:cover}.community-card-body{padding:25px}.community-badge{display:inline-block;border-radius:999px;padding:6px 10px;background:rgba(14,165,233,.12);color:var(--accent);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.community-card h3{margin:18px 0 6px;font-size:22px}.community-card p{margin:0;color:var(--text-muted)}.open-community{display:block;margin-top:28px;color:var(--accent);font-weight:800;font-size:13px}.open-community b{margin-left:6px}
.community-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.plus-mark{font-size:64px;line-height:1;color:var(--text-faint);font-weight:200}.community-add strong{font-size:18px}.community-add small{color:var(--text-muted)}
.portal-footer{text-align:center;padding:22px;color:var(--text-faint);font-size:12px}
.dashboard-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #0a0f18;

  opacity: 1;
  visibility: visible;
  pointer-events: auto;

  transition:
    opacity 0.45s ease,
    visibility 0.45s ease;
}

.dashboard-loader.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.dashboard-loader-content {
  width: min(320px, 82vw);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.dashboard-loader-logo {
  width: 175px;
  height: auto;

  animation: dashboardLogoPulse 1.8s ease-in-out infinite;
}

.dashboard-loader-progress {
  position: relative;

  width: 100%;
  height: 4px;

  margin-top: 30px;

  overflow: hidden;
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.08);
}

.dashboard-loader-progress span {
  position: absolute;
  inset: 0 auto 0 0;

  width: 42%;

  border-radius: inherit;

  background: linear-gradient(
    90deg,
    rgba(0, 150, 255, 0),
    #0096ff,
    #57bdff,
    rgba(0, 150, 255, 0)
  );

  box-shadow:
    0 0 12px rgba(0, 150, 255, 0.65),
    0 0 24px rgba(0, 150, 255, 0.28);

  animation: dashboardProgress 1.35s ease-in-out infinite;
}

.dashboard-loader-text {
  margin: 16px 0 0;

  color: rgba(255, 255, 255, 0.48);

  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@keyframes dashboardLogoPulse {
  0%,
  100% {
    opacity: 0.78;
    transform: scale(0.985);
    filter: drop-shadow(
      0 0 0 rgba(0, 150, 255, 0)
    );
  }

  50% {
    opacity: 1;
    transform: scale(1);
    filter: drop-shadow(
      0 0 16px rgba(0, 150, 255, 0.2)
    );
  }
}

@keyframes dashboardProgress {
  0% {
    left: -42%;
  }

  55% {
    left: 58%;
  }

  100% {
    left: 100%;
  }
}

.profile-avatar {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #4f8cff,
        #315cff
    );

    color: #fff;

    font-weight: 700;

    transition: background .25s ease;
}

.profile-avatar.has-image {
    background: transparent;
}

.profile-avatar img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    border-radius: inherit;

    display: block;
}
.community-modal{border:0;padding:0;background:transparent;color:var(--text-main);width:min(92vw,520px)}.community-modal::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(7px)}.modal-card{position:relative;background:var(--dashboard-card);border:1px solid var(--dashboard-border);border-radius:24px;padding:34px;box-shadow:var(--dashboard-shadow)}.modal-card h2{margin:0;font-size:31px}.modal-subtitle{color:var(--text-muted);line-height:1.6}.modal-card label{display:grid;gap:8px;margin-top:20px;font-size:13px;font-weight:700}.modal-close{position:absolute;right:18px;top:16px;border:0;background:transparent;color:var(--text-muted);font-size:28px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.secondary-button{border:1px solid var(--dashboard-border);background:var(--dashboard-card-soft);color:var(--text-main);border-radius:8px;padding:0 18px;font-weight:700}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.community-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.portal-shell{padding-top:26px}.portal-header{display:block}.portal-user-actions{margin-top:24px}.profile-copy{display:none}.stats-grid{margin-top:45px;grid-template-columns:1fr 1fr;gap:12px}.stat-card{min-height:150px;padding:20px;border-radius:18px}.stat-card strong{font-size:42px}.stat-card>span{display:none}.stat-icon{width:38px;height:38px;flex-basis:38px;border-radius:11px}.stat-icon svg{width:20px;height:20px}.communities-section{margin-top:72px}.section-heading{align-items:flex-start;flex-wrap:wrap}.create-button{margin-left:43px}.community-grid{grid-template-columns:1fr;margin-top:30px}.community-card{min-height:340px}}
@media(max-width:430px){.stats-grid{grid-template-columns:1fr}.stat-card{min-height:140px}.portal-user-actions{gap:8px}.icon-button{width:46px;height:46px}.profile-button{margin-left:auto}.create-button{width:100%;margin-left:0}.modal-actions{flex-direction:column-reverse}.modal-actions button{min-height:48px}}
