:root{
  --gl-bg:#07111f;
  --gl-bg-soft:#0d1a2b;
  --gl-surface:rgba(15,29,48,.88);
  --gl-surface-strong:#12243a;
  --gl-surface-muted:#172b43;
  --gl-border:rgba(148,163,184,.16);
  --gl-text:#eef5ff;
  --gl-muted:#8ea3bb;
  --gl-primary:#4f8cff;
  --gl-primary-strong:#2f6fe4;
  --gl-accent:#8b6cff;
  --gl-success:#35c98a;
  --gl-warning:#f5b94c;
  --gl-danger:#f06b78;
  --gl-radius:18px;
  --gl-shadow:0 24px 70px rgba(0,0,0,.28);
  --gl-shadow-soft:0 12px 36px rgba(0,0,0,.18);
}
html{background:var(--gl-bg)}
body{background:radial-gradient(circle at 8% -10%,rgba(79,140,255,.16),transparent 32%),radial-gradient(circle at 95% 0%,rgba(139,108,255,.14),transparent 30%),var(--gl-bg)!important;color:var(--gl-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.005em}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.35),transparent 78%);z-index:-1}
.container,.container-fluid{max-width:1440px}
.main-navbar{background:rgba(7,17,31,.84)!important;border-bottom:1px solid var(--gl-border)!important;box-shadow:0 10px 30px rgba(0,0,0,.12);backdrop-filter:blur(18px)}
.main-navbar .navbar-brand{font-weight:800;letter-spacing:.04em;color:var(--gl-text)!important}
.main-navbar .navbar-brand img{filter:drop-shadow(0 0 18px rgba(79,140,255,.42));max-height:34px}
.main-sidebar,.sidebar{background:linear-gradient(180deg,rgba(13,29,49,.98),rgba(8,19,34,.98))!important;border-right:1px solid var(--gl-border)!important;box-shadow:18px 0 48px rgba(0,0,0,.16)}
.main-sidebar .nav-link,.sidebar .nav-link{color:#a9bdd3!important;border-radius:12px;margin:3px 12px;transition:background .2s ease,color .2s ease,transform .2s ease}
.main-sidebar .nav-link:hover,.sidebar .nav-link:hover,.main-sidebar .nav-link.active,.sidebar .nav-link.active{background:linear-gradient(90deg,rgba(79,140,255,.18),rgba(139,108,255,.12))!important;color:#fff!important;transform:translateX(2px)}
.main-sidebar .nav-link .material-icons,.sidebar .nav-link .material-icons{color:var(--gl-primary);font-size:19px}
.main-content{background:transparent!important;padding-top:26px}
.page-header,.page-header.row{background:transparent!important;border:0!important;margin-bottom:22px!important}
.page-header .page-title,.page-header h1,.page-header h2{color:var(--gl-text);font-weight:800;letter-spacing:-.03em}
.page-header .breadcrumb{background:rgba(18,36,58,.66)!important;border:1px solid var(--gl-border);border-radius:999px;padding:.55rem .9rem;color:var(--gl-muted)}
.card,.card-small,.modal-content,.dropdown-menu{background:linear-gradient(145deg,rgba(18,36,58,.94),rgba(11,25,42,.94))!important;border:1px solid var(--gl-border)!important;border-radius:var(--gl-radius)!important;box-shadow:var(--gl-shadow-soft)!important;color:var(--gl-text)}
.card-header,.modal-header{background:rgba(255,255,255,.025)!important;border-bottom:1px solid var(--gl-border)!important;color:var(--gl-text)!important;padding:1.1rem 1.25rem}
.card-body,.modal-body{color:#dbe7f5}
.card-footer,.modal-footer{background:rgba(255,255,255,.018)!important;border-top:1px solid var(--gl-border)!important}
.table{--bs-table-bg:transparent;--bs-table-color:#dbe7f5;--bs-table-border-color:var(--gl-border);vertical-align:middle}
.table thead th{background:rgba(79,140,255,.08);border-bottom:1px solid rgba(79,140,255,.22);color:#aec8e5;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.table tbody tr{transition:background .18s ease,transform .18s ease}
.table tbody tr:hover{background:rgba(79,140,255,.07);transform:translateY(-1px)}
.form-control,.form-select,.form-check-input,.custom-select{background:rgba(4,14,27,.62)!important;border:1px solid rgba(148,163,184,.22)!important;border-radius:12px!important;color:var(--gl-text)!important;min-height:44px}
.form-control::placeholder{color:#7890a9}
.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:var(--gl-primary)!important;box-shadow:0 0 0 .2rem rgba(79,140,255,.16)!important;background:rgba(4,14,27,.82)!important}
.form-label{color:#b9cbe0;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.btn{border-radius:11px!important;font-weight:700;letter-spacing:.015em;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-dark,.btn-primary,.btn-accent{background:linear-gradient(135deg,var(--gl-primary),var(--gl-accent))!important;border:0!important;color:#fff!important;box-shadow:0 10px 24px rgba(79,140,255,.22)}
.btn-outline-dark,.btn-outline-secondary,.btn-white{border-color:rgba(148,163,184,.28)!important;color:#dbe7f5!important;background:rgba(255,255,255,.035)!important}
.btn-outline-dark:hover,.btn-outline-secondary:hover,.btn-white:hover{background:rgba(79,140,255,.14)!important;border-color:rgba(79,140,255,.5)!important}
.dropdown-menu{padding:.45rem;background:#10223a!important}
.dropdown-item{border-radius:9px;color:#cbd9e8!important;padding:.65rem .8rem}
.dropdown-item:hover{background:rgba(79,140,255,.15)!important;color:#fff!important}
.badge{border-radius:999px;padding:.45em .72em;font-weight:700}
.alert{border-radius:14px;border:1px solid var(--gl-border)}
.modal-backdrop.show{opacity:.76}
.modal-dialog{filter:drop-shadow(0 28px 60px rgba(0,0,0,.38))}
.nav-tabs{border-color:var(--gl-border)}
.nav-tabs .nav-link{color:var(--gl-muted);border:0;border-bottom:2px solid transparent}
.nav-tabs .nav-link.active,.nav-tabs .nav-link:hover{background:transparent;color:#fff;border-bottom-color:var(--gl-primary)}
.toastify{border-radius:12px!important;background:linear-gradient(135deg,#16365e,#253f78)!important;box-shadow:var(--gl-shadow-soft)!important}
img{border-radius:10px}
a{color:#75a9ff}a:hover{color:#a9c5ff}
:focus-visible{outline:3px solid rgba(117,169,255,.7);outline-offset:3px}
@media (max-width:991.98px){.main-content{padding:18px 14px!important}.main-sidebar,.sidebar{box-shadow:0 16px 42px rgba(0,0,0,.32)}.page-header .breadcrumb{margin-top:10px}}
@media (max-width:575.98px){.card,.card-small,.modal-content{border-radius:15px!important}.card-header,.modal-header{padding:.9rem 1rem}.table-responsive{border-radius:14px}.btn{min-height:42px}.page-header h1,.page-header h2{font-size:1.55rem}}

/* Standalone authentication screens */
.gl-auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 10%,rgba(79,140,255,.23),transparent 34%),radial-gradient(circle at 90% 10%,rgba(139,108,255,.2),transparent 32%),var(--gl-bg)}
.gl-auth-shell{width:min(980px,100%);display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;border:1px solid var(--gl-border);border-radius:28px;background:rgba(10,25,42,.8);box-shadow:0 30px 100px rgba(0,0,0,.36);backdrop-filter:blur(22px)}
.gl-auth-brand{padding:54px;background:linear-gradient(145deg,rgba(79,140,255,.18),rgba(139,108,255,.1));display:flex;flex-direction:column;justify-content:space-between}
.gl-auth-brand h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.03;letter-spacing:-.06em;color:#fff;font-weight:850}
.gl-auth-brand p{color:#b2c5da;max-width:34ch;font-size:1rem;line-height:1.7}
.gl-auth-panel{padding:44px;background:rgba(9,20,34,.72)}
.gl-auth-panel h2{color:#fff;font-weight:800;letter-spacing:-.04em}
.gl-auth-panel .form-control{height:52px}
.gl-auth-mark{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gl-primary),var(--gl-accent));box-shadow:0 14px 32px rgba(79,140,255,.28);color:#fff;font-weight:900;font-size:1.3rem}
@media (max-width:767.98px){.gl-auth-shell{grid-template-columns:1fr}.gl-auth-brand{padding:32px 28px;gap:28px}.gl-auth-brand p{display:none}.gl-auth-panel{padding:30px 24px}}

/* Compatibilidade visual com o markup existente das telas públicas */
body.gl-auth-page{display:flex!important;align-items:center!important;justify-content:center!important;overflow:auto!important}
body.gl-auth-page .gl-auth-single-card,body.gl-auth-page> .card{width:min(440px,100%)!important;max-width:440px!important;padding:42px 34px!important;margin:0!important;border:1px solid rgba(148,163,184,.2)!important;border-radius:26px!important;background:linear-gradient(145deg,rgba(18,36,58,.94),rgba(9,20,35,.92))!important;box-shadow:0 30px 90px rgba(0,0,0,.42),0 0 0 1px rgba(79,140,255,.06)!important}
body.gl-auth-page .gl-auth-single-card .logo{width:82px!important;height:82px!important;margin:0 auto 22px!important;object-fit:contain}
body.gl-auth-page .gl-auth-single-card h2{font-size:1.75rem!important;letter-spacing:-.045em!important;margin-bottom:26px!important}
body.gl-auth-page .gl-auth-single-card input:not([type=hidden]){background:rgba(3,12,24,.58)!important;border:1px solid rgba(148,163,184,.22)!important;border-radius:13px!important;height:52px!important;color:#f4f8ff!important}
body.gl-auth-page .gl-auth-single-card .login-button{background:linear-gradient(135deg,var(--gl-primary),var(--gl-accent))!important;border-radius:13px!important;height:52px!important;box-shadow:0 12px 28px rgba(79,140,255,.26)!important}
body.gl-auth-page .gl-auth-single-card .alert-box{border-radius:15px!important;background:linear-gradient(145deg,rgba(240,107,120,.15),rgba(245,185,76,.08))!important;border:1px solid rgba(240,107,120,.26)!important}
body.gl-auth-page .gl-auth-single-card a{font-weight:700!important}
body.gl-auth-page .gl-auth-single-card .footer{border-top:1px solid var(--gl-border)!important;color:var(--gl-muted)!important}
body.gl-auth-page .gl-auth-single-card .form-control{min-height:52px!important}
body.gl-auth-page .gl-auth-single-card button,body.gl-auth-page .gl-auth-single-card input[type=submit]{border-radius:13px!important}
body.gl-auth-page .card{color:var(--gl-text)!important}

/* =========================================================
   GLMOD PREMIUM — CORREÇÃO DE COMPATIBILIDADE DO SHELL ORIGINAL
   Mantém o grid Shards/Bootstrap e evita overflow no mobile.
========================================================= */
.container-fluid{width:100%;max-width:none!important;padding-left:1rem;padding-right:1rem}
.container{width:100%;max-width:1440px}
.row{min-width:0}
.main-sidebar{min-width:0;overflow-y:auto;overflow-x:hidden}
.main-sidebar .main-navbar,.main-sidebar .main-navbar .navbar,.main-sidebar .navbar.bg-white,.main-sidebar .navbar-light.bg-white{background:linear-gradient(180deg,#0d1d31,#081322)!important;color:var(--gl-text)!important;border-color:var(--gl-border)!important}
.main-sidebar .navbar-brand,.main-sidebar .navbar-brand span,.main-sidebar .nav-link,.main-sidebar .nav-link span{color:#dbe7f5!important;opacity:1!important}
.main-sidebar .nav-link .material-icons{color:#8db6ff!important;opacity:1!important}
.main-sidebar .nav-link:hover,.main-sidebar .nav-link.active{color:#fff!important;background:linear-gradient(90deg,rgba(79,140,255,.25),rgba(139,108,255,.18))!important}
.main-content{min-width:0;overflow-x:hidden}
.main-content .main-navbar,.main-content .main-navbar .navbar,.main-content .main-navbar .navbar.bg-white,.main-content .main-navbar .navbar-light.bg-white{background:rgba(7,17,31,.96)!important;color:var(--gl-text)!important;border-color:var(--gl-border)!important}
.main-content .main-navbar .nav-link,.main-content .main-navbar .navbar-brand{color:#eaf2ff!important}
.main-content-container{width:100%;max-width:none!important;min-width:0}
.table-responsive{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table{min-width:640px}
.gl-cadastro-alert{margin:0 0 18px;padding:12px 14px;border:1px solid rgba(240,107,120,.45);border-radius:12px;background:rgba(240,107,120,.14);color:#ffd6db;font-size:.9rem;line-height:1.45}
@media (max-width:767.98px){
  .container-fluid{padding-left:0;padding-right:0}
  .main-sidebar{position:fixed!important;top:0;bottom:0;left:0;z-index:1050;width:min(86vw,320px)!important;max-width:min(86vw,320px)!important;min-height:100vh;transform:translate3d(-105%,0,0)!important;background:#081322!important}
  .main-sidebar.open,.sidebar-main-open .main-sidebar{transform:translate3d(0,0,0)!important}
  .main-content{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
  .main-content>.main-navbar,.main-content .main-navbar{width:100%!important;max-width:100%!important;min-height:64px}
  .main-content-container{padding:18px 14px!important}
  .gl-dashboard{width:100%;max-width:100%;overflow:hidden}
  .gl-hero,.gl-alert,.gl-card,.gl-info-card{max-width:100%}
  .page-header{padding-left:0!important;padding-right:0!important}
}

/* Componentes customizados do dashboard: sobrescreve somente apresentação. */
.gl-dashboard{padding:28px!important;color:var(--gl-text)}
.gl-title,.gl-card-title{color:var(--gl-text)!important}
.gl-alert,.gl-card{border-color:var(--gl-border)!important;background:linear-gradient(145deg,rgba(18,36,58,.94),rgba(11,25,42,.94))!important;box-shadow:var(--gl-shadow-soft)!important;color:var(--gl-text)!important}
.gl-alert-header{border-bottom-color:var(--gl-border)!important}
.gl-alert-title,.gl-alert-content{color:#dbe7f5!important}
.gl-edit{background:rgba(255,255,255,.08)!important;color:#dbe7f5!important}
.gl-label{color:#a9bdd3!important}
.gl-number,.gl-row-value{color:#f0f6ff!important}
.gl-link{color:#8db6ff!important}
.gl-row{background:rgba(255,255,255,.045)!important;border:1px solid rgba(148,163,184,.1)}
.gl-row-label{color:#a9bdd3!important}
.gl-validity{background:rgba(53,201,138,.12)!important;border-color:rgba(53,201,138,.28)!important}
.gl-validity-number{color:#75e0b1!important}
.gl-validity-date{color:#9cebc7!important}
@media (max-width:700px){.gl-dashboard{padding:18px 14px!important}.gl-grid,.gl-info-grid{width:100%;min-width:0}.gl-card,.gl-alert{min-width:0}.gl-hero{padding:22px 18px!important}}

/* Reset estrutural necessário para o grid original não criar barra horizontal. */
html,body{margin:0!important;padding:0!important;max-width:100%;overflow-x:hidden}
.main-sidebar{left:0!important}
@media (max-width:767.98px){.main-content-container{width:100%!important;max-width:100%!important}.container-fluid>.row{width:100%;margin-left:0!important;margin-right:0!important}}

/* Tabelas administrativas que usam classes Bootstrap legadas. */
.table thead.bg-light,.table thead.bg-light th,.table thead th.border-0{background:rgba(79,140,255,.10)!important;color:#c7ddf4!important;border-color:rgba(79,140,255,.24)!important}
.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:rgba(255,255,255,.025)!important;color:#dbe7f5!important}
.card-body,.list-group,.list-group-item{background:transparent!important;color:#dbe7f5!important;border-color:var(--gl-border)!important}
.page-subtitle{color:#8db6ff!important}.page-title{color:#f0f6ff!important}

/* Evita que padding legado transforme 100% em largura maior que a viewport. */
.main-content,.main-content-container,.gl-dashboard,.gl-hero,.gl-grid,.gl-info-grid{box-sizing:border-box!important;max-width:100%!important}
.main-content-container{width:100%!important}
.gl-dashboard{width:100%!important}
@media (max-width:767.98px){.main-content{width:100vw!important}.main-content-container{width:100vw!important;padding-left:14px!important;padding-right:14px!important}.gl-dashboard{padding-left:0!important;padding-right:0!important}}
