/* =============================================================
   LS SYSTEM EDUCACIONAL — NOVA ERA V2
   Design system global / dark-first / responsivo
   ============================================================= */
:root{
  --ls-primary:#7c3aed;
  --ls-primary-hover:#6d28d9;
  --ls-secondary:#06b6d4;
  --ls-success:#22c55e;
  --ls-danger:#ef4444;
  --ls-warning:#f59e0b;
  --ls-info:#38bdf8;
  --ls-neutral:#94a3b8;
  --ls-bg:#060912;
  --ls-bg-soft:#0b1020;
  --ls-surface:#10172a;
  --ls-surface-2:#151f36;
  --ls-text:#f8fafc;
  --ls-muted:#94a3b8;
  --ls-border:rgba(148,163,184,.16);
  --ls-radius:22px;
  --ls-radius-button:14px;
  --ls-radius-card:24px;
  --ls-radius-input:14px;
  --ls-radius-modal:28px;
  --ls-radius-login:34px;
  --ls-sidebar-width:286px;
  --ls-font-scale:1;
  --ls-blur:22px;
  --ls-shadow:0 24px 80px rgba(0,0,0,.36);
  --ls-transition:180ms cubic-bezier(.2,.8,.2,1);
}
html{font-size:calc(16px * var(--ls-font-scale));background:var(--ls-bg)!important;}
body,.app,.page,.page-main,.main-content,.app-content,.main-body{background:radial-gradient(circle at 15% 5%,rgba(124,58,237,.13),transparent 34%),radial-gradient(circle at 88% 12%,rgba(6,182,212,.10),transparent 30%),var(--ls-bg)!important;color:var(--ls-text)!important;}
body{min-height:100vh;letter-spacing:-.01em;}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.24;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:40px 40px;mask-image:linear-gradient(to bottom,black,transparent 78%);z-index:0}
a{color:inherit;transition:var(--ls-transition)}a:hover{color:var(--ls-secondary)}

