/* Header */
.dao-header{position:sticky;top:0;z-index:80;height:var(--dao-header-height);display:flex;align-items:center;gap:14px;padding:0 max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));border-bottom:1px solid rgba(226,216,222,.88);background:rgba(255,255,255,.94);backdrop-filter:blur(18px);box-shadow:0 8px 28px rgba(43,30,38,.055)}
.dao-header__burger{flex:0 0 auto;width:42px;height:42px;padding:0;border:1px solid var(--dao-line);border-radius:var(--dao-radius-sm);background:var(--dao-surface);font-size:0;box-shadow:var(--dao-shadow-xs);transition:transform var(--dao-duration-fast) var(--dao-ease),border-color var(--dao-duration-fast) var(--dao-ease),box-shadow var(--dao-duration-fast) var(--dao-ease)}
.dao-header__burger::before{content:"";display:block;width:20px;height:14px;margin:auto;border-top:2px solid #2f2930;border-bottom:2px solid #2f2930;background:linear-gradient(#2f2930,#2f2930) center/100% 2px no-repeat}
.dao-header__burger:hover{border-color:#e7b6ca;box-shadow:var(--dao-shadow-sm);transform:translateY(-1px)}
.dao-header__logo{display:inline-flex;align-items:center;min-width:0}
.dao-header__logo img{width:auto;height:37px;object-fit:contain}
.dao-header__logo>span{display:none}
.dao-header__right{margin-left:auto;display:flex;align-items:center;gap:9px}
.dao-icon-link{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 14px;border:1px solid var(--dao-line);border-radius:var(--dao-radius-pill);background:var(--dao-surface);font-size:var(--dao-fs-sm);font-weight:850;white-space:nowrap;box-shadow:var(--dao-shadow-xs);transition:border-color var(--dao-duration-fast) var(--dao-ease),background-color var(--dao-duration-fast) var(--dao-ease),transform var(--dao-duration-fast) var(--dao-ease)}
.dao-icon-link:hover{border-color:#efbfd2;background:var(--dao-surface-soft);transform:translateY(-1px)}
.dao-icon-link img{width:18px;height:18px}
.dao-lang{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #e5e0e7;border-radius:var(--dao-radius-pill);background:#f2eff4}
.dao-lang a{display:grid;place-items:center;min-width:34px;height:30px;padding:0 8px;border-radius:var(--dao-radius-pill);color:#716a73;font-size:var(--dao-fs-xs);font-weight:900;transition:background-color var(--dao-duration-fast) var(--dao-ease),color var(--dao-duration-fast) var(--dao-ease)}
.dao-lang a.is-active{background:linear-gradient(135deg,var(--dao-pink),var(--dao-purple));color:#fff;box-shadow:0 7px 18px rgba(239,63,141,.2)}

/* Drawer */
.dao-menu-backdrop{position:fixed;inset:0;z-index:94;visibility:hidden;opacity:0;background:rgba(26,20,24,.42);backdrop-filter:blur(2px);transition:opacity var(--dao-duration) var(--dao-ease),visibility var(--dao-duration) var(--dao-ease)}
.dao-menu-backdrop.is-open{visibility:visible;opacity:1}
.dao-drawer{position:fixed;inset:0 auto 0 0;z-index:95;width:min(330px,88vw);display:flex;flex-direction:column;gap:9px;padding:18px;padding-top:max(18px,env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain;border-right:1px solid var(--dao-line);background:rgba(255,255,255,.985);box-shadow:34px 0 80px rgba(31,21,27,.18);transform:translateX(-105%);transition:transform var(--dao-duration) var(--dao-ease)}
.dao-drawer.is-open{transform:translateX(0)}
.dao-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--dao-line)}
.dao-drawer__brand{display:flex;align-items:center;min-width:0}
.dao-drawer__brand img{width:auto;height:34px}
.dao-drawer__brand span{display:none}
.dao-drawer__head button{width:40px;height:40px;padding:0;border:0;border-radius:12px;background:#f4f1f4;font-size:25px;line-height:1;transition:background-color var(--dao-duration-fast) var(--dao-ease)}
.dao-drawer__head button:hover{background:#ece6eb}
.dao-drawer__lang{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:2px 0 4px}
.dao-drawer__lang a{display:grid;place-items:center;min-height:40px;border-radius:12px;background:#f5f2f5;color:var(--dao-muted);font-size:var(--dao-fs-xs);font-weight:900}
.dao-drawer__lang a.is-active{background:linear-gradient(135deg,var(--dao-pink),var(--dao-purple));color:#fff}
.dao-drawer>a{display:flex;align-items:center;gap:11px;min-height:48px;padding:10px 13px;border:1px solid var(--dao-line);border-radius:var(--dao-radius-sm);background:var(--dao-surface);font-weight:800;transition:border-color var(--dao-duration-fast) var(--dao-ease),background-color var(--dao-duration-fast) var(--dao-ease),color var(--dao-duration-fast) var(--dao-ease),transform var(--dao-duration-fast) var(--dao-ease)}
.dao-drawer>a:hover,.dao-drawer>a.is-active{border-color:#f0b6cd;background:var(--dao-surface-soft);color:var(--dao-pink-dark);transform:translateX(2px)}
.dao-drawer>a img{width:21px;height:21px}
.dao-logout-form{margin-top:auto}
.dao-logout-form button{width:100%;min-height:44px;border:0;border-radius:var(--dao-radius-sm);background:#f2eff2;color:#6e666e;font-weight:850}
body.dao-menu-open,body.dao-modal-open{overflow:hidden}

/* Buttons */
.dao-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border:1px solid transparent;border-radius:15px;background:linear-gradient(135deg,var(--dao-pink),var(--dao-pink-dark));color:#fff;font-weight:900;line-height:1.1;box-shadow:var(--dao-shadow-pink);transition:transform var(--dao-duration-fast) var(--dao-ease),box-shadow var(--dao-duration-fast) var(--dao-ease),filter var(--dao-duration-fast) var(--dao-ease)}
.dao-btn:hover{transform:translateY(-1px);filter:saturate(1.04);box-shadow:0 20px 44px rgba(239,63,141,.25)}
.dao-btn:active{transform:translateY(0);box-shadow:0 10px 24px rgba(239,63,141,.18)}
.dao-btn--secondary{border-color:var(--dao-line);background:var(--dao-surface);color:var(--dao-text);box-shadow:var(--dao-shadow-xs)}
.dao-btn--ghost{border-color:transparent;background:transparent;color:var(--dao-pink-dark);box-shadow:none}
.dao-btn--danger{background:linear-gradient(135deg,#e15472,var(--dao-danger));box-shadow:0 16px 34px rgba(201,59,88,.2)}
.dao-btn--sm{min-height:40px;padding-inline:16px;border-radius:13px;font-size:var(--dao-fs-sm)}
.dao-btn--block{width:100%}
.dao-btn[disabled],.dao-btn.is-disabled{cursor:not-allowed;opacity:.52;filter:grayscale(.15);transform:none;box-shadow:none}

/* Cards, section heads and chips */
.dao-card{border:1px solid var(--dao-line);border-radius:var(--dao-radius-lg);background:var(--dao-surface);box-shadow:var(--dao-shadow-sm)}
.dao-card--soft{background:var(--dao-surface-soft)}
.dao-card--interactive{transition:border-color var(--dao-duration) var(--dao-ease),box-shadow var(--dao-duration) var(--dao-ease),transform var(--dao-duration) var(--dao-ease)}
.dao-card--interactive:hover{border-color:#efbfd2;box-shadow:var(--dao-shadow);transform:translateY(-2px)}
.dao-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}
.dao-section-head__copy{min-width:0}
.dao-section-head__eyebrow{margin-bottom:5px;color:var(--dao-pink-dark);font-size:var(--dao-fs-xs);font-weight:950;letter-spacing:.06em;text-transform:uppercase}
.dao-section-head__title{color:var(--dao-text)}
.dao-section-head__description{margin-top:6px;color:var(--dao-muted);font-size:var(--dao-fs-md)}
.dao-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 11px;border:1px solid var(--dao-line);border-radius:var(--dao-radius-pill);background:var(--dao-surface);color:var(--dao-text-soft);font-size:var(--dao-fs-xs);font-weight:850;line-height:1}
.dao-chip--brand{border-color:rgba(239,63,141,.16);background:var(--dao-surface-soft);color:var(--dao-pink-dark)}
.dao-chip--success{border-color:rgba(35,147,91,.14);background:#eaf8f0;color:var(--dao-green)}

/* Feedback and empty states */
.dao-flash,.dao-alert{width:min(var(--dao-content),100%);margin:0 auto 14px;padding:13px 16px;border:1px solid #bfe6d1;border-radius:var(--dao-radius-sm);background:#effbf4;color:#177b49;font-weight:800;box-shadow:var(--dao-shadow-xs)}
.dao-empty{display:grid;place-items:center;min-height:150px;padding:28px;border:1px dashed #dbcbd4;border-radius:var(--dao-radius-lg);background:var(--dao-surface-soft);color:var(--dao-muted);text-align:center}
.dao-step-alert{margin:12px 0;padding:11px 13px;border:1px solid #f3b9c7;border-radius:12px;background:#fff1f4;color:#b9234f;font-weight:850;line-height:1.45}
.dao-field-error{display:block;margin-top:6px;color:#b9234f;font-size:var(--dao-fs-xs);font-weight:850}
.dao-field-invalid input,.dao-field-invalid select,.dao-field-invalid textarea{border-color:#e65a7d!important;box-shadow:0 0 0 3px rgba(230,90,125,.14)!important;background:#fff9fa!important}
.dao-contact-error{grid-column:1/-1}

/* Badges */
.dao-nav-unread-badge,.dao-drawer-unread-badge,.dao-bottom-unread-badge{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:var(--dao-radius-pill);background:var(--dao-pink);color:#fff;font-size:10px;font-weight:950;line-height:1}
.dao-nav-unread-badge{position:absolute;right:-4px;top:-5px}
.dao-bottom-unread-badge{position:absolute;top:5px;right:16%}
.dao-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid rgba(35,147,91,.14);border-radius:var(--dao-radius-pill);background:#eaf8f0;color:var(--dao-green);font-size:var(--dao-fs-xs);font-weight:900}
.dao-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.dao-badge--icon::before{display:none}
.dao-badge--icon img{width:16px;height:16px;object-fit:contain}
.dao-feature-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:var(--dao-radius-pill);background:#fff0f7;color:var(--dao-pink-dark);font-weight:900}
.dao-feature-chip img{width:18px;height:18px;object-fit:contain}

/* Footer */
.dao-footer{margin-top:24px;padding:30px var(--dao-page-gutter) calc(28px + var(--dao-safe-bottom));border-top:1px solid var(--dao-line);background:rgba(255,255,255,.92)}
.dao-footer__inner{width:min(var(--dao-content),100%);margin:auto;display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:36px}
.dao-footer__brand img{height:34px;width:auto;margin-bottom:12px}
.dao-footer h3{margin:0 0 10px;font-size:14px}
.dao-footer p,.dao-footer a{color:var(--dao-muted);font-size:13px;line-height:1.7}
.dao-footer a:hover{color:var(--dao-pink-dark)}
.dao-footer__links{display:grid;gap:5px}
.dao-footer__copy{grid-column:1/-1;padding-top:14px;border-top:1px solid var(--dao-line);color:#9b9299;font-size:12px}

/* Bottom navigation */
.dao-bottom-nav{display:none}

/* Lightbox */
.dao-lightbox{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:24px;background:rgba(18,14,17,.88);backdrop-filter:blur(8px)}
.dao-lightbox__image{max-width:min(1100px,94vw);max-height:88vh;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.dao-lightbox__close{position:fixed;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:var(--dao-radius-pill);background:rgba(255,255,255,.12);color:#fff;font-size:28px}

/* Desktop header search */
.dao-header-search{display:flex;align-items:center;gap:8px;min-width:260px;width:min(430px,34vw);height:42px;margin-left:12px;padding:0 7px 0 13px;border:1px solid var(--dao-line);border-radius:var(--dao-radius-pill);background:var(--dao-surface);box-shadow:var(--dao-shadow-xs)}
.dao-header-search>img{flex:0 0 auto;width:17px;height:17px;opacity:.72}
.dao-header-search input{height:38px;min-height:38px;padding:0;border:0;background:transparent;box-shadow:none!important;font-size:13px;font-weight:650}
.dao-header-search button{display:grid;place-items:center;flex:0 0 auto;width:31px;height:31px;padding:0;border:0;border-radius:var(--dao-radius-pill);background:linear-gradient(135deg,var(--dao-pink),var(--dao-purple));color:#fff;font-size:17px;font-weight:900}

@media(max-width:980px){.dao-header-search{width:min(330px,30vw)}}

@media(max-width:767px){
  .dao-header{height:var(--dao-header-height);gap:8px;padding:0 11px}
  .dao-header__burger{width:36px;height:36px;border-radius:11px}
  .dao-header__burger::before{width:17px;height:12px}
  .dao-header__logo img{height:25px;max-width:min(53vw,205px)}
  .dao-header__right>.dao-icon-link,.dao-header__right>.dao-lang,.dao-header-search{display:none}
  .dao-drawer{padding:14px;padding-top:max(14px,env(safe-area-inset-top))}
  .dao-bottom-nav{position:fixed;left:10px;right:10px;bottom:max(6px,var(--dao-safe-bottom));z-index:90;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:var(--dao-bottom-nav-height);padding:3px 5px;border:1px solid rgba(230,220,226,.92);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 11px 30px rgba(45,29,38,.14);backdrop-filter:blur(18px)}
  .dao-bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;min-height:40px;border-radius:13px;color:#655e66;font-size:8.5px;font-weight:900;line-height:1}
  .dao-bottom-nav a img{width:27px;height:27px;padding:4px;border-radius:10px;object-fit:contain;transition:background-color var(--dao-duration-fast) var(--dao-ease),filter var(--dao-duration-fast) var(--dao-ease),box-shadow var(--dao-duration-fast) var(--dao-ease)}
  .dao-bottom-nav a b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .dao-bottom-nav a.is-active{background:transparent;color:var(--dao-pink-dark);box-shadow:none}
  .dao-bottom-nav a.is-active img{background:linear-gradient(135deg,var(--dao-pink),var(--dao-purple));filter:brightness(0) invert(1);box-shadow:0 7px 17px rgba(239,63,141,.2)}

  /* Detail contact actions share the mobile safe area with the global navigation. */
  body.dao-has-mobile-actions .dao-detail-mobile-actions{
    left:8px!important;
    right:8px!important;
    bottom:max(8px,var(--dao-safe-bottom))!important;
    gap:6px!important;
    padding:5px!important;
    border-radius:15px!important;
  }
  body.dao-has-mobile-actions .dao-detail-mobile-actions a{min-height:44px!important;padding-inline:12px!important;border-radius:12px!important;font-size:13px!important}
  .dao-section-head{align-items:flex-start;margin-bottom:16px}
  .dao-section-head__description{font-size:14px}
  .dao-footer{display:none}
  .dao-lightbox{padding:12px}
}

@media(max-width:420px){
  .dao-header{gap:7px;padding-inline:9px}
  .dao-header__logo img{height:24px;max-width:52vw}
  .dao-bottom-nav{left:7px;right:7px;border-radius:17px}
  .dao-bottom-nav a{border-radius:12px;font-size:8px}
  .dao-bottom-nav a img{width:26px;height:26px}
}
