/* v18 MINIMAL DARK */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#111114;--card:#19191e;--card2:#1f1f25;--line:#2a2a30;--line2:#35353d;--ink:#eaeaed;--ink2:#9a9aa6;--ink3:#5c5c68;--orange:#FF7500;--orange-lt:#ffb347;--r:14px;--r-sm:10px}
html,body{background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}

/* TOPBAR */
.topbar{background:var(--card);border-bottom:1px solid var(--line);padding:0 20px;display:flex;align-items:center;gap:12px;height:60px;position:sticky;top:0;z-index:300}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand-bolt{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#27272e,#19191e);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.brand-name{font-size:14px;font-weight:800;letter-spacing:-.2px}
.brand-sub{font-size:9px;font-weight:600;color:var(--ink3);letter-spacing:1.5px;text-transform:uppercase}

/* Search */
.search-wrap{flex:1;position:relative;display:flex;align-items:center}
.s-ico{position:absolute;left:12px;color:var(--ink3);pointer-events:none}
.s-input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:9px 36px;font-size:12px;font-family:inherit;color:var(--ink);transition:border-color .15s}
.s-input::placeholder{color:var(--ink3)}
.s-input:focus{outline:none;border-color:var(--orange)}
.s-clear{position:absolute;right:8px;width:22px;height:22px;border:none;background:var(--line);color:var(--ink2);border-radius:50%;display:none;align-items:center;justify-content:center;cursor:pointer}
.s-clear.show{display:flex}
.s-clear:hover{background:var(--orange);color:#fff}

/* PDF */
.btn-pdf{display:flex;align-items:center;gap:6px;background:var(--card2);border:1px solid var(--line);color:var(--ink);padding:8px 14px;border-radius:999px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;flex-shrink:0;transition:border-color .15s}
.btn-pdf:hover{border-color:var(--orange)}
.btn-pdf.loading{opacity:.5;pointer-events:none}

/* Menu button */
.btn-menu{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--card2);color:var(--ink2);cursor:pointer;flex-shrink:0;transition:border-color .15s}
.btn-menu:hover{border-color:var(--orange);color:var(--ink)}

/* Menu popup */
.menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:500;opacity:0;pointer-events:none;transition:opacity .2s}
.menu-overlay.open{opacity:1;pointer-events:auto}
.menu-popup{position:fixed;top:68px;right:20px;z-index:510;background:var(--card);border:1px solid var(--line);border-radius:var(--r);width:280px;transform:scale(.95) translateY(-8px);opacity:0;pointer-events:none;transition:transform .2s,opacity .2s;overflow:hidden}
.menu-popup.open{transform:scale(1) translateY(0);opacity:1;pointer-events:auto}
.menu-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);font-weight:700;font-size:13px}
.menu-close{border:none;background:none;color:var(--ink3);cursor:pointer;display:flex;align-items:center}
.menu-close:hover{color:var(--ink)}
.menu-item{display:flex;align-items:center;gap:12px;padding:14px 16px;color:var(--ink2);text-decoration:none;font-size:13px;font-weight:500;transition:background .12s,color .12s;border-bottom:1px solid var(--line)}
.menu-item:last-child{border-bottom:none}
.menu-item:hover{background:var(--card2);color:var(--ink)}
.menu-item svg{color:var(--orange);flex-shrink:0}

/* Alert */
.alert{margin:14px 20px 0;padding:10px 14px;border-radius:var(--r-sm);background:#2a1818;border:1px solid #4a2020;color:#ff8a8a;font-size:12px}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px 20px 8px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px 14px;position:relative;overflow:hidden}
.kpi-val{font-size:28px;font-weight:900;letter-spacing:-1px;line-height:1}
.kpi-val--h{font-size:22px;color:var(--orange-lt)}
.kpi-lbl{font-size:10px;font-weight:600;color:var(--ink3);text-transform:uppercase;letter-spacing:.8px;margin-top:6px}
.kpi-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--orange-lt));opacity:.6}
.kpi-bar--h{opacity:1}

/* MAIN */
.main{padding:12px 20px 50px}

/* CARD */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}

/* THEAD */
.thead{display:flex;align-items:center;padding:10px 16px;background:var(--bg);border-bottom:1px solid var(--line);font-size:10px;font-weight:700;color:var(--ink3);text-transform:uppercase;letter-spacing:.6px}
.th-name{flex:1}.th-n{width:72px;text-align:right}.th-hrs{width:90px}.th-lnk{width:48px;text-align:center}

