/* SIGEduc Interprisse RC25.1 - Layout global e componentes
   Camada aditiva: nao altera rotas, banco ou regras de negocio. */
:root{
  --rc25-primary:#0756a8;--rc25-primary-strong:#063f7c;--rc25-accent:#0e8f83;
  --rc25-bg:#f3f6fa;--rc25-surface:#ffffff;--rc25-surface-soft:#f8fafc;
  --rc25-text:#172033;--rc25-muted:#66758d;--rc25-line:#dbe4ef;
  --rc25-success:#087f5b;--rc25-warning:#b66a00;--rc25-danger:#b42318;
  --rc25-radius-sm:10px;--rc25-radius:16px;--rc25-radius-lg:24px;
  --rc25-shadow-sm:0 4px 14px rgba(17,43,78,.07);
  --rc25-shadow:0 14px 40px rgba(17,43,78,.10);
  --rc25-focus:0 0 0 4px rgba(7,86,168,.15)
}
html{background:var(--rc25-bg);scroll-behavior:smooth}
body.rc25-enterprise{background:var(--rc25-bg)!important;color:var(--rc25-text);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif!important;text-rendering:optimizeLegibility}
body.rc25-enterprise *{box-sizing:border-box}
body.rc25-enterprise a{transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
body.rc25-enterprise button,body.rc25-enterprise input,body.rc25-enterprise select,body.rc25-enterprise textarea{font:inherit}
body.rc25-enterprise :focus-visible{outline:0;box-shadow:var(--rc25-focus)!important}

/* Barra institucional discreta e nao intrusiva */
.rc25-commandbar{position:sticky;top:0;z-index:9996;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:9px clamp(14px,2vw,28px);background:rgba(255,255,255,.94);border-bottom:1px solid var(--rc25-line);box-shadow:0 5px 20px rgba(18,47,82,.06);backdrop-filter:blur(16px)}
.rc25-commandbar__brand{display:flex;align-items:center;gap:11px;min-width:0}.rc25-commandbar__mark{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,var(--rc25-primary),#1687df);color:#fff;font-weight:900;box-shadow:0 8px 20px rgba(7,86,168,.22)}
.rc25-commandbar__name{font-weight:850;color:#0d2b4e;line-height:1.05}.rc25-commandbar__edition{display:block;margin-top:3px;color:var(--rc25-muted);font-size:.72rem;font-weight:650;letter-spacing:.02em}
.rc25-commandbar__context{display:flex;align-items:center;gap:8px;min-width:0;overflow:auto;scrollbar-width:none}.rc25-commandbar__context::-webkit-scrollbar{display:none}.rc25-context-chip{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--rc25-line);border-radius:999px;background:var(--rc25-surface-soft);color:#38516f;font-size:.78rem;font-weight:700}.rc25-context-chip strong{color:#163a63;font-weight:850}
.rc25-commandbar__actions{display:flex;align-items:center;gap:8px}.rc25-icon-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--rc25-line);border-radius:12px;background:#fff;color:#244766;cursor:pointer}.rc25-icon-btn:hover{background:#eef5fc;border-color:#bfd4eb;transform:translateY(-1px)}

/* Estrutura e containers legados */
body.rc25-enterprise main,body.rc25-enterprise .main-content,body.rc25-enterprise .content,body.rc25-enterprise .container,body.rc25-enterprise .container-fluid{max-width:1540px}
body.rc25-enterprise .container,body.rc25-enterprise .container-fluid{width:100%}
body.rc25-enterprise .card,body.rc25-enterprise .panel,body.rc25-enterprise .box,body.rc25-enterprise .module-card,body.rc25-enterprise .modulo-card,body.rc25-enterprise .dashboard-card,body.rc25-enterprise .se-card{border:1px solid var(--rc25-line)!important;border-radius:var(--rc25-radius)!important;background:var(--rc25-surface)!important;box-shadow:var(--rc25-shadow-sm)!important}
body.rc25-enterprise .card:hover,body.rc25-enterprise .module-card:hover,body.rc25-enterprise .modulo-card:hover,body.rc25-enterprise .dashboard-card:hover{box-shadow:var(--rc25-shadow)!important;transform:translateY(-2px)}
body.rc25-enterprise .card-header,body.rc25-enterprise .panel-heading,body.rc25-enterprise .se-card__header{background:linear-gradient(180deg,#fff,#fbfcfe)!important;border-bottom:1px solid var(--rc25-line)!important;border-radius:var(--rc25-radius) var(--rc25-radius) 0 0!important}
body.rc25-enterprise h1,body.rc25-enterprise h2,body.rc25-enterprise h3{color:#122e50;letter-spacing:-.018em}
body.rc25-enterprise p,body.rc25-enterprise .text-muted{color:var(--rc25-muted)}

/* Botoes */
body.rc25-enterprise .btn,body.rc25-enterprise button:not(.rc25-icon-btn),body.rc25-enterprise input[type=submit],body.rc25-enterprise input[type=button],body.rc25-enterprise .se-button{min-height:42px;border-radius:11px!important;font-weight:750!important;letter-spacing:.005em;box-shadow:none;transition:.18s ease}
body.rc25-enterprise .btn-primary,body.rc25-enterprise .se-button--primary,body.rc25-enterprise input[type=submit]{background:linear-gradient(145deg,var(--rc25-primary),#0d76d5)!important;border-color:var(--rc25-primary)!important;color:#fff!important;box-shadow:0 8px 18px rgba(7,86,168,.18)!important}
body.rc25-enterprise .btn-primary:hover,body.rc25-enterprise .se-button--primary:hover,body.rc25-enterprise input[type=submit]:hover{filter:brightness(.96);transform:translateY(-1px)}
body.rc25-enterprise .btn-secondary,body.rc25-enterprise .btn-light,body.rc25-enterprise .se-button--ghost{background:#f4f7fb!important;border:1px solid var(--rc25-line)!important;color:#244766!important}
body.rc25-enterprise .btn-danger{background:#fff1f0!important;border:1px solid #f2c6c2!important;color:var(--rc25-danger)!important}

/* Formularios */
body.rc25-enterprise label{color:#263f5d;font-weight:720}
body.rc25-enterprise input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),body.rc25-enterprise select,body.rc25-enterprise textarea,body.rc25-enterprise .form-control{min-height:44px;border:1px solid #c9d6e5!important;border-radius:11px!important;background:#fff!important;color:var(--rc25-text)!important;padding:10px 12px!important;box-shadow:inset 0 1px 2px rgba(17,43,78,.025)!important}
body.rc25-enterprise textarea{min-height:110px}
body.rc25-enterprise input:focus,body.rc25-enterprise select:focus,body.rc25-enterprise textarea:focus,body.rc25-enterprise .form-control:focus{border-color:#5c9edb!important;box-shadow:var(--rc25-focus)!important}
body.rc25-enterprise fieldset{border:1px solid var(--rc25-line);border-radius:var(--rc25-radius);background:#fff;padding:18px}body.rc25-enterprise legend{padding:0 8px;color:#173e68;font-weight:850}

/* Tabelas e grids */
body.rc25-enterprise .table-responsive,body.rc25-enterprise .table-wrap,body.rc25-enterprise .se-table-wrap{border-radius:14px;overflow:auto;border:1px solid var(--rc25-line);background:#fff}
body.rc25-enterprise table{border-collapse:separate;border-spacing:0;background:#fff}
body.rc25-enterprise table th{background:#f3f7fb!important;color:#27445f!important;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em;border-bottom:1px solid var(--rc25-line)!important}
body.rc25-enterprise table td{color:#27384d;border-bottom:1px solid #e7edf4!important;vertical-align:middle}
body.rc25-enterprise table tr:hover td{background:#f8fbfe}
body.rc25-enterprise .badge,body.rc25-enterprise .status,body.rc25-enterprise .se-badge{border-radius:999px!important;font-weight:800!important;padding:.38rem .66rem!important}

/* Alertas e mensagens */
body.rc25-enterprise .alert,body.rc25-enterprise .flash,body.rc25-enterprise .mensagem,body.rc25-enterprise .toast{border-radius:14px!important;border-width:1px!important;box-shadow:var(--rc25-shadow-sm);font-weight:650}
body.rc25-enterprise .alert-success{background:#eaf8f2!important;border-color:#bce7d5!important;color:#17664d!important}
body.rc25-enterprise .alert-warning{background:#fff8e8!important;border-color:#f0d79b!important;color:#855100!important}
body.rc25-enterprise .alert-danger{background:#fff1f0!important;border-color:#efc4c0!important;color:#8d251d!important}

/* Menu lateral existente */
body.rc25-enterprise aside,body.rc25-enterprise .sidebar,body.rc25-enterprise .side-menu,body.rc25-enterprise nav.sidebar{border-right:1px solid var(--rc25-line)!important;box-shadow:8px 0 26px rgba(26,53,85,.045)}
body.rc25-enterprise .sidebar a,body.rc25-enterprise .side-menu a{border-radius:10px;margin:2px 7px;font-weight:680}
body.rc25-enterprise .sidebar a:hover,body.rc25-enterprise .side-menu a:hover,body.rc25-enterprise .sidebar a.active{background:#eaf3fc!important;color:var(--rc25-primary-strong)!important}

/* Utilitarios de componentes RC25 */
.rc25-page{width:min(1540px,100%);margin:0 auto;padding:clamp(14px,2vw,28px)}
.rc25-pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.rc25-pagehead h1{margin:0;font-size:clamp(1.45rem,2.2vw,2.15rem)}.rc25-pagehead p{margin:.4rem 0 0}
.rc25-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:16px}.rc25-card{background:#fff;border:1px solid var(--rc25-line);border-radius:var(--rc25-radius);box-shadow:var(--rc25-shadow-sm);padding:18px}.rc25-card__eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--rc25-muted);font-weight:850}.rc25-card__value{font-size:1.8rem;font-weight:900;color:#133d68;margin-top:8px}.rc25-card__meta{font-size:.84rem;color:var(--rc25-muted);margin-top:5px}
.rc25-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid var(--rc25-line);border-radius:14px;background:#fff;margin-bottom:14px}.rc25-toolbar__search{min-width:min(360px,100%);flex:1}
.rc25-empty{padding:42px 20px;text-align:center;border:1px dashed #bdcddd;border-radius:16px;background:#fbfcfe;color:var(--rc25-muted)}
.rc25-skeleton{position:relative;overflow:hidden;background:#e8eef5;border-radius:9px}.rc25-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:rc25-shimmer 1.4s infinite}@keyframes rc25-shimmer{100%{transform:translateX(100%)}}

/* Tema escuro preparado */
html[data-theme=dark]{--rc25-bg:#0d1522;--rc25-surface:#151f2e;--rc25-surface-soft:#192536;--rc25-text:#e7edf5;--rc25-muted:#a5b3c5;--rc25-line:#2a3a4f}
html[data-theme=dark] body.rc25-enterprise,html[data-theme=dark] body.rc25-enterprise .card,html[data-theme=dark] body.rc25-enterprise .panel,html[data-theme=dark] body.rc25-enterprise .box,html[data-theme=dark] body.rc25-enterprise table,html[data-theme=dark] .rc25-commandbar,html[data-theme=dark] .rc25-card{background:var(--rc25-surface)!important;color:var(--rc25-text)!important}
html[data-theme=dark] body.rc25-enterprise h1,html[data-theme=dark] body.rc25-enterprise h2,html[data-theme=dark] body.rc25-enterprise h3,html[data-theme=dark] .rc25-commandbar__name{color:#edf4fb}

@media(max-width:900px){.rc25-commandbar__context{display:none}.rc25-commandbar{min-height:54px}.rc25-commandbar__edition{display:none}}
@media(max-width:640px){.rc25-commandbar{padding:8px 11px}.rc25-commandbar__name{font-size:.92rem}.rc25-commandbar__mark{width:34px;height:34px}.rc25-commandbar__actions .rc25-hide-mobile{display:none}.rc25-page{padding:12px}body.rc25-enterprise .card,body.rc25-enterprise .panel,body.rc25-enterprise .box{border-radius:13px!important}body.rc25-enterprise .btn,body.rc25-enterprise button:not(.rc25-icon-btn),body.rc25-enterprise input[type=submit]{width:auto;max-width:100%}}
@media print{.rc25-commandbar{display:none!important}body.rc25-enterprise{background:#fff!important}.rc25-card,body.rc25-enterprise .card{box-shadow:none!important}}
