:root{
  --navy:#11122f;
  --navy2:#17183d;
  --purple:#8151d4;
  --purple2:#a777ed;
  --purpleDeep:#3a2759;
  --ink:#11132b;
  --muted:#77758a;
  --line:#e6e5ee;
  --paper:#ffffff;
  --soft:#f7f6fb;
  --danger:#a92f46;
  --success:#1f6f56;
  --shadow:0 24px 70px rgba(17,18,47,.20);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f5f4f8}
button,input{font:inherit}
a{color:inherit}

.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(470px,.92fr);background:var(--navy)}
.brand-panel{position:relative;overflow:hidden;padding:44px 52px;display:flex;flex-direction:column;justify-content:space-between;color:white;background:radial-gradient(circle at 80% 16%,rgba(86,75,179,.22),transparent 35%),linear-gradient(145deg,#11122f 0%,#15163b 54%,#0d102b 100%)}
.brand-panel:before{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(165deg,transparent 0 30%,rgba(49,43,114,.21) 31% 100%);pointer-events:none}
.brand-top,.brand-copy,.brand-bottom{position:relative;z-index:2}
.brand-logo-link{display:inline-block;text-decoration:none;width:max-content;max-width:76%}
.brand-logo-lockup{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px}
.brand-logo{width:min(390px,100%);height:auto;display:block}
.brand-logo-sub{font-size:clamp(16px,1.55vw,27px);font-weight:500;line-height:1;letter-spacing:.02em;color:#fef9fa;margin-left:61px;white-space:nowrap}
.brand-mark-bg{position:absolute;z-index:1;width:min(58vw,660px);height:auto;right:-2%;top:9%;opacity:.33;filter:saturate(.95) brightness(1.42);pointer-events:none;user-select:none}
.eyebrow{font-size:12px;letter-spacing:.17em;text-transform:uppercase;font-weight:750;color:#cdb6f5;margin-bottom:20px}
.brand-copy{max-width:650px}
.brand-copy h1{font-size:clamp(46px,4.7vw,76px);line-height:1.01;letter-spacing:-.045em;margin:0 0 24px;font-weight:430;max-width:640px}
.brand-copy h1 strong{color:var(--purple2);font-weight:610}
.brand-copy p{font-size:17px;line-height:1.7;max-width:570px;color:#e1e1ec;margin:0}
.brand-bottom{font-size:12px;color:#afb1ca;letter-spacing:.02em}

.login-panel{background:var(--paper);display:flex;align-items:center;justify-content:center;padding:54px}
.login-card{width:min(500px,100%)}
.login-card h2{font-size:36px;letter-spacing:-.035em;margin:0 0 10px;color:#11132b}
.login-card .intro{margin:0 0 36px;color:var(--muted);line-height:1.55;font-size:15px}
.field{margin-bottom:20px}
.field label{display:block;font-size:13px;font-weight:750;margin-bottom:8px;color:#2f3042}
.field input{width:100%;border:1px solid #d7d7e2;border-radius:11px;background:white;padding:15px 16px;outline:none;transition:.18s;min-height:52px;color:#252638}
.field input::placeholder{color:#8b8998}
.field input:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(129,81,212,.10)}
.password-wrap{position:relative}
.password-wrap input{padding-right:68px}
.password-toggle{position:absolute;right:13px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#6d5b91;font-size:12px;font-weight:750;cursor:pointer;padding:7px}
.primary-btn{border:0;width:100%;border-radius:11px;background:linear-gradient(90deg,#744bc5,#a568eb);color:white;padding:15px 18px;font-weight:750;cursor:pointer;box-shadow:0 11px 28px rgba(118,80,200,.24);min-height:54px}
.primary-btn:hover{filter:brightness(1.035)}
.primary-btn:disabled{opacity:.65;cursor:wait}
.login-meta{display:flex;justify-content:space-between;gap:16px;margin-top:18px;font-size:12px;color:#898797}
.login-meta a{color:#7650c8;text-decoration:none;font-weight:600}
.error{margin:0 0 18px;padding:11px 13px;border-radius:9px;background:#fff3f5;color:var(--danger);font-size:13px;display:none}
.error.show{display:block}

.room{min-height:100vh;background:#f4f3f6}
.room-header{background:#fff;border-bottom:1px solid var(--line);padding:20px 34px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:4}
.room-brand{display:flex;align-items:center;gap:17px}
.totus-mark{font-family:Georgia,"Times New Roman",serif;font-size:26px;letter-spacing:.12em;font-weight:600}
.room-sub{font-size:12px;color:#7c7a86;margin-top:4px}
.header-actions{display:flex;align-items:center;gap:20px;font-size:13px;color:#676573}
.text-btn{border:0;background:transparent;color:#5d4a87;font-weight:700;cursor:pointer;padding:8px}
.room-main{max-width:1180px;margin:0 auto;padding:56px 34px 72px}
.hero{display:flex;justify-content:space-between;gap:36px;align-items:flex-end;margin-bottom:42px}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:49px;letter-spacing:-.035em;margin:0 0 12px}
.hero p{margin:0;max-width:680px;color:#6d6b77;line-height:1.65}
.secure-chip{white-space:nowrap;background:#edebf4;border-radius:999px;padding:9px 13px;font-size:12px;color:#4f4566}
.section{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:24px;overflow:hidden;box-shadow:0 8px 30px rgba(31,29,41,.035)}
.section-head{padding:24px 26px 18px;border-bottom:1px solid var(--line)}
.section-head h2{margin:0 0 6px;font-size:20px}
.section-head p{margin:0;color:#85828e;font-size:13px}
.doc-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:19px 26px;border-bottom:1px solid #f0eef3}
.doc-row:last-child{border-bottom:0}
.doc-title{font-size:14px;font-weight:700;margin-bottom:4px}
.doc-meta{font-size:12px;color:#8a8793}
.download-btn{border:1px solid #d9d5e3;background:white;border-radius:9px;padding:10px 14px;font-size:13px;font-weight:700;color:#5a457f;cursor:pointer;min-width:104px}
.download-btn:hover{border-color:#a78ed0;background:#faf8fd}
.download-btn:disabled{opacity:.55;cursor:wait}
.notice{background:#f1eff6;border:1px solid #e1dced;border-radius:13px;padding:20px 22px;color:#625f6b;font-size:12px;line-height:1.65;margin-top:26px}
.room-footer{margin-top:36px;padding-top:26px;border-top:1px solid #dedce3;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#85828e}
.room-footer a{color:#684a9a;text-decoration:none;font-weight:700}
.toast{position:fixed;right:24px;bottom:24px;background:#1d1b28;color:white;padding:13px 16px;border-radius:10px;box-shadow:var(--shadow);font-size:13px;display:none;z-index:10}
.toast.show{display:block}

@media(max-width:900px){
  .login-shell{grid-template-columns:1fr}.brand-panel{min-height:410px;padding:36px}.brand-mark-bg{width:500px;right:-7%;top:5%;opacity:.24}.brand-copy h1{font-size:52px}.login-panel{padding:40px 24px}.brand-bottom{display:none}
  .hero{align-items:flex-start;flex-direction:column}.room-header{padding:17px 20px}.room-main{padding:38px 20px}.header-actions .email{display:none}.hero h1{font-size:40px}
}
@media(max-width:520px){.brand-panel{padding:28px;min-height:385px}.brand-logo-link{max-width:92%}.brand-logo-sub{margin-left:45px;font-size:14px}.brand-mark-bg{width:370px;right:-20%;top:8%}.brand-copy h1{font-size:40px}.brand-copy p{font-size:15px}.login-panel{padding:34px 20px}.login-card h2{font-size:32px}.room-main{padding:30px 15px}.doc-row{padding:17px 18px}.room-footer{flex-direction:column}}


/* ARROW CAPITAL SECURE REPORTING DASHBOARD
   Existing Attentus login styling above this block is unchanged. */
.arrow-room{min-height:100vh;background:#f5f7fb}
.arrow-layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 74px)}
.arrow-nav{background:#171635;padding:24px 14px;border-top:1px solid rgba(255,255,255,.08)}
.arrow-nav-btn{display:block;width:100%;border:0;background:transparent;color:#c8c3dc;text-align:left;padding:12px 14px;border-radius:8px;font-weight:700;margin-bottom:5px}
.arrow-nav-btn.active{background:#fff;color:#171635}
.arrow-nav-btn:disabled{opacity:.78}
.arrow-main{padding:32px;min-width:0}
.arrow-loading{background:#fff;border:1px solid #e0e2ec;border-radius:12px;padding:24px;color:#736f84}
.arrow-page-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:20px}
.arrow-page-head h1{font-size:32px;line-height:1.05;margin:5px 0 6px;color:#171635;letter-spacing:-.025em}
.arrow-page-head p{margin:0;color:#777387}
.arrow-report-date{text-align:right;min-width:150px}
.arrow-report-date span{display:block;font-size:10px;letter-spacing:.12em;color:#8c8799;font-weight:800}
.arrow-report-date strong{display:block;margin-top:4px;color:#171635}
.arrow-top-grid{display:grid;grid-template-columns:1fr 310px;gap:16px;margin-bottom:16px}
.arrow-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.arrow-kpi,.arrow-risk-card,.arrow-card{background:#fff;border:1px solid #e0e2ec;border-radius:12px;box-shadow:0 8px 26px rgba(23,22,53,.045)}
.arrow-kpi{padding:20px}
.arrow-kpi span{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#807b8f;font-weight:800}
.arrow-kpi strong{display:block;font-size:26px;color:#171635;margin:7px 0 2px;letter-spacing:-.025em}
.arrow-kpi small{color:#9691a0}
.arrow-risk-card{padding:14px 17px}
.arrow-risk-title{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#171635;font-weight:800;border-bottom:1px solid #ececf2;padding-bottom:8px}
.arrow-risk-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #f0f0f4}
.arrow-risk-row:last-child{border-bottom:0}
.arrow-status{display:inline-block;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:850;letter-spacing:.05em}
.arrow-status.ok{background:#eaf5f0;color:#21775e}
.arrow-status.check{background:#faeaea;color:#a33d43}
.arrow-card{padding:18px;margin-top:16px}
.arrow-card h2{margin:4px 0 10px;font-size:19px;color:#171635}
.arrow-table-wrap{overflow:auto}
.arrow-table{width:100%;border-collapse:collapse;white-space:nowrap}
.arrow-table th{background:#f2f3f8;color:#716c7f;text-transform:uppercase;letter-spacing:.05em;font-size:9px;text-align:right;padding:10px;border-bottom:1px solid #dedfe8}
.arrow-table th:first-child,.arrow-table td:first-child{text-align:left}
.arrow-table td{padding:10px;text-align:right;border-bottom:1px solid #ececf2}
.arrow-table tbody tr:nth-child(even){background:#fbfbfd}
.negative{color:#a33d43!important}
.arrow-exception-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px}
.arrow-account-check{border:1px solid #e1e2eb;border-radius:10px;padding:12px;background:#fcfcfe}
.arrow-account-check.has-check{border-color:#efd3d5}
.arrow-account-name{font-weight:850;color:#171635;margin-bottom:6px}
.arrow-account-check>div:not(.arrow-account-name){display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:11px;color:#767183}
.arrow-footer{margin-top:22px}
.arrow-error{background:#fff;border:1px solid #ead8da;border-radius:12px;padding:28px}
.arrow-error h2{margin-top:0;color:#8f3940}
@media(max-width:1150px){
  .arrow-layout{grid-template-columns:1fr}
  .arrow-nav{display:flex;gap:5px;overflow:auto}
  .arrow-nav-btn{width:auto;white-space:nowrap;margin:0}
  .arrow-top-grid{grid-template-columns:1fr}
  .arrow-exception-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}
}
@media(max-width:760px){
  .arrow-main{padding:18px}
  .arrow-page-head{align-items:flex-start;flex-direction:column}
  .arrow-report-date{text-align:left}
  .arrow-kpis{grid-template-columns:1fr}
  .arrow-exception-grid{grid-template-columns:1fr}
}


/* APPROVED ARROW DASHBOARD — existing Attentus login CSS remains untouched */
.approved-shell{min-height:100vh;display:grid;grid-template-columns:228px 1fr;background:radial-gradient(circle at 68% 88%,#145b88 0,#06365d 34%,#03284b 72%,#021e3b 100%);color:#071c3e}
.approved-sidebar{min-height:100vh;background:linear-gradient(180deg,#06294b 0%,#063762 58%,#032341 100%);color:white;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.12);position:relative;overflow:hidden}
.approved-sidebar:after{content:"";position:absolute;left:-48px;right:-80px;bottom:118px;height:260px;background:radial-gradient(ellipse at center,rgba(72,131,177,.24),transparent 65%);transform:rotate(-8deg)}
.approved-brand{padding:20px 18px 18px;text-align:center;border-bottom:1px solid rgba(255,255,255,.13);position:relative;z-index:2}
.approved-mark{width:60px;margin:0 auto 4px;color:#2f7dc4}.approved-mark svg{display:block;width:100%}
.approved-brand-name{font-family:Georgia,serif;font-size:20px;letter-spacing:.08em}.approved-brand-sub{font-size:7px;letter-spacing:.16em;margin-top:2px}
.approved-nav{padding:10px 0;position:relative;z-index:2}.approved-nav-item{width:100%;border:0;background:transparent;color:#eef4fb;text-align:left;padding:14px 18px;font-size:14px;cursor:default}
.approved-nav-item.active{background:linear-gradient(90deg,#116fb7,#1d82d0);box-shadow:inset 3px 0 #9dd3ff}.approved-nav-item:disabled{opacity:.98}
.approved-side-spacer{flex:1}.approved-side-mantra{position:relative;z-index:2;padding:0 36px;color:#edf4fb;font-family:Georgia,serif;font-style:italic;letter-spacing:.24em;line-height:1.65;font-size:12px}
.approved-side-line{width:34px;border-top:2px solid #fff;margin:28px 36px 18px;position:relative;z-index:2}.approved-side-foot{padding:0 36px 36px;position:relative;z-index:2;font-size:11px;line-height:1.8;color:#dbe8f2}
.approved-body{padding:13px 14px 18px 14px;min-width:0;color:#061b3c}.approved-topline{display:grid;grid-template-columns:1fr auto auto;gap:34px;align-items:start;color:#fff;padding:2px 8px 10px}
.approved-eyebrow{font-size:9px;letter-spacing:.38em;color:#d7e6f1}.approved-topline h1{font-family:Georgia,serif;font-size:32px;font-weight:500;margin:1px 0 2px}.approved-date{font-size:12px;color:#dbe8f1}
.approved-standard{font-family:Georgia,serif;font-style:italic;letter-spacing:.35em;font-size:10px;margin-top:32px;color:#eef5fb}.approved-user{display:flex;gap:14px;align-items:center;font-size:11px;margin-top:29px}.approved-user button{background:none;border:0;border-left:1px solid rgba(255,255,255,.5);padding-left:14px;color:#fff;cursor:pointer}
.approved-loading{background:#fff;border-radius:6px;padding:20px;margin:4px 8px;color:#4e6478}
.approved-kpi-risk{display:grid;grid-template-columns:minmax(0,1fr) 332px;gap:8px;margin:0 0 8px}
.approved-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.approved-kpis article,.approved-risk{background:linear-gradient(145deg,#063760,#022b50);border:1px solid #1c669b;border-radius:5px;color:white;min-height:112px}
.approved-kpis article{padding:15px 16px}.approved-kpis span{font-size:11px}.approved-kpis em{font-style:normal;font-size:9px}.approved-kpis strong{display:block;font-family:Georgia,serif;font-size:23px;margin:6px 0}.approved-kpis small{font-size:13px;color:#6ce69b;font-weight:700}
.approved-kpis .negative,.approved-returns .negative{color:#db4949!important}.approved-risk h3{font-family:Georgia,serif;margin:6px 10px 5px;font-size:18px}
.approved-risk-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.2);height:78px}.approved-risk-grid>div{text-align:center;padding:8px 3px;border-right:1px solid rgba(255,255,255,.16);font-size:9px}.approved-risk-grid>div:last-child{border-right:0}
.approved-risk-item{font-size:8px;font-weight:800;margin-top:5px}.approved-risk-item.good{color:#7de89b}.approved-risk-item.bad{color:#ff8080}.risk-dot{margin:0 auto 3px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#7de89b;color:#06305a;font-size:14px}.approved-risk-item.bad .risk-dot{background:#ff8080}
.approved-two-charts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.approved-panel{background:white;border-radius:5px;padding:9px 12px;border:1px solid #cbd9e5}.approved-panel h3{font-family:Georgia,serif;font-size:16px;margin:0 0 8px;color:#061b3c}
.approved-bars{display:grid;gap:6px}.approved-bar-row{display:grid;grid-template-columns:46px 1fr 54px;align-items:center;gap:7px;font-size:9px}.approved-track{height:15px;background:#edf4fa;border-bottom:1px solid #d5e3ed;position:relative}.approved-track i{display:block;height:100%;background:linear-gradient(180deg,#58aaf3,#398ae0);border-radius:2px}.approved-bar-row b{text-align:right;font-size:9px}
.approved-bars-net .approved-track i{background:linear-gradient(180deg,#7cb9f4,#4a95dc)}
.approved-lower-grid{display:grid;grid-template-columns:1fr 1fr 1.38fr;gap:8px;margin-bottom:8px}.approved-donut-wrap{display:grid;grid-template-columns:170px 1fr;align-items:center;min-height:155px}.approved-donut{width:145px;height:145px;border-radius:50%;position:relative;margin:auto}.approved-donut-hole{position:absolute;inset:31px;border-radius:50%;background:white;display:grid;place-items:center;text-align:center}.approved-donut-hole strong{font-family:Georgia,serif;font-size:21px;color:#071d40}
.approved-donut-legend{display:grid;gap:9px;font-size:10px}.approved-donut-legend div{display:grid;grid-template-columns:12px 35px 1fr;align-items:center}.approved-donut-legend em{font-style:normal;text-align:right}.legend-swatch{width:10px;height:10px;border-radius:50%;background:#2f65a5}.legend-swatch.s1{background:#2478ed}.legend-swatch.s2{background:#68a8f4}.legend-swatch.s3{background:#32bdd3}.legend-swatch.s4{background:#7d8fa6}.legend-swatch.s5{background:#5d80b3}
.approved-takeaways ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:10px}.approved-takeaways li{position:relative;padding-left:27px}.approved-takeaways li:before{content:"✓";position:absolute;left:0;top:-2px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#31a557;color:white;font-weight:800}.approved-takeaways li.bad:before{content:"!";background:#ce4e54}
.approved-returns{padding-bottom:7px}.approved-panel-head{display:flex;justify-content:space-between;align-items:center}.approved-table-wrap{overflow:auto}.approved-returns table{width:100%;border-collapse:collapse;font-size:9px;white-space:nowrap}.approved-returns th{background:#083a63;color:white;text-align:center;padding:6px 5px}.approved-returns td{padding:4px 6px;text-align:center;border-bottom:1px solid #dbe5ec}.approved-returns td:first-child,.approved-returns th:first-child{text-align:left}.approved-returns tbody tr:nth-child(odd){background:#edf3f7}.approved-returns tbody tr:nth-child(even){background:#f8fbfd}.status-good{color:#25964b}.status-bad{color:#bd3c43}
.approved-footer{display:flex;justify-content:space-between;color:white;font-size:8px;padding:13px 8px 0}.approved-error{background:white;padding:26px;border-radius:6px}.approved-error h2{color:#a43f45}
@media(max-width:1250px){.approved-kpi-risk{grid-template-columns:1fr}.approved-risk{min-height:auto}.approved-lower-grid{grid-template-columns:1fr 1fr}.approved-takeaways{grid-column:1/-1}.approved-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.approved-shell{grid-template-columns:1fr}.approved-sidebar{min-height:auto}.approved-side-spacer,.approved-side-mantra,.approved-side-line,.approved-side-foot{display:none}.approved-nav{display:flex;overflow:auto}.approved-nav-item{width:auto;white-space:nowrap}.approved-topline{grid-template-columns:1fr}.approved-standard{display:none}.approved-user{margin-top:0}.approved-two-charts,.approved-lower-grid{grid-template-columns:1fr}.approved-kpis{grid-template-columns:1fr 1fr}.approved-body{padding:10px}}
