/* Unified Dashboard Styles */
.dashboard-hero {padding:6rem 0 2rem;background:linear-gradient(135deg,var(--bg-darker) 0%,#12263d 100%);border-bottom:1px solid var(--border-color);} 
.hero-grid {display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;}
.hero-title-small {font-size:2rem;font-weight:700;display:flex;align-items:center;gap:.75rem;margin:0 0 .75rem;}
.hero-sub {color:var(--text-secondary);max-width:38rem;margin:0 0 1rem;font-size:1rem;}
.hero-meta {display:flex;gap:2rem;flex-wrap:wrap;}
.meta-block {min-width:140px;}
.meta-label {display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.2rem;}
.meta-value {font-weight:600;color:var(--text-primary);}
.avatar-wrapper {width:80px;height:80px;position:relative;border:3px solid var(--border-color);border-radius:50%;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.4);} 
.avatar-image {width:100%;height:100%;object-fit:cover;}

.dashboard-main {padding:2rem 0 4rem;}
.welcome-banner {background:linear-gradient(135deg,#2563eb,#9333ea);border:1px solid rgba(255,255,255,.1);border-radius:1.25rem;padding:1.75rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2rem;box-shadow:var(--shadow-xl);} 
.banner-content {display:flex;align-items:center;gap:2rem;flex:1;}
.banner-actions {display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap;}
.banner-icon {font-size:3rem;opacity:.85;}

.stats-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2.25rem;}
.stat-box {background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;padding:1.25rem;position:relative;overflow:hidden;transition:var(--transition);display:flex;flex-direction:column;gap:.25rem;}
.stat-box:hover {border-color:var(--minecraft-green);box-shadow:0 8px 24px -6px rgba(0,0,0,.4);transform:translateY(-4px);} 
.stat-icon {width:42px;height:42px;border-radius:.75rem;background:linear-gradient(135deg,var(--minecraft-green),var(--minecraft-blue));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;margin-bottom:.25rem;}
.stat-value {font-size:1.9rem;font-weight:700;line-height:1;}
.stat-label {font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-weight:600;}
.stat-trend {font-size:.7rem;color:var(--minecraft-green);margin-top:.25rem;}

.quick-actions-section {margin-bottom:2.25rem;}
.section-heading {font-size:1.1rem;font-weight:600;margin:0 0 .85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);} 
.quick-actions-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;}
.quick-action {background:var(--bg-card);border:1px solid var(--border-color);border-radius:.9rem;padding:.9rem .85rem;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;cursor:pointer;position:relative;text-align:left;transition:var(--transition);}
.quick-action i {font-size:1.2rem;color:var(--minecraft-green);} 
.quick-action .qa-title {font-size:.85rem;font-weight:600;}
.quick-action .qa-desc {font-size:.65rem;color:var(--text-muted);} 
.quick-action .badge-ping {position:absolute;top:.55rem;right:.55rem;width:10px;height:10px;border-radius:50%;background:var(--minecraft-green);box-shadow:0 0 0 0 rgba(34,197,94,.7);animation:ping 1.5s infinite;} 
.quick-action:hover {border-color:var(--minecraft-green);background:var(--bg-card-hover);transform:translateY(-3px);} 
@keyframes ping {0%{box-shadow:0 0 0 0 rgba(34,197,94,.7);}70%{box-shadow:0 0 0 8px rgba(34,197,94,0);}100%{box-shadow:0 0 0 0 rgba(34,197,94,0);}}

