:root{
  --vault-bg:var(--brand-bg);
  --vault-bg-soft:var(--brand-bg-soft-vault);
  --vault-surface:var(--brand-surface);
  --vault-surface-2:var(--brand-surface-2);
  --vault-text:var(--brand-text);
  --vault-soft:var(--brand-soft);
  --vault-muted:var(--brand-muted);
  --vault-bronze:var(--brand-bronze);
  --vault-bronze-dark:var(--brand-bronze-dark);
  --vault-green:var(--brand-green);
  --vault-red:var(--brand-red);
  --vault-line:var(--brand-line);
  --vault-shadow:0 36px 110px rgba(var(--tint-dark-rgb), .5);
  --vault-transition:var(--brand-transition);
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  min-height:100vh;
  overflow-x:hidden;
  color:var(--vault-text);
  font-family:"Manrope",Arial,sans-serif;
  line-height:1.7;
  background:
    radial-gradient(
      circle at 78% 10%,
      rgba(var(--brand-bronze-rgb), .18),
      transparent 30%
    ),
    radial-gradient(
      circle at 8% 80%,
      rgba(var(--brand-bronze-rgb), .07),
      transparent 28%
    ),
    linear-gradient(
      145deg,
      var(--vault-bg),
      var(--vault-bg-soft) 55%,
      var(--vault-bg)
    );
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-image:
    linear-gradient(
      rgba(var(--tint-light-rgb), .018) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(var(--tint-light-rgb), .018) 1px,
      transparent 1px
    );
  background-size:44px 44px;
  mask-image:
    linear-gradient(
      to bottom,
      rgba(var(--tint-dark-rgb), .7),
      transparent 92%
    );
}

a{
  color:inherit;
  text-decoration:none;
}

button,
input{
  font:inherit;
}

.vault-login-shell{
  min-height:100vh;
  padding:28px;
  display:grid;
  place-items:center;
}

.vault-login-panel{
  width:min(1120px,100%);
  min-height:700px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  overflow:hidden;
  border:1px solid var(--vault-line);
  border-radius:32px;
  background:
    linear-gradient(
      145deg,
      rgba(23,27,29,.96),
      rgba(var(--brand-bg-rgb), .98)
    );
  box-shadow:var(--vault-shadow);
}

.vault-login-info{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:56px;
  display:flex;
  flex-direction:column;
  border-inline-end:1px solid var(--vault-line);
  background:
    radial-gradient(
      circle at 12% 14%,
      rgba(var(--brand-bronze-rgb), .22),
      transparent 34%
    ),
    linear-gradient(
      150deg,
      var(--brand-surface),
      var(--brand-bg-soft)
    );
}

.vault-login-info::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset-inline-end:-140px;
  bottom:-140px;
  width:390px;
  height:390px;
  border:1px solid rgba(var(--brand-bronze-rgb), .16);
  border-radius:50%;
  box-shadow:
    0 0 0 58px rgba(var(--brand-bronze-rgb), .025),
    0 0 0 116px rgba(var(--brand-bronze-rgb), .016);
}

.vault-brand{
  display:flex;
  align-items:center;
  gap:14px;
}

.vault-brand-mark{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  color:var(--vault-bronze);
  font-family:"Cormorant Garamond",serif;
  font-size:29px;
  font-weight:700;
  border:1px solid rgba(var(--brand-bronze-rgb), .55);
  border-radius:15px;
  background:
    linear-gradient(
      145deg,
      rgba(var(--brand-bronze-rgb), .1),
      rgba(var(--tint-light-rgb), .015)
    );
}

.vault-brand strong{
  display:block;
  font-size:14px;
  letter-spacing:3px;
}

.vault-brand small{
  display:block;
  margin-top:2px;
  color:var(--vault-bronze);
  font-size:11px;
}

.vault-login-copy{
  margin:auto 0;
}

.vault-eyebrow,
.vault-form-label{
  margin-bottom:18px;
  color:var(--vault-bronze);
  font-size:12px;
  font-weight:800;
  letter-spacing:4px;
  text-transform:uppercase;
}

.vault-login-copy h1{
  max-width:470px;
  margin-bottom:24px;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(54px,6vw,82px);
  line-height:.92;
  letter-spacing:-1px;
}

.vault-login-copy > p{
  max-width:470px;
  color:var(--vault-soft);
  font-size:16px;
}

.vault-feature-list{
  margin-top:36px;
  display:grid;
  gap:15px;
}

.vault-feature-item{
  display:flex;
  align-items:flex-start;
  gap:13px;
  color:var(--vault-muted);
  font-size:13px;
}

.vault-feature-item i{
  width:22px;
  margin-top:5px;
  color:var(--vault-bronze);
  text-align:center;
}

.vault-login-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:var(--vault-muted);
  font-size:12px;
}

.vault-login-footer a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:
    color var(--vault-transition),
    transform var(--vault-transition);
}

.vault-login-footer a:hover{
  color:var(--vault-bronze);
  transform:translateX(-3px);
}

