body:has(.ga-crm){margin:0!important;background:#f4f7fb}.ga-crm{--nav:#071a38;--nav2:#0b2854;--accent:#e9b827;--ink:#152238;--muted:#748198;min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:#f3f6fa;color:var(--ink);font-family:Inter,Arial,sans-serif}.ga-crm-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--nav),#041126);color:#fff;display:flex;flex-direction:column;z-index:50}.ga-crm-brand{min-height:90px;padding:20px 22px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #ffffff14;box-sizing:border-box}.ga-crm-brand .custom-logo{max-width:54px;max-height:54px;width:auto;height:auto}.ga-crm-brand .custom-logo-link{display:flex}.ga-crm-mark{width:46px;height:46px;border:2px solid var(--accent);border-radius:13px;display:grid;place-items:center;color:var(--accent);font:900 25px Georgia}.ga-crm-brand b{display:block;font-size:16px;letter-spacing:1px}.ga-crm-brand span{display:block;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:3px;margin-top:3px}.ga-crm-sidebar nav{padding:24px 14px;flex:1}.ga-crm-sidebar nav a{display:flex;align-items:center;gap:13px;color:#b9c5d8;text-decoration:none;padding:13px 15px;border-radius:9px;margin:4px 0;font-size:14px;font-weight:700;transition:.2s}.ga-crm-sidebar nav a i{font-style:normal;font-size:20px;width:25px;text-align:center}.ga-crm-sidebar nav a:hover,.ga-crm-sidebar nav a.active{background:#ffffff12;color:#fff}.ga-crm-sidebar nav a.active{box-shadow:inset 3px 0 var(--accent)}.ga-crm-user{display:grid;grid-template-columns:38px 1fr 25px;align-items:center;gap:10px;margin:14px;padding:16px 8px;border-top:1px solid #ffffff17}.ga-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#071a38;font-weight:900}.ga-crm-user b,.ga-crm-user span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.ga-crm-user b{font-size:12px}.ga-crm-user span{font-size:11px;color:#8fa1bc}.ga-crm-user>a{color:#fff;text-decoration:none;font-size:20px}.ga-crm-main{min-width:0}.ga-crm-top{height:70px;background:#fff;border-bottom:1px solid #e5eaf1;padding:0 34px;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}.ga-crm-top>div b,.ga-crm-top>div span{display:block}.ga-crm-top>div b{font-size:14px}.ga-crm-top>div span{font-size:12px;color:var(--muted);margin-top:2px}.ga-top-profile{color:#43516a;font-weight:700;text-decoration:none}.ga-menu-toggle{display:none;background:none;border:0;font-size:24px}.ga-crm-content{max-width:1400px;margin:auto;padding:36px}.ga-page-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px}.ga-page-title h1{font-size:29px;margin:4px 0 6px;color:#10203a}.ga-page-title p{margin:0;color:var(--muted)}.ga-eyebrow{font-size:11px;color:#8a6a08;font-weight:900;letter-spacing:1.5px}.ga-month-total{background:#fff;padding:14px 20px;border-radius:12px;border:1px solid #e4e9f0;text-align:right}.ga-month-total span,.ga-month-total b{display:block}.ga-month-total span{font-size:11px;color:var(--muted)}.ga-month-total b{font-size:21px;color:#137844;margin-top:3px}.ga-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.ga-metric{background:#fff;border:1px solid #e5eaf1;border-radius:13px;padding:20px;box-shadow:0 4px 15px #071a3808;position:relative;overflow:hidden}.ga-metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#2363b5}.ga-metric.green:before{background:#23a366}.ga-metric.red:before{background:#d44b53}.ga-metric.gold:before{background:#e9b827}.ga-metric span,.ga-metric small{display:block;color:var(--muted)}.ga-metric span{font-size:12px;font-weight:700}.ga-metric b{display:block;font-size:32px;margin:10px 0 6px;color:#17253b}.ga-metric small{font-size:11px}.ga-section-title{margin:34px 0 16px}.ga-section-title h2{margin:0;font-size:19px}.ga-section-title p{margin:4px 0;color:var(--muted);font-size:13px}.ga-panel-grid{grid-template-columns:repeat(3,1fr);gap:17px;margin:0}.ga-panel-card{border:1px solid #e3e8ef;border-top:1px solid #e3e8ef;min-height:190px;box-shadow:0 5px 18px #071a380a;transition:.2s}.ga-panel-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #071a3818}.ga-panel-card.primary{background:linear-gradient(140deg,#0a2d60,#071a38);border:0}.ga-panel-card.primary b,.ga-panel-card.primary span,.ga-panel-card.primary em{color:#fff}.ga-card-icon{width:42px;height:42px;border-radius:11px;background:#eaf1fb;color:#18549c!important;display:grid;place-items:center;font-size:24px;margin-bottom:18px}.ga-panel-card.primary .ga-card-icon{background:#e9b827;color:#071a38!important}.ga-panel-card em{font-style:normal;font-size:12px;color:#1e5caa;font-weight:800;margin-top:22px}.ga-crm-box,.ga-scanner-card{background:#fff;border:1px solid #e4e9f0;border-radius:14px;padding:22px;box-shadow:0 5px 18px #071a3809}.ga-scanner-card{max-width:620px;margin:0 auto 24px}.ga-scanner-card #ga-reader{max-width:500px;margin:auto;border:0!important}.ga-live{padding:8px 12px;background:#e9f8ef;color:#147544;border-radius:999px;font-size:12px;font-weight:800}.ga-live i{display:inline-block;width:7px;height:7px;background:#24a865;border-radius:50%;margin-right:7px}.ga-or{display:flex;align-items:center;gap:10px;color:#8a95a6;font-size:11px;margin:18px 0}.ga-or:before,.ga-or:after{content:"";height:1px;background:#e2e7ee;flex:1}.ga-crm .ga-card{box-shadow:0 5px 20px #071a3810}.ga-crm .ga-history-grid{margin-top:22px}.ga-crm .ga-actions{border:1px solid #e4e9f0;box-shadow:0 5px 18px #071a3809;border-radius:14px}.ga-crm .ga-table th{background:#f3f6fa;color:#34425a;border-bottom:1px solid #dfe5ed;font-size:12px}.ga-crm .ga-table td{font-size:13px}@media(max-width:1050px){.ga-metrics{grid-template-columns:repeat(2,1fr)}.ga-panel-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.ga-crm{display:block}.ga-crm-sidebar{position:fixed;left:-280px;width:260px;transition:.25s;box-shadow:10px 0 30px #0004}.ga-crm.menu-open .ga-crm-sidebar{left:0}.ga-menu-toggle{display:block}.ga-crm-top{padding:0 18px;justify-content:flex-start;gap:15px}.ga-top-profile{margin-left:auto}.ga-crm-content{padding:24px 16px}.ga-page-title{display:block}.ga-month-total{margin-top:15px;text-align:left}.ga-metrics{grid-template-columns:1fr 1fr;gap:10px}.ga-metric{padding:16px}.ga-metric b{font-size:25px}.ga-panel-grid{grid-template-columns:1fr}.ga-live{display:inline-block;margin-top:14px}}@media(max-width:430px){.ga-metrics{grid-template-columns:1fr}.ga-crm-top>div span{display:none}}

/* PIX copiável - v1.9.5 */
.ga-pix-copy-box{margin-top:12px;padding:10px 12px;background:rgba(255,255,255,.92);border:2px dashed #14a44d;border-radius:10px;color:#142018}
.ga-pix-copy-box>span{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:5px}
.ga-pix-copy-link{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;border:0;background:transparent;padding:4px 0;color:#087a37;font:inherit;font-size:16px;font-weight:900;text-decoration:underline;cursor:pointer;text-align:left;overflow-wrap:anywhere}
.ga-pix-copy-link small{flex:0 0 auto;font-size:10px;text-decoration:none;background:#087a37;color:#fff;padding:6px 8px;border-radius:6px}
@media(max-width:600px){.ga-pix-copy-link{display:block;font-size:18px}.ga-pix-copy-link small{display:block;width:max-content;margin-top:7px}}

/* Recursos acadêmicos e arquivos — v2.0.0 */
.ga-file-upload-form{display:grid;gap:14px}.ga-file-upload-form label span{display:block;font-weight:700;margin-bottom:6px}.ga-file-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ga-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:18px}.ga-file-card{border:1px solid #e4e4e8;border-radius:14px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:8px}.ga-file-card .ga-file-thumb,.ga-pdf-thumb{width:100%;height:130px;object-fit:cover;border-radius:10px;background:#f2f2f4}.ga-pdf-thumb{display:grid;place-items:center;font-size:34px;font-weight:900;color:#c32626}.ga-file-card small{color:#777;overflow-wrap:anywhere}.ga-file-card>div:last-child{display:flex;gap:10px;flex-wrap:wrap}.ga-file-card a{font-weight:700}.ga-calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.ga-day-card{border:1px solid #e4e4e8;border-radius:14px;background:#fff;padding:14px}.ga-day-card h3{margin:0 0 12px}.ga-class-item{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-top:1px solid #eee}.ga-class-item:first-of-type{border-top:0}.ga-class-item>b{font-size:13px}.ga-class-item>strong{font-size:16px}.ga-class-item>span,.ga-class-item>small{color:#666}.ga-big-progress{border-radius:16px;padding:18px;margin:12px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.ga-big-progress strong{font-size:34px}.ga-big-progress.approved{background:#e8f8ee;color:#087a37}.ga-big-progress.pending{background:#fff4da;color:#8a5a00}.ga-subject-progress{display:grid;grid-template-columns:minmax(160px,1fr) 2fr 55px;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #eee}.ga-subject-progress div{display:flex;flex-direction:column}.ga-subject-progress span{font-size:12px;color:#777}.ga-subject-progress progress{width:100%;height:14px}.ga-self-photo{width:140px;height:170px;object-fit:cover;border-radius:14px;display:block;margin-bottom:12px}.ga-field-edit-row{display:grid;grid-template-columns:2fr 1fr auto auto;gap:10px;align-items:center}.ga-field-edit-row input,.ga-field-edit-row select{width:100%}
@media(max-width:700px){.ga-subject-progress{grid-template-columns:1fr 55px}.ga-subject-progress>div{grid-column:1/-1}.ga-field-edit-row{grid-template-columns:1fr}.ga-file-actions>*{width:100%}}

/* v2.0.1 */
.ga-file-preview-link{display:block;text-decoration:none}
.ga-file-thumb{width:100%;height:150px;object-fit:cover;border-radius:10px;display:block;background:#eee}
.ga-pdf-thumb{height:150px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:38px;font-weight:900;background:#f4f4f4;color:#b3261e;border:1px solid #ddd}
.ga-pdf-thumb span{font-size:10px;margin-top:8px;color:#555}
.ga-class-date-row{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:18px;margin-bottom:12px}
.ga-class-date{display:flex;flex-direction:column}.ga-class-date strong{font-size:20px}.ga-class-date span{font-size:12px;opacity:.7}
.ga-access-choice .ga-button{display:block;margin-top:12px;text-align:center}
.ga-access-register{background:#fff!important;border:2px solid currentColor!important}
.ga-public-photo-box,.ga-public-documents{margin:18px 0;padding:16px;border:1px solid #ddd;border-radius:12px}
.ga-document-row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:8px;margin:8px 0;align-items:center}
.ga-remove-document{border:0;background:#a40000;color:#fff;padding:10px;border-radius:7px;cursor:pointer}
.ga-photo-locked{font-size:13px;opacity:.75}
@media(max-width:700px){.ga-class-date-row,.ga-document-row{grid-template-columns:1fr}.ga-file-thumb,.ga-pdf-thumb{height:190px}}

/* v2.0.2 - acesso/cadastro */
.ga-access-choice .ga-access-main{
 display:block!important;width:100%!important;box-sizing:border-box!important;
 margin:12px 0!important;padding:15px 16px!important;border-radius:10px!important;
 text-align:center!important;text-decoration:none!important;font-weight:900!important;
 opacity:1!important;visibility:visible!important;
}
.ga-access-choice .ga-access-login{background:#1565c0!important;color:#fff!important;border:2px solid #1565c0!important}
.ga-access-choice .ga-access-register{background:#d1a63d!important;color:#111!important;border:2px solid #d1a63d!important}
.ga-access-choice .ga-access-register:hover{background:#e0b94e!important;color:#111!important}
.ga-honeypot{position:absolute!important;left:-99999px!important;top:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* v2.0.3 */
.ga-upload-progress{margin-top:14px;padding:14px;border-radius:10px;background:#111;color:#fff}
.ga-upload-progress-title{font-weight:900;margin-bottom:8px}
.ga-upload-progress-track{height:12px;background:#333;border-radius:999px;overflow:hidden}
.ga-upload-progress-bar{height:100%;width:35%;background:#d1a63d;border-radius:999px;animation:gaSending 1.1s ease-in-out infinite alternate}
@keyframes gaSending{from{transform:translateX(-50%)}to{transform:translateX(210%)}}
.ga-upload-progress small{display:block;margin-top:8px;color:#ddd}
.ga-metric-link{text-decoration:none!important;color:inherit!important}
.ga-metric.pending{border:2px solid #d1a63d}
.ga-pending-card{border:2px solid #d1a63d!important}
.ga-selected-file-preview{display:flex;gap:12px;align-items:center;margin:14px 0;padding:12px;border:2px solid #d1a63d;border-radius:12px;background:#fff}
.ga-selected-file-preview[hidden]{display:none!important}
#ga-selected-file-thumb img{width:80px;height:80px;object-fit:cover;border-radius:8px}
.ga-pdf-mini{width:80px;height:80px;display:grid;place-items:center;border-radius:8px;background:#eee;font-weight:900;color:#b3261e}
.ga-selected-file-preview strong,.ga-selected-file-preview small{display:block}
.ga-save-file-button{margin-top:10px}

/* v2.0.4 - documentos na área do aluno */
.ga-student-documents{margin-top:18px}
.ga-student-file-actions{display:flex;gap:10px;flex-wrap:wrap}
.ga-student-file-actions a{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border-radius:8px;text-decoration:none;font-weight:800}
.ga-student-file-actions a:first-child{background:#111;color:#fff}
.ga-student-file-actions a:last-child{background:#d1a63d;color:#111}

/* v2.0.6 - e-mails */
.ga-email-system .ga-system-email{display:inline-block;padding:10px 14px;border-radius:8px;background:#f4f4f4;font-size:18px;font-weight:900;margin:6px 0}
.ga-email-form{display:grid;gap:14px}.ga-email-form label{display:grid;gap:7px;font-weight:700}
.ga-email-form input,.ga-email-form select,.ga-email-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #ccc;border-radius:8px;font:inherit}
.ga-email-privacy{font-size:13px;color:#666}

/* v2.0.7 - gerenciamento dos campos */
.ga-fields-table input[type="text"],.ga-fields-table input:not([type]){width:100%;min-width:180px;padding:9px;border:1px solid #ccc;border-radius:7px}
.ga-required-toggle{display:inline-flex!important;align-items:center!important;gap:7px!important;cursor:pointer!important;white-space:nowrap}
.ga-required-toggle input{width:18px!important;height:18px!important;margin:0!important}
.ga-field-edit-row{display:grid;grid-template-columns:minmax(180px,1fr) 150px 150px auto auto;align-items:center;gap:10px}
@media(max-width:800px){.ga-field-edit-row{grid-template-columns:1fr}.ga-fields-table{min-width:700px}}

/* v2.0.8 - ativar/desativar campos */
.ga-field-disabled{opacity:.55;background:#f5f5f5}
.ga-field-note{margin-top:12px;font-size:13px;color:#666}
.ga-field-status{display:inline-flex;padding:7px 9px;border-radius:999px;background:#eee;font-size:11px;font-weight:900}
.ga-toggle-field{display:inline-flex;padding:8px 10px;border-radius:7px;background:#555;color:#fff!important;text-decoration:none!important;font-weight:800}

/* v2.0.9 - abas Cadastro/CRM e Cadastro Público */
.ga-fields-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.ga-fields-tabs a{display:inline-flex;padding:11px 16px;border-radius:9px;background:#ececec;color:#222!important;text-decoration:none!important;font-weight:900;border:1px solid #d0d0d0}
.ga-fields-tabs a.active{background:#111;color:#fff!important;border-color:#111}
.ga-public-special-fields{display:grid;gap:10px;margin:18px 0;padding:15px;border:1px solid #ddd;border-radius:10px;background:#fafafa}
.ga-public-special-fields h3{margin:0 0 4px}
.ga-custom-tag{display:inline-block;margin-left:7px;padding:3px 6px;border-radius:5px;background:#eee;font-size:9px;font-weight:900;color:#555}

/* v2.0.11 - calendário do aluno por semanas */
.ga-calendar-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.ga-calendar-tab{border:1px solid #d5d5d5;background:#f2f2f2;color:#222;padding:10px 14px;border-radius:8px;font-weight:900;cursor:pointer}
.ga-calendar-tab.active{background:#111;color:#fff;border-color:#111}
.ga-calendar-panel{display:none}
.ga-calendar-panel.active{display:block}
.ga-current-week-label{margin:4px 0 14px;padding:10px 12px;border-radius:8px;background:#f6f6f6;font-weight:800}
.ga-calendar-week{margin:0 0 22px}
.ga-calendar-week-title{margin:0 0 10px;padding:10px 12px;border-left:4px solid #d1a63d;background:#f8f8f8;border-radius:6px}
.ga-calendar-empty{padding:18px;border:1px dashed #ccc;border-radius:9px;color:#666;background:#fafafa}
@media(max-width:700px){
 .ga-calendar-tabs{display:grid;grid-template-columns:1fr}
 .ga-calendar-tab{width:100%}
}

/* v2.0.13 - numeração automática de registro */
.ga-registration-number-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0}
.ga-registration-number-form label{display:grid;gap:6px;font-weight:800}
.ga-registration-number-form input{width:190px;padding:12px;border:1px solid #ccc;border-radius:8px;font-size:18px;font-weight:900}
.ga-registration-example{margin-top:18px;padding:16px;border:1px solid #ddd;border-radius:10px;background:#fafafa}
.ga-registration-example code{display:block;width:max-content;max-width:100%;margin:10px 0;padding:10px 14px;border-radius:8px;background:#111;color:#fff;font-size:20px;font-weight:900}
.ga-registration-rules{margin-top:14px;padding:12px 15px;border-left:4px solid #d1a63d;background:#fffdf7}
.ga-registration-rules p{margin:6px 0}

/* v2.0.16 - múltiplas modalidades */
.ga-multi-card-list{display:grid;gap:22px;margin:16px 0}
.ga-card-unit{padding:14px;border:1px solid #e2e2e2;border-radius:14px;background:#fafafa}
.ga-card-unit-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 10px}
.ga-card-unit-title strong{font-size:18px}.ga-card-unit-title span{font-size:13px;color:#666}
.ga-card-unit-download{margin-top:12px}
.ga-add-modality-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin:16px 0}
.ga-add-modality-form label{display:grid;gap:6px;font-weight:800}
.ga-add-modality-form input{width:100%;box-sizing:border-box;padding:11px;border:1px solid #ccc;border-radius:8px}
.ga-primary-modality{display:grid;gap:3px;padding:13px;border-left:4px solid #d1a63d;background:#fafafa;border-radius:7px}
.ga-primary-modality span{font-size:10px;font-weight:900;color:#777}.ga-primary-modality strong{font-size:18px}.ga-primary-modality em{font-style:normal;color:#555}
.ga-modalities-list{display:grid;gap:9px}
.ga-modality-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px;border:1px solid #ddd;border-radius:9px;background:#fff}
.ga-modality-row.pending{border-color:#d1a63d;background:#fffdf5}
.ga-modality-row>div:first-child{display:grid}.ga-modality-row span{font-size:12px;color:#666}
.ga-modality-status{font-weight:900!important;font-size:10px!important}
.ga-modality-actions{display:flex;gap:8px}
.ga-student-pending-modalities{margin-top:14px;padding:12px;border-radius:8px;background:#fff8df}
.ga-student-pending-modalities p{margin:6px 0}.ga-student-pending-modalities p span{font-size:10px;font-weight:900}
@media(max-width:700px){
 .ga-add-modality-form,.ga-modality-row{grid-template-columns:1fr}
 .ga-card-unit-title{display:grid}
}

/* v2.0.18 - alunos antigos */
.ga-legacy-form{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr auto;gap:10px;align-items:end}
.ga-legacy-form label{display:grid;gap:6px;font-weight:800}
.ga-legacy-form input{width:100%;box-sizing:border-box;padding:11px;border:1px solid #ccc;border-radius:8px}
.ga-legacy-linked,.ga-legacy-waiting,.ga-legacy-alert{display:inline-flex;width:max-content;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}
.ga-legacy-linked{background:#dff5e5;color:#12652a}
.ga-legacy-waiting{background:#f2f2f2;color:#555}
.ga-legacy-alert{display:block;margin:5px 0;background:#fff0bf;color:#705600;border:1px solid #e3c15b}
.ga-legacy-metric{border:2px solid #d1a63d!important}
.ga-crm-sidebar nav a[href*="alunos-antigos"] i{font-weight:900}
@media(max-width:900px){.ga-legacy-form{grid-template-columns:1fr 1fr}.ga-legacy-form .ga-button{grid-column:1/-1}}
@media(max-width:600px){.ga-legacy-form{grid-template-columns:1fr}}

/* v2.0.19 - certificados */
.ga-cert-template-meta,.ga-certificate-issue-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}
.ga-cert-template-meta label,.ga-certificate-issue-form label{display:grid;gap:6px;font-weight:800}
.ga-cert-template-meta input,.ga-certificate-issue-form input,.ga-certificate-issue-form select{width:100%;box-sizing:border-box;padding:10px;border:1px solid #ccc;border-radius:8px}
.ga-cert-position-table input[type=number]{width:85px;padding:7px}.ga-cert-position-table input[type=color]{width:48px;height:35px}
.ga-cert-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.ga-cert-template-card{border:1px solid #ddd;border-radius:10px;padding:10px;display:grid;gap:9px}.ga-cert-template-card img{width:100%;aspect-ratio:1.414/1;object-fit:cover;border-radius:7px}
.ga-cert-template-card>div{display:flex;gap:10px}
.ga-certificate-preview-wrap{max-width:1000px;margin:14px auto;overflow:auto}
.ga-certificate-render{position:relative;width:100%;background-size:100% 100%;background-repeat:no-repeat;background-position:center;background-color:#fff;overflow:hidden;box-shadow:0 5px 22px rgba(0,0,0,.1)}
.ga-certificate-field{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;font-family:Arial,sans-serif;font-weight:700;line-height:1.1;box-sizing:border-box;overflow:hidden}
.ga-cert-qrcode>div{width:100%;height:100%;display:grid;place-items:center}.ga-cert-qrcode canvas{max-width:100%;max-height:100%}
.ga-certificate-preview-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.ga-certificate-publish.published{background:#555!important;color:#fff!important}
.ga-cert-available,.ga-cert-hidden{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.ga-cert-available{background:#dff5e5;color:#12652a}.ga-cert-hidden{background:#eee;color:#555}
.ga-student-certificate-list{display:grid;gap:12px}.ga-student-certificate-item{border:1px solid #ddd;border-radius:10px;padding:12px}.ga-student-certificate-item summary{cursor:pointer;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}.ga-student-certificate-item summary div{display:grid}.ga-student-certificate-item summary span,.ga-student-certificate-item summary em{font-size:12px;color:#666;font-style:normal}
@media(max-width:800px){.ga-cert-template-meta,.ga-certificate-issue-form{grid-template-columns:1fr 1fr}.ga-student-certificate-item summary{grid-template-columns:1fr}}
@media(max-width:520px){.ga-cert-template-meta,.ga-certificate-issue-form{grid-template-columns:1fr}}

/* v2.0.20 - compartilhar cadastro */
.ga-share-registration-form{display:grid;gap:14px}
.ga-share-registration-form label{display:grid;gap:7px;font-weight:800}
.ga-share-registration-form textarea{width:100%;box-sizing:border-box;min-height:180px;padding:13px;border:1px solid #ccc;border-radius:9px;font:inherit;resize:vertical}
.ga-share-link-box{display:grid;gap:7px;padding:13px;border:1px solid #ddd;border-radius:9px;background:#fafafa}
.ga-share-link-box span{font-size:12px;color:#666}
.ga-share-link-box strong{overflow-wrap:anywhere}
.ga-share-preview{padding:16px;border:1px solid #ddd;border-radius:9px;background:#fafafa;white-space:normal;line-height:1.6;margin-bottom:14px}
.ga-whatsapp-share{background:#25d366!important;color:#fff!important}

/* v2.0.21 - menu lateral rolável no PC e celular */
.ga-crm{
  min-height:100vh;
}

.ga-crm-sidebar{
  height:100vh!important;
  max-height:100vh!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}

.ga-crm-sidebar .ga-crm-brand{
  flex:0 0 auto!important;
}

.ga-crm-sidebar nav{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:18px!important;
  scrollbar-width:thin;
}

.ga-crm-sidebar .ga-crm-user{
  flex:0 0 auto!important;
  position:sticky!important;
  bottom:0!important;
  z-index:5!important;
  background:inherit!important;
}

.ga-crm-sidebar nav::-webkit-scrollbar{
  width:7px;
}
.ga-crm-sidebar nav::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.22);
  border-radius:999px;
}
.ga-crm-sidebar nav::-webkit-scrollbar-track{
  background:transparent;
}

@media(max-width:900px){
  .ga-crm-sidebar{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    left:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
  }

  .ga-crm-sidebar nav{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:26px!important;
  }

  .ga-crm.menu-open .ga-crm-sidebar{
    display:flex!important;
  }
}

@supports not (height:100dvh){
  @media(max-width:900px){
    .ga-crm-sidebar{
      height:100vh!important;
      max-height:100vh!important;
    }
  }
}

/* v2.0.22 - recolher menu lateral no celular */
.ga-sidebar-close{
  display:none;
  position:absolute;
  top:10px;
  right:10px;
  width:36px;
  height:36px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  z-index:20;
}

@media(max-width:900px){
  .ga-crm-sidebar{
    transform:translateX(-102%)!important;
    transition:transform .22s ease!important;
    display:flex!important;
  }

  .ga-crm.menu-open .ga-crm-sidebar{
    transform:translateX(0)!important;
  }

  .ga-sidebar-close{
    display:flex!important;
    align-items:center;
    justify-content:center;
  }

  .ga-crm-main{
    width:100%!important;
    margin-left:0!important;
  }
}

/* v2.0.23 - foto pública: galeria ou câmera */
.ga-public-photo-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.ga-public-photo-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;padding:11px 14px;border-radius:9px;background:#111;color:#fff!important;font-weight:900;cursor:pointer}
.ga-public-camera-button{background:#d1a63d!important;color:#111!important}
.ga-public-photo-button input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.ga-public-photo-selected{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px;border:1px solid #ddd;border-radius:10px;background:#fafafa}
.ga-public-photo-selected[hidden]{display:none!important}
.ga-public-photo-selected img{width:72px;height:72px;object-fit:cover;border-radius:9px}
.ga-public-photo-selected strong,.ga-public-photo-selected small{display:block}
@media(max-width:600px){.ga-public-photo-actions{display:grid;grid-template-columns:1fr}.ga-public-photo-button{width:100%;box-sizing:border-box}}

/* v2.0.25 - autenticação própria do CRM */
.ga-crm-admin-login .ga-system-email{display:block;margin:10px 0 14px;padding:11px 12px;border-radius:8px;background:#f4f4f4;font-weight:900;overflow-wrap:anywhere}
.ga-admin-recovery{margin-top:18px;border-top:1px solid #ddd;padding-top:14px}
.ga-admin-recovery summary{cursor:pointer;font-weight:800}
.ga-admin-recovery form{margin-top:12px}
.ga-login-divider{display:flex;align-items:center;gap:10px;margin:22px 0 12px;color:#777;font-size:11px;font-weight:900}
.ga-login-divider:before,.ga-login-divider:after{content:"";height:1px;background:#ddd;flex:1}

/* v2.0.26 - acesso unificado em /acesso/cadastro/ */
.ga-access-choice .ga-access-main{
  display:grid!important;
  gap:3px;
  text-align:left;
}
.ga-access-choice .ga-access-main strong{
  font-size:15px;
  line-height:1.2;
}
.ga-access-choice .ga-access-main span{
  font-size:12px;
  opacity:.82;
}
.ga-access-admin{
  background:#111!important;
  color:#fff!important;
  border:2px solid #d1a63d!important;
}

/* v2.0.27 - login único para administrador e aluno */
.ga-access-choice .ga-access-admin{display:none!important}
.ga-crm-admin-login .ga-login-divider{display:none!important}

/* v2.0.40 - auditoria de tokens/QR */
.ga-token-code{display:inline-block;max-width:260px;overflow-wrap:anywhere;white-space:normal;font-size:11px}
.ga-token-ok,.ga-token-dup,.ga-token-missing{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}
.ga-token-ok{background:#dff5e5;color:#12652a}
.ga-token-dup{background:#fff0bf;color:#705600}
.ga-token-missing{background:#ffdede;color:#9b111e}
.ga-qr-audit-metrics{margin-bottom:18px}


/* v2.0.54 — mensalidades do aluno (12 meses) */
.ga-student-monthlies{margin:22px 0}
.ga-monthlies-details{background:#fff;border:1px solid #dce3ee;border-radius:18px;overflow:hidden;box-shadow:0 10px 26px rgba(8,31,62,.06)}
.ga-monthlies-details>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;list-style:none}
.ga-monthlies-details>summary::-webkit-details-marker{display:none}
.ga-monthlies-details>summary span{display:flex;flex-direction:column;gap:3px}
.ga-monthlies-details>summary b{font-size:20px}
.ga-monthlies-details>summary small{color:#6b778c}
.ga-monthlies-details>summary>strong{background:#071a38;color:#fff;padding:7px 12px;border-radius:999px;font-size:12px}
.ga-monthlies-content{padding:0 20px 20px}
.ga-student-pix{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;margin-bottom:16px;background:#f4f8ff;border:1px solid #d7e4f7;border-radius:14px}
.ga-student-pix>div{display:flex;flex-direction:column;gap:3px}
.ga-student-pix span{font-size:10px;font-weight:900;letter-spacing:.1em;color:#6c7890}
.ga-student-pix b{font-size:17px;word-break:break-all}
.ga-monthly-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ga-monthly-item{border:2px solid;border-radius:16px;overflow:hidden;background:#fff}
.ga-monthly-item.paid{border-color:#35a853;background:#f3fff6}
.ga-monthly-item.unpaid{border-color:#e54b4b;background:#fff6f6}
.ga-monthly-item.pending{border-color:#e5a82f;background:#fffaf0}
.ga-monthly-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px}
.ga-monthly-head>div{display:flex;flex-direction:column;gap:3px}
.ga-monthly-head strong{font-size:17px}
.ga-monthly-head span{font-size:12px;color:#657083}
.ga-monthly-state{font-size:10px;padding:6px 8px;border-radius:999px;white-space:nowrap}
.paid .ga-monthly-state{background:#d8f6df;color:#12692d}
.unpaid .ga-monthly-state{background:#ffdede;color:#9f1e1e}
.pending .ga-monthly-state{background:#ffedbd;color:#7e5b00}
.ga-monthly-body{padding:0 14px 14px}
.ga-monthly-body p{margin:5px 0}
.ga-monthly-total{font-size:16px}
.ga-copy-month-pix{width:100%;border:0;border-radius:10px;padding:10px 12px;margin:10px 0;background:#071a38;color:#fff;font-weight:900;cursor:pointer}
.ga-receipt-form{margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.08);display:grid;gap:8px}
.ga-receipt-form label{display:grid;gap:5px;font-size:12px;font-weight:800}
.ga-receipt-form input[type=file]{width:100%;padding:8px;background:#fff;border:1px solid #ccd5e2;border-radius:9px}
.ga-receipt-form small{font-size:11px;color:#69758a}
.ga-receipt-sent{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding:11px;border-radius:10px;background:#fff2ce}
.ga-receipt-sent strong{color:#765200}
.ga-receipt-approved,.ga-receipt-pending{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}
.ga-receipt-approved{background:#d8f6df;color:#12692d}
.ga-receipt-pending{background:#ffedbd;color:#7e5b00}
@media(max-width:760px){
  .ga-monthly-list{grid-template-columns:1fr}
  .ga-student-pix{align-items:stretch;flex-direction:column}
}


/* v2.0.55 — menus recolhíveis na área do aluno */
.ga-student-history-folders{display:grid;gap:12px;margin:18px 0}
.ga-student-collapsible{background:#fff;border:1px solid #dce3ee;border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(8,31,62,.05)}
.ga-student-collapsible>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px}
.ga-student-collapsible>summary::-webkit-details-marker{display:none}
.ga-student-collapsible>summary span{display:flex;flex-direction:column;gap:3px}
.ga-student-collapsible>summary b{font-size:17px}
.ga-student-collapsible>summary small{font-size:11px;color:#738096}
.ga-student-collapsible>summary>strong{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 9px;border-radius:999px;background:#071a38;color:#fff;font-size:11px}
.ga-student-collapsible-content{padding:0 16px 16px}
.ga-student-collapsible[open]>summary{border-bottom:1px solid #edf1f6;margin-bottom:14px}
.ga-monthlies-details:not([open]) .ga-monthlies-content{display:none}


/* v2.0.56 — mensalidades mais intuitivas + pagamentos em verde */
.ga-monthlies-details>summary{
  background:linear-gradient(135deg,#071a38,#123668);
  color:#fff;
  border:2px solid #f0c419;
  box-shadow:0 10px 24px rgba(7,26,56,.16);
  transition:transform .15s ease, box-shadow .15s ease;
}
.ga-monthlies-details>summary:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(7,26,56,.22);
}
.ga-monthlies-details>summary span b{
  font-size:21px;
  color:#fff;
}
.ga-monthlies-details>summary span small{
  color:#ffd84f!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.04em;
}
.ga-monthlies-details>summary .ga-open-monthlies{
  background:#f0c419!important;
  color:#071a38!important;
  border-radius:10px!important;
  padding:9px 12px!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap;
}
.ga-monthlies-details[open]>summary .ga-open-monthlies{
  font-size:0!important;
}
.ga-monthlies-details[open]>summary .ga-open-monthlies:after{
  content:'FECHAR ▲';
  font-size:11px!important;
}
.ga-payment-paid-row td{
  background:#eefaf1!important;
}
.ga-payment-paid-row td:first-child{
  border-left:4px solid #2fa84f;
}
.ga-payment-paid-row td,
.ga-payment-paid-row td b{
  color:#17642c;
}


/* v2.0.62 — visualizar modo aluno */
.ga-student-preview-picker{display:grid;gap:18px}
.ga-preview-student-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.ga-preview-student-form label{display:grid;gap:6px;min-width:min(520px,100%);flex:1}
.ga-preview-student-form label span{font-size:11px;font-weight:900;letter-spacing:.05em;color:#66748a}
.ga-preview-student-form select{width:100%;min-height:44px;border:1px solid #cfd8e5;border-radius:10px;padding:0 12px;background:#fff}
.ga-preview-ready{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid #d8e2ef;border-radius:16px;background:#f7faff}
.ga-preview-ready>div{display:flex;flex-direction:column;gap:4px}
.ga-preview-ready span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#6c7890}
.ga-preview-ready strong{font-size:20px;color:#071a38}
.ga-student-preview-banner{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:-4px 0 18px;padding:12px 16px;border:2px solid #f0c419;border-radius:12px;background:#071a38;color:#fff;box-shadow:0 8px 22px rgba(7,26,56,.2)}
.ga-student-preview-banner>div{display:flex;flex-direction:column;gap:2px}
.ga-student-preview-banner b{font-size:11px;color:#ffd84f;letter-spacing:.08em}
.ga-student-preview-banner span{font-size:16px;font-weight:800}
.ga-student-preview-banner a{display:inline-flex;padding:9px 12px;border-radius:9px;background:#f0c419;color:#071a38;text-decoration:none;font-weight:900;white-space:nowrap}
@media(max-width:700px){
  .ga-preview-ready,.ga-student-preview-banner{align-items:stretch;flex-direction:column}
  .ga-student-preview-banner a,.ga-preview-ready .ga-button{justify-content:center;text-align:center}
}
