/* Shared reading system. Loaded last on every page; printed exams keep their print layout. */
@media screen {
 :root { --font:Arial,Helvetica,sans-serif; --mono:Arial,Helvetica,sans-serif; }
 body { font-family:Arial,Helvetica,sans-serif; font-size:18px; line-height:1.65; }
 body :is(h1,h2,h3,h4,p,a,span,strong,small,label,button,input,textarea,select,dt,dd,th,td,summary,li) { font-family:Arial,Helvetica,sans-serif!important; }
 body :is(h1,h2,h3,h4) { line-height:1.2; letter-spacing:-.025em; }
 body h1 { font-size:42px; font-weight:700; }
 body h2 { font-size:30px; font-weight:700; }
 body h3 { font-size:23px; font-weight:600; }
 body p { line-height:1.7; }
 body :is(.muted,.lead,.section-description,.product-lead,.hint) { color:#50574e; }
 body :is(.btn,.btn.small,.btn.lg,.nav a:not(.btn),.nav button.link,button.link) { font-size:16px; }
 body .btn { min-height:48px; padding:12px 20px; border-radius:6px; line-height:1.45; }
 body :is(input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],select,textarea) { font-size:18px; min-height:52px; line-height:1.5; }
 body label { font-size:17px; }
 body .hint { font-size:15px; }
 body :is(.eyebrow,.product-label,.workspace-label) { font-size:16px; line-height:1.5; letter-spacing:0; font-weight:600; text-transform:none; color:#50574e; }
 body .topbar .container { min-height:80px; height:auto; padding-block:15px; }
 body :is(.site-footer,.site-footer .container,.site-footer nav,.auth-foot) { font-size:16px; }
 body .section { padding-block:64px; }
 body :is(.section-head h2,.product-section-head h2,.academic-heading h2) { font-size:38px; line-height:1.2; font-weight:700; }
 body :is(.section-head .lead,.product-section-head>p:last-child:not(.product-label),.academic-heading>p) { font-size:18px; line-height:1.7; }
 /* Home: readable product examples instead of miniature interface drawings. */
 .product-home .academic-intro { grid-template-columns:1.1fr 1fr; gap:60px; align-items:center; }
 .product-home .academic-intro .product-label { font-size:16px; color:#4d5845; margin-bottom:18px; }
 .product-home .academic-intro h1 { font-size:clamp(40px,4vw,58px); font-weight:700; line-height:1.12; letter-spacing:-.035em; }
 .product-home .academic-intro h1 span { color:#414b39; }
 .product-home .academic-pitch p { font-size:18px; line-height:1.7; color:#454b41; }
 .product-home .academic-pitch>.btn { font-size:17px; min-height:50px; }
 .product-home .academic-pitch>span { font-size:16px; color:#555c50; margin-top:14px; }
 .product-home .course-selector { gap:32px; padding-block:6px; }
 .product-home .course-selector-label { font-size:16px; color:#525b49; letter-spacing:0; }
 .product-home .course-buttons { flex-wrap:wrap; justify-content:flex-start; gap:8px 25px; }
 .product-home .course-buttons button { font-size:20px; font-weight:600; letter-spacing:0; padding:15px 0; color:#51584b; }
 .product-home .course-buttons button[aria-pressed=true] { color:#20251b; }
 .product-home .academic-workspace { grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr); }
 .product-home .material-context { padding:30px; }
 .product-home :is(.workspace-caption,.demo-app-name) { font-size:16px; letter-spacing:0; font-weight:600; color:#313b28; }
 .product-home .context-file strong { font-size:17px; overflow-wrap:anywhere; }
 .product-home .context-file span { font-size:15px; line-height:1.5; }
 .product-home .material-context dl>div { font-size:16px; padding-block:16px; }
 .product-home .context-note { font-size:22px; letter-spacing:0; }
 .product-home .context-flow { font-size:15px; gap:8px; flex-wrap:wrap; }
 .product-home .demo-top { padding:18px 24px; flex-wrap:wrap; }
 .product-home .example-label { font-size:14px; color:#59604f; }
 .product-home .demo-tabs button { font-size:17px; padding:15px 8px; justify-content:center; }
 .product-home .demo-panel { min-height:0; padding:28px; }
 .product-home .demo-panel h2 { font-size:28px; }
 .product-home .demo-overline { font-size:15px; letter-spacing:0; color:#535d49; line-height:1.5; }
 .product-home .demo-question { font-size:20px; line-height:1.6; margin:20px 0; }
 .product-home .demo-answers { grid-template-columns:1fr; gap:10px; }
 .product-home .demo-answers label { font-size:18px; padding:14px; gap:14px; }
 .product-home .answer-letter { font-size:15px; width:30px; height:30px; flex:none; }
 .product-home .demo-next { font-size:16px; min-height:50px; padding:14px; }
 .product-home .demo-foot { font-size:15px; line-height:1.6; padding:17px 24px; }
 .product-home .demo-dot { display:none; }
 .product-home :is(.source-file strong,.demo-panel blockquote,.demo-settings dd,.demo-verdict,.explanation p) { font-size:17px; line-height:1.7; }
 .product-home :is(.source-file div>span,.source-file>span,.demo-settings dt,.explanation>span) { font-size:14px; letter-spacing:0; }
 .product-home .demo-settings { flex-wrap:wrap; gap:20px; }
 .product-home .output-strip strong { font-size:18px; }.product-home .output-strip span { font-size:16px; }
 .product-home :is(.workflow h3,.course-grid h3,.delivery-copy h3,.use-case-grid h3) { font-size:26px; font-weight:600; line-height:1.3; }
 .product-home :is(.workflow p,.course-grid p,.delivery-copy p,.use-case-grid p,.home-faq .faq p) { font-size:18px; line-height:1.75; color:#4e5548; }
 .product-home :is(.course-note,.level-note,.use-case-grid a,.use-case-grid article>span,.workflow-detail span,.delivery-number) { font-size:16px; line-height:1.6; letter-spacing:0; }
 .product-home .workflow-detail { gap:10px; }.product-home .workflow-detail span { padding:7px 10px; }
 .product-home .deliverable-grid { gap:40px; }
 .product-home :is(.print-brand,.print-brand span,.student-line,.print-preview-bottom,.correction-preview-head>span) { font-size:14px; line-height:1.5; }
 .product-home .print-brand,.product-home .print-preview-bottom { flex-wrap:wrap; }
 .product-home .print-preview h4 { font-size:24px; line-height:1.4; font-weight:600; }
 .product-home :is(.print-preview>p,.correction-preview-head,.result-score p,.review-comment) { font-size:17px; line-height:1.65; }
 .product-home .result-score p>span { font-size:15px; }
 .product-home .review-row { font-size:15px; padding-block:16px; flex-wrap:wrap; }
 .product-home .home-faq .faq summary { font-size:18px; line-height:1.5; font-weight:600; }
 .product-home .product-cta h2 { font-size:38px; font-weight:700; }.product-home .product-cta p:last-child { font-size:18px; }
 .product-home .product-cta .product-label { color:#dbe3cf; font-size:16px; }
 /* Pricing: three legible columns, never five compressed columns. */
 body .pricing { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; border:0; background:none; }
 body .price-card { border:1px solid var(--line); padding:28px; border-radius:8px; }
 body .price-card:last-child { border-right:1px solid var(--line); }
 body .price-card h3 { font:600 28px/1.3 Arial,Helvetica,sans-serif; }
 body .price-card .for { font-size:18px; line-height:1.65; min-height:0; }
 body .price { font-size:44px; font-weight:700; letter-spacing:-1px; }.price small { font-size:17px!important; }
 body .quota { font:600 17px/1.5 Arial,Helvetica,sans-serif; }
 body .price-card .checks li { font-size:17px; line-height:1.6; }
 body .price-card .btn { font-size:16px; }.ribbon { font:600 14px/1.5 Arial,Helvetica,sans-serif!important; }
 body .compare th,body .compare td { font-size:16px; padding:18px; text-transform:none; letter-spacing:0; }
 body .step-card::before { display:none; }
 body .step-card h3 { font-size:24px; }.step-card p { font-size:18px!important; }
 body .guarantee p { font-size:18px; }
 body .faq summary { font-size:18px; font-weight:600; }.faq details p { font-size:18px; }
 body .auth-story h2 { font-size:48px; line-height:1.2; letter-spacing:-1px; font-weight:700; }
 body .auth-story p { font-size:18px; }.auth-index { display:none!important; }
 body .auth-card h1 { font-size:32px; font-weight:700; }.auth-card>.center { font-size:18px!important; }
 body .summary h1 { font:700 40px/1.2 Arial,Helvetica,sans-serif; letter-spacing:-1px; }
 body :is(.summary-list li,.summary-list li.quota,.summary-price small,.plan-switch,.secure,.payer,.fine,.waiting,.step-head .link) { font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.7; letter-spacing:0; text-transform:none; }
 body .method { font-size:18px; }.method small { font:15px/1.5 Arial,Helvetica,sans-serif!important; }
 body .pix-side textarea { font:16px/1.6 Arial,Helvetica,sans-serif; }
 body #step-done h2 { font:700 32px/1.25 Arial,Helvetica,sans-serif; }.pay { min-width:0; }
 /* Dashboard and administration use the same readable scale. */
 .user-app :is(.workspace-label,#role-line,.dashboard-metrics .muted,.section-description,.exam-search label,.list-item .meta,.library-heading>span,.hint) { font-size:16px; line-height:1.6; }
 .user-app .list-item strong { font-size:18px; }.user-app .card h2 { font-size:26px; }
 .user-app :is(.choice span,.choice span small,.wizard-steps li) { font-size:16px; }.user-app .choice span { line-height:1.5; }
 .user-app #usage-line { font-size:17px; }.user-app .workspace-nav a { font-size:17px; }
 .admin-page :is(.eyebrow,.admin-label,.metric-foot,.crm-update,.insight-note,.records-note,.attention-row p,.distribution-row,.distribution-row strong,.records-heading>span,.grant-caption) { font-size:16px; line-height:1.6; }
 .admin-page :is(.metric-top,.attention-row h3,.side-link,.sidebar-foot a) { font-size:17px; }
 .admin-page .insight-heading>span { display:none; }
 .admin-page .insight-heading h2 { font-size:24px; }
 .admin-page .distribution-row { grid-template-columns:100px 1fr 90px; }
 .admin-page :is(th,td) { font-size:16px; }.admin-page .tag { font-size:14px; }
 .admin-page td .btn { font-size:15px; min-height:46px; }
 @media(max-width:1000px) {
  .product-home .academic-intro { gap:30px; }.product-home .academic-workspace { grid-template-columns:1fr; }
  .product-home .material-context { display:none; }.product-home .product-demo { max-width:none; }
  .product-home .deliverable-grid { grid-template-columns:1fr; }.product-home .print-preview,.product-home .correction-preview { max-width:none; }
  body .pricing { grid-template-columns:repeat(2,minmax(0,1fr)); }
 }
 @media(max-width:760px) {
  body .topbar .container { min-height:76px; }.product-home .academic-intro { grid-template-columns:1fr; }
  .product-home .course-selector { display:block; }.product-home .course-selector-label { display:block; padding-top:12px; }
  .product-home .course-buttons { gap:0 24px; }.product-home .course-buttons button { font-size:19px; }
  .product-home .workflow { grid-template-columns:1fr; gap:24px; }.product-home .workflow article+article { padding-left:0; border-left:0; border-top:1px solid var(--line); }
  .product-home .use-case-grid,.product-home .home-faq { grid-template-columns:1fr; }
 }
 @media(max-width:640px) {
  body { font-size:18px; }.product-home .site-nav,.site-nav { top:76px; }
  body .auth-wrap { grid-template-columns:minmax(0,1fr); }
  body .auth-story,body .auth-card { min-width:0; max-width:100%; }
  body .auth-story h2 { font-size:36px; overflow-wrap:anywhere; }
  body .auth-card h1 { font-size:28px; }
  body :is(.section-head h2,.product-section-head h2,.academic-heading h2) { font-size:30px; }
  .product-home .academic-intro .product-label { font-size:15px; }
  .product-home .academic-intro h1 { font-size:clamp(33px,8.8vw,46px); line-height:1.12; }
  .product-home .academic-pitch p { font-size:18px; }.product-home .academic-pitch>span { font-size:15px; }
  .product-home .course-selector-label { font-size:15px; }.product-home .course-buttons button { font-size:18px; }
  .product-home .academic-pitch { margin-bottom:28px; }
  .product-home .demo-top { padding:18px; }.product-home .demo-app-name { font-size:16px; }
  .product-home .demo-panel { padding:22px 18px; }.product-home .demo-panel h2 { font-size:26px; }
  .product-home .demo-question { font-size:19px; }.product-home .demo-tabs button { font-size:16px; padding-inline:4px; }
  .product-home .demo-answers label { font-size:17px; }.product-home .demo-foot { padding:16px 18px; }
  .product-home .course-grid { grid-template-columns:1fr; }.product-home .course-grid article { padding:24px 0; }
  .product-home .product-cta h2 { font-size:31px; }
  body .pricing { grid-template-columns:1fr; }.price-card .checks { display:block!important; }
  body .price-card { padding:26px; }.product-home .review-row { font-size:15px; }
  .user-app .wizard-steps li { flex-direction:column; align-items:flex-start; gap:8px; font-size:15px; }
  .user-app .choices { grid-template-columns:1fr; }.user-app #wizard .choices:has(input[name=difficulty]) { grid-template-columns:repeat(3,1fr); }
  .user-app .nav .badge { font-size:14px; }.user-app .workspace-nav { gap:20px; }.user-app .workspace-nav a { font-size:16px; }
  .admin-page .distribution-row { grid-template-columns:90px 1fr 75px; gap:8px; font-size:15px; }.admin-page .distribution-row strong { font-size:14px; }
  .admin-page tbody td,.admin-page tbody td[data-label]::before { font-size:16px; }
  .admin-page tbody td { flex-wrap:wrap; text-align:left; }.admin-page .metric-value { font-size:38px; }
  .admin-page .attention-row { flex-wrap:wrap; }.admin-page .attention-row>div { flex:1; min-width:130px; }
  .admin-page .crm-heading-actions { flex-wrap:wrap; }.admin-page .crm-heading-actions>span { font-size:15px; }
 }
}

/* Ajustes finais de layout */
@media screen {
 /* Planos: 5 cartões em 3 colunas sem buraco na segunda linha (2 cartões centralizados) */
 @media(min-width:1101px) {
  body .pricing { display:flex; flex-wrap:wrap; justify-content:center; }
  body .pricing > .price-card { flex:0 1 calc((100% - 40px) / 3); }
 }
 @media(min-width:761px) and (max-width:1100px) {
  body .pricing { display:flex; flex-wrap:wrap; justify-content:center; }
  body .pricing > .price-card { flex:0 1 calc((100% - 20px) / 2); }
 }
 /* Painel: a coluna de ações fixa cobria Cadastro e Status; esconde colunas secundárias e aperta as células */
 @media(min-width:601px) and (max-width:1600px) {
  .admin-page [data-panel=clients] :is(th,td):nth-child(7),
  .admin-page [data-panel=purchases] :is(th,td):nth-child(5) { display:none; }
  .admin-page :is(th,td) { padding-inline:12px; }
 }
}
