.cfe-front,.cfe-login-shell{--cfe:#243449;--cfe2:#182434;--accent:#b28a4b;--bg:#f5f6f8;--line:#e2e6ea;--muted:#667085;--white:#fff;font-family:inherit;color:#202938}
.cfe-front{background:var(--bg);border-radius:18px;overflow:hidden;box-shadow:0 16px 45px rgba(15,23,42,.08);margin:24px 0}
.cfe-front-head{background:linear-gradient(135deg,var(--cfe2),var(--cfe));color:#fff;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px}.cfe-front-head h1{color:#fff;margin:3px 0 4px;font-size:32px}.cfe-front-head p{margin:0;color:#d6dde6}.cfe-front-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.6px;color:var(--accent)}
.cfe-logout{color:#fff!important;border:1px solid rgba(255,255,255,.35);padding:9px 16px;border-radius:999px;text-decoration:none!important}.cfe-logout:hover{background:#fff;color:var(--cfe)!important}
.cfe-front-nav{display:flex;gap:4px;background:#fff;border-bottom:1px solid var(--line);padding:0 22px;overflow:auto}.cfe-front-nav a{white-space:nowrap;padding:16px 14px;color:#4a5565!important;text-decoration:none!important;border-bottom:3px solid transparent;font-weight:600}.cfe-front-nav a.active{color:var(--cfe)!important;border-bottom-color:var(--accent)}
.cfe-front-main{padding:28px}.cfe-front-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.cfe-front-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 5px 18px rgba(15,23,42,.04)}.cfe-front-card h2,.cfe-front-card h3{color:var(--cfe);margin-top:0}.cfe-card-year{float:right;background:#f0ede7;color:#806330;padding:4px 8px;border-radius:999px;font-size:12px}.cfe-subject{font-weight:700;color:#556070}.cfe-card-stats{display:flex;gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:14px 0}.cfe-card-stats span{font-size:12px;color:var(--muted)}.cfe-card-stats strong{display:block;font-size:18px;color:var(--cfe)}
.cfe-primary{display:inline-block;background:var(--cfe)!important;color:#fff!important;border:0!important;border-radius:8px;padding:11px 17px;text-decoration:none!important;font-weight:700;cursor:pointer;box-shadow:none!important}.cfe-primary:hover{background:var(--cfe2)!important;color:#fff!important;transform:translateY(-1px)}
.cfe-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.cfe-section-title h2{margin:0 0 4px;color:var(--cfe)}.cfe-section-title p{margin:0;color:var(--muted)}.cfe-block{margin-top:18px}.cfe-empty{padding:22px;border:1px dashed #cfd6de;border-radius:10px;color:var(--muted);background:#fbfcfd}
.cfe-pair-picker{background:#fff;border:1px solid var(--line);padding:14px 18px;border-radius:12px}.cfe-pair-picker label{display:flex;gap:12px;align-items:center;font-weight:700}.cfe-pair-picker select{min-width:320px;max-width:100%}
.cfe-front input,.cfe-front select,.cfe-front textarea,.cfe-login-card input{border:1px solid #cfd6de!important;border-radius:8px!important;padding:9px 11px!important;background:#fff!important;box-sizing:border-box}.cfe-front input:focus,.cfe-front select:focus,.cfe-front textarea:focus,.cfe-login-card input:focus{border-color:var(--accent)!important;outline:none!important;box-shadow:0 0 0 3px rgba(178,138,75,.13)!important}.cfe-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:16px}.cfe-form-grid label{font-weight:700;color:#3c4655}.cfe-form-grid input,.cfe-form-grid select,.cfe-form-grid textarea{display:block;width:100%;margin-top:6px}.cfe-form-grid textarea{min-height:100px}.cfe-checks{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 18px}.cfe-checks label{background:#f6f7f9;border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.cfe-table-scroll{overflow:auto;margin:12px 0 16px;border:1px solid var(--line);border-radius:10px}.cfe-table{width:100%;border-collapse:collapse;background:#fff;min-width:620px}.cfe-table th,.cfe-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.cfe-table thead th{position:sticky;top:0;background:#f6f7f9;color:#3b4654;font-size:12px;text-transform:uppercase;letter-spacing:.3px}.cfe-table tbody th{min-width:190px}.cfe-table td select{padding:5px!important;min-width:52px}.cfe-score{width:80px!important}.cfe-table small{display:block;color:var(--muted)}
.cfe-lesson-list{margin-top:18px;border-top:1px solid var(--line)}.cfe-lesson-list>div{padding:12px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:110px 1fr;gap:8px}.cfe-lesson-list small{grid-column:2;color:var(--muted)}
.cfe-student-buttons{display:flex;flex-wrap:wrap;gap:8px}.cfe-student-btn{background:#fff;border:1px solid #cfd6de;border-radius:999px;padding:8px 12px;cursor:pointer}.cfe-student-btn:hover,.cfe-student-btn.active{background:var(--cfe);color:#fff;border-color:var(--cfe)}#cfe-front-student-panel{margin-top:18px}.cfe-kpis{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin:16px 0}.cfe-kpis>div{background:#f7f8fa;border:1px solid var(--line);border-radius:10px;padding:14px}.cfe-kpis strong{display:block;font-size:24px;color:var(--cfe)}.cfe-kpis span{font-size:12px;color:var(--muted)}
.cfe-front-alert{margin:16px 28px 0;padding:12px 15px;border-radius:9px;background:#eef7ee;border:1px solid #cde5cd;color:#315b31}.cfe-front-error{background:#fff1f1;border-color:#f0caca;color:#8b3030}
.cfe-login-shell{display:flex;justify-content:center;padding:50px 16px}.cfe-login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:0 20px 55px rgba(15,23,42,.12)}.cfe-login-card h2{font-size:30px;color:var(--cfe);margin:5px 0 8px}.cfe-login-card>p{color:var(--muted)}.cfe-login-card label{display:block;font-weight:700;color:#3b4654;margin-bottom:5px}.cfe-login-card input[type=text],.cfe-login-card input[type=password]{width:100%;margin-bottom:14px}.cfe-login-card .login-remember label{font-weight:400}.cfe-login-card input[type=submit]{width:100%;background:var(--cfe)!important;color:#fff!important;font-weight:800;border:0!important;padding:12px!important;cursor:pointer}.cfe-login-help{text-align:center;margin-bottom:0!important}.cfe-login-help a{color:var(--cfe)!important}
@media(max-width:700px){.cfe-front-main{padding:16px}.cfe-front-head{padding:22px 18px}.cfe-front-head h1{font-size:25px}.cfe-front-nav{padding:0 8px}.cfe-pair-picker label{display:block}.cfe-pair-picker select{width:100%;min-width:0;margin-top:7px}.cfe-kpis{grid-template-columns:repeat(2,1fr)}.cfe-lesson-list>div{grid-template-columns:1fr}.cfe-lesson-list small{grid-column:1}.cfe-login-card{padding:24px}}


/* v1.2.8 - seleção de escola mais visual e com alto contraste */
.cfe-school-select{max-width:1120px;margin:42px auto;padding:30px 18px 44px}
.cfe-school-select>.cfe-front-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:900;letter-spacing:1.8px;color:#a87931!important}
.cfe-school-select>.cfe-front-eyebrow:before{content:"";width:28px;height:2px;border-radius:999px;background:#b28a4b}
.cfe-school-select h2{margin:4px 0 10px!important;color:#172536!important;font-size:clamp(30px,4vw,46px)!important;line-height:1.08!important;letter-spacing:-1.1px!important;max-width:860px}
.cfe-school-select>p{margin:0;color:#596779!important;font-size:17px;line-height:1.55}
.cfe-school-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
.cfe-school-grid form{margin:0!important;min-width:0}
.cfe-school-card{position:relative;isolation:isolate;display:flex!important;flex-direction:column;justify-content:flex-start;width:100%!important;min-height:238px;text-align:left!important;border:0!important;border-radius:26px!important;padding:26px 28px 24px!important;cursor:pointer;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease!important;box-shadow:0 18px 45px rgba(19,33,50,.13)!important;font-family:inherit!important}
.cfe-school-card:before{content:"";position:absolute;z-index:-1;right:-45px;top:-70px;width:210px;height:210px;border-radius:50%;background:rgba(255,255,255,.08)}
.cfe-school-card:after{content:"";position:absolute;z-index:-1;right:22px;bottom:18px;width:92px;height:92px;border:1px solid rgba(255,255,255,.14);border-radius:28px;transform:rotate(18deg)}
.cfe-school-card-navy{background:linear-gradient(140deg,#142235 0%,#213b58 58%,#31536f 100%)!important;color:#fff!important}
.cfe-school-card-gold{background:linear-gradient(140deg,#8e662e 0%,#b48849 52%,#cfaa68 100%)!important;color:#fff!important}
.cfe-school-card:hover,.cfe-school-card:focus-visible{transform:translateY(-6px)!important;box-shadow:0 26px 56px rgba(19,33,50,.22)!important;outline:none!important}
.cfe-school-card:focus-visible{box-shadow:0 0 0 4px #fff,0 0 0 7px #b28a4b,0 26px 56px rgba(19,33,50,.22)!important}
.cfe-school-card-top{display:flex!important;justify-content:space-between;align-items:center;width:100%;margin:0 0 28px!important}
.cfe-school-number{display:inline-flex!important;width:auto!important;margin:0!important;padding:6px 10px!important;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.10);color:#fff!important;font-size:10px!important;font-weight:900!important;letter-spacing:1.5px!important;line-height:1!important}
.cfe-school-arrow{display:grid!important;place-items:center;width:42px!important;height:42px!important;margin:0!important;border-radius:50%;background:#fff!important;color:#18283b!important;font-size:22px!important;font-weight:400!important;line-height:1!important;transition:transform .25s ease}
.cfe-school-card:hover .cfe-school-arrow{transform:translateX(4px) rotate(-7deg)}
.cfe-school-card-name{display:block!important;max-width:88%;margin:0 0 8px!important;color:#fff!important;font-size:clamp(22px,2.25vw,30px)!important;font-weight:850!important;line-height:1.08!important;letter-spacing:-.45px!important;text-transform:none!important;text-shadow:0 1px 1px rgba(0,0,0,.08)}
.cfe-school-city{display:block!important;margin:0 0 26px!important;color:rgba(255,255,255,.82)!important;font-size:13px!important;font-weight:700!important;letter-spacing:.9px!important;text-transform:uppercase!important}
.cfe-school-enter{display:inline-flex!important;align-items:center;gap:8px;width:max-content;margin-top:auto!important;padding-top:18px!important;border-top:1px solid rgba(255,255,255,.18);color:#fff!important;font-size:13px!important;font-weight:850!important;letter-spacing:.15px!important}
.cfe-school-card *{pointer-events:none}
.cfe-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cfe-switch-school{display:inline-block;text-decoration:none;padding:10px 14px;border-radius:10px;background:#fff;border:1px solid rgba(255,255,255,.45)}
.cfe-current-school{margin-top:8px!important}.cfe-current-school strong{font-size:1.05rem}
@media(max-width:760px){.cfe-school-select{padding:22px 8px 34px;margin:18px auto}.cfe-school-select h2{font-size:32px!important}.cfe-school-select>p{font-size:15px}.cfe-school-grid{grid-template-columns:1fr;gap:16px;margin-top:24px}.cfe-school-card{min-height:210px;padding:22px!important;border-radius:20px!important}.cfe-school-card-name{font-size:24px!important;max-width:92%}.cfe-head-actions{width:100%;margin-top:12px}}

/* Períodos letivos */
.cfe-period-picker{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:16px 0;padding:14px 16px}
.cfe-period-picker a{display:inline-block;padding:8px 12px;border-radius:999px;text-decoration:none;border:1px solid #d7dce3;background:#fff}
.cfe-period-picker a.active{font-weight:700;background:#202a44;color:#fff;border-color:#202a44}

/* v1.1.9 - Relatórios em folha única */
.cfe-report-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:16px}.cfe-report-controls label{font-weight:700;color:#3c4655}.cfe-report-controls select{display:block;min-width:220px;margin-top:5px}.cfe-report-actions{display:flex;align-items:center;gap:12px;margin:14px 0}.cfe-report-actions span{font-size:12px;color:var(--muted)}
.cfe-print-report{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:12px;color:#111}.cfe-report-heading{display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid #222;padding-bottom:8px;margin-bottom:7px}.cfe-report-heading>div:first-child strong,.cfe-report-heading>div:first-child span{display:block}.cfe-report-heading>div:first-child strong{font-size:17px}.cfe-report-heading>div:first-child span{font-size:13px;font-weight:700;margin-top:2px}.cfe-report-meta{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;font-size:11px}.cfe-report-note{font-size:10px;margin:5px 0 7px}.cfe-report-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px}.cfe-report-table th,.cfe-report-table td{border:1px solid #777;padding:3px 4px;text-align:center;vertical-align:middle;line-height:1.15;overflow-wrap:anywhere}.cfe-report-table th{background:#f0f0f0;font-weight:700}.cfe-report-table .cfe-name-col{text-align:left;width:20%;font-weight:700}.cfe-grade-report th:not(.cfe-name-col){width:auto}.cfe-grade-report th span,.cfe-grade-report th small{display:block}.cfe-result{font-weight:800}.cfe-attendance-report .cfe-name-col{width:22%}.cfe-attendance-report th:not(.cfe-name-col),.cfe-attendance-report td:not(.cfe-name-col){padding-left:2px;padding-right:2px}.cfe-mark{font-weight:800}.cfe-absence-summary{margin-top:7px}.cfe-absence-summary h3{font-size:11px;margin:0 0 4px}.cfe-absence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px 8px}.cfe-absence-grid>div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dotted #aaa;padding:1px 2px;font-size:9px}.cfe-report-footer{text-align:right;font-size:8px;margin-top:5px;color:#555}.cfe-report-dense .cfe-report-table{font-size:8px}.cfe-report-dense .cfe-report-table th,.cfe-report-dense .cfe-report-table td{padding:2px}.cfe-report-dense .cfe-report-heading>div:first-child strong{font-size:14px}.cfe-report-dense .cfe-report-heading>div:first-child span{font-size:11px}.cfe-report-dense .cfe-report-meta,.cfe-report-dense .cfe-report-note{font-size:8px}.cfe-report-dense .cfe-absence-grid>div{font-size:7px}.cfe-report-ultradense .cfe-report-table{font-size:6px}.cfe-report-ultradense .cfe-report-table th,.cfe-report-ultradense .cfe-report-table td{padding:1px}.cfe-report-ultradense .cfe-attendance-report .cfe-name-col{width:18%}.cfe-report-ultradense .cfe-absence-grid{grid-template-columns:repeat(4,1fr)}

@media print{
  @page{size:A4 landscape;margin:5mm}
  html,body{margin:0!important;padding:0!important;background:#fff!important}
  body *{visibility:hidden!important}
  .cfe-print-report,.cfe-print-report *{visibility:visible!important}
  .cfe-print-report{position:absolute!important;left:0!important;top:0!important;width:287mm!important;max-width:287mm!important;height:auto!important;max-height:200mm!important;margin:0!important;padding:2.5mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;box-sizing:border-box!important;page-break-before:avoid!important;page-break-after:avoid!important;page-break-inside:avoid!important}
  .cfe-no-print,.cfe-front-head,.cfe-front-nav{display:none!important}
  .cfe-report-heading{margin-bottom:1.5mm;padding-bottom:1.2mm}.cfe-report-table{font-size:7pt}.cfe-report-table th,.cfe-report-table td{padding:1.2mm 1mm;line-height:1.05}.cfe-report-note{font-size:6.5pt;margin:1mm 0}.cfe-report-footer{font-size:5.5pt;margin-top:1mm}.cfe-absence-summary{margin-top:1.2mm}.cfe-absence-summary h3{font-size:6.5pt;margin-bottom:.7mm}.cfe-absence-grid>div{font-size:5.8pt;padding:.3mm .5mm}
  .cfe-report-dense .cfe-report-table{font-size:5.8pt}.cfe-report-dense .cfe-report-table th,.cfe-report-dense .cfe-report-table td{padding:.65mm .5mm}.cfe-report-dense .cfe-report-heading>div:first-child strong{font-size:9pt}.cfe-report-dense .cfe-report-heading>div:first-child span{font-size:7pt}.cfe-report-dense .cfe-report-meta,.cfe-report-dense .cfe-report-note{font-size:5.6pt}.cfe-report-dense .cfe-absence-grid>div{font-size:5pt}
  .cfe-report-ultradense .cfe-report-table{font-size:4.5pt}.cfe-report-ultradense .cfe-report-table th,.cfe-report-ultradense .cfe-report-table td{padding:.35mm .25mm}.cfe-report-ultradense .cfe-report-heading{margin-bottom:.7mm;padding-bottom:.7mm}.cfe-report-ultradense .cfe-report-note{font-size:4.8pt}.cfe-report-ultradense .cfe-absence-grid>div{font-size:4.3pt}
}


/* v1.2.2 — portal independente do painel e do tema do WordPress */
body.escola-ems-standalone{margin:0!important;min-height:100vh;background:#eef2f6!important;color:#1f2937!important;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important}
body.escola-ems-standalone #wpadminbar{display:none!important}
body.escola-ems-standalone{padding-top:0!important}
.ems-system-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at top right,rgba(178,138,75,.12),transparent 26%),linear-gradient(180deg,#f8fafc 0,#eef2f6 100%)}
.ems-system-brand{height:72px;display:flex;align-items:center;gap:12px;padding:0 32px;background:#fff;border-bottom:1px solid #e5e9ef;box-shadow:0 2px 12px rgba(15,23,42,.035);box-sizing:border-box}
.ems-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#182434,#33465f);color:#fff;font-weight:900;letter-spacing:.5px;box-shadow:0 8px 18px rgba(24,36,52,.18)}
.ems-system-brand>span:last-child{display:flex;flex-direction:column;line-height:1.1}.ems-system-brand strong{font-size:17px;color:#182434}.ems-system-brand small{margin-top:4px;color:#7a8492;font-size:11px;text-transform:uppercase;letter-spacing:.8px}
.ems-system-content{width:min(1440px,calc(100% - 36px));margin:0 auto;flex:1}.ems-system-footer{text-align:center;color:#7b8491;font-size:12px;padding:18px 16px 26px}
.escola-ems-standalone .cfe-front{margin:26px 0 8px;border-radius:20px;box-shadow:0 20px 60px rgba(15,23,42,.09)}
.escola-ems-standalone .cfe-front-head{padding:30px 34px;background:linear-gradient(130deg,#142132 0%,#263c56 65%,#334c67 100%)}
.escola-ems-standalone .cfe-front-nav{position:sticky;top:0;z-index:20;box-shadow:0 5px 18px rgba(15,23,42,.04)}
.escola-ems-standalone .cfe-front-main{min-height:520px;padding:30px}
.escola-ems-standalone .cfe-login-shell{min-height:calc(100vh - 170px);align-items:center;padding:36px 16px;box-sizing:border-box}
.escola-ems-standalone .cfe-login-card{border:0;width:min(460px,100%);padding:38px;border-radius:24px;box-shadow:0 28px 80px rgba(15,23,42,.14)}
.cfe-login-logo{margin-bottom:14px}.cfe-login-logo span{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:linear-gradient(135deg,#182434,#3a506b);color:#fff;font-weight:900;font-size:18px;box-shadow:0 12px 26px rgba(24,36,52,.2)}
.cfe-login-form{margin-top:24px}.cfe-login-form label{display:block;font-weight:750;color:#344054;margin:0 0 7px}.cfe-login-form input[type=text],.cfe-login-form input[type=password]{display:block;width:100%;height:46px;margin:0 0 16px;padding:10px 12px!important;border:1px solid #d0d7e0!important;border-radius:10px!important;background:#fff!important;box-sizing:border-box}.cfe-login-form input:focus{border-color:#b28a4b!important;box-shadow:0 0 0 3px rgba(178,138,75,.14)!important;outline:0}
.cfe-login-form .cfe-remember{display:flex;align-items:center;gap:8px;font-weight:500;font-size:13px;margin:2px 0 18px}.cfe-login-form .cfe-remember input{margin:0!important}.cfe-login-submit{width:100%;height:48px;border:0;border-radius:11px;background:linear-gradient(135deg,#182434,#2d425b);color:#fff;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 10px 24px rgba(24,36,52,.18);transition:.2s}.cfe-login-submit:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(24,36,52,.24)}
.cfe-login-security{text-align:center;font-size:11px;color:#98a2b3!important;margin:15px 0 0!important}
@media(max-width:700px){.ems-system-brand{height:62px;padding:0 16px}.ems-system-content{width:min(100% - 18px,1440px)}.ems-brand-mark{width:36px;height:36px;border-radius:10px}.escola-ems-standalone .cfe-front{margin-top:12px;border-radius:14px}.escola-ems-standalone .cfe-front-main{padding:16px}.escola-ems-standalone .cfe-login-shell{min-height:calc(100vh - 130px);padding:22px 5px}.escola-ems-standalone .cfe-login-card{padding:26px 22px;border-radius:18px}}

/* v1.2.9 - Gestão de alunos no portal */
.cfe-student-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0}
.cfe-mini-form{display:grid;grid-template-columns:90px minmax(220px,1fr) auto;gap:12px;align-items:end}
.cfe-mini-form label,.cfe-file-field{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#22344a}
.cfe-mini-form input,.cfe-file-field input,.cfe-row-form input{border:1px solid #cad4df;border-radius:10px;background:#fff;color:#16283e;padding:11px 12px;box-sizing:border-box}
.cfe-file-field{margin:12px 0}
.cfe-inline-actions{display:flex;gap:10px;align-items:center;margin-top:16px}
.cfe-secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c9d3df;background:#fff;color:#22344a;border-radius:10px;padding:9px 13px;text-decoration:none;font-weight:700;cursor:pointer}
.cfe-row-form{display:inline-flex;gap:7px;align-items:center;flex-wrap:wrap;margin:3px 5px 3px 0}
.cfe-row-form input[name="roll_number"]{width:70px}.cfe-row-form input[name="name"]{min-width:210px}
@media(max-width:850px){.cfe-student-admin-grid{grid-template-columns:1fr}.cfe-mini-form{grid-template-columns:1fr}.cfe-row-form{display:flex}.cfe-row-form input[name="name"]{min-width:160px;flex:1}}

/* v1.3.0 - auditoria de fechamento do período */
.cfe-audit-block{border:1px solid #f3b6b6!important;background:#fff8f8!important}
.cfe-audit-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:14px}
.cfe-audit-head>div{display:flex;flex-direction:column;gap:3px}.cfe-audit-head strong{font-size:18px;color:#991b1b}.cfe-audit-head span{color:#6b7280}.cfe-audit-head b{display:grid;place-items:center;min-width:42px;height:42px;border-radius:999px;background:#b91c1c;color:#fff;font-size:18px}
.cfe-audit-list{display:grid;gap:8px}.cfe-audit-list a{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:11px 12px;border-radius:12px;background:#fff;border:1px solid #f1d3d3;text-decoration:none!important;color:#26364a!important}.cfe-audit-list a:hover{border-color:#b88a3b;transform:translateY(-1px)}.cfe-audit-icon{width:25px;height:25px;border-radius:50%;background:#fee2e2;color:#991b1b;display:grid;place-items:center;font-weight:800}.cfe-audit-list a strong{color:#9a6b1f;white-space:nowrap}.cfe-audit-ok{margin:14px 0;padding:13px 16px;border-radius:12px;background:#ecfdf5;border:1px solid #a7f3d0;color:#166534}.cfe-focus-day{background:#fff3c4!important;box-shadow:inset 0 -3px 0 #d09a31}
@media(max-width:720px){.cfe-audit-list a{grid-template-columns:28px 1fr}.cfe-audit-list a strong{grid-column:2}.cfe-audit-head{align-items:flex-start}}

/* PautaEdu 1.3.3 - rolagem dupla sincronizada no diario */
.cfe-scroll-pair{margin:12px 0 16px}
.cfe-scroll-pair .cfe-table-scroll{margin:0;border-radius:0 0 10px 10px}
.cfe-table-scroll-top{overflow-x:auto;overflow-y:hidden;height:18px;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;background:#f6f7f9}
.cfe-table-scroll-top>div{height:1px}
.cfe-attendance-table thead th:first-child,.cfe-attendance-table tbody th:first-child{position:sticky;left:0;z-index:3;background:#fff;box-shadow:1px 0 0 var(--line)}
.cfe-attendance-table thead th:first-child{z-index:5;background:#f6f7f9}
@media (max-width:700px){.cfe-table-scroll-top{height:22px}}


/* PautaEdu 1.3.6 - destaque visual da frequência */
.cfe-attendance-select{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;font-weight:700}
.cfe-attendance-select.cfe-attendance-F{background:#fff0f1!important;border-color:#efadb3!important;color:#9f1239!important;box-shadow:0 0 0 1px rgba(190,24,93,.04)}
.cfe-attendance-select.cfe-attendance-J{background:#fff8dc!important;border-color:#e6ca72!important;color:#785b00!important}
.cfe-attendance-select.cfe-attendance-P{background:#fff!important;color:inherit}
.cfe-attendance-select.cfe-attendance-F:focus{outline:2px solid rgba(225,29,72,.18)!important;outline-offset:1px}
.cfe-attendance-select.cfe-attendance-J:focus{outline:2px solid rgba(202,138,4,.18)!important;outline-offset:1px}

/* v1.3.7 - ações de conteúdo */
.cfe-lesson-actions{display:flex;gap:8px;align-items:center;margin-top:8px}.cfe-lesson-actions form{margin:0}.cfe-secondary,.cfe-danger{display:inline-block;padding:7px 12px;border-radius:7px;text-decoration:none;font-weight:700;border:1px solid #cbd5e1;background:#fff;color:#334155}.cfe-danger{border-color:#fecaca;background:#fff1f2;color:#b91c1c;cursor:pointer}.cfe-content-editor .cfe-secondary{margin-left:8px}

/* PautaEdu 1.3.8 - boletim compacto e totais por período */
.cfe-grade-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.cfe-grade-heading h3{margin:0}.cfe-grade-target{font-size:14px;color:#55657a;background:#f5f7fa;border:1px solid #dde3ea;border-radius:999px;padding:7px 12px}.cfe-grade-warning{margin:12px 0;padding:10px 12px;border-radius:10px;background:#fff7df;border:1px solid #ecd28c;color:#75570a}.cfe-grade-note{font-size:13px;color:#667085;margin:10px 0}.cfe-grades-table{width:max-content;min-width:100%;table-layout:auto}.cfe-grades-table th:first-child,.cfe-grades-table td:first-child{min-width:260px}.cfe-grades-table thead th:not(:first-child){width:112px;min-width:112px;max-width:128px;padding:10px 8px;white-space:normal;overflow-wrap:anywhere}.cfe-grades-table tbody td{width:112px;min-width:112px;max-width:128px;padding:8px}.cfe-grades-table .cfe-score{width:72px!important;min-width:72px!important;max-width:72px!important;padding:8px 7px!important;text-align:center}.cfe-grades-table .cfe-total-col{min-width:78px!important;width:78px!important;max-width:78px!important;text-align:center;background:#f8fafc}.cfe-grades-table small{display:block;margin-top:4px;color:#667085;font-size:11px}@media(max-width:700px){.cfe-grades-table th:first-child,.cfe-grades-table td:first-child{min-width:180px}.cfe-grades-table thead th:not(:first-child),.cfe-grades-table tbody td{min-width:96px;width:96px}.cfe-grades-table .cfe-score{width:64px!important;min-width:64px!important}}
