/* ND153 · Central de alertas, hub de clientes e responsividade administrativa */

/* A marca deve aparecer completa e com peso consistente. */
body.nf-redesign .sidebar-head{
  grid-template-columns:minmax(0,1fr) 42px!important;
  column-gap:8px!important;
}
body.nf-redesign .sidebar-logo{
  min-width:0!important;
  overflow:visible!important;
  gap:9px!important;
}
body.nf-redesign .sidebar-logo-text{
  display:block!important;
  min-width:0!important;
  flex:1 1 auto!important;
  overflow:visible!important;
  text-overflow:unset!important;
  white-space:nowrap!important;
  font-size:19px!important;
  font-weight:900!important;
  letter-spacing:-.72px!important;
  line-height:1.1!important;
}
body.nf-redesign .sidebar-logo-text strong{
  display:block!important;
  font:inherit!important;
  font-weight:900!important;
}
body.nf-redesign .sidebar-logo-badge{flex:0 0 46px!important;width:46px!important;height:46px!important}

/* Central de alertas unificada. */
.alerts-unified-hero{min-height:220px}
.unified-alert-list{display:grid;gap:12px}
.alert-source-label{display:inline-flex;margin-bottom:5px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--primary,#1861f1)}
.notification-title-row>div:first-child{min-width:0}
.notification-title-row h3{overflow-wrap:anywhere}
.notification-actions form{margin:0}
.priority-critical,.priority-urgent{border-color:color-mix(in srgb,#dc3545 42%,var(--border-color,#dbe4ef))!important}
.priority-critical .notification-icon,.priority-urgent .notification-icon{color:#c7263b;background:color-mix(in srgb,#dc3545 12%,transparent)}

/* Hub administrativo do cliente. */
.platform-hub-tabs{position:sticky;top:82px;z-index:14;padding:10px 0;background:color-mix(in srgb,var(--nd140-bg) 94%,transparent);backdrop-filter:blur(10px)}
.platform-metric-text{font-size:18px!important;line-height:1.2;overflow-wrap:anywhere}
.platform-client-overview-grid{align-items:start}
.platform-governance-editor{scroll-margin-top:150px}
.platform-client-hub-hero,.platform-section-card,#visao-geral,#estrutura,#usuarios,#marca{scroll-margin-top:150px}
.platform-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.platform-module-option{display:flex!important;align-items:flex-start;gap:12px!important;padding:15px;border:1px solid var(--nd140-border);border-radius:15px;background:var(--nd140-card);cursor:pointer;font-weight:600!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.platform-module-option:hover{border-color:color-mix(in srgb,var(--nd140-blue) 48%,var(--nd140-border))}
.platform-module-option.is-active{border-color:color-mix(in srgb,var(--nd140-blue) 68%,var(--nd140-border));background:color-mix(in srgb,var(--nd140-blue) 7%,var(--nd140-card));box-shadow:0 8px 24px color-mix(in srgb,var(--nd140-blue) 10%,transparent)}
.platform-module-option input{width:19px!important;height:19px!important;margin:1px 0 0!important;flex:0 0 auto}
.platform-module-option span{display:grid;gap:5px;min-width:0}
.platform-module-option strong{font-size:14px}
.platform-module-option small{font-weight:450;line-height:1.45;color:var(--nd140-muted)}
.platform-module-option.is-readonly{cursor:default}
.platform-advanced-limits{border:1px solid var(--nd140-border);border-radius:14px;padding:0 15px;background:var(--nd140-card)}
.platform-advanced-limits summary{cursor:pointer;padding:14px 0;font-weight:800;color:var(--nd140-blue)}
.platform-advanced-limits[open] summary{border-bottom:1px solid var(--nd140-border);margin-bottom:14px}
.platform-operation-mode{grid-template-columns:minmax(0,1fr) minmax(220px,340px);align-items:end}
.platform-sticky-actions{position:sticky;bottom:12px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--nd140-blue) 30%,var(--nd140-border));border-radius:15px;background:color-mix(in srgb,var(--nd140-card) 94%,transparent);box-shadow:0 12px 32px rgba(5,23,48,.13);backdrop-filter:blur(12px)}
.platform-sticky-actions span{font-size:12px;color:var(--nd140-muted)}
.platform-create-grid{align-items:start}

/* Plataforma administrativa: menu móvel real, sem transformar a navegação em faixa horizontal. */
.platform-mobile-menu,.platform-sidebar-backdrop{display:none}
.platform-topbar-title{display:flex;align-items:center;gap:12px;min-width:0}
.platform-topbar-title>div{min-width:0}
.platform-topbar-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(62vw,720px)}
.platform-brand div{min-width:0}
.platform-brand strong{font-weight:900;white-space:nowrap}
.platform-sidebar{overflow-y:auto;overscroll-behavior:contain}
.platform-sidebar-backdrop{position:fixed;inset:0;border:0;background:rgba(4,14,31,.56);z-index:90}
.platform-mobile-menu{width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--nd140-border);border-radius:12px;background:var(--nd140-card);color:var(--nd140-ink);font-size:20px;cursor:pointer;flex:0 0 auto}
.platform-entity-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.platform-entity-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--nd140-blue) 45%,var(--nd140-border));box-shadow:0 16px 36px rgba(9,31,66,.09)}
.platform-client-card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px;padding-top:13px;border-top:1px solid var(--nd140-border);color:var(--nd140-blue);font-weight:800;font-size:13px}
.platform-search-bar{display:flex;align-items:end;gap:12px;margin-bottom:16px}
.platform-search-bar label{display:grid;gap:6px;flex:1;font-size:12px;font-weight:750}
.platform-search-bar input{width:100%;box-sizing:border-box;border:1px solid var(--nd140-border);background:var(--nd140-bg);color:var(--nd140-ink);border-radius:12px;padding:11px 12px;font:inherit}