/* Sidebar flutuante */
.app-sidebar,.sidebar,.main-sidebar{background:rgba(10,15,29,.82)!important;border:1px solid var(--ls-border)!important;box-shadow:var(--ls-shadow)!important;backdrop-filter:blur(var(--ls-blur));-webkit-backdrop-filter:blur(var(--ls-blur));border-radius:0 30px 30px 0!important;overflow:hidden!important;}
@media(min-width:992px){.app-sidebar{width:var(--ls-sidebar-width)!important;margin:14px 0 14px 14px;height:calc(100vh - 28px)!important;border-radius:28px!important}.app-content,.main-content.app-content{margin-left:calc(var(--ls-sidebar-width) + 28px)!important}.app-header{left:calc(var(--ls-sidebar-width) + 28px)!important}}
.side-menu{padding:14px 12px 30px!important}.side-menu__item{min-height:48px;border-radius:16px!important;margin:4px 0!important;color:#cbd5e1!important;padding:10px 14px!important}.side-menu__item:hover,.side-menu__item.active,.slide.is-expanded>.side-menu__item{background:linear-gradient(135deg,rgba(124,58,237,.25),rgba(6,182,212,.11))!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(167,139,250,.18)}.side-menu__icon{color:#a78bfa!important}.slide-menu{background:rgba(255,255,255,.025)!important;border:1px solid rgba(255,255,255,.045);border-radius:16px!important;margin:6px 8px!important;padding:6px!important}.slide-item{border-radius:12px!important;color:#94a3b8!important;padding:9px 12px!important}.slide-item:hover,.slide-item.active{background:rgba(255,255,255,.055)!important;color:#fff!important}.app-sidebar__logo{border-bottom:1px solid var(--ls-border)!important;padding:18px!important}

/* Header */
.app-header,.main-header{background:rgba(6,9,18,.70)!important;border-bottom:1px solid var(--ls-border)!important;box-shadow:none!important;backdrop-filter:blur(var(--ls-blur));-webkit-backdrop-filter:blur(var(--ls-blur));}.app-header{margin:14px 14px 0 0!important;border:1px solid var(--ls-border)!important;border-radius:22px!important;top:0!important}.header-icon,.nav-link.icon{border-radius:14px!important}.header-icon:hover,.nav-link.icon:hover{background:rgba(255,255,255,.06)!important}

/* Conteúdo */
.container-fluid,.container{position:relative;z-index:1}.main-container{padding-top:22px!important}.page-header{margin:22px 0!important}.page-title{font-weight:800!important;letter-spacing:-.035em;color:#fff!important}.breadcrumb-item,.breadcrumb-item a{color:var(--ls-muted)!important}

/* Cards */
.card,.card-sigin,.main-card-signin,.panel,.modal-content,.dropdown-menu,.offcanvas{background:linear-gradient(145deg,rgba(16,23,42,.96),rgba(11,16,32,.96))!important;border:1px solid var(--ls-border)!important;box-shadow:0 18px 50px rgba(0,0,0,.24)!important;color:var(--ls-text)!important}.card{border-radius:var(--ls-radius-card)!important;overflow:hidden}.card-header{background:transparent!important;border-bottom:1px solid var(--ls-border)!important;padding:18px 20px!important}.card-title{color:#fff!important;font-weight:750!important}.card-body{padding:20px!important}.card:hover{border-color:rgba(167,139,250,.24)!important}

/* KPIs */
.card .number-font,.card h2,.card h3,.card h4{color:#fff!important}.text-muted,.text-secondary{color:var(--ls-muted)!important}.bg-primary-transparent{background:rgba(124,58,237,.14)!important}.bg-success-transparent{background:rgba(34,197,94,.12)!important}.bg-danger-transparent{background:rgba(239,68,68,.12)!important}.bg-warning-transparent{background:rgba(245,158,11,.13)!important}.bg-info-transparent{background:rgba(56,189,248,.13)!important}

/* Botões */
.btn{border-radius:var(--ls-radius-button)!important;font-weight:700!important;min-height:42px;padding:.62rem 1rem!important;border-width:1px!important;transition:transform var(--ls-transition),box-shadow var(--ls-transition),background var(--ls-transition)!important}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--ls-primary),#8b5cf6)!important;border-color:transparent!important;box-shadow:0 10px 26px rgba(124,58,237,.26)!important}.btn-primary:hover{background:linear-gradient(135deg,var(--ls-primary-hover),#7c3aed)!important}.btn-success{background:linear-gradient(135deg,var(--ls-success),#16a34a)!important;border-color:transparent!important}.btn-danger{background:linear-gradient(135deg,var(--ls-danger),#dc2626)!important;border-color:transparent!important}.btn-warning{background:linear-gradient(135deg,var(--ls-warning),#d97706)!important;border-color:transparent!important;color:#111827!important}.btn-info{background:linear-gradient(135deg,var(--ls-info),#0284c7)!important;border-color:transparent!important}.btn-light,.btn-white,.btn-default{background:rgba(255,255,255,.055)!important;border-color:var(--ls-border)!important;color:#e2e8f0!important}

/* Inputs */
.form-control,.form-select,.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple,.input-group-text{background:#0b1222!important;border:1px solid var(--ls-border)!important;color:#f8fafc!important;border-radius:var(--ls-radius-input)!important;min-height:44px}.form-control:focus,.form-select:focus{border-color:rgba(124,58,237,.72)!important;box-shadow:0 0 0 4px rgba(124,58,237,.13)!important;background:#0d1527!important;color:#fff!important}.form-control::placeholder{color:#64748b!important}.form-label,label{color:#cbd5e1!important;font-weight:650}.input-group>.form-control:not(:last-child){border-radius:var(--ls-radius-input) 0 0 var(--ls-radius-input)!important}.input-group-text{color:#94a3b8!important}.select2-dropdown{background:#0b1222!important;border-color:var(--ls-border)!important;color:#fff!important}.select2-results__option--highlighted{background:var(--ls-primary)!important}

/* Tabelas */
.table{color:#dbeafe!important;border-color:var(--ls-border)!important}.table thead th{background:#0c1426!important;color:#cbd5e1!important;text-transform:uppercase;font-size:.72rem;letter-spacing:.07em;border-color:var(--ls-border)!important;padding:14px 12px!important}.table td{border-color:rgba(148,163,184,.10)!important;padding:13px 12px!important;vertical-align:middle}.table tbody tr{transition:background var(--ls-transition)}.table tbody tr:hover{background:rgba(124,58,237,.055)!important}.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{background:#0b1222!important;border:1px solid var(--ls-border)!important;color:#fff!important;border-radius:12px!important}.page-link{background:#0b1222!important;border-color:var(--ls-border)!important;color:#cbd5e1!important}.page-item.active .page-link{background:var(--ls-primary)!important;border-color:var(--ls-primary)!important}

/* Modais premium */
.modal-backdrop.show{opacity:.72!important;backdrop-filter:blur(4px)}.modal-dialog{padding:14px}.modal-content{border-radius:var(--ls-radius-modal)!important;overflow:hidden!important;box-shadow:0 36px 110px rgba(0,0,0,.56)!important}.modal-header{border-bottom:1px solid var(--ls-border)!important;padding:20px 22px!important;background:linear-gradient(135deg,rgba(124,58,237,.12),transparent)!important}.modal-title{font-weight:800!important;color:#fff!important}.modal-body{padding:22px!important}.modal-footer{border-top:1px solid var(--ls-border)!important;padding:16px 22px!important}.btn-close{filter:invert(1) grayscale(1);opacity:.75}.modal.fade .modal-dialog{transform:translateY(16px) scale(.975)!important}.modal.show .modal-dialog{transform:none!important}

/* Alerts / badges */
.alert{border-radius:16px!important;border:1px solid var(--ls-border)!important}.badge{border-radius:999px!important;padding:.42em .7em!important}.badge.bg-success,.bg-success{background-color:var(--ls-success)!important}.badge.bg-danger,.bg-danger{background-color:var(--ls-danger)!important}.badge.bg-warning,.bg-warning{background-color:var(--ls-warning)!important}.badge.bg-primary,.bg-primary{background-color:var(--ls-primary)!important}

/* Dropdown */
.dropdown-menu{border-radius:18px!important;padding:8px!important}.dropdown-item{color:#cbd5e1!important;border-radius:12px!important;padding:10px 12px!important}.dropdown-item:hover{background:rgba(124,58,237,.11)!important;color:#fff!important}

/* Login totalmente novo */
body.error-page1{background:radial-gradient(circle at 12% 15%,rgba(124,58,237,.32),transparent 32%),radial-gradient(circle at 90% 85%,rgba(6,182,212,.20),transparent 28%),#050711!important}.page-single{position:relative;z-index:2}.card-sigin-main{max-width:520px!important}.card-sigin,.main-card-signin{border-radius:var(--ls-radius-login)!important;background:rgba(10,15,29,.76)!important;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:0 40px 120px rgba(0,0,0,.52)!important}.main-card-signin{padding:18px!important}.sign-favicon{max-width:260px!important;height:auto!important}.panel-body{background:transparent!important}.square-box{opacity:.18!important;filter:hue-rotate(25deg)}#global-loader{background:#050711!important}.loader{filter:saturate(.7) brightness(1.1)}

/* Scrollbar */
*{scrollbar-width:thin;scrollbar-color:#334155 #0b1020}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0b1020}::-webkit-scrollbar-thumb{background:#334155;border-radius:20px;border:2px solid #0b1020}::-webkit-scrollbar-thumb:hover{background:#475569}

/* Light mode opcional controlado pelo SAS */
html[data-ls-theme="light"] body,html[data-ls-theme="light"] .app,html[data-ls-theme="light"] .page{--ls-bg:#f4f7fb;--ls-bg-soft:#eef3f9;--ls-surface:#fff;--ls-surface-2:#f8fafc;--ls-text:#0f172a;--ls-muted:#64748b;--ls-border:rgba(15,23,42,.10);background:#f4f7fb!important;color:#0f172a!important}html[data-ls-theme="light"] .card,html[data-ls-theme="light"] .modal-content,html[data-ls-theme="light"] .dropdown-menu{background:#fff!important;color:#0f172a!important}html[data-ls-theme="light"] .card-title,html[data-ls-theme="light"] h1,html[data-ls-theme="light"] h2,html[data-ls-theme="light"] h3{color:#0f172a!important}html[data-ls-theme="light"] .form-control,html[data-ls-theme="light"] .form-select{background:#fff!important;color:#0f172a!important}

/* Mobile */
@media(max-width:991.98px){.app-header{margin:8px!important;border-radius:18px!important}.app-sidebar{border-radius:0 24px 24px 0!important}.app-content,.main-content.app-content{margin-left:0!important;padding:0 10px!important}.page-header{margin:14px 0!important}.card{border-radius:20px!important}.modal-dialog{margin:8px!important;padding:0}.modal-content{border-radius:22px!important}.card-body{padding:16px!important}.btn{min-height:44px}.table-responsive{border-radius:18px!important}}

/* Utility identity */
.ls-neo-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--ls-border);border-radius:999px;background:rgba(255,255,255,.035);color:#cbd5e1;font-size:.82rem}.ls-neo-dot{width:8px;height:8px;border-radius:50%;background:var(--ls-success);box-shadow:0 0 18px var(--ls-success)}
/* Instituição pública: o menu não oferece módulos de cobrança privada. O backend também bloqueia. */
html[data-ls-education="publica"] .side-menu a[href*="mensal"],
html[data-ls-education="publica"] .side-menu a[href*="receber"],
html[data-ls-education="publica"] .side-menu a[href*="recebimento"],
html[data-ls-education="publica"] .side-menu a[href*="pagar"],
html[data-ls-education="publica"] .side-menu a[href*="caixa"],
html[data-ls-education="publica"] .side-menu a[href*="formas_pgto"],
html[data-ls-education="publica"] .side-menu a[href*="formas-pgto"],
html[data-ls-education="publica"] .side-menu a[href*="cobranc"],
html[data-ls-education="publica"] .side-menu a[href*="boleto"],
html[data-ls-education="publica"] .side-menu a[href*="financeiro"]{display:none!important}