/* ROWS */
.r{display:flex;align-items:center;border-bottom:1px solid var(--line);transition:background .12s}
.r-name{flex:1;display:flex;align-items:center;gap:8px;padding:10px 16px;min-width:0}
.name-txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r-n{width:72px;text-align:right;padding:10px 14px 10px 4px;flex-shrink:0;font-variant-numeric:tabular-nums;color:var(--ink2)}
.r-hrs{width:90px;font-weight:600}.r-lnk{width:48px;text-align:center}
.mob-meta{display:none}
.chev{color:var(--ink3);display:flex;flex-shrink:0;transition:transform .2s cubic-bezier(.3,1.4,.5,1)}
.expandable.open>.r-name .chev{transform:rotate(90deg);color:var(--orange)}
.r-sec{background:var(--card2);cursor:pointer;user-select:none;font-weight:700;font-size:12px;border-left:3px solid var(--orange)}
.r-sec:hover{background:#24242a}.r-sec.open{background:#22201a}
.r-cur{background:var(--card);cursor:pointer;user-select:none;font-weight:600;font-size:11.5px;border-left:3px solid var(--line2)}
.r-cur:hover{background:var(--card2)}.r-cur.open{border-left-color:var(--orange-lt)}
.r-mod{background:var(--card);cursor:pointer;user-select:none;font-size:11.5px;color:var(--ink2);border-left:3px solid transparent}
.r-mod:hover{background:var(--card2)}
.r-total{background:var(--bg);border-top:2px solid var(--orange);font-weight:800;font-size:12px;border-bottom:none}
.r-total .r-n{color:var(--orange-lt);font-weight:800}
.thumb{width:22px;height:22px;border-radius:5px;object-fit:cover;flex-shrink:0}

/* TABLE AULAS */
.tbl-wrap{margin-left:40px;padding:0 10px 4px 0}
.tbl{width:100%;border-collapse:collapse;font-size:11px}
.tbl thead th{background:var(--bg);color:var(--ink3);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:6px 10px;border-bottom:1px solid var(--line)}
.t-num{width:30px;text-align:center}.t-time{width:64px;text-align:right}.t-lnk{width:40px;text-align:center}
.tbl tbody tr{border-bottom:1px solid #1e1e24}.tbl tbody tr:nth-child(odd){background:#161619}.tbl tbody tr:hover{background:#1f1d18}
.tbl td{padding:6px 10px;color:var(--ink2)}.tbl td.t-num{color:var(--ink3);text-align:center}.tbl td.t-time{text-align:right;color:var(--ink3);font-weight:500}.tbl td.t-lnk{text-align:center}
.lnk-a{color:var(--orange);text-decoration:none;opacity:.6;transition:opacity .12s}.lnk-a:hover{opacity:1}
.tbl-foot{border-top:1px solid var(--line)}.tbl-foot td{color:var(--orange-lt)!important;font-weight:700;font-size:10px}

/* ACCORDION */
.children{overflow:hidden;max-height:0;transition:max-height .22s ease}.children.expanded{max-height:999999px}
.block.hide,.block-curso.hide,.block-modulo.hide,.aula-row.hide{display:none}
.no-results{padding:48px 20px;text-align:center;color:var(--ink3);font-size:12px}.no-results strong{color:var(--orange-lt)}

/* FAB */
.fab{position:fixed;bottom:20px;right:20px;z-index:400;width:50px;height:50px;border-radius:50%;background:var(--orange);border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(255,117,0,.4);cursor:pointer;transition:transform .12s}
.fab:active{transform:scale(.92)}.fab.hidden{display:none}

/* Mobile search */
.mob-bar{position:fixed;bottom:0;left:0;right:0;z-index:500;background:var(--card);border-top:1px solid var(--line);padding:12px 14px;display:flex;align-items:center;gap:8px;transform:translateY(100%);transition:transform .22s ease}
.mob-bar.open{transform:translateY(0)}.mob-bar .s-input{flex:1;padding:10px 14px;border-radius:10px}
.mob-go{background:var(--orange);color:#fff;border:none;padding:10px 16px;border-radius:10px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;flex-shrink:0}
.mob-close{width:38px;height:38px;border:none;background:var(--line);color:var(--ink2);border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}

/* Footer */
.foot{text-align:center;color:var(--ink3);font-size:10px;padding:18px 20px;letter-spacing:.3px}

/* Visibility */
.desktop-only{display:flex}.mobile-only{display:none}

/* RESPONSIVE */
@media(max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  .desktop-only{display:none!important}.mobile-only{display:flex}
  .topbar{padding:0 12px;height:52px;gap:8px}
  .brand{flex:1;min-width:0}
  .brand-bolt{width:30px;height:30px;border-radius:8px}.brand-name{font-size:13px}
  .btn-pdf span{font-size:11px}
  .btn-pdf{margin-left:auto}
  .menu-popup{top:56px;right:12px;width:260px}
  .kpis{grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 12px 6px}
  .kpi-mod{display:none}
  .kpi{padding:14px 14px 10px;border-radius:var(--r-sm)}.kpi-val{font-size:22px}.kpi-val--h{font-size:17px}.kpi-lbl{font-size:9px;margin-top:4px}
  .main{padding:8px 10px 80px}
  .thead{display:none}
  .r{flex-wrap:wrap}.r-n,.r-lnk{display:none!important}
  .r-name{width:100%;padding:10px 12px 3px}
  .name-txt{white-space:normal;overflow:visible;line-height:1.35;font-size:12px}
  .r-sec{border-left-width:4px}.r-cur{border-left-width:4px;margin-left:6px}.r-mod{border-left:4px solid var(--line);margin-left:12px}
  .mob-meta{display:flex!important;width:100%;padding:2px 12px 9px;font-size:11px;color:var(--ink3);gap:4px;flex-wrap:wrap}
  .dot{color:#444}.hl{color:var(--orange-lt);font-weight:600}
  .r-total{display:none!important}
  .tbl-wrap{margin-left:16px;padding-right:4px}.tbl td{font-size:10.5px}.t-num{width:24px}.t-lnk{width:34px}.t-time{width:50px}
  .foot{padding-bottom:80px}
}
