.dashboard-full{display:grid;gap:1rem;width:100%;max-width:100%;overflow:hidden}.dashboard-hero{display:grid;gap:1rem;padding:1.1rem;border:1px solid var(--border);border-radius:20px;background:linear-gradient(135deg,#fff,#eff6ff);box-shadow:var(--shadow);width:100%;max-width:100%;min-width:0}.dashboard-hero-main{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;min-width:0}.dashboard-hero h1{margin:.35rem 0 0;color:var(--secondary);font-size:clamp(1.65rem,6vw,2.45rem);line-height:1.1;overflow-wrap:anywhere}.dashboard-hero p{margin:.25rem 0 0;color:var(--muted);overflow-wrap:anywhere}.dash-avatar{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#dbeafe;color:#1d4ed8;font-size:1.6rem;flex:0 0 auto}.dash-hero-left{display:flex;gap:.85rem;align-items:flex-start;min-width:0;max-width:100%}.dash-status-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.75rem}.dash-chip{display:inline-flex;align-items:center;gap:.38rem;padding:.38rem .65rem;border-radius:999px;background:#fff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:.82rem;font-weight:900}.dashboard-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;max-width:100%;min-width:0}.dash-stat{padding:.85rem;border:1px solid var(--border);border-radius:16px;background:#fff;min-width:0;overflow:hidden}.dash-stat span{display:block;color:var(--muted);font-size:.82rem;font-weight:800}.dash-stat strong{display:block;margin-top:.25rem;color:var(--secondary);font-size:1.35rem;overflow-wrap:anywhere}.dash-stat small{color:var(--muted);overflow-wrap:anywhere}.dashboard-section-grid{display:grid;gap:1rem;width:100%;max-width:100%;min-width:0}.dash-section-card{display:grid;gap:.8rem;padding:1rem;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow);min-width:0;max-width:100%;overflow:hidden}.dash-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;min-width:0}.dash-section-head h2{margin:0;color:var(--secondary);font-size:1.2rem;overflow-wrap:anywhere}.dash-section-head p{margin:.2rem 0 0;color:var(--muted);font-size:.92rem;overflow-wrap:anywhere}.dash-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;min-width:0}.dash-tool{display:grid;gap:.35rem;padding:.85rem;border:1px solid var(--border);border-radius:15px;background:#f8fafc;text-decoration:none;color:inherit;min-width:0;overflow:hidden}.dash-tool i{color:var(--primary);font-size:1.15rem}.dash-tool strong{color:var(--secondary);overflow-wrap:anywhere}.dash-tool span{color:var(--muted);font-size:.86rem;overflow-wrap:anywhere}.dash-tool:hover{border-color:#bfdbfe;background:#eff6ff}.dash-timeline{display:grid;gap:.65rem}.dash-timeline-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:.65rem;align-items:start}.dash-timeline-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#eff6ff;color:var(--primary)}.dash-timeline-item strong{display:block;color:var(--secondary;);overflow-wrap:anywhere}.dash-timeline-item span{display:block;color:var(--muted);font-size:.9rem;overflow-wrap:anywhere}.dash-profile-list{display:grid;gap:.6rem;min-width:0}.dash-profile-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:.6rem;padding-bottom:.55rem;border-bottom:1px dashed #e2e8f0;min-width:0}.dash-profile-row:last-child{border-bottom:0;padding-bottom:0}.dash-profile-row span{color:var(--muted);font-size:.83rem;font-weight:900;text-transform:uppercase}.dash-profile-row strong{color:var(--secondary);overflow-wrap:anywhere;word-break:break-word;min-width:0}.dash-progress-box{display:grid;gap:.6rem;min-width:0}.dash-progress-row{display:grid;gap:.35rem}.dash-progress-row label{display:flex;justify-content:space-between;color:var(--secondary);font-size:.9rem;font-weight:900}.dash-progress-track{height:9px;border-radius:999px;background:#e2e8f0;overflow:hidden}.dash-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#22c55e)}.rank-history-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.72rem;border:1px solid var(--border);border-radius:14px;background:#f8fafc;min-width:0}.rank-history-item.compact{padding:.62rem}.rank-history-item strong{display:block;color:var(--secondary);overflow-wrap:anywhere}.rank-history-item span,.rank-history-item small{color:var(--muted);font-size:.86rem;overflow-wrap:anywhere}.mobile-update-form{display:grid;gap:.5rem;padding:.75rem;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;min-width:0}.mobile-update-form label{font-weight:900;color:var(--secondary);overflow-wrap:anywhere}.mobile-update-row{display:flex;gap:.5rem;min-width:0}.mobile-update-row input{min-width:0;flex:1;min-height:44px;padding:.65rem;border:1px solid var(--border);border-radius:12px;font:inherit;font-size:16px}.dash-chart-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem;color:var(--muted);font-size:.84rem}.dash-chart-summary strong{color:var(--secondary)}.dash-scroll-hint{margin:-.25rem 0 .5rem;color:var(--muted);font-size:.76rem;font-weight:800}.dash-bar-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:.45rem;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;touch-action:pan-x}.dash-bar-scroll::-webkit-scrollbar{height:7px}.dash-bar-scroll::-webkit-scrollbar-track{background:#e2e8f0;border-radius:999px}.dash-bar-scroll::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px}.dash-bar-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(42px,1fr));align-items:end;gap:.5rem;min-height:176px;padding:.75rem;border:1px solid var(--border);border-radius:16px;background:#f8fafc;overflow:hidden;max-width:100%}.dash-bar-chart.scrollable{display:flex;align-items:end;width:max-content;min-width:max(100%,640px);gap:.55rem;overflow:visible}.dash-bar-chart.compact{min-height:158px}.dash-bar-item{min-width:0;display:grid;grid-template-rows:1fr auto auto;gap:.32rem;align-items:end;text-align:center}.dash-bar-item.wide{flex:0 0 54px;scroll-snap-align:start}.dash-bar-track{height:112px;display:flex;align-items:end;justify-content:center;border-radius:999px;background:#e2e8f0;overflow:hidden}.dash-bar-chart.compact .dash-bar-track{height:98px}.dash-bar-track i{width:100%;display:block;border-radius:inherit;background:linear-gradient(180deg,#2563eb,#22c55e);min-height:4px}.dash-bar-item strong{font-size:.78rem;color:var(--secondary)}.dash-bar-item span{font-size:.72rem;color:var(--muted);font-weight:900}.dash-horizontal-bars{display:grid;gap:.65rem;padding:.75rem;border:1px solid var(--border);border-radius:16px;background:#f8fafc;min-width:0}.dash-horizontal-bars.compact{gap:.55rem}.dash-hbar-row{display:grid;gap:.35rem;min-width:0}.dash-hbar-row label{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--secondary);font-weight:900;font-size:.88rem;min-width:0}.dash-hbar-row label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dash-hbar-track{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}.dash-hbar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#22c55e)}.dash-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;min-width:0}.dash-compact-list{display:grid;gap:.5rem}@media(min-width:900px){.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-section-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.dashboard-hero{padding:1.25rem}.dash-bar-item.wide{flex-basis:58px}.dash-bar-chart.scrollable{min-width:max(100%,700px)}}@media(max-width:640px){html,body{width:100%;max-width:100%;overflow-x:hidden}.auth-page{width:100%!important;max-width:100%!important;margin:0!important;padding:.65rem!important;overflow:hidden!important}.dashboard-full,.dashboard-hero,.dashboard-section-grid,.dash-section-card,.dashboard-stat-grid,.dash-tool-grid{width:100%!important;max-width:100%!important;min-width:0!important}.dashboard-hero,.dash-section-card{border-radius:16px;padding:.85rem}.dash-section-card:has(#quizScoreChart){overflow:visible}.dash-avatar{width:46px;height:46px;border-radius:14px}.dash-hero-left{width:100%;display:grid;grid-template-columns:46px minmax(0,1fr);gap:.65rem}.dashboard-hero-main{display:grid;grid-template-columns:1fr;gap:.8rem}.dashboard-hero h1{font-size:1.55rem}.dash-status-row{gap:.38rem}.dash-chip{font-size:.76rem;padding:.32rem .55rem}.dash-tool-grid,.dashboard-stat-grid,.dashboard-section-grid,.dash-insight-grid{grid-template-columns:1fr!important}.dash-profile-row{grid-template-columns:1fr;gap:.18rem}.dash-section-head{display:grid}.mobile-update-row{display:grid}.rank-history-item{display:grid}.dash-chart-summary{display:grid;gap:.15rem}.dash-bar-scroll{display:block;width:100%!important;max-width:100%!important;overflow-x:scroll!important;overflow-y:hidden!important;padding:.1rem .05rem .55rem;cursor:grab}.dash-bar-chart,.dash-bar-chart.compact{grid-template-columns:none!important}.dash-bar-chart.scrollable{display:flex!important;flex-wrap:nowrap!important;align-items:end!important;width:max-content!important;min-width:620px!important;max-width:none!important;min-height:142px;padding:.62rem;gap:.55rem;overflow:visible!important}.dash-bar-item.wide{flex:0 0 52px!important;min-width:52px!important;max-width:52px!important}.dash-bar-track,.dash-bar-chart.compact .dash-bar-track{height:84px}.dash-bar-item strong{font-size:.72rem}.dash-bar-item span{font-size:.68rem}.dash-horizontal-bars{padding:.62rem}.dash-hbar-row label{display:grid;gap:.25rem}.dash-hbar-row label span{white-space:normal}.auth-btn{width:max-content;max-width:100%}}@media(max-width:380px){.auth-page{padding:.45rem!important}.dashboard-hero,.dash-section-card{padding:.72rem}.dashboard-hero h1{font-size:1.35rem}.dash-tool{padding:.72rem}.dash-stat{padding:.72rem}.dash-chip{font-size:.72rem}.dash-section-head h2{font-size:1.05rem}.dash-bar-chart.scrollable{min-width:600px!important}.dash-bar-item.wide{flex-basis:50px!important;min-width:50px!important;max-width:50px!important}}
