  .about-content { max-width: 95%; }
  .section-subtitle{ max-width: 560px; }
  .aj-missao{ margin-top: 60px !important; }
  .about-content{ max-width: 95%; }

  .student-shell{ background: radial-gradient(circle at 12% 12%, rgba(52, 211, 153, 0.16), transparent 55%), radial-gradient(circle at 85% 15%, rgba(44,122,117,.14), transparent 55%), linear-gradient(180deg, rgba(2,6,23,.02), #fff); min-height: calc(100vh - 120px); }
  .student-sidebar{ position: sticky; top: 0; height: 100vh; width: 300px; border-right: 1px solid rgba(15,23,42,.10); background: radial-gradient(circle at 20% 10%, rgba(52, 211, 153, 0.18), transparent 55%), linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.92)); display:flex; flex-direction: column; padding: 16px; }
  .side-top{ display:flex; flex-direction: column; gap: 14px; }
  .brand-dot{ width: 42px; height: 42px; border-radius: 16px; display:flex; align-items:center; justify-content:center; background: rgba(44,122,117,.10); border: 1px solid rgba(44,122,117,.18); color: rgba(44,122,117,.95); flex: 0 0 42px; font-size: 16px; }
  .side-brand{ display:flex; gap: 10px; align-items:center; text-decoration:none; color: inherit; }
  .brand-title{ font-family: var(--font-title); font-weight: 900; letter-spacing: -0.02em; color: rgba(15,23,42,.92); line-height: 1.1; }
  .brand-sub{ display:block; margin-top: 2px; color: rgba(15,23,42,.62); font-weight: 800; font-size: 13px; }
  .side-user{ display:flex; gap: 10px; align-items:center; padding: 12px; border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: rgba(255,255,255,.75); box-shadow: 0 16px 34px rgba(2,6,23,.06); }
  .side-avatar{ width: 44px; height: 44px; border-radius: 16px; overflow:hidden; border: 1px solid rgba(15,23,42,.12); flex: 0 0 44px; background: rgba(2,6,23,.02); }
  .side-avatar img{ width:100%; height:100%; object-fit: cover; display:block; }
  .side-user-name{ font-weight: 900; color: rgba(15,23,42,.90); }
  .side-user-sub{ font-weight: 800; color: rgba(15,23,42,.62); font-size: 13px; margin-top: 2px; }
  .side-quick{ display:flex; gap: 10px; }
  .quick-btn{ flex: 1; display:inline-flex; align-items:center; justify-content:center; gap: 10px; padding: 10px 12px; border-radius: 16px; border: 1px solid rgba(44,122,117,.22); background: rgba(44,122,117,.10); color: rgba(44,122,117,.95); font-weight: 900; text-decoration:none; }
  .quick-btn:hover{ background: rgba(52,211,153,.14); border-color: rgba(52,211,153,.28); }
  .quick-btn-soft{ border-color: rgba(15,23,42,.10); background: rgba(2,6,23,.02); color: rgba(15,23,42,.75); }
  .side-nav{ margin-top: 14px; display:grid; gap: 8px; }
  .side-link{ display:flex; align-items:center; gap: 12px; padding: 12px 12px; border-radius: 16px; border: 1px solid rgba(15,23,42,.08); background: rgba(255,255,255,.70); color: rgba(15,23,42,.78); font-weight: 900; text-decoration:none; transition: .2s ease; }
  .side-link i{ color: rgba(44,122,117,.95); width: 18px; text-align:center; }
  .side-link:hover{ transform: translateY(-1px); border-color: rgba(44,122,117,.22); background: rgba(44,122,117,.06); color: rgba(44,122,117,.95); }
  .side-link.is-active{ background: rgba(52,211,153,.18); border-color: rgba(52,211,153,.32); color: #1F5B57; }
  .side-link.is-active i{ color: #1F5B57; }
  .side-sep{ height: 1px; background: rgba(15,23,42,.10); margin: 8px 0; }
  .side-link-danger i{ color: rgba(224,100,72,.92); }
  .side-link-danger:hover{ border-color: rgba(224,100,72,.22); background: rgba(224,100,72,.06); color: rgba(224,100,72,.92); }
  .side-bottom{ margin-top: auto; }
  .side-tip{ display:flex; gap: 12px; align-items:flex-start; padding: 12px; border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: radial-gradient(circle at 20% 20%, rgba(52, 211, 153, 0.16), transparent 55%), linear-gradient(180deg, rgba(2,6,23,.02), #fff); }
  .tip-ico{ width: 42px; height: 42px; border-radius: 16px; display:flex; align-items:center; justify-content:center; background: rgba(44,122,117,.10); border: 1px solid rgba(44,122,117,.18); color: rgba(44,122,117,.95); flex: 0 0 42px; }
  .tip-title{ font-weight: 900; color: rgba(15,23,42,.90); }
  .tip-sub{ color: rgba(15,23,42,.68); font-weight: 700; line-height: 1.55; margin-top: 2px; font-size: 14px; }
  .student-main{ min-height: 100vh; padding: 16px; }
  .student-topbar{ border-radius: 22px; border: 1px solid rgba(15,23,42,.10); box-shadow: 0 16px 34px rgba(2,6,23,.06); background: rgba(255,255,255,.85); padding: 14px; display:flex; align-items:center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
  .topbar-title{ font-family: var(--font-title); font-weight: 900; letter-spacing: -0.02em; color: rgba(15,23,42,.92); font-size: 1.25rem; line-height: 1.1; }
  .topbar-sub{ margin-top: 4px; color: rgba(15,23,42,.68); font-weight: 700; line-height: 1.5; font-size: 14px; }
  .topbar-actions{ display:flex; align-items:center; gap: 10px; flex-wrap: wrap; }
  .topbar-search{ display:flex; align-items:center; gap: 10px; padding: 10px 12px; border-radius: 16px; border: 1px solid rgba(15,23,42,.10); background: rgba(2,6,23,.02); min-width: min(360px, 78vw); }
  .topbar-search i{ color: rgba(44,122,117,.95); }
  .topbar-search input{ width: 100%; border: 0; outline: none; background: transparent; color: rgba(15,23,42,.78); font-weight: 700; }
  .topbar-pill{ width: 44px; height: 44px; border-radius: 16px; border: 1px solid rgba(15,23,42,.10); background: rgba(255,255,255,.85); display:flex; align-items:center; justify-content:center; color: rgba(15,23,42,.70); text-decoration:none; position: relative; }
  .topbar-pill:hover{ border-color: rgba(44,122,117,.22); background: rgba(44,122,117,.06); color: rgba(44,122,117,.95); }
  .pill-dot{ position:absolute; top: 10px; right: 10px; width: 8px; height: 8px; background: rgba(224,100,72,.95); border-radius: 999px; border: 2px solid #fff; }
  .student-content{ margin-top: 14px; }
  .kpi-card{ border-radius: 22px; border: 1px solid rgba(15,23,42,.10); box-shadow: 0 16px 34px rgba(2,6,23,.06); background: rgba(255,255,255,.90); padding: 14px; display:flex; gap: 12px; align-items:center; height: 100%; }
  .kpi-ico{ width: 46px; height: 46px; border-radius: 18px; display:flex; align-items:center; justify-content:center; background: rgba(44,122,117,.10); border: 1px solid rgba(44,122,117,.18); color: rgba(44,122,117,.95); flex: 0 0 46px; }
  .kpi-ico-soft{ background: rgba(52,211,153,.14); border-color: rgba(52,211,153,.28); color: #1F5B57; }
  .kpi-ico-soft2{ background: rgba(2,6,23,.04); border-color: rgba(15,23,42,.10); color: rgba(15,23,42,.72); }
  .kpi-ico-soft3{ background: rgba(224,100,72,.08); border-color: rgba(224,100,72,.18); color: rgba(224,100,72,.92); }
  .kpi-label{ color: rgba(15,23,42,.62); font-weight: 800; font-size: 13px; }
  .kpi-value{ font-weight: 900; color: rgba(15,23,42,.92); font-size: 1.35rem; letter-spacing: -0.02em; line-height: 1.1; margin-top: 2px; }
  .kpi-sub{ color: rgba(15,23,42,.62); font-weight: 700; font-size: 13px; margin-top: 2px; }
  .panel-card{ border-radius: 22px; border: 1px solid rgba(15,23,42,.10); box-shadow: 0 16px 34px rgba(2,6,23,.06); background: rgba(255,255,255,.92); padding: 14px; height: 100%; }
  .panel-head{ display:flex; align-items:flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
  .panel-title{ font-family: var(--font-title); font-weight: 900; color: rgba(15,23,42,.92); letter-spacing: -0.02em; font-size: 1.1rem; line-height: 1.15; }
  .panel-sub{ margin-top: 4px; color: rgba(15,23,42,.66); font-weight: 700; font-size: 14px; line-height: 1.5; }
  .panel-link{ font-weight: 900; color: rgba(44,122,117,.95); text-decoration:none; white-space: nowrap; }
  .panel-link:hover{ text-decoration: underline; }

  .course-mini{ border-radius: 22px; border: 1px solid rgba(15,23,42,.10); box-shadow: 0 16px 34px rgba(2,6,23,.06); overflow:hidden; background: #fff; height: 100%; display:flex; flex-direction: column; }
  .course-mini-thumb{ height: 150px; overflow:hidden; }
  .course-mini-thumb img{ width:100%; height:100%; object-fit: cover; display:block; }
  .course-mini-body{ padding: 14px; display:flex; flex-direction: column; gap: 10px; flex: 1; }
  .course-mini-title{ font-weight: 900; color: rgba(15,23,42,.92); letter-spacing: -0.02em; }
  .course-mini-sub{ color: rgba(15,23,42,.62); font-weight: 700; font-size: 13px; }

  /* PROGRESS bonito (novo) */
  .course-mini-bar{ display:flex; align-items:center; gap: 10px; }
  .course-progress{ flex: 1; display:flex; flex-direction: column; gap: 6px; }
  .course-progress-top{ display:flex; align-items:center; justify-content: space-between; gap: 10px; }
  .course-mini-perc{ font-weight: 900; color: rgba(15,23,42,.78); font-size: 13px; white-space: nowrap; }
  .course-mini-stats{ color: rgba(15,23,42,.62); font-weight: 800; font-size: 12.5px; }
  .progress.prog-nice{ height: 12px; border-radius: 999px; background: rgba(15,23,42,.08); overflow: hidden; box-shadow: inset 0 1px 2px rgba(2,6,23,.10); }
  .progress.prog-nice .progress-bar{ width: var(--prog, 0%); border-radius: 999px; background: linear-gradient(90deg, rgba(52,211,153,.95) 0%, rgba(44,122,117,.95) 55%, rgba(31,91,87,1) 100%); box-shadow: 0 10px 18px rgba(44,122,117,.20); position: relative; }
  .progress.prog-nice .progress-bar::after{ content:""; position:absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.22), transparent 40%, rgba(255,255,255,.08)); }

  /* RECADOS */
  .notes-wrap{ margin-top: 14px; }
  .notes-list{ display:grid; gap: 10px; }
  .note-item{ display:flex; gap: 12px; align-items:flex-start; padding: 12px; border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: rgba(2,6,23,.02); }
  .note-ico{ width: 42px; height: 42px; border-radius: 16px; display:flex; align-items:center; justify-content:center; background: rgba(52,211,153,.14); border: 1px solid rgba(52,211,153,.28); color: #1F5B57; flex: 0 0 42px; }
  .note-title{ font-weight: 900; color: rgba(15,23,42,.90); line-height: 1.35; }
  .note-sub{ margin-top: 4px; color: rgba(15,23,42,.62); font-weight: 700; font-size: 13px; line-height: 1.55; }
  .note-tag{ margin-left: auto; padding: 8px 10px; border-radius: 999px; font-weight: 900; font-size: 12px; background: rgba(44,122,117,.10); border: 1px solid rgba(44,122,117,.18); color: rgba(44,122,117,.95); white-space: nowrap; }
  .note-tag-warn{ background: rgba(224,100,72,.10); border-color: rgba(224,100,72,.18); color: rgba(224,100,72,.95); }

  /* Activity */
  .activity-list{ display:grid; gap: 10px; }
  .activity-item{ display:flex; align-items:center; gap: 12px; padding: 12px; border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: rgba(2,6,23,.02); }
  .activity-ico{ width: 42px; height: 42px; border-radius: 16px; display:flex; align-items:center; justify-content:center; background: rgba(44,122,117,.10); border: 1px solid rgba(44,122,117,.18); color: rgba(44,122,117,.95); flex: 0 0 42px; }
  .activity-ico-soft{ background: rgba(52,211,153,.14); border-color: rgba(52,211,153,.28); color: #1F5B57; }
  .activity-ico-soft2{ background: rgba(2,6,23,.04); border-color: rgba(15,23,42,.10); color: rgba(15,23,42,.72); }
  .activity-title{ font-weight: 900; color: rgba(15,23,42,.90); }
  .activity-sub{ margin-top: 2px; color: rgba(15,23,42,.62); font-weight: 700; font-size: 13px; }
  .activity-tag{ margin-left:auto; padding: 8px 10px; border-radius: 999px; font-weight: 900; font-size: 12px; background: rgba(44,122,117,.10); border: 1px solid rgba(44,122,117,.18); color: rgba(44,122,117,.95); white-space: nowrap; }
  .activity-tag-soft{ background: rgba(52,211,153,.18); border-color: rgba(52,211,153,.28); color: #1F5B57; }
  .activity-tag-dark{ background: rgba(15,23,42,.08); border-color: rgba(15,23,42,.12); color: rgba(15,23,42,.78); }
  .week-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .week-box{ border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: rgba(255,255,255,.80); padding: 12px; }
  .week-label{ color: rgba(15,23,42,.62); font-weight: 800; font-size: 13px; }
  .week-val{ color: rgba(15,23,42,.92); font-weight: 900; letter-spacing: -0.02em; font-size: 1.2rem; margin-top: 4px; }
  .week-sub{ color: rgba(15,23,42,.62); font-weight: 700; font-size: 13px; margin-top: 2px; }

  .btn-cta2{ background: none; border: 2px solid #2C7A75; color: #2C7A75;  }
  
  .side-courses{ margin-top: 12px; padding: 12px; border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: rgba(255,255,255,.70); box-shadow: 0 16px 34px rgba(2,6,23,.05); }
  .side-courses-title{ font-weight: 900; color: rgba(15,23,42,.92); letter-spacing: -0.02em; margin-bottom: 8px; display:flex; align-items:center; justify-content: space-between; gap: 10px; }
  .side-courses-title small{ font-weight: 800; color: rgba(15,23,42,.60); font-size: 12.5px; }
  .side-courses-list{ display:grid; gap: 10px; max-height: 280px; overflow:auto; padding-right: 4px; }
  .side-courses-list::-webkit-scrollbar{ width: 8px; }
  .side-courses-list::-webkit-scrollbar-thumb{ background: rgba(15,23,42,.10); border-radius: 999px; }
  .side-course{ padding: 10px 10px; border-radius: 16px; border: 1px solid rgba(15,23,42,.08); background: rgba(2,6,23,.02); transition: .2s ease; text-decoration:none; color: inherit; }
  .side-course:hover{ transform: translateY(-1px); border-color: rgba(44,122,117,.22); background: rgba(44,122,117,.06); }
  .side-course-top{ display:flex; align-items:flex-start; justify-content: space-between; gap: 10px; }
  .side-course-name{ font-weight: 900; color: rgba(15,23,42,.90); line-height: 1.2; font-size: 13.5px; }
  .side-course-perc{ font-weight: 900; color: rgba(44,122,117,.95); font-size: 12.5px; white-space: nowrap; }
  .side-course-bar{ margin-top: 8px; height: 10px; border-radius: 999px; background: rgba(15,23,42,.08); overflow:hidden; box-shadow: inset 0 1px 2px rgba(2,6,23,.10); }
  .side-course-fill{ height: 100%; width: var(--prog, 0%); border-radius: 999px; background: linear-gradient(90deg, rgba(52,211,153,.95) 0%, rgba(44,122,117,.95) 55%, rgba(31,91,87,1) 100%); position: relative; box-shadow: 0 10px 18px rgba(44,122,117,.18); }
  .side-course-fill::after{ content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(255,255,255,.22), transparent 42%, rgba(255,255,255,.08)); }
  .side-course-sub{ margin-top: 6px; color: rgba(15,23,42,.62); font-weight: 800; font-size: 12px; display:flex; align-items:center; gap: 8px; }
  .side-course-sub i{ color: rgba(44,122,117,.95); }
  .side-course-current{ padding: 12px; border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: rgba(255,255,255,.85); box-shadow: 0 12px 26px rgba(2,6,23,.05);}
  .side-course-current-label{ font-size: 12px; font-weight: 800; color: rgba(15,23,42,.55); text-transform: uppercase; letter-spacing: .04em; }
  .side-course-current-name{ margin-top: 4px; font-weight: 900; color: rgba(15,23,42,.92); line-height: 1.3; }
  .side-course-current-progress{ margin-top: 8px; display:flex; flex-direction: column; gap: 6px; }
  .side-course-current-top{ display:flex; align-items:center; justify-content: space-between; gap: 10px; }
  .side-course-current-stats{ color: rgba(15,23,42,.62); font-weight: 800; font-size: 12.5px; }
  .side-course-current-perc{ font-weight: 900; color: rgba(44,122,117,.95); font-size: 12.5px; white-space: nowrap; }
  .side-course-current-bar{ height: 10px; border-radius: 999px; background: rgba(15,23,42,.08); overflow: hidden; box-shadow: inset 0 1px 2px rgba(2,6,23,.10); }
  .side-course-current-fill{ height: 100%; width: var(--prog, 0%); border-radius: 999px; background: linear-gradient(90deg, rgba(52,211,153,.95) 0%, rgba(44,122,117,.95) 55%, rgba(31,91,87,1) 100%); box-shadow: 0 6px 12px rgba(44,122,117,.25); }

  @media(max-width: 991.98px){ .student-main{ padding: 12px; } .student-topbar{ padding: 12px; } .topbar-search{ min-width: 100%; } }
  @media(max-width: 600px){ .section{ padding: 32px 0; } }
  .student-offcanvas .offcanvas-header{ border-bottom: 1px solid rgba(15,23,42,.10); }

  /* ===== PERFIL (ACRESCIMO) ===== */
  .profile-form{ max-width: 860px; }
  .hint-soft{ padding: 12px; border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: rgba(2,6,23,.02); color: rgba(15,23,42,.66); font-weight: 700; line-height: 1.55; font-size: 14px; display:flex; gap: 10px; align-items:flex-start; }
  .hint-soft i{ color: rgba(44,122,117,.95); margin-top: 2px; }
  .profile-actions{ display:flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
  
    .about-content { max-width: 95%; }
  .section-subtitle{ max-width: 560px; }
  .aj-missao{ margin-top: 60px !important; }
  .about-content{ max-width: 95%; }

  .student-shell{ background: radial-gradient(circle at 12% 12%, rgba(52, 211, 153, 0.16), transparent 55%), radial-gradient(circle at 85% 15%, rgba(44,122,117,.14), transparent 55%), linear-gradient(180deg, rgba(2,6,23,.02), #fff); min-height: calc(100vh - 120px); }
  .student-sidebar{ position: sticky; top: 0; height: 100vh; width: 300px; border-right: 1px solid rgba(15,23,42,.10); background: radial-gradient(circle at 20% 10%, rgba(52, 211, 153, 0.18), transparent 55%), linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.92)); display:flex; flex-direction: column; padding: 16px; }
  .side-top{ display:flex; flex-direction: column; gap: 14px; }
  .brand-dot{ width: 42px; height: 42px; border-radius: 16px; display:flex; align-items:center; justify-content:center; background: rgba(44,122,117,.10); border: 1px solid rgba(44,122,117,.18); color: rgba(44,122,117,.95); flex: 0 0 42px; font-size: 16px; }
  .side-brand{ display:flex; gap: 10px; align-items:center; text-decoration:none; color: inherit; }
  .brand-title{ font-family: var(--font-title); font-weight: 900; letter-spacing: -0.02em; color: rgba(15,23,42,.92); line-height: 1.1; }
  .brand-sub{ display:block; margin-top: 2px; color: rgba(15,23,42,.62); font-weight: 800; font-size: 13px; }
  .side-user{ display:flex; gap: 10px; align-items:center; padding: 12px; border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: rgba(255,255,255,.75); box-shadow: 0 16px 34px rgba(2,6,23,.06); }
  .side-avatar{ width: 44px; height: 44px; border-radius: 16px; overflow:hidden; border: 1px solid rgba(15,23,42,.12); flex: 0 0 44px; background: rgba(2,6,23,.02); }
  .side-avatar img{ width:100%; height:100%; object-fit: cover; display:block; }
  .side-user-name{ font-weight: 900; color: rgba(15,23,42,.90); }
  .side-user-sub{ font-weight: 800; color: rgba(15,23,42,.62); font-size: 13px; margin-top: 2px; }
  .side-quick{ display:flex; gap: 10px; }
  .quick-btn{ flex: 1; display:inline-flex; align-items:center; justify-content:center; gap: 10px; padding: 10px 12px; border-radius: 16px; border: 1px solid rgba(44,122,117,.22); background: rgba(44,122,117,.10); color: rgba(44,122,117,.95); font-weight: 900; text-decoration:none; }
  .quick-btn:hover{ background: rgba(52,211,153,.14); border-color: rgba(52,211,153,.28); }
  .quick-btn-soft{ border-color: rgba(15,23,42,.10); background: rgba(2,6,23,.02); color: rgba(15,23,42,.75); }
  .side-nav{ margin-top: 14px; display:grid; gap: 8px; }
  .side-link{ display:flex; align-items:center; gap: 12px; padding: 12px 12px; border-radius: 16px; border: 1px solid rgba(15,23,42,.08); background: rgba(255,255,255,.70); color: rgba(15,23,42,.78); font-weight: 900; text-decoration:none; transition: .2s ease; }
  .side-link i{ color: rgba(44,122,117,.95); width: 18px; text-align:center; }
  .side-link:hover{ transform: translateY(-1px); border-color: rgba(44,122,117,.22); background: rgba(44,122,117,.06); color: rgba(44,122,117,.95); }
  .side-link.is-active{ background: rgba(52,211,153,.18); border-color: rgba(52,211,153,.32); color: #1F5B57; }
  .side-link.is-active i{ color: #1F5B57; }
  .side-sep{ height: 1px; background: rgba(15,23,42,.10); margin: 8px 0; }
  .side-link-danger i{ color: rgba(224,100,72,.92); }
  .side-link-danger:hover{ border-color: rgba(224,100,72,.22); background: rgba(224,100,72,.06); color: rgba(224,100,72,.92); }
  .side-bottom{ margin-top: auto; }
  .side-tip{ display:flex; gap: 12px; align-items:flex-start; padding: 12px; border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: radial-gradient(circle at 20% 20%, rgba(52, 211, 153, 0.16), transparent 55%), linear-gradient(180deg, rgba(2,6,23,.02), #fff); }
  .tip-ico{ width: 42px; height: 42px; border-radius: 16px; display:flex; align-items:center; justify-content:center; background: rgba(44,122,117,.10); border: 1px solid rgba(44,122,117,.18); color: rgba(44,122,117,.95); flex: 0 0 42px; }
  .tip-title{ font-weight: 900; color: rgba(15,23,42,.90); }
  .tip-sub{ color: rgba(15,23,42,.68); font-weight: 700; line-height: 1.55; margin-top: 2px; font-size: 14px; }
  .student-main{ min-height: 100vh; padding: 16px; }
  .student-topbar{ border-radius: 22px; border: 1px solid rgba(15,23,42,.10); box-shadow: 0 16px 34px rgba(2,6,23,.06); background: rgba(255,255,255,.85); padding: 14px; display:flex; align-items:center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
  .topbar-title{ font-family: var(--font-title); font-weight: 900; letter-spacing: -0.02em; color: rgba(15,23,42,.92); font-size: 1.25rem; line-height: 1.1; }
  .topbar-sub{ margin-top: 4px; color: rgba(15,23,42,.68); font-weight: 700; line-height: 1.5; font-size: 14px; }
  .topbar-actions{ display:flex; align-items:center; gap: 10px; flex-wrap: wrap; }
  .topbar-search{ display:flex; align-items:center; gap: 10px; padding: 10px 12px; border-radius: 16px; border: 1px solid rgba(15,23,42,.10); background: rgba(2,6,23,.02); min-width: min(360px, 78vw); }
  .topbar-search i{ color: rgba(44,122,117,.95); }
  .topbar-search input{ width: 100%; border: 0; outline: none; background: transparent; color: rgba(15,23,42,.78); font-weight: 700; }
  .topbar-pill{ width: 44px; height: 44px; border-radius: 16px; border: 1px solid rgba(15,23,42,.10); background: rgba(255,255,255,.85); display:flex; align-items:center; justify-content:center; color: rgba(15,23,42,.70); text-decoration:none; position: relative; }
  .topbar-pill:hover{ border-color: rgba(44,122,117,.22); background: rgba(44,122,117,.06); color: rgba(44,122,117,.95); }
  .pill-dot{ position:absolute; top: 10px; right: 10px; width: 8px; height: 8px; background: rgba(224,100,72,.95); border-radius: 999px; border: 2px solid #fff; }
  .student-content{ margin-top: 14px; }
  .kpi-card{ border-radius: 22px; border: 1px solid rgba(15,23,42,.10); box-shadow: 0 16px 34px rgba(2,6,23,.06); background: rgba(255,255,255,.90); padding: 14px; display:flex; gap: 12px; align-items:center; height: 100%; }
  .kpi-ico{ width: 46px; height: 46px; border-radius: 18px; display:flex; align-items:center; justify-content:center; background: rgba(44,122,117,.10); border: 1px solid rgba(44,122,117,.18); color: rgba(44,122,117,.95); flex: 0 0 46px; }
  .kpi-ico-soft{ background: rgba(52,211,153,.14); border-color: rgba(52,211,153,.28); color: #1F5B57; }
  .kpi-ico-soft2{ background: rgba(2,6,23,.04); border-color: rgba(15,23,42,.10); color: rgba(15,23,42,.72); }
  .kpi-ico-soft3{ background: rgba(224,100,72,.08); border-color: rgba(224,100,72,.18); color: rgba(224,100,72,.92); }
  .kpi-label{ color: rgba(15,23,42,.62); font-weight: 800; font-size: 13px; }
  .kpi-value{ font-weight: 900; color: rgba(15,23,42,.92); font-size: 1.35rem; letter-spacing: -0.02em; line-height: 1.1; margin-top: 2px; }
  .kpi-sub{ color: rgba(15,23,42,.62); font-weight: 700; font-size: 13px; margin-top: 2px; }
  .panel-card{ border-radius: 22px; border: 1px solid rgba(15,23,42,.10); box-shadow: 0 16px 34px rgba(2,6,23,.06); background: rgba(255,255,255,.92); padding: 14px; height: 100%; }
  .panel-head{ display:flex; align-items:flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
  .panel-title{ font-family: var(--font-title); font-weight: 900; color: rgba(15,23,42,.92); letter-spacing: -0.02em; font-size: 1.1rem; line-height: 1.15; }
  .panel-sub{ margin-top: 4px; color: rgba(15,23,42,.66); font-weight: 700; font-size: 14px; line-height: 1.5; }
  .panel-link{ font-weight: 900; color: rgba(44,122,117,.95); text-decoration:none; white-space: nowrap; }
  .panel-link:hover{ text-decoration: underline; }

  .course-mini{ border-radius: 22px; border: 1px solid rgba(15,23,42,.10); box-shadow: 0 16px 34px rgba(2,6,23,.06); overflow:hidden; background: #fff; height: 100%; display:flex; flex-direction: column; }
  .course-mini-thumb{ height: 150px; overflow:hidden; }
  .course-mini-thumb img{ width:100%; height:100%; object-fit: cover; display:block; }
  .course-mini-body{ padding: 14px; display:flex; flex-direction: column; gap: 10px; flex: 1; }
  .course-mini-title{ font-weight: 900; color: rgba(15,23,42,.92); letter-spacing: -0.02em; }
  .course-mini-sub{ color: rgba(15,23,42,.62); font-weight: 700; font-size: 13px; }

  /* PROGRESS bonito (novo) */
  .course-mini-bar{ display:flex; align-items:center; gap: 10px; }
  .course-progress{ flex: 1; display:flex; flex-direction: column; gap: 6px; }
  .course-progress-top{ display:flex; align-items:center; justify-content: space-between; gap: 10px; }
  .course-mini-perc{ font-weight: 900; color: rgba(15,23,42,.78); font-size: 13px; white-space: nowrap; }
  .course-mini-stats{ color: rgba(15,23,42,.62); font-weight: 800; font-size: 12.5px; }
  .progress.prog-nice{ height: 12px; border-radius: 999px; background: rgba(15,23,42,.08); overflow: hidden; box-shadow: inset 0 1px 2px rgba(2,6,23,.10); }
  .progress.prog-nice .progress-bar{ width: var(--prog, 0%); border-radius: 999px; background: linear-gradient(90deg, rgba(52,211,153,.95) 0%, rgba(44,122,117,.95) 55%, rgba(31,91,87,1) 100%); box-shadow: 0 10px 18px rgba(44,122,117,.20); position: relative; }
  .progress.prog-nice .progress-bar::after{ content:""; position:absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.22), transparent 40%, rgba(255,255,255,.08)); }

  /* RECADOS */
  .notes-wrap{ margin-top: 14px; }
  .notes-list{ display:grid; gap: 10px; }
  .note-item{ display:flex; gap: 12px; align-items:flex-start; padding: 12px; border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: rgba(2,6,23,.02); }
  .note-ico{ width: 42px; height: 42px; border-radius: 16px; display:flex; align-items:center; justify-content:center; background: rgba(52,211,153,.14); border: 1px solid rgba(52,211,153,.28); color: #1F5B57; flex: 0 0 42px; }
  .note-title{ font-weight: 900; color: rgba(15,23,42,.90); line-height: 1.35; }
  .note-sub{ margin-top: 4px; color: rgba(15,23,42,.62); font-weight: 700; font-size: 13px; line-height: 1.55; }
  .note-tag{ margin-left: auto; padding: 8px 10px; border-radius: 999px; font-weight: 900; font-size: 12px; background: rgba(44,122,117,.10); border: 1px solid rgba(44,122,117,.18); color: rgba(44,122,117,.95); white-space: nowrap; }
  .note-tag-warn{ background: rgba(224,100,72,.10); border-color: rgba(224,100,72,.18); color: rgba(224,100,72,.95); }

  /* Activity */
  .activity-list{ display:grid; gap: 10px; }
  .activity-item{ display:flex; align-items:center; gap: 12px; padding: 12px; border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: rgba(2,6,23,.02); }
  .activity-ico{ width: 42px; height: 42px; border-radius: 16px; display:flex; align-items:center; justify-content:center; background: rgba(44,122,117,.10); border: 1px solid rgba(44,122,117,.18); color: rgba(44,122,117,.95); flex: 0 0 42px; }
  .activity-ico-soft{ background: rgba(52,211,153,.14); border-color: rgba(52,211,153,.28); color: #1F5B57; }
  .activity-ico-soft2{ background: rgba(2,6,23,.04); border-color: rgba(15,23,42,.10); color: rgba(15,23,42,.72); }
  .activity-title{ font-weight: 900; color: rgba(15,23,42,.90); }
  .activity-sub{ margin-top: 2px; color: rgba(15,23,42,.62); font-weight: 700; font-size: 13px; }
  .activity-tag{ margin-left:auto; padding: 8px 10px; border-radius: 999px; font-weight: 900; font-size: 12px; background: rgba(44,122,117,.10); border: 1px solid rgba(44,122,117,.18); color: rgba(44,122,117,.95); white-space: nowrap; }
  .activity-tag-soft{ background: rgba(52,211,153,.18); border-color: rgba(52,211,153,.28); color: #1F5B57; }
  .activity-tag-dark{ background: rgba(15,23,42,.08); border-color: rgba(15,23,42,.12); color: rgba(15,23,42,.78); }
  .week-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .week-box{ border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: rgba(255,255,255,.80); padding: 12px; }
  .week-label{ color: rgba(15,23,42,.62); font-weight: 800; font-size: 13px; }
  .week-val{ color: rgba(15,23,42,.92); font-weight: 900; letter-spacing: -0.02em; font-size: 1.2rem; margin-top: 4px; }
  .week-sub{ color: rgba(15,23,42,.62); font-weight: 700; font-size: 13px; margin-top: 2px; }

  .btn-cta2{ background: none; border: 2px solid #2C7A75; color: #2C7A75;  }
  
  .side-courses{ margin-top: 12px; padding: 12px; border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: rgba(255,255,255,.70); box-shadow: 0 16px 34px rgba(2,6,23,.05); }
  .side-courses-title{ font-weight: 900; color: rgba(15,23,42,.92); letter-spacing: -0.02em; margin-bottom: 8px; display:flex; align-items:center; justify-content: space-between; gap: 10px; }
  .side-courses-title small{ font-weight: 800; color: rgba(15,23,42,.60); font-size: 12.5px; }
  .side-courses-list{ display:grid; gap: 10px; max-height: 280px; overflow:auto; padding-right: 4px; }
  .side-courses-list::-webkit-scrollbar{ width: 8px; }
  .side-courses-list::-webkit-scrollbar-thumb{ background: rgba(15,23,42,.10); border-radius: 999px; }
  .side-course{ padding: 10px 10px; border-radius: 16px; border: 1px solid rgba(15,23,42,.08); background: rgba(2,6,23,.02); transition: .2s ease; text-decoration:none; color: inherit; }
  .side-course:hover{ transform: translateY(-1px); border-color: rgba(44,122,117,.22); background: rgba(44,122,117,.06); }
  .side-course-top{ display:flex; align-items:flex-start; justify-content: space-between; gap: 10px; }
  .side-course-name{ font-weight: 900; color: rgba(15,23,42,.90); line-height: 1.2; font-size: 13.5px; }
  .side-course-perc{ font-weight: 900; color: rgba(44,122,117,.95); font-size: 12.5px; white-space: nowrap; }
  .side-course-bar{ margin-top: 8px; height: 10px; border-radius: 999px; background: rgba(15,23,42,.08); overflow:hidden; box-shadow: inset 0 1px 2px rgba(2,6,23,.10); }
  .side-course-fill{ height: 100%; width: var(--prog, 0%); border-radius: 999px; background: linear-gradient(90deg, rgba(52,211,153,.95) 0%, rgba(44,122,117,.95) 55%, rgba(31,91,87,1) 100%); position: relative; box-shadow: 0 10px 18px rgba(44,122,117,.18); }
  .side-course-fill::after{ content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(255,255,255,.22), transparent 42%, rgba(255,255,255,.08)); }
  .side-course-sub{ margin-top: 6px; color: rgba(15,23,42,.62); font-weight: 800; font-size: 12px; display:flex; align-items:center; gap: 8px; }
  .side-course-sub i{ color: rgba(44,122,117,.95); }
  .side-course-current{ padding: 12px; border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: rgba(255,255,255,.85); box-shadow: 0 12px 26px rgba(2,6,23,.05);}
  .side-course-current-label{ font-size: 12px; font-weight: 800; color: rgba(15,23,42,.55); text-transform: uppercase; letter-spacing: .04em; }
  .side-course-current-name{ margin-top: 4px; font-weight: 900; color: rgba(15,23,42,.92); line-height: 1.3; }
  .side-course-current-progress{ margin-top: 8px; display:flex; flex-direction: column; gap: 6px; }
  .side-course-current-top{ display:flex; align-items:center; justify-content: space-between; gap: 10px; }
  .side-course-current-stats{ color: rgba(15,23,42,.62); font-weight: 800; font-size: 12.5px; }
  .side-course-current-perc{ font-weight: 900; color: rgba(44,122,117,.95); font-size: 12.5px; white-space: nowrap; }
  .side-course-current-bar{ height: 10px; border-radius: 999px; background: rgba(15,23,42,.08); overflow: hidden; box-shadow: inset 0 1px 2px rgba(2,6,23,.10); }
  .side-course-current-fill{ height: 100%; width: var(--prog, 0%); border-radius: 999px; background: linear-gradient(90deg, rgba(52,211,153,.95) 0%, rgba(44,122,117,.95) 55%, rgba(31,91,87,1) 100%); box-shadow: 0 6px 12px rgba(44,122,117,.25); }

  @media(max-width: 991.98px){ .student-main{ padding: 12px; } .student-topbar{ padding: 12px; } .topbar-search{ min-width: 100%; } }
  @media(max-width: 600px){ .section{ padding: 32px 0; } }
  .student-offcanvas .offcanvas-header{ border-bottom: 1px solid rgba(15,23,42,.10); }

  /* ===== PERFIL (ACRESCIMO) ===== */
  .profile-form{ max-width: 860px; }
  .hint-soft{ padding: 12px; border-radius: 18px; border: 1px solid rgba(15,23,42,.10); background: rgba(2,6,23,.02); color: rgba(15,23,42,.66); font-weight: 700; line-height: 1.55; font-size: 14px; display:flex; gap: 10px; align-items:flex-start; }
  .hint-soft i{ color: rgba(44,122,117,.95); margin-top: 2px; }
  .profile-actions{ display:flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
  
  