/* NPC INTELLECT v2.62: shared progressive UX layer. Existing business logic untouched. */
:root{--npc-v262-accent:#5367e9;--npc-v262-focus:#a5b4fc}
@media screen{
button,a,input,select,textarea,summary{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease,filter .2s ease}
button:not(:disabled),summary{cursor:pointer}
button:not(:disabled):hover{filter:brightness(1.075)}
button:not(:disabled):active{transform:translateY(1px)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--npc-v262-focus)!important;outline-offset:3px!important}
:where(input,select,textarea){accent-color:var(--npc-v262-accent)}
:where(input,select,textarea):not(:disabled):focus{border-color:#818cf8!important;box-shadow:0 0 0 3px rgba(99,102,241,.14)!important}
:where(.panel,.card,.stat-card,.metric-card){transition:box-shadow .24s ease,border-color .24s ease}
:where(.panel,.card,.stat-card,.metric-card):hover{border-color:rgba(117,139,230,.38)}
:where(table) tbody tr{transition:background-color .16s ease}
:where(table) tbody tr:hover{background-color:rgba(99,102,241,.065)}
:where(.scroll,.table-wrap,.table-container){scrollbar-color:#8997ca transparent;scrollbar-width:thin}
.npc-v262-back-top{position:fixed;right:20px;bottom:22px;z-index:9000;border:1px solid #7185c8;background:#192b56;color:#fff;border-radius:14px;padding:11px 13px;box-shadow:0 10px 28px #08152e55;opacity:0;pointer-events:none;transform:translateY(8px)}
.npc-v262-back-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.npc-v262-back-top:hover{background:#4357c8}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Print contract: every browser-generated PDF uses portrait A4. */
@page{size:A4 portrait;margin:12mm}
@media print{
html,body{background:#fff!important;color:#17233d!important;max-width:100%!important}
body{font-size:10pt!important}
main,.report,.report-body,.panel{max-width:100%!important;min-width:0!important}
.npc-v262-back-top{display:none!important}
.scroll,.table-wrap,.table-container{overflow:visible!important;max-width:100%!important}
table{width:100%!important;max-width:100%!important;table-layout:fixed!important;font-size:8pt!important;border-collapse:collapse!important}
th,td{overflow-wrap:anywhere!important;word-break:normal!important;white-space:normal!important;padding:4px 5px!important}
thead{display:table-header-group!important}tr{break-inside:avoid;page-break-inside:avoid}
canvas,svg,img{max-width:100%!important;break-inside:avoid}
.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
