/* ===== Dashboard (City Simulation) CSS ===== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Georgian:wght@300;400;500;600;700&display=swap');

.city-dash{position:relative;font-family:'Noto Sans Georgian',-apple-system,sans-serif;overflow:hidden}
.city-bg{position:fixed;inset:0;background:url('../../assets/images/hero-bg.png') center/cover no-repeat;filter:blur(4px) brightness(0.6);transform:scale(1.05);z-index:0}
.city-bg-overlay{position:fixed;inset:0;background:linear-gradient(180deg,rgba(15,15,25,0.5) 0%,rgba(15,15,25,0.7) 100%);z-index:1}
.city-content{position:relative;z-index:2;padding:24px 28px 40px;padding-top:80px;max-width:1200px;margin:0 auto}
@media(max-width:768px){.city-content{padding:16px 14px 30px;padding-top:72px}}
.city-greeting{margin-bottom:24px;color:#fff}
.city-greeting h1{font-size:28px;font-weight:300;letter-spacing:-0.3px}
@media(max-width:768px){.city-greeting h1{font-size:22px}.city-greeting{margin-bottom:18px}}
.city-greeting p{font-size:14px;color:rgba(255,255,255,0.55);margin-top:6px}
@media(max-width:768px){.city-greeting p{font-size:13px}}
.city-time{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:8px;background:rgba(255,255,255,0.08);backdrop-filter:blur(10px);font-size:12px;color:rgba(255,255,255,0.6);margin-top:10px}

/* Layout */
.dash-layout{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}
@media(max-width:900px){.dash-layout{grid-template-columns:1fr}.dash-side{order:2}}
.dash-main{display:flex;flex-direction:column;gap:14px}
@media(max-width:768px){.dash-main{gap:12px}}
.dash-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:90px}
@media(max-width:900px){.dash-side{position:static;gap:12px;display:grid;grid-template-columns:1fr 1fr}.dash-side>.cw:first-child,.dash-side>.mobile-side-label{grid-column:span 2}}
@media(max-width:450px){.dash-side{grid-template-columns:1fr!important}.dash-side>.cw:first-child,.dash-side>.mobile-side-label{grid-column:span 1}}

/* Card Widget */
.cw{background:rgba(255,255,255,0.08);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,0.12);border-radius:20px;padding:22px;color:#fff;transition:all .4s ease;text-decoration:none;display:flex;flex-direction:column;overflow:hidden;position:relative}
@media(max-width:768px){.cw{padding:18px;border-radius:16px}}
.cw:hover{background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.2)}
.cw.clickable{cursor:pointer}
.cw.clickable:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,0.2)}
.cw::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent)}
.cw-label{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:rgba(255,255,255,0.4);margin-bottom:12px;font-weight:500}
@media(max-width:768px){.cw-label{font-size:10px;margin-bottom:10px}}
.cw-title{font-size:20px;font-weight:600;margin-bottom:6px}
@media(max-width:768px){.cw-title{font-size:18px}}
.cw-desc{font-size:13px;color:rgba(255,255,255,0.5);line-height:1.5}
.cw-action{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:16px;font-size:13px;font-weight:500;color:rgba(255,255,255,0.7);transition:color .3s}
.cw:hover .cw-action{color:#fff}

/* AI Icon */
.cw-ai-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#2563eb,#7c3aed);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px;box-shadow:0 4px 15px rgba(37,99,235,0.3)}
@media(max-width:768px){.cw-ai-icon{width:42px;height:42px;border-radius:12px;font-size:20px;margin-bottom:10px}}

/* Pulse Rings */
.pulse-rings{position:absolute;right:20px;top:50%;transform:translateY(-50%)}
@media(max-width:768px){.pulse-rings{display:none}}
.pulse-ring{position:absolute;border-radius:50%;border:1px solid rgba(37,99,235,0.3);animation:pulseRing 3s ease-out infinite}
.pulse-ring:nth-child(1){width:60px;height:60px;top:-30px;left:-30px}
.pulse-ring:nth-child(2){width:90px;height:90px;top:-45px;left:-45px;animation-delay:.5s}
.pulse-ring:nth-child(3){width:120px;height:120px;top:-60px;left:-60px;animation-delay:1s}
@keyframes pulseRing{0%{transform:scale(.8);opacity:.6}100%{transform:scale(1.3);opacity:0}}

/* Quick Actions */
.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:500px){.quick-actions{grid-template-columns:1fr;gap:10px}}
.qa{text-decoration:none;color:#fff;display:flex;align-items:center;gap:12px;padding:16px;border-radius:16px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);transition:all .3s;cursor:pointer;-webkit-tap-highlight-color:transparent}
.qa:active{transform:scale(0.97);background:rgba(255,255,255,0.12)}
.qa:hover{background:rgba(255,255,255,0.12);transform:translateY(-2px)}
@media(max-width:768px){.qa{padding:14px;border-radius:14px;gap:10px}}
.qa-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
@media(max-width:768px){.qa-icon{width:38px;height:38px;font-size:18px}}
.qa-text{font-size:14px;font-weight:600}
.qa-sub{font-size:11px;color:rgba(255,255,255,0.4);margin-top:2px}

/* Mood */
.mood-options{display:flex;gap:8px;margin:14px 0;flex-wrap:wrap}
.mood-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,0.06);border:2px solid transparent;cursor:pointer;transition:all .3s;flex:1;min-width:60px;-webkit-tap-highlight-color:transparent}
.mood-btn:active{transform:scale(0.95)!important}
.mood-btn:hover{background:rgba(255,255,255,0.12);transform:translateY(-2px)}
.mood-btn.selected{border-color:#7c3aed;background:rgba(124,58,237,0.15)}
.mood-emoji{font-size:28px;line-height:1}
@media(max-width:768px){.mood-emoji{font-size:24px}}
.mood-label{font-size:10px;color:rgba(255,255,255,0.5);font-weight:500}
.mood-result{margin-top:12px;padding:12px;border-radius:12px;background:rgba(255,255,255,0.06);display:none;animation:fadeUp .4s ease}
.mood-result.show{display:block}
.mood-result-title{font-size:13px;font-weight:600;margin-bottom:4px}
.mood-result-desc{font-size:12px;color:rgba(255,255,255,0.5);line-height:1.5}
.mood-result-action{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:7px 14px;border-radius:10px;background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;text-decoration:none;font-size:12px;font-weight:600;transition:transform .2s}
.mood-result-action:hover{transform:scale(1.05)}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* Teachers Mini */
.teachers-mini{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.teacher-mini{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);transition:all .3s;cursor:pointer;text-decoration:none;color:#fff}
.teacher-mini:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.2)}
.teacher-ava{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff}
.teacher-mini-name{font-size:13px;font-weight:500}
.teacher-mini-style{font-size:11px;color:rgba(255,255,255,0.4)}