.vault-login-form-side{
  padding:56px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.vault-login-card{
  width:min(450px,100%);
}

.vault-lock-icon{
  position:relative;
  width:80px;
  height:80px;
  margin-bottom:30px;
  display:grid;
  place-items:center;
  color:var(--vault-bronze);
  font-size:32px;
  border:1px solid rgba(var(--brand-bronze-rgb), .42);
  border-radius:25px;
  background:
    linear-gradient(
      145deg,
      rgba(var(--brand-bronze-rgb), .1),
      rgba(var(--tint-light-rgb), .015)
    );
  box-shadow:
    0 20px 50px rgba(var(--tint-dark-rgb), .28),
    inset 0 1px rgba(var(--tint-light-rgb), .04);
}

.vault-lock-icon::after{
  content:"";
  position:absolute;
  inset:-7px;
  border:1px solid rgba(var(--brand-bronze-rgb), .12);
  border-radius:31px;
  animation:vaultPulse 2.2s infinite;
}

@keyframes vaultPulse{
  0%,
  100%{
    transform:scale(1);
    opacity:.9;
  }

  50%{
    transform:scale(1.06);
    opacity:.35;
  }
}

.vault-login-card h2{
  margin-bottom:14px;
  font-family:"Cormorant Garamond",serif;
  font-size:48px;
  line-height:1;
}

.vault-form-description{
  margin-bottom:30px;
  color:var(--vault-muted);
  font-size:14px;
}

#privateVaultForm label{
  display:block;
  margin-bottom:9px;
  color:var(--vault-soft);
  font-size:13px;
  font-weight:700;
}

.vault-input-wrapper{
  position:relative;
  margin-bottom:18px;
}

#privateVaultCode{
  width:100%;
  height:60px;
  padding:0 58px 0 18px;
  color:var(--vault-text);
  font-size:18px;
  font-weight:700;
  letter-spacing:5px;
  outline:none;
  border:1px solid var(--vault-line);
  border-radius:18px;
  background:var(--brand-bg-soft);
  transition:
    border-color var(--vault-transition),
    box-shadow var(--vault-transition),
    background var(--vault-transition);
}

#privateVaultCode::placeholder{
  color:#65625d;
  font-size:13px;
  font-weight:500;
  letter-spacing:1px;
}

#privateVaultCode:focus{
  border-color:var(--vault-bronze);
  background:var(--brand-bg-soft-vault);
  box-shadow:
    0 0 0 4px rgba(var(--brand-bronze-rgb), .09),
    0 18px 40px rgba(var(--tint-dark-rgb), .24);
}

.vault-toggle-code{
  position:absolute;
  top:50%;
  inset-inline-end:9px;
  width:42px;
  height:42px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  color:var(--vault-muted);
  border:0;
  border-radius:12px;
  background:transparent;
  cursor:pointer;
  transition:
    color var(--vault-transition),
    background var(--vault-transition);
}

.vault-toggle-code:hover{
  color:var(--vault-bronze);
  background:rgba(var(--brand-bronze-rgb), .08);
}

.vault-submit-button{
  position:relative;
  overflow:hidden;
  width:100%;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:var(--brand-surface-warm);
  font-weight:800;
  border:0;
  border-radius:999px;
  background:
    linear-gradient(
      135deg,
      var(--vault-bronze),
      var(--vault-bronze-dark)
    );
  box-shadow:
    0 18px 45px rgba(var(--brand-bronze-rgb), .18);
  cursor:pointer;
  transition:
    transform var(--vault-transition),
    box-shadow var(--vault-transition),
    opacity var(--vault-transition);
}

.vault-submit-button::before{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:65%;
  height:100%;
  transform:skewX(-20deg);
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(var(--tint-light-rgb), .25),
      transparent
    );
  transition:left var(--motion-slower) ease;
}

.vault-submit-button:hover::before{
  left:150%;
}

.vault-submit-button:hover{
  transform:translateY(-3px);
  box-shadow:
    0 25px 60px rgba(var(--brand-bronze-rgb), .27);
}

.vault-submit-button:active{
  transform:scale(.985);
}

.vault-submit-button:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none;
}

.vault-message{
  min-height:25px;
  margin-top:15px;
  display:flex;
  align-items:center;
  gap:9px;
  font-size:13px;
  font-weight:600;
}

.vault-message.error{
  color:var(--vault-red);
}

.vault-message.success{
  color:var(--vault-green);
}

.vault-security-row{
  margin-top:22px;
  padding-top:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  color:var(--vault-muted);
  font-size:11px;
  border-top:1px solid var(--vault-line);
}

.vault-security-row > span:first-child{
  display:inline-flex;
  align-items:center;
  gap:7px;
}

.vault-security-row b{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--vault-green);
  box-shadow:
    0 0 13px rgba(var(--brand-green-rgb), .8);
}

.vault-shake{
  animation:vaultShake .42s ease;
}

@keyframes vaultShake{
  0%,
  100%{
    transform:translateX(0);
  }

  25%{
    transform:translateX(-7px);
  }

  50%{
    transform:translateX(7px);
  }

  75%{
    transform:translateX(-4px);
  }
}

.vault-success-overlay{
  position:fixed;
  inset:0;
  z-index:3000;
  display:grid;
  place-items:center;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  background:rgba(7,8,8,.84);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  transition:
    opacity var(--motion-base) ease,
    visibility var(--motion-base) ease;
}

.vault-success-overlay.visible{
  opacity:1;
  visibility:visible;
}

.vault-success-card{
  text-align:center;
  transform:translateY(15px) scale(.96);
  transition:transform var(--motion-base) ease;
}

