/* FSAOQ-010 — aligned toolbar, premium ADMIN-only logo and elevated surfaces */
:root{
  --bg:#F5F7FB;--paper:#FFFFFF;--paper-2:#FCFCFD;--paper2:#FCFCFD;
  --ink:#101828;--muted:#667085;--label:#475467;
  --line:#E6EBF3;--line-strong:#D4DDE8;--line2:#D4DDE8;
  --accent:#3F6DF6;--accent2:#315EDC;--accent-hover:#315EDC;--accent-soft:#EEF4FF;--light:#EEF4FF;
  --green:#067647;--green-soft:#ECFDF3;--green-bg:#ECFDF3;
  --orange:#B54708;--orange-soft:#FFFAEB;--orange-bg:#FFFAEB;
  --red:#B42318;--red-soft:#FEF3F2;--gray:#667085;--gray-bg:#F2F4F7;
  --hover:#F8FAFC;--tabs:#F2F4F7;
  --shadow:0 4px 16px rgba(16,24,40,.065);
  --surface-shadow:0 9px 28px rgba(16,24,40,.085),0 2px 7px rgba(16,24,40,.045);
  --header-shadow:0 9px 28px rgba(16,24,40,.09),0 1px 4px rgba(16,24,40,.05);
  --radius:12px;
  --logo-cycle:25s;
  color-scheme:light;
}
:root[data-theme=dark]{
  --bg:#0C111D;--paper:#161B26;--paper-2:#171D2A;--paper2:#171D2A;
  --ink:#F5F5F6;--muted:#94969C;--label:#CECFD2;
  --line:#1F2A3B;--line-strong:#333E50;--line2:#333E50;
  --accent:#5B8CFF;--accent2:#78A1FF;--accent-hover:#78A1FF;--accent-soft:#182848;--light:#182848;
  --green:#75E0A7;--green-soft:#12382B;--green-bg:#12382B;
  --orange:#FEC84B;--orange-soft:#3E2F13;--orange-bg:#3E2F13;
  --red:#FDA29B;--red-soft:#41201F;--gray:#98A2B3;--gray-bg:#202733;
  --hover:#1F2633;--tabs:#111827;
  --shadow:0 4px 16px rgba(0,0,0,.26);
  --surface-shadow:0 10px 30px rgba(0,0,0,.32),0 2px 8px rgba(0,0,0,.22);
  --header-shadow:0 10px 32px rgba(0,0,0,.34),0 1px 5px rgba(0,0,0,.24);
  color-scheme:dark;
}
html{background:var(--bg);border-top:0!important}
body{background:var(--bg);color:var(--ink);border-top:0!important}
a{color:var(--accent)}