.panels-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-bottom:2.5rem;}
.panel {background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;display:flex;flex-direction:column;min-height:0;}
.panel-header {display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);} 
.panel-header h5 {margin:0;font-size:.95rem;font-weight:600;letter-spacing:.03em;}
.panel-body {padding:1.1rem 1.25rem;flex:1;}
.panel-footer {padding:.85rem 1.25rem;border-top:1px solid var(--border-color);} 
.panel-footer.center {text-align:center;}
.panel-tools {display:flex;gap:.5rem;}
.tool-btn {background:var(--bg-card-hover);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.65rem;font-weight:600;padding:.4rem .65rem;border-radius:.5rem;cursor:pointer;transition:var(--transition);letter-spacing:.05em;text-transform:uppercase;}
.tool-btn.active, .tool-btn:hover {background:var(--minecraft-green);color:#fff;border-color:var(--minecraft-green);}
.chart-wrapper {height:240px;}

.mini-maps-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.9rem;}
.mini-maps-grid .map-mini {background:var(--bg-card-hover);border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden;display:flex;flex-direction:column;transition:var(--transition);}
.mini-maps-grid .map-mini:hover {transform:translateY(-4px);border-color:var(--minecraft-green);} 
.map-thumb {height:90px;width:100%;object-fit:cover;background:#1e293b;display:block;}
.map-meta {padding:.55rem .6rem .7rem;}
.map-title {font-size:.75rem;font-weight:600;line-height:1.2;margin:0 0 .35rem;color:var(--text-primary);} 
.map-category {font-size:.55rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);}
.map-stats {margin-top:.4rem;font-size:.6rem;display:flex;gap:.75rem;color:var(--text-secondary);} 
.map-stats i {color:var(--minecraft-green);}

.activity-item {display:flex;gap:.8rem;padding:.7rem .8rem;border-radius:.65rem;background:var(--bg-card-hover);font-size:.75rem;line-height:1.25;border:1px solid var(--border-color);margin-bottom:.55rem;}
.activity-item:last-child {margin-bottom:0;}
.activity-icon {width:26px;height:26px;border-radius:.55rem;background:linear-gradient(135deg,var(--minecraft-green),var(--minecraft-blue));display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;flex-shrink:0;}
.activity-time {font-size:.55rem;color:var(--text-muted);margin-top:.25rem;display:block;}

.goals .goal {background:var(--bg-card-hover);border:1px solid var(--border-color);border-radius:.75rem;padding:.75rem .85rem;margin-bottom:.7rem;}
.goals .goal:last-child {margin-bottom:0;}
.goal-header {display:flex;justify-content:space-between;align-items:center;font-size:.7rem;margin-bottom:.4rem;}
.goal-progress {height:6px;background:#1e293b;border-radius:4px;overflow:hidden;position:relative;margin:.35rem 0 .25rem;}
.goal-progress span {display:block;height:100%;background:linear-gradient(90deg,var(--minecraft-green),var(--minecraft-blue));width:0;transition:width .6s ease;}
.goal-reward {font-size:.55rem;color:var(--minecraft-green);}

.achievements-panel {margin-bottom:2.5rem;}
.achievements-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;}
.achievement-card {background:var(--bg-card-hover);border:1px solid var(--border-color);border-radius:.85rem;padding:.9rem .75rem;display:flex;flex-direction:column;gap:.55rem;position:relative;transition:var(--transition);}
.achievement-card:hover {border-color:var(--minecraft-green);transform:translateY(-3px);} 
.achievement-icon {width:42px;height:42px;border-radius:.7rem;background:linear-gradient(135deg,var(--minecraft-green),var(--minecraft-blue));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;}
.achievement-title {font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
.achievement-desc {font-size:.6rem;color:var(--text-muted);line-height:1.2;}
.achievement-progress {height:4px;background:#1e293b;border-radius:3px;overflow:hidden;}
.achievement-progress span {display:block;height:100%;background:linear-gradient(90deg,var(--minecraft-green),var(--minecraft-blue));width:0;}
.achievement-badge {position:absolute;top:6px;right:6px;color:#22c55e;font-size:.85rem;}

.site-footer {background:var(--bg-darker);border-top:1px solid var(--border-color);margin-top:3rem;padding:2.5rem 0 0;}
.footer-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;margin-bottom:2rem;}
.footer-brand {margin:0 0 .75rem;font-size:1.1rem;font-weight:600;}
.footer-text {font-size:.75rem;color:var(--text-secondary);margin:0 0 1rem;}
.footer-social a {display:inline-flex;width:34px;height:34px;background:var(--bg-card);align-items:center;justify-content:center;border-radius:.6rem;margin-right:.5rem;color:var(--text-secondary);border:1px solid var(--border-color);transition:var(--transition);} 
.footer-social a:hover {color:#fff;border-color:var(--minecraft-green);background:var(--bg-card-hover);} 
.footer-heading {font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .9rem;}
.footer-links {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;font-size:.7rem;}
.footer-links a {color:var(--text-secondary);text-decoration:none;transition:var(--transition);} 
.footer-links a:hover {color:#fff;}
.footer-links.small li {display:flex;align-items:center;gap:.4rem;}
.footer-links.small i {color:var(--minecraft-green);}
.footer-bottom {text-align:center;padding:1rem 0;font-size:.65rem;color:var(--text-muted);border-top:1px solid var(--border-color);}

.loading-overlay {position:fixed;inset:0;background:rgba(15,23,42,.85);display:flex;align-items:center;justify-content:center;z-index:200;backdrop-filter:blur(4px);} 
.loading-spinner {text-align:center;}
.loading-spinner .spinner {width:48px;height:48px;border:4px solid var(--bg-card-hover);border-top-color:var(--minecraft-green);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto;} 
@keyframes spin {to {transform:rotate(360deg);}}

@media (max-width:860px){.hero-grid{flex-direction:column;align-items:flex-start}.panels-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}.quick-actions-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));}}
@media (max-width:520px){.hero-title-small{font-size:1.6rem}.stat-value{font-size:1.5rem}.welcome-banner{flex-direction:column;align-items:flex-start}.banner-icon{font-size:2.3rem}}

