/* =========================================================
   FLUXIT INTERACTIVE — SECURE LEGAL VAULT
   ULTRA PREMIUM CORPORATE / LEGAL UI
   Drop-in replacement for the existing stylesheet
========================================================= */

:root{
  --red:#d30b17;
  --red-dark:#a70610;
  --red-soft:#fff1f2;
  --ink:#11161d;
  --ink-2:#1d2630;
  --slate:#56616d;
  --muted:#87909a;
  --bg:#f4f5f6;
  --surface:#ffffff;
  --surface-2:#fafafa;
  --line:#e6e8eb;
  --line-strong:#d9dde2;
  --success:#23754a;
  --danger:#a61d28;
  --radius:18px;
  --radius-sm:11px;
  --shadow-sm:0 8px 24px rgba(13,20,28,.055);
  --shadow:0 18px 48px rgba(13,20,28,.075);
  --shadow-lg:0 30px 80px rgba(13,20,28,.15);
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  background:var(--bg);
}

body{
  margin:0;
  min-height:100vh;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:14px;
  line-height:1.55;
  color:var(--ink);
  background:
    radial-gradient(circle at 92% 4%,rgba(211,11,23,.055),transparent 22rem),
    linear-gradient(180deg,#f8f8f9 0,#f3f4f5 100%);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* =========================================================
   TOP BAR
========================================================= */

header{
  position:sticky;
  top:0;
  z-index:1000;
  min-height:82px;
  padding:0 max(4vw,34px);
  display:flex;
  align-items:center;
  gap:36px;
  background:rgba(255,255,255,.93);
  border-bottom:1px solid rgba(220,223,227,.85);
  box-shadow:0 8px 35px rgba(16,22,29,.045);
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
}

header:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:120px;
  height:2px;
  background:linear-gradient(90deg,var(--red),transparent);
}

header b{
  position:relative;
  display:flex;
  align-items:center;
  min-height:42px;
  padding-left:17px;
  color:var(--ink);
  font-size:18px;
  font-weight:800;
  letter-spacing:-.035em;
  white-space:nowrap;
}

header b:before{
  content:"";
  position:absolute;
  left:0;
  width:5px;
  height:31px;
  border-radius:99px;
  background:linear-gradient(180deg,#ec1825,var(--red-dark));
  box-shadow:0 6px 16px rgba(211,11,23,.24);
}

nav{
  flex:1;
  display:flex;
  align-items:center;
  gap:4px;
}

nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 13px;
  border-radius:10px;
  color:#59636e;
  font-size:13px;
  font-weight:650;
  text-decoration:none;
  transition:.2s ease;
}

nav a:after{
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  bottom:4px;
  height:2px;
  border-radius:99px;
  background:var(--red);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}

nav a:hover{
  color:var(--ink);
  background:#f7f7f8;
}

nav a:hover:after{transform:scaleX(1)}

a{
  color:var(--red);
  text-decoration:none;
  transition:.2s ease;
}

a:hover{color:var(--red-dark)}

/* =========================================================
   PAGE
========================================================= */

main{
  width:min(1280px,calc(100% - 48px));
  margin:48px auto 80px;
}

main > h1{
  margin:0 0 7px;
  font-size:36px;
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.05em;
}

main > h1:after{
  content:"";
  display:block;
  width:48px;
  height:3px;
  margin-top:16px;
  border-radius:99px;
  background:var(--red);
}

h1,h2,h3{
  color:var(--ink);
  text-wrap:balance;
}

h2{
  margin:0 0 18px;
  font-size:22px;
  line-height:1.25;
  font-weight:780;
  letter-spacing:-.035em;
}

h3{
  margin:0 0 12px;
  font-size:16px;
  font-weight:750;
  letter-spacing:-.02em;
}

p{color:var(--slate)}

.small{
  color:var(--muted);
  font-size:12px;
}

/* =========================================================
   KPI CARDS
========================================================= */

.grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  margin:30px 0;
}

.card{
  position:relative;
  min-height:154px;
  padding:26px;
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(255,255,255,1),rgba(250,250,251,.94));
  border:1px solid rgba(225,228,232,.95);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  isolation:isolate;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.card:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,var(--red),rgba(211,11,23,.08));
}

.card:after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-55px;
  top:-65px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(211,11,23,.07),transparent 68%);
}