.vault-success-overlay.visible .vault-success-card{
  transform:none;
}

.vault-success-icon{
  width:84px;
  height:84px;
  margin:0 auto 22px;
  display:grid;
  place-items:center;
  color:var(--brand-bg-soft-vault);
  font-size:32px;
  border-radius:50%;
  background:var(--vault-green);
  box-shadow:
    0 0 55px rgba(var(--brand-green-rgb), .34);
}

.vault-success-card h3{
  margin-bottom:7px;
  font-family:"Cormorant Garamond",serif;
  font-size:44px;
}

.vault-success-card p{
  color:var(--vault-muted);
  font-size:14px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible{
  outline:2px solid var(--vault-bronze);
  outline-offset:4px;
}

::selection{
  color:var(--brand-surface-warm);
  background:var(--vault-bronze);
}

@media(max-width:900px){
  .vault-login-shell{
    padding:18px;
  }

  .vault-login-panel{
    grid-template-columns:1fr;
  }

  .vault-login-info{
    min-height:470px;
    padding:40px;
    border-inline-end:0;
    border-bottom:1px solid var(--vault-line);
  }

  .vault-login-form-side{
    padding:48px 36px;
  }
}

@media(max-width:560px){
  .vault-login-shell{
    padding:0;
  }

  .vault-login-panel{
    min-height:100vh;
    border:0;
    border-radius:0;
  }

  .vault-login-info,
  .vault-login-form-side{
    padding:30px 24px;
  }

  .vault-login-info{
    min-height:440px;
  }

  .vault-brand strong{
    font-size:12px;
    letter-spacing:2px;
  }

  .vault-login-copy h1{
    font-size:49px;
  }

  .vault-login-card h2{
    font-size:40px;
  }

  .vault-login-footer{
    align-items:flex-start;
    flex-direction:column;
  }

  .vault-security-row{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}/* =========================================================
   PRIVATE VAULT PAGE
========================================================= */

.private-vault-page{
  min-height:100vh;
  background:
    radial-gradient(
      circle at 82% 0%,
      rgba(var(--brand-bronze-rgb), .18),
      transparent 30%
    ),
    radial-gradient(
      circle at 8% 55%,
      rgba(var(--brand-bronze-rgb), .07),
      transparent 28%
    ),
    linear-gradient(
      180deg,
      var(--vault-bg),
      var(--vault-bg-soft) 52%,
      var(--vault-bg)
    );
}

.private-vault-container{
  width:min(1220px,92%);
  margin-inline:auto;
}

/* HEADER */

.private-vault-header{
  position:sticky;
  top:0;
  z-index:1000;
  border-bottom:1px solid rgba(var(--tint-light-rgb), .06);
  background:rgba(var(--brand-bg-rgb), .8);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

.private-vault-nav{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.private-vault-header-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.private-vault-header-button{
  min-height:44px;
  padding:10px 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:var(--vault-soft);
  font-size:13px;
  font-weight:700;
  border:1px solid var(--vault-line);
  border-radius:999px;
  background:rgba(var(--tint-light-rgb), .02);
  cursor:pointer;
  transition:
    color var(--vault-transition),
    transform var(--vault-transition),
    border-color var(--vault-transition),
    background var(--vault-transition);
}

.private-vault-header-button:hover{
  color:var(--vault-bronze);
  transform:translateY(-2px);
  border-color:var(--vault-bronze);
  background:rgba(var(--brand-bronze-rgb), .06);
}

.private-vault-header-button.logout:hover{
  color:var(--vault-red);
  border-color:rgba(223,115,115,.6);
  background:rgba(223,115,115,.05);
}

/* HERO */

.private-vault-hero{
  padding:48px 0 28px;
}

.private-vault-hero-panel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:500px;
  padding:60px;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  align-items:center;
  gap:52px;
  border:1px solid var(--vault-line);
  border-radius:30px;
  background:
    radial-gradient(
      circle at 82% 18%,
      rgba(var(--brand-bronze-rgb), .2),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      var(--brand-surface),
      var(--brand-bg)
    );
  box-shadow:var(--vault-shadow);
}

.private-vault-hero-panel::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset-inline-end:-130px;
  bottom:-170px;
  width:460px;
  height:460px;
  border:1px solid rgba(var(--brand-bronze-rgb), .14);
  border-radius:50%;
  box-shadow:
    0 0 0 65px rgba(var(--brand-bronze-rgb), .025),
    0 0 0 130px rgba(var(--brand-bronze-rgb), .015);
}

.private-vault-hero-content h1{
  margin-bottom:24px;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(56px,7vw,90px);
  line-height:.92;
  letter-spacing:-1px;
}

.private-vault-description{
  max-width:690px;
  color:var(--vault-soft);
  font-size:17px;
}

.private-vault-access-row{
  margin-top:30px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
}

.private-vault-access-row > span:last-child{
  color:var(--vault-muted);
  font-size:12px;
}

.private-vault-access-badge{
  padding:11px 16px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#b8f1d0;
  font-size:13px;
  font-weight:800;
  border:1px solid rgba(var(--brand-green-rgb), .35);
  border-radius:999px;
  background:rgba(var(--brand-green-rgb), .08);
}

.private-vault-access-badge i{
  color:var(--vault-green);
}

.private-vault-security-card{
  min-height:310px;
  padding:36px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px solid rgba(var(--brand-bronze-rgb), .25);
  border-radius:26px;
  background:
    linear-gradient(
      145deg,
      rgba(var(--brand-bronze-rgb), .08),
      rgba(var(--tint-light-rgb), .012)
    );
}

.private-vault-shield{
  position:relative;
  width:92px;
  height:92px;
  margin-bottom:24px;
  display:grid;
  place-items:center;
  color:var(--vault-bronze);
  font-size:36px;
  border:1px solid rgba(var(--brand-bronze-rgb), .42);
  border-radius:29px;
  background:rgba(var(--brand-bg-rgb), .48);
}

.private-vault-shield::after{
  content:"";
  position:absolute;
  inset:-8px;
  border:1px solid rgba(var(--brand-bronze-rgb), .12);
  border-radius:35px;
  animation:vaultPulse 2.2s infinite;
}

.private-vault-security-card strong{
  display:block;
  margin-bottom:8px;
  font-size:20px;
}

.private-vault-security-card span{
  color:var(--vault-muted);
  font-size:13px;
}

/* STATISTICS */

.private-vault-statistics{
  padding:22px 0 52px;
}

.private-vault-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.private-vault-stat-card{
  min-height:150px;
  padding:24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px solid var(--vault-line);
  border-radius:20px;
  background:
    linear-gradient(
      180deg,
      rgba(var(--brand-surface-rgb), .94),
      rgba(var(--brand-bg-raised-rgb), .94)
    );
  transition:
    transform var(--vault-transition),
    border-color var(--vault-transition),
    box-shadow var(--vault-transition);
}

.private-vault-stat-card:hover{
  transform:translateY(-6px);
  border-color:rgba(var(--brand-bronze-rgb), .58);
  box-shadow:0 20px 60px rgba(var(--tint-dark-rgb), .32);
}

.private-vault-stat-card i{
  margin-bottom:14px;
  color:var(--vault-bronze);
  font-size:29px;
}

.private-vault-stat-card strong{
  margin-bottom:3px;
  font-size:17px;
}

.private-vault-stat-card span{
  color:var(--vault-muted);
  font-size:12px;
}

/* CONTENT */

.private-vault-content{
  padding:70px 0 100px;
}

.private-vault-section-header{
  max-width:780px;
  margin:0 auto 50px;
  text-align:center;
}

.private-vault-section-header h2{
  margin-bottom:16px;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(44px,5vw,68px);
  line-height:1;
}

.private-vault-section-header > p:last-child{
  color:var(--vault-muted);
  font-size:15px;
}

.private-vault-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}

.private-vault-card{
  min-height:320px;
  padding:34px;
  display:flex;
  flex-direction:column;
  border:1px solid var(--vault-line);
  border-radius:25px;
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(var(--brand-bronze-rgb), .1),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      var(--vault-surface-2),
      var(--vault-surface)
    );
  transition:
    transform var(--vault-transition),
    border-color var(--vault-transition),
    box-shadow var(--vault-transition);
}