/* Info Popup Styles */
.info-popup {
    position: fixed;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 280px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 1rem;
    box-shadow: 0 12px 32px rgba(0,0,0,0.4);
    z-index: 1000;
    display: none;
    backdrop-filter: blur(10px);
    animation: slideInRight 0.3s ease-out;
}

@keyframes slideInRight {
    from {
        transform: translateY(-50%) translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateY(-50%) translateX(0);
        opacity: 1;
    }
}

.info-popup-header {
    padding: 1rem 1.25rem 0.75rem;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.info-popup-header h6 {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary);
}

.popup-close {
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 1.2rem;
    cursor: pointer;
    padding: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.25rem;
    transition: var(--transition);
}

.popup-close:hover {
    background: var(--bg-card-hover);
    color: var(--text-primary);
}

.info-popup-body {
    padding: 1rem 1.25rem;
}

.info-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-color);
    font-size: 0.75rem;
}

.info-item:last-child {
    border-bottom: none;
}

.info-label {
    color: var(--text-muted);
    font-weight: 500;
}

.info-value {
    color: var(--text-primary);
    font-weight: 600;
}

.info-popup-footer {
    padding: 0.75rem 1.25rem 1rem;
    border-top: 1px solid var(--border-color);
    text-align: center;
}

.badge-success {
    background: var(--minecraft-green);
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 0.375rem;
    font-size: 0.65rem;
    font-weight: 600;
}

/* Responsive adjustments for info popup */
@media (max-width: 768px) {
    .info-popup {
        right: 10px;
        width: 260px;
    }
}

@media (max-width: 480px) {
    .info-popup {
        right: 10px;
        left: 10px;
        width: auto;
        top: auto;
        bottom: 20px;
        transform: none;
        animation: slideInUp 0.3s ease-out;
    }
    
    @keyframes slideInUp {
        from {
            transform: translateY(100%);
            opacity: 0;
        }
        to {
            transform: translateY(0);
            opacity: 1;
        }
    }
}