/* Progress Circle */
.progress-circle{position:relative;width:70px;height:70px;margin:0 auto 8px}
.progress-circle svg{transform:rotate(-90deg)}
.progress-circle .progress-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}

/* Countdown */
.countdown-display{display:flex;gap:8px;justify-content:center;margin:10px 0}
.cd-item{text-align:center;background:rgba(255,255,255,0.06);border-radius:12px;padding:10px 12px;flex:1}
.cd-num{font-size:22px;font-weight:800;background:linear-gradient(135deg,#f59e0b,#ef4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.cd-lbl{font-size:9px;color:rgba(255,255,255,0.4);margin-top:3px;text-transform:uppercase;letter-spacing:0.5px}
.cd-progress{height:5px;background:rgba(255,255,255,0.08);border-radius:3px;margin-top:10px;overflow:hidden}
.cd-progress-bar{height:100%;border-radius:3px;background:linear-gradient(90deg,#22c55e,#f59e0b,#ef4444);transition:width .5s}
.cd-set-date{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.cd-selects{display:flex;gap:6px}
.cd-selects select{flex:1;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:10px;padding:8px;color:#fff;font-size:12px;outline:none;appearance:none;-webkit-appearance:none;text-align:center;cursor:pointer}
.cd-selects select option{background:#1a1a2e;color:#fff}
.cd-selects select:focus{border-color:#f59e0b}
.cd-set-btn{background:linear-gradient(135deg,#f59e0b,#ef4444);border:none;border-radius:10px;padding:8px;color:#fff;font-size:12px;cursor:pointer;font-weight:600;width:100%}
.cd-message{text-align:center;font-size:12px;color:rgba(255,255,255,0.5);margin-top:6px}

/* Gauge */
.gauge-wrap{position:relative;width:140px;height:85px;margin:8px auto}
.gauge-svg{width:140px;height:85px}
.gauge-text{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);font-size:22px;font-weight:800}
.gauge-status{text-align:center;margin-top:4px;font-size:13px;font-weight:600}
.pred-date{text-align:center;font-size:11px;color:rgba(255,255,255,0.4);margin-top:4px}
.pred-tips{margin-top:10px;display:flex;flex-direction:column;gap:5px}
.pred-tip{display:flex;align-items:center;gap:6px;font-size:11px;color:rgba(255,255,255,0.6);padding:5px 8px;background:rgba(255,255,255,0.04);border-radius:8px}
.pred-tip svg{flex-shrink:0}

/* Stats */
.stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}
.stat-item-d{text-align:center;padding:10px;background:rgba(255,255,255,0.04);border-radius:12px}
.stat-num{font-size:20px;font-weight:700}
.stat-lbl{font-size:10px;color:rgba(255,255,255,0.4);margin-top:2px}

/* Sign 3D */
.sign-3d{width:60px;height:60px;margin:6px auto;animation:rotatSign 6s ease-in-out infinite;transform-style:preserve-3d}
@keyframes rotatSign{0%,100%{transform:rotateY(0deg)}50%{transform:rotateY(180deg)}}
.sign-3d svg{width:60px;height:60px}

/* Header override for dashboard */
.header.scrolled{background:rgba(10,10,26,0.85)!important;backdrop-filter:blur(20px)!important}
.city-dash ~ .header,.city-dash + .header{background:transparent!important}