:root{--sge-navy:#061b43;--sge-navy-2:#08275f;--sge-blue:#1769ff;--sge-bg:#f4f7fb;--sge-border:#dfe6f1;--sge-text:#14213d;--sge-muted:#67748e;--sge-sidebar:285px}
*{box-sizing:border-box}body{margin:0;background:var(--sge-bg);color:var(--sge-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.sge-shell{min-height:100vh}.sge-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sge-sidebar);background:linear-gradient(180deg,#071b42,#04183a);color:#fff;padding:18px 16px;display:flex;flex-direction:column;z-index:1040}.sge-brand{display:flex;align-items:center;gap:12px;padding:0 2px 18px}.sge-brand-mark{width:50px;height:50px;border-radius:13px;background:linear-gradient(145deg,#2f75ff,#1760ec);display:grid;place-items:center;font-size:26px;box-shadow:0 8px 24px rgba(23,105,255,.35)}.sge-brand h1{font-size:25px;margin:0;font-weight:750}.sge-brand small{color:#d8e3f9}.sge-search{position:relative;margin:4px 0 14px}.sge-search input{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.23);border-radius:10px;color:#fff;padding:11px 14px 11px 38px}.sge-search input::placeholder{color:#aebbd5}.sge-search .bi{position:absolute;left:13px;top:12px;color:#b8c6e1}.sge-nav{overflow:auto;padding-right:3px}.sge-nav a{display:flex;align-items:center;gap:12px;color:#eef4ff;text-decoration:none;padding:11px 12px;border-radius:9px;margin:2px 0;font-size:15px}.sge-nav a:hover{background:rgba(255,255,255,.08)}.sge-nav a.active{background:linear-gradient(90deg,#1769ff,#326ee5);box-shadow:0 8px 20px rgba(12,88,235,.28)}.sge-nav .bi{font-size:18px;width:22px}.sge-nav .arrow{margin-left:auto}.sge-environment{margin-top:auto;border:1px solid rgba(255,255,255,.13);border-radius:11px;padding:12px;display:flex;gap:10px;align-items:center;color:#dbe7fb}.sge-environment .dot{margin-left:auto;width:9px;height:9px;border-radius:50%;background:#2cd66f}.sge-main{margin-left:var(--sge-sidebar);min-height:100vh}.sge-topbar{height:72px;background:#fff;border-bottom:1px solid var(--sge-border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:1030}.sge-topbar h2{font-size:21px;margin:0}.sge-user{display:flex;align-items:center;gap:10px}.sge-avatar{width:40px;height:40px;border-radius:11px;background:linear-gradient(145deg,#7b45ec,#5030ce);color:#fff;display:grid;place-items:center;font-weight:700}.sge-content{padding:22px 28px 40px}.sge-breadcrumb{font-size:13px;color:var(--sge-muted);margin-top:3px}.sge-tabs{background:#fff;border-bottom:1px solid var(--sge-border);padding:0 28px;display:flex;gap:6px}.sge-tab{padding:13px 17px;text-decoration:none;color:#506078;border:1px solid transparent;border-bottom:0;border-radius:9px 9px 0 0}.sge-tab.active{color:var(--sge-blue);background:#f6f8ff;border-color:var(--sge-border);font-weight:650}.sge-card{background:#fff;border:1px solid var(--sge-border);border-radius:12px;box-shadow:0 2px 8px rgba(20,33,61,.035)}.sge-card-header{padding:16px 20px;border-bottom:1px solid var(--sge-border);display:flex;align-items:center;gap:9px;font-weight:700}.sge-card-body{padding:20px}.sge-kpi{padding:17px;display:flex;gap:13px;align-items:center}.sge-kpi-icon{width:46px;height:46px;border-radius:13px;background:#eef4ff;color:var(--sge-blue);display:grid;place-items:center;font-size:22px}.sge-kpi strong{font-size:23px;display:block}.form-label{font-size:13px;font-weight:650;color:#485774}.form-control,.form-select{border-color:#d8e0ec;border-radius:8px;min-height:41px}.form-control:focus,.form-select:focus{border-color:#76a4ff;box-shadow:0 0 0 .2rem rgba(23,105,255,.12)}.btn{border-radius:8px}.btn-primary{background:var(--sge-blue);border-color:var(--sge-blue)}.table{--bs-table-bg:transparent}.table thead th{font-size:12px;text-transform:none;color:#52617a;background:#f8fafe;border-bottom-color:var(--sge-border);white-space:nowrap}.table td{vertical-align:middle;font-size:13px;border-color:#edf1f6}.badge-soft-success{background:#e4f8ea;color:#218846}.badge-soft-warning{background:#fff0dc;color:#b86b00}.badge-soft-danger{background:#ffe8e8;color:#c33838}.badge-soft-primary{background:#eaf1ff;color:#175fde}.sge-toolbar{display:flex;gap:8px;flex-wrap:wrap}.sge-toolbar .btn{min-width:105px}.sge-empty{padding:46px;text-align:center;color:var(--sge-muted)}.sge-section-title{display:flex;align-items:center;gap:8px;font-weight:750;border-bottom:1px solid var(--sge-border);padding-bottom:10px;margin-bottom:16px}.sge-side-summary{position:sticky;top:95px}.sge-mobile-toggle{display:none}.sge-action-icon{width:34px;height:34px;display:inline-grid;place-items:center;padding:0}.alert{border-radius:10px}.pagination .page-link{border-radius:7px;margin:0 2px;color:#31527f}
@media(max-width:991px){.sge-sidebar{transform:translateX(-100%);transition:.2s}.sge-sidebar.open{transform:none}.sge-main{margin-left:0}.sge-mobile-toggle{display:inline-flex}.sge-content{padding:18px}.sge-topbar{padding:0 16px}.sge-tabs{padding:0 14px;overflow:auto}.sge-side-summary{position:static}}
.grade-input{min-width:86px}.input-group-text{border-color:#d8e0ec;color:#67748e}.sge-card .table tbody tr:hover{background:#fbfcff}

/* Portal do aluno e responsável */
.portal-student-picker{margin:18px 16px 0;padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:12px}.portal-student-picker .form-select{background-color:#fff}.portal-selected-student{margin:18px 16px 0;padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:12px;color:#fff;display:flex;align-items:center;gap:12px}.portal-selected-student>i{font-size:30px}.portal-selected-student strong,.portal-selected-student small{display:block}.portal-selected-student small{color:rgba(255,255,255,.65)}.portal-hero{background:linear-gradient(135deg,#0b4edb,#2978ff);color:#fff;border-radius:18px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 12px 30px rgba(23,105,255,.22)}.portal-hero h3{font-size:28px;margin:4px 0}.portal-eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.08em;opacity:.75}.portal-hero-icon{width:78px;height:78px;border-radius:20px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:38px}.portal-announcements a{display:block;text-decoration:none;color:inherit;padding:12px 0;border-bottom:1px solid #edf1f8}.portal-announcements a:last-child{border-bottom:0}.portal-announcements strong,.portal-announcements span,.portal-announcements small{display:block}.portal-announcements small{color:#7b879c;margin:3px 0}.portal-announcements span{color:#56647a;font-size:14px}.portal-message-card{display:block;text-decoration:none;color:inherit;transition:.2s}.portal-message-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(19,42,79,.1)}.portal-message-card.unread{border-left:4px solid #1769ff}.portal-message-card.read{opacity:.88}.portal-message-body{font-size:16px;line-height:1.75;color:#344158}@media(max-width:767px){.portal-hero{padding:22px}.portal-hero-icon{display:none}}

/* Menu modular retrátil */
.sge-nav{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.34) transparent}
.sge-nav::-webkit-scrollbar{width:6px}.sge-nav::-webkit-scrollbar-track{background:transparent}.sge-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:20px}
.sge-nav-link,.sge-nav-group-toggle{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:12px;color:#eef4ff;text-decoration:none;padding:11px 12px;border-radius:9px;margin:2px 0;font-size:15px;text-align:left}
.sge-nav-link:hover,.sge-nav-group-toggle:hover{background:rgba(255,255,255,.08);color:#fff}
.sge-nav-link.active,.sge-nav-group.active>.sge-nav-group-toggle{background:linear-gradient(90deg,#1769ff,#326ee5);box-shadow:0 8px 20px rgba(12,88,235,.28)}
.sge-nav-link .bi,.sge-nav-group-toggle .bi{font-size:18px;width:22px;flex:0 0 22px}.sge-nav-link .arrow,.sge-nav-group-toggle .arrow{margin-left:auto;width:auto;font-size:13px;transition:transform .2s ease}
.sge-nav-group.open>.sge-nav-group-toggle .arrow{transform:rotate(180deg)}
.sge-nav-group{margin:2px 0}.sge-submenu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.sge-submenu>*{overflow:hidden}.sge-nav-group.open>.sge-submenu{grid-template-rows:1fr}
.sge-nav-group.open>.sge-submenu::before{content:"";display:block}
.sge-submenu-link{position:relative;display:flex;align-items:center;gap:9px;min-height:35px;padding:8px 10px 8px 42px;border-radius:8px;color:#bac8e1;text-decoration:none;font-size:13px;margin:1px 0}
.sge-submenu-link:hover{color:#fff;background:rgba(255,255,255,.07)}.sge-submenu-link.active{color:#fff;background:rgba(40,113,255,.27);font-weight:650}
.sge-submenu-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7;flex:0 0 6px}.sge-submenu-link.active .sge-submenu-dot{background:#5e9aff;box-shadow:0 0 0 3px rgba(94,154,255,.16)}
.sge-nav-link.disabled,.sge-submenu-link.disabled{cursor:not-allowed;opacity:.58}.sge-nav-link.disabled:hover,.sge-submenu-link.disabled:hover{background:transparent;color:inherit}
.sge-coming-soon{margin-left:auto;font-size:9px;text-transform:uppercase;letter-spacing:.04em;border:1px solid rgba(255,255,255,.2);padding:2px 5px;border-radius:999px;color:#a9b9d6;white-space:nowrap}
.sge-menu-logout{margin:8px 0 3px}.sge-logout-button{border:0;background:transparent;color:#ffb8b8}.sge-logout-button:hover{color:#fff;background:rgba(215,54,54,.22)}
.sge-nav-group[hidden],.sge-nav-link[hidden],.sge-menu-logout[hidden]{display:none!important}

/* Navegação de múltiplas telas por abas */
.sge-tab-host{height:100vh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.sge-tab-host .sge-topbar{flex:0 0 72px}
.sge-runtime-tabs{flex:0 0 auto;min-height:49px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;align-items:flex-end;padding-top:6px;scrollbar-width:thin}
.sge-runtime-tab{display:inline-flex;align-items:center;gap:10px;max-width:260px;padding:11px 13px;border:1px solid transparent;border-bottom:0;border-radius:9px 9px 0 0;background:transparent;color:#52617a;font-size:14px;cursor:pointer}
.sge-runtime-tab:hover{background:#f5f8fd;color:#174eac}
.sge-runtime-tab.active{background:#fff;color:var(--sge-blue);border-color:var(--sge-border);font-weight:650}
.sge-runtime-tab-label{display:block;max-width:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sge-runtime-tab-close{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;color:#77849a;font-size:11px}
.sge-runtime-tab-close:hover{background:#e8edf5;color:#d33}
.sge-tab-workspace{position:relative;flex:1 1 auto;min-height:0;background:var(--sge-bg);overflow:hidden}
.sge-tab-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--sge-bg);display:none}
.sge-tab-frame.active{display:block}
body.sge-embedded{margin:0;background:var(--sge-bg);min-height:100vh}
.sge-embedded-content{padding:22px 28px 40px;min-height:100vh}
.sge-embedded-page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.sge-embedded-page-heading h2{font-size:24px;margin:0}
@media(max-width:991px){.sge-tab-host{height:100vh}.sge-embedded-content{padding:16px}.sge-runtime-tab{max-width:190px}.sge-runtime-tab-label{max-width:140px}}

/* Quadro de horários */
.horario-card{overflow:hidden}.horario-grid{min-width:1100px;table-layout:fixed}.horario-grid thead th{background:#2355e7;color:#fff;text-align:center;padding:.85rem}.horario-grid th.horario-time{width:150px}.horario-grid tbody th{background:#f4f6fa;text-align:center;vertical-align:middle;font-size:1rem}.horario-grid tbody th small{display:block;font-size:.72rem;margin-top:.25rem}.horario-cell{height:92px;padding:.35rem!important;background:color-mix(in srgb,var(--slot-color) 18%,white);vertical-align:middle!important}.horario-select{font-size:.72rem;margin-bottom:.35rem;background:rgba(255,255,255,.84)}.horario-subject{text-align:center;font-weight:800;font-size:.78rem;text-transform:uppercase}.horario-teacher{text-align:center;font-size:.72rem;margin-top:.35rem}.horario-break-row th{height:54px}.horario-break{background:#eeeae6!important;text-align:center!important;font-weight:700;font-size:1rem;vertical-align:middle!important}.horario-break i{font-size:1.35rem;margin-right:.4rem}@media print{.sge-sidebar,.sge-topbar,.sge-tabs,.btn,.horario-select{display:none!important}.sge-main{margin:0!important;padding:0!important}.horario-grid{min-width:100%;font-size:10px}.horario-cell{height:70px}}
@media print {
  .sge-sidebar,.sge-topbar,.sge-tabs,.btn,form,.sge-page-header{display:none!important}
  .sge-main,.sge-content{margin:0!important;padding:0!important;width:100%!important}
  .report-print-area{border:0!important;box-shadow:none!important}
  .report-print-area table{font-size:10px}
  body{background:#fff!important}
}

/* Menu hierárquico: módulo > submenu > submenu interno */
.sge-nav-group-toggle,.sge-submenu-group-toggle{width:100%;border:0;background:transparent;color:inherit;display:flex;align-items:center;text-align:left;cursor:pointer}
.sge-nav-group-toggle{gap:12px;color:#eef4ff;padding:11px 12px;border-radius:9px;margin:2px 0;font-size:15px}
.sge-nav-group-toggle:hover{background:rgba(255,255,255,.08)}
.sge-nav-group.active>.sge-nav-group-toggle{color:#fff}
.sge-nav-group-toggle>.bi:first-child{font-size:18px;width:22px}
.sge-nav-group-toggle .arrow,.sge-submenu-group-toggle .arrow{margin-left:auto;transition:transform .2s ease}
.sge-nav-group.open>.sge-nav-group-toggle .arrow,.sge-submenu-group.open>.sge-submenu-group-toggle .arrow{transform:rotate(180deg)}
.sge-submenu{visibility:hidden;min-height:0}
.sge-nav-group.open>.sge-submenu,.sge-submenu-group.open>.sge-submenu{visibility:visible;grid-template-rows:1fr}
.sge-submenu-group{margin:1px 0}
.sge-submenu-group-toggle{min-height:35px;padding:8px 10px 8px 42px;color:#c7d4eb;border-radius:8px;font-size:13px;font-weight:650}
.sge-submenu-group-toggle:hover{color:#fff;background:rgba(255,255,255,.07)}
.sge-submenu-group.active>.sge-submenu-group-toggle{color:#fff;background:rgba(40,113,255,.18)}
.sge-submenu-nested{margin-left:16px;border-left:1px solid rgba(255,255,255,.14)}
.sge-submenu-link.level-2{padding-left:34px;font-size:12.5px}
.sge-submenu-link.level-3{padding-left:48px;font-size:12px}
.sge-submenu-link[hidden],.sge-submenu-group[hidden],.sge-nav-group[hidden]{display:none!important}

/* v3.4.1 - cabeçalho de módulo com ação principal e seta independente */
.sge-nav-group-header{display:flex;align-items:stretch;border-radius:10px;overflow:hidden}
.sge-nav-group-main{flex:1;min-width:0;display:flex;align-items:center;gap:13px;padding:11px 8px 11px 12px;color:#dbe7fb;text-decoration:none;font-size:14px}
.sge-nav-group-main:hover,.sge-nav-group-main.active{color:#fff;background:rgba(255,255,255,.07)}
.sge-nav-group-main>i{width:20px;text-align:center;font-size:17px}
.sge-nav-group-arrow{flex:0 0 42px;border:0;background:transparent;color:#dbe7fb;display:flex;align-items:center;justify-content:center;cursor:pointer}
.sge-nav-group-arrow:hover{color:#fff;background:rgba(255,255,255,.07)}
.sge-nav-group-arrow .arrow{transition:transform .2s ease}
.sge-nav-group.open>.sge-nav-group-header .sge-nav-group-arrow .arrow{transform:rotate(180deg)}

/* Subgrupos navegáveis: nome abre a tela padrão e seta controla os itens internos. */
.sge-submenu-group-header{display:flex;align-items:stretch;margin:1px 0;border-radius:8px;overflow:hidden}
.sge-submenu-group-main{min-height:35px;flex:1;display:flex;align-items:center;padding:8px 6px 8px 42px;color:#c7d4eb;text-decoration:none;font-size:13px;font-weight:650}
.sge-submenu-group-main:hover{color:#fff;background:rgba(255,255,255,.07)}
.sge-submenu-group-main.active,.sge-submenu-group.active>.sge-submenu-group-header .sge-submenu-group-main{color:#fff;background:rgba(40,113,255,.18)}
.sge-submenu-group-arrow{width:36px;border:0;background:transparent;color:#c7d4eb;display:flex;align-items:center;justify-content:center;cursor:pointer}
.sge-submenu-group-arrow:hover{color:#fff;background:rgba(255,255,255,.07)}
.sge-submenu-group-arrow .arrow{transition:transform .2s ease}
.sge-submenu-group.open>.sge-submenu-group-header .sge-submenu-group-arrow .arrow{transform:rotate(180deg)}

/* === SGE UI 2026 - identidade visual padronizada com a família WL === */
:root{
  --sge-accent:#245d96;--sge-accent-strong:#174a7d;--sge-accent-soft:#eaf3fb;
  --sge-menu-bg:#ffffff;--sge-menu-text:#10213f;--sge-menu-muted:#61728e;
  --sge-sidebar-shell:#edf4fb;--sge-sidebar-border:#d6e2ef;
}
body[data-sge-theme="indigo"]{--sge-accent:#4f46e5;--sge-accent-strong:#3730a3;--sge-accent-soft:#eef2ff;--sge-sidebar-shell:#f1f3ff;--sge-sidebar-border:#dfe3ff}
body[data-sge-theme="emerald"]{--sge-accent:#0f8a67;--sge-accent-strong:#087052;--sge-accent-soft:#e9f8f3;--sge-sidebar-shell:#edf9f5;--sge-sidebar-border:#d3eee5}
body[data-sge-theme="violet"]{--sge-accent:#7c3aed;--sge-accent-strong:#5b21b6;--sge-accent-soft:#f3efff;--sge-sidebar-shell:#f6f2ff;--sge-sidebar-border:#e7ddff}
body[data-sge-theme="orange"]{--sge-accent:#d97706;--sge-accent-strong:#b45309;--sge-accent-soft:#fff4e5;--sge-sidebar-shell:#fff8ed;--sge-sidebar-border:#f4e1c5}
body[data-sge-theme="rose"]{--sge-accent:#db3f68;--sge-accent-strong:#b4234b;--sge-accent-soft:#fff0f4;--sge-sidebar-shell:#fff5f7;--sge-sidebar-border:#f6dbe3}
body[data-sge-theme="teal"]{--sge-accent:#0f7f8c;--sge-accent-strong:#0b6470;--sge-accent-soft:#e8f7f8;--sge-sidebar-shell:#edf9fa;--sge-sidebar-border:#d2ecee}
body[data-sge-theme="graphite"]{--sge-accent:#475569;--sge-accent-strong:#334155;--sge-accent-soft:#eef2f6;--sge-sidebar-shell:#f1f4f7;--sge-sidebar-border:#dce3ea}
body[data-sge-theme="blue"]{--sge-accent:#245d96;--sge-accent-strong:#174a7d;--sge-accent-soft:#eaf3fb;--sge-sidebar-shell:#edf4fb;--sge-sidebar-border:#d6e2ef}

.sge-sidebar{width:var(--sge-sidebar);background:var(--sge-sidebar-shell);color:var(--sge-menu-text);padding:10px 8px 10px;border-right:1px solid var(--sge-sidebar-border);box-shadow:3px 0 16px rgba(16,33,63,.06)}
.sge-brand{background:linear-gradient(135deg,var(--sge-accent-strong),var(--sge-accent));border-radius:0 0 20px 20px;margin:-10px -8px 12px;padding:14px 14px 16px;color:#fff;min-height:82px}
.sge-brand-mark{width:48px;height:48px;border-radius:13px;background:rgba(255,255,255,.16);box-shadow:none;border:1px solid rgba(255,255,255,.22);overflow:hidden}
.sge-brand h1{font-size:21px}.sge-brand small{color:rgba(255,255,255,.85);font-size:12px}
.sge-brand-collapse{margin-left:auto;width:38px;height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer}
.sge-brand-collapse:hover{background:rgba(255,255,255,.22)}
.sge-search{margin:4px 6px 12px}.sge-search input{background:#fff;border:1px solid var(--sge-sidebar-border);border-radius:14px;color:var(--sge-menu-text);padding:11px 14px 11px 38px;box-shadow:0 1px 2px rgba(16,33,63,.02)}
.sge-search input::placeholder{color:#7b8ba3}.sge-search .bi{color:var(--sge-accent)}
.sge-nav{padding:0 5px 4px;scrollbar-width:thin;scrollbar-color:#aebdce transparent}
.sge-nav>a,.sge-nav .sge-nav-group{margin:5px 0}
.sge-nav a,.sge-nav .sge-nav-group-toggle,.sge-nav .sge-nav-group-header{color:var(--sge-menu-text)}
.sge-nav-link,.sge-nav-group-toggle,.sge-nav-group-header{border-radius:13px!important;background:#fff;border:1px solid transparent;box-shadow:0 1px 2px rgba(16,33,63,.025)}
.sge-nav a:hover,.sge-nav-group-toggle:hover,.sge-nav-group-header:hover{background:var(--sge-accent-soft)!important;color:var(--sge-accent-strong)!important}
.sge-nav a.active,.sge-nav-link.active,.sge-nav-group.active>.sge-nav-group-header,.sge-nav-group.active>.sge-nav-group-toggle{background:linear-gradient(135deg,var(--sge-accent-strong),var(--sge-accent))!important;color:#fff!important;box-shadow:0 8px 18px color-mix(in srgb,var(--sge-accent) 24%,transparent)}
.sge-nav .bi{color:var(--sge-accent)}.sge-nav a.active .bi,.sge-nav-group.active>.sge-nav-group-header .bi,.sge-nav-group.active>.sge-nav-group-toggle .bi{color:#fff}
.sge-nav-group-main{color:inherit!important}.sge-nav-group-arrow{color:inherit!important}
.sge-submenu{margin:3px 4px 7px 14px;border-left:1px solid var(--sge-sidebar-border)}
.sge-submenu-link{color:#44546d!important;background:transparent!important;box-shadow:none!important;border-radius:9px!important;padding-top:8px!important;padding-bottom:8px!important}
.sge-submenu-link:hover,.sge-submenu-link.active{color:var(--sge-accent-strong)!important;background:var(--sge-accent-soft)!important}
.sge-submenu-dot{background:var(--sge-accent)!important}
.sge-submenu-group-toggle,.sge-submenu-group-header{color:#33435b!important}
.sge-environment{margin:10px 6px 0;border:1px solid var(--sge-sidebar-border);border-radius:14px;padding:12px;background:#fff;color:var(--sge-menu-text);box-shadow:0 2px 8px rgba(16,33,63,.04)}
.sge-environment small{color:var(--sge-menu-muted)}
.sge-topbar{box-shadow:0 1px 5px rgba(16,33,63,.04)}
.btn-primary{background:var(--sge-accent);border-color:var(--sge-accent)}.btn-primary:hover{background:var(--sge-accent-strong);border-color:var(--sge-accent-strong)}
.sge-tab.active{color:var(--sge-accent)}

.sge-appearance-wrap{position:relative}.sge-appearance-btn{display:inline-flex;align-items:center;gap:7px}.sge-appearance-panel{position:absolute;right:0;top:calc(100% + 10px);width:286px;background:#fff;border:1px solid #dbe3ee;border-radius:15px;box-shadow:0 18px 50px rgba(20,33,61,.18);padding:14px;z-index:1090;display:none}.sge-appearance-panel.open{display:block}.sge-appearance-title{font-weight:750;margin-bottom:2px}.sge-appearance-subtitle{font-size:12px;color:#6c7a90;margin-bottom:12px}.sge-theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.sge-theme-choice{border:1px solid #dbe3ee;background:#fff;border-radius:11px;padding:8px 4px 7px;font-size:10px;color:#4b5b73;cursor:pointer}.sge-theme-choice:hover,.sge-theme-choice.active{border-color:var(--sge-accent);box-shadow:0 0 0 2px var(--sge-accent-soft)}.sge-theme-swatch{width:27px;height:27px;border-radius:9px;margin:0 auto 5px;display:block}.sge-theme-choice[data-theme="blue"] .sge-theme-swatch{background:#245d96}.sge-theme-choice[data-theme="indigo"] .sge-theme-swatch{background:#4f46e5}.sge-theme-choice[data-theme="emerald"] .sge-theme-swatch{background:#0f8a67}.sge-theme-choice[data-theme="violet"] .sge-theme-swatch{background:#7c3aed}.sge-theme-choice[data-theme="orange"] .sge-theme-swatch{background:#d97706}.sge-theme-choice[data-theme="rose"] .sge-theme-swatch{background:#db3f68}.sge-theme-choice[data-theme="teal"] .sge-theme-swatch{background:#0f7f8c}.sge-theme-choice[data-theme="graphite"] .sge-theme-swatch{background:#475569}

body.sge-sidebar-collapsed{--sge-sidebar:82px}.sge-sidebar,.sge-main{transition:width .2s ease,margin-left .2s ease}.sge-sidebar-collapsed .sge-brand{justify-content:center;padding-left:8px;padding-right:8px}.sge-sidebar-collapsed .sge-brand>div:nth-child(2),.sge-sidebar-collapsed .sge-search,.sge-sidebar-collapsed .sge-nav span,.sge-sidebar-collapsed .sge-nav .arrow,.sge-sidebar-collapsed .sge-environment>div,.sge-sidebar-collapsed .sge-environment .dot,.sge-sidebar-collapsed .sge-brand-collapse{display:none!important}.sge-sidebar-collapsed .sge-brand-mark{width:46px;height:46px}.sge-sidebar-collapsed .sge-nav a,.sge-sidebar-collapsed .sge-nav-group-toggle,.sge-sidebar-collapsed .sge-nav-group-main{justify-content:center;padding-left:10px;padding-right:10px}.sge-sidebar-collapsed .sge-nav .bi{width:auto;font-size:20px}.sge-sidebar-collapsed .sge-submenu{display:none!important}.sge-sidebar-collapsed .sge-environment{justify-content:center}.sge-sidebar-collapsed .sge-environment>.bi{font-size:20px;color:var(--sge-accent)}
@media(max-width:991px){body.sge-sidebar-collapsed{--sge-sidebar:285px}.sge-brand-collapse{display:none}.sge-sidebar-collapsed .sge-brand>div:nth-child(2),.sge-sidebar-collapsed .sge-search,.sge-sidebar-collapsed .sge-nav span,.sge-sidebar-collapsed .sge-nav .arrow,.sge-sidebar-collapsed .sge-environment>div,.sge-sidebar-collapsed .sge-environment .dot{display:initial!important}}

/* Correção 2026-10-05: botão de expandir permanece visível com a barra recolhida */
.sge-brand{position:relative}
.sge-sidebar-collapsed .sge-brand-collapse{
  display:grid!important;
  position:absolute;
  right:-3px;
  bottom:-7px;
  width:30px;
  height:30px;
  border-radius:10px;
  border:2px solid #fff;
  background:var(--sge-accent);
  color:#fff;
  box-shadow:0 5px 14px rgba(16,33,63,.22);
  z-index:10;
}
.sge-sidebar-collapsed .sge-brand-collapse:hover{background:var(--sge-accent-strong)}
.sge-sidebar-collapsed .sge-brand-collapse .bi{font-size:17px}
@media(max-width:991px){.sge-sidebar-collapsed .sge-brand-collapse{display:none!important}}


/* Preferência de abertura das abas */
.sge-appearance-divider{height:1px;background:#e5e7eb;margin:14px 0 12px}
.sge-tab-pref-choice{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border:1px solid #e5e7eb;border-radius:10px;margin-top:8px;cursor:pointer;background:#fff}
.sge-tab-pref-choice:hover{border-color:var(--sge-primary,#2563eb);background:#f8fafc}
.sge-tab-pref-choice input{margin-top:3px;accent-color:var(--sge-primary,#2563eb)}
.sge-tab-pref-choice span{display:flex;flex-direction:column;line-height:1.25}
.sge-tab-pref-choice strong{font-size:.82rem;color:#0f172a}
.sge-tab-pref-choice small{font-size:.72rem;color:#64748b;margin-top:3px}

/* Padronização ERP Unificado - setas e barra de abas (2026-10-05) */
.sge-nav-group-toggle .sge-menu-chevron,
.sge-submenu-group-toggle .sge-menu-chevron{
  margin-left:auto!important;
  width:16px!important;
  flex:0 0 16px!important;
  font-size:10px!important;
  line-height:1;
  color:#61728b!important;
  opacity:.95;
  transition:transform .18s ease,color .18s ease;
}
.sge-nav-group.active>.sge-nav-group-toggle .sge-menu-chevron{color:#fff!important}
.sge-nav-group.open>.sge-nav-group-toggle .sge-menu-chevron,
.sge-submenu-group.open>.sge-submenu-group-toggle .sge-menu-chevron{transform:rotate(180deg)}

.sge-tabs-erp{
  min-height:54px;
  height:54px;
  padding:7px 14px 7px 18px!important;
  display:flex;
  align-items:center!important;
  gap:8px;
  background:#fff;
  border-bottom:1px solid var(--sge-border);
  box-shadow:0 1px 4px rgba(16,33,63,.035);
  overflow:hidden!important;
}
.sge-tabs-close-all{
  flex:0 0 auto;
  border:0;
  background:transparent;
  color:#69798f;
  font-size:12px;
  font-weight:600;
  padding:8px 7px;
  border-radius:8px;
}
.sge-tabs-close-all:hover{background:#f3f6fa;color:var(--sge-accent-strong)}
.sge-tabs-erp .sge-runtime-tabs{
  flex:1 1 auto;
  min-width:0;
  min-height:38px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0!important;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scrollbar-width:none;
}
.sge-tabs-erp .sge-runtime-tabs::-webkit-scrollbar{display:none}
.sge-tabs-erp .sge-runtime-tab{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:36px;
  max-width:240px;
  padding:0 10px 0 12px;
  border:1px solid #dfe6ef;
  border-radius:9px;
  background:#fff;
  color:#5d6c82;
  box-shadow:0 1px 3px rgba(16,33,63,.05);
  font-size:12px;
  cursor:pointer;
}
.sge-tabs-erp .sge-runtime-tab:hover{background:#f8fafc;color:var(--sge-accent-strong);border-color:#cfd9e6}
.sge-tabs-erp .sge-runtime-tab.active{
  background:#f8fafc;
  color:var(--sge-accent-strong);
  border-color:#d8e1ec;
  font-weight:700;
  box-shadow:0 2px 7px rgba(16,33,63,.08);
}
.sge-tabs-erp .sge-runtime-tab-label{max-width:180px}
.sge-tabs-erp .sge-runtime-tab-close{width:18px;height:18px;border-radius:5px;font-size:9px}
.sge-tabs-nav{
  flex:0 0 auto;
  align-self:stretch;
  display:flex;
  align-items:center;
  border-left:1px solid #e4e9f0;
  padding-left:8px;
  margin-left:2px;
}
.sge-tabs-nav button{
  width:30px;height:32px;border:0;background:transparent;color:#8290a3;
  display:grid;place-items:center;border-radius:7px;font-size:11px;
}
.sge-tabs-nav button:hover{background:#f3f6fa;color:var(--sge-accent-strong)}
@media(max-width:767px){
  .sge-tabs-erp{padding-left:8px!important;padding-right:8px!important}
  .sge-tabs-close-all{display:none}
  .sge-tabs-nav button{width:26px}
}

/* Modo escuro e Central de Notificações - SGE */
.sge-icon-action{position:relative;border:0;background:transparent;color:#0f2342;width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;transition:.18s ease}.sge-icon-action:hover{background:var(--sge-accent-soft);color:var(--sge-accent)}
.sge-notification-wrap{position:relative}.sge-notification-badge{position:absolute;right:0;top:0;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#dc3545;color:#fff;font-size:10px;font-weight:800;line-height:17px;text-align:center;border:2px solid #fff}
.sge-notification-panel{position:absolute;right:-8px;top:calc(100% + 10px);width:min(390px,92vw);background:#fff;border:1px solid #dbe3ee;border-radius:16px;box-shadow:0 18px 55px rgba(15,35,66,.2);z-index:1100;display:none;overflow:hidden}.sge-notification-panel.open{display:block}.sge-notification-head{padding:14px 16px;border-bottom:1px solid #e6ebf2;display:flex;align-items:center;justify-content:space-between;gap:10px}.sge-notification-head>div{display:flex;flex-direction:column}.sge-notification-head small{color:#718096;font-size:11px}.sge-notification-list{max-height:410px;overflow:auto}.sge-notification-item{width:100%;border:0;border-bottom:1px solid #edf1f6;background:#fff;text-align:left;padding:12px 14px;display:flex;gap:10px;color:#172b4d}.sge-notification-item:hover{background:#f6f9fd}.sge-notification-item.unread{background:#f0f6ff}.sge-notification-dot{width:8px;height:8px;border-radius:50%;background:transparent;margin-top:7px;flex:0 0 auto}.sge-notification-item.unread .sge-notification-dot{background:var(--sge-accent)}.sge-notification-content{display:flex;flex-direction:column;min-width:0}.sge-notification-content strong{font-size:13px}.sge-notification-content small{font-size:12px;color:#5e6f86;margin-top:2px}.sge-notification-content time{font-size:10px;color:#8996a8;margin-top:5px}.sge-notification-footer{display:block;text-align:center;padding:11px;text-decoration:none;font-weight:700;font-size:12px;border-top:1px solid #e6ebf2}.sge-notification-empty{padding:28px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;color:#718096}.sge-notification-empty i{font-size:24px}
body.sge-dark{background:#0d1726;color:#e6edf7}body.sge-dark .sge-main,body.sge-dark .sge-content,body.sge-dark .sge-tab-workspace{background:#0d1726!important}body.sge-dark .sge-topbar,body.sge-dark .sge-tabs,body.sge-dark .sge-card,body.sge-dark .card,body.sge-dark .modal-content,body.sge-dark .dropdown-menu,body.sge-dark .sge-appearance-panel,body.sge-dark .sge-notification-panel{background:#152235!important;border-color:#2a3b52!important;color:#e6edf7!important}body.sge-dark .sge-topbar h1,body.sge-dark .sge-topbar h2,body.sge-dark h1,body.sge-dark h2,body.sge-dark h3,body.sge-dark h4,body.sge-dark h5,body.sge-dark h6,body.sge-dark strong,body.sge-dark label{color:#edf4ff}body.sge-dark .text-secondary,body.sge-dark .sge-breadcrumb,body.sge-dark small{color:#9fb0c6!important}body.sge-dark .form-control,body.sge-dark .form-select,body.sge-dark input,body.sge-dark textarea,body.sge-dark select{background-color:#101c2d!important;border-color:#34465e!important;color:#e7eef8!important}body.sge-dark .form-control::placeholder,body.sge-dark input::placeholder{color:#8292a8!important}body.sge-dark .table{--bs-table-bg:#152235;--bs-table-color:#e6edf7;--bs-table-border-color:#2a3b52;--bs-table-striped-bg:#18283d;--bs-table-hover-bg:#1d3048;color:#e6edf7}body.sge-dark .table thead th{background:#101c2d!important;color:#b8c7d9!important}body.sge-dark .sge-runtime-tab,body.sge-dark .sge-tab{background:#152235!important;border-color:#2a3b52!important;color:#b8c7d9!important}body.sge-dark .sge-runtime-tab.active,body.sge-dark .sge-tab.active{background:#203650!important;color:#fff!important}body.sge-dark .btn-light,body.sge-dark .btn-outline-secondary{background:#17263a;color:#e6edf7;border-color:#3a4c64}body.sge-dark .sge-icon-action{color:#dbe7f7}body.sge-dark .sge-notification-badge{border-color:#152235}body.sge-dark .sge-notification-head,body.sge-dark .sge-notification-item,body.sge-dark .sge-notification-footer{border-color:#2a3b52!important}body.sge-dark .sge-notification-item{background:#152235;color:#e6edf7}body.sge-dark .sge-notification-item:hover{background:#1a2b41}body.sge-dark .sge-notification-item.unread{background:#18304d}body.sge-dark .sge-notification-content small,body.sge-dark .sge-notification-content time{color:#9fb0c6!important}body.sge-dark .sge-theme-choice{background:#101c2d;border-color:#34465e;color:#dbe7f7}body.sge-dark hr{border-color:#34465e}body.sge-dark .list-group-item{background:#152235;border-color:#2a3b52;color:#e6edf7}
