
/* HORIZON SGE 29.2 — Professional Workspace
   Camada final: corrige conflitos herdados sem alterar módulos de negócio.
   Identidade principal: somente #004A99 e #1A75D3. */

#horizon-sge-app #system-container{
  --ws-brand:#004A99;
  --ws-brand-2:#1A75D3;
  --ws-bg:#F4F7FB;
  --ws-surface:#FFFFFF;
  --ws-surface-2:#F8FAFC;
  --ws-surface-3:#EEF4FA;
  --ws-text:#10243E;
  --ws-muted:#65778B;
  --ws-border:#DCE6F0;
  --ws-shadow:0 8px 28px rgba(18,52,86,.07);
  --ws-sidebar:264px;
  --ws-sidebar-collapsed:82px;
  background:var(--ws-bg)!important;
  color:var(--ws-text)!important;
  min-height:100vh;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* ---------- Sidebar ---------- */
#horizon-sge-app #system-container .sidebar{
  width:var(--ws-sidebar)!important;
  padding:18px 14px 16px!important;
  background:linear-gradient(180deg,var(--ws-brand) 0%,#004A99 54%,var(--ws-brand-2) 160%)!important;
  border:0!important;
  border-right:1px solid rgba(255,255,255,.12)!important;
  box-shadow:8px 0 28px rgba(0,48,100,.11)!important;
  transition:width .22s ease,transform .22s ease!important;
  overflow-x:hidden!important;
}
#horizon-sge-app #system-container .sidebar .logo-area{
  height:96px!important;
  margin:0 4px 18px!important;
  padding:10px 8px 18px!important;
  display:flex!important;
  justify-content:center!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
}
#horizon-sge-app #system-container .sidebar .logo-mark{
  width:100%!important;
  height:68px!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
#horizon-sge-app #system-container .sidebar .logo-mark img{
  width:100%!important;
  height:100%!important;
  max-width:205px!important;
  max-height:68px!important;
  object-fit:contain!important;
}
#horizon-sge-app #system-container .h31-menu-search{
  display:block!important;
  margin:0 5px 16px!important;
}
#horizon-sge-app #system-container .h31-menu-search span{
  color:rgba(255,255,255,.72)!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
}
#horizon-sge-app #system-container .h31-menu-search input{
  height:39px!important;
  min-height:39px!important;
  margin-top:7px!important;
  color:#fff!important;
  background:rgba(0,27,61,.22)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
#horizon-sge-app #system-container .h31-menu-search input::placeholder{color:rgba(255,255,255,.56)!important}
#horizon-sge-app #system-container #menu-area > h4{
  margin:18px 10px 8px!important;
  color:rgba(255,255,255,.66)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
#horizon-sge-app #system-container .menu-category{margin:3px 0!important}
#horizon-sge-app #system-container .menu-category-title{
  min-height:35px!important;
  width:100%!important;
  padding:7px 10px!important;
  border:0!important;
  background:transparent!important;
  color:rgba(255,255,255,.78)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
}
#horizon-sge-app #system-container .menu-category-title:hover{color:#fff!important;background:rgba(255,255,255,.06)!important}
#horizon-sge-app #system-container #menu-area nav ul{gap:2px!important}
#horizon-sge-app #system-container #menu-area nav ul li a{
  min-height:42px!important;
  margin:2px 0!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:10px!important;
  color:rgba(255,255,255,.85)!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:550!important;
  transform:none!important;
}
#horizon-sge-app #system-container #menu-area nav ul li a i{
  width:22px!important;
  color:rgba(255,255,255,.82)!important;
}
#horizon-sge-app #system-container #menu-area nav ul li a:hover{
  background:rgba(255,255,255,.11)!important;
  color:#fff!important;
}
#horizon-sge-app #system-container #menu-area nav ul li a.active{
  background:#fff!important;
  color:var(--ws-brand)!important;
  font-weight:750!important;
  box-shadow:0 7px 18px rgba(0,32,70,.15)!important;
  border:0!important;
}
#horizon-sge-app #system-container #menu-area nav ul li a.active i{color:var(--ws-brand-2)!important}
#horizon-sge-app #system-container .logout-area{
  padding-top:12px!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
}
#horizon-sge-app #system-container .logout-area a{
  min-height:42px!important;
  border-radius:10px!important;
  background:rgba(0,28,63,.18)!important;
  color:rgba(255,255,255,.88)!important;
}