.private-vault-card:hover{
  transform:translateY(-8px);
  border-color:rgba(var(--brand-bronze-rgb), .58);
  box-shadow:0 20px 60px rgba(var(--tint-dark-rgb), .32);
}

.private-vault-card-top{
  margin-bottom:30px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

.private-vault-card-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  color:var(--vault-bronze);
  font-size:27px;
  border:1px solid rgba(var(--brand-bronze-rgb), .28);
  border-radius:20px;
  background:rgba(var(--brand-bronze-rgb), .07);
}

.private-vault-status{
  padding:7px 11px;
  color:#d7c9bc;
  font-size:10px;
  font-weight:800;
  letter-spacing:.5px;
  text-transform:uppercase;
  border:1px solid rgba(var(--brand-bronze-rgb), .28);
  border-radius:999px;
  background:rgba(var(--brand-bronze-rgb), .06);
}

.private-vault-card h3{
  margin-bottom:10px;
  font-size:22px;
}

.private-vault-card p{
  margin-bottom:28px;
  color:var(--vault-muted);
  font-size:14px;
}

.private-vault-card-button{
  margin-top:auto;
  width:max-content;
  min-height:45px;
  padding:10px 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--vault-text);
  font-size:12px;
  font-weight:800;
  border:1px solid rgba(var(--brand-bronze-rgb), .42);
  border-radius:999px;
  background:rgba(var(--tint-light-rgb), .02);
  cursor:pointer;
  transition:
    color var(--vault-transition),
    transform var(--vault-transition),
    border-color var(--vault-transition),
    background var(--vault-transition);
}

.private-vault-card-button:hover{
  color:var(--vault-bronze);
  transform:translateY(-3px);
  border-color:var(--vault-bronze);
  background:rgba(var(--brand-bronze-rgb), .05);
}

/* SECURITY PANEL */

.private-vault-security-section{
  padding-bottom:100px;
}

.private-vault-security-panel{
  padding:36px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:25px;
  border:1px solid var(--vault-line);
  border-radius:24px;
  background:
    linear-gradient(
      135deg,
      rgba(var(--brand-bronze-rgb), .07),
      rgba(var(--tint-light-rgb), .012)
    );
}

.private-vault-security-panel-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  color:var(--vault-bronze);
  font-size:25px;
  border:1px solid rgba(var(--brand-bronze-rgb), .28);
  border-radius:20px;
  background:rgba(var(--brand-bronze-rgb), .06);
}

