/* FinNav — warm daylight / quiet deep blue. Presentation only. */
:root,[data-finnav-theme="light"]{
 --fn-bg:#f6f6f2;--fn-surface:#fff;--fn-soft:#eef1f1;--fn-ink:#263545;--fn-muted:#647383;
 --fn-line:#d8dfe3;--fn-accent:#7564ac;--fn-accent-rgb:117,100,172;--fn-accent-soft:#eeebf7;
 --fn-glass:rgba(250,251,247,.88);--fn-panel:rgba(255,255,255,.88);--fn-shadow:0 12px 36px #283b4b08;
 --fn-wash:linear-gradient(90deg,#f6f7f0dc,#f7f7f2a6 38%,#f7f7f214 80%);
 --fn-grid:rgba(48,76,89,.035);--fn-glow:rgba(224,199,157,.17);--fn-on-accent:#fff;
 --fn-danger:#b74046;--fn-success:#217766;--fn-warning:#9a681c;--fn-info:#286e91;
 --fn-danger-soft:#f9e9e8;--fn-success-soft:#e5f1ec;--fn-warning-soft:#fbf1d9;--fn-info-soft:#e6f0f7;
}
[data-finnav-theme="dark"]{
 --fn-bg:#0e1b25;--fn-surface:#152632;--fn-soft:#1b303d;--fn-ink:#e4edf1;--fn-muted:#a3b4c2;
 --fn-line:#344956;--fn-accent:#b6a5e3;--fn-accent-rgb:182,165,227;--fn-accent-soft:#2c304a;
 --fn-glass:rgba(17,34,46,.92);--fn-panel:rgba(20,39,52,.91);--fn-shadow:0 12px 36px #0000001c;
 --fn-wash:linear-gradient(90deg,#0b1b2add,#0c1e2dad 40%,#0b1b2a42 85%);
 --fn-grid:rgba(186,214,226,.035);--fn-glow:rgba(108,143,163,.09);--fn-on-accent:#182332;
 --fn-danger:#f08a8e;--fn-success:#74c3a5;--fn-warning:#e6be73;--fn-info:#8dc3e2;
 --fn-danger-soft:#38242c;--fn-success-soft:#183930;--fn-warning-soft:#393326;--fn-info-soft:#1b3548;
}
html[data-finnav-theme]{background:var(--fn-bg);color:var(--fn-ink)}
.fn-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fn-theme-control{display:inline-flex;gap:7px;align-items:center;flex-shrink:0;white-space:nowrap;color:var(--fn-muted);margin:0;padding:6px 9px;border:1px solid var(--fn-line);border-radius:4px;background:var(--fn-panel);font:11px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
.fn-theme-control select{font:inherit;color:var(--fn-ink);background:transparent;border:0;padding:0 14px 0 0;cursor:pointer;max-width:96px;min-height:22px;border-radius:0}
.fn-theme-control option{background:var(--fn-surface);color:var(--fn-ink)}
.fn-theme-control:focus-within{outline:2px solid var(--fn-accent);outline-offset:3px}
.fn-theme-control select:focus-visible{outline:none}
/* Map both Tabler and Bootstrap generations used by existing pages. */
.finnav-site{
 --tblr-body-bg:var(--fn-bg);--tblr-body-color:var(--fn-ink);--tblr-body-color-rgb:38,53,69;--tblr-bg-surface:var(--fn-surface);--tblr-bg-surface-secondary:var(--fn-soft);--tblr-bg-surface-tertiary:var(--fn-soft);--tblr-muted:var(--fn-muted);--tblr-secondary:var(--fn-muted);--tblr-border-color:var(--fn-line);--tblr-card-bg:var(--fn-surface);--tblr-primary:var(--fn-accent);--tblr-primary-rgb:var(--fn-accent-rgb);--tblr-link-color:var(--fn-accent);--tblr-link-hover-color:var(--fn-ink);
 --bs-body-bg:var(--fn-bg);--bs-body-color:var(--fn-ink);--bs-secondary-color:var(--fn-muted);--bs-tertiary-bg:var(--fn-soft);--bs-border-color:var(--fn-line);--bs-primary:var(--fn-accent);--bs-primary-rgb:var(--fn-accent-rgb);
 background:radial-gradient(ellipse at 85% 0,var(--fn-glow),transparent 45%),linear-gradient(var(--fn-grid) 1px,transparent 1px),linear-gradient(90deg,var(--fn-grid) 1px,transparent 1px),var(--fn-bg);background-size:auto,96px 96px,96px 96px,auto;color:var(--fn-ink);font-family:-apple-system,BlinkMacSystemFont,"Inter","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased
}
[data-finnav-theme="dark"] .finnav-site{--tblr-body-color-rgb:228,237,241}
.finnav-site .page,.finnav-site .page-wrapper{background:transparent}
.finnav-site .navbar{min-height:76px;background:var(--fn-glass)!important;border-bottom:1px solid var(--fn-line);box-shadow:none;backdrop-filter:blur(18px);--tblr-navbar-color:var(--fn-muted);--tblr-navbar-active-color:var(--fn-ink);--tblr-navbar-hover-color:var(--fn-accent)}
.finnav-site .navbar .container-xl{gap:16px}
.finnav-site .navbar .navbar-nav.order-md-last{gap:18px;align-items:center}
.finnav-site .navbar .text-reset{color:var(--fn-ink)!important}
/* Account labels must not inherit navbar-dark's fixed light text. */
.finnav-site .navbar .fn-account-name{color:var(--fn-ink)}
.finnav-site .navbar .input-icon-addon{color:var(--fn-muted)}
.finnav-site .navbar .nav-link{color:var(--fn-muted);font-size:13px}
.finnav-site .navbar .nav-link:hover,.finnav-site .navbar .nav-link.active{color:var(--fn-accent)}
.finnav-site .navbar-brand{margin:0;min-height:36px}
.fn-brand{display:inline-flex;align-items:center;gap:9px;color:var(--fn-ink)!important;text-decoration:none!important;white-space:nowrap;line-height:1}
.fn-brand img{width:31px;height:31px;filter:none!important}.fn-brand>span{font-size:24px;font-weight:600;letter-spacing:-.7px}.fn-brand small{font-size:11px;letter-spacing:.1em;font-weight:500;margin-left:8px}
.finnav-site .navbar-toggler{color:var(--fn-ink);border-color:var(--fn-line)}
[data-finnav-theme="light"] .finnav-site .navbar-toggler-icon{filter:brightness(.25)}
[data-finnav-theme="dark"] .finnav-site .navbar-toggler-icon{filter:brightness(0) invert(1)}
.finnav-site .content{padding-top:28px}
.finnav-site .page-header{margin-top:0;margin-bottom:24px}
.finnav-site .page-title{font-size:clamp(24px,2.2vw,34px);font-weight:500;letter-spacing:-.04em;color:var(--fn-ink)}
.finnav-site .page-pretitle,.finnav-site .subheader{font-size:11px;letter-spacing:.08em;color:var(--fn-muted);font-weight:400}
.finnav-site .page-body{margin-top:0;margin-bottom:36px}
.finnav-site :is(.card,.modal-content,.dropdown-menu,.list-group-item,.popover){background:var(--fn-surface);color:var(--fn-ink);border-color:var(--fn-line);box-shadow:var(--fn-shadow);border-radius:6px}
.finnav-site :is(.card.shadow-sm,.card.shadow-lg){box-shadow:var(--fn-shadow)!important}
.finnav-site .card.rounded-3{border-radius:6px!important}
.finnav-site .card-header{padding:20px 24px;border-bottom:1px solid var(--fn-line)}
.finnav-site .card-header:not([class*="bg-"]),.finnav-site .card-footer{background:var(--fn-soft)}
.finnav-site .card-title{font-weight:500;letter-spacing:-.025em;color:inherit}
.finnav-site .card-body{padding:24px}
.finnav-site :is(.border,.border-top,.border-bottom,.border-start,.border-end){border-color:var(--fn-line)!important}
.finnav-site :is(.text-muted,.text-secondary,.form-text,.footer-links a,.stock-name,.breadcrumb-item){color:var(--fn-muted)!important}
.finnav-site :is(.text-dark,.text-body,.stock-code,.form-control-plaintext){color:var(--fn-ink)!important}
.finnav-site :is(.bg-white,.bg-light,.bg-body,.bg-body-tertiary,.bg-body-secondary){background-color:var(--fn-soft)!important}
.finnav-site .bg-white{background-color:var(--fn-surface)!important}
.finnav-site a:not(.btn):not(.nav-link):not(.badge):not(.dropdown-item):not(.fn-brand){color:var(--fn-accent)}
.finnav-site a:not(.btn):hover{color:var(--fn-ink)}
.finnav-site .bg-primary{background-color:var(--fn-accent)!important;color:var(--fn-on-accent)!important}
.finnav-site .bg-primary.bg-opacity-10{background-color:var(--fn-accent-soft)!important;color:var(--fn-accent)!important}
.finnav-site .text-gradient{background:linear-gradient(90deg,var(--fn-ink),var(--fn-accent));background-clip:text;-webkit-background-clip:text}
.finnav-site :is(.text-primary,.link-primary){color:var(--fn-accent)!important}
.finnav-site :is(.text-success,.text-green,.text-lime,.link-success){color:var(--fn-success)!important}
.finnav-site :is(.text-danger,.text-red,.link-danger){color:var(--fn-danger)!important}
.finnav-site .text-warning{color:var(--fn-warning)!important}.finnav-site .text-info{color:var(--fn-info)!important}
.finnav-site .btn{border-radius:4px;font-weight:500;letter-spacing:.01em;box-shadow:none}
.finnav-site :is(.btn-primary:hover,.btn-primary:focus-visible){filter:brightness(1.08)}
.finnav-site :is(.btn-outline-primary,.btn-outline-secondary,.btn-outline-dark,.btn-outline-light,.btn-outline-purple,.btn-secondary,.btn-white,.btn-group-sm .btn:not(.active)){color:var(--fn-ink);background:var(--fn-surface);border-color:var(--fn-line)}
.finnav-site :is(.btn-outline-primary:hover,.btn-outline-secondary:hover,.btn-outline-dark:hover,.btn-outline-light:hover,.btn-outline-purple:hover,.btn-group-sm .btn:not(.active):hover){background:var(--fn-accent-soft);color:var(--fn-accent);border-color:var(--fn-accent)}
.finnav-site :is(.btn-primary,.btn-group-sm .btn.active){background:var(--fn-accent);border-color:var(--fn-accent);color:var(--fn-on-accent)!important;box-shadow:none;transform:none}
.finnav-site .btn:disabled,.finnav-site .btn.disabled{opacity:.45}
.finnav-site :is(.form-control,.form-select,.input-group-text){background-color:var(--fn-surface);color:var(--fn-ink);border-color:var(--fn-line);border-radius:4px;box-shadow:none}
.finnav-site .form-control::placeholder{color:var(--fn-muted);opacity:.8}
.finnav-site :is(.form-control:focus,.form-select:focus){border-color:var(--fn-accent);box-shadow:0 0 0 3px rgba(var(--fn-accent-rgb),.12)}
.finnav-site :is(.form-control:disabled,.form-control[readonly]){background:var(--fn-soft);color:var(--fn-muted)}
.finnav-site .form-check-input{border-color:var(--fn-line);background-color:var(--fn-surface);accent-color:var(--fn-accent)}
.finnav-site .form-check-input:checked{background-color:var(--fn-accent);border-color:var(--fn-accent)}
.finnav-site :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--fn-accent)}
.finnav-site .form-label{font-size:12px;font-weight:500;color:var(--fn-muted)}
.finnav-site :is(.nav-tabs,.nav-pills){border-color:var(--fn-line);gap:4px}
.finnav-site :is(.nav-tabs,.nav-pills) .nav-link{color:var(--fn-muted);border-radius:3px}
.finnav-site :is(.nav-tabs,.nav-pills) .nav-link.active{color:var(--fn-accent);background:var(--fn-accent-soft);border-color:var(--fn-line);box-shadow:inset 0 -2px var(--fn-accent)}
.finnav-site :is(.accordion-item,.accordion-button,.page-link){background:var(--fn-surface);color:var(--fn-ink);border-color:var(--fn-line);box-shadow:none}
.finnav-site .accordion-button:not(.collapsed),.finnav-site .page-item.active .page-link{background:var(--fn-accent-soft);color:var(--fn-accent)}
[data-finnav-theme="dark"] .finnav-site .accordion-button:after{filter:brightness(0) invert(.85)}
.finnav-site .card-tabs>.nav-tabs .nav-link{background:var(--fn-surface);border-color:var(--fn-line);color:var(--fn-muted)}
.finnav-site .card-tabs>.nav-tabs .nav-link.active{background:var(--fn-accent-soft);color:var(--fn-accent)}
.finnav-site .dropdown-item{color:var(--fn-ink)}.finnav-site .dropdown-item:hover{background:var(--fn-soft)}
.finnav-site .table{color:var(--fn-ink);--tblr-table-color:var(--fn-ink);--tblr-table-border-color:var(--fn-line);--tblr-table-hover-bg:var(--fn-soft);--tblr-table-striped-bg:var(--fn-soft);--bs-table-bg:transparent;--bs-table-color:var(--fn-ink);--bs-table-hover-bg:var(--fn-soft);--bs-table-hover-color:var(--fn-ink);--bs-table-border-color:var(--fn-line);font-variant-numeric:tabular-nums}
.finnav-site .table :is(td,th){border-color:var(--fn-line)}
.finnav-site :is(.table thead th,.table-light,.sticky-thead thead th,.category-header){background:var(--fn-soft);color:var(--fn-muted);font-size:11px;font-weight:500;letter-spacing:.04em;box-shadow:none}
.finnav-site .table :is(tr.bg-dark,tr.bg-dark-lt)>td{background:var(--fn-soft);color:var(--fn-ink);font-weight:600}
.finnav-site .table-hover>tbody>tr:hover>*{--tblr-table-accent-bg:var(--fn-soft);color:inherit}
.finnav-site .table-responsive{border-radius:3px}
.finnav-site :is(.controls,.agreement-checkbox,.qr-placeholder){background:var(--fn-soft);color:var(--fn-muted);border-color:var(--fn-line);border-radius:4px}
.finnav-site .qr-placeholder{border-width:1px}
.finnav-site #login_container{background:#fff} /* Keep QR contrast; never recolor QR pixels. */
.finnav-site .divider{background:linear-gradient(90deg,transparent,var(--fn-line),transparent);height:1px}
.finnav-site .autocomplete-list{background:var(--fn-surface);color:var(--fn-ink);border:1px solid var(--fn-line);border-radius:0 0 4px 4px;box-shadow:var(--fn-shadow)}
.finnav-site .autocomplete-item:hover,.finnav-site .autocomplete-item.active{background:var(--fn-accent-soft)}
.finnav-site .stock-exchange{color:var(--fn-muted)}
.finnav-site .alert{border:1px solid var(--fn-line);border-radius:4px;box-shadow:none}
.finnav-site :is(.alert-info,.alert-primary){background:var(--fn-info-soft);color:var(--fn-info)}
.finnav-site .alert-success{background:var(--fn-success-soft);color:var(--fn-success)}
.finnav-site .alert-warning{background:var(--fn-warning-soft);color:var(--fn-warning)}
.finnav-site .alert-danger{background:var(--fn-danger-soft);color:var(--fn-danger)}
.finnav-site .flash-message{border-color:var(--fn-line);border-radius:4px;box-shadow:var(--fn-shadow)}
.finnav-site .modal-header,.finnav-site .modal-footer{border-color:var(--fn-line)}
[data-finnav-theme="dark"] .finnav-site .btn-close{filter:invert(1) grayscale(1)}
.finnav-site footer{background:var(--fn-soft)!important;border-top:1px solid var(--fn-line);margin-top:32px}
.finnav-site footer hr{display:none}.finnav-site .footer-heading{font-size:13px;font-weight:500!important;color:var(--fn-ink)}
.finnav-site .footer-heading .fn-brand{margin-right:7px}
.finnav-site .footer-heading .fn-brand>span{font-size:20px}
.finnav-site :is(pre,code){color:var(--fn-ink);background:var(--fn-soft)}
.finnav-site .dupont-node{background:var(--fn-surface);color:var(--fn-ink);border-color:var(--fn-line);box-shadow:var(--fn-shadow)}
.finnav-site #dupont-analysis>svg path{stroke:var(--fn-line)}
.finnav-site #heatmap-container{max-width:100%;overflow-x:auto}
.finnav-site #heatmap-container svg text:not(.cell-label){fill:var(--fn-muted)}
.finnav-site #heatmap-container .cell{stroke:var(--fn-surface)}
.finnav-site #heatmap-container~.tooltip,.finnav-site #tooltip{background:var(--fn-surface);color:var(--fn-ink);border-color:var(--fn-line)}
.finnav-site .apexcharts-text,.finnav-site .apexcharts-legend-text{fill:var(--fn-muted)!important;color:var(--fn-muted)!important}
.finnav-site .apexcharts-gridline{stroke:var(--fn-line)!important}
.finnav-site :is(.apexcharts-tooltip,.apexcharts-tooltip-title,.apexcharts-menu,.apexcharts-xaxistooltip,.apexcharts-yaxistooltip){background:var(--fn-surface)!important;color:var(--fn-ink)!important;border-color:var(--fn-line)!important;box-shadow:var(--fn-shadow)!important}
.finnav-site .apexcharts-tooltip-title{border-bottom-color:var(--fn-line)!important}
.finnav-site .apexcharts-canvas svg{background:transparent!important}
.fn-error-page main{max-width:760px;margin:12vh auto;padding:48px;text-align:center}
.fn-error-page h1{font-size:clamp(72px,16vw,150px);font-weight:300;letter-spacing:-.05em;color:var(--fn-accent);margin:0 0 24px}
.fn-error-page p{font-size:18px;color:var(--fn-muted)}
.fn-error-page .fn-theme-control{position:absolute;top:24px;right:28px}
@media(max-width:767px){.finnav-site .navbar{min-height:68px}.finnav-site .navbar .container-xl{gap:10px}.finnav-site .navbar .navbar-nav.order-md-last{gap:10px}.fn-brand>span{font-size:22px}.fn-brand small{display:none}.finnav-site .content{padding-top:22px}.finnav-site .card-body{padding:18px}.finnav-site .card-header{padding:16px 18px}.finnav-site .page-title{font-size:25px}.finnav-site .fn-theme-control{padding:4px 6px;font-size:10px}.finnav-site .fn-theme-control>svg{display:none}.finnav-site .navbar .input-icon{margin-top:12px;margin-bottom:8px}}
@media print{html[data-finnav-theme],.finnav-site{background:white!important;color:black!important}.fn-theme-control{display:none!important}.finnav-site .card{box-shadow:none!important}}

/* Low-frequency account action: compact, with its irreversible warning retained. */
.finnav-site .fn-account-close{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:20px;padding-top:12px;border-top:1px solid var(--fn-line)}
.finnav-site .fn-account-close .fn-account-close-button{flex:none;min-height:30px;padding:4px 10px;font-size:12px;font-weight:400;line-height:1.5;background:transparent;border:1px solid var(--fn-line);color:var(--fn-muted)}
.finnav-site .fn-account-close .fn-account-close-button:hover{color:var(--fn-danger);border-color:var(--fn-danger);background:var(--fn-danger-soft)}
.finnav-site .fn-account-close .fn-account-close-button:focus-visible{outline:2px solid var(--fn-danger);outline-offset:3px}
.finnav-site .fn-account-close small{color:var(--fn-muted);font-size:11px;line-height:1.6}

/* One accessible icon; the effective theme controls the sun/moon drawing. */
.fn-theme-control.fn-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:6px;margin:0;border:0;border-radius:50%;background:transparent;color:var(--fn-muted);cursor:pointer;flex:none}
.fn-theme-control.fn-theme-toggle:hover{background:var(--fn-accent-soft);color:var(--fn-accent)}
.fn-theme-control.fn-theme-toggle:focus-visible{outline:2px solid var(--fn-accent);outline-offset:3px}
.fn-theme-toggle .fn-theme-moon{display:none}
[data-finnav-theme="dark"] .fn-theme-toggle .fn-theme-sun{display:none}
[data-finnav-theme="dark"] .fn-theme-toggle .fn-theme-moon{display:block}
.finnav-site .fn-theme-toggle>svg{display:block}