/* ---------- Unified collapsed sidebar ---------- */
@media (min-width:901px){
  #horizon-sge-app #system-container.sidebar-collapsed .sidebar{
    width:var(--ws-sidebar-collapsed)!important;
    padding-inline:10px!important;
  }
  #horizon-sge-app #system-container.sidebar-collapsed .main-content{
    margin-left:var(--ws-sidebar-collapsed)!important;
    width:calc(100% - var(--ws-sidebar-collapsed))!important;
  }
  #horizon-sge-app #system-container.sidebar-collapsed .sidebar .logo-area{
    height:72px!important;padding:5px 0 14px!important
  }
  #horizon-sge-app #system-container.sidebar-collapsed .sidebar .logo-mark{height:50px!important}
  #horizon-sge-app #system-container.sidebar-collapsed .sidebar .logo-mark img{
    width:48px!important;max-width:48px!important;height:48px!important;object-fit:cover!important;object-position:left!important;
  }
  #horizon-sge-app #system-container.sidebar-collapsed .h31-menu-search,
  #horizon-sge-app #system-container.sidebar-collapsed #menu-area > h4,
  #horizon-sge-app #system-container.sidebar-collapsed .menu-category-title{
    display:none!important;
  }
  #horizon-sge-app #system-container.sidebar-collapsed .menu-category{margin:4px 0!important}
  #horizon-sge-app #system-container.sidebar-collapsed .menu-category.collapsed ul{display:block!important}
  #horizon-sge-app #system-container.sidebar-collapsed #menu-area nav ul li a{
    width:52px!important;height:46px!important;min-height:46px!important;
    margin:4px auto!important;padding:0!important;
    justify-content:center!important;font-size:0!important;
  }
  #horizon-sge-app #system-container.sidebar-collapsed #menu-area nav ul li a i{
    margin:0!important;width:auto!important;font-size:17px!important;
  }
  #horizon-sge-app #system-container.sidebar-collapsed .logout-area a{
    width:52px!important;height:46px!important;margin:auto!important;padding:0!important;
    justify-content:center!important;font-size:0!important;
  }
  #horizon-sge-app #system-container.sidebar-collapsed .logout-area a i{font-size:17px!important;margin:0!important}
}

/* ---------- Main workspace ---------- */
#horizon-sge-app #system-container .main-content{
  width:calc(100% - var(--ws-sidebar))!important;
  margin-left:var(--ws-sidebar)!important;
  padding:0 30px 44px!important;
  background:var(--ws-bg)!important;
  color:var(--ws-text)!important;
  transition:margin-left .22s ease,width .22s ease!important;
}
#horizon-sge-app #system-container .top-header{
  min-height:76px!important;
  margin:0 -30px 24px!important;
  padding:12px 30px!important;
  position:sticky!important;
  top:0!important;
  z-index:850!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  background:rgba(255,255,255,.94)!important;
  border:0!important;
  border-bottom:1px solid var(--ws-border)!important;
  box-shadow:0 4px 18px rgba(18,52,86,.045)!important;
  backdrop-filter:blur(14px)!important;
}
.admin-bar #horizon-sge-app #system-container .top-header{top:32px!important}
#horizon-sge-app #system-container .top-header .header-left{
  display:flex!important;align-items:center!important;gap:11px!important;min-width:205px!important;margin-right:4px!important
}
#horizon-sge-app #system-container .menu-toggle{
  display:inline-flex!important;
  width:40px!important;height:40px!important;min-width:40px!important;
  align-items:center!important;justify-content:center!important;
  background:var(--ws-surface)!important;color:var(--ws-brand)!important;
  border:1px solid var(--ws-border)!important;border-radius:11px!important;
  box-shadow:none!important;cursor:pointer!important;
}
#horizon-sge-app #system-container .menu-toggle:hover{background:var(--ws-surface-3)!important}
#horizon-sge-app #system-container .h29-sidebar-resize{display:none!important}
#horizon-sge-app #system-container #page-title{
  margin:0!important;
  color:var(--ws-text)!important;
  font-size:22px!important;
  font-weight:780!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
}
#horizon-sge-app #system-container .hx-search{
  flex:1 1 420px!important;
  max-width:560px!important;
  min-width:220px!important;
  height:42px!important;
  margin-left:auto!important;
  padding:0 14px!important;
  justify-content:flex-start!important;
  background:var(--ws-surface-2)!important;
  border:1px solid var(--ws-border)!important;
  border-radius:11px!important;
  color:var(--ws-muted)!important;
  box-shadow:none!important;
}
#horizon-sge-app #system-container .hx-search i{color:var(--ws-brand-2)!important}
#horizon-sge-app #system-container .hx-search kbd{
  margin-left:auto!important;
  border:1px solid var(--ws-border)!important;
  background:var(--ws-surface)!important;
  color:var(--ws-muted)!important;
}
#horizon-sge-app #system-container .h29-notification-wrap{margin-left:auto!important}
#horizon-sge-app #system-container .h29-notification-trigger,
#horizon-sge-app #system-container #hsgThemeToggle{
  width:40px!important;height:40px!important;min-width:40px!important;
  padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border:1px solid var(--ws-border)!important;border-radius:11px!important;
  background:var(--ws-surface)!important;color:var(--ws-brand)!important;box-shadow:none!important;
}
#horizon-sge-app #system-container .h29-notification-trigger > span{display:none!important}
#horizon-sge-app #system-container .h29-notification-trigger b{
  position:absolute!important;top:-5px!important;right:-5px!important;
  min-width:18px!important;height:18px!important;padding:0 4px!important;
  display:grid!important;place-items:center!important;
}
#horizon-sge-app #system-container .user-area{display:flex!important;align-items:center!important;gap:8px!important}
#horizon-sge-app #system-container .profile-trigger{
  min-height:42px!important;
  padding:5px 9px 5px 6px!important;
  border:1px solid var(--ws-border)!important;
  border-radius:12px!important;
  background:var(--ws-surface)!important;
  box-shadow:none!important;
}
#horizon-sge-app #system-container .profile-trigger:hover{background:var(--ws-surface-2)!important}
#horizon-sge-app #system-container .profile-trigger .avatar{
  width:32px!important;height:32px!important;
  background:linear-gradient(135deg,var(--ws-brand),var(--ws-brand-2))!important;
}
#horizon-sge-app #system-container .profile-name{color:var(--ws-text)!important;font-size:12px!important}
#horizon-sge-app #system-container .profile-name small{color:var(--ws-muted)!important;font-size:10px!important}