.private-vault-security-panel strong{
  display:block;
  margin-bottom:4px;
  font-size:17px;
}

.private-vault-security-panel p{
  color:var(--vault-muted);
  font-size:13px;
}

.private-vault-live-status{
  padding:10px 15px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#b8f1d0;
  font-size:12px;
  font-weight:800;
  border:1px solid rgba(var(--brand-green-rgb), .3);
  border-radius:999px;
  background:rgba(var(--brand-green-rgb), .07);
}

.private-vault-live-status b{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--vault-green);
  box-shadow:0 0 14px rgba(var(--brand-green-rgb), .8);
}

/* FOOTER */

.private-vault-footer{
  padding:36px 0;
  border-top:1px solid rgba(var(--tint-light-rgb), .07);
}

.private-vault-footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.private-vault-footer strong{
  display:block;
  margin-bottom:5px;
  font-size:14px;
  letter-spacing:3px;
}

.private-vault-footer p{
  color:var(--vault-muted);
  font-size:12px;
}

/* MODAL */

.private-vault-modal{
  position:fixed;
  inset:0;
  z-index:3000;
  padding:24px;
  display:grid;
  place-items:center;
  opacity:0;
  visibility:hidden;
  background:rgba(5,6,6,.88);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transition:
    opacity var(--motion-base) ease,
    visibility var(--motion-base) ease;
}

.private-vault-modal.visible{
  opacity:1;
  visibility:visible;
}

.private-vault-modal-dialog{
  position:relative;
  width:min(540px,100%);
  padding:50px 40px;
  text-align:center;
  border:1px solid var(--vault-line);
  border-radius:27px;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(var(--brand-bronze-rgb), .12),
      transparent 32%
    ),
    linear-gradient(
      180deg,
      var(--vault-surface-2),
      var(--vault-surface)
    );
  box-shadow:var(--vault-shadow);
}

.private-vault-modal-close{
  position:absolute;
  top:16px;
  inset-inline-end:16px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  color:var(--vault-muted);
  border:1px solid var(--vault-line);
  border-radius:13px;
  background:transparent;
  cursor:pointer;
  transition:
    color var(--vault-transition),
    border-color var(--vault-transition);
}

.private-vault-modal-close:hover{
  color:var(--vault-bronze);
  border-color:var(--vault-bronze);
}

.private-vault-modal-icon{
  width:78px;
  height:78px;
  margin:0 auto 24px;
  display:grid;
  place-items:center;
  color:var(--vault-bronze);
  font-size:31px;
  border:1px solid rgba(var(--brand-bronze-rgb), .35);
  border-radius:25px;
  background:rgba(var(--brand-bronze-rgb), .08);
}

.private-vault-modal-dialog h2{
  margin-bottom:14px;
  font-family:"Cormorant Garamond",serif;
  font-size:46px;
  line-height:1;
}

.private-vault-modal-dialog > p:last-child{
  color:var(--vault-muted);
}

/* RESPONSIVE */