/* Responsividade do painel Master e da aplicação. */
@media(max-width:1180px){
  body.nf-redesign .topbar{padding-inline:18px}
  body.nf-redesign .topbar-actions{gap:8px}
  body.nf-redesign .user-chip strong{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .platform-module-grid{grid-template-columns:1fr}
  .platform-operation-mode{grid-template-columns:1fr}
}

@media(max-width:980px){
  .platform-shell{display:block!important}
  .platform-sidebar{position:fixed!important;inset:0 auto 0 0;width:min(88vw,310px)!important;height:100dvh!important;z-index:100!important;padding:20px 16px!important;transform:translateX(-105%);transition:transform .22s ease;box-shadow:20px 0 50px rgba(0,0,0,.2)}
  .platform-nav-open .platform-sidebar{transform:translateX(0)}
  .platform-nav-open .platform-sidebar-backdrop{display:block}
  .platform-mobile-menu{display:inline-flex}
  .platform-authority,.platform-sidebar-footer{display:grid!important}
  .platform-nav{display:grid!important;overflow:visible!important}
  .platform-nav a{white-space:normal!important}
  .platform-topbar{height:72px!important;padding:0 18px!important}
  .platform-main{padding:20px!important}
  .platform-hub-tabs{top:72px}
  .platform-security-chip{display:none!important}
  .platform-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .platform-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.nf-redesign .topbar .user-chip strong,body.nf-redesign .logout-label{display:none}
  body.nf-redesign .topbar-actions .topbar-logout-btn{width:44px;padding-inline:0;justify-content:center}
}

@media(max-width:720px){
  .alert-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .notification-title-row{align-items:flex-start;gap:10px}
  .notification-badges{justify-content:flex-start}
  .notification-actions{display:flex;flex-wrap:wrap}
  .platform-main{padding:14px!important}
  .platform-topbar{padding:0 12px!important}
  .platform-topbar-title strong{max-width:48vw;font-size:15px!important}
  .platform-eyebrow{display:none}
  .platform-theme-button{width:40px;height:40px}
  .platform-hero{padding:22px!important;border-radius:20px!important}
  .platform-hero h1{font-size:clamp(27px,9vw,40px)!important}
  .platform-hub-tabs{margin-inline:-14px;padding:10px 14px;overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none}
  .platform-hub-tabs a{white-space:nowrap}
  .platform-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .platform-grid,.platform-grid.three{grid-template-columns:1fr!important}
  .platform-form-grid,.platform-form-grid.three,.platform-check-grid{grid-template-columns:1fr!important}
  .platform-card{padding:17px!important;border-radius:18px!important}
  .platform-card-head{flex-direction:column;align-items:stretch}
  .platform-sticky-actions{position:static;display:grid}
  .platform-sticky-actions .platform-button{width:100%}
  .platform-search-bar{display:grid}
  .platform-responsive-table,.platform-responsive-table tbody,.platform-responsive-table tr,.platform-responsive-table td{display:block;width:100%}
  .platform-responsive-table thead{display:none}
  .platform-responsive-table tr{padding:10px 0;border-bottom:1px solid var(--nd140-border)}
  .platform-responsive-table td{box-sizing:border-box;display:grid;grid-template-columns:minmax(105px,38%) 1fr;gap:10px;padding:8px 4px!important;border:0!important;text-align:right!important}
  .platform-responsive-table td:before{content:attr(data-label);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--nd140-muted);text-align:left}
  body.nf-redesign .sidebar-logo-text{font-size:18px!important}
  body.nf-redesign .topbar-actions>a:nth-of-type(1),body.nf-redesign .topbar-actions>button[data-page-help-open]{display:none}
}

@media(max-width:480px){
  .alert-summary-grid{grid-template-columns:1fr!important}
  .platform-metrics{grid-template-columns:1fr!important}
  .platform-topbar-title strong{max-width:42vw}
  .platform-top-actions{gap:6px!important}
  .platform-hero-actions .platform-button{width:100%}
  .platform-list-item{align-items:flex-start;flex-direction:column}
  .platform-list-item>strong{text-align:left;overflow-wrap:anywhere}
  .notification-card{grid-template-columns:1fr!important}
  .notification-icon{width:40px;height:40px}
}
