:root{--red: #c0392b;--red-dark: #96281b;--primary: #2980b9;--blue-light: #3498db;--green: #27ae60;--orange: #e67e22;--gray-50: #f8f9fa;--gray-100: #f1f3f5;--gray-200: #e9ecef;--gray-300: #dee2e6;--gray-400: #ced4da;--gray-500: #adb5bd;--gray-600: #6c757d;--gray-700: #495057;--gray-800: #343a40;--text: #212529;--border: #dee2e6;--white: #ffffff;--surface: #ffffff;--text-primary: #212529;--text-secondary: #6c757d;--shadow: 0 1px 3px rgba(0,0,0,.12);--shadow-lg: 0 4px 20px rgba(0,0,0,.15)}[data-theme=dark]{--text: #e9ecef;--white: #1e1e2e;--border: #495057;--surface: #252535;--text-primary: #e9ecef;--text-secondary: #a0a0c0;--gray-50: #2a2a3c;--gray-100: #2e2e42;--gray-200: #383850;--gray-300: #424260;--gray-400: #6c7086;--gray-500: #8a8aa8;--gray-600: #a0a0c0;--gray-700: #cdd6f4;--gray-800: #e0e0fa;--shadow: 0 1px 3px rgba(0,0,0,.4);--shadow-lg: 0 4px 20px rgba(0,0,0,.5);--primary: #74b0e8;--blue-light: #89bfed;--red: #e06c75;--red-dark: #c04f58;--green: #4ec38a}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;color:var(--text);background:var(--gray-100);display:flex;flex-direction:column}#dash-shell{display:flex;flex-direction:column;height:100%}#dash-header{background:#e30613;color:#fff;display:flex;align-items:stretch;flex-shrink:0}#dash-logo{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-right:1px solid rgba(255,255,255,.2)}#dash-logo img{height:62px;width:auto;object-fit:contain}#dash-header-right{display:flex;align-items:center;flex:1;padding:0 16px;gap:14px}#dash-title-block{display:flex;flex-direction:column;justify-content:center;gap:5px}#dash-title{font-size:24px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;line-height:1;color:#fff}.dash-sync-row{display:flex;align-items:center;gap:10px}.dash-spacer{flex:1}.dash-sync-badge{display:flex;flex-direction:column;justify-content:center;gap:2px;font-size:11px;color:#ffffffa6;white-space:nowrap}.dash-sync-line{display:flex;align-items:center;gap:5px}.dash-sync-icon{color:#ffffff73;flex-shrink:0}.dash-sync-label{font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.3px}.dash-sync-item{color:#fffc}.dash-sync-sep{color:#ffffff59}.dash-sync-flash{color:#7ee2a8;font-weight:600}.dash-sync-refresh{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.35);border-radius:6px;background:#ffffff26;color:#fff;cursor:pointer;flex-shrink:0;transition:background .12s}.dash-sync-refresh:hover:not(:disabled){background:#ffffff47}.dash-sync-refresh:disabled{opacity:.55;cursor:default}.dash-sync-refresh .spinning{animation:spin .9s linear infinite;transform-origin:50% 50%}.dash-sync-cd{font-size:12px;font-weight:700}.dash-export-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:500;border:1px solid var(--border);border-radius:5px;background:var(--white);color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s}.dash-export-btn:hover{background:var(--gray-100);color:var(--gray-800)}#dash-nav{background:var(--white);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:4px;flex-shrink:0}.dash-nav-btn{background:none;border:none;border-bottom:3px solid transparent;padding:10px 14px;font-size:13px;font-weight:600;color:var(--gray-600);cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.dash-nav-btn:hover{color:var(--gray-800)}.dash-nav-btn.active{color:var(--primary);border-bottom-color:var(--primary)}#dash-content{flex:1;overflow:hidden;min-height:0}.kpi-row{display:flex;gap:16px;flex-wrap:wrap}.kpi-card{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:16px 22px;min-width:160px;flex:1;box-shadow:var(--shadow)}.kpi-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);margin-bottom:6px}.kpi-value{font-size:28px;font-weight:700;color:var(--primary);line-height:1}.kpi-sub{font-size:11px;color:var(--gray-500);margin-top:4px}.dash-panel{background:var(--white);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.dash-panel-header{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--border);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-700)}.dash-panel-body{padding:16px 18px;overflow-x:auto}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:5px;min-width:160px;flex:1;max-width:280px}.filter-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--gray-500)}.filter-select{height:34px;border:1px solid var(--border);border-radius:5px;padding:0 10px;font-size:13px;color:var(--text);background:var(--white);outline:none;transition:border-color .15s;cursor:pointer}.filter-select:focus{border-color:var(--primary)}.filter-select:disabled{opacity:.5;cursor:default}.heatmap-wrap{overflow-x:auto}.heatmap-table{border-collapse:collapse;font-size:12px;min-width:100%}.heatmap-table th{padding:6px 10px;text-align:right;font-weight:600;color:var(--gray-600);border-bottom:2px solid var(--border);white-space:nowrap}.heatmap-table th.school-col{text-align:left;min-width:180px}.heatmap-table td{padding:5px 10px;text-align:right;border-bottom:1px solid var(--gray-200);white-space:nowrap}.heatmap-table td.school-name{text-align:left;color:var(--gray-800);font-weight:500;max-width:220px;overflow:hidden;text-overflow:ellipsis}.heatmap-cell{display:inline-block;min-width:36px;padding:2px 6px;border-radius:3px;font-weight:600;text-align:center}.heatmap-table tr:hover td{background:var(--gray-50)}.rank-table{border-collapse:collapse;width:100%;font-size:12px}.rank-table th{padding:6px 12px;text-align:left;font-weight:600;color:var(--gray-600);border-bottom:2px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.rank-table th:not(:first-child){text-align:right}.rank-table th:hover{color:var(--primary)}.rank-table th .sort-icon{margin-left:4px;opacity:.5}.rank-table th.sorted .sort-icon{opacity:1}.rank-table td{padding:6px 12px;border-bottom:1px solid var(--gray-200)}.rank-table td:not(:first-child){text-align:right}.rank-table tr:hover td{background:var(--gray-50)}.dash-empty{text-align:center;padding:48px 20px;color:var(--gray-500);font-size:13px}.dash-empty-icon{font-size:36px;margin-bottom:12px}.dash-loading{display:flex;align-items:center;justify-content:center;padding:48px;gap:10px;color:var(--gray-500)}.spinner{width:18px;height:18px;border:2px solid var(--gray-300);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.recharts-text{fill:var(--gray-600);font-size:11px}.recharts-cartesian-axis-tick-value{fill:var(--gray-600)}.recharts-tooltip-wrapper{font-size:12px}.prof-layout{display:grid;grid-template-columns:220px 1fr 200px;height:100%;overflow:hidden}.prof-sidebar{overflow-y:auto;border-right:1px solid var(--border);padding:12px 10px;display:flex;flex-direction:column;gap:6px}.prof-center{overflow:hidden;min-height:0;padding:14px 16px;display:flex;flex-direction:column;gap:14px}.prof-bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;flex:1;min-height:0;overflow:hidden}.prof-bottom-row .dash-panel{display:flex;flex-direction:column;min-height:0}.prof-bottom-row .dash-panel .dash-panel-body{flex:1;overflow:hidden;padding:0}.prof-bottom-row .dash-panel .dash-panel-body>div{height:100%;overflow:auto}.prof-right{overflow-y:auto;border-left:1px solid var(--border);padding:12px 10px;display:flex;flex-direction:column;gap:6px}.prof-sidebar-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);margin-bottom:2px;margin-top:4px}.prof-sidebar-divider{border:none;border-top:1px solid var(--border);margin:10px 0}.prof-search-input{border:1px solid var(--border);border-radius:5px;padding:5px 8px;font-size:12px;color:var(--text);background:var(--white);outline:none;width:100%;transition:border-color .15s}.prof-search-input:focus{border-color:var(--primary)}.checklist-select-all{margin:2px 0;display:flex;gap:10px}.checklist-all-btn{background:none;border:none;color:var(--primary);font-size:11px;cursor:pointer;padding:0}.checklist-all-btn:hover{text-decoration:underline}.checklist-list{display:flex;flex-direction:column;gap:1px;overflow-y:auto;flex:1}.checklist-row{display:flex;align-items:center;gap:6px;padding:3px 2px;font-size:11px;cursor:pointer;border-radius:3px}.checklist-row:hover{background:var(--gray-50)}.checklist-row input[type=checkbox]{flex-shrink:0;cursor:pointer}.checklist-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checklist-badge{flex-shrink:0;font-size:10px;font-weight:600;color:var(--gray-500)}.checklist-empty{font-size:11px;color:var(--gray-500);padding:4px 2px}.kpi-primary{margin-bottom:12px}.kpi-primary-top{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.kpi-primary-value{font-size:36px;font-weight:700;color:var(--gray-800);line-height:1;letter-spacing:-.5px}.kpi-primary-label{font-size:10px;color:var(--gray-500);margin-top:3px;text-transform:uppercase;letter-spacing:.3px}.kpi-sec{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:3px 0}.kpi-sec-value{font-size:18px;font-weight:700;color:var(--gray-800);line-height:1}.kpi-sec-label{font-size:10px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;text-align:right}.kpi-big-sub{font-size:10px;color:var(--gray-500);margin-top:2px}.kpi-delta{font-size:11px;font-weight:600;padding:1px 5px;border-radius:3px;line-height:1.4}.kpi-delta.up{color:#1a7f37;background:#d1f7dc}.kpi-delta.down{color:#b91c1c;background:#fee2e2}.kpi-delta.flat{color:var(--gray-500);background:var(--gray-100)}.msd-wrap{display:flex;flex-direction:column}.msd-disabled{opacity:.45;pointer-events:none}.msd-btn{display:flex;align-items:center;gap:4px;width:100%;background:var(--gray-100);border:1px solid var(--border);border-radius:5px;padding:5px 8px;font-size:11px;color:var(--text);cursor:pointer;text-align:left;transition:border-color .15s}.msd-btn:hover,.msd-btn.open{border-color:var(--primary)}.msd-btn:disabled{cursor:default}.msd-label{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msd-count{font-size:10px;color:var(--gray-500);white-space:nowrap}.msd-count.active{color:var(--primary);font-weight:600}.msd-chevron{font-size:9px;color:var(--gray-500);flex-shrink:0}.msd-panel{background:var(--white);border:1px solid var(--border);border-top:none;border-radius:0 0 5px 5px;padding:6px 6px 4px;display:flex;flex-direction:column;gap:3px}.teip-row{margin:2px 0}#dash-subnav,.dash-subnav-bar{background:var(--gray-50);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 12px;gap:4px;overflow-x:auto;flex-shrink:0}.dash-subnav-secondary{background:var(--surface, #fff)}.analytics-daterange-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--surface, #fff);flex-shrink:0}.analytics-daterange-custom{display:inline-flex;align-items:center;gap:6px;margin-left:4px}.hm-grid{display:grid;gap:2px;flex:1;min-height:0}.hm-hourlabel{font-size:9px;color:var(--gray-500);text-align:center;align-self:end}.hm-total-lbl{font-weight:600;color:var(--gray-600)}.hm-daylabel{font-size:11px;color:var(--gray-600);display:flex;align-items:center;justify-content:flex-end;padding-right:6px}.hm-cell{border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:9px;min-height:12px;overflow:hidden}.hm-rowtotal{display:flex;align-items:center;justify-content:flex-end;padding-left:6px;font-size:11px;font-weight:600;color:var(--gray-700);font-variant-numeric:tabular-nums}.hm-legend{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11px;color:var(--gray-600);flex-shrink:0}.hm-legend-bar{width:120px;height:10px;border-radius:3px;border:1px solid var(--border)}.hm-legend-note{margin-left:auto;color:var(--gray-500)}.analytics-daterange-custom input[type=date]{font-size:12px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;background:var(--surface, #fff)}.analytics-session-list{display:flex;flex-direction:column}.analytics-session{border-bottom:1px solid var(--border)}.analytics-session-hdr{width:100%;display:flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;text-align:left;padding:8px 12px;font-size:12px;color:var(--gray-700)}.analytics-session-hdr:hover{background:var(--gray-50)}.analytics-session.open .analytics-session-hdr{background:var(--gray-50);font-weight:600}.analytics-session-when{min-width:200px;font-weight:600;color:var(--gray-800)}.analytics-session-meta{color:var(--gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-session-stat{margin-left:auto;white-space:nowrap;color:var(--gray-700)}.analytics-session-caret{color:var(--gray-500)}.analytics-profile-btn{flex-shrink:0;background:none;border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:11px;cursor:pointer;color:var(--primary);white-space:nowrap}.analytics-profile-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.analytics-timeline{list-style:none;margin:0;padding:4px 12px 10px 24px;border-left:2px solid var(--border)}.analytics-timeline-item{display:flex;align-items:baseline;gap:10px;padding:3px 0;font-size:12px}.analytics-timeline-time{min-width:64px;color:var(--gray-500);font-variant-numeric:tabular-nums}.analytics-timeline-page{flex:1;min-width:0;display:flex;flex-direction:column}.analytics-timeline-title{color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-timeline-url{color:var(--gray-500);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-timeline-dur{color:var(--primary);white-space:nowrap;font-variant-numeric:tabular-nums}.analytics-timeline-empty{color:var(--gray-500);font-size:12px;padding:4px 0}.dash-subnav-btn{background:none;border:none;border-bottom:2px solid transparent;padding:6px 12px;font-size:12px;cursor:pointer;color:var(--gray-600);white-space:nowrap;flex-shrink:0}.dash-subnav-btn:hover{color:var(--gray-800)}.dash-subnav-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.estat-shell{display:flex;flex-direction:column;height:100%;overflow:hidden}.estat-filter-bar{display:flex;flex-direction:row;align-items:flex-end;gap:16px;padding:10px 16px;background:var(--white);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.estat-filter-group{display:flex;flex-direction:column;gap:3px}.preinsc-alerta-pill{flex-direction:row;align-items:center;gap:6px;margin-left:auto;align-self:center;padding:4px 10px;border-radius:12px;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;font-size:12px;font-weight:600;white-space:nowrap;cursor:help}.preinsc-alerta-sep{opacity:.5}.preinsc-alerta-count{font-variant-numeric:tabular-nums;font-weight:700}.estat-programa-toggle{display:flex;flex-direction:row;height:34px;border:1px solid var(--gray-300);border-radius:4px;overflow:hidden}.estat-programa-btn{display:inline-flex;align-items:center;background:none;border:none;padding:0 14px;font-size:13px;cursor:pointer;color:var(--gray-600);border-right:1px solid var(--gray-300)}.estat-programa-btn:last-child{border-right:none}.estat-programa-btn:hover{background:var(--gray-50)}.estat-programa-btn.active{background:var(--primary);color:#fff;font-weight:600}.estat-page-content{flex:1;overflow-y:auto;min-height:0}.dash-page{display:flex;flex-direction:column;gap:12px;padding:12px 16px;height:100%;min-height:0;box-sizing:border-box;overflow:hidden}.dash-page.scroll{height:auto;min-height:100%;overflow-y:auto}.dash-fill{flex:1 1 0;min-height:0;display:flex;gap:12px}.dash-fill.col{flex-direction:column}.dash-grid.rows-2{grid-template-rows:1fr 1fr}.dash-grid{flex:1 1 0;min-height:0;display:grid;gap:12px}.dash-card{flex:1 1 0;min-height:160px;min-width:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.dash-card.auto{flex:0 0 auto;min-height:0}.dash-card.bounded{flex:0 1 auto;max-height:340px}.dash-card.capped{max-height:var(--dash-card-cap, 360px)}.dash-card-head{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.4px}.dash-export-btn{margin-left:auto;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;font:inherit;font-size:10px;font-weight:600;letter-spacing:.3px;color:var(--text-secondary);background:var(--bg, transparent);border:1px solid var(--border);border-radius:5px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.dash-export-btn:hover:not(:disabled){color:#166534;border-color:#16a34a;background:#16a34a14}.dash-export-btn:disabled{opacity:.4;cursor:default}.dash-export-btn svg{display:block}.dash-export-btn-label{line-height:1}.dash-export-spinner{display:inline-block;width:11px;height:11px;border:2px solid var(--border);border-top-color:#16a34a;border-radius:50%;animation:dash-export-spin .6s linear infinite}@keyframes dash-export-spin{to{transform:rotate(360deg)}}.dash-card-scroll{flex:1;overflow-y:auto;min-height:0}.dash-card-pad{padding:12px 16px}.dash-kpi-row{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0}.dash-kpi-card{flex:1 1 120px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 16px;text-align:center}.dash-kpi-value{font-size:24px;font-weight:700;color:var(--text-primary);line-height:1.15}.dash-kpi-label{font-size:12px;color:var(--text-secondary);margin-top:2px}.dash-kpi-sub{font-size:12px;font-weight:500;color:var(--text-secondary);margin-top:2px}.dash-kpi-card.warn{border-color:#f6ad55;background:#fffaf0}[data-theme=dark] .dash-kpi-card.warn{border-color:#c05621;background:#2d1f00}.dash-kpi-card.warn .dash-kpi-value{color:#c05621}.acomp-kpi-groups{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0}.acomp-kpi-group{flex:1 1 360px;min-width:0;display:flex;flex-direction:column}.acomp-kpi-group .dash-kpi-row{flex:1;align-items:stretch}.acomp-kpi-group .dash-kpi-card{display:flex;flex-direction:column;justify-content:center}.acomp-kpi-group-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin:0 0 4px 2px}.acomp-kpi-group .dash-kpi-card{padding:8px 10px}.acomp-kpi-group .dash-kpi-value{font-size:20px}button.acomp-kpi{font:inherit;color:inherit;cursor:pointer}button.acomp-kpi:hover{border-color:var(--primary)}button.acomp-kpi.active{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:var(--badge-info-bg, var(--surface))}.acomp-sinais{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex-shrink:0;font-size:12px}.acomp-sinais-label{color:var(--text-secondary)}.acomp-sinal{border:1px solid var(--border)!important;border-radius:14px;padding:3px 10px;font-size:12px}.acomp-sinal.active{border-color:var(--primary)!important;background:var(--primary);color:#fff}.acomp-desde{display:inline-flex;align-items:center;gap:6px;margin-left:8px;color:var(--text-secondary)}.acomp-desde input{font:inherit;padding:2px 6px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-primary)}.acomp-search{width:280px;font-size:12px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-primary)}.acomp-nota{font-size:11px;color:var(--text-dim, #888);flex-shrink:0}.acomp-chip{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;white-space:nowrap;cursor:help}.acomp-chip.warn{background:var(--badge-warn-bg, #fef3c7);color:var(--warn, #b45309)}.acomp-chip.info{background:var(--badge-info-bg, #e0f2fe);color:var(--badge-info-text, #0369a1)}.acomp-rel{border:1px solid var(--border);border-radius:6px;padding:8px 10px}.acomp-rel.warn{border-color:#f6ad55}.acomp-rel-title{font-size:12px;font-weight:600;margin-bottom:4px}.acomp-rel.warn .acomp-rel-title{color:var(--warn, #b45309)}.acomp-rel-note{font-size:11px;color:var(--text-dim, #888);margin-top:4px}.acomp-acao{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.acomp-acao .acomp-rel-note{margin-top:0}.acomp-triagem-acoes{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:12px}.acomp-triagem-acoes label{display:inline-flex;align-items:center;gap:6px}.acomp-triagem-acoes input,.acomp-triagem-acoes select{font:inherit;padding:2px 6px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-primary)}.acomp-sep{width:1px;align-self:stretch;background:var(--border);margin:0 4px}.acomp-link{background:none;border:0;padding:0;font:inherit;color:var(--primary);cursor:pointer;text-decoration:underline dotted;text-align:left}.acomp-erro{font-size:12px;color:var(--danger, #c62828)}.acomp-aviso{display:flex;align-items:center;gap:10px;font-size:12px;padding:6px 10px;border-radius:6px;flex-shrink:0;background:var(--badge-info-bg, #e0f2fe);color:var(--badge-info-text, #0369a1)}.acomp-aviso button{margin-left:auto;background:none;border:0;cursor:pointer;color:inherit}.acomp-rel-title{display:flex;align-items:center;gap:8px}.acomp-rel-btn{border:1px solid var(--border)!important;border-radius:12px;padding:2px 10px;font-size:11px}.acomp-cmp{width:100%}.acomp-cmp th[scope=row]{text-align:left;white-space:nowrap;color:var(--text-secondary);font-weight:600}.acomp-cmp thead th{text-align:left;vertical-align:bottom}.acomp-cmp-sub{font-size:11px;font-weight:400;color:var(--text-dim, #888)}.acomp-cmp-diff td,.acomp-cmp-diff th[scope=row]{background:var(--badge-warn-bg, #fef3c7)}.acomp-cmp tfoot td{position:static;box-shadow:none}.acomp-fonte{font-size:10px;font-weight:600;padding:0 6px;border-radius:8px;white-space:nowrap}.acomp-fonte.pre{background:var(--badge-info-bg, #e0f2fe);color:var(--badge-info-text, #0369a1)}.acomp-fonte.plat{background:var(--gray-100, #f1f5f9);color:var(--text-secondary, #555);border:1px solid var(--border, #ddd)}.estat-geral-right{min-width:0;overflow-y:auto}.dash-resizer{flex:0 0 6px;cursor:col-resize;background:transparent;position:relative}.dash-resizer:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background:var(--border);border-radius:1px;transition:background .12s}.dash-resizer:hover:after,.dash-resizer:active:after{background:var(--accent, #3b82f6)}.dash-resizer:before{content:"";position:absolute;top:0;bottom:0;left:-4px;right:-4px}.dash-grid-resizable{column-gap:6px}.estat-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);margin-bottom:8px;flex-shrink:0}.estat-kpi-panel{display:flex;flex-direction:column;gap:12px}.estat-kpi-group{display:flex;flex-direction:column;gap:6px}.estat-kpi-heading{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gray-400);padding:2px 0 3px;border-bottom:1px solid var(--gray-200)}.estat-kpi-cards{display:flex;flex-wrap:wrap;gap:6px}.estat-kpi-cards .estat-kpi-card{flex:1 1 84px;min-width:72px}.estat-kpi-cards .dash-kpi-card{flex:1 1 96px;min-width:88px;padding:10px 8px}.estat-kpi-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px;padding:13px 8px 10px;display:flex;flex-direction:column;gap:3px;min-width:0;text-align:center;align-items:center}.estat-kpi-card:hover{border-color:var(--gray-300);background:var(--white)}.estat-kpi-card.warn{border-color:#f6ad55;background:#fffaf0}[data-theme=dark] .estat-kpi-card.warn{border-color:#c05621;background:#2d1f00}.estat-kpi-card-value{font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.1}.estat-kpi-card.warn .estat-kpi-card-value{color:#c05621}.estat-kpi-card-sub{font-size:12px;font-weight:500;color:var(--gray-500)}.estat-kpi-card-label{font-size:11px;color:var(--gray-500);line-height:1.3}.dash-tooltip{background:var(--surface);border:1px solid var(--gray-200);border-radius:6px;padding:8px 10px;font-size:12px;box-shadow:0 4px 12px #0000001f;min-width:180px}.dash-tooltip-date{font-weight:600;margin-bottom:6px;color:var(--text-primary)}.dash-tooltip-row{display:flex;align-items:center;gap:6px;margin-bottom:3px}.dash-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dash-tooltip-name{flex:1;color:var(--text-secondary)}.dash-tooltip-val{font-weight:600;color:var(--text-primary)}.dash-user-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:var(--white);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);overflow:hidden;z-index:9999}.dash-dd-item{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;padding:10px 14px;font-size:13px;color:var(--text);cursor:pointer;text-align:left;text-decoration:none;transition:background .12s}.dash-dd-item:hover{background:var(--gray-100)}.dash-dd-icon{font-size:14px;flex-shrink:0}.dash-dd-divider{height:1px;background:var(--border);margin:2px 0}.dash-dd-logout{color:#c0392b}.dash-dd-version{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;padding:6px 14px 8px;border-top:1px solid var(--border);font-size:11px;color:var(--text-secondary)}.dash-dd-ver-label{opacity:.75}.dash-dd-ver-arrow{opacity:.5}.dash-dd-ver-new{color:var(--primary);font-weight:600}.dash-dd-ver-btn{margin-left:2px;padding:2px 7px;background:var(--primary);color:#fff;border:none;border-radius:4px;font-size:11px;cursor:pointer;line-height:1.4}.dash-dd-ver-btn:hover{opacity:.85}.dash-dd-logout:hover{background:#fff0f0}[data-theme=dark] .dash-dd-logout:hover{background:#c0392b26}.alunos-page{display:flex;flex-direction:column;gap:8px;padding:12px 16px;height:100%;overflow:hidden;box-sizing:border-box}.alunos-chart-wrap{flex:0 0 240px;min-height:0}.alunos-kpi-row{display:flex;flex-wrap:wrap;gap:6px;padding:0 2px}.alunos-kpi-row .dash-kpi-card{flex:1 1 110px;min-width:100px}.alunos-tables{display:flex;gap:10px;flex:1;min-height:0;align-items:stretch}.alunos-table-wrap{flex:1 1 0;display:flex;flex-direction:column;min-width:0;min-height:160px;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.alunos-table-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-secondary);padding:8px 10px 4px;border-bottom:1px solid var(--border);flex-shrink:0}.alunos-table-scroll{overflow-y:auto;flex:1}.dash-table{width:100%;border-collapse:collapse;font-size:12.5px}.dash-table thead th{position:sticky;top:0;z-index:1;background:var(--surface);border-bottom:1px solid var(--border);padding:5px 8px;text-align:left;font-weight:600;font-size:11px;color:var(--text-secondary);white-space:nowrap}.dash-table tbody tr:hover{background:var(--hover-bg, rgba(0,0,0,.04))}.dash-table td{padding:5px 8px;border-bottom:1px solid var(--border);color:var(--text-primary)}.dash-table td.num{text-align:right;font-variant-numeric:tabular-nums}.dash-table thead th.num{text-align:right}.dash-table tfoot td{position:sticky;bottom:0;z-index:1;background:var(--surface);box-shadow:inset 0 2px 0 var(--gray-400, #9ca3af);padding:5px 8px;font-weight:600;color:var(--text-primary);white-space:nowrap}.dash-table tfoot td.num{text-align:right;font-variant-numeric:tabular-nums}.dash-table-total-sub{display:block;font-size:10px;font-weight:400;color:var(--text-secondary);line-height:1.1}.dash-table-row-clickable{cursor:pointer}.dash-table-row-clickable:hover td{background:var(--hover-bg, rgba(0,0,0,.04))}.dash-table-row-clickable.selected td{background:var(--primary-light, #e8f0fe);font-weight:600}.dash-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.dash-table thead th.sortable:hover{color:var(--text-primary)}.dash-table thead th.sorted{color:var(--primary, #1a73e8)}.dash-sort-icon{margin-left:2px}.dash-table-empty{text-align:center;color:var(--text-secondary);padding:12px}.dash-table.perguntas-table td{vertical-align:top}.dash-field-input{padding:7px 10px;font-size:13px;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:6px;box-sizing:border-box}.dash-field-input:focus{outline:none;border-color:var(--primary, #1a73e8)}.cf-kpi-row .dash-kpi-card{display:flex;flex-direction:column;justify-content:center}.dash-table.cf-matrix td.num,.dash-table.cf-matrix thead th.num{text-align:center}.cf-matrix .cf-mx-munhead{text-align:left;white-space:nowrap;font-weight:600}.cf-matrix .cf-mx-totcol{font-weight:600;border-left:1px solid var(--border)}.cf-mx-ok{background:#22c55e2e;color:#15803d;font-weight:600}.cf-mx-warn{background:#f9731629;color:#c2410c;font-weight:600}.cf-mx-none{background:#0000000a;color:var(--text-secondary)}.cf-mx-empty{color:var(--border)}.dash-table-row-clickable.selected .cf-mx-ok{background:#22c55e4d}.dash-table-row-clickable.selected .cf-mx-warn{background:#f9731647}.dash-table-action-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);opacity:0;border:1px solid var(--border);background:var(--surface);border-radius:4px;cursor:pointer;font-size:12px;line-height:1;padding:2px 5px;color:var(--text-secondary);transition:opacity .1s}.dash-table tbody tr:hover .dash-table-action-btn{opacity:1}.dash-table-action-btn:hover{color:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6)}.dash-cell-btn{border:none;background:transparent;cursor:pointer;font-size:11px;line-height:1;padding:1px 3px;margin-left:4px;border-radius:3px;opacity:.55;color:var(--text-secondary);vertical-align:baseline}.dash-cell-btn:hover{opacity:1;background:var(--border)}.alunos-local-filter-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 16px;background:var(--white);border-bottom:1px solid var(--border);flex-shrink:0}.alunos-filter-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 10px;background:var(--primary-light, #e8f0fe);border:1px solid var(--primary, #4f6ef7);border-radius:12px;font-size:12px;color:var(--primary, #4f6ef7)}.alunos-filter-pill button{background:none;border:none;cursor:pointer;padding:0;font-size:13px;line-height:1;color:var(--primary, #4f6ef7);opacity:.7}.alunos-filter-pill button:hover{opacity:1}.alunos-filter-clear{font-size:12px;color:var(--text-secondary);text-decoration:underline;cursor:pointer;background:none;border:none;padding:0}.alunos-filter-clear:hover{color:var(--text)}.desafios-ciclo-card-clickable{cursor:pointer;border-radius:6px;padding:4px 6px;transition:background .12s}.desafios-ciclo-card-clickable:hover{background:var(--hover-bg, rgba(0,0,0,.04))}.desafios-ciclo-card-clickable.selected{background:var(--primary-light, #e8f0fe);font-weight:700}.fichas-shell{display:flex;flex-direction:column;height:100%}.fichas-filter-bar{display:flex;align-items:center;gap:16px;padding:8px 16px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface-alt,var(--surface))}.fichas-subnav{display:flex;gap:0;border-bottom:1px solid var(--border);flex-shrink:0;padding:0 12px;background:var(--surface)}.fichas-subnav-btn{background:none;border:none;border-bottom:2px solid transparent;padding:7px 14px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--text-secondary)}.fichas-subnav-btn.active{color:var(--primary,#3b82f6);border-bottom-color:var(--primary,#3b82f6);font-weight:600}.fichas-no-year{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--text-secondary);font-size:13px;gap:8px}.monit-shell{display:flex;flex-direction:column;height:100%}.monit-filter-bar{display:flex;align-items:center;gap:16px;padding:8px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.monit-subnav{display:flex;gap:0;border-bottom:1px solid var(--border);flex-shrink:0;padding:0 12px}.monit-subnav-btn{background:none;border:none;border-bottom:2px solid transparent;padding:7px 14px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--text-secondary)}.monit-subnav-btn.active{color:var(--primary,#3b82f6);border-bottom-color:var(--primary,#3b82f6);font-weight:600}.monit-donuts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.monit-donut-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px}.monit-donut-label{font-size:11px;color:var(--text-secondary);text-align:center}.monit-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.monit-kpi-row2{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.monit-graficos{display:flex;gap:16px;height:100%;padding:12px 16px;box-sizing:border-box;overflow:hidden}.monit-map-col{display:flex;flex-direction:column;gap:8px;height:100%;min-width:25%;flex:0 1 44%;min-height:0}.monit-map-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;flex-shrink:0}.monit-metric-btns,.monit-mode-btns{display:flex;gap:4px;flex-wrap:wrap}.monit-mode-btns{margin-left:auto}.pmap-wrap{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.pmap-legend{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);flex-shrink:0;margin-bottom:4px;flex-wrap:wrap}.pmap-legend-title{font-weight:600;color:var(--text);margin-right:6px}.pmap-swatch{width:13px;height:13px;border-radius:3px;display:inline-block;border:1px solid var(--border)}.pmap-gradient{width:80px;height:11px;border-radius:3px;display:inline-block;border:1px solid var(--border)}.pmap-legend-max{font-variant-numeric:tabular-nums}.pmap-export-anchor{margin-left:auto;position:relative}.pmap-export-btn{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:5px;padding:3px 9px;font-size:11px;cursor:pointer;white-space:nowrap}.pmap-export-btn:hover:not(:disabled){background:var(--primary,#3b82f6);color:#fff;border-color:var(--primary,#3b82f6)}.pmap-export-btn:disabled{opacity:.6;cursor:default}.pmap-export-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.pmap-export-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:61;width:230px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000038;padding:10px;display:flex;flex-direction:column;gap:10px}.pmap-export-group{display:flex;flex-direction:column;gap:5px}.pmap-export-label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.pmap-export-row{display:flex;gap:5px}.pmap-opt-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;background:var(--bg,transparent);color:var(--text);border:1px solid var(--border);border-radius:5px;padding:4px 6px;font-size:11px;cursor:pointer;line-height:1.2}.pmap-opt-btn small{font-size:9px;color:var(--text-secondary)}.pmap-opt-btn.active{background:var(--primary,#3b82f6);color:#fff;border-color:var(--primary,#3b82f6)}.pmap-opt-btn.active small{color:#ffffffd9}.pmap-export-swatches{display:flex;gap:5px;flex-wrap:wrap}.pmap-pal-btn{width:24px;height:24px;border-radius:5px;border:2px solid var(--border);cursor:pointer;padding:0}.pmap-pal-btn.active{border-color:var(--text);box-shadow:0 0 0 2px var(--primary,#3b82f6)}.pmap-pal-btn.custom{display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.6)}.pmap-hex-row{display:flex;gap:6px;align-items:center;margin-top:6px}.pmap-hex-color{width:30px;height:26px;padding:0;border:1px solid var(--border);border-radius:5px;background:none;cursor:pointer}.pmap-hex-text{flex:1;min-width:0;padding:4px 7px;font-size:12px;font-family:monospace;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text)}.pmap-export-go{background:var(--primary,#3b82f6);color:#fff;border:none;border-radius:6px;padding:7px;font-size:12px;font-weight:600;cursor:pointer}.pmap-export-go:hover{filter:brightness(1.08)}.pmap-svg-host{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center}.pmap-svg-host.loading{opacity:.5;transition:opacity .2s}.pmap-svg-host svg.portugal-map{width:100%;height:100%;display:block}.pmap-svg-host path.municipio{transition:fill .15s,stroke .1s}.pmap-svg-host path.municipio:hover{fill-opacity:.82}.pmap-tooltip{position:absolute;pointer-events:none;z-index:50;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 9px;font-size:12px;line-height:1.35;box-shadow:0 4px 14px #0000002e;white-space:nowrap}.monit-side-col{flex:1 1 56%;display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;overflow:auto}.monit-gauges{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;flex-shrink:0}.monit-gauge-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.monit-kpis{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:10px;flex:1 1 auto;min-height:0}.monit-kpi-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}@media (max-width:900px){.monit-graficos{flex-direction:column;overflow:auto;height:auto}.monit-map-col{flex:none;min-width:0;height:60vh}.monit-side-col{flex:none}}.olimp-vencs-page{display:flex;flex-direction:column;height:100%}.olimp-vencs-filter{display:flex;align-items:center;gap:14px;padding:8px 16px;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.olimp-vencs-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 0;font-size:12px;color:var(--text-secondary);border-top:1px solid var(--border);flex-shrink:0}.olimp-vencs-pagination button{background:none;border:1px solid var(--border);border-radius:4px;padding:2px 8px;cursor:pointer;color:var(--text-primary)}.olimp-vencs-pagination button:disabled{opacity:.3;cursor:default}.olimp-rank{font-weight:700;font-size:11px;color:var(--text-secondary)}.olimp-gold{color:#d97706}.olimp-silver{color:#6b7280}.olimp-bronze{color:#92400e}.dash-toggle-btn{display:inline-flex;align-items:center;height:34px;background:none;border:1px solid var(--border);border-radius:4px;padding:0 12px;cursor:pointer;font-size:13px;color:var(--text-primary);line-height:1.4;transition:background .1s,color .1s}.dash-toggle-btn.dash-pill{height:auto;padding:2px 6px;font-size:11px}.dash-toggle-btn.active{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff;font-weight:600}.dash-toggle-btn:not(.active):hover{background:var(--hover-bg, rgba(0,0,0,.06))}.dash-btn-sm{background:none;border:1px solid var(--border);border-radius:4px;padding:2px 10px;cursor:pointer;font-size:12px;color:var(--text-primary);line-height:1.5}.dash-btn-sm:disabled{opacity:.35;cursor:default}.dash-btn-sm:not(:disabled):hover{background:var(--hover-bg, rgba(0,0,0,.06))}.dash-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;padding:8px 12px;font-size:13px;color:#dc2626}[data-theme=dark] .dash-error{background:#dc26261f;border-color:#dc262666;color:#f87171}.dash-modal-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:4px;padding:6px 10px;font-size:12.5px;color:#dc2626;margin-bottom:12px}[data-theme=dark] .dash-modal-error{background:#dc26261f;border-color:#dc262666;color:#f87171}.toggle-pill-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.toggle-pill-bar-label{font-size:12px;color:var(--text-secondary);margin-right:2px}.toggle-pill{border:1px solid var(--primary, #3b82f6);background:var(--primary, #3b82f6);color:#fff;border-radius:999px;padding:3px 11px;font-size:12px;font-weight:600;cursor:pointer;line-height:1.4;transition:background .1s,color .1s,border-color .1s}.toggle-pill.off{background:transparent;color:var(--text-secondary);border-color:var(--border);text-decoration:line-through;font-weight:400}.toggle-pill:hover{filter:brightness(.96)}.toggle-pill-clear{border:none;background:transparent;color:var(--primary, #3b82f6);cursor:pointer;font-size:12px;padding:3px 6px;margin-left:2px}.toggle-pill-clear:hover{text-decoration:underline}.ui-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.ui-modal{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);max-width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.ui-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.ui-modal-title{font-weight:600}.ui-modal-subtitle{font-size:12px;color:var(--text-secondary);margin-top:2px}.ui-modal-close{border:none;background:transparent;cursor:pointer;font-size:16px;color:var(--text-secondary);padding:2px 6px;border-radius:4px}.ui-modal-close:hover{background:var(--border);color:var(--text-primary)}.ui-modal-body{overflow-y:auto;min-height:0}.ui-modal-close:disabled{cursor:default;opacity:.4}.ui-modal-dirty{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;padding:10px 18px;font-size:13px;background:var(--badge-warn-bg, #fef3c7);color:var(--warn, #b45309);border-bottom:1px solid var(--border);flex-shrink:0}.ui-modal-dirty-acts{display:flex;gap:8px;flex-wrap:wrap}.ui-modal-dirty button{font:inherit;font-size:12px;padding:5px 10px;border-radius:6px;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text)}.ui-modal-dirty-discard{border-color:var(--danger, #c62828)!important;color:var(--danger, #c62828)!important}.ui-modal-dirty button:hover{filter:brightness(.96)}@media (max-height: 700px){.diag-byyear-card{display:none}}.diag-pct{display:block;font-size:10px;font-weight:400;color:var(--text-secondary);line-height:1.1}.diag-open-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);opacity:0;border:1px solid var(--border);background:var(--surface);border-radius:4px;cursor:pointer;font-size:12px;line-height:1;padding:2px 5px;color:var(--text-secondary);transition:opacity .1s}.dash-table-row-clickable:hover .diag-open-btn{opacity:1}.diag-open-btn:hover{color:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6)}.hist-panel{background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden}.hist-panel-title{font-size:11px;font-weight:600;color:var(--text-secondary);padding:6px 10px;border-bottom:1px solid var(--border)}.hist-table{width:100%;border-collapse:collapse;font-size:12.5px}.hist-table th{text-align:left;padding:5px 8px;font-size:11px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;background:var(--surface)}.hist-table td{padding:5px 8px;border-bottom:1px solid var(--border);color:var(--text-primary)}.hist-table tbody tr:last-child td{border-bottom:none}.hist-table tbody tr:hover{background:var(--hover-bg, rgba(0,0,0,.04))}.hist-table tfoot td{position:sticky;bottom:0;background:var(--surface);box-shadow:inset 0 2px 0 var(--gray-400, #9ca3af);padding:5px 8px;font-weight:600;color:var(--text-primary);white-space:nowrap}#dash-update-banner{position:fixed;left:0;right:0;bottom:0;z-index:99999;display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 20px;background:#0057b8;color:#fff;font-size:14px;box-shadow:0 -2px 12px #00000040}#dash-update-banner button{background:#fff;color:#0057b8;border:none;border-radius:4px;padding:6px 16px;font-size:13px;font-weight:600;cursor:pointer}#dash-update-banner button:hover{background:#eaf2fb}#dash-update-banner{flex-wrap:wrap;padding-bottom:max(12px,env(safe-area-inset-bottom))}.dash-mobile-shortcut{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;margin-right:12px}.dash-mobile-shortcut:hover{background:#ffffff47}.dash-crm-shortcut{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none;margin-right:12px}.dash-crm-shortcut:hover{background:#ffffff47}.dash-menu-dot{width:8px;height:8px;border-radius:50%;background:#ffd400;flex-shrink:0;box-shadow:0 0 0 1.5px #fff}.cl-badge{display:inline-block;min-width:16px;height:16px;line-height:16px;padding:0 5px;border-radius:8px;margin-left:auto;background:var(--red, #c0392b);color:#fff;font-size:10px;font-weight:700;text-align:center}.cl-scope{display:inline-block;padding:1px 8px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;vertical-align:middle}.cl-scope-crm{background:#cce5ff;color:#004085}.cl-scope-dashboards{background:#e2d9f3;color:#4a2f7a}.cl-scope-geral{background:var(--gray-200);color:var(--gray-700)}[data-theme=dark] .cl-scope-crm{background:#0d2b4a;color:#74b0e8}[data-theme=dark] .cl-scope-dashboards{background:#2c2350;color:#c9b8f0}[data-theme=dark] .cl-scope-geral{background:#3a3a4a;color:#c0c0d0}.cl-scope-admin{background:#fde2e1;color:#9b1c1c}[data-theme=dark] .cl-scope-admin{background:#4a2020;color:#f3b8b5}.cl-list{padding:6px 18px 14px}.cl-entry{padding:12px 0;border-bottom:1px solid var(--border)}.cl-entry:last-child{border-bottom:none}.cl-entry-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.cl-date{font-size:12px;color:var(--gray-600);font-weight:600}.cl-ver{font-size:11px;color:var(--gray-600);font-family:monospace}.cl-entry-title{font-size:15px;font-weight:700;margin-bottom:6px}.cl-entry-body{font-size:13px;line-height:1.5}.cl-entry-body p{margin:0 0 8px}.cl-entry-body p:last-child{margin-bottom:0}.cl-entry-body ul,.cl-entry-body ol{margin:0 0 8px;padding-left:20px}.cl-entry-body li{margin-bottom:3px}.gm-page{height:100%;overflow-y:auto;background:var(--gray-100)}.gm-banner{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;background:#e30613;color:#fff;padding:10px 14px;box-shadow:0 1px 6px #0003}.gm-banner-logo{height:38px;width:auto;object-fit:contain;flex-shrink:0}.gm-banner-info{flex:1;min-width:0}.gm-banner-title{font-size:16px;font-weight:700;line-height:1.2}.gm-banner-sub{font-size:11px;color:#ffffffd9;margin-top:2px}.gm-banner-sub strong{color:#fff}.gm-banner-logout,.gm-banner-apps{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:8px;padding:8px;line-height:0;cursor:pointer;text-decoration:none}.gm-banner-logout:hover,.gm-banner-apps:hover{background:#ffffff47}.gm-banner-apps{font-size:20px;line-height:1}.gm-banner-meta{display:flex;align-items:center;gap:5px;font-size:11px;color:#ffffffd9;margin-top:3px}.gm-banner-meta .gm-meta-icon{flex-shrink:0;opacity:.9}.gm-banner-refresh{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:8px;padding:8px;line-height:0;cursor:pointer}.gm-banner-refresh:hover:not(:disabled){background:#ffffff47}.gm-banner-refresh:disabled{opacity:.55;cursor:default}.gm-banner-refresh .spinning{animation:gm-spin .9s linear infinite;transform-origin:50% 50%}.gm-cd{font-size:13px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}@keyframes gm-spin{to{transform:rotate(360deg)}}.gm-fresh-flash{color:#fff;font-weight:700}.gm-root{max-width:720px;margin:0 auto;padding:16px 14px 32px;width:100%}.gm-msg{display:flex;align-items:center;justify-content:center;gap:8px;height:60vh;padding:24px;color:var(--text-secondary);font-size:14px}.gm-section:first-child{margin-top:0}.gm-toggle{display:flex;gap:6px;margin-bottom:16px}.gm-toggle-btn{flex:1;padding:8px 0;font-size:13px;font-weight:600;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}.gm-toggle-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.gm-section{margin-top:22px}.gm-section-title{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.gm-section-note{font-size:12px;color:var(--text-secondary);margin-bottom:10px}.gm-grid{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width: 480px){.gm-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 680px){.gm-grid{grid-template-columns:repeat(3,1fr)}}.gm-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:14px 14px 12px;display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .12s,box-shadow .12s}.gm-card:hover{border-color:var(--primary)}.gm-card.selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent)}.gm-card-value{font-size:26px;font-weight:700;color:var(--text-primary);line-height:1.1}.gm-card-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.gm-pill{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;margin-top:6px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.gm-pill.up{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}.gm-pill.down{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red)}.gm-pill.flat{background:var(--gray-200);color:var(--text-secondary)}.gm-pill-arrow{font-size:10px}.gm-pill-prev{color:var(--text-secondary);font-weight:500}.gm-bars{display:flex;align-items:flex-end;gap:4px;width:100%}.gm-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;height:100%;min-width:0}.gm-bar-track{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;min-height:0}.gm-bar-fill{width:70%;max-width:22px;min-height:2px;border-radius:3px 3px 0 0;background:var(--primary)}.gm-bar-v{font-size:10px;color:var(--text-secondary);line-height:1;min-height:11px}.gm-bar-x{font-size:9px;color:var(--text-secondary);line-height:1;white-space:nowrap}.gm-detail{margin-top:12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:12px 14px 10px}.gm-detail-head{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text-primary);margin-bottom:10px}.gm-detail-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:15px;line-height:1;padding:2px 4px}.gm-recent-list{display:flex;flex-direction:column;gap:8px}.gm-recent-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:10px 14px}.gm-recent-info{display:flex;flex-direction:column;gap:2px;min-width:38%;flex-shrink:0}.gm-recent-label{font-size:13px;color:var(--text-primary)}.gm-recent-sum{font-size:15px;font-weight:700;color:var(--green)}.gm-recent-chart{flex:1;min-width:0}.tis-badge{display:inline-flex;align-items:center;gap:3px;margin-left:5px;padding:0 5px;border-radius:8px;font-size:10px;font-weight:700;line-height:15px;letter-spacing:.3px;background:#fff3e0;color:#b45309;border:1px solid #f6c68a;vertical-align:middle;white-space:nowrap;cursor:help}.teip-badge{display:inline-flex;align-items:center;margin-left:4px;padding:0 6px;border-radius:8px;font-size:10px;font-weight:700;line-height:15px;letter-spacing:.3px;text-transform:uppercase;background:#fdecd1;color:#92400e;border:1px solid #f3d2a0;vertical-align:middle;white-space:nowrap;cursor:help}[data-theme=dark] .teip-badge{background:#2d1f00;color:#f0a94e;border-color:#c05621}.adm-shell{display:flex;flex-direction:column;height:100dvh;background:var(--gray-100);color:var(--text)}.adm-header{display:flex;align-items:center;gap:10px;flex-shrink:0;background:#e30613;color:#fff;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.adm-burger{background:#ffffff26;border:0;color:#fff;font-size:18px;line-height:1;width:38px;height:38px;border-radius:8px;cursor:pointer}.adm-burger:hover{background:#ffffff47}.adm-brand{display:flex;align-items:center;gap:8px;background:none;border:0;color:#fff;font-size:15px;font-weight:700;cursor:pointer;padding:0;flex-shrink:0}.adm-logo{height:30px;width:auto;object-fit:contain;padding-right:8px;border-right:1px solid rgba(255,255,255,.25)}.adm-title{font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;line-height:1;flex-shrink:0}.adm-title-block{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}.adm-crumb{font-size:12px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-apps{display:flex;gap:6px}.adm-apps a{color:#fff;text-decoration:none;background:#ffffff26;border-radius:8px;padding:8px 10px;font-size:13px;white-space:nowrap}.adm-apps a:hover{background:#ffffff47}.adm-apps-label{display:none}.adm-body{flex:1;display:flex;min-height:0;position:relative}.adm-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:40}.adm-nav{position:fixed;top:0;bottom:0;left:0;width:260px;max-width:82vw;background:var(--surface);border-right:1px solid var(--border);padding:12px 8px;padding-top:max(12px,env(safe-area-inset-top));overflow-y:auto;transform:translate(-100%);transition:transform .18s ease;z-index:50}.adm-nav.open{transform:translate(0)}.adm-nav-group{margin-top:14px}.adm-nav-group-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);padding:0 10px 4px}.adm-nav-item{display:flex;align-items:center;gap:9px;width:100%;background:none;border:0;color:var(--text);text-align:left;font-size:14px;padding:11px 10px;border-radius:8px;cursor:pointer}.adm-nav-item:hover{background:var(--gray-100)}.adm-nav-item.active{background:var(--primary);color:#fff}.adm-nav-item.active .adm-badge-soon{background:#ffffff40;color:#fff}.adm-nav-icon{width:20px;text-align:center;flex-shrink:0}.adm-nav-text{flex:1}.adm-badge-soon{font-size:9px;font-weight:700;letter-spacing:.04em;background:var(--gray-200);color:var(--text-secondary);border-radius:4px;padding:2px 5px}.adm-nav-foot{margin-top:18px;padding:10px;border-top:1px solid var(--border);font-size:11px;color:var(--text-secondary);overflow-wrap:anywhere}.adm-nav-ver{margin-top:4px;opacity:.8}.adm-main{flex:1;min-width:0;overflow-y:auto}.adm-page{padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));max-width:900px}.adm-h1{font-size:19px;margin-bottom:8px}.adm-h2{font-size:15px;margin:18px 0 8px}.adm-lead{font-size:13px;color:var(--text-secondary);line-height:1.55}.adm-note{margin-top:20px;font-size:12px;color:var(--text-secondary);line-height:1.5}.adm-cards{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.adm-card{flex:1 1 130px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;box-shadow:var(--shadow)}.adm-card-value{font-size:26px;font-weight:700;line-height:1.1}.adm-card-of{font-size:15px;font-weight:500;color:var(--text-secondary)}.adm-card-label{font-size:11px;color:var(--text-secondary);margin-top:3px}.adm-next{list-style:none}.adm-next li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.adm-link{flex:1;background:none;border:0;padding:0;color:var(--primary);font-size:14px;text-align:left;cursor:pointer}.adm-link:hover{text-decoration:underline}.adm-phase{font-size:11px;color:var(--text-secondary)}.adm-placeholder{margin-top:16px;background:var(--surface);border:1px dashed var(--border);border-radius:12px;padding:28px 18px;text-align:center}.adm-placeholder-icon{font-size:30px}.adm-placeholder p{font-size:13px;color:var(--text-secondary);line-height:1.55}.adm-btn{display:inline-block;margin-top:14px;background:var(--primary);color:#fff;text-decoration:none;font-size:14px;font-weight:600;padding:11px 18px;border-radius:8px}.adm-btn:hover{filter:brightness(1.08)}.adm-denied{margin:40px auto;text-align:center}@media (min-width: 768px){.adm-burger,.adm-scrim{display:none}.adm-apps-label{display:inline}.adm-nav{position:static;transform:none;width:240px;flex-shrink:0;padding-top:12px}.adm-page{padding:22px 26px}.adm-h1{font-size:22px}.adm-header{align-items:stretch;gap:14px;padding:0 max(16px,env(safe-area-inset-right)) 0 env(safe-area-inset-left)}.adm-brand{padding:8px 16px;border-right:1px solid rgba(255,255,255,.2)}.adm-logo{height:62px;padding-right:0;border-right:0}.adm-title-block{flex-direction:row;align-items:center;justify-content:flex-start;gap:14px}.adm-title{font-size:24px}.adm-crumb{font-size:14px}.adm-apps{align-self:center}}.adm-page-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}.adm-page-head .adm-h1{flex:1;margin-bottom:0}.adm-back,.adm-btn-ghost{background:none;border:1px solid var(--border);color:var(--text);border-radius:8px;min-width:40px;min-height:40px;font-size:15px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 9px;text-decoration:none}.adm-btn-ghost:hover,.adm-back:hover{background:var(--gray-100)}.adm-btn-ghost.danger{color:var(--red);border-color:transparent}.adm-btn-sec{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.adm-btn-sec:hover{background:var(--gray-100)}.adm-btn-sec.danger{color:var(--red);border-color:var(--red)}.adm-btn:disabled,.adm-btn-sec:disabled{opacity:.55;cursor:not-allowed}.adm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.adm-actions .adm-btn{margin-top:0}.adm-error{color:var(--red);font-size:12px}.adm-ok{color:var(--green);font-size:12px}.adm-hint{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-top:4px}.adm-dbline{font-size:12px;color:var(--text-secondary);margin:6px 0 12px}.adm-card-sec{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;margin-top:14px}.adm-card-sec .adm-h2{margin:0 0 10px}.adm-collapse{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:8px;width:100%;min-height:40px;font:inherit;color:inherit;border-radius:6px}.adm-collapse:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.adm-arrow{font-size:11px;width:10px;display:inline-block}.adm-field{margin-bottom:12px}.adm-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:5px}.adm-input{font:inherit;font-size:16px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);max-width:100%}.adm-input.wide{width:100%}@media (min-width: 768px){.adm-input{font-size:14px}}.adm-chipgrid{display:flex;flex-wrap:wrap;gap:6px}.adm-hour{min-width:46px;min-height:40px;border:1px solid var(--border);border-radius:8px;background:var(--gray-50);color:var(--text-secondary);font-size:13px;font-variant-numeric:tabular-nums;cursor:pointer}.adm-hour.on{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.adm-nextrun{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.adm-nextrun-when{font-size:14px;font-weight:600}.adm-nextrun-rule{font-size:12px;color:var(--text-secondary)}.adm-preview em{font-style:normal;color:var(--primary)}.adm-check{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.adm-check input{width:18px;height:18px}.adm-switch{display:inline-flex;align-items:center;gap:10px;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:40px}.adm-switch input{position:absolute;opacity:0;width:1px;height:1px}.adm-switch-track{position:relative;flex:0 0 auto;width:40px;height:22px;border-radius:11px;background:var(--gray-400);transition:background .15s}.adm-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}.adm-switch input:checked+.adm-switch-track{background:var(--primary)}.adm-switch input:checked+.adm-switch-track:after{transform:translate(18px)}.adm-switch input:focus-visible+.adm-switch-track{outline:2px solid var(--primary);outline-offset:2px}.adm-switch input:disabled+.adm-switch-track{opacity:.5}.adm-switch-state{color:var(--text-secondary);min-width:64px}.adm-day{flex:1 1 38px;min-width:38px;min-height:40px;border:1px solid var(--border);border-radius:8px;background:var(--gray-50);color:var(--text);font-size:13px;cursor:pointer}.adm-day.on{background:var(--primary);color:#fff;border-color:var(--primary)}.adm-preview{margin-top:8px;font-size:12px;color:var(--text-secondary);background:var(--gray-50);border-radius:6px;padding:7px 9px}.adm-addrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.adm-addrow .adm-input{flex:1 1 180px}.adm-joblist{display:flex;flex-direction:column;gap:8px;margin-top:12px}.adm-jobcard{display:flex;align-items:stretch;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.adm-jobcard-main{flex:1;min-width:0;background:none;border:0;color:var(--text);text-align:left;cursor:pointer;padding:12px 14px}.adm-jobcard-main:hover{background:var(--gray-50)}.adm-jobcard-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.adm-jobcard-name{font-size:14px;font-weight:600}.adm-jobcard-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:5px;font-size:11px;color:var(--text-secondary)}.adm-jobcard-run{flex-shrink:0;width:54px;background:var(--gray-50);border:0;border-left:1px solid var(--border);color:var(--primary);font-size:16px;cursor:pointer}.adm-jobcard-run:hover:not(:disabled){background:var(--primary);color:#fff}.adm-jobcard-run:disabled{opacity:.5;cursor:not-allowed}.adm-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;display:inline-block}.adm-dot.ok{background:var(--green)}.adm-dot.err{background:var(--red)}.adm-dot.run{background:var(--orange);animation:adm-pulse 1.2s infinite}.adm-dot.none{background:var(--gray-400)}@keyframes adm-pulse{0%,to{opacity:1}50%{opacity:.3}}.adm-tag{font-size:10px;font-weight:700;border-radius:4px;padding:2px 6px;background:var(--gray-200);color:var(--text-secondary)}.adm-tag.alert{background:var(--orange);color:#fff}.adm-tag.off{background:var(--gray-300)}.adm-recips{list-style:none}.adm-recips li{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px}.adm-recips li>span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.adm-bk-name{display:flex;flex-direction:column}.adm-bk-name em{font-style:normal;font-size:11px;color:var(--text-secondary)}.adm-runs{list-style:none}.adm-run{padding:10px 0;border-bottom:1px solid var(--border)}.adm-run-top{display:flex;align-items:center;gap:8px;font-size:13px}.adm-run-dur{margin-left:auto;color:var(--text-secondary);font-size:12px}.adm-run-by{font-size:11px;color:var(--text-secondary);margin-top:2px}.adm-run-rows{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.adm-chip{font-size:11px;background:var(--gray-100);border:1px solid var(--border);border-radius:4px;padding:2px 6px}.adm-run-err{margin-top:6px;font-size:11px;color:var(--red);background:var(--gray-50);border-radius:6px;padding:6px 8px;overflow-wrap:anywhere}.adm-bars{list-style:none}.adm-bars li{padding:9px 0;border-bottom:1px solid var(--border)}.adm-bar-head{display:flex;align-items:baseline;gap:10px}.adm-bar-name{flex:1;min-width:0;font-size:13px;overflow-wrap:anywhere}.adm-bar-sub{color:var(--text-secondary)}.adm-bar-val{font-weight:700;font-variant-numeric:tabular-nums}.adm-bar-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:3px;font-size:11px;color:var(--text-secondary)}.adm-bar-meta .warn{color:var(--orange);font-weight:600}.adm-bar-meta .bad{color:var(--red);font-weight:700}.adm-daybars{list-style:none}.adm-daybars li{display:flex;align-items:center;gap:8px;padding:2px 0;font-size:11px}.adm-daybar-label{width:40px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.adm-daybar-track{flex:1;height:10px;background:var(--gray-100);border-radius:5px;overflow:hidden}.adm-daybar-fill{display:block;height:100%;background:var(--primary);border-radius:5px}.adm-daybar-val{width:44px;text-align:right;font-variant-numeric:tabular-nums}.adm-smsrow{padding:10px 0;border-bottom:1px solid var(--border)}.adm-smsrow-top{display:flex;align-items:center;gap:8px;font-size:14px}.adm-smsrow-nums{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:5px;font-size:12px;color:var(--text-secondary)}.adm-smsrow-nums em{font-style:normal;font-weight:700;color:var(--text)}.adm-smsrow-imp{margin-top:3px;font-size:11px;color:var(--text-secondary)}.adm-toolbar{display:flex;align-items:center;gap:8px;margin:12px 0 8px}.adm-toolbar .adm-btn{margin-top:0;white-space:nowrap}.adm-search{flex:1;min-width:0}.adm-btn{border:0;cursor:pointer}.adm-btn.danger{background:var(--red)}.adm-segs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;margin-bottom:10px}.adm-seg{flex-shrink:0;min-height:40px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;cursor:pointer}.adm-seg.on{background:var(--primary);border-color:var(--primary);color:#fff}.adm-seg-n{opacity:.7;font-size:12px;margin-left:2px}.adm-list{list-style:none;display:flex;flex-direction:column;gap:8px}.adm-listrow{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:12px;min-height:56px;font:inherit;cursor:pointer}.adm-listrow:hover{border-color:var(--primary)}.adm-listrow-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.adm-listrow-title{font-weight:600;font-size:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.adm-listrow-sub{font-size:12px;color:var(--text-secondary);overflow-wrap:anywhere}.adm-listrow-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.adm-listrow-meta{font-size:11px;color:var(--text-secondary);text-align:right;flex-shrink:0;max-width:90px}.adm-tag.admin{background:#fde2e1;color:#9b1c1c}.adm-tag.bad{background:var(--red);color:#fff}[data-theme=dark] .adm-tag.admin{background:#4a2020;color:#f3b8b5}.adm-checklist{list-style:none;display:flex;flex-direction:column;gap:4px}.adm-checklist .adm-check{min-height:40px}.adm-checklist-hint{margin:-6px 0 4px 26px}.adm-sticky-actions{position:sticky;bottom:0;z-index:2;background:var(--gray-100);padding:10px 0 max(10px,env(safe-area-inset-bottom));margin-top:8px}.adm-sticky-actions .adm-btn{margin-top:0}.adm-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px}.adm-dl dt{color:var(--text-secondary)}.adm-dl dd{overflow-wrap:anywhere}.adm-confirm{border:1px solid var(--border);border-radius:8px;background:var(--gray-50);padding:12px;margin-top:10px;font-size:13px}.adm-confirm .adm-actions{margin-top:8px}.adm-confirm .adm-btn{margin-top:0}.adm-notice{border:1px solid var(--primary);border-radius:10px;background:var(--surface);padding:12px 14px;margin-top:12px;font-size:13px}.adm-temppw{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.adm-temppw code{flex:1;min-width:0;font-size:17px;letter-spacing:.5px;background:var(--gray-100);border-radius:6px;padding:8px 10px;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}.adm-permgroup{margin-top:12px}.adm-permgroup-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);margin-bottom:4px}.adm-perms{list-style:none}.adm-perms li{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid var(--border)}.adm-perms-name{flex:1;min-width:0;font-size:13px}.adm-toggle{min-width:64px;min-height:40px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-secondary);font:inherit;font-size:13px;cursor:pointer}.adm-toggle.on{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.adm-daterange{display:flex;gap:8px}.adm-daterange .adm-field{flex:1;min-width:0}.adm-daterange .adm-input{width:100%}.adm-loglist{list-style:none;display:flex;flex-direction:column;gap:6px}.adm-logitem{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.adm-logitem-head{width:100%;display:flex;flex-direction:column;gap:3px;text-align:left;background:none;border:0;color:var(--text);padding:10px 12px;font:inherit;cursor:pointer}.adm-logitem-top{display:flex;align-items:baseline;gap:8px}.adm-logitem-action{flex:1;min-width:0;font-size:12px;font-weight:600;overflow-wrap:anywhere}.adm-logitem-when{font-size:11px;color:var(--text-secondary);white-space:nowrap}.adm-logitem-who{font-size:12px;color:var(--text-secondary);overflow-wrap:anywhere}.adm-logitem-sum{font-size:11px;color:var(--text-secondary);opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-logitem-body{padding:0 12px 12px;border-top:1px solid var(--border)}.adm-logitem-body .adm-dl{margin-top:10px}.adm-pre{margin-top:10px;max-height:320px;overflow:auto;background:var(--gray-50);border-radius:6px;padding:8px 10px;font-size:11px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.adm-violations{margin:8px 0 0 18px;display:flex;flex-direction:column;gap:6px}.adm-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0;font-size:13px}@media (min-width: 768px){.adm-listrow-meta{max-width:none}.adm-filters{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;align-items:end}.adm-filters .adm-daterange{grid-column:1 / -1;max-width:420px}.adm-filters>.adm-btn-sec{justify-self:start}.adm-maprow{display:flex;align-items:center;gap:12px}.adm-maprow .adm-label{flex:1;margin-bottom:0;font-size:13px;color:var(--text)}.adm-maprow .adm-input{width:240px}}.adm-user{position:relative;flex-shrink:0;align-self:center}.adm-user-btn{display:flex;align-items:center;gap:8px;position:relative;min-height:40px;padding:4px;background:#ffffff26;border:0;border-radius:999px;color:#fff;font:inherit;cursor:pointer}.adm-user-btn:hover{background:#ffffff47}.adm-user-avatar{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#e30613;font-size:12px;font-weight:800}.adm-user-name{display:none;font-size:13px;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-user-dot{position:absolute;top:2px;right:2px}.adm-user-dd{min-width:230px;max-width:calc(100vw - 24px)}.adm-user-dd .dash-dd-item{min-height:44px;font-size:14px}.adm-user-dd-who{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text);overflow-wrap:anywhere}.adm-user-dd-who span{font-size:12px;color:var(--text-secondary)}.adm-apps{display:none}@media (min-width: 768px){.adm-apps{display:flex;align-self:center}.adm-dd-mobile{display:none!important}.adm-user-btn{padding:4px 12px 4px 4px}.adm-user-name{display:inline}}.pw-form{padding:16px 20px 18px}.pw-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin:12px 0 5px}.pw-label:first-of-type{margin-top:0}.pw-input{width:100%;box-sizing:border-box;padding:9px 10px;font:inherit;font-size:16px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px}.pw-input:focus{outline:none;border-color:var(--primary)}.pw-err{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red);border-radius:6px;padding:8px 10px;font-size:13px;margin-bottom:12px}.pw-ok{font-size:14px;color:var(--green);font-weight:600}.pw-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.pw-btn{min-height:40px;padding:0 16px;border-radius:6px;cursor:pointer;font:inherit;font-size:13px;font-weight:600;border:1px solid var(--border);background:var(--surface);color:var(--text)}.pw-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.pw-btn:disabled{opacity:.6;cursor:not-allowed}@media (min-width: 768px){.pw-input{font-size:14px}}.adm-toolbar-wrap{flex-wrap:wrap}.adm-toolbar .adm-btn-sec{white-space:nowrap}.adm-tag.ok{background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green)}.adm-lklist{list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:10px}.adm-lklist li{border-bottom:1px solid var(--border);padding:4px 8px 4px 12px}.adm-lklist li:last-child{border-bottom:0}.adm-lkrow{display:flex;align-items:center;gap:6px;min-height:48px;flex-wrap:wrap}.adm-lkrow .adm-input{flex:1;min-width:0}.adm-lkrow .adm-btn{margin-top:0}.adm-lkname{flex:1;min-width:0;font-size:14px;overflow-wrap:anywhere}.adm-lkerr{margin:0 0 8px}.adm-range{width:100%;accent-color:var(--primary)}.adm-picked{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}.adm-picklist{list-style:none;margin-top:6px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.adm-picklist button{width:100%;text-align:left;min-height:44px;padding:0 12px;background:var(--surface);color:var(--text);border:0;border-bottom:1px solid var(--border);font:inherit;font-size:14px;cursor:pointer}.adm-picklist li:last-child button{border-bottom:0}.adm-picklist button:hover{background:var(--gray-100)}.adm-file{position:relative;margin-top:4px}.adm-file input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.adm-file.disabled{opacity:.55;pointer-events:none}.adm-implist{list-style:none;display:flex;flex-direction:column}.adm-implist li{border-bottom:1px solid var(--border);padding:6px 0}.adm-implist li.err{background:color-mix(in srgb,var(--red) 6%,transparent)}.adm-implist .adm-check{align-items:flex-start;min-height:40px}.adm-implist-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px}.adm-mailprev{padding:14px 18px 18px;display:flex;flex-direction:column;gap:10px;height:min(78vh,780px);box-sizing:border-box;overflow:hidden}.adm-mailprev>*{flex-shrink:0;margin-top:0;margin-bottom:0}.adm-mailframe{width:100%;flex:1 1 0;min-height:0;border:1px solid var(--border);border-radius:8px;background:#fff}.adm-mailsrc{flex:1 1 0;min-height:0;max-height:none;overflow:auto;margin-top:0}.adm-mailprev>.adm-mailframe,.adm-mailprev>.adm-mailsrc{flex-shrink:1}.adm-mailbulk{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:12px 0 14px}.adm-mailbulk-status{margin:-6px 0 14px}.adm-mailbulk-btns{display:flex;gap:8px;flex-wrap:wrap}.adm-mailbulk-status>p{margin:4px 0}.adm-mailrow{display:flex;align-items:center;gap:6px}.adm-mailrow>.adm-listrow{flex:1;min-width:0}.adm-mailrow-check{display:flex;align-items:center;justify-content:center;width:36px;min-height:44px;flex-shrink:0;cursor:pointer}.adm-mailrow-check input{width:18px;height:18px;cursor:pointer}.adm-mailacts{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}.adm-mailacts .adm-btn,.adm-mailacts .adm-btn-sec,.adm-mailacts .adm-input{margin:0;box-sizing:border-box;height:38px;padding:0 14px;font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid transparent;cursor:pointer}.adm-mailacts .adm-btn-sec{border-color:var(--border)}.adm-mailacts .adm-input{flex:1 1 220px;min-width:180px;justify-content:flex-start;padding:0 10px;cursor:text;border-color:var(--border)}.adm-rte{border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.adm-rte-bar{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:6px;border-bottom:1px solid var(--border);background:var(--gray-50)}.adm-rte-btn{min-width:40px;min-height:40px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;cursor:pointer}.adm-rte-btn:hover:not(:disabled){background:var(--gray-100)}.adm-rte-btn:disabled{opacity:.4;cursor:default}.adm-rte-btn.toggle{font-size:12px;font-weight:600}.adm-rte-btn.toggle.on{background:var(--primary);border-color:var(--primary);color:#fff}.adm-rte-sp{flex:1}.adm-rte-ed{min-height:180px;max-height:55vh;overflow-y:auto;padding:10px 12px;font-size:16px;line-height:1.55;color:var(--text);outline:none}.adm-rte-ed:empty:before{content:attr(data-placeholder);color:var(--text-secondary);pointer-events:none}.adm-rte-ed h3{font-size:16px;margin:8px 0 4px}.adm-rte-ed p{margin:0 0 8px}.adm-rte-ed ul,.adm-rte-ed ol{margin:0 0 8px 22px}.adm-rte-ed a,.adm-rte-preview a{color:var(--primary)}.adm-rte-html{display:block;min-height:220px;border:0;border-radius:0;font-family:ui-monospace,Consolas,monospace;font-size:16px}.adm-rte-preview{margin-top:10px;font-size:13px;line-height:1.55}.adm-listrow.draft{opacity:.65}@media (min-width: 768px){.adm-rte-ed{font-size:14px}.adm-rte-html{font-size:13px}}.adm-crmlink{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.adm-violgroup{margin-top:14px}.adm-violgroup-head{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:13px}.adm-violations li{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.adm-tag.proj-npeg{background:#0057b8;color:#fff}.adm-tag.proj-ptc{background:#2e7d32;color:#fff}.adm-cands{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:8px}.adm-cand{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface)}.adm-cand-name{font-size:14px;font-weight:600;overflow-wrap:anywhere}.adm-cand .adm-actions .adm-btn{margin-top:0}.adm-cand-detail{margin-top:8px;font-size:12px;color:var(--text-secondary);line-height:1.5}.adm-cand-detail ul{margin:4px 0 0 18px}.adm-remind{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px}.adm-remind .adm-actions .adm-btn{margin-top:0}.adm-inline-confirm{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}.adm-inline-confirm .adm-btn{margin-top:0}a.adm-btn-sec{text-decoration:none}.adm-h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);margin:14px 0 6px}.adm-card-sub{font-size:11px;color:var(--text-secondary);margin-top:2px}.adm-home-kpis .adm-card{flex:1 1 140px;min-width:0}.adm-home-kpis .adm-card-value{font-size:22px}.adm-home-ok{margin-top:12px;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:600;background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green)}.adm-home-alerts{list-style:none;margin-top:12px;display:flex;flex-direction:column;gap:6px}.adm-home-alerts li{padding:10px 14px;border-radius:10px;font-size:13px;line-height:1.45;background:color-mix(in srgb,var(--orange) 14%,transparent);color:var(--text);border:1px solid color-mix(in srgb,var(--orange) 40%,transparent)}.adm-home-bars{display:flex;align-items:flex-end;gap:2px;height:90px;margin-top:6px}.adm-home-bar{flex:1;height:100%;display:flex;align-items:flex-end}.adm-home-bar-fill{width:100%;min-height:1px;background:var(--primary);border-radius:2px 2px 0 0;opacity:.85}.adm-home-bar-fill.err{background:var(--red)}.adm-home-bars-axis{display:flex;justify-content:space-between;font-size:10px;color:var(--text-secondary);margin-top:3px}.adm-home-grid{display:grid;grid-template-columns:1fr;gap:0 14px}.adm-home-users,.adm-home-tables,.adm-home-fail{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13px}.adm-home-users li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.adm-home-tables li{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.adm-home-tables code{font-size:12px;overflow-wrap:anywhere;min-width:0}@media (min-width: 1100px){.adm-home-grid{grid-template-columns:1fr 1fr;align-items:start}}.gm-banner-admin{font-size:17px}.sess-chip{display:inline-block;font-size:10px;font-weight:700;line-height:16px;padding:0 6px;border-radius:6px;margin-left:5px;white-space:nowrap;background:var(--badge-info-bg, #e0edff);color:var(--badge-info-text, #1d4ed8)}.sess-chip.warn{background:#fef3c7;color:#92400e}.sess-chip.bad{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red)}.sess-chip.ok{background:color-mix(in srgb,var(--green, #2e7d32) 16%,transparent);color:var(--green, #2e7d32)}.sess-chip.mute{background:var(--gray-100);color:var(--text-secondary)}.viewas-body{padding:14px 16px;display:flex;flex-direction:column;gap:10px}.viewas-list{list-style:none;margin:0;padding:0;max-height:50vh;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.viewas-list li+li{border-top:1px solid var(--border)}.viewas-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:8px 12px;background:transparent;border:0;color:var(--text);font:inherit;cursor:pointer}.viewas-row:hover:not(:disabled){background:var(--gray-100)}.viewas-sub,.viewas-hint{color:var(--text-secondary);font-size:12px}.viewas-go{color:var(--primary);font-size:12px;white-space:nowrap}.viewas-hint{padding:6px 12px}.sess-live{border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin:8px 0;background:var(--surface, #fff)}.sess-live-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:6px}.sess-live-bar{height:8px;border-radius:4px;background:var(--gray-100);overflow:hidden;margin-bottom:8px}.sess-live-bar span{display:block;height:100%;background:var(--green, #2e7d32);transition:width .3s}.sess-live-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:6px;font-size:12px}.sess-live-grid div{display:flex;flex-direction:column}.sess-live-grid b{font-size:16px}.sess-live-grid span{color:var(--text-secondary)}.sess-shared-line{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px solid var(--border)}.sess-shared-line:last-of-type{border-bottom:0}.sess-shared-x{border:0;background:none;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:2px 6px;border-radius:4px}.sess-shared-x:hover{background:var(--bg-hover, rgba(0,0,0,.06));color:var(--red, #c62828)}.sess-picker-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:0;max-height:52vh}.sess-picker-group{display:flex;flex-direction:column;gap:2px}.sess-picker-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 6px;border-radius:6px}.sess-picker-row:hover{background:var(--bg-hover, rgba(0,0,0,.04))}.sess-picker-row.off{opacity:.55}.sess-live-grid .sess-live-split{color:var(--text-secondary);font-size:11px;line-height:1.3}.sess-detail-main{display:flex;flex-direction:column;gap:12px;min-width:0}.sess-detail-2col{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px!important;align-items:start}.sess-detail-live .sess-live{margin:0}@media (max-width: 860px){.sess-detail-2col{grid-template-columns:minmax(0,1fr)}}.sess-live-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px;align-items:start}.sess-live-board .sess-ag-card{margin-bottom:0}.sess-live-card.alert{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.sess-live-next{margin-top:16px;font-size:13px}.sess-live-next ul{margin:6px 0 0;padding-left:18px;line-height:1.7}.sess-pace{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border)}.sess-pace-msg{font-size:14px;font-weight:600;padding:8px 10px;border-radius:6px;margin-bottom:8px;background:var(--gray-100)}.sess-pace-msg.go{background:#e6f4ea;color:#1b5e20}.sess-pace-msg.done{background:#e8f0fe;color:#174ea6}.sess-pace-strip{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.sess-pace-cell{width:34px;display:flex;flex-direction:column;align-items:center;font-size:11px;border:1px solid var(--border);border-radius:6px;padding:3px 2px}.sess-pace-cell.next{border-color:var(--primary, #1a73e8);box-shadow:0 0 0 1px var(--primary, #1a73e8)}.sess-pace-cell b{font-size:12px}.sess-pace-cell i{font-style:normal;color:var(--text-secondary)}.sess-pace-bar{width:100%;height:30px;background:var(--gray-100);border-radius:3px;display:flex;align-items:flex-end;overflow:hidden;margin-bottom:2px}.sess-pace-bar span{display:block;width:100%;background:#9aa0a6;transition:height .3s}.sess-pace-cell.done .sess-pace-bar span{background:var(--green, #2e7d32)}.sess-chip-x{border:0;background:transparent;color:inherit;cursor:pointer;font-size:12px;padding:0 0 0 4px;line-height:1}.sess-sub{font-size:11px;color:var(--text-secondary)}.sess-contact{font-size:12px;line-height:1.5;margin-top:2px;-webkit-user-select:all;user-select:all}.sess-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0}.sess-search{min-width:280px;flex:0 1 340px}.sess-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.sess-acts{display:flex;gap:4px;flex-wrap:nowrap}.sess-btn{border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;line-height:1.5}.sess-btn:hover:not(:disabled){filter:brightness(1.08)}.sess-btn.sec{background:var(--surface);color:var(--text);border-color:var(--border)}.sess-btn.sec:hover:not(:disabled){background:var(--gray-100);filter:none}.sess-btn.danger{background:var(--red);border-color:var(--red)}.sess-btn:disabled{opacity:.45;cursor:default}.dash-table tr.sess-row-other td{opacity:.5}.sess-msg{flex-shrink:0;font-size:12px;padding:8px 12px;border-radius:8px;cursor:default;background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 30%,transparent)}.sess-msg.err{background:color-mix(in srgb,var(--red) 12%,transparent);border-color:color-mix(in srgb,var(--red) 40%,transparent);color:var(--red)}.sess-field{display:flex;flex-direction:column;gap:4px;min-width:0}.sess-row{display:flex;gap:12px;flex-wrap:wrap}.sess-textarea{font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--border);border-radius:5px;background:var(--white);color:var(--text);resize:vertical;width:100%;box-sizing:border-box}.sess-actions-end{display:flex;justify-content:flex-end;gap:8px}.sess-outcomes,.sess-seg{display:flex;flex-wrap:wrap;gap:6px}.sess-seg-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer}.sess-seg-btn:hover{background:var(--gray-100)}.sess-seg-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.sess-msg.warn{background:color-mix(in srgb,#f59e0b 16%,transparent);border-color:color-mix(in srgb,#d97706 55%,transparent);color:var(--text)}.sess-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:baseline;flex-shrink:0}.sess-book-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 800px){.sess-book-grid{grid-template-columns:minmax(0,1fr)}}.sess-bk-item{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:8px;cursor:pointer;background:var(--surface)}.sess-bk-item.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.sess-bk-item.off{opacity:.6;cursor:default}.sess-bk-pick{margin-top:4px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.sess-bk-warn{color:#b45309}.sess-mini-select{padding:1px 4px;font-size:11px;max-width:170px}.sess-slot-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11px;color:var(--text-secondary);margin-bottom:8px}.sess-wk{display:grid;grid-template-columns:repeat(var(--n, 5),minmax(96px,1fr));column-gap:14px;row-gap:8px;max-height:min(560px,calc(100vh - 300px));min-height:200px;overflow:auto;padding-bottom:2px}.sess-wk-day+.sess-wk-day{border-left:1px solid var(--border);padding-left:14px}.sess-wk-head{font-size:12px;font-weight:700;margin-bottom:4px;position:sticky;top:0;background:var(--white);padding:2px 0}.sess-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 6px;align-content:start}.sess-slots>.sess-slot{display:flex;width:100%;text-align:center;box-sizing:border-box}.sess-slots>.sess-sub{grid-column:1 / -1}.sess-slot{font-size:12px;line-height:1;padding:0 7px;border-radius:5px;cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text);display:inline-flex;align-items:center;justify-content:center;height:24px;box-sizing:border-box}.sess-slot.rec{border:1px solid color-mix(in srgb,var(--green, #2e7d32) 55%,transparent);background:color-mix(in srgb,var(--green, #2e7d32) 12%,transparent)}.sess-slot.warn{border:1px dashed #d97706;background:color-mix(in srgb,#f59e0b 18%,transparent)}.sess-slot.sel{border-style:solid;border-color:var(--primary);background:var(--primary);color:#fff;font-weight:700}.sess-slot:hover:not(:disabled):not(.static){filter:brightness(.94)}.sess-slot:disabled{opacity:.4;cursor:default}.sess-slot.na{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);opacity:.55;text-decoration:line-through;cursor:not-allowed}.sess-slot.na:disabled{opacity:.55}.sess-slot.static{cursor:default;pointer-events:none}.sess-slot-n{font-size:10px;line-height:1;margin-left:3px;opacity:.75}.sess-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sess-swatch{width:40px;height:28px;padding:0;border:1px solid var(--border);border-radius:5px;background:none;cursor:pointer}.sess-ag{max-width:720px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:14px}@media (min-width: 1000px){.sess-ag{max-width:1000px}}.sess-ag-day{font-size:13px;font-weight:700;margin:4px 0 8px;color:var(--text-secondary)}.sess-ag-day.warn{color:#b45309}.sess-ag-card{border:1px solid var(--border);border-radius:10px;background:var(--white);padding:10px 12px;margin-bottom:10px}.sess-ag-card.off{opacity:.6}.sess-ag-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.sess-ag-time{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.sess-ag-body{font-size:14px;line-height:1.45}.sess-ag-notes{list-style:none;margin:8px 0 0;padding:8px 10px;background:var(--gray-100);border-radius:8px;font-size:13px;display:flex;flex-direction:column;gap:6px}.sess-ag-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sess-ag-acts .sess-btn{min-height:40px;padding:0 14px;font-size:14px}.sess-ag-recent>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.sess-swapbar{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.sess-swapbar-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sess-follow-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;flex-shrink:0}.sess-follow-card{border:1px solid var(--border);border-left:3px solid var(--warn, #b26a00);border-radius:8px;background:var(--surface, #fff);padding:8px 12px;min-width:0;font-size:12px}.sess-follow-head{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;margin-bottom:4px}.sess-follow-card ul{margin:0;padding:0;list-style:none}.sess-follow-card li{padding:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sess-follow-more{display:inline-block;margin-top:4px;font-size:11px;color:var(--primary);text-decoration:none}.sess-follow-more:hover{text-decoration:underline}@media (max-width: 600px){.sess-ag-acts .sess-btn{flex:1 1 calc(50% - 8px)}}.sess-cal-title{font-size:14px;min-width:120px;text-transform:capitalize}.sess-cal-wrap{flex:1 1 0;min-height:240px;display:flex;flex-direction:column;transition:opacity .15s}.sess-cal{flex:1 1 0;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--white);position:relative}.sess-cal-grid{display:flex;width:max-content;min-width:100%}.sess-cal-gutter{position:sticky;left:0;z-index:6;flex:0 0 46px;width:46px;background:var(--white);border-right:1px solid var(--border)}.sess-cal-corner{position:sticky;top:0;z-index:7;background:var(--white);border-bottom:1px solid var(--border);box-sizing:border-box}.sess-cal-hour{position:absolute;right:4px;font-size:10px;color:var(--text-secondary);transform:translateY(-50%);font-variant-numeric:tabular-nums}.sess-cal-gutter .sess-cal-hour:first-child{transform:none;top:2px!important}.sess-cal-day{flex:1 0 auto;display:flex;flex-direction:column;border-left:3px solid color-mix(in srgb,var(--text) 38%,var(--white))}.sess-cal-day:first-of-type{border-left:0}.sess-cal-dayhead{position:sticky;top:0;z-index:5;background:var(--gray-50);border-bottom:1px solid var(--border);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:2px;padding:0 6px;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sess-cal-day.today .sess-cal-dayhead{background:color-mix(in srgb,var(--primary) 16%,var(--white));color:var(--primary)}.sess-cal-dayhead.closed{background:color-mix(in srgb,#f59e0b 22%,var(--white))}.sess-cal-closename{font-weight:500;font-size:11px;overflow:hidden;text-overflow:ellipsis}.sess-cal-subheads{position:sticky;top:26px;z-index:5;display:flex;background:var(--white);border-bottom:1px solid var(--border);box-sizing:border-box}.sess-cal-subhead{flex:1 1 0;font-size:11px;display:flex;align-items:center;justify-content:center;border-left:1px dotted var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.sess-cal-subhead:first-child{border-left:0}.sess-cal-subhead-n{display:flex;flex-direction:column;min-width:0;line-height:1.2;text-align:left}.sess-cal-subhead-n>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sess-cal-subhead-n>span+span{color:var(--text-secondary)}.sess-cal-subs{display:flex}.sess-cal-sub{flex:1 1 0;position:relative;border-left:1px dotted var(--border);box-sizing:border-box;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--ph) - 1px),var(--gray-200) calc(var(--ph) - 1px),var(--gray-200) var(--ph))}.sess-cal-sub:first-child{border-left:0}.sess-cal-sub.clickable{cursor:cell}.sess-cal-s-tag{display:inline-block;min-width:18px;margin-right:3px;padding:0 3px;border-radius:3px;background:var(--c);color:#fff;font-size:9px;font-weight:700;line-height:13px;text-align:center;vertical-align:1px}.sess-cal-dayhead.pick{width:100%;border:0;border-bottom:1px solid var(--border);font:inherit;font-size:12px;font-weight:700;color:inherit;cursor:pointer}.sess-cal-dayhead.pick:hover{text-decoration:underline}.sess-cal-subhead .sess-dot+.sess-dot{margin-left:-2px}.sess-cal-sub>.sess-cal-off,.sess-cal-sub>.sess-cal-closed,.sess-cal-sub>.sess-cal-block{position:absolute;left:0;right:0;pointer-events:none}.sess-cal-sub>.sess-cal-block{pointer-events:auto;cursor:default}.sess-cal-off{background:color-mix(in srgb,var(--gray-200) 75%,transparent);z-index:0}.sess-cal-closed{background:color-mix(in srgb,#f59e0b 14%,transparent);z-index:1}.sess-cal-hatch{background:repeating-linear-gradient(135deg,#64748b61 0,#64748b61 4px,#64748b1f 4px,#64748b1f 9px);z-index:2}.sess-cal-block{font-size:10px;color:var(--text-secondary);padding:2px 4px;overflow:hidden;box-sizing:border-box;border-top:1px solid rgba(100,116,139,.5);border-bottom:1px solid rgba(100,116,139,.5)}.sess-cal-now{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--red);z-index:4;pointer-events:none}.sess-cal-s{position:absolute;z-index:3;box-sizing:border-box;padding:1px 4px 1px 6px;text-align:left;overflow:hidden;cursor:pointer;font:inherit;font-size:11px;line-height:1.25;color:var(--text);border:1px solid var(--c);border-left-width:4px;border-radius:4px;background:color-mix(in srgb,var(--c) 30%,var(--white));display:flex;flex-direction:column;justify-content:flex-start}.sess-cal-s:hover{filter:brightness(.95);z-index:8}.sess-cal-s:focus-visible{outline:2px solid var(--primary);outline-offset:1px;z-index:8}.sess-cal-s-t{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sess-cal-s-h{font-size:10px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sess-cal-s.st-confirmada{background:color-mix(in srgb,var(--c) 42%,var(--white));border-left-width:6px}.sess-cal-s.st-realizada{opacity:.55;background:var(--gray-100)}.sess-cal-s.st-falta{border:2px solid var(--red);border-left-width:4px;border-left-color:var(--c);background:color-mix(in srgb,var(--red) 8%,var(--white))}.sess-cal-s.st-cancelada{opacity:.4;background:var(--white);border-style:dashed}.sess-cal-s.st-cancelada .sess-cal-s-t{text-decoration:line-through}.sess-cal-corner-ico{position:absolute;top:0;right:2px;font-size:10px;display:flex;gap:1px}.sess-cal-legend{display:flex;flex-wrap:wrap;gap:4px 16px;flex-shrink:0;align-items:center}.sess-cal-legend .lg{display:inline-block;width:14px;height:10px;border:1px solid var(--border);vertical-align:-1px;margin-right:4px;position:static}.sess-cal-msel{position:relative}.sess-cal-pop{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:220px;max-height:320px;overflow:auto;background:var(--white);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #0000002e;padding:6px}.sess-cal-pop-head{display:flex;gap:6px;padding-bottom:6px;border-bottom:1px solid var(--border);margin-bottom:4px}.sess-cal-pop-row{display:flex;padding:3px 4px;border-radius:4px}.sess-cal-pop-row:hover{background:var(--gray-100)}.sess-cal-monthwrap{padding:8px}.sess-cal-month{display:grid;grid-template-columns:repeat(7,minmax(92px,1fr));gap:4px;min-width:680px}.sess-cal-mh{font-size:11px;font-weight:700;color:var(--text-secondary);text-align:center;padding:2px 0}.sess-cal-cell{min-height:96px;border:1px solid var(--border);border-radius:6px;background:var(--white);padding:4px 6px;text-align:left;font:inherit;color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:3px}.sess-cal-cell:hover:not(:disabled){border-color:var(--primary)}.sess-cal-cell.out{opacity:.35;cursor:default;background:var(--gray-50)}.sess-cal-cell.closed{background:color-mix(in srgb,#f59e0b 14%,var(--white))}.sess-cal-cell.today{box-shadow:inset 0 0 0 2px var(--primary)}.sess-cal-cell-d{font-size:12px;font-weight:700}.sess-cal-cell-closure{font-size:10px;color:#92400e;line-height:1.2}.sess-cal-cell-counts{display:flex;flex-direction:column;font-size:11px;line-height:1.35}.sess-cal-cell-counts .ok{color:var(--green, #2e7d32)}.sess-cal-cell-counts .bad{color:var(--red)}.sess-cal-cell-counts .warn{color:#b45309}.sess-cal-cell-dots{display:flex;flex-wrap:wrap;gap:2px;margin-top:auto}.sess-cal-cell-dots .sess-dot{margin-right:0}.sess-bk-nudge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;vertical-align:middle}.sess-bk-nudge button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:5px;padding:0 6px;font-size:11px;line-height:18px;cursor:pointer}.sess-bk-nudge button:hover:not(:disabled){background:var(--gray-100)}.sess-bk-nudge button:disabled{opacity:.4;cursor:default}.sess-cal-sub>.sess-cal-pres,.sess-cal-sub>div>.sess-cal-pres{position:absolute;left:0;right:0;z-index:3;box-sizing:border-box;padding:2px 5px;text-align:left;cursor:pointer;font:inherit;font-size:11px;line-height:1.25;color:var(--text);overflow:hidden;border:1px solid #0f766e;border-left-width:4px;border-radius:4px;background:color-mix(in srgb,#14b8a6 28%,var(--white));display:flex;flex-direction:column;font-weight:600}.sess-cal-pres:hover{filter:brightness(.95)}.sess-cal-sub>.sess-cal-pres.done,.sess-cal-sub>div>.sess-cal-pres.done{opacity:.55;background:var(--gray-100);border-color:var(--border);border-left-color:#0f766e}.sess-cal-sub>div>.sess-cal-travel.done{opacity:.35}.sess-cal-sub>.sess-cal-tech,.sess-cal-sub>div>.sess-cal-tech{position:absolute;right:0;width:36%;z-index:4;box-sizing:border-box;padding:0 3px;text-align:left;cursor:pointer;font:inherit;font-size:10px;line-height:1.2;color:var(--text);overflow:hidden;border:1px solid #b45309;border-left-width:3px;border-radius:4px;background:color-mix(in srgb,#f59e0b 30%,var(--white));font-weight:600}.sess-cal-tech.done{border-color:#15803d;background:color-mix(in srgb,#22c55e 26%,var(--white))}.sess-cal-tech.review{outline:2px dashed #b91c1c;outline-offset:-2px}.sess-cal-tech:hover{filter:brightness(.95)}.sess-cal-sub>.sess-cal-tech.wide,.sess-cal-sub>div>.sess-cal-tech.wide{left:0;right:auto;width:100%;white-space:nowrap;text-overflow:ellipsis;border-color:var(--c, #b45309);background:color-mix(in srgb,var(--c, #f59e0b) 22%,var(--white))}.sess-cal-tech.wide.done{opacity:.6}.sess-cal-tech.cancelled{opacity:.45;text-decoration:line-through}.sess-cal-sub>.sess-cal-visit,.sess-cal-sub>div>.sess-cal-visit{position:absolute;left:0;width:44%;z-index:3;box-sizing:border-box;padding:0 3px;text-align:left;cursor:pointer;font:inherit;font-size:10px;line-height:1.2;color:var(--text);overflow:hidden;border:1px solid #0057b8;border-left-width:3px;border-radius:4px;background:color-mix(in srgb,#0057b8 22%,var(--white));font-weight:600}.sess-cal-visit.ptc{border-color:#2e7d32;background:color-mix(in srgb,#2e7d32 22%,var(--white))}.sess-cal-visit.ext{border-color:#7c3aed;background:color-mix(in srgb,#7c3aed 20%,var(--white))}.sess-cal-visit.done{opacity:.55}.sess-cal-visit.online{border-style:dashed}.sess-visit-q{display:inline-block;min-width:11px;padding:0 2px;margin-left:2px;border-radius:6px;background:#f59e0b;color:#fff;font-weight:700;font-size:9px;line-height:12px;text-align:center;vertical-align:1px}.sess-cal-visit.pending,.sess-cal-legend .lg.sess-cal-visit-pending-lg{background-image:repeating-linear-gradient(135deg,transparent 0 5px,color-mix(in srgb,var(--white) 70%,transparent) 5px 9px)}.sess-cal-legend .lg.sess-cal-visit-pending-lg{border-color:#0057b8;background-color:color-mix(in srgb,#0057b8 22%,var(--white))}.sess-cal-visit:hover{filter:brightness(.95)}.sess-cal-sub>div>.sess-cal-travel{position:absolute;left:0;right:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(135deg,#14b8a659 0,#14b8a659 4px,#14b8a61a 4px,#14b8a61a 9px)}i.lg.sess-cal-pres{background:color-mix(in srgb,#14b8a6 28%,var(--white));border-color:#0f766e}.sess-cal-s.busy,.sess-cal-sub>div>.sess-cal-pres.busy{cursor:default;color:var(--text-muted, #6b7280);opacity:.75;background-image:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--c, #94a3b8) 18%,transparent) 6px 8px)}.sess-pres-pick{border:1px solid var(--border);border-radius:8px;padding:8px 10px;max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:10px}.sess-pres-classes{display:flex;flex-direction:column;gap:3px;padding:4px 0 0 22px}.sess-pres-mons{display:flex;flex-wrap:wrap;gap:6px 16px}.sess-pres-cancel{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid color-mix(in srgb,var(--red) 40%,transparent);border-radius:8px;background:color-mix(in srgb,var(--red) 6%,transparent)}.sess-cal-pres>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipe-pill{border:1px solid var(--border);background:transparent;color:var(--text-secondary);border-radius:999px;padding:3px 12px;font-size:12px;cursor:pointer;line-height:1.4}.pipe-pill:hover{filter:brightness(.96)}.pipe-pill.active{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff;font-weight:600}@media (max-width: 700px){input,select,textarea,.filter-select{font-size:16px!important}.sess-cal-hide-sm{display:none!important}.sess-toolbar{gap:6px}.sess-cal-title{min-width:0;flex:1 1 100%;order:5}.sess-cal-count{order:6;flex:1 1 100%;margin-left:0!important}.sess-cal-wrap{min-height:320px}.sess-cal-gutter{flex-basis:38px;width:38px}}#dash-subnav{scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}#dash-subnav::-webkit-scrollbar{display:none}#dash-subnav .dash-subnav-btn{flex:0 0 auto;scroll-snap-align:center;white-space:nowrap}@media (max-width: 700px){.estat-filter-bar{gap:8px 12px;padding:8px 12px}.estat-filter-bar .estat-filter-group{flex:1 1 100%;min-width:0}.estat-filter-bar .filter-select{width:100%;max-width:100%;min-width:0;text-overflow:ellipsis}.sess-app:not([data-sess-page=calendario]):not([data-sess-page=minha]) #dash-content{overflow-y:auto;overflow-x:hidden}.sess-app:not([data-sess-page=calendario]):not([data-sess-page=minha]) .estat-shell{height:auto;min-height:100%;overflow:visible}.sess-app:not([data-sess-page=calendario]):not([data-sess-page=minha]) .dash-page{height:auto;overflow:visible;padding:10px 12px}.sess-app:not([data-sess-page=calendario]):not([data-sess-page=minha]) .dash-fill,.sess-app:not([data-sess-page=calendario]):not([data-sess-page=minha]) .dash-grid{flex:0 0 auto;flex-direction:column;display:flex;grid-template-columns:none!important;grid-template-rows:none!important}.sess-app:not([data-sess-page=calendario]):not([data-sess-page=minha]) .dash-resizer{display:none}.sess-app:not([data-sess-page=calendario]):not([data-sess-page=minha]) .dash-card{flex:0 0 auto;min-height:0;max-height:75vh}.sess-app .dash-card-scroll{overflow-x:auto}.sess-app .sess-search{min-width:0;flex:1 1 100%}}.turmas-kpis{flex-wrap:nowrap;gap:8px}.turmas-kpis .dash-kpi-card{flex:1 1 0;min-width:0;padding:8px 6px}.turmas-kpis .dash-kpi-value{font-size:18px;white-space:nowrap}.turmas-kpis .dash-kpi-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.turma-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-bottom:16px}.turma-cat{border:1px solid var(--border);border-left-width:4px;border-radius:6px;padding:6px 4px 6px 10px;min-width:0;height:118px;display:flex;flex-direction:column;box-sizing:border-box}.turma-cat.ajuste{border-style:dashed;border-left-width:1px}.turma-cat-head,.turma-cat-list{overflow-y:hidden;scrollbar-gutter:stable;scrollbar-width:thin}.turma-cat-head{display:flex;justify-content:space-between;gap:8px;font-weight:600;font-size:13px}.turma-cat-head>:last-child,.turma-cat-pts{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.turma-cat-list{overflow-y:auto;overflow-x:hidden;flex:1 1 0;min-height:0;margin-top:4px}.turma-cat-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:3px 0;border-top:1px solid var(--border);font-size:12px;line-height:1.3}.turma-cat-item:first-child{border-top:0}.turma-cat-label{color:var(--text-secondary);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.turma-cat-sub{font-size:11px;opacity:.75}.turma-cat-note{font-size:12px;color:var(--text-secondary);margin-top:4px}.tar-page{display:flex;flex-direction:column;gap:12px}.tar-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;flex-shrink:0}.tar-select{font:inherit;font-size:13px;padding:4px 8px;border:1px solid var(--border);border-radius:5px;background:var(--white);color:var(--text)}.tar-panels{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:12px}.tar-mini{list-style:none;margin:0;padding:6px 12px 10px;font-size:13px}.tar-mini li{padding:4px 0;border-bottom:1px solid var(--border)}.tar-mini li:last-child{border-bottom:0}.tar-link{border:0;background:none;padding:0;color:var(--primary);font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.tar-link:hover{text-decoration:underline}.tar-late{color:var(--red);font-weight:700}.tar-soon{color:#c05621;font-weight:700}.tar-wrap{white-space:normal}.tar-ficha{padding:14px 16px;display:flex;flex-direction:column;gap:14px}.tar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 16px;font-size:13px}.tar-info>div{margin-top:2px}.tar-links{display:flex;gap:8px;flex-wrap:wrap;font-size:13px}.tar-links a.sess-btn,a.tar-btn-link{display:inline-flex;align-items:center;text-decoration:none}a.tar-btn-link{padding:2px 8px;font-weight:600}.tar-section{min-width:0}.tar-section h4{margin:0 0 6px;font-size:14px}.tar-html{font-size:13px;line-height:1.5;border:1px solid var(--border);border-radius:6px;padding:8px 12px;max-height:340px;overflow:auto;background:var(--surface, var(--white))}.tar-html p{margin:0 0 8px}.tar-val-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tar-reason{font-size:13px;margin:6px 0 0}.tar-box{border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin-top:8px;display:flex;flex-direction:column;gap:8px}.tar-steps td{vertical-align:top;font-size:13px}.tar-res-ok{color:var(--green);font-weight:600}.tar-res-falhou{color:var(--red);font-weight:600}.tar-res-nao_verificavel{color:#c05621;font-weight:600}.tar-pre{white-space:pre-wrap;font-size:13px;margin:0}.tar-hist{list-style:none;margin:0;padding:0;font-size:13px;max-height:260px;overflow:auto}.tar-hist li{padding:3px 0;border-bottom:1px solid var(--border)}