@media(max-width:1000px){
  .private-vault-hero-panel{
    grid-template-columns:1fr;
  }

  .private-vault-stats-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .private-vault-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .private-vault-header-actions span{
    display:none;
  }

  .private-vault-header-button{
    width:44px;
    padding:0;
  }

  .private-vault-hero-panel{
    padding:38px;
  }

  .private-vault-security-panel{
    grid-template-columns:auto 1fr;
  }

  .private-vault-live-status{
    grid-column:1 / -1;
    justify-self:start;
  }

  .private-vault-footer-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media(max-width:520px){
  .private-vault-container{
    width:94%;
  }

  .private-vault-hero{
    padding-top:22px;
  }

  .private-vault-hero-panel{
    padding:27px;
    border-radius:22px;
  }

  .private-vault-hero-content h1{
    font-size:50px;
  }

  .private-vault-stats-grid{
    grid-template-columns:1fr;
  }

  .private-vault-card{
    min-height:auto;
    padding:27px;
  }

  .private-vault-card-button{
    width:100%;
  }

  .private-vault-modal{
    padding:16px;
  }

  .private-vault-modal-dialog{
    padding:44px 24px;
  }
}/* ==========================================================
   PRIVATE VAULT DASHBOARD — VERSION 2.0
========================================================== */

/* SEARCH */

.vault-global-search{
  width:min(100%,680px);
  min-height:58px;
  margin-top:30px;
  padding:0 18px;
  display:flex;
  align-items:center;
  gap:13px;
  border:1px solid rgba(var(--brand-bronze-rgb), .3);
  border-radius:18px;
  background:rgba(7,8,9,.78);
  box-shadow:0 18px 50px rgba(var(--tint-dark-rgb), .2);
  transition:
    border-color var(--vault-transition),
    box-shadow var(--vault-transition),
    background var(--vault-transition);
}

.vault-global-search:focus-within{
  border-color:rgba(var(--brand-bronze-rgb), .72);
  background:rgba(8,9,10,.95);
  box-shadow:
    0 0 0 4px rgba(var(--brand-bronze-rgb), .08),
    0 22px 55px rgba(var(--tint-dark-rgb), .28);
}

.vault-global-search > i{
  color:var(--vault-bronze);
  font-size:17px;
}

.vault-global-search input{
  min-width:0;
  flex:1;
  color:var(--vault-text);
  font:inherit;
  font-size:14px;
  border:none;
  outline:none;
  background:transparent;
}

.vault-global-search input::placeholder{
  color:var(--vault-muted);
}

.vault-global-search button{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  color:var(--vault-muted);
  border:none;
  border-radius:50%;
  background:rgba(var(--tint-light-rgb), .035);
  cursor:pointer;
  transition:
    color var(--vault-transition),
    background var(--vault-transition);
}

.vault-global-search button:hover{
  color:var(--vault-text);
  background:rgba(var(--brand-bronze-rgb), .12);
}

/* SESSION SUMMARY */

.vault-session-summary{
  width:100%;
  margin-top:28px;
  padding-top:23px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  border-top:1px solid rgba(var(--brand-bronze-rgb), .16);
}

.vault-session-summary div{
  padding:15px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  border:1px solid rgba(var(--brand-bronze-rgb), .16);
  border-radius:16px;
  background:rgba(var(--tint-dark-rgb), .14);
}

.vault-session-summary b{
  color:var(--vault-bronze);
  font-size:24px;
  line-height:1;
}

.vault-session-summary span{
  color:var(--vault-muted);
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.8px;
}

/* STAT COUNTS */

.private-vault-stat-card span{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
}

.private-vault-stat-card span b{
  color:var(--vault-bronze);
  font-size:inherit;
}

/* DASHBOARD AREA CARDS */

.vault-dashboard-area-card{
  color:inherit;
  text-decoration:none;
}

.vault-dashboard-area-card.featured{
  border-color:rgba(var(--brand-bronze-rgb), .56);
  background:
    radial-gradient(
      circle at 88% 7%,
      rgba(var(--brand-bronze-rgb), .17),
      transparent 34%
    ),
    linear-gradient(
      180deg,
      var(--vault-surface-2),
      var(--vault-surface)
    );
}

.vault-area-status{
  padding:7px 11px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#b8f1d0;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.4px;
  border:1px solid rgba(var(--brand-green-rgb), .35);
  border-radius:999px;
  background:rgba(var(--brand-green-rgb), .08);
}

.vault-area-card-body{
  flex:1;
}

.vault-area-label{
  display:block;
  margin-bottom:9px;
  color:var(--vault-bronze);
  font-size:10px;
  font-weight:800;
  letter-spacing:1.4px;
  text-transform:uppercase;
}

.vault-area-card-footer{
  margin-top:30px;
  padding-top:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:var(--vault-muted);
  font-size:12px;
  border-top:1px solid rgba(var(--tint-light-rgb), .06);
}

.vault-area-card-footer b{
  color:var(--vault-text);
}

.vault-area-open{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--vault-bronze);
  font-weight:800;
}

.vault-area-open i{
  transition:transform var(--vault-transition);
}

.vault-dashboard-area-card:hover .vault-area-open i{
  transform:translateX(5px);
}

/* SECTIONS */

.vault-search-section,
.vault-recent-section{
  padding:75px 0 95px;
}

.vault-search-section{
  border-bottom:1px solid rgba(var(--tint-light-rgb), .05);
}

.vault-recent-section{
  background:
    radial-gradient(
      circle at 12% 25%,
      rgba(var(--brand-bronze-rgb), .06),
      transparent 32%
    );
}

.vault-section-heading-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
}

.vault-results-counter{
  flex:0 0 auto;
  padding:9px 14px;
  color:var(--vault-bronze);
  font-size:11px;
  font-weight:800;
  border:1px solid rgba(var(--brand-bronze-rgb), .27);
  border-radius:999px;
  background:rgba(var(--brand-bronze-rgb), .055);
}

/* FILE CARDS */

.vault-dashboard-file-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.vault-dashboard-file-card{
  min-height:330px;
  padding:27px;
  display:flex;
  flex-direction:column;
  border:1px solid var(--vault-line);
  border-radius:23px;
  background:
    radial-gradient(
      circle at 92% 6%,
      rgba(var(--brand-bronze-rgb), .09),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      var(--vault-surface-2),
      var(--vault-surface)
    );
  transition:
    transform var(--vault-transition),
    border-color var(--vault-transition),
    box-shadow var(--vault-transition);
}

.vault-dashboard-file-card:hover{
  transform:translateY(-6px);
  border-color:rgba(var(--brand-bronze-rgb), .5);
  box-shadow:0 22px 55px rgba(var(--tint-dark-rgb), .3);
}

.vault-dashboard-file-top{
  margin-bottom:21px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
}

.vault-dashboard-file-icon{
  width:54px;
  height:54px;
  flex:0 0 54px;
  display:grid;
  place-items:center;
  color:var(--vault-bronze);
  font-size:22px;
  border:1px solid rgba(var(--brand-bronze-rgb), .25);
  border-radius:17px;
  background:rgba(var(--brand-bronze-rgb), .07);
}

.vault-dashboard-file-status{
  padding:6px 9px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.35px;
  border-radius:999px;
}

.vault-dashboard-file-status.available{
  color:#b8f1d0;
  border:1px solid rgba(var(--brand-green-rgb), .32);
  background:rgba(var(--brand-green-rgb), .075);
}

