/* NX HH identity, 20260910. Scoped to branding surfaces; business controls retain their styles. */
:root{--nxhh-logo:url('https://sistema.happyhousemarcenaria.com.br/auth/brand/logo.png');--nxhh-background:url('https://sistema.happyhousemarcenaria.com.br/auth/brand/background.png')}
.nxhh-brand{position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;height:auto!important;min-height:110px!important;gap:0!important;padding:6px 0 12px!important;flex-shrink:0!important}
.nxhh-brand>:not(.nxhh-logo):not(button){display:none!important}
.nxhh-brand .nxhh-logo{display:block!important;width:180px!important;max-width:100%!important;height:120px!important;object-fit:contain!important;border:0!important;border-radius:7px!important;margin:0!important;padding:0!important;box-shadow:none!important;background:#0f1822!important}
.nxhh-surface{background-image:linear-gradient(#07111aed,#07111aed),var(--nxhh-background)!important;background-size:cover!important;background-position:center!important}
body.nxhh-dark{background-image:linear-gradient(#0f1822eb,#0f1822eb),var(--nxhh-background)!important;background-attachment:fixed!important;background-size:cover!important}
body.nxhh-light{background-image:linear-gradient(#f3f6f9ed,#f3f6f9ed),var(--nxhh-background)!important;background-attachment:fixed!important;background-size:cover!important}
.nxhh-signature{display:flex;align-items:center;gap:18px;margin:12px 0 20px;padding:12px 18px;background:#0f1822;border-radius:10px;color:#f5f2ec;font:600 14px system-ui}
.nxhh-signature img{width:150px;height:100px;object-fit:contain}.nxhh-signature span{color:#e2be82}
header .nxhh-brand{min-height:0!important;padding:0!important}
header .nxhh-brand .nxhh-logo{width:105px!important;height:70px!important}
body.nxhh-conferencia{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.nxhh-conferencia>.app{width:100%!important;max-width:none!important}
.nxhh-conferencia>.app>main{min-width:0!important;overflow-x:auto!important}
/* CSS module layouts in Compras and Estoque: no changes to React-owned DOM. */
[class*='__brandBlock'],[class$='__brand']{position:relative!important;flex-wrap:wrap!important;min-height:145px!important;height:auto!important;padding-top:130px!important}
[class*='__brandBlock']:before,[class$='__brand']:before{content:'';position:absolute;top:0;left:0;width:190px;height:126px;background:#0f1822 var(--nxhh-logo) center/contain no-repeat;border-radius:7px}
[class*='__brandMark'],[class$='__brand']>span:first-child{display:none!important}
[class*='__sidebar']:not([class*='Footer']):not([class*='Toggle']){background-image:linear-gradient(#07111aee,#07111aee),var(--nxhh-background)!important;background-size:cover!important;background-position:center!important}
[class*='__brandPanel']{background-image:linear-gradient(#07111a77,#07111a77),var(--nxhh-background)!important;background-size:cover!important;background-position:center!important}
body.nxhh-login{background:#07111a var(--nxhh-background) center/cover fixed no-repeat!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:30px clamp(24px,8vw,150px)!important;min-height:100svh!important}
.nxhh-login main{width:min(420px,100%)!important;background:#0c1724ef!important;border:1px solid #c99a5555!important;box-shadow:0 22px 80px #0006!important;backdrop-filter:blur(8px);padding:24px 30px!important}
.nxhh-login .login-logo{width:230px;height:auto;display:block;margin:-8px auto 0;border-radius:6px}
.nxhh-login h1{font-size:25px!important;margin:10px 0!important}.nxhh-login p{font-size:14px;line-height:1.5}.nxhh-login button{background:#c99a55!important;color:#101923!important}.nxhh-login input:focus{outline:2px solid #c99a55;outline-offset:2px}
@media(max-width:760px){.nxhh-brand{min-height:75px!important;padding:0!important}.nxhh-brand .nxhh-logo{width:135px!important;height:90px!important}.nxhh-login main{margin:auto}.nxhh-login .login-logo{width:195px}.nxhh-signature{margin:8px}.nxhh-signature img{width:120px;height:80px}body.nxhh-login{padding:20px!important;background-position:65% center!important}}
@media print{body.nxhh-dark,body.nxhh-light{background-image:none!important}.nxhh-signature{display:none!important}.nxhh-brand .nxhh-logo{width:120px!important;height:80px!important}}
/* NX FMM depth system — 20260918-r2. Presentation only; preserve semantic colors and layout. */
:root{--nx-depth-edge:rgba(36,65,100,.18);--nx-depth-shadow:rgba(19,45,76,.13);--nx-depth-highlight:rgba(255,255,255,.50)}
body :is(.card,.panel,.kpi,.metric-card,.stat-card,.stats-card,.data-card,.source-card,.daily-card,.project-card,.client-card,.client-group-card,.client-list-card,.business-card,.service-project-card,.report-card,.risk-card,.task-card,.triage-card,.alert-card,.area-card,.action-plan-card,.plan-kpi-card,.kanban-card,.sidebar-card,.user-card,.quote-panel,.ie-card,.lm-scope-card,.system,[class$="__panel"],[class$="__card"],[class$="__cleanCard"],[class$="__targetCard"],[class$="__alertCard"],[class$="__alertDueSoonCard"],[class$="__alertOverdueCard"],[class$="__historyCard"],[class$="__emptyCard"]){
 border-radius:14px!important;
 box-shadow:inset 0 1px 0 var(--nx-depth-highlight),inset 0 -3px 0 var(--nx-depth-edge),0 8px 20px var(--nx-depth-shadow)!important;
}
body :is(button,.btn,.button,.primary-button,.secondary-button,.ghost-button,.action-button,.dark-button,input[type=submit]):not(:disabled):not([role=checkbox]):not([role=radio]):not([role=switch]):not([role=tab]):not(.icon-button):not(.text-button):not(.link-button):not([class$="__iconButton"]){
 box-shadow:inset 0 1px 0 rgba(255,255,255,.27),inset 0 -2px 0 rgba(18,43,72,.17),0 3px 7px rgba(19,45,76,.12)!important;
}
body :is(button,.btn,.button):not(:disabled):not([role=checkbox]):not([role=radio]):not([role=switch]):not(.icon-button):not(.text-button):not(.link-button):hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -2px 0 rgba(18,43,72,.22),0 7px 13px rgba(19,45,76,.2)!important}
body :is(button,.btn,.button):not(:disabled):active{box-shadow:inset 0 2px 4px rgba(13,33,58,.2),0 1px 3px rgba(19,45,76,.1)!important}
body :is(.sidebar,aside.sidebar,aside#sidebar,.nxhh-surface,[class$="__sidebar"]){box-shadow:5px 0 20px rgba(11,30,50,.13),inset -1px 0 0 rgba(255,255,255,.08)!important}
body :is(.nav-item.active,.nav-item.selected,.sidebar .active,.sidebar [aria-current=page],aside nav [aria-current=page],aside nav button.active,aside nav a.active,[class$="__navActive"],.tabs [aria-selected=true],.tabs button.active,[role=tab][aria-selected=true]){box-shadow:inset 3px 0 0 #c79b53,inset 0 1px 0 rgba(255,255,255,.22),inset 0 -3px 0 rgba(11,28,50,.25),0 5px 11px rgba(9,24,44,.22)!important}
body :is(.kanban-card,.project-card,.client-card,.system,.ie-card,.lm-scope-card):hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -3px 0 var(--nx-depth-edge),0 12px 24px rgba(19,45,76,.19)!important}
body :is(dialog,.modal-dialog,.modal-content){box-shadow:0 24px 75px rgba(10,28,50,.33),inset 0 1px 0 rgba(255,255,255,.4)!important}
body :is(button,a,input,select,textarea):focus-visible{outline:2px solid #759cde;outline-offset:3px}
body :is(button,input):disabled{box-shadow:none!important}
/* Do not add animation or transforms: Kanban dragging and positioning remain owned by each app. */
@media print{body :is(.card,.panel,.kpi,.metric-card,.stat-card,.stats-card,.data-card,.source-card,.daily-card,.project-card,.client-card,.client-group-card,.client-list-card,.business-card,.report-card,.risk-card,.task-card,.triage-card,.alert-card,.area-card,.action-plan-card,.plan-kpi-card,.kanban-card,.sidebar-card,.user-card,.quote-panel,.ie-card,.lm-scope-card,.system,button,.btn,.button,dialog,.modal-content,[class$="__panel"],[class$="__card"]){box-shadow:none!important;background-image:none!important}}
/* Portal do cliente: volumes keep the existing status colors and progress values. */
body :is(.access-card,.access-project-card,.appointment-card,.client-notice-card,.client-report-mounting-card,.client-report-stage,.cpp-map-card,.cpp-project-card,.project-status-card,.routing-card,.link-card,.ce-metrics>div,.ce-metrics>article,.client-mounting-kpi,.client-report-evolution article){box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -3px 0 rgba(36,65,100,.16),0 8px 20px rgba(19,45,76,.12)!important}
body :is(.environment-pill,.client-mounting-list button,.phase-cell){box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -2px 0 rgba(18,43,72,.18),0 3px 7px rgba(19,45,76,.10)!important}
body :is(.environment-pill.active,.client-mounting-list button.active,.client-menu-panel button.active){box-shadow:inset 3px 0 0 #c79b53,inset 0 1px 0 rgba(255,255,255,.3),inset 0 -3px 0 rgba(18,43,72,.20),0 6px 14px rgba(19,45,76,.17)!important}
body :is(.modal-card,.client-appointment-dialog){box-shadow:0 24px 75px rgba(10,28,50,.3),inset 0 1px 0 rgba(255,255,255,.45)!important}
@media print{body :is(.access-card,.access-project-card,.appointment-card,.client-notice-card,.client-report-mounting-card,.client-report-stage,.cpp-map-card,.cpp-project-card,.project-status-card,.routing-card,.link-card,.ce-metrics>div,.ce-metrics>article,.client-mounting-kpi,.client-report-evolution article,.environment-pill,.client-mounting-list button,.phase-cell,.modal-card,.client-appointment-dialog){box-shadow:none!important}}
