/* Intelligence Reporting Center — shared look for the sign-in page and the project list.
   Tokens match the Sales dashboard (dark .dk / light .lt). Theme: <html data-theme="dark|light">. */
:root{
  --bg:#07090E;--s1:#0E121A;--s2:#141A25;--s3:#1D2535;--ln:rgba(255,255,255,.08);--ln2:rgba(255,255,255,.16);
  --tx:#E9ECF3;--mu:#98A1B5;--ac:#6FA3FF;--acs:rgba(111,163,255,.14);--dn:#FF7F7F;--up:#43DDA0;
  --c0:#5C8DFF;--c1:#FF9B42;--c2:#2FD3A5;--c3:#B590FF;
  --glow:.55;--shadow:0 24px 50px -28px rgba(0,0,0,.8);--card:color-mix(in srgb,var(--s1) 86%,transparent);
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,Consolas,monospace;color-scheme:dark}
:root[data-theme="light"]{
  --bg:#F2F4F8;--s1:#FFFFFF;--s2:#F6F7FA;--s3:#E9ECF3;--ln:rgba(15,20,40,.09);--ln2:rgba(15,20,40,.18);
  --tx:#10131C;--mu:#586075;--ac:#2A5BE8;--acs:rgba(42,91,232,.10);--dn:#C62F2F;--up:#0B8A57;
  --c0:#2F63E0;--c1:#D96F0B;--c2:#0C9A78;--c3:#7447D6;
  --glow:.28;--shadow:0 18px 36px -24px rgba(20,30,60,.3);--card:color-mix(in srgb,var(--s1) 92%,transparent);color-scheme:light}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .4s,color .4s}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ac);outline-offset:2px}

/* ambient light behind everything */
.amb{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.amb i{position:absolute;border-radius:50%;filter:blur(8px);opacity:var(--glow)}
.amb i:nth-child(1){width:620px;height:620px;top:-220px;left:-180px;background:radial-gradient(circle,var(--ac),transparent 66%);animation:drift 16s ease-in-out infinite alternate}
.amb i:nth-child(2){width:520px;height:520px;bottom:-240px;right:-160px;background:radial-gradient(circle,var(--c1),transparent 66%);opacity:calc(var(--glow)*.5);animation:drift 20s ease-in-out infinite alternate-reverse}
.amb i:nth-child(3){width:380px;height:380px;top:40%;left:55%;background:radial-gradient(circle,var(--c2),transparent 66%);opacity:calc(var(--glow)*.35);animation:drift 24s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(60px,40px) scale(1.15)}}

/* the logo: three bars + a slow light ring + a glow pulse */
.logo{position:relative;width:var(--ls,64px);height:var(--ls,64px);display:grid;place-items:center;flex:none}
.logo .ring{position:absolute;inset:0;border-radius:28%;background:conic-gradient(from 0deg,transparent 0 55%,var(--ac) 70%,var(--c2) 82%,transparent 95%);animation:spin 5.5s linear infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1.5px;opacity:.9}
.logo .tile{position:absolute;inset:3px;border-radius:26%;background:radial-gradient(120% 120% at 30% 20%,var(--s3),var(--s1) 70%);box-shadow:0 0 0 1px var(--ln),0 10px 30px -12px var(--ac)}
.logo .halo{position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(circle,var(--acs),transparent 62%);animation:pulse 3.2s ease-in-out infinite}
.logo .bars{position:relative;display:flex;flex-direction:column;gap:calc(var(--ls,64px)*.06);width:46%}
.logo .bars i{display:block;height:calc(var(--ls,64px)*.1);border-radius:3px;background:var(--ac);box-shadow:0 0 calc(var(--ls,64px)*.16) color-mix(in srgb,var(--ac) 70%,transparent);transform-origin:left;animation:barIn .9s cubic-bezier(.2,.8,.2,1) both,breathe 4.5s ease-in-out 1s infinite}
.logo .bars i:nth-child(2){background:var(--c1);width:80%;box-shadow:0 0 calc(var(--ls,64px)*.16) color-mix(in srgb,var(--c1) 65%,transparent);animation-delay:.12s,1.5s}
.logo .bars i:nth-child(3){background:var(--c2);width:60%;box-shadow:0 0 calc(var(--ls,64px)*.16) color-mix(in srgb,var(--c2) 65%,transparent);animation-delay:.24s,2s}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{50%{transform:scale(1.12);opacity:.6}}
@keyframes barIn{from{transform:scaleX(0);opacity:0}}
@keyframes breathe{50%{transform:scaleX(.84)}}

.name{line-height:1.15}
.name b{display:block;font-weight:650;letter-spacing:-.01em}
.name span{color:var(--mu);font-weight:500}

/* theme switch */
.theme{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;border:1px solid var(--ln2);background:var(--card);cursor:pointer;backdrop-filter:blur(10px);transition:transform .15s,border-color .2s}
.theme:hover{border-color:var(--ac)}
.theme:active{transform:scale(.94)}
.theme svg{width:18px;height:18px}
.theme .sun{display:none}
:root[data-theme="light"] .theme .sun{display:block}
:root[data-theme="light"] .theme .moon{display:none}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
