/* NTW shared visual polish — additive only; application-specific layouts remain intact. */
:root{--ntw-ring:rgba(20,136,214,.28);--ntw-shadow:0 10px 28px rgba(10,28,48,.09);--ntw-shadow-hover:0 16px 36px rgba(10,28,48,.15)}
html{scroll-padding-top:86px}
:where(a,button,input,select,textarea){-webkit-tap-highlight-color:transparent}
:where(button,input,select,textarea):focus-visible{outline:3px solid var(--ntw-ring);outline-offset:2px}
:where(button,.btn,.filter,[role="button"]){transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}
:where(button,.btn,.filter,[role="button"]):active{transform:translateY(1px)}
:where(input,select,textarea){transition:border-color .16s ease,box-shadow .16s ease}
:where(input,select,textarea):focus{border-color:#1488d6!important;box-shadow:0 0 0 3px var(--ntw-ring)}
:where(.card,.panel,.box,.tile,.module,.svc,.contact-card,.stat,.metric,.kpi,.summary-card,.info-card,.data-card,.form-card){box-shadow:var(--ntw-shadow)}
:where(.tile,.module,.svc,.contact-card,.stat,.metric,.kpi,.summary-card,.info-card,.data-card){transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
@media (hover:hover){:where(.tile,.module,.svc,.contact-card,.stat,.metric,.kpi,.summary-card,.info-card,.data-card):hover{transform:translateY(-3px);box-shadow:var(--ntw-shadow-hover)}}
:where(table){border-collapse:separate;border-spacing:0}
:where(th){letter-spacing:.025em}
:where(tbody tr){transition:background-color .14s ease}
@media (hover:hover){:where(tbody tr:hover){background-color:rgba(20,136,214,.045)}}
.empty,.empty-state,[data-empty]{border:1px dashed #b9c9da;border-radius:12px;background:linear-gradient(135deg,#fff,#f7fbfe)}
@media(max-width:700px){:where(input,select,textarea,button,.btn){min-height:42px}:where(.container){padding-left:16px;padding-right:16px}:where(table){font-size:12px}:where(.modal,.dialog,[role="dialog"]){max-height:calc(100dvh - 24px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