.card:hover{
  transform:translateY(-5px);
  border-color:#dadde1;
  box-shadow:0 25px 58px rgba(15,22,30,.105);
}

.card strong{
  display:block;
  margin-top:17px;
  color:var(--ink);
  font-size:38px;
  line-height:.95;
  font-weight:820;
  letter-spacing:-.055em;
}

/* =========================================================
   PANELS
========================================================= */

.panel{
  position:relative;
  margin:24px 0;
  padding:28px;
  background:rgba(255,255,255,.97);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}

.panel:before{
  content:"";
  position:absolute;
  top:24px;
  left:0;
  width:3px;
  height:30px;
  border-radius:0 4px 4px 0;
  background:var(--red);
}

.panel > h2,
.panel > h3{
  padding-left:3px;
}

/* =========================================================
   TABLES
========================================================= */

table{
  width:100%;
  overflow:hidden;
  border-collapse:separate;
  border-spacing:0;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:15px;
  box-shadow:0 8px 26px rgba(15,22,30,.04);
}

th,td{
  padding:15px 17px;
  text-align:left;
  vertical-align:middle;
  border-bottom:1px solid #eceef0;
}

th{
  background:linear-gradient(180deg,#fafafa,#f5f6f7);
  color:#626c77;
  font-size:10.5px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.085em;
  text-transform:uppercase;
}

td{
  color:#303943;
  font-size:13px;
}

tbody tr{
  transition:background .18s ease,transform .18s ease;
}

tbody tr:hover{
  background:#fff8f8;
}

tr:last-child td{border-bottom:0}

/* =========================================================
   FORM CONTROLS
========================================================= */

label{
  display:block;
  margin:0 0 4px;
  color:#3f4953;
  font-size:11px;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}

input,
select,
textarea{
  width:100%;
  min-height:47px;
  margin:6px 0 17px;
  padding:11px 14px;
  color:var(--ink);
  background:#fbfbfc;
  border:1px solid #d9dde2;
  border-radius:11px;
  outline:none;
  font:inherit;
  box-shadow:inset 0 1px 2px rgba(15,22,30,.02);
  transition:.2s ease;
}

textarea{
  min-height:130px;
  resize:vertical;
}

input:hover,
select:hover,
textarea:hover{
  border-color:#c9ced4;
  background:#fff;
}

input:focus,
select:focus,
textarea:focus{
  background:#fff;
  border-color:rgba(211,11,23,.65);
  box-shadow:0 0 0 4px rgba(211,11,23,.075),0 8px 20px rgba(15,22,30,.035);
}

input::placeholder,
textarea::placeholder{color:#a3aab1}

/* =========================================================
   BUTTONS
========================================================= */

button,
.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:10px 18px;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(135deg,#e01420,var(--red-dark));
  border:1px solid transparent;
  border-radius:10px;
  cursor:pointer;
  font:inherit;
  font-size:12.5px;
  font-weight:780;
  letter-spacing:.01em;
  box-shadow:0 9px 20px rgba(211,11,23,.18);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

button:before,
.btn:before{
  content:"";
  position:absolute;
  top:-100%;
  left:-40%;
  width:30%;
  height:300%;
  background:rgba(255,255,255,.22);
  transform:rotate(25deg);
  transition:left .5s ease;
}

button:hover,
.btn:hover{
  color:#fff;
  transform:translateY(-2px);
  filter:saturate(1.05);
  box-shadow:0 14px 28px rgba(211,11,23,.25);
}

button:hover:before,
.btn:hover:before{left:120%}

button:active,
.btn:active{
  transform:translateY(0);
  box-shadow:0 6px 14px rgba(211,11,23,.18);
}

.danger{
  background:linear-gradient(135deg,#bd2934,#85151e);
  box-shadow:0 9px 20px rgba(145,24,33,.15);
}

/* =========================================================
   NOTICE
========================================================= */

.notice{
  position:relative;
  margin-bottom:20px;
  padding:15px 17px 15px 48px;
  color:#285d42;
  background:linear-gradient(90deg,#edf8f1,#f7fcf9);
  border:1px solid #d5ebdd;
  border-radius:12px;
  box-shadow:0 7px 18px rgba(35,117,74,.04);
  font-weight:650;
}

.notice:before{
  content:"✓";
  position:absolute;
  left:16px;
  top:50%;
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border-radius:50%;
  color:#fff;
  background:var(--success);
  font-size:12px;
  font-weight:900;
}

/* =========================================================
   LOGIN — PREMIUM SECURE PORTAL
========================================================= */

body:has(.login){
  display:grid;
  min-height:100vh;
  place-items:center;
  background:
    radial-gradient(circle at 15% 15%,rgba(211,11,23,.13),transparent 28rem),
    radial-gradient(circle at 85% 85%,rgba(255,255,255,.08),transparent 25rem),
    linear-gradient(135deg,#0d1218 0%,#17212b 55%,#0d1218 100%);
}

.login{
  width:min(470px,calc(100vw - 32px));
  margin:50px auto;
  padding:42px;
  overflow:hidden;
  position:relative;
  background:rgba(255,255,255,.985);
  border:1px solid rgba(255,255,255,.65);
  border-radius:23px;
  box-shadow:0 35px 90px rgba(0,0,0,.34);
}

.login:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg,var(--red),#ff3a44,var(--red-dark));
}

.login:after{
  content:"SECURE ACCESS";
  position:absolute;
  right:30px;
  top:24px;
  color:#a0a7ae;
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
}

.login h1,
.login h2{
  max-width:75%;
  margin:0 0 10px;
  font-size:28px;
  line-height:1.12;
  letter-spacing:-.045em;
}

.login p{
  margin-bottom:25px;
  color:#75808b;
}

.login button,
.login .btn{
  width:100%;
  min-height:49px;
  margin-top:4px;
}

/* =========================================================
   SELECTION / SCROLLBARS
========================================================= */

::selection{
  color:#fff;
  background:var(--red);
}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#f0f1f2}
::-webkit-scrollbar-thumb{
  background:#c5cad0;
  border:2px solid #f0f1f2;
  border-radius:99px;
}
::-webkit-scrollbar-thumb:hover{background:#a8afb7}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1050px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:800px){
  header{
    min-height:auto;
    padding:16px 18px;
    flex-wrap:wrap;
    gap:10px;
  }

  header b{width:100%}

  nav{
    order:3;
    width:100%;
    overflow-x:auto;
    padding:3px 0;
  }

  nav a{white-space:nowrap}

  main{
    width:calc(100% - 30px);
    margin-top:28px;
  }

  main > h1{font-size:30px}

  .grid{grid-template-columns:1fr}

  .card,.panel{padding:21px}

  table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
  }
}

@media(max-width:520px){
  .login{padding:34px 23px}
  .login h1,.login h2{max-width:100%;font-size:25px}
  .login:after{display:none}
  button,.btn{width:100%}
  .card strong{font-size:34px}
}

/* Accessibility */
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }
}

/* ===== V2 APPLICATION SHELL ===== */
body.app-shell{display:flex;background:#f4f5f7}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;padding:24px 18px 20px;background:linear-gradient(180deg,#111820,#0c1218);color:#fff;display:flex;flex-direction:column;z-index:1200;box-shadow:18px 0 50px rgba(10,15,20,.08)}.brand{display:flex;align-items:center;gap:12px;padding:3px 7px 25px;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.brand:hover{color:#fff}.brand img{width:62px;height:42px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}.brand>span{font-size:13px;font-weight:850;letter-spacing:.08em}.brand small{display:block;margin-top:3px;color:#8f9aa6;font-size:9px;font-weight:600;letter-spacing:.02em}.side-label{padding:25px 12px 9px;color:#6f7c88;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.16em}.side-nav{display:flex;flex-direction:column;gap:4px}.side-nav a,.logout-link{display:flex;align-items:center;gap:13px;min-height:46px;padding:0 13px;border-radius:11px;color:#aab3bc;font-size:13px;font-weight:650}.side-nav svg,.logout-link svg,.security-badge svg,.page-security svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.side-nav a:hover{background:rgba(255,255,255,.055);color:#fff}.side-nav a.active{background:linear-gradient(135deg,rgba(211,11,23,.95),rgba(157,6,15,.95));color:#fff;box-shadow:0 10px 24px rgba(211,11,23,.18)}.side-spacer{flex:1}.security-badge{display:flex;gap:11px;align-items:center;margin:15px 4px;padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.035);color:#c5ccd3}.security-badge svg{color:#5bd18b}.security-badge b{display:block;font-size:11px}.security-badge small{display:block;margin-top:2px;color:#75828e;font-size:9px}.logout-link{margin:0 3px;color:#8995a0}.logout-link:hover{color:#fff;background:rgba(255,255,255,.05)}.workspace{width:calc(100% - 270px);margin-left:270px;min-height:100vh}.topbar{position:sticky;top:0;z-index:1000;height:76px;padding:0 34px;display:flex;align-items:center;gap:25px;background:rgba(255,255,255,.94);border-bottom:1px solid #e7e9ec;backdrop-filter:blur(18px)}.topbar:after{display:none}.mobile-brand{display:none}.top-search{width:min(520px,48vw);position:relative}.top-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;fill:none;stroke:#8b949d;stroke-width:1.8}.top-search input{margin:0;padding-left:42px;min-height:42px;border-radius:12px;background:#f6f7f8}.top-actions{margin-left:auto;display:flex;align-items:center;gap:15px}.secure-pill{display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #dce9e1;border-radius:99px;background:#f2faf5;color:#397054;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.secure-pill span{width:7px;height:7px;border-radius:50%;background:#39a568;box-shadow:0 0 0 4px rgba(57,165,104,.10)}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#e21925,#a50610);font-weight:850;box-shadow:0 8px 18px rgba(211,11,23,.16)}.user-chip b{display:block;font-size:12px}.user-chip small{display:block;color:#8b949d;font-size:10px;margin-top:1px}.workspace main{width:min(1280px,calc(100% - 64px));margin:0 auto;padding:38px 0 28px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}.page-head h1{margin:3px 0 5px;font-size:32px;letter-spacing:-.045em}.page-head h1:after{display:none}.page-head p{margin:0;color:#7a838c}.eyebrow{color:#a1a8af;font-size:9px;font-weight:850;letter-spacing:.14em}.page-security{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #e4e7ea;border-radius:11px;background:#fff;color:#6d7781;font-size:10px;font-weight:750}.page-security svg{color:#d30b17}.app-footer{display:flex;justify-content:space-between;gap:15px;margin-top:40px;padding:22px 2px;border-top:1px solid #e0e3e6;color:#9299a1;font-size:10px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.metric-card{position:relative;padding:22px;border:1px solid #e5e7ea;border-radius:17px;background:#fff;box-shadow:0 12px 34px rgba(15,22,30,.05);overflow:hidden}.metric-card:after{content:"";position:absolute;right:-40px;top:-50px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(211,11,23,.08),transparent 67%)}.metric-top{display:flex;justify-content:space-between;align-items:center}.metric-label{color:#7c858e;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.metric-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:#fff2f3;color:#c70b15}.metric-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}.metric-value{display:block;margin:16px 0 5px;font-size:34px;line-height:1;font-weight:850;letter-spacing:-.05em}.metric-note{color:#9aa1a8;font-size:10px}.dashboard-columns{display:grid;grid-template-columns:1.65fr .8fr;gap:20px;margin-top:20px}.premium-panel{background:#fff;border:1px solid #e5e7ea;border-radius:17px;box-shadow:0 12px 34px rgba(15,22,30,.045);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #eceef0}.panel-head h3{margin:0}.panel-head span{color:#929aa2;font-size:10px}.premium-panel table{border:0;border-radius:0;box-shadow:none}.status-stack{padding:9px 20px 18px}.status-row{display:flex;align-items:center;justify-content:space-between;padding:15px 2px;border-bottom:1px solid #eff0f2}.status-row:last-child{border-bottom:0}.status-row b{font-size:12px}.status-row small{display:block;color:#929aa2;font-size:9px;margin-top:2px}.status-ok{padding:5px 8px;border-radius:99px;background:#edf8f1;color:#2b7a4d;font-size:9px;font-weight:800;text-transform:uppercase}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 20px}.quick-action{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e4e7ea;border-radius:13px;background:#fff;color:#39434d;font-size:11px;font-weight:750;box-shadow:0 7px 20px rgba(15,22,30,.03)}.quick-action:hover{transform:translateY(-2px);color:#c70b15;border-color:#e7c8cb}.quick-action span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#fff2f3;color:#c70b15;font-size:18px}.table-wrap{overflow:auto}.empty-state{padding:34px;text-align:center;color:#929aa2}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.section-toolbar h3{margin:0}.badge{display:inline-flex;padding:5px 8px;border-radius:99px;background:#f1f3f5;color:#68727c;font-size:9px;font-weight:800;text-transform:uppercase}.badge.open{background:#edf8f1;color:#2c784d}.badge.on_hold{background:#fff6df;color:#896b1b}.badge.closed{background:#eef0f2;color:#67717a}
@media(max-width:1100px){.sidebar{width:225px}.workspace{width:calc(100% - 225px);margin-left:225px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.top-search{width:38vw}}
@media(max-width:780px){body.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding:14px}.brand{padding-bottom:12px}.brand img{width:52px;height:36px}.side-label,.security-badge{display:none}.side-nav{flex-direction:row;overflow:auto}.side-nav a{min-width:max-content}.side-spacer{display:none}.logout-link{position:absolute;right:14px;top:17px;width:auto}.logout-link span{display:none}.workspace{width:100%;margin:0}.topbar{height:62px;padding:0 15px}.top-search{display:none}.mobile-brand{display:block;font-size:11px;letter-spacing:.08em}.top-actions{margin-left:auto}.secure-pill{display:none}.user-chip>div:last-child{display:none}.workspace main{width:calc(100% - 30px);padding-top:25px}.page-head{align-items:flex-start}.page-security{display:none}.metric-grid{grid-template-columns:1fr 1fr}.quick-actions{grid-template-columns:1fr}.app-footer{flex-direction:column}.dashboard-columns{grid-template-columns:1fr}}
@media(max-width:500px){.metric-grid{grid-template-columns:1fr}.page-head h1{font-size:27px}.side-nav a{padding:0 10px}.side-nav a span{font-size:11px}}

/* ===== V2 LOGIN ===== */
body.login-page{min-height:100vh;margin:0;display:grid;place-items:center;padding:34px;background:radial-gradient(circle at 12% 10%,rgba(211,11,23,.16),transparent 28rem),linear-gradient(135deg,#0b1016,#16212b 60%,#0c1218)}.login-shell{width:min(1060px,100%);min-height:610px;display:grid;grid-template-columns:1.08fr .92fr;border:1px solid rgba(255,255,255,.10);border-radius:26px;overflow:hidden;box-shadow:0 45px 120px rgba(0,0,0,.38);background:#fff}.login-brand-panel{position:relative;padding:48px;display:flex;flex-direction:column;color:#fff;background:radial-gradient(circle at 20% 15%,rgba(211,11,23,.22),transparent 19rem),linear-gradient(145deg,#151f29,#0c1218);overflow:hidden}.login-brand-panel:after{content:"";position:absolute;right:-120px;bottom:-140px;width:400px;height:400px;border:1px solid rgba(255,255,255,.05);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.015),0 0 0 140px rgba(255,255,255,.01)}.login-brand{display:flex;align-items:center;gap:15px;font-size:13px;font-weight:850;letter-spacing:.13em;z-index:2}.login-brand img{width:75px;height:48px;object-fit:contain;background:#fff;border-radius:9px;padding:4px}.login-message{margin:auto 0;position:relative;z-index:2}.login-message .eyebrow{color:#c36a70}.login-message h1{margin:12px 0 18px;color:#fff;font-size:45px;line-height:1.06;letter-spacing:-.055em}.login-message h1 em{color:#ef3440;font-style:normal}.login-message p{max-width:430px;color:#99a5b0;font-size:14px;line-height:1.7}.login-features{position:relative;z-index:2;display:flex;gap:17px;flex-wrap:wrap;color:#82909c;font-size:10px}.login-features span{padding:7px 10px;border:1px solid rgba(255,255,255,.07);border-radius:99px}.login-card{position:relative;padding:74px 62px 48px;display:flex;flex-direction:column;justify-content:center;background:#fff}.login-lock{position:absolute;right:42px;top:34px;color:#a1a8af;font-size:9px;font-weight:850;letter-spacing:.16em}.login-card h2{margin:0 0 8px;font-size:30px;letter-spacing:-.045em}.login-card>p{margin:0 0 30px;color:#8b949d}.login-card label{margin-top:4px}.login-card input{min-height:50px;background:#fafafa}.login-card button{width:100%;min-height:50px;margin-top:7px}.login-meta{display:flex;justify-content:space-between;margin:-3px 0 17px;color:#a0a7ae;font-size:9px}.login-foot{margin-top:28px;padding-top:20px;border-top:1px solid #eceef0;color:#a0a7ae;font-size:9px;text-align:center}.login-foot b{color:#4b555f}.login-error{padding:12px 14px;margin-bottom:18px;border:1px solid #f0cfd2;border-left:4px solid #b91f2b;border-radius:10px;background:#fff3f4;color:#8e1d25;font-size:11px;font-weight:650}
@media(max-width:850px){body.login-page{padding:18px}.login-shell{grid-template-columns:1fr}.login-brand-panel{min-height:280px;padding:30px}.login-message{margin:40px 0}.login-message h1{font-size:35px}.login-features{display:none}.login-card{padding:55px 30px 35px}.login-lock{top:25px;right:28px}}

/* V4 account management */
.account-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.account-actions form{margin:0}.account-actions .account-btn{width:auto;min-height:32px;padding:6px 11px;border-radius:8px;box-shadow:none;font-size:11px;white-space:nowrap}.account-btn--activate{background:#167346!important;color:#fff!important}.account-btn--suspend{background:#a56a14!important;color:#fff!important}.account-btn--deactivate{background:#a91b29!important;color:#fff!important}.account-badge{display:inline-flex;padding:5px 10px;border-radius:30px;font-size:11px;font-weight:750}.account-badge--active{background:#eaf7ef;color:#14653c}.account-badge--suspended{background:#fff3d9;color:#80530a}.account-badge--disabled{background:#fff0f0;color:#a31d2a}
/* ==========================================
   FLUXIT LEGAL VAULT
   FIX SIDEBAR HEIGHT & NAVIGATION SCROLL
========================================== */

@media (min-width: 801px) {

    /* Main sidebar */
    .sidebar {
        height: 100vh !important;
        max-height: 100vh !important;

        display: flex !important;
        flex-direction: column !important;

        overflow: hidden !important;
    }

    /* Navigation scroll area */
    .sidebar nav {
        flex: 1 1 auto !important;

        min-height: 0 !important;

        overflow-y: auto !important;
        overflow-x: hidden !important;

        padding-bottom: 20px !important;
    }

    /* Keep logo visible */
    .sidebar-brand,
    .sidebar-header {
        flex-shrink: 0 !important;
    }

    /* Keep bottom security panel visible */
    .sidebar-footer {
        flex-shrink: 0 !important;
        margin-top: auto !important;
    }

    /* Premium scrollbar */
    .sidebar nav::-webkit-scrollbar {
        width: 5px;
    }

    .sidebar nav::-webkit-scrollbar-track {
        background: transparent;
    }

    .sidebar nav::-webkit-scrollbar-thumb {
        background: rgba(255,255,255,0.20);
        border-radius: 20px;
    }

    .sidebar nav::-webkit-scrollbar-thumb:hover {
        background: rgba(255,255,255,0.40);
    }

}

/* V4.2 session detail cards */
.session-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.session-summary>div{background:#f6f7f9;border:1px solid #e7e9ec;border-radius:13px;padding:18px;min-width:0}.session-summary small{display:block;color:#737e8b;font-size:10px;letter-spacing:.09em;font-weight:800}.session-summary strong{display:block;margin-top:9px;font-size:15px;overflow-wrap:anywhere}.panel table code{white-space:normal;overflow-wrap:anywhere;font-size:11px}@media(max-width:800px){.session-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V4.3 — IP-derived login location */
.vault-location{margin:22px 0 12px;padding:23px;border:1px solid #e6e9ee;border-radius:17px;background:linear-gradient(135deg,#fff,#fafbfc)}
.vault-location__heading{display:flex;gap:14px;align-items:center;margin-bottom:19px}
.vault-location__heading h3{margin:0 0 3px;font-size:17px}
.vault-location__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff0f1;color:#c90017;font-size:26px}
.vault-location__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vault-location__grid>div{border:1px solid #edf0f2;background:white;border-radius:11px;padding:14px;min-width:0}
.vault-location__grid small{display:block;color:#7a8794;font-size:10px;letter-spacing:.08em;font-weight:750;margin-bottom:6px}
.vault-location__grid strong{display:block;overflow-wrap:anywhere;font-size:13px;color:#18232d}
@media(max-width:750px){.vault-location__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.vault-location__grid{grid-template-columns:1fr}}

/* V4.4 voluntary device location */
.vault-device-consent{padding:17px 19px;border:1px solid #e5e9ef;border-radius:12px;background:#f8f9fb}
.vault-device-consent p{margin:0 0 12px}
.vault-device-consent button{margin:0 8px 8px 0}
.vault-device-consent #vault-device-result{font-size:13px;color:#526071;margin-top:7px}
