/* Teacher Control — Portal do Professor — Design System 1.0
   Camada visual: elegância, leveza, hierarquia e conforto de leitura.
   Não altera regras de negócio, banco de dados ou autenticação. */
:root{
  --tc-navy:#17233f;
  --tc-navy-2:#203354;
  --tc-gold:#cda64b;
  --tc-text:#17233f;
  --tc-muted:#66758c;
  --tc-soft:#f5f7fa;
  --tc-border:#e2e8f0;
  --tc-border-2:#d6deea;
  --tc-card:#ffffff;
  --tc-shadow:0 10px 30px rgba(23,35,63,.055);
  --tc-shadow-hover:0 16px 36px rgba(23,35,63,.085);
  --tc-radius:16px;
}
html{background:var(--tc-soft)}
body.app-page{
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
  background:linear-gradient(180deg,#f7f8fb 0%,#f3f6fa 100%)!important;
  color:var(--tc-text)!important;
  letter-spacing:0!important;
  -webkit-font-smoothing:antialiased;
}
body.app-page .app-content{
  padding-top:42px!important;
  padding-bottom:64px!important;
}
body.app-page .app-welcome{margin-bottom:24px}
body.app-page .app-welcome .eyebrow,
body.app-page .eyebrow{
  color:#718097!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  line-height:1.3!important;
}
body.app-page .app-welcome h1{
  color:#14233f!important;
  font-size:34px!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  font-weight:750!important;
  margin:9px 0 7px!important;
}
body.app-page .app-welcome p{
  color:#6b7a90!important;
  font-size:15px!important;
  line-height:1.55!important;
  margin:0!important;
  max-width:760px;
}

/* Navegação global */
.tc-global-topbar{
  background:#fff!important;
  border-bottom:1px solid #e7ebf1!important;
  box-shadow:0 1px 0 rgba(23,35,63,.02)!important;
}
.tc-global-topbar .brand{font-family:Inter,"Segoe UI",Arial,sans-serif!important;letter-spacing:.085em!important}
.tc-global-nav{background:#fff!important;border-bottom:1px solid #e8ecf2!important}
.tc-global-nav a{transition:background .15s ease,color .15s ease,transform .15s ease!important}
.tc-global-nav a.active{background:#eef2f7!important;color:#14233f!important}

/* Botões */
body.app-page button,
body.app-page .btn,
body.app-page .button,
body.app-page .quick-main{
  font-family:inherit!important;
  border-radius:10px!important;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease!important;
}
body.app-page button:not(:disabled):hover,
body.app-page .btn:hover,
body.app-page .button:hover,
body.app-page .quick-main:hover{
  transform:translateY(-1px);
}
body.app-page button:focus-visible,
body.app-page a:focus-visible,
body.app-page input:focus-visible,
body.app-page select:focus-visible,
body.app-page textarea:focus-visible{
  outline:3px solid rgba(205,166,75,.22)!important;
  outline-offset:2px;
}

/* Formulários */
body.app-page input,
body.app-page select,
body.app-page textarea{
  font-family:inherit!important;
  color:#1c2b46!important;
  border-color:var(--tc-border-2)!important;
  background:#fff!important;
  border-radius:10px!important;
  box-shadow:0 1px 1px rgba(23,35,63,.015)!important;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease!important;
}
body.app-page input:focus,
body.app-page select:focus,
body.app-page textarea:focus{
  border-color:#9eabc0!important;
  box-shadow:0 0 0 3px rgba(32,51,84,.06)!important;
}
body.app-page label{color:#34445f!important;font-size:12px!important;font-weight:750!important}
body.app-page .tc-help,
body.app-page .type-help{color:#7b899d!important;line-height:1.5!important}

/* Cartões e superfícies */
body.app-page .dash-card,
body.app-page .app-cards a,
body.app-page .account-card,
body.app-page .pricing-app article,
body.app-page .report-options article,
body.app-page .report-sheet,
body.app-page .import-box,
body.app-page .import-preview,
body.app-page .export-toolbar,
body.app-page .export-grid article,
body.app-page .seq-card,
body.app-page .seq-panel,
body.app-page .library-card,
body.app-page .activity-form,
body.app-page .activity-list,
body.app-page .onboarding-card{
  border-color:var(--tc-border)!important;
  box-shadow:var(--tc-shadow)!important;
}
body.app-page .dash-card:hover,
body.app-page .app-cards a:hover,
body.app-page .seq-card:hover{
  box-shadow:var(--tc-shadow-hover)!important;
}

/* Dashboard */
body.app-page .dash-kpis a{
  border-radius:15px!important;
  padding:19px!important;
  border-color:var(--tc-border)!important;
}
body.app-page .dash-kpis strong{font-weight:750!important;letter-spacing:-.025em!important}
body.app-page .dash-kpis span{color:#738198!important}
body.app-page .quick-actions{border-color:var(--tc-border)!important;box-shadow:0 6px 20px rgba(23,35,63,.035)!important}
body.app-page .quick-actions a{border-color:#dce3ec!important;background:#fff!important}
body.app-page .dash-card-head h2{font-weight:750!important;letter-spacing:-.02em!important}

/* Atividades */
body.app-page .activity-toolbar{
  background:#fff!important;
  border:1px solid var(--tc-border)!important;
  border-radius:var(--tc-radius)!important;
  box-shadow:var(--tc-shadow)!important;
  padding:20px!important;
}
body.app-page .activity-toolbar strong{font-size:28px!important;font-weight:750!important;letter-spacing:-.03em!important}
body.app-page .activity-toolbar span{color:#7a879a!important;font-size:11px!important}
body.app-page .activity-toolbar button,
body.app-page .tc-form-actions button{background:var(--tc-navy)!important}
body.app-page .activity-list{overflow:hidden;border-radius:var(--tc-radius)!important;background:#fff!important}
body.app-page .activity-list-head{background:#fbfcfd!important;border-bottom:1px solid #e9edf3!important}
body.app-page .activity-list-head strong{font-size:15px!important;font-weight:800!important}
body.app-page .activity-list-head span{color:#78869a!important;font-size:12px!important}
body.app-page .activity-row{border-bottom-color:#edf0f4!important;transition:background .15s ease!important}
body.app-page .activity-row:hover{background:#fcfdff!important}
body.app-page .tc-activity-main>b{font-size:15px!important;font-weight:750!important;letter-spacing:-.01em!important}
body.app-page .tc-activity-main>small{color:#7a879a!important;font-size:11px!important}
body.app-page .tc-resource-badges span{background:#f3f6fa!important;border:1px solid #e1e7ef!important;color:#53637b!important;border-radius:999px!important}
body.app-page .tc-activity-actions a{font-weight:750!important;color:#254d85!important}

/* Sequências */
body.app-page .seq-panel,
body.app-page .seq-card{border:1px solid var(--tc-border)!important;border-radius:var(--tc-radius)!important}
body.app-page .seq-panel h2{font-size:23px!important;letter-spacing:-.025em!important}
body.app-page .seq-form{gap:14px!important}
body.app-page .seq-form input,
body.app-page .seq-form textarea,
body.app-page .seq-form select{padding:12px 13px!important}
body.app-page .seq-form button{background:var(--tc-navy)!important;color:#fff!important;font-weight:750!important}
body.app-page .seq-card.active{border-color:#bfcbdc!important;background:#fbfcfe!important}
body.app-page .seq-card strong{font-size:15px!important}
body.app-page .seq-card small{color:#718096!important}
body.app-page .sequence-rule{background:#f5f8fc!important;border-color:#dce5ee!important}
body.app-page .progress-bar{background:#e9edf3!important}
body.app-page .progress-fill{background:#31445f!important}

/* Biblioteca */
body.app-page .library-toolbar,
body.app-page .library-card{border-color:var(--tc-border)!important;box-shadow:var(--tc-shadow)!important}
body.app-page .library-toolbar{border-radius:var(--tc-radius)!important;background:#fff!important}
body.app-page .library-head{background:#fbfcfd!important}
body.app-page .material{border-bottom-color:#edf0f4!important}
body.app-page .material h3{font-size:16px!important;font-weight:750!important;letter-spacing:-.01em!important}
body.app-page .material .meta{color:#718097!important;line-height:1.45!important}
body.app-page .chip{background:#f4f6f9!important;border:1px solid #e2e7ee!important;color:#53637b!important;border-radius:999px!important}
body.app-page .material-actions .btn.secondary{background:#f3f6fa!important;border-color:#dce4ee!important;color:#253754!important}
body.app-page .cover-upload{border-radius:9px!important}
body.app-page .material-actions .delete-material{border-radius:9px!important}

/* Relatórios */
body.app-page .report-toolbar{background:#fff!important;border-color:var(--tc-border)!important;border-radius:var(--tc-radius)!important;box-shadow:var(--tc-shadow)!important}
body.app-page .report-options article{border-radius:15px!important}
body.app-page .report-options h2{font-size:20px!important;font-weight:750!important;letter-spacing:-.02em!important}
body.app-page .report-sheet-head h2{font-weight:750!important;letter-spacing:-.025em!important}
body.app-page .report-summary div{background:#f7f9fb!important;border:1px solid #edf0f4!important}
body.app-page .report-summary strong{font-weight:750!important}
body.app-page .report-table-head{background:#f6f8fb!important;color:#65748b!important}
body.app-page .report-table-row{border-bottom-color:#edf0f4!important}

/* Minha conta */
body.app-page .account-card{border-radius:var(--tc-radius)!important}
body.app-page .account-title h2{font-size:21px!important;font-weight:750!important;letter-spacing:-.02em!important}
body.app-page .usage-line div{background:#f7f9fb!important;border:1px solid #edf0f4!important}
body.app-page .usage-line b{font-weight:750!important;letter-spacing:-.025em!important}
body.app-page .account-link{color:#31588e!important}

/* Planos */
body.app-page .plan-card{background:linear-gradient(135deg,#17233f,#21385d)!important;box-shadow:0 14px 32px rgba(23,35,63,.12)!important}
body.app-page .pricing-app article{border-radius:17px!important}
body.app-page .pricing-app article.featured{border-color:#c9d1de!important;box-shadow:0 15px 38px rgba(23,35,63,.09)!important}
body.app-page .pricing-app h2{font-weight:750!important;letter-spacing:-.03em!important}

/* Alertas e estados */
body.app-page .alert{border-radius:11px!important;line-height:1.5!important}
body.app-page .empty-state,
body.app-page .empty-inline{color:#7b899d!important}

/* Mobile: experiência confortável, não apenas desktop comprimido */
@media(max-width:900px){
  body.app-page .app-content{padding:28px 16px 50px!important}
  body.app-page .app-welcome{margin-bottom:21px!important}
  body.app-page .app-welcome h1{font-size:31px!important}
  body.app-page .app-welcome p{font-size:14px!important}
}
@media(max-width:700px){
  body.app-page .activity-toolbar,
  body.app-page .seq-panel,
  body.app-page .library-card,
  body.app-page .report-toolbar,
  body.app-page .account-card{border-radius:15px!important}
  body.app-page .activity-toolbar{padding:17px!important}
  body.app-page .seq-panel{padding:19px!important}
  body.app-page .report-sheet{border-radius:15px!important}
  body.app-page .account-title h2{font-size:20px!important}
}
@media(max-width:480px){
  body.app-page .app-content{padding-left:13px!important;padding-right:13px!important}
  body.app-page .app-welcome h1{font-size:28px!important}
  body.app-page .dash-kpis a{padding:15px!important}
}
