:root{--bg:#efefef;--card:#fafafa;--white:#fff;--border:#efefef;--text:#101828;--text-2:#132029;--text-muted:#979797;--blue:#069afc;--blue-light:#58bdff;--blue-bg:#e1f3fe;--purple:#b62bcc;--purple-bg:#fae1fe;--black:#000;--radius-card:30px;--radius-inner:12px;--radius-btn:78px;--radius-pill:7px;--shadow-card:0 2px 8px #0000000a;--shadow-btn:0px 0px 32px 0px #2fabfe66;--font:"Inter", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.page{min-height:100vh;display:flex}.left-sidebar{z-index:50;background:var(--bg);flex-direction:column;align-items:center;gap:8px;width:64px;height:100vh;padding:20px 0;display:flex;position:fixed;top:0;left:0}.sidebar-icon{cursor:pointer;color:#666;background:0 0;border:none;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;transition:all .15s;display:flex;position:relative}.sidebar-icon:hover{background:var(--card)}.sidebar-icon.active{background:var(--blue-bg);color:var(--blue)}.sidebar-icon .badge{background:var(--blue);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.main-area{flex:1;margin-left:64px;margin-right:400px;padding:0 32px 60px}.hero{border-radius:0 0 var(--radius-card) var(--radius-card);background:linear-gradient(135deg,#0a0a0a 0%,#111827 50%,#0a0a0a 100%);align-items:center;gap:40px;margin:0 -32px 32px;padding:40px 44px;display:flex;position:relative;overflow:hidden}.hero-photo{object-fit:cover;object-position:top;border-radius:20px;flex-shrink:0;width:200px;height:250px}.hero-text h1{color:#fff;letter-spacing:-1px;margin-bottom:12px;font-size:42px;font-weight:800;line-height:1.1}.hero-text p{color:#ffffff8c;max-width:380px;font-size:16px;line-height:1.5}.hero-icons{grid-template-columns:repeat(3,48px);gap:8px;margin-left:auto;display:grid}.hero-icon-box{background:#ffffff0f;border:1px solid #ffffff14;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;display:flex}.modules-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px;display:grid}.module-card{background:var(--card);border-radius:var(--radius-card);cursor:pointer;flex-direction:column;min-height:320px;transition:all .2s;display:flex;position:relative;overflow:hidden}.module-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #00000014}.module-card-image{object-fit:cover;border-radius:var(--radius-card) var(--radius-card) 0 0;width:100%;height:160px}.module-card-body{flex-direction:column;flex:1;padding:20px 24px 24px;display:flex}.module-card-title{color:var(--text);letter-spacing:-.4px;margin-bottom:8px;font-size:18px;font-weight:700;line-height:1.3}.module-card-desc{color:var(--text-muted);margin-bottom:auto;font-size:13px;line-height:1.4}.module-card-btn{color:#fff;border-radius:var(--radius-btn);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;box-shadow:var(--shadow-btn);background:linear-gradient(189deg,#069afc 0%,#58bdff 100%);border:none;align-items:center;gap:8px;width:fit-content;margin-top:16px;padding:12px 28px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.module-card-btn:hover{transform:translateY(-1px);box-shadow:0 0 40px #2fabfe80}.right-sidebar{background:var(--card);border-radius:var(--radius-card) 0 0 var(--radius-card);width:400px;height:100vh;padding:32px 24px;position:fixed;top:0;right:0;overflow-y:auto}.right-sidebar::-webkit-scrollbar{width:4px}.right-sidebar::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px}.chat-card{border:1.5px solid var(--border);border-radius:var(--radius-inner);cursor:pointer;background:var(--white);align-items:center;gap:14px;margin-bottom:12px;padding:16px;transition:all .15s;display:flex}.chat-card:hover{border-color:var(--blue);background:var(--blue-bg)}.chat-card-icon{background:var(--blue-bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.chat-card-title{color:var(--text);font-size:14px;font-weight:600}.chat-card-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.chat-card-arrow{color:var(--text-muted);margin-left:auto;font-size:18px}.progress-section{text-align:center;margin:28px 0}.progress-section h3{color:var(--text);margin-bottom:20px;font-size:16px;font-weight:600}.progress-ring-wrap{width:160px;height:160px;margin:0 auto;position:relative}.progress-ring-wrap svg{transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:#e8e8e8;stroke-width:12px}.progress-ring-fill{fill:none;stroke:var(--blue);stroke-width:12px;stroke-linecap:round;transition:stroke-dashoffset .6s}.progress-ring-text{color:var(--blue);letter-spacing:-1px;font-size:36px;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.calendar{background:var(--white);border-radius:var(--radius-inner);border:1.5px solid var(--border);margin:28px 0;padding:20px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.calendar-month{font-size:18px;font-weight:600}.calendar-nav{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:4px;font-size:18px}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px;display:grid}.calendar-weekday{text-align:center;color:var(--text-muted);padding:4px;font-size:13px;font-weight:500}.calendar-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day{text-align:center;color:var(--text);cursor:pointer;border-radius:50%;padding:6px;font-size:14px;font-weight:500;transition:background .1s}.calendar-day:hover{background:var(--blue-bg)}.calendar-day.today{background:var(--blue);color:#fff;font-weight:700}.calendar-day.event-blue{background:var(--blue-bg);color:var(--blue)}.calendar-day.event-purple{background:var(--purple-bg);color:var(--purple)}.calendar-legend{flex-direction:column;gap:8px;margin-top:16px;display:flex}.legend-item{color:var(--text-2);align-items:center;gap:8px;font-size:13px;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.quick-link{border:1.5px solid var(--border);border-radius:var(--radius-inner);cursor:pointer;background:var(--white);align-items:center;gap:14px;margin-bottom:12px;padding:16px;transition:all .15s;display:flex}.quick-link:hover{border-color:var(--blue)}.quick-link-icon{font-size:20px}.quick-link-title{color:var(--text);font-size:14px;font-weight:600}.footer-banner{background:var(--black);border-radius:33px;margin-top:32px;padding:40px 44px;position:relative;overflow:hidden}.footer-banner h2{color:#fff;z-index:1;font-size:32px;font-weight:800;line-height:1.2;position:relative}.footer-banner p{color:#ffffff80;z-index:1;margin-top:8px;font-size:14px;position:relative}@media (max-width:1280px){.right-sidebar,aside[style*="right: 0"]{display:none!important}.main-area,main[style]{margin-right:0!important}}@media (max-width:768px){aside[style*="left: 0"][style*="width: 64"]{display:none!important}main[style]{margin-left:0!important;margin-right:0!important;padding:0 16px 80px!important}}@media (max-width:1024px){.modules-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.left-sidebar{display:none}.main-area{margin-left:0;padding:0 16px 40px}.hero{flex-direction:column;align-items:flex-start;gap:20px;margin:0 -16px 24px;padding:28px 20px}.hero-photo{border-radius:16px;width:100%;height:180px}.hero-text h1{font-size:28px}.hero-icons{display:none}.modules-grid{grid-template-columns:1fr;gap:16px}.module-card{min-height:auto}.footer-banner{border-radius:24px;padding:28px 24px}.footer-banner h2{font-size:24px}.mobile-nav{border-top:1px solid var(--border);z-index:50;background:#fff;justify-content:space-around;padding:8px 0;display:flex;position:fixed;bottom:0;left:0;right:0}}@media (min-width:769px){.mobile-nav{display:none}}.mobile-nav-item{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;font-size:10px;display:flex}.mobile-nav-item.active{color:var(--blue)}.mobile-nav-item .icon{font-size:20px}