/* ---------- Dashboard hierarchy ---------- */
#horizon-sge-app #system-container .h29-welcome{
  margin:0 0 20px!important;
  padding:22px 26px!important;
  border:0!important;
  border-radius:16px!important;
  background:linear-gradient(105deg,var(--ws-brand),var(--ws-brand-2))!important;
  box-shadow:0 10px 28px rgba(0,74,153,.14)!important;
}
#horizon-sge-app #system-container .h29-welcome h2{font-size:23px!important}
#horizon-sge-app #system-container .h29-welcome p{color:rgba(255,255,255,.82)!important}
#horizon-sge-app #system-container .stats-grid{gap:14px!important;margin-bottom:20px!important}
#horizon-sge-app #system-container .stat-card{
  min-height:108px!important;
  padding:19px 20px!important;
  background:var(--ws-surface)!important;
  border:1px solid var(--ws-border)!important;
  border-top:1px solid var(--ws-border)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
#horizon-sge-app #system-container .stat-card .number{font-size:30px!important;color:var(--ws-text)!important}
#horizon-sge-app #system-container .stat-card h3{color:var(--ws-muted)!important}
#horizon-sge-app #system-container .hsg29-control-panel{
  padding:25px 28px!important;
  background:linear-gradient(115deg,var(--ws-brand),var(--ws-brand-2))!important;
  border:0!important;border-radius:17px!important;
  box-shadow:0 12px 28px rgba(0,74,153,.12)!important;
}
#horizon-sge-app #system-container .hsg29-control-panel h3,
#horizon-sge-app #system-container .hsg29-control-panel p{color:#fff!important}
#horizon-sge-app #system-container .hsg29-control-actions button{
  background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.3)!important;color:#fff!important;
}
#horizon-sge-app #system-container .hsg29-control-actions button.primary{
  background:#fff!important;color:var(--ws-brand)!important;border-color:#fff!important;
}

/* ---------- Standard surfaces ---------- */
#horizon-sge-app #system-container :is(
 .card,.dashboard-card,.content-card,.widget,.panel,.panel-card,.section-card,.table-wrapper,.table-container,
 .action-bar,.calendar-container,.calendar-event-item,.comunicado-card,.risk-summary,.risk-summary-item,.ia-chat-container,
 .hsg15-card,.hsg16-card,.hsg17-card,.hsg18-card,.hsg19-card,.hsg20-card,.hsg21-card,.hsg23-panel,.hsg24-panel,
 .hsg15-doc-card,.hsg15-task,.hsg15-message,.hsg-form-shell,.hsg-espera-card,.detail-item
){
  background:var(--ws-surface)!important;
  color:var(--ws-text)!important;
  border-color:var(--ws-border)!important;
}
#horizon-sge-app #system-container :is(.card,.dashboard-card,.content-card,.widget,.panel,.panel-card,.section-card,.table-wrapper,.table-container){
  border-radius:15px!important;
  box-shadow:0 4px 18px rgba(18,52,86,.045)!important;
}
#horizon-sge-app #system-container :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
  background:var(--ws-surface)!important;
  color:var(--ws-text)!important;
  border-color:#C8D6E5!important;
  box-shadow:none!important;
}
#horizon-sge-app #system-container :is(input,textarea)::placeholder{color:#8A9AAF!important}
#horizon-sge-app #system-container table{background:var(--ws-surface)!important;color:var(--ws-text)!important}
#horizon-sge-app #system-container table thead th{
  background:var(--ws-surface-3)!important;color:#51677D!important;border-color:var(--ws-border)!important;
}
#horizon-sge-app #system-container table tbody td{
  background:var(--ws-surface)!important;color:var(--ws-text)!important;border-color:var(--ws-border)!important;
}
#horizon-sge-app #system-container table tbody tr:hover td{background:#F7FAFD!important}