.vault-dashboard-file-status.pending{
  color:#d7c9bc;
  border:1px solid rgba(var(--brand-bronze-rgb), .26);
  background:rgba(var(--brand-bronze-rgb), .055);
}

.vault-dashboard-file-category{
  width:max-content;
  margin-bottom:9px;
  color:var(--vault-bronze);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.2px;
}

.vault-dashboard-file-card h3{
  margin-bottom:10px;
  color:var(--vault-text);
  font-size:19px;
  line-height:1.3;
}

.vault-dashboard-file-card > p{
  margin-bottom:22px;
  color:var(--vault-muted);
  font-size:13px;
}

.vault-dashboard-file-meta{
  margin-top:auto;
  margin-bottom:20px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.vault-dashboard-file-meta span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--vault-muted);
  font-size:10px;
}

.vault-dashboard-file-meta i{
  color:var(--vault-bronze);
}

.vault-dashboard-file-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.vault-dashboard-file-button{
  min-height:40px;
  padding:9px 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-size:10px;
  font-weight:800;
  text-decoration:none;
  border-radius:999px;
  transition:
    transform var(--vault-transition),
    color var(--vault-transition),
    border-color var(--vault-transition),
    box-shadow var(--vault-transition);
}

.vault-dashboard-file-button:hover{
  transform:translateY(-2px);
}

.vault-dashboard-file-button.secondary{
  color:var(--vault-text);
  border:1px solid rgba(var(--brand-bronze-rgb), .36);
  background:rgba(var(--tint-light-rgb), .018);
}

.vault-dashboard-file-button.secondary:hover{
  color:var(--vault-bronze);
  border-color:var(--vault-bronze);
}

.vault-dashboard-file-button.primary{
  color:var(--brand-surface-warm);
  border:1px solid transparent;
  background:
    linear-gradient(
      135deg,
      var(--vault-bronze),
      var(--vault-bronze-dark)
    );
}

.vault-dashboard-file-button.primary:hover{
  box-shadow:0 9px 24px rgba(var(--brand-bronze-rgb), .2);
}

/* EMPTY STATE */

.vault-dashboard-empty{
  padding:60px 25px;
  text-align:center;
  border:1px solid var(--vault-line);
  border-radius:24px;
  background:var(--vault-surface);
}

.vault-dashboard-empty > i{
  margin-bottom:19px;
  color:var(--vault-bronze);
  font-size:32px;
}

.vault-dashboard-empty h3{
  margin-bottom:9px;
}

.vault-dashboard-empty p{
  color:var(--vault-muted);
}

/* RESPONSIVE */

