  :root {
    --brand: #83cbce;
    --brand-dark: #4a9da1;
    --brand-darker: #2d7a7e;
    --brand-soft: #e8f5f6;
    --brand-softer: #f4fafb;
    --ink: #0e1f21;
    --ink-2: #2a3d3f;
    --ink-3: #4f6063;
    --ink-4: #8a9799;
    --line: #e6ecec;
    --line-2: #f0f4f4;
    --bg: #fafbfb;
    --white: #ffffff;
    --success: #10b981;
    --warn: #f59e0b;
    --danger: #ef4444;
    --shadow-sm: 0 1px 2px rgba(14, 31, 33, 0.04);
    --shadow-md: 0 4px 12px rgba(14, 31, 33, 0.06), 0 1px 3px rgba(14, 31, 33, 0.04);
    --shadow-lg: 0 12px 32px rgba(14, 31, 33, 0.08), 0 4px 12px rgba(14, 31, 33, 0.04);
    --r-sm: 6px;
    --r-md: 10px;
    --r-lg: 14px;
    --r-xl: 20px;
  }

  * { box-sizing: border-box; margin: 0; padding: 0; }
  html, body { height: 100%; }
  body {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: var(--ink);
    background: var(--bg);
    -webkit-font-smoothing: antialiased;
  }
  .display { font-family: 'Fraunces', serif; letter-spacing: -0.02em; }

  button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
  input, select, textarea { font-family: inherit; font-size: inherit; }
  a { color: inherit; text-decoration: none; }

  /* ─────────────────────────────────────────────
     PROTOTYPE NAV (fuera del producto, solo demo)
     ───────────────────────────────────────────── */
  .proto-nav-wrap {
    position: fixed;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    max-width: calc(100vw - 32px);
  }
  .proto-role-tabs {
    background: white;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 4px;
    display: flex;
    gap: 2px;
    box-shadow: var(--shadow-md);
  }
  .role-tab {
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    color: var(--ink-3);
    transition: all 0.15s;
    white-space: nowrap;
  }
  .role-tab:hover { color: var(--ink); }
  .role-tab.active {
    background: var(--ink);
    color: white;
  }
  .proto-nav {
    background: var(--ink);
    color: white;
    padding: 8px;
    border-radius: 999px;
    box-shadow: var(--shadow-lg);
    display: flex;
    gap: 4px;
    max-width: calc(100vw - 32px);
    overflow-x: auto;
    scrollbar-width: none;
  }
  .proto-nav::-webkit-scrollbar { display: none; }
  .proto-nav button {
    color: rgba(255,255,255,0.6);
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
    transition: all 0.2s;
  }
  .proto-nav button:hover { color: white; }
  .proto-nav button.active {
    background: var(--brand);
    color: var(--ink);
  }

  /* ─────────────────────────────────────────────
     SCREEN ROUTING
     ───────────────────────────────────────────── */
  .screen { display: none; min-height: 100vh; }
  .screen.active { display: block; }

  /* ─────────────────────────────────────────────
     LOGO
     ───────────────────────────────────────────── */
  .iso-img {
    width: 100%;
    height: 100%;
    background: url('data:image/png;base64,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') center / contain no-repeat;
    display: block;
  }
  .logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
  }
  .logo-mark {
    width: 38px; height: 38px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
  }
  .logo-mark img { width: 100%; height: 100%; display: block; object-fit: contain; }
  .logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1;
  }
  .logo-text .brand {
    font-family: 'Poppins', 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--ink);
  }
  .logo-text .sub {
    font-family: 'Poppins', 'Inter', sans-serif;
    font-size: 9px;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--ink-3);
    font-weight: 500;
    margin-top: 3px;
    margin-left: 1px;
  }

  /* ═════════════════════════════════════════════
     SCREEN 1 — LOGIN
     ═════════════════════════════════════════════ */
  #screen-login {
    display: none;
    min-height: 100vh;
    background:
      radial-gradient(ellipse 800px 600px at 80% 20%, rgba(131, 203, 206, 0.18), transparent),
      radial-gradient(ellipse 600px 800px at 10% 90%, rgba(131, 203, 206, 0.10), transparent),
      var(--bg);
    align-items: center;
    justify-content: center;
    padding: 24px;
  }
  #screen-login.active { display: flex; }

  .login-card {
    background: white;
    border-radius: var(--r-xl);
    box-shadow: var(--shadow-lg);
    width: 100%;
    max-width: 420px;
    padding: 48px 40px;
    border: 1px solid var(--line);
  }
  .login-mark {
    width: 72px; height: 72px;
    display: grid; place-items: center;
    margin-bottom: 24px;
  }
  .login-mark img { width: 100%; height: 100%; object-fit: contain; display: block; }
  .login-card h1 {
    font-family: 'Fraunces', serif;
    font-size: 32px;
    font-weight: 500;
    letter-spacing: -0.02em;
    margin-bottom: 8px;
  }
  .login-card p { color: var(--ink-3); margin-bottom: 32px; }

  .field { margin-bottom: 16px; }
  .field label {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: var(--ink-3);
    margin-bottom: 6px;
    letter-spacing: 0.02em;
  }
  .field input, .field select, .field textarea {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    background: white;
    color: var(--ink);
    transition: all 0.15s;
  }
  .field input:focus, .field select:focus, .field textarea:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgba(131, 203, 206, 0.18);
  }

  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 18px;
    border-radius: var(--r-md);
    font-weight: 500;
    font-size: 14px;
    transition: all 0.15s;
    white-space: nowrap;
  }
  .btn-primary {
    background: var(--ink);
    color: white;
  }
  .btn-primary:hover { background: var(--ink-2); transform: translateY(-1px); box-shadow: var(--shadow-md); }
  .btn-brand {
    background: var(--brand);
    color: var(--ink);
  }
  .btn-brand:hover { background: var(--brand-dark); color: white; }
  .btn-ghost {
    background: transparent;
    color: var(--ink-3);
    border: 1px solid var(--line);
  }
  .btn-ghost:hover { background: var(--brand-softer); color: var(--ink); border-color: var(--brand); }
  .btn-block { width: 100%; }
  .btn-sm { padding: 7px 12px; font-size: 13px; }

  .login-footer {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--line-2);
    text-align: center;
    font-size: 13px;
    color: var(--ink-4);
  }
  .login-footer a { color: var(--brand-dark); font-weight: 500; }

  /* ═════════════════════════════════════════════
     APP LAYOUT (compartido pantallas 2-9)
     ═════════════════════════════════════════════ */
  .app {
    display: grid;
    grid-template-columns: 248px 1fr;
    min-height: 100vh;
  }
  @media (max-width: 900px) {
    .app { grid-template-columns: 1fr; }
    .sidebar { display: none; }
    .sidebar.mobile-open { display: flex; position: fixed; inset: 0; z-index: 100; width: 280px; }
  }

  /* SIDEBAR */
  .sidebar {
    background: white;
    border-right: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    padding: 20px 16px;
    height: 100vh;
    position: sticky;
    top: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  /* Scrollbar discreto en navegadores webkit (Chrome móvil, Safari) */
  .sidebar::-webkit-scrollbar { width: 6px; }
  .sidebar::-webkit-scrollbar-track { background: transparent; }
  .sidebar::-webkit-scrollbar-thumb { background: var(--line); border-radius: 3px; }
  .sidebar::-webkit-scrollbar-thumb:hover { background: var(--ink-4); }
  .sidebar-header {
    padding: 4px 8px 20px;
    border-bottom: 1px solid var(--line-2);
    margin-bottom: 16px;
  }
  .academy-switcher {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: var(--brand-softer);
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    margin-top: 14px;
    cursor: pointer;
    transition: all 0.15s;
  }
  .academy-switcher:hover { background: var(--brand-soft); border-color: var(--brand); }
  .academy-switcher .academy-icon {
    width: 28px; height: 28px;
    background: var(--brand);
    border-radius: 6px;
    color: white;
    display: grid; place-items: center;
    font-weight: 600;
    font-size: 13px;
  }
  .academy-switcher .academy-info { flex: 1; min-width: 0; }
  .academy-switcher .academy-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .academy-switcher .academy-role {
    font-size: 11px;
    color: var(--ink-4);
  }
  .academy-switcher .chevron { color: var(--ink-4); flex-shrink: 0; }

  .nav-section-label {
    font-size: 10px;
    font-weight: 600;
    color: var(--ink-4);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 8px 12px 4px;
  }
  .nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: var(--r-md);
    color: var(--ink-2);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
    margin-bottom: 1px;
  }
  .nav-item:hover { background: var(--brand-softer); color: var(--ink); }
  .nav-item.active { background: var(--ink); color: white; }
  .nav-item.active:hover { background: var(--ink-2); }
  .nav-item svg { flex-shrink: 0; }
  .nav-item .badge {
    margin-left: auto;
    background: var(--brand);
    color: var(--ink);
    font-size: 11px;
    font-weight: 600;
    padding: 1px 7px;
    border-radius: 10px;
  }
  .nav-item.active .badge { background: var(--brand); color: var(--ink); }

  .nav-group { margin-bottom: 4px; }
  .nav-subitem {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 12px 7px 38px;
    border-radius: var(--r-md);
    color: var(--ink-3);
    font-size: 13px;
    cursor: pointer;
    transition: all 0.15s;
  }
  .nav-subitem:hover { background: var(--brand-softer); color: var(--ink); }
  .nav-subitem.active { color: var(--brand-darker); font-weight: 600; }

  .sidebar-footer {
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--line-2);
  }
  .user-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px;
    border-radius: var(--r-md);
    cursor: pointer;
    transition: background 0.15s;
  }
  .user-card:hover { background: var(--brand-softer); }
  .avatar {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--brand), var(--brand-dark));
    color: white;
    display: grid; place-items: center;
    font-size: 12px;
    font-weight: 600;
    flex-shrink: 0;
  }
  .avatar-lg { width: 56px; height: 56px; font-size: 20px; }
  .avatar-xl { width: 80px; height: 80px; font-size: 28px; }
  .user-card .user-info { flex: 1; min-width: 0; }
  .user-card .user-name {
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .user-card .user-role { font-size: 11px; color: var(--ink-4); }

  /* MAIN */
  .main {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }
  .topbar {
    height: 64px;
    background: white;
    border-bottom: 1px solid var(--line);
    padding: 0 32px;
    display: flex;
    align-items: center;
    gap: 16px;
    position: sticky;
    top: 0;
    z-index: 50;
  }
  @media (max-width: 900px) { .topbar { padding: 0 16px; } }
  .topbar .menu-toggle {
    display: none;
    width: 36px; height: 36px;
    border-radius: var(--r-sm);
    align-items: center; justify-content: center;
  }
  @media (max-width: 900px) { .topbar .menu-toggle { display: flex; } }

  .search-box {
    flex: 1;
    max-width: 480px;
    position: relative;
  }
  .search-box input {
    width: 100%;
    padding: 9px 14px 9px 38px;
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    background: var(--bg);
    font-size: 13px;
  }
  .search-box input:focus {
    outline: none;
    background: white;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgba(131, 203, 206, 0.18);
  }
  .search-box svg {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ink-4);
  }

  .topbar-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
  }
  .icon-btn {
    width: 36px; height: 36px;
    border-radius: var(--r-sm);
    display: grid; place-items: center;
    color: var(--ink-3);
    transition: all 0.15s;
    position: relative;
  }
  .icon-btn:hover { background: var(--brand-softer); color: var(--ink); }
  .icon-btn .dot {
    position: absolute;
    top: 7px; right: 7px;
    width: 7px; height: 7px;
    background: var(--brand-dark);
    border: 2px solid white;
    border-radius: 50%;
  }

  .content {
    padding: 32px;
    flex: 1;
  }
  @media (max-width: 900px) { .content { padding: 20px 16px 100px; } }

  .page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
    flex-wrap: wrap;
  }
  .page-header .breadcrumb {
    font-size: 12px;
    color: var(--ink-4);
    margin-bottom: 4px;
    letter-spacing: 0.02em;
  }
  .page-header h1 {
    font-family: 'Fraunces', serif;
    font-size: 32px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }
  .page-header .subtitle {
    color: var(--ink-3);
    font-size: 14px;
    margin-top: 6px;
  }
  .page-actions { display: flex; gap: 8px; flex-wrap: wrap; }

  /* CARDS */
  .card {
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 20px;
  }
  .card-tight { padding: 16px; }
  .card h3 {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
  }

  /* ═════════════════════════════════════════════
     SCREEN 2 — ESCRITORIO (Dashboard)
     ═════════════════════════════════════════════ */
  .stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 28px;
  }
  .stat {
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 20px;
    transition: all 0.2s;
  }
  .stat:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: var(--brand); }
  .stat-label {
    font-size: 12px;
    color: var(--ink-4);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 500;
    margin-bottom: 12px;
  }
  .stat-value {
    font-family: 'Fraunces', serif;
    font-size: 36px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--ink);
    line-height: 1;
  }
  .stat-value-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
  }
  .stat-trend {
    font-size: 12px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
  }
  .stat-trend.up { background: rgba(16, 185, 129, 0.1); color: var(--success); }
  .stat-trend.down { background: rgba(239, 68, 68, 0.1); color: var(--danger); }
  .stat-sub {
    margin-top: 6px;
    font-size: 12px;
    color: var(--ink-4);
  }

  .dash-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
  }
  @media (max-width: 1100px) { .dash-grid { grid-template-columns: 1fr; } }

  .panel {
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    overflow: hidden;
  }
  .panel-header {
    padding: 18px 20px;
    border-bottom: 1px solid var(--line-2);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .panel-header h2 {
    font-family: 'Fraunces', serif;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: -0.01em;
  }
  .panel-header .link {
    font-size: 13px;
    color: var(--brand-darker);
    font-weight: 500;
  }
  .panel-body { padding: 8px; }

  .timeline-item {
    display: flex;
    gap: 14px;
    padding: 12px;
    border-radius: var(--r-md);
    cursor: pointer;
    transition: background 0.15s;
  }
  .timeline-item:hover { background: var(--brand-softer); }
  .timeline-time {
    flex-shrink: 0;
    width: 64px;
    text-align: right;
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
    padding-top: 2px;
  }
  .timeline-time small {
    display: block;
    font-size: 11px;
    color: var(--ink-4);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .timeline-divider {
    width: 2px;
    background: var(--brand);
    border-radius: 2px;
    flex-shrink: 0;
  }
  .timeline-content { flex: 1; min-width: 0; }
  .timeline-title { font-size: 14px; font-weight: 600; margin-bottom: 2px; }
  .timeline-meta {
    font-size: 12px;
    color: var(--ink-3);
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
  }
  .timeline-meta span {
    display: inline-flex; align-items: center; gap: 4px;
  }
  .modality-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
  }
  .modality-tag.presencial { background: var(--brand-soft); color: var(--brand-darker); }
  .modality-tag.online { background: rgba(245, 158, 11, 0.12); color: #b87900; }
  .modality-tag.mixta { background: rgba(99, 102, 241, 0.12); color: #4338ca; }

  .activity-list { padding: 8px; }
  .activity-item {
    display: flex;
    gap: 12px;
    padding: 12px;
    border-radius: var(--r-md);
    align-items: flex-start;
  }
  .activity-icon {
    width: 32px; height: 32px;
    border-radius: 8px;
    background: var(--brand-softer);
    color: var(--brand-darker);
    display: grid; place-items: center;
    flex-shrink: 0;
  }
  .activity-text { font-size: 13px; line-height: 1.45; }
  .activity-text strong { color: var(--ink); font-weight: 600; }
  .activity-time { font-size: 11px; color: var(--ink-4); margin-top: 2px; }

  /* ═════════════════════════════════════════════
     SCREEN 3 — LISTADO ALUMNOS
     ═════════════════════════════════════════════ */
  .toolbar {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    align-items: center;
    flex-wrap: wrap;
  }
  .toolbar .search { flex: 1; min-width: 200px; max-width: 360px; }
  .view-toggle {
    display: inline-flex;
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    padding: 3px;
  }
  .view-toggle button {
    padding: 6px 10px;
    border-radius: 6px;
    color: var(--ink-4);
    transition: all 0.15s;
  }
  .view-toggle button.active {
    background: var(--ink);
    color: white;
  }

  .filter-chip {
    padding: 7px 12px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: white;
    font-size: 13px;
    color: var(--ink-3);
    transition: all 0.15s;
    display: inline-flex;
    align-items: center;
    gap: 5px;
  }
  .filter-chip:hover { border-color: var(--brand); color: var(--ink); }
  .filter-chip.active { background: var(--ink); color: white; border-color: var(--ink); }

  /* Lista vista */
  .data-table {
    width: 100%;
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    overflow: hidden;
    border-collapse: collapse;
  }
  .data-table thead th {
    text-align: left;
    padding: 14px 18px;
    font-size: 11px;
    font-weight: 600;
    color: var(--ink-4);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 1px solid var(--line);
    background: var(--brand-softer);
  }
  .data-table tbody td {
    padding: 14px 18px;
    border-bottom: 1px solid var(--line-2);
    font-size: 14px;
  }
  .data-table tbody tr:last-child td { border-bottom: none; }
  .data-table tbody tr { cursor: pointer; transition: background 0.1s; }
  .data-table tbody tr:hover { background: var(--brand-softer); }

  .name-cell { display: flex; align-items: center; gap: 10px; }
  .name-cell .name { font-weight: 600; color: var(--ink); }
  .name-cell .sub { font-size: 12px; color: var(--ink-4); }

  .status-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
  }
  .status-pill::before {
    content: '';
    width: 6px; height: 6px;
    border-radius: 50%;
    display: inline-block;
  }
  .status-pill.activo { background: rgba(16, 185, 129, 0.1); color: var(--success); }
  .status-pill.activo::before { background: var(--success); }
  .status-pill.baja { background: rgba(239, 68, 68, 0.08); color: var(--danger); }
  .status-pill.baja::before { background: var(--danger); }
  .status-pill.espera { background: rgba(245, 158, 11, 0.1); color: var(--warn); }
  .status-pill.espera::before { background: var(--warn); }

  /* Parrilla vista */
  .grid-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
  }
  .student-card {
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 20px;
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
  }
  .student-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: var(--brand);
  }
  .student-card .avatar { margin: 0 auto 14px; }
  .student-card .name {
    font-weight: 600;
    margin-bottom: 4px;
  }
  .student-card .meta {
    font-size: 12px;
    color: var(--ink-4);
    margin-bottom: 12px;
  }
  .student-card .tags { display: flex; flex-wrap: wrap; gap: 4px; justify-content: center; }
  .tag-mini {
    font-size: 11px;
    padding: 2px 8px;
    background: var(--brand-soft);
    color: var(--brand-darker);
    border-radius: 999px;
    font-weight: 500;
  }

  /* ═════════════════════════════════════════════
     SCREEN 4 — FICHA ALUMNO
     ═════════════════════════════════════════════ */
  .profile-header {
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 28px;
    display: flex;
    gap: 24px;
    margin-bottom: 20px;
    flex-wrap: wrap;
    align-items: center;
  }
  .profile-info { flex: 1; min-width: 240px; }
  .profile-info h1 {
    font-family: 'Fraunces', serif;
    font-size: 28px;
    font-weight: 500;
    letter-spacing: -0.02em;
    margin-bottom: 4px;
  }
  .profile-info .meta {
    color: var(--ink-3);
    font-size: 14px;
    margin-bottom: 10px;
  }
  .profile-info .tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
  }
  .profile-actions { display: flex; gap: 8px; flex-wrap: wrap; }

  .tabs {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid var(--line);
    margin-bottom: 24px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .tabs::-webkit-scrollbar { display: none; }
  .tab {
    padding: 12px 18px;
    color: var(--ink-3);
    font-weight: 500;
    font-size: 14px;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
  }
  .tab:hover { color: var(--ink); }
  .tab.active {
    color: var(--ink);
    border-bottom-color: var(--brand);
    font-weight: 600;
  }

  .tab-content { display: none; }
  .tab-content.active { display: block; }

  .info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 24px;
  }
  .info-item label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--ink-4);
    font-weight: 600;
    margin-bottom: 4px;
  }
  .info-item .value {
    font-size: 14px;
    color: var(--ink);
    font-weight: 500;
  }

  /* Clientes vinculados */
  .client-row {
    display: flex;
    gap: 16px;
    padding: 18px;
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    margin-bottom: 12px;
    align-items: center;
  }
  .client-row .info { flex: 1; }
  .client-row .info .name { font-weight: 600; margin-bottom: 2px; }
  .client-row .info .role {
    font-size: 12px;
    color: var(--brand-darker);
    font-weight: 500;
    margin-bottom: 6px;
  }
  .client-row .info .contact {
    font-size: 13px;
    color: var(--ink-3);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }
  .principal-badge {
    background: var(--brand);
    color: var(--ink);
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
  }

  /* ═════════════════════════════════════════════
     SCREEN 5 — LISTADO GRUPOS
     ═════════════════════════════════════════════ */
  .group-card {
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    overflow: hidden;
    cursor: pointer;
    transition: all 0.2s;
  }
  .group-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: var(--brand);
  }
  .group-card-header {
    padding: 18px 20px;
    border-bottom: 1px solid var(--line-2);
    position: relative;
  }
  .group-card-header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: var(--accent, var(--brand));
  }
  .group-card-header h3 {
    font-family: 'Fraunces', serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.01em;
    margin-bottom: 4px;
  }
  .group-card-header .subject {
    font-size: 12px;
    color: var(--ink-4);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 500;
  }
  .group-card-body {
    padding: 16px 20px;
  }
  .group-meta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    font-size: 13px;
    color: var(--ink-3);
  }
  .group-meta-row svg { vertical-align: middle; margin-right: 4px; }
  .group-progress {
    height: 6px;
    background: var(--line-2);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 4px;
  }
  .group-progress-fill {
    height: 100%;
    background: var(--brand);
    border-radius: 3px;
  }
  .group-progress-label {
    font-size: 12px;
    color: var(--ink-4);
    display: flex;
    justify-content: space-between;
  }
  .group-card-footer {
    padding: 12px 20px;
    background: var(--brand-softer);
    border-top: 1px solid var(--line-2);
    font-size: 13px;
    color: var(--ink-3);
    display: flex;
    align-items: center;
    gap: 8px;
  }

  /* ═════════════════════════════════════════════
     SCREEN 7 — CALENDARIO
     ═════════════════════════════════════════════ */
  .calendar-wrap {
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    overflow: hidden;
  }
  .calendar-header {
    padding: 16px 20px;
    border-bottom: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
  }
  .calendar-nav {
    display: flex;
    align-items: center;
    gap: 6px;
  }
  .calendar-nav h2 {
    font-family: 'Fraunces', serif;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: -0.01em;
    min-width: 180px;
    text-align: center;
  }
  .calendar-grid {
    display: grid;
    grid-template-columns: 60px repeat(7, 1fr);
    border-collapse: collapse;
  }
  .cal-day-header {
    padding: 12px 8px;
    text-align: center;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--ink-4);
    font-weight: 600;
    border-bottom: 1px solid var(--line);
    border-right: 1px solid var(--line-2);
  }
  .cal-day-header:last-child { border-right: none; }
  .cal-day-header .num {
    display: block;
    font-family: 'Fraunces', serif;
    font-size: 22px;
    font-weight: 500;
    color: var(--ink);
    text-transform: none;
    letter-spacing: 0;
    margin-top: 2px;
  }
  .cal-day-header.today .num { color: var(--brand-darker); }
  .cal-day-header.today { background: var(--brand-softer); }

  .cal-time {
    padding: 8px;
    text-align: right;
    font-size: 11px;
    color: var(--ink-4);
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line-2);
    font-weight: 500;
  }
  .cal-cell {
    border-right: 1px solid var(--line-2);
    border-bottom: 1px solid var(--line-2);
    min-height: 56px;
    position: relative;
    padding: 2px;
  }
  .cal-cell:last-child { border-right: none; }

  .cal-event {
    background: var(--brand-soft);
    border-left: 3px solid var(--brand-dark);
    border-radius: 4px;
    padding: 4px 6px;
    font-size: 11px;
    color: var(--ink);
    margin-bottom: 2px;
    cursor: pointer;
    transition: all 0.15s;
    overflow: hidden;
  }
  .cal-event:hover { background: var(--brand); }
  .cal-event .e-title { font-weight: 600; line-height: 1.2; }
  .cal-event .e-meta { color: var(--ink-3); font-size: 10px; }
  .cal-event.online {
    background: rgba(245, 158, 11, 0.12);
    border-left-color: #b87900;
  }
  .cal-event.mixta {
    background: rgba(99, 102, 241, 0.12);
    border-left-color: #4338ca;
  }

  .calendar-mobile {
    display: none;
  }
  @media (max-width: 900px) {
    .calendar-grid { display: none; }
    .calendar-mobile { display: block; padding: 12px; }
  }
  .day-block {
    margin-bottom: 16px;
  }
  .day-block-header {
    font-family: 'Fraunces', serif;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 8px;
    padding: 0 4px;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .day-block-header.today { color: var(--brand-darker); }

  /* ═════════════════════════════════════════════
     SCREEN 8 — PASAR LISTA (móvil)
     ═════════════════════════════════════════════ */
  .attendance-header {
    background: linear-gradient(135deg, var(--brand-darker), var(--brand-dark));
    color: white;
    border-radius: var(--r-lg);
    padding: 20px;
    margin-bottom: 20px;
  }
  .attendance-header .class-name {
    font-family: 'Fraunces', serif;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: -0.01em;
    margin-bottom: 6px;
  }
  .attendance-header .class-meta {
    font-size: 14px;
    opacity: 0.9;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }
  .attendance-summary {
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 14px;
    margin-bottom: 16px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    text-align: center;
    gap: 8px;
  }
  .attendance-summary .item {
    padding: 6px 4px;
    border-right: 1px solid var(--line-2);
  }
  .attendance-summary .item:last-child { border-right: none; }
  .attendance-summary .num {
    font-family: 'Fraunces', serif;
    font-size: 26px;
    font-weight: 500;
    line-height: 1;
  }
  .attendance-summary .lbl {
    font-size: 10px;
    color: var(--ink-4);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
    margin-top: 4px;
  }
  .attendance-summary .num.green { color: var(--success); }
  .attendance-summary .num.red { color: var(--danger); }
  .attendance-summary .num.amber { color: var(--warn); }

  .att-list { display: flex; flex-direction: column; gap: 8px; }
  .att-row {
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .att-row .info { flex: 1; min-width: 0; }
  .att-row .name { font-weight: 600; }
  .att-row .sub { font-size: 12px; color: var(--ink-4); }
  .att-buttons { display: flex; gap: 6px; }
  .att-btn {
    width: 38px; height: 38px;
    border-radius: var(--r-sm);
    border: 1px solid var(--line);
    background: white;
    color: var(--ink-3);
    transition: all 0.15s;
    display: grid; place-items: center;
    font-weight: 600;
  }
  .att-btn:hover { transform: scale(1.05); }
  .att-btn.selected.present { background: var(--success); color: white; border-color: var(--success); }
  .att-btn.selected.late { background: var(--warn); color: white; border-color: var(--warn); }
  .att-btn.selected.absent { background: var(--danger); color: white; border-color: var(--danger); }
  .att-btn.selected.justified { background: #6366f1; color: white; border-color: #6366f1; }

  .att-modality-toggle {
    display: inline-flex;
    background: var(--bg);
    border-radius: 999px;
    padding: 2px;
    margin-top: 4px;
  }
  .att-modality-toggle button {
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    color: var(--ink-4);
  }
  .att-modality-toggle button.active {
    background: white;
    color: var(--brand-darker);
    box-shadow: 0 1px 2px rgba(0,0,0,0.06);
  }

  .att-fab {
    position: sticky;
    bottom: 88px;
    margin-top: 16px;
    z-index: 10;
  }

  /* ═════════════════════════════════════════════
     SCREEN 9 — COMUNICACIONES
     ═════════════════════════════════════════════ */
  .comm-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  @media (max-width: 1100px) { .comm-grid { grid-template-columns: 1fr; } }

  .recipients-box {
    margin-top: 8px;
    padding: 12px;
    background: var(--brand-softer);
    border-radius: var(--r-md);
    border: 1px dashed var(--line);
    min-height: 50px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
  }
  .recipient-chip {
    background: white;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 4px 10px 4px 4px;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .recipient-chip .avatar { width: 22px; height: 22px; font-size: 10px; }
  .recipient-chip .x {
    width: 16px; height: 16px;
    border-radius: 50%;
    display: grid; place-items: center;
    background: var(--line);
    margin-left: 4px;
    cursor: pointer;
    color: var(--ink-3);
    font-size: 14px;
    line-height: 1;
  }
  .recipient-chip .x:hover { background: var(--ink); color: white; }

  .group-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: white;
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    font-size: 12px;
    cursor: pointer;
    transition: all 0.15s;
  }
  .group-tag:hover { border-color: var(--brand); background: var(--brand-softer); }
  .group-tag.selected { background: var(--ink); color: white; border-color: var(--ink); }

  .sent-item {
    padding: 14px;
    border-bottom: 1px solid var(--line-2);
    cursor: pointer;
    transition: background 0.15s;
  }
  .sent-item:hover { background: var(--brand-softer); }
  .sent-item:last-child { border-bottom: none; }
  .sent-subject { font-weight: 600; margin-bottom: 4px; }
  .sent-meta {
    font-size: 12px;
    color: var(--ink-4);
    display: flex;
    align-items: center;
    gap: 12px;
  }

  /* Util */
  .stack { display: flex; flex-direction: column; gap: 16px; }
  .row { display: flex; gap: 8px; align-items: center; }
  .spacer { flex: 1; }
  .hide-mobile { }
  .show-mobile { display: none; }
  @media (max-width: 700px) {
    .hide-mobile { display: none; }
    .show-mobile { display: block; }
  }

/* ─────────── Flash messages (mensajes de feedback) ─────────── */
.flash {
  padding: 12px 14px;
  border-radius: var(--r-md);
  margin-bottom: 16px;
  font-size: 14px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.flash-success { background: #d1fae5; color: #065f46; border: 1px solid #6ee7b7; }
.flash-error   { background: #fee2e2; color: #991b1b; border: 1px solid #fca5a5; }
.flash-info    { background: var(--brand-softer); color: var(--brand-darker); border: 1px solid var(--brand); }
.flash-warning { background: #fef3c7; color: #92400e; border: 1px solid #fcd34d; }