/* ---------- Popovers / dialogs ---------- */
#horizon-sge-app #system-container :is(.profile-dropdown,.h29-notification-panel,.h29-appearance-panel,.modal,.modal-content){
  background:var(--ws-surface)!important;color:var(--ws-text)!important;border-color:var(--ws-border)!important;
}
#horizon-sge-app #system-container .profile-dropdown{box-shadow:0 18px 48px rgba(18,52,86,.14)!important}
#horizon-sge-app #system-container .h29-notification-panel{box-shadow:0 18px 48px rgba(18,52,86,.14)!important}
#horizon-sge-app #system-container .h29-appearance-panel header button{background:var(--ws-surface-3)!important;color:var(--ws-brand)!important}

/* ---------- Legal footer: public links only, no admin controls ---------- */
#horizon-sge-app #h33-internal-footer .h33-admin-link{display:none!important}

/* ---------- Tonico ---------- */
#horizon-sge-app .tonico-launcher{
  background:linear-gradient(135deg,var(--ws-brand),var(--ws-brand-2))!important;
  border:0!important;
  box-shadow:0 12px 30px rgba(0,74,153,.23)!important;
}
#horizon-sge-app .tonico-panel{border-color:var(--ws-border)!important}

/* ---------- Dark mode: one token system, no white islands ---------- */




















/* Inline white surfaces generated by older modules. */


/* High contrast must respect dark mode instead of forcing white. */


/* ---------- Responsive ---------- */
@media(max-width:1180px){
  #horizon-sge-app #system-container .profile-name{display:none!important}
  #horizon-sge-app #system-container .profile-trigger{padding:4px!important}
  #horizon-sge-app #system-container .hx-search{max-width:none!important}
}
@media(max-width:900px){
  #horizon-sge-app #system-container .sidebar{
    width:min(286px,86vw)!important;
    transform:translateX(-104%)!important;
    z-index:1200!important;
  }
  #horizon-sge-app #system-container .sidebar.open{transform:translateX(0)!important}
  #horizon-sge-app #system-container .main-content{
    width:100%!important;margin-left:0!important;padding:0 16px 86px!important;
  }
  #horizon-sge-app #system-container .top-header{
    margin:0 -16px 18px!important;padding:10px 16px!important;min-height:66px!important;
  }
  .admin-bar #horizon-sge-app #system-container .top-header{top:46px!important}
  #horizon-sge-app #system-container .top-header .header-left{min-width:0!important}
  #horizon-sge-app #system-container #page-title{font-size:19px!important}
  #horizon-sge-app #system-container .hx-search{display:none!important}
  #horizon-sge-app #system-container .h29-notification-wrap{margin-left:auto!important}
  #horizon-sge-app #system-container .profile-trigger{border:0!important;background:transparent!important}
}
@media(max-width:560px){
  #horizon-sge-app #system-container .main-content{padding-inline:12px!important}
  #horizon-sge-app #system-container .top-header{margin-inline:-12px!important;padding-inline:12px!important}
  #horizon-sge-app #system-container #page-title{max-width:145px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #horizon-sge-app #system-container .h29-welcome{padding:19px!important}
  #horizon-sge-app #system-container .h29-welcome h2{font-size:20px!important}
  #horizon-sge-app #system-container .stats-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:380px){
  #horizon-sge-app #system-container .stats-grid{grid-template-columns:1fr!important}
}

/* Printing */
@media print{
  #horizon-sge-app #system-container .sidebar,
  #horizon-sge-app #system-container .top-header,
  #horizon-sge-app .tonico-support{display:none!important}
  #horizon-sge-app #system-container .main-content{width:100%!important;margin:0!important;padding:0!important}
}