@media(max-width:1150px){
  .vault-dashboard-file-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .vault-section-heading-row{
    align-items:flex-start;
    flex-direction:column;
  }

  .vault-dashboard-file-grid{
    grid-template-columns:1fr;
  }

  .vault-area-card-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:520px){
  .vault-global-search{
    min-height:54px;
    margin-top:24px;
    border-radius:16px;
  }

  .vault-session-summary{
    grid-template-columns:1fr;
  }

  .vault-dashboard-file-card{
    min-height:auto;
    padding:23px;
  }

  .vault-dashboard-file-actions{
    flex-direction:column;
  }

  .vault-dashboard-file-button{
    width:100%;
  }

  .vault-search-section,
  .vault-recent-section{
    padding:55px 0 70px;
  }
}
/* Authentication 4.6 */
.vault-access-divider{display:flex;align-items:center;gap:.8rem;margin:1rem 0;color:var(--vault-muted,#a6a6a6);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.vault-access-divider::before,.vault-access-divider::after{content:"";height:1px;flex:1;background:rgba(var(--tint-light-rgb), .12)}.vault-submit-button--secondary{margin-top:.75rem;opacity:.92}.vault-login-help{margin:1rem 0 0;font-size:.82rem;line-height:1.6;color:var(--vault-muted,#a6a6a6)}#privateVaultForm>label,#temporaryAccessForm>label{display:block;margin:.8rem 0 .4rem}

/* =========================================================
   VAULT CARD — FOOTER, LABEL, STATUS, LINK
   =========================================================

   هذه الكلاسات تُصدرها vault-taxonomy-navigation.js منذ
   إصدار سابق، ولم تُنسَّق قط. النتيجة كانت نصوصًا ملتصقة
   بلا فراغ: "0 DokumenteBereich öffnen".

   التنسيق أدناه يطابق لغة مركز الوثائق (documents.css)
   حتى تبدو المنطقتان من عائلة واحدة، ويستعمل التوكِنات
   الرسمية وحدها.
   ========================================================= */

.private-vault-card-label{
  width:max-content;
  max-width:100%;
  margin-bottom:10px;

  color:var(--vault-bronze);

  font-size:10px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
}

.private-vault-card-status{
  padding:7px 11px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;

  color:var(--vault-muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.4px;

  border:1px solid var(--vault-line);
  border-radius:999px;
  background:rgba(var(--tint-light-rgb), .03);

  white-space:nowrap;
}

.private-vault-card-status.available{
  color:var(--vault-green);
  border-color:rgba(var(--brand-green-rgb), .32);
  background:rgba(var(--brand-green-rgb), .08);
}

.private-vault-card-footer{
  margin-top:auto;
  padding-top:20px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;

  border-top:1px solid var(--vault-line);

  color:var(--vault-muted);
  font-size:12px;
}

.private-vault-card-link{
  display:inline-flex;
  align-items:center;
  gap:8px;

  color:var(--vault-bronze);
  font-size:12px;
  font-weight:700;

  white-space:nowrap;
}

.private-vault-card-link i{
  font-size:11px;
  transition:transform var(--motion-fast) var(--motion-ease);
}

.private-vault-card:hover .private-vault-card-link i{
  transform:translateX(4px);
}


/* =========================================================
   VAULT FILE — LOADING STATE
   =========================================================
   يظهر أثناء جلب الملفات من الخادم.
   ========================================================= */

.vault-file-eyebrow{
  margin-bottom:10px;

  display:block;

  color:var(--vault-bronze);
  font-size:10px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
}

.vault-file-loading{
  padding:44px 26px;

  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;

  color:var(--vault-muted);
  text-align:center;

  border:1px solid var(--vault-line);
  border-radius:22px;
  background:rgba(var(--tint-light-rgb), .015);
}

.vault-file-loading-icon{
  width:52px;
  height:52px;

  display:grid;
  place-items:center;

  color:var(--vault-bronze);
  font-size:19px;

  border:1px solid rgba(var(--brand-bronze-rgb), .25);
  border-radius:16px;
  background:rgba(var(--brand-bronze-rgb), .06);
}

.vault-file-spinner{
  width:22px;
  height:22px;

  border:2px solid rgba(var(--brand-bronze-rgb), .22);
  border-top-color:var(--vault-bronze);
  border-radius:50%;

  animation:vaultSpin .9s linear infinite;
}

@keyframes vaultSpin{
  to{ transform:rotate(360deg); }
}

@media (prefers-reduced-motion: reduce){
  .vault-file-spinner{ animation:none; }
}

/* =========================================================
   4.41 — مبدّل اللغة داخل المنطقة الخاصة
   =========================================================

   الصفحات الخاصة لا تحمّل base.css — تحمّل components.css
   و vault.css فقط. وقواعد .language-switcher تسكن base.css،
   فكان المبدّل يظهر بلا تخطيط: أبناؤه inline متلاصقون،
   و"العربية" ملتصقة بـ"AR" داخل حبّة ضيقة.

   القواعد هنا مستقلة عمدًا، لا استيراد لـbase.css: تحميل
   ملف تنسيق كامل من أجل عنصر واحد ثمنه أغلى من تكرار
   ثلاثين سطرًا.
   ========================================================= */

.private-vault-header-actions .language-switcher{
  position:relative;
  z-index:40;
  flex:0 0 auto;
}

.private-vault-header-actions .language-switcher__trigger{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:.5rem;

  padding:.55rem .9rem;

  color:var(--vault-text, var(--brand-text));
  font:700 .78rem/1 "Manrope",sans-serif;
  white-space:nowrap;

  border:1px solid rgba(var(--brand-bronze-rgb), .34);
  border-radius:999px;
  background:rgba(var(--brand-bronze-rgb), .06);
  cursor:pointer;

  transition:border-color var(--motion-fast) var(--motion-ease),
             background var(--motion-fast) var(--motion-ease);
}

.private-vault-header-actions .language-switcher__trigger:hover{
  border-color:var(--brand-bronze);
  background:rgba(var(--brand-bronze-rgb), .13);
}

.private-vault-header-actions .language-switcher__trigger i.fa-globe{
  font-size:.95rem;
  color:var(--brand-bronze);
}

.private-vault-header-actions .language-switcher__trigger .fa-chevron-down{
  font-size:.6rem;
  opacity:.7;
}

/* الرمز القصير مكرر مع الاسم الكامل — يظهر على الشاشات الضيقة وحده */
.private-vault-header-actions .language-switcher__current-short{ display:none }

.private-vault-header-actions .language-switcher__menu{
  position:absolute;
  top:calc(100% + .5rem);
  inset-inline-start:0;

  width:210px;
  padding:.45rem;

  border:1px solid rgba(var(--brand-bronze-rgb), .28);
  border-radius:16px;
  background:var(--brand-surface);
  box-shadow:0 20px 60px rgba(var(--tint-dark-rgb), .35);
}

.private-vault-header-actions .language-switcher__menu button{
  width:100%;
  display:grid;
  grid-template-columns:28px 1fr 30px 18px;
  align-items:center;
  gap:.55rem;

  padding:.7rem .75rem;

  color:var(--brand-soft);
  text-align:start;

  border:0;
  border-radius:11px;
  background:transparent;
  cursor:pointer;
}

.private-vault-header-actions .language-switcher__menu button:hover,
.private-vault-header-actions .language-switcher__menu button.is-active{
  color:var(--brand-text);
  background:rgba(var(--brand-bronze-rgb), .13);
}

.private-vault-header-actions .language-switcher__menu button > span{
  font-size:.9rem;
}

.private-vault-header-actions .language-switcher__menu button > strong{
  font-size:.86rem;
}

.private-vault-header-actions .language-switcher__menu button > small{
  color:var(--brand-bronze);
  font-size:.68rem;
}

.private-vault-header-actions .language-switcher__menu .fa-check{
  color:var(--brand-bronze);
  font-size:.75rem;
}

@media(max-width:720px){
  .private-vault-header-actions .language-switcher__current-label{ display:none }
  .private-vault-header-actions .language-switcher__current-short{ display:inline }
}
