/* Earn Chat production experience upgrade
   Presentation only: all rewards, limits, states and permissions remain server-authoritative. */
:root{
  --ec-ink:#10213f;
  --ec-muted:#66758f;
  --ec-line:#dfe8f3;
  --ec-navy:#0d2853;
  --ec-blue:#1769e0;
  --ec-green:#11b981;
  --ec-orange:#f59e0b;
  --ec-soft:#f5f9ff;
}

.product-promise{
  display:flex;align-items:center;gap:.55rem;width:max-content;max-width:100%;
  margin:.8rem 0 0;padding:.55rem .8rem;border:1px solid rgba(17,185,129,.25);
  border-radius:999px;background:rgba(17,185,129,.08);color:#087a58;font-weight:800;font-size:.78rem
}
.product-promise::before{content:'✓';display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--ec-green);color:#fff}
.hero-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.9rem}
.hero-actions .secondary{width:auto}

.experience-section{position:relative;overflow:hidden}
.experience-section::before{content:'';position:absolute;inset:auto -5rem -7rem auto;width:13rem;height:13rem;border-radius:50%;background:rgba(23,105,224,.07)}
.reward-flow,.level-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.reward-flow article,.level-path article{position:relative;padding:1.2rem;border:1px solid var(--ec-line);border-radius:1.3rem;background:#fff;box-shadow:0 16px 35px rgba(16,43,89,.06)}
.reward-flow article:not(:last-child)::after{content:'→';position:absolute;right:-.72rem;top:50%;z-index:2;transform:translateY(-50%);display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;background:var(--ec-navy);color:#fff;font-weight:900}
.reward-flow i,.level-path i{display:grid;place-items:center;width:2.4rem;height:2.4rem;margin-bottom:.8rem;border-radius:.85rem;background:#eaf2ff;color:var(--ec-blue);font-style:normal;font-weight:900}
.reward-flow h3,.level-path h3{margin:.15rem 0 .4rem;color:var(--ec-ink)}
.reward-flow p,.level-path p{margin:0;color:var(--ec-muted);line-height:1.55}
.level-path{grid-template-columns:repeat(4,minmax(0,1fr))}
.level-path article{border-top:4px solid var(--ec-blue)}
.level-path article:nth-child(2){border-top-color:var(--ec-green)}
.level-path article:nth-child(3){border-top-color:var(--ec-orange)}
.level-path article:nth-child(4){border-top-color:#7c3aed}
.no-pay-note{margin-top:1rem;padding:1rem;border-radius:1rem;background:#0d2853;color:#fff;font-weight:800;text-align:center}

.member-clarity-card{margin-top:1rem;padding:1rem 1.05rem;border:1px solid var(--ec-line);border-radius:1.2rem;background:linear-gradient(145deg,#fff,#f6faff);box-shadow:0 14px 34px rgba(16,43,89,.06)}
.member-clarity-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.member-clarity-card h3{margin:0;color:var(--ec-ink);font-size:1rem}
.member-clarity-card p{margin:.25rem 0 0;color:var(--ec-muted);line-height:1.45}
.member-clarity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.member-clarity-grid div{padding:.8rem;border-radius:1rem;background:#fff;border:1px solid #e7eef7}
.member-clarity-grid small{display:block;color:var(--ec-muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.member-clarity-grid b{display:block;margin-top:.3rem;color:var(--ec-ink);font-size:.95rem}

.activity-guide{margin:0 0 1rem;padding:1rem;border-radius:1.2rem;background:linear-gradient(135deg,var(--ec-navy),#194f96);color:#fff}
.activity-guide h2{margin:0 0 .35rem;font-size:1.15rem}
.activity-guide p{margin:0;color:rgba(255,255,255,.8);line-height:1.5}
.activity-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:.85rem}
.activity-guide-grid span{padding:.7rem;border-radius:.8rem;background:rgba(255,255,255,.11);font-size:.76rem;font-weight:750}

.task-status-key{display:flex;gap:.45rem;overflow-x:auto;padding:.1rem 0 .9rem;scrollbar-width:none}
.task-status-key::-webkit-scrollbar{display:none}
.task-status-key span{flex:0 0 auto;padding:.45rem .65rem;border-radius:999px;background:#edf4ff;color:#31527d;font-size:.7rem;font-weight:850}
#task-list .list-card,#visit-list .list-card{transition:transform .18s ease,box-shadow .18s ease;border:1px solid #e2ebf5}
#task-list .list-card:active,#visit-list .list-card:active{transform:scale(.995)}
#task-list .reward,#visit-list .reward{white-space:nowrap}
.experience-meta{display:flex;gap:.45rem;flex-wrap:wrap;margin:.7rem 0}
.experience-meta span{padding:.38rem .55rem;border-radius:.65rem;background:#f1f6fc;color:#4a5e79;font-size:.69rem;font-weight:800}

.referral-explainer{margin:1rem 0;padding:1rem;border:1px solid var(--ec-line);border-radius:1.2rem;background:#fff}
.referral-explainer h3{margin:0;color:var(--ec-ink)}
.referral-explainer p{margin:.35rem 0 .8rem;color:var(--ec-muted);line-height:1.5}
.referral-steps{display:grid;gap:.55rem}
.referral-steps span{display:flex;align-items:center;gap:.55rem;color:#31465f;font-size:.82rem;font-weight:750}
.referral-steps span::before{content:'✓';display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:#e8f9f3;color:#07865d;font-weight:900}

.earned-upgrade-banner{margin:0 0 1rem;padding:1rem;border-radius:1.25rem;background:linear-gradient(135deg,#102b59,#1a64bd);color:#fff}
.earned-upgrade-banner h2{margin:0 0 .35rem;font-size:1.2rem}
.earned-upgrade-banner p{margin:0;color:rgba(255,255,255,.82);line-height:1.55}
.earned-upgrade-banner strong{display:block;margin-top:.8rem;color:#a7ffd9}

/* True desktop workspace: mobile layout remains unchanged below 1000px. */
@media(min-width:1000px){
  .view:not(.public-view){padding:30px 42px 60px 138px}
  .view:not(.public-view)>.container,.view:not(.public-view) .container{width:min(100%,1280px);max-width:1280px;margin-inline:auto}
  .app-header{padding:16px 0 18px;position:sticky;top:0}
  .app-header h1{font-size:28px}
  .app-header small{font-size:14px}

  .bottom-nav{left:24px;right:auto;top:50%;bottom:auto;transform:translateY(-50%);width:92px;min-height:auto;padding:12px 8px;border:1px solid #d7e2ef;border-radius:28px;display:grid;grid-template-columns:1fr;gap:7px;box-shadow:0 18px 48px rgba(24,54,95,.16)}
  .bottom-nav button{min-height:66px;border-radius:18px;padding:8px 6px;display:grid;place-items:center;align-content:center;gap:3px}
  .bottom-nav button.active{background:#edf4ff}

  #view-home>.container{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);gap:16px 20px;align-items:start}
  #view-home .app-header{grid-column:1/-1}
  #view-home .balance-card{grid-column:1;grid-row:2 / span 2;min-height:244px;padding:30px}
  #view-home .balance-card .amount{font-size:52px}
  #view-home .home-secondary-grid{grid-column:2;grid-row:2;margin:0;grid-template-columns:1fr 1fr}
  #view-home .progress-card{grid-column:2;grid-row:3;margin:0}
  #view-home .member-clarity-card{grid-column:1/-1;margin-top:0}
  #view-home .next-action{grid-column:1/-1;grid-template-columns:auto 1fr minmax(180px,230px);padding:22px 24px}
  #view-home .section-title{grid-column:1/-1;margin-bottom:0}
  #view-home .quick-grid{grid-column:1/-1;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:0}
  #view-home .quick{min-height:132px}

  #view-earn>.container,#view-tasks>.container,#view-visits>.container,#view-referrals>.container,#view-withdraw>.container,#view-profile>.container,#view-upgrade>.container{max-width:1180px}
  #chat-partners{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  #task-list,#visit-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
  #task-list .resume-card,#visit-list .resume-card,#task-list>.form-message,#visit-list>.form-message{grid-column:1/-1}
  .activity-guide{padding:20px 22px}
  .activity-guide-grid{gap:10px}
  .task-status-key{overflow:visible;flex-wrap:wrap}

  #view-referrals .referral-explainer{padding:22px}
  #view-referrals .referral-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  #view-referrals .referral-steps span{align-items:flex-start;padding:14px;border:1px solid #e4edf7;border-radius:14px;background:#fbfdff}

  #view-withdraw .wallet-tabs{max-width:720px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  #view-withdraw .card{max-width:900px;padding:26px}
  #view-withdraw #withdraw-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
  #view-withdraw #withdraw-form>.primary,#view-withdraw #withdraw-message,#view-withdraw #payout-help{grid-column:1/-1}

  .chat-shell{width:min(100%,1040px);margin-inline:auto;border:1px solid #d9e4ef;border-radius:28px;overflow:hidden;box-shadow:0 22px 60px rgba(28,65,119,.12)}
  .messages{padding-inline:28px}
  .composer{padding-inline:24px}
  .modal-sheet{width:min(92vw,760px);max-height:min(86vh,900px);border-radius:28px}

  #view-admin>.container,#view-admin .container{width:min(100%,1480px);max-width:1480px}
  #view-admin .admin-nav{overflow:visible;flex-wrap:wrap;gap:8px;padding:10px 0 16px}
  #view-admin .admin-nav button{padding:11px 15px}
  #view-admin .admin-task-layout,#view-admin .admin-two-column{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:22px}
  #view-admin .kyc-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  #view-admin .kyc-country-box{padding:20px}
  #view-admin .bulk-toolbar{top:86px}
  #view-admin .task-preview-panel{top:104px}
  #view-admin .list{gap:14px}
  #view-admin .list-card{padding:20px}
  #view-admin table{width:100%;min-width:880px}
  #view-admin .table-wrap,#view-admin [class*="table"]{max-width:100%;overflow-x:auto}
  #view-admin .field input,#view-admin .field select,#view-admin .field textarea{font-size:15px}
}

@media(min-width:1380px){
  .view:not(.public-view){padding-left:154px;padding-right:54px}
  .view:not(.public-view)>.container,.view:not(.public-view) .container{max-width:1400px}
  #view-admin>.container,#view-admin .container{max-width:1560px}
  #view-home>.container{grid-template-columns:minmax(0,1.55fr) minmax(360px,.75fr)}
}

@media(max-width:760px){
  .reward-flow,.level-path{grid-template-columns:1fr}
  .reward-flow article:not(:last-child)::after{content:'↓';right:50%;top:auto;bottom:-.76rem;transform:translateX(50%)}
  .member-clarity-grid{grid-template-columns:1fr 1fr}
  .member-clarity-grid div:last-child{grid-column:1/-1}
  .activity-guide-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){#task-list .list-card,#visit-list .list-card{transition:none}}


/* 2026-08-09 desktop task and Admin workspace refinement */
@media(min-width:1000px){
 #view-tasks>.container,#view-visits>.container{max-width:1320px}
 #view-tasks .activity-guide,#view-visits .activity-guide{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:center;gap:22px;padding:24px 28px;border-radius:24px}
 #view-tasks .activity-guide-grid,#view-visits .activity-guide-grid{margin:0;grid-template-columns:repeat(3,minmax(0,1fr))}
 #task-list,#visit-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
 #task-list .list-card,#visit-list .list-card{min-height:250px;padding:20px;border-radius:22px;display:flex;flex-direction:column;box-shadow:0 14px 34px rgba(28,65,119,.08)}
 #task-list .list-card:hover,#visit-list .list-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(28,65,119,.13)}
 #task-list .list-card .primary,#visit-list .list-card .primary{margin-top:auto}
 #view-admin .admin-task-layout{grid-template-columns:minmax(0,1.55fr) minmax(360px,.65fr);gap:26px}
 #view-admin .admin-task-layout>.card{padding:26px;border-radius:24px}
 #view-admin #task-form>.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}
 #view-admin #task-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 #view-admin #task-admin-list .list-card{height:100%;display:flex;flex-direction:column}
 #view-admin #task-admin-list .quick-grid{margin-top:auto;grid-template-columns:repeat(3,minmax(0,1fr))}
 #view-admin .task-preview-panel{border:1px solid #d9e6f3;background:linear-gradient(180deg,#fff,#f6faff);box-shadow:0 18px 45px rgba(28,65,119,.10)}
}
@media(min-width:1500px){#task-list,#visit-list{grid-template-columns:repeat(3,minmax(0,1fr))}#view-admin #task-admin-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px) and (max-width:1180px){#task-list,#visit-list{grid-template-columns:repeat(2,minmax(0,1fr))}#view-admin #task-form>.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
