/* FINNEX 9600000 - single design system. Scoped to FINNEX; does not override WP admin globally. */
/* FINNEX 3.61: responsive panels and WCAG focus */
.fnxf-app,.fnxf-role960,.fnxf-design960{max-width:100%;min-width:0}
.fnxf-app :is(.fnxf-panel,.fnxf-main,.fnxf-topbar){min-width:0;overflow-wrap:anywhere}
.fnxf-app :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--fn960-accent,#2463b4)!important;outline-offset:3px}
.fnxf-app :is(table,.widefat){max-width:100%;overflow-x:auto}
/* FINNEX 632: prevent narrow viewport content overflow without changing tenant colors */
.fnxf-app .fnxf-panel{overflow-wrap:anywhere;min-width:0}
.fnxf-app .fnxf-panel :is(button,a,input,select,textarea){font:inherit}
.fnxf-app .fnxf-panel :is(button,a){touch-action:manipulation}
.fnxf-app .fnxf-panel :is(button,input[type=submit],input[type=button]){min-height:40px}
.fnxf-app .fnxf-panel :is(button,input[type=submit],input[type=button]):disabled{cursor:not-allowed;opacity:.65}
.fnxf-app .fnxf-panel :is(input,select,textarea):focus-visible{outline-offset:2px}
/* FINNEX 636: refinements scoped to dashboard UI; no global brand overrides */
.fnxf-app .fnxf-panel :is(button,input[type=submit],input[type=button]){font-weight:600;line-height:1.35;transition:opacity .15s ease,box-shadow .15s ease}
.fnxf-app .fnxf-panel :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:40px;line-height:1.45}
.fnxf-app .fnxf-panel :is(label,legend){font-weight:600;line-height:1.4}
.fnxf-app .fnxf-panel :is(table,.widefat) th{white-space:normal;overflow-wrap:normal}
@media(max-width:750px){.fnxf-app .fnxf-panel :is(button,input[type=submit],input[type=button]){min-height:44px}.fnxf-app .fnxf-panel :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}}
@media(prefers-reduced-motion:reduce){.fnxf-app .fnxf-panel :is(button,input[type=submit],input[type=button]){transition:none}}