.fsaoq-header{
  width:100%;height:64px!important;min-height:64px!important;
  padding:8px max(18px,calc((100vw - 1560px)/2 + 18px))!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;
  background:var(--paper)!important;border:0!important;outline:0!important;
  box-shadow:var(--header-shadow)!important;
  position:relative;z-index:30;
}
.fsaoq-header .brand{display:flex;align-items:center;min-width:0}
.fsaoq-header .brand-icon{
  width:306px;height:50px;flex:0 0 306px;
  display:grid;place-items:center;background:transparent;border:0;outline:0;box-shadow:none;overflow:visible
}
.fsaoq-logo{
  --fsaoq-logo-mask:none;
  position:relative;width:100%;height:100%;display:none;overflow:hidden;
  transition:transform .28s ease,filter .28s ease;
  user-select:none;-webkit-user-select:none;-webkit-user-drag:none;
}
.fsaoq-logo.is-ready{display:block}
.fsaoq-logo:hover{transform:translateY(-1px);filter:brightness(1.025)}
.fsaoq-logo__base{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center;display:block;
  user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:none
}
.fsaoq-logo__shine,.fsaoq-logo__bloom{
  position:absolute;inset:0;pointer-events:none;
  -webkit-mask-image:var(--fsaoq-logo-mask);mask-image:var(--fsaoq-logo-mask);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:left center;mask-position:left center;
  -webkit-mask-size:contain;mask-size:contain
}
.fsaoq-logo__bloom::before{
  content:"";position:absolute;top:13%;left:-24%;width:22%;height:74%;opacity:0;
  transform:translateX(0) skewX(-12deg);
  background:linear-gradient(90deg,transparent 0%,rgba(95,118,255,0) 10%,rgba(113,136,255,.13) 34%,rgba(188,202,255,.32) 50%,rgba(113,136,255,.13) 66%,rgba(95,118,255,0) 90%,transparent 100%);
  filter:blur(2.1px);mix-blend-mode:screen;
  animation:fsaoq-bloom-sweep var(--logo-cycle) cubic-bezier(.22,.61,.36,1) infinite
}
.fsaoq-logo__shine::before{
  content:"";position:absolute;top:10%;left:-18%;width:8%;height:80%;opacity:0;
  transform:translateX(0) skewX(-12deg);
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0) 12%,rgba(191,204,255,.16) 34%,rgba(255,255,255,.68) 48%,rgba(255,255,255,.92) 50%,rgba(255,255,255,.68) 52%,rgba(191,204,255,.16) 66%,rgba(255,255,255,0) 88%,transparent 100%);
  filter:blur(.6px);mix-blend-mode:screen;
  animation:fsaoq-core-sweep var(--logo-cycle) cubic-bezier(.22,.61,.36,1) infinite
}
@keyframes fsaoq-bloom-sweep{
  0%{opacity:0;transform:translateX(0) skewX(-12deg)}
  .6%{opacity:0}
  1.2%{opacity:.72}
  4.6%{opacity:.84}
  10.8%{opacity:.56;transform:translateX(575%) skewX(-12deg)}
  12.2%{opacity:0;transform:translateX(635%) skewX(-12deg)}
  100%{opacity:0;transform:translateX(635%) skewX(-12deg)}
}
@keyframes fsaoq-core-sweep{
  0%{opacity:0;transform:translateX(0) skewX(-12deg)}
  .8%{opacity:0}
  1.5%{opacity:.82}
  4.4%{opacity:.96}
  10.5%{opacity:.76;transform:translateX(1450%) skewX(-12deg)}
  11.8%{opacity:0;transform:translateX(1540%) skewX(-12deg)}
  100%{opacity:0;transform:translateX(1540%) skewX(-12deg)}
}
.fsaoq-header .brand-copy{min-width:0}
.fsaoq-header .brand-copy h1{
  margin:0;font-size:20px;font-weight:650;line-height:1.2;letter-spacing:-.4px;
  color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.fsaoq-header .subhead{margin-top:3px;font-size:11px;color:var(--muted)}
.fsaoq-header .top-actions{display:flex;align-items:center;gap:8px;flex:none}
.fsaoq-header .theme-switch{display:flex;align-items:center;gap:7px;margin:0;padding:5px 0;cursor:pointer;color:var(--ink)}
.fsaoq-header .theme-switch svg{display:block;width:18px;height:18px;flex:none;pointer-events:none}
.fsaoq-header .theme-sun{color:#A46B0D}
.fsaoq-header .theme-moon{color:var(--muted);opacity:.6}
:root[data-theme=dark] .fsaoq-header .theme-sun{color:var(--muted);opacity:.6}
:root[data-theme=dark] .fsaoq-header .theme-moon{color:#C0D0FF;opacity:1}
.fsaoq-header input.switch{
  appearance:none;position:relative;width:34px;height:19px;border:0;border-radius:20px;
  padding:0;background:#BDC9D7;flex:none;cursor:pointer;box-shadow:none
}
.fsaoq-header input.switch:before{
  content:"";position:absolute;left:3px;top:3px;width:13px;height:13px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px #172b4230;transition:transform .15s
}
.fsaoq-header input.switch:checked{background:var(--accent)}
.fsaoq-header input.switch:checked:before{transform:translateX(15px)}

.fsaoq-tools-shell{
  width:100%;max-width:1560px;margin:0 auto;padding:10px 18px 0;
  position:relative;z-index:20
}
.fsaoq-tools{
  width:100%;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:7px
}
.fsaoq-tool{
  min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;
  border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);
  text-decoration:none;font-size:12px;font-weight:650;box-shadow:var(--surface-shadow);
  transition:background .12s,border-color .12s,color .12s,box-shadow .12s
}
.fsaoq-tool:hover{background:var(--hover);border-color:var(--line-strong);text-decoration:none}
.fsaoq-tool.current{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 5px 15px rgba(63,109,246,.22)}

body>main{width:100%;max-width:1560px;margin-left:auto;margin-right:auto;padding:10px 18px 28px!important}
body[data-fsaoq-tool="fsa"]>main{padding:62px 18px 28px!important}

/* Primary surfaces: stronger but still soft elevation. */
body>main .panel,
body>main .run-panel,
body>main .reconcile-card,
body>main .search-card,
body>main .results,
body>main .hero,
body>main .card{
  box-shadow:var(--surface-shadow)!important
}

.site-footer{
  width:100%;min-height:60px;padding:15px max(24px,calc((100vw - 1560px)/2 + 24px))!important;
  border-top:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:11px;
  display:flex;align-items:center;gap:10px
}
.fsaoq-footer-logo{display:none;max-width:110px;max-height:28px;object-fit:contain;flex:none}

@view-transition{navigation:auto}
.fsaoq-header{view-transition-name:fsaoq-header}
.fsaoq-tools-shell{view-transition-name:fsaoq-tools}
body>main{view-transition-name:fsaoq-content}
.site-footer{view-transition-name:fsaoq-footer}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-old(fsaoq-header),::view-transition-new(fsaoq-header),
::view-transition-old(fsaoq-tools),::view-transition-new(fsaoq-tools),
::view-transition-old(fsaoq-footer),::view-transition-new(fsaoq-footer){animation:none;mix-blend-mode:normal}
::view-transition-old(fsaoq-content){animation:fsaoq-fade-out 70ms ease both}
::view-transition-new(fsaoq-content){animation:fsaoq-fade-in 90ms ease both}
@keyframes fsaoq-fade-out{to{opacity:.985}}
@keyframes fsaoq-fade-in{from{opacity:.985}}

@media(max-width:980px){
  body[data-fsaoq-tool="fsa"]>main{padding:10px 18px 28px!important}
}
@media(max-width:720px){
  .fsaoq-header{height:58px!important;min-height:58px!important;padding:8px 12px!important}
  .fsaoq-header .brand-icon{width:220px;height:40px;flex-basis:220px}
  .fsaoq-header .theme-sun,.fsaoq-header .theme-moon{display:none}
  .fsaoq-tools-shell{padding:8px 12px 0}
  .fsaoq-tools{width:100%;gap:6px}
  .fsaoq-tool{min-height:44px;padding:6px 8px;white-space:normal;line-height:1.15;text-align:center}
  body>main,body[data-fsaoq-tool="fsa"]>main{padding:8px 12px 24px!important}
  .site-footer{padding:15px 12px!important}
}
@media(max-width:560px){
  .fsaoq-header .brand-icon{width:min(220px,calc(100vw - 92px));flex-basis:min(220px,calc(100vw - 92px))}
}
@media(max-width:480px){
  .fsaoq-header .subhead{display:none}
  .fsaoq-tool{font-size:10.5px}
}
@media(prefers-reduced-motion:reduce){
  ::view-transition-old(*),::view-transition-new(*){animation:none!important}
  .fsaoq-tool,.fsaoq-logo{transition:none}
  .fsaoq-logo__shine::before,.fsaoq-logo__bloom::before{animation:none!important}
}

/* FSA-03.01.02.02 — OKV menu geometry; retain FSA logo asset and animation. */
.fsaoq-header{gap:24px!important}
.fsaoq-header .brand{flex:none}
/* Keep FSA's 306px logo at wide widths; reserve room for horizontal links below. */
@media(min-width:1079px){
  .fsaoq-header .brand-icon{
    width:clamp(132px,calc(100vw - 1230px),306px)!important;
    flex:0 0 clamp(132px,calc(100vw - 1230px),306px)!important
  }
}
.fsaoq-header .ecosystem-nav{position:static;display:flex;flex:1 1 auto;align-items:center;min-width:0;height:100%}
.fsaoq-header .ecosystem-menu{
  flex:1 1 auto;display:flex;align-items:center;gap:12px;min-width:0;
  overflow-x:auto;overflow-y:hidden;scrollbar-width:none;
  position:static;background:transparent;border:0;box-shadow:none;padding:0
}
.fsaoq-header .ecosystem-menu::-webkit-scrollbar{display:none}
.fsaoq-header .ecosystem-link{
  min-height:40px;padding:0 12px;display:inline-flex;align-items:center;
  justify-content:center;gap:8px;flex:none;color:var(--ink);text-decoration:none;
  border:1px solid transparent;border-radius:8px;font-weight:600;font-size:13px;
  white-space:nowrap;background:transparent;box-shadow:none
}
.fsaoq-header .ecosystem-link img{width:18px;height:18px;object-fit:contain;flex:none}
.fsaoq-header .ecosystem-link:hover{background:var(--hover);border-color:var(--line)}
.fsaoq-header .ecosystem-link.current{background:var(--hover);border-color:var(--accent);color:var(--accent)}
.fsaoq-header .ecosystem-link:focus-visible,.fsaoq-header #menuToggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.fsaoq-header .top-actions{display:flex;align-items:center;gap:12px;flex:none;margin-left:auto}
.fsaoq-header #menuToggle{
  display:none;align-items:center;justify-content:center;gap:7px;
  min-width:44px;min-height:44px;padding:0 12px;
  border:1px solid var(--line);border-radius:10px;background:var(--paper);
  color:var(--ink);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer
}
.fsaoq-header #menuToggle:hover,.fsaoq-header #menuToggle[aria-expanded="true"]{background:var(--hover);border-color:var(--accent)}
@media (max-width:1199px) and (min-width:1079px){
  .fsaoq-header .ecosystem-link{font-size:11px;padding-inline:8px}
  .fsaoq-header{gap:14px!important}
}
@media(max-width:1078px){
  .fsaoq-header{gap:12px!important}
  .fsaoq-header #menuToggle{display:inline-flex}
  .fsaoq-header .ecosystem-menu{
    display:none!important;position:fixed!important;
    top:64px!important;left:0!important;right:0!important;
    width:100%!important;max-width:none!important;height:auto!important;
    max-height:min(65vh,480px);overflow:auto;
    flex-direction:column;align-items:stretch;gap:2px;
    padding:12px clamp(18px,4.1vw,48px);
    background:var(--paper);border:0;border-bottom:1px solid var(--line);
    border-radius:0;box-shadow:var(--shadow);z-index:80
  }
  .fsaoq-header .ecosystem-menu.open{display:flex!important}
  .fsaoq-header .ecosystem-link{width:100%;min-height:44px;justify-content:flex-start;white-space:normal;font-size:14px}
}
@media(max-width:720px){
  .fsaoq-header .ecosystem-menu{top:58px!important}
}
@media(max-width:560px){
  .fsaoq-header .brand-icon{
    width:min(220px,calc(100vw - 146px))!important;
    flex-basis:min(220px,calc(100vw - 146px))!important
  }
}
@media(max-width:650px){
  .fsaoq-header #menuToggle span{display:none}
}
@media(prefers-reduced-motion:reduce){.fsaoq-header .ecosystem-link{transition:none}}