@media(max-width:750px){.fnxf-app .fnxf-panel{min-width:0}.fnxf-app .fnxf-panel :is(input,select,textarea){max-width:100%;box-sizing:border-box}.fnxf-app .fnxf-panel :is(table,.widefat){display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.fnxf-role960 .fn960-switch select{width:100%}}

@media(max-width:780px){.fnxf-app{grid-template-columns:minmax(0,1fr)!important}.fnxf-app .fnxf-panel{padding:14px!important}}

:root{--fn960-ink:#14243a;--fn960-muted:#64748b;--fn960-border:#e5eaf1;--fn960-bg:#f5f7fb;--fn960-accent:#2463b4;--fn960-radius:16px;--fn960-shadow:0 5px 24px rgba(20,36,58,.045)}
.fnxf-app,.fnxf-role960,.fnxf-design960{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif!important;color:var(--fn960-ink);font-size:14px;line-height:1.5}
.fnxf-app{grid-template-columns:248px minmax(0,1fr)!important;background:var(--fn960-bg)!important;border:1px solid var(--fn960-border)!important;border-radius:20px!important;box-shadow:var(--fn960-shadow)}
.fnxf-app .fnxf-sidebar{background:#14263d!important;padding:22px 13px!important;min-width:0}
.fnxf-app .fnxf-brand{padding:8px 12px 24px!important;border-bottom:1px solid #ffffff1a;margin-bottom:15px;align-items:center}
.fnxf-app .fnxf-nav{gap:3px!important;align-content:start}
.fnxf-app .fnxf-nav a{font-size:13px!important;line-height:1.35!important;padding:10px 12px!important;border-radius:10px!important;min-height:39px;display:flex!important;align-items:center!important;gap:11px!important;transition:background .15s}
.fnxf-app .fnxf-nav a:hover,.fnxf-app .fnxf-nav a.fnxf-active,.fnxf-app .fnxf-nav a[aria-current=page]{background:#ffffff1c!important;color:#fff!important;box-shadow:inset 3px 0 0 #8bb5fa}
.fnxf-app .fnxf-sidebar-footer{border-top:1px solid #ffffff19;padding-top:18px}
.fnxf-app .fnxf-main{min-width:0!important;background:var(--fn960-bg)}
.fnxf-app .fnxf-topbar{height:auto!important;min-height:68px!important;padding:14px clamp(16px,2.5vw,34px)!important;background:#fff!important;border-bottom:1px solid var(--fn960-border)!important;gap:14px;flex-wrap:wrap}
.fnxf-app .fnxf-topbar>span:first-of-type{font-weight:700;color:#1c3554}
.fnxf-app .fnxf-panel{box-sizing:border-box;max-width:1440px!important;width:100%!important;margin:0 auto!important;padding:clamp(18px,2.6vw,36px)!important;min-width:0!important}
.fnxf-app .fnxf-panel h2{font-size:clamp(23px,2.1vw,31px)!important;line-height:1.2!important;letter-spacing:-.035em;margin:8px 0 10px!important;color:var(--fn960-ink)!important}
.fnxf-app .fnxf-panel h3{color:var(--fn960-ink);letter-spacing:-.02em;line-height:1.35}
.fnxf-app .fnxf-panel p{line-height:1.55;max-width:85ch}
.fnxf-app .fnxf-eyebrow{letter-spacing:.12em;font-size:11px!important;font-weight:750}
.fnxf-app .fnxf-stats,.fnxf-app .fnxf-command-cards,.fnxf-app .fnxf-overview-grid{gap:14px!important}
.fnxf-app .fnxf-stats article,.fnxf-app .fnxf-command-cards article,.fnxf-app .fnxf-command-grid>div,.fnxf-app .fnxf-overview-grid article,.fnxf-app .fnxf-intake-overview,.fnxf-app .fnxf-intake-form,.fnxf-app .fnxf-notice{border:1px solid var(--fn960-border)!important;border-radius:var(--fn960-radius)!important;background:#fff!important;box-shadow:var(--fn960-shadow)!important;min-width:0!important}
.fnxf-app .fnxf-stats article,.fnxf-app .fnxf-command-cards article{padding:20px!important}
.fnxf-app .fnxf-stats strong,.fnxf-app .fnxf-command-cards strong{font-size:clamp(20px,2vw,29px)!important;letter-spacing:-.04em!important;color:#14243a!important;line-height:1.2}
.fnxf-app .fnxf-stats small,.fnxf-app .fnxf-command-cards small{font-size:12px!important;color:var(--fn960-muted)!important}
.fnxf-app .fnxf-quick{gap:9px!important;margin:18px 0!important}
.fnxf-app button,.fnxf-app .fnxf-action,.fnxf-app input[type=submit]{border-radius:10px;min-height:37px;max-width:100%;cursor:pointer}
.fnxf-app button:focus-visible,.fnxf-app a:focus-visible,.fnxf-role960 a:focus-visible{outline:3px solid var(--fn960-accent,#2463b4)!important;outline-offset:3px!important}
.fnxf-app input:not([type=checkbox]):not([type=radio]),.fnxf-app select,.fnxf-app textarea{border:1px solid #cdd8e5;border-radius:9px;max-width:100%;min-width:0;background:#fff}
.fnxf-app table,.fnxf-design960 table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--fn960-border);border-radius:12px;overflow:hidden;background:#fff}
.fnxf-app th,.fnxf-design960 th{background:#f0f4f9;color:#3a506b;font-size:12px;font-weight:700;text-align:left}
.fnxf-app th,.fnxf-app td,.fnxf-design960 th,.fnxf-design960 td{padding:11px 13px;border-bottom:1px solid #edf0f5;vertical-align:middle}
.fnxf-app tr:last-child td,.fnxf-design960 tr:last-child td{border-bottom:0}
.fnxf-app .fnxf-org-switcher{background:#fff;border-bottom:1px solid var(--fn960-border);padding:10px 28px;display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.fnxf-role960{max-width:1420px;margin:24px auto 40px!important;padding:0 24px 30px!important;box-sizing:border-box}
.fnxf-role960 *{box-sizing:border-box}
.fnxf-role960 .fn960-header{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;background:#fff;border:1px solid var(--fn960-border);border-radius:20px;padding:25px 28px;box-shadow:var(--fn960-shadow)}
.fnxf-role960 .fn960-kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#577496;font-weight:750;margin:0 0 7px}
.fnxf-role960 h1{font-size:clamp(23px,2.5vw,34px);font-weight:750;letter-spacing:-.045em;line-height:1.2;margin:0 0 8px;color:var(--fn960-ink)}
.fnxf-role960 .fn960-subtitle{color:var(--fn960-muted);margin:0;font-size:13px}
.fnxf-role960 .fn960-switch{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.fnxf-role960 .fn960-switch label{display:grid;gap:5px;color:#43566c;font-size:12px;font-weight:650}
.fnxf-role960 select{min-width:200px;max-width:100%;min-height:39px;border:1px solid #d6dfe9;border-radius:9px;background:#fff;padding:5px 9px}
.fnxf-role960 .fn960-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;min-height:39px;border:1px solid #cbd6e5;background:#fff;color:#183b64;text-decoration:none;border-radius:9px;font-weight:650;cursor:pointer}
.fnxf-role960 .fn960-button-primary{background:#215ea8;color:#fff;border-color:#215ea8}
.fnxf-role960 .fn960-heading{display:flex;justify-content:space-between;gap:14px;align-items:end;flex-wrap:wrap;margin:28px 0 15px}
.fnxf-role960 .fn960-heading h2{font-size:19px;letter-spacing:-.025em;margin:0;color:var(--fn960-ink)}
.fnxf-role960 .fn960-heading p{margin:5px 0 0;color:var(--fn960-muted)}
.fnxf-role960 .fn960-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.fnxf-role960 .fn960-tile{background:#fff;border:1px solid var(--fn960-border);border-radius:15px;padding:21px;min-height:130px;box-shadow:var(--fn960-shadow);display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.fnxf-role960 .fn960-tile-head{display:flex;align-items:center;gap:10px;font-weight:750;color:#1b334e;font-size:14px}
.fnxf-role960 .fn960-icon{display:grid;place-items:center;width:35px;height:35px;flex:none;border-radius:10px;background:#eaf2fb;color:#225c9b;font-size:16px}
.fnxf-role960 .fn960-tile p{font-size:12px;line-height:1.5;color:#697b90;margin:0}
.fnxf-role960 .fn960-reports{background:#fff;border:1px solid var(--fn960-border);border-radius:15px;padding:20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.fnxf-role960 .fn960-notice{color:#64748b;font-size:12px;line-height:1.6;margin:20px 0}
@media(max-width:900px){.fnxf-app{grid-template-columns:220px minmax(0,1fr)!important}.fnxf-role960{padding:0 14px 24px!important}}
@media(max-width:750px){.fnxf-app{display:block!important}.fnxf-app .fnxf-sidebar{position:absolute!important;display:none}.fnxf-app.fnxf-menu-open .fnxf-sidebar{display:flex!important;z-index:100;max-width:min(320px,90vw);box-sizing:border-box;overflow-y:auto;max-height:calc(100dvh - 60px)}.fnxf-app .fnxf-panel{padding:18px!important}.fnxf-app .fnxf-stats{grid-template-columns:1fr!important}.fnxf-role960 .fn960-header{padding:20px}.fnxf-role960 .fn960-grid{grid-template-columns:1fr}.fnxf-role960 .fn960-switch{width:100%}.fnxf-role960 .fn960-switch label{min-width:0;flex:1 1 100%}.fnxf-role960 .fn960-header{min-width:0;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.fnxf-app *,.fnxf-role960 *{transition:none!important;animation:none!important}}
