* {
  box-sizing:border-box;
  margin:0;
  padding:0
}
html {
  scroll-behavior:smooth
}
body {
  --accent-one:#38bdf8;
  --accent-two:#8b5cf6;
  --accent-one-rgb:56,189,248;
  --accent-two-rgb:139,92,246;
  font-family:Inter,system-ui,sans-serif;
  background:#080b16;
  color:#f8fafc;
  line-height:1.6;
  overflow-x:hidden
}
a {
  color:inherit;
  text-decoration:none
}
.text-link {
  color:var(--accent-one);
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  transition:color .25s ease, text-decoration-color .25s ease;
}
.text-link:hover {
  color:var(--accent-two);
}
.nav {
  position:sticky;
  top:0;
  z-index:50;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:22px 7%;
  background:rgba(8,11,22,.78);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.logo {
  font-weight:800;
  font-size:1.35rem;
  letter-spacing:-.04em;
  justify-self:start
}
.logo span {
  color:#7dd3fc
}
nav {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  color:#cbd5e1;
  font-size:.95rem;
  justify-self:center
}
nav a:hover {
  color:#fff
}
.nav-btn {
  padding:10px 18px;
  border:1px solid rgba(125,211,252,.45);
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--accent-one),var(--accent-two));
  box-shadow:0 0 18px rgba(56,189,248,.18);
  transition:all .28s ease;
  white-space:nowrap
}
.nav-btn:hover {
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 0 24px rgba(var(--accent-one-rgb),.75),0 0 52px rgba(var(--accent-two-rgb),.55),0 14px 36px rgba(var(--accent-one-rgb),.28);
  filter:brightness(1.12)
}

.header-login-btn{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:transparent;
  border-color:rgba(255,255,255,.24);
  box-shadow:none;
}

.header-login-btn:hover,
.mobile-login-link:hover{
  background:rgba(var(--accent-one-rgb),.1);
  border-color:rgba(var(--accent-one-rgb),.7);
  box-shadow:0 0 22px rgba(var(--accent-one-rgb),.18);
}

.mobile-login-link{
  display:none;
  background:transparent;
  border-color:rgba(255,255,255,.24);
  box-shadow:none;
}

.hero {
  position:relative;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:60px;
  align-items:start;
  min-height:85vh;
  padding:40px 7% 70px;
  background:radial-gradient(circle at 20% 20%,rgba(14,165,233,.18),transparent 32%),radial-gradient(circle at 80% 10%,rgba(168,85,247,.18),transparent 30%)
}
.glow {
  position:absolute;
  border-radius:50%;
  filter:blur(70px);
  opacity:.55
}
.glow-one {
  width:260px;
  height:260px;
  background:#0ea5e9;
  left:-70px;
  top:150px
}
.glow-two {
  width:280px;
  height:280px;
  background:#7c3aed;
  right:60px;
  bottom:80px
}
.hero-content,.hero-card {
  position:relative;
  z-index:2
}
.hero-image-card {
  min-height:430px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:32px;
  overflow:hidden;
  background:#0f172a;
  box-shadow:0 30px 100px rgba(0,0,0,.4);
  display:flex;
  align-items:flex-end;
}
.hero-image-card::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(8,11,22,.1) 0%,rgba(8,11,22,.28) 42%,rgba(8,11,22,.9) 100%),
    radial-gradient(circle at 18% 18%,rgba(var(--accent-one-rgb),.22),transparent 32%),
    radial-gradient(circle at 82% 18%,rgba(var(--accent-two-rgb),.2),transparent 34%);
}
.hero-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-image-overlay {
  position:relative;
  z-index:2;
  max-width:650px;
  padding:34px;
}
.hero .hero-image-card h1 {
  font-size:4.6rem;
  line-height:.96;
  letter-spacing:0;
  max-width:650px;
}
.hero-image-card .hero-text {
  max-width:560px;
  margin:20px 0 24px;
  color:#e2e8f0;
}
.eyebrow,
.section-label {
  display:inline-block;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.78rem;
  margin-bottom:18px
}

.eyebrow {
  color:var(--accent-one);
}

.section-label {
  color:#7dd3fc;
}
.hero h1 {
  font-size:clamp(4rem,4.6vw,6.9rem);
  line-height:.92;
  letter-spacing:-.08em;
  max-width:900px
}
.hero-text {
  font-size:1.18rem;
  color:#cbd5e1;
  max-width:650px;
  margin:26px 0
}
.hero-actions {
  display:flex;
  gap:16px;
  flex-wrap:wrap
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:15px 24px;
  border-radius:999px;
  color:#fff;
  font-weight:700;
  transition:.25s
}

.btn:visited{
  color:#fff;
}

.btn.primary {
  background:linear-gradient(135deg,var(--accent-one),var(--accent-two));
  color:#fff;
  box-shadow:0 20px 50px rgba(56,189,248,.22)
}
.btn.primary:hover {
  transform:translateY(-2px);
  box-shadow:0 0 24px rgba(var(--accent-one-rgb),.75),0 0 52px rgba(var(--accent-two-rgb),.55),0 14px 36px rgba(var(--accent-one-rgb),.28);
  filter:brightness(1.12)
}
.btn.secondary {
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.07);
  color:#fff
}
.btn.secondary:hover {
  transform:translateY(-2px);
  border-color:rgba(var(--accent-one-rgb),.48);
  background:rgba(var(--accent-one-rgb),.14);
  box-shadow:0 0 22px rgba(var(--accent-one-rgb),.18)
}
.stats {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(6,minmax(110px,1fr));
  gap:14px;
  margin-top:-6px;
  width:100%
}
.stats div {
  padding:18px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background:rgba(255,255,255,.04);
  transition:.25s;
  cursor:pointer;
}

.stats div:hover {
  transform:translateY(-6px);
  background:rgba(255,255,255,.085);
  border-color:rgba(var(--accent-one-rgb),.42);
  box-shadow:
    0 0 22px rgba(var(--accent-one-rgb),.22),
    0 0 38px rgba(var(--accent-two-rgb),.12),
    0 10px 30px rgba(0,0,0,.25);
}
.stats .stat-value {
  display:block;
  font-size:1.45rem
}
.stats span {
  color:#94a3b8;
  font-size:.9rem
}
.hero-card {
  background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.13);
  border-radius:32px;
  padding:28px;
  box-shadow:0 30px 100px rgba(0,0,0,.4);
  min-height:430px
}
.card-top {
  display:flex;
  gap:8px;
  margin-bottom:26px
}
.card-top span {
  width:12px;
  height:12px;
  border-radius:50%;
  background:#475569
}
.card-top span:first-child {
  background:#f87171
}
.card-top span:nth-child(2) {
  background:#fbbf24
}
.card-top span:nth-child(3) {
  background:#34d399
}
.hero-card h3 {
  font-size:1.7rem;
  margin-bottom:24px
}
.message {
  padding:18px;
  border-radius:18px;
  background:rgba(15,23,42,.8);
  margin-bottom:16px;
  border:1px solid rgba(255,255,255,.08)
}
.message.active {
  background:rgba(14,165,233,.13);
  border-color:rgba(125,211,252,.25)
}
.hero-card .message {
  background: rgba(var(--accent-one-rgb), .08);
  border-color: rgba(var(--accent-one-rgb), .45);
}
.message p {
  color:#cbd5e1
}
.progress {
  height:10px;
  background:#111827;
  border-radius:20px;
  margin:28px 0;
  overflow:hidden
}
.progress span {
  display:block;
  width:72%;
  height:100%;
  background:linear-gradient(90deg,var(--accent-one),var(--accent-two));
  border-radius:20px
}
.mini {
  color:#94a3b8
}
.section {
  padding:95px 7%
}
.section h2,.split h2,.cta h2 {
  font-size:clamp(2rem,4vw,4rem);
  line-height:1;
  letter-spacing:-.05em;
  max-width:850px;
  margin-bottom:26px
}
.grid {
  display:grid;
  gap:22px;
  margin-top:38px
}
.grid.four {
  grid-template-columns:repeat(4,1fr)
}
.grid.three {
  grid-template-columns:repeat(3,1fr)
}
.service-card,.quote,.form-card {
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.1);
  border-radius:28px;
  padding:28px;
  transition:.25s
}
.service-card:hover {
  transform:translateY(-6px);
  background:rgba(255,255,255,.085);
  border-color:rgba(var(--accent-one-rgb),.42);
  box-shadow:
    0 0 22px rgba(var(--accent-one-rgb),.22),
    0 0 38px rgba(var(--accent-two-rgb),.12),
    0 10px 30px rgba(0,0,0,.25);
}
.icon {
  font-size:2rem;
  margin-bottom:20px
}
.service-card h3 {
  font-size:1.25rem;
  margin-bottom:12px
}
.service-card p,.split p,.cta p,.apply-copy p {
  color:#cbd5e1
}
.information-section .section-head {
  max-width:1240px;
}
.information-section .section-head h2 {
  margin-left:auto;
  margin-right:auto;
}
.information-section .section-head > p:not(.section-label) {
  max-width:1120px;
  margin:0 auto;
  color:#cbd5e1
}
.split {
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:70px;
  align-items:center;
  padding:90px 7%;
  background:#0b1020
}
.image-box {
  position:relative;
  min-height:380px;
  border-radius:36px;
  padding:38px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  background:linear-gradient(140deg,rgba(14,165,233,.35),rgba(124,58,237,.24)),linear-gradient(180deg,#111827,#0f172a);
  border:1px solid rgba(255,255,255,.12)
}
.image-box:before {
  content:"";
  position:absolute;
  inset:28px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:28px
}
.floating-badge {
  position:absolute;
  top:30px;
  right:30px;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(12px)
}
.image-box h3 {
  font-size:2rem;
  z-index:2
}
.image-box p {
  z-index:2;
  color:#dbeafe
}
.application {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:52px;
  align-items:start
}
.apply-copy ul {
  list-style:none;
  margin-top:26px;
  color:#e0f2fe
}
.apply-copy li {
  margin:12px 0
}
.form-card h3 {
  font-size:1.7rem;
  margin-bottom:20px
}
.row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}
input,select,textarea {
  width:100%;
  margin-bottom:14px;
  padding:16px 17px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(15,23,42,.85);
  color:#fff;
  font:inherit;
  outline:none
}
input:focus,select:focus,textarea:focus {
  border-color:#38bdf8
}
textarea {
  min-height:130px;
  resize:vertical
}
.full {
  width:100%;
  border:none;
  cursor:pointer
}
small {
  display:block;
  margin-top:14px;
  color:#94a3b8
}
.testimonials {
  background:#0b1020
}
.quote {
  font-size:1.05rem;
  color:#e2e8f0
}
.quote span {
  display:block;
  margin-top:22px;
  color:#7dd3fc;
  font-weight:700
}
.cta {
  margin:80px 7%;
  padding:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  border-radius:36px;
  background:linear-gradient(135deg,rgba(14,165,233,.22),rgba(124,58,237,.24));
  border:1px solid rgba(255,255,255,.13)
}
.footer-contact {
  text-align:center;
  padding:70px 7%
}
.footer-contact h2 {
  font-size:2.4rem;
  margin-bottom:12px
}
.footer-contact a {
  color:#7dd3fc
}
footer{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
  padding:30px 7%;
  border-top:1px solid rgba(255,255,255,.08);
  color:#94a3b8;
}

footer p{
  position:static;
  justify-self:center;
  transform:none;
  text-align:center;
  white-space:nowrap;
}
footer div:last-child {
  display:flex;
  justify-self:end;
  gap:20px
}
footer > .logo{
  justify-self:start
}
@media(max-width:980px) {
  .hero,.split,.application {
    grid-template-columns:1fr
  }
  .hero .hero-image-card h1 {
    font-size:3.8rem
  }
  .grid.four,.grid.three {
    grid-template-columns:1fr 1fr
  }
  nav {
    display:none
  }
  .stats {
    grid-template-columns:1fr 1fr
  }
  .cta {
    flex-direction:column;
    align-items:flex-start
  }
}
@media(max-width:620px) {
  .nav {
    padding:18px 5%
  }
  .nav-btn {
    display:none
  }
  .hero,.section,.split {
    padding-left:5%;
    padding-right:5%
  }
  .grid.four,.grid.three,.row,.stats {
    grid-template-columns:1fr
  }
  .hero h1 {
    font-size:3.4rem
  }
  .hero-image-card {
    min-height:470px
  }
  .hero-image-overlay {
    padding:26px
  }
  .hero .hero-image-card h1 {
    font-size:3rem
  }
  .cta {
    margin-left:5%;
    margin-right:5%;
    padding:30px
  }
  footer {
    display:flex;
    flex-direction:column;
    gap:12px;
    text-align:center
  }
  footer p{
    position:static;
    transform:none;
    white-space:normal;
    margin:12px 0
  }
  footer div:last-child{
    flex-wrap:wrap;
    justify-content:center
  }
}
.section,
.split,
.application,
.testimonials,
.footer-contact {
    position: relative;
}

.section::before,
.split::before,
.application::before,
.testimonials::before,
.footer-contact::before {
    content: "";
    position: absolute;
    top: 0;
    left: 7%;
    width: 86%;
    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(125,211,252,.25),
        rgba(139,92,246,.25),
        transparent
    );
}
.form-label{
    display:block;
    margin-bottom:8px;
    color:#94a3b8;
    font-size:.9rem;
    font-weight:600;

    margin-left:8px;
}
.logo img {
  height: 42px;
  width: auto;
  display: block;
}

.theme-logo{
  transition:filter .3s ease, opacity .3s ease, transform .3s ease;
}
#page-loader{
    position:fixed;
    inset:0;
    background:#080b16;
    z-index:99999;

    display:flex;
    align-items:center;
    justify-content:center;

    animation:loaderFade 2s ease forwards;
}

html.skip-loader #page-loader{
    display:none;
}

.loader-logo{
    width:220px;
    height:auto;

    animation:logoIntro 2s ease forwards;

    filter:
        drop-shadow(0 0 25px rgba(56,189,248,.6))
        drop-shadow(0 0 50px rgba(139,92,246,.4));
}

@keyframes logoIntro{

    0%{
        opacity:0;
        transform:scale(.6);
    }

    40%{
        opacity:1;
        transform:scale(1);
    }

    65%{
        opacity:1;

        filter:
            drop-shadow(0 0 40px rgba(56,189,248,.9))
            drop-shadow(0 0 80px rgba(139,92,246,.8));
    }

    100%{
        opacity:0;
        transform:scale(1.08);
    }
}

@keyframes loaderFade{

    0%,85%{
        opacity:1;
        visibility:visible;
    }

    100%{
        opacity:0;
        visibility:hidden;
        pointer-events:none;
    }
}
.theme-dot{
  width:12px;
  height:12px;
  border:0;
  border-radius:50%;
  cursor:pointer;
  transition:.25s;
}
.theme-dot:hover,
.theme-dot.is-active{
  transform:scale(1.25);
  box-shadow:0 0 18px currentColor;
}
.theme-red{background:#f87171;color:#f87171}
.theme-default{background:linear-gradient(135deg,#38bdf8,#8b5cf6);color:#38bdf8}
.theme-green{background:#34d399;color:#34d399}
body.theme-red-active{--accent-one:#fb7185;--accent-two:#f97316;--accent-one-rgb:251,113,133;--accent-two-rgb:249,115,22}
body.theme-default-active{--accent-one:#38bdf8;--accent-two:#8b5cf6;--accent-one-rgb:56,189,248;--accent-two-rgb:139,92,246}
body.theme-green-active{--accent-one:#34d399;--accent-two:#14b8a6;--accent-one-rgb:52,211,153;--accent-two-rgb:20,184,166}
body.theme-red-active .hero{background:radial-gradient(circle at 20% 20%,rgba(251,113,133,.20),transparent 32%),radial-gradient(circle at 80% 10%,rgba(249,115,22,.18),transparent 30%)}
body.theme-default-active .hero{background:radial-gradient(circle at 20% 20%,rgba(14,165,233,.18),transparent 32%),radial-gradient(circle at 80% 10%,rgba(168,85,247,.18),transparent 30%)}
body.theme-green-active .hero{background:radial-gradient(circle at 20% 20%,rgba(52,211,153,.18),transparent 32%),radial-gradient(circle at 80% 10%,rgba(20,184,166,.16),transparent 30%)}

body.theme-red-active .progress span,
body.theme-default-active .progress span,
body.theme-green-active .progress span{
  background:linear-gradient(90deg,var(--accent-one),var(--accent-two));
}

body.theme-red-active .btn.primary,
body.theme-default-active .btn.primary,
body.theme-green-active .btn.primary,
body.theme-red-active .nav-btn,
body.theme-default-active .nav-btn,
body.theme-green-active .nav-btn{
  background:linear-gradient(135deg,var(--accent-one),var(--accent-two));
}
body.theme-red-active .message.active,
body.theme-default-active .message.active,
body.theme-green-active .message.active{
  border-color:rgba(var(--accent-one-rgb),.45);
  background:rgba(var(--accent-one-rgb),.08);
}

body.theme-red-active .header-login-btn,
body.theme-default-active .header-login-btn,
body.theme-green-active .header-login-btn,
body.theme-red-active .mobile-login-link,
body.theme-default-active .mobile-login-link,
body.theme-green-active .mobile-login-link{
  border-color:rgba(255,255,255,.24);
  color:#f8fafc;
  background:transparent;
  box-shadow:none;
}

body.theme-red-active .header-login-btn:hover,
body.theme-default-active .header-login-btn:hover,
body.theme-green-active .header-login-btn:hover,
body.theme-red-active .mobile-login-link:hover,
body.theme-default-active .mobile-login-link:hover,
body.theme-green-active .mobile-login-link:hover{
  background:rgba(var(--accent-one-rgb),.1);
  border-color:rgba(var(--accent-one-rgb),.7);
  box-shadow:0 0 22px rgba(var(--accent-one-rgb),.18);
}

/* Dashboard theme switch animation */
.card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;

  margin-bottom:20px;
  margin-top:-12px;
  margin-right:-10px;
}

.theme-pause{
   margin-left:4px;

  position:relative;
  left:-12px;   /* weiter nach links */
  top:0px;    /* weiter nach oben */

  width:32px;
  height:32px;
  

  display:flex;
  align-items:center;
  justify-content:center;

  border:none;
  background:transparent;

  color:#cbd5e1;
  cursor:pointer;

  font-size:18px;
  line-height:1;

  padding:0;

  transition:.25s;
}

.theme-pause:hover,
.theme-pause.is-paused{
  color:#fff;
  transform:scale(1.15);
}

.theme-pause.is-paused{
  font-size:.95rem;
}

#dashboardTitle,
.hero-card .message,
.hero-card .progress,
#dashboardMini,
.theme-logo{
  will-change:transform,opacity;
}

.hero-card .progress span{
  transition:background .3s ease;
}

.slide-out-left{
  animation:dashboardSlideOut .26s ease forwards;
}

.slide-in-right{
  animation:dashboardSlideIn .42s ease forwards;
}

@keyframes dashboardSlideOut{
  from{
    opacity:1;
    transform:translateX(0);
  }
  to{
    opacity:0;
    transform:translateX(-36px);
  }
}

@keyframes dashboardSlideIn{
  from{
    opacity:0;
    transform:translateX(36px);
  }
  to{
    opacity:1;
    transform:translateX(0);
  }
}


/* About page additions */
.about-page .nav a[href="about_us.html"]{
  color:#fff;
}

.about-hero{
  position:relative;
  overflow:hidden;
  padding:90px 7% 80px;
  background:radial-gradient(circle at 20% 20%,rgba(14,165,233,.18),transparent 32%),radial-gradient(circle at 80% 10%,rgba(168,85,247,.18),transparent 30%);
}

.centered-page-section{
  text-align:center;
}

.single-centered{
  max-width:980px;
  margin:0 auto;
  position:relative;
  z-index:2;
}

.about-hero h1{
  font-size:clamp(3rem,6vw,6.2rem);
  line-height:.94;
  letter-spacing:-.08em;
  margin-bottom:26px;
}

.about-hero p,
.about-lead{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
  color:#cbd5e1;
  font-size:1.12rem;
}

.centered-actions{
  justify-content:center;
  margin-top:30px;
}

.about-section{
  position:relative;
  padding:30px 7%;
}

.about-section::before{
  content:"";
  position:absolute;
  top:0;
  left:7%;
  width:86%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(125,211,252,.25),rgba(139,92,246,.25),transparent);
}

.about-section h2,
.about-cta h2{
  font-size:clamp(2.2rem,4.5vw,4.7rem);
  line-height:1;
  letter-spacing:-.06em;
  max-width:980px;
  margin:0 auto 26px;
}

.about-grid,
.steps-grid,
.faq-grid{
  display:grid;
  gap:22px;
  margin:42px auto 0;
  max-width:1180px;
}

.about-grid{
  grid-template-columns:repeat(3,1fr);
}

.benefits-grid{
  grid-template-columns:repeat(3,1fr);
}

.steps-grid{
  grid-template-columns:repeat(4,1fr);
}

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

.about-card,
.step-card,
.faq-card,
.requirements-box{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.1);
  border-radius:28px;
  padding:28px;
  transition:.25s;
}

.about-card:hover,
.step-card:hover,
.faq-card:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.085);
  border-color:rgba(var(--accent-one-rgb),.42);
  box-shadow:0 0 22px rgba(var(--accent-one-rgb),.22),0 0 38px rgba(var(--accent-two-rgb),.12),0 10px 30px rgba(0,0,0,.25);
}

.about-card h3,
.step-card h3,
.faq-card h3{
  font-size:1.25rem;
  margin-bottom:12px;
}

.about-card p,
.step-card p,
.faq-card p{
  color:#cbd5e1;
}

.step-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:20px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--accent-one),var(--accent-two));
  font-weight:800;
}

.darker-block{
  background:#0b1020;
}

.requirements-box{
  max-width:760px;
  margin:42px auto 0;
  text-align:left;
}

.requirements-box ul{
  list-style:none;
  display:grid;
  gap:16px;
}

.requirements-box li{
  color:#e2e8f0;
  padding-left:30px;
  position:relative;
}

.requirements-box li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--accent-one);
  font-weight:800;
}

.about-cta{
  margin:80px 7%;
  padding:56px;
  border-radius:36px;
  background:linear-gradient(135deg,rgba(var(--accent-one-rgb),.22),rgba(var(--accent-two-rgb),.24));
  border:1px solid rgba(255,255,255,.13);
}

.centered-cta{
  text-align:center;
}

.about-cta p{
  color:#cbd5e1;
  max-width:720px;
  margin:0 auto 28px;
}

@media(max-width:980px){
  .about-grid,
  .benefits-grid,
  .steps-grid,
  .faq-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:620px){
  .about-hero,
  .about-section{
    padding-left:5%;
    padding-right:5%;
  }
  .about-grid,
  .benefits-grid,
  .steps-grid,
  .faq-grid{
    grid-template-columns:1fr;
  }
  .about-cta{
    margin-left:5%;
    margin-right:5%;
    padding:32px;
  }
}
.thanks-center{
  position:relative;
  min-height:calc(100vh - 105px);
  width:100%;

  display:grid;
  place-items:center;

  padding:70px 7%;
  text-align:center;

  background:
    radial-gradient(circle at 20% 20%,rgba(14,165,233,.18),transparent 32%),
    radial-gradient(circle at 80% 10%,rgba(168,85,247,.18),transparent 30%);

  overflow:hidden;
}

.thanks-box{
  position:relative;
  z-index:2;

  width:100%;
  max-width:850px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  text-align:center;
}

.thanks-box h1{
  max-width:850px;
  text-align:center;
}

.thanks-box .hero-text{
  max-width:700px;
  margin:26px auto;
  text-align:center;
}

.thanks-box .btn{
  margin:0 auto;
}
/* Datenschutz-Seite */
.privacy-page{
  min-height:auto;
  padding-top:90px;
  padding-bottom:90px;
}

.privacy-box{
  max-width:950px;
  margin-top:-60px;
}

.privacy-content{
  width:100%;
  margin:28px auto 34px;
  padding:34px;
  border-radius:28px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.1);
  text-align:left;
}

.privacy-content h2{
  font-size:1.25rem;
  margin:26px 0 10px;
  letter-spacing:-.03em;
}

.privacy-content h2:first-child{
  margin-top:0;
}

.privacy-content p{
  color:#cbd5e1;
  margin-bottom:14px;
}

.privacy-content a{
  color:var(--accent-one);
  font-weight:700;
}

.privacy-btn{
  margin:0 auto;
}
.footer-socials{
    display:flex;
    justify-content:center;
    gap:18px;
    margin-top:20px;
}

.footer-socials a{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);

    color:#fff;
    font-size:20px;

    transition:all .25s ease;
}

.footer-socials a:hover{
    transform:scale(1.12);

    color:var(--accent-one);
	
	border-color:var(--accent-one);

    box-shadow:
        0 0 18px rgba(14,165,233,.45),
        0 0 40px rgba(14,165,233,.15);
}
.footer-links{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
}

.footer-links i{
    font-size:20px;
    transition:all .25s ease;
}

.footer-links a{
    display:flex;
    align-items:center;
    color:inherit;
    transition:all .25s ease;
}

.footer-links a:not(.social-icon):hover,
.footer-links a:not(.social-icon):focus-visible{
    color:var(--accent-one);
    transform:translateY(-1px);
}

.social-icon{
    position:relative;
    transition:all .25s ease;
}

.social-icon::after{
    content:attr(data-platform);
    position:absolute;
    left:50%;
    bottom:calc(100% + 10px);
    z-index:3;
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:8px;
    background:rgba(15,23,42,.96);
    color:#fff;
    font-size:.75rem;
    font-weight:600;
    line-height:1;
    white-space:nowrap;
    pointer-events:none;
    opacity:0;
    visibility:hidden;
    transform:translate(-50%,4px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.social-icon:hover{
    transform:scale(1.15);
    color:var(--accent-one);
    filter:drop-shadow(0 0 8px var(--accent-one));
}

.social-icon:hover::after,
.social-icon:focus-visible::after{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
}


/* Mobile Dropdown-Menü */
.mobile-menu-btn{
  display:none;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  padding:0;
  background:transparent;
  border:none;
  color:#fff;
  font-size:1.9rem;
  line-height:1;
  cursor:pointer;
  justify-self:end;
  z-index:60;
}

@media(max-width:980px){
  .nav{
    display:grid;
    grid-template-columns:auto auto;
    justify-content:space-between;
    align-items:center;
    position:sticky;
  }

  .mobile-menu-btn{
    display:inline-flex;
  }

  .nav .header-login-btn{
    display:none !important;
  }

  .nav nav{
    display:flex;
    position:absolute;
    top:100%;
    left:auto;
    right:5%;
    width:min(280px,90vw);
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
    padding:20px;
    border-radius:22px;
    background:rgba(8,11,22,.96);
    border:1px solid rgba(255,255,255,.1);
    box-shadow:0 25px 70px rgba(0,0,0,.45);
    text-align:center;
    backdrop-filter:blur(18px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px) scale(.98);
    transform-origin:top right;
    transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
  }

  .nav nav.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(8px) scale(1);
  }

  .nav nav a{
    width:100%;
    justify-content:center;
  }

  .nav .nav-btn{
    display:inline-flex;
    width:auto;
  }
}

@media(min-width:981px){
  .nav nav{
    display:flex !important;
  }

  .mobile-login-link{
    display:none !important;
  }
}
.upload-box.uploaded{
  border:2px solid #22c55e;
  background:rgba(34,197,94,.15);
  box-shadow:0 0 20px rgba(34,197,94,.25);
}

.upload-box.uploaded i,
.upload-box.uploaded strong{
  color:#22c55e;
}
.checkbox-line{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:12px !important;
    margin:20px 0 !important;
}

.checkbox-line input[type="checkbox"]{
    width:18px !important;
    height:18px !important;
    margin:0 !important;
    flex-shrink:0;
}

.checkbox-line span{
    display:inline !important;
}

.field-error{
  outline:2px solid rgba(248,113,113,.9);
  box-shadow:0 0 0 4px rgba(248,113,113,.16);
}
.theme-pause{
    font-size:13px;
    line-height:1;
}
.privacy-link{
    color:var(--accent-one) !important;
    text-decoration:underline !important;
    transition:color .3s ease;
}

.privacy-link:hover{
    color:var(--accent-two) !important;
}

.login-section{
  position:relative;
  min-height:calc(100vh - 105px);
  display:grid;
  place-items:center;
  padding:90px 7%;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 20%,rgba(14,165,233,.18),transparent 32%),
    radial-gradient(circle at 80% 10%,rgba(168,85,247,.18),transparent 30%);
}

.login-card{
  position:relative;
  z-index:2;
  width:min(100%,460px);
  padding:34px;
  border-radius:28px;
  border-color:rgba(var(--accent-one-rgb),.18);
  box-shadow:0 30px 90px rgba(0,0,0,.34);
  overflow:hidden;
}

.login-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(var(--accent-one-rgb),.75),rgba(var(--accent-two-rgb),.6),transparent);
}

.login-header{
  text-align:center;
}

.login-header h1{
  font-size:clamp(2.3rem,5vw,3.35rem);
  line-height:1;
  letter-spacing:0;
}

.login-card .form-label{
  margin-left:0;
}

.login-card input:not([type="checkbox"]),
.login-modal-card input{
  appearance:none;
  -webkit-appearance:none;
  min-height:52px;
  margin-bottom:18px;
  font-family:Inter, Arial, sans-serif;
  font-size:16px !important;
  line-height:20px !important;
  font-weight:500;
  letter-spacing:0;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  caret-color:#fff !important;
  color-scheme:dark;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}

.login-card input:not([type="checkbox"]),
.login-modal-card input{
  background:rgba(15,23,42,.9);
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  caret-color:#fff;
}

.login-card input:not([type="checkbox"]):focus,
.login-modal-card input:focus{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:rgba(15,23,42,.96);
}

.login-page .login-card input:not([type="checkbox"]),
.login-page .login-card input:not([type="checkbox"]):focus,
.login-page .login-card input:not([type="checkbox"]):hover,
.login-page .login-card input:not([type="checkbox"]):active,
.login-page .login-card input:not([type="checkbox"]):valid,
.login-page .login-card .password-field input,
.login-page .login-card .password-field input:focus,
.login-page .login-card .password-field input:hover,
.login-page .login-card .password-field input:active,
.login-page .login-card .password-field input:valid{
  font-size:16px !important;
  line-height:20px !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  caret-color:#fff !important;
}

input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear{
  display:none;
}

.login-card input:-webkit-autofill,
.login-card input:-webkit-autofill:hover,
.login-card input:-webkit-autofill:focus,
.login-card input:-webkit-autofill:active,
.login-modal-card input:-webkit-autofill,
.login-modal-card input:-webkit-autofill:hover,
.login-modal-card input:-webkit-autofill:focus,
.login-modal-card input:-webkit-autofill:active{
  font-size:16px !important;
  line-height:20px !important;
  -webkit-box-shadow:0 0 0 1000px #0f172a inset !important;
  -webkit-text-fill-color:#fff !important;
  caret-color:#fff !important;
  transition:background-color 9999s ease-in-out 0s,color 9999s ease-in-out 0s;
}

.login-card input:-webkit-autofill::first-line,
.login-modal-card input:-webkit-autofill::first-line{
  font-family:Inter, Arial, sans-serif !important;
  font-size:16px !important;
  line-height:20px !important;
  color:#fff !important;
}

.login-page #benutzername,
.login-page #passwort,
.login-page #benutzername:focus,
.login-page #passwort:focus,
.login-page #benutzername:hover,
.login-page #passwort:hover,
.login-page #benutzername:active,
.login-page #passwort:active{
  font-family:Inter, Arial, sans-serif !important;
  font-size:16px !important;
  line-height:20px !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  caret-color:#fff !important;
}

.password-field{
  position:relative;
  display:block;
}

.password-field input{
  padding-right:52px;
}

.password-field .password-toggle{
  position:absolute;
  top:50%;
  right:10px;
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:12px;
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
  transform:translateY(-50%);
  transition:.2s;
}

.password-field .password-toggle:hover{
  background:rgba(var(--accent-one-rgb),.18);
  color:#fff;
}

.password-field .password-toggle i{
  color:#fff;
}

.login-password-field{
  margin-bottom:18px;
}

.login-password-field input{
  margin-bottom:0 !important;
}

.login-card input:not([type="checkbox"])::placeholder,
.login-modal-card input::placeholder{
  color:#94a3b8;
  font:inherit;
  font-size:16px !important;
  line-height:20px !important;
  opacity:1;
  -webkit-text-fill-color:#94a3b8 !important;
}

.login-card input:not([type="checkbox"])::-webkit-input-placeholder,
.login-modal-card input::-webkit-input-placeholder{
  color:#94a3b8 !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:16px !important;
  line-height:20px !important;
  opacity:1 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}

.login-card input:not([type="checkbox"]):focus,
.login-modal-card input:focus{
  font-size:16px !important;
  line-height:20px !important;
}

.login-options{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 20px;
}

.login-remember{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#cbd5e1;
  font-size:.92rem;
  font-weight:600;
  cursor:pointer;
}

.login-remember input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:var(--accent-one);
}

.forgot-password-link{
  border:0;
  background:transparent;
  color:var(--accent-one);
  font:inherit;
  font-size:.92rem;
  font-weight:700;
  cursor:pointer;
  padding:0;
}

.forgot-password-link:hover{
  color:#fff;
}

.login-error{
  margin-bottom:18px;
  padding:12px 14px;
  border:1px solid rgba(248,113,113,.38);
  border-radius:16px;
  background:rgba(248,113,113,.1);
  color:#fecaca;
  font-weight:700;
  text-align:center;
}

.login-card .btn{
  margin-top:4px;
}

body.modal-open{
  overflow:hidden;
}

.login-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(3,7,18,.72);
  backdrop-filter:blur(14px);
}

.login-modal[hidden]{
  display:none;
}

.login-modal-card{
  position:relative;
  width:min(100%,430px);
  padding:30px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(8,11,22,.98));
  box-shadow:0 30px 90px rgba(0,0,0,.45);
}

.login-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  background:transparent;
  color:#cbd5e1;
  cursor:pointer;
}

.login-modal-close:hover{
  color:#fff;
  border-color:rgba(var(--accent-one-rgb),.6);
}

.login-modal-card h2{
  margin-bottom:10px;
  font-size:1.9rem;
  font-weight:600;
  line-height:1.1;
  letter-spacing:0;
}

.login-modal-text{
  margin-bottom:22px;
  color:#cbd5e1;
  font-weight:500;
}

.login-modal-success{
  padding:14px;
  border:1px solid rgba(34,197,94,.32);
  border-radius:16px;
  background:rgba(34,197,94,.11);
  color:#bbf7d0;
  font-weight:700;
}

.login-modal-error{
  margin-bottom:18px;
  padding:14px;
  border:1px solid rgba(248,113,113,.38);
  border-radius:16px;
  background:rgba(248,113,113,.1);
  color:#fecaca;
  font-weight:700;
}

.login-modal-card form ~ .login-modal-error,
.login-modal-card form ~ .login-modal-success{
  margin-top:18px;
}

#forgotPasswordError{
  margin-top:20px;
}

.internal-page{
  min-height:100vh;
  background:#080b16;
  scrollbar-color:rgba(71,85,105,.72) rgba(255,255,255,.035);
  scrollbar-width:thin;
}

body.internal-page *{
  scrollbar-color:rgba(71,85,105,.72) rgba(255,255,255,.035);
  scrollbar-width:thin;
}

body.internal-page::-webkit-scrollbar,
body.internal-page *::-webkit-scrollbar{
  width:10px;
  height:10px;
}

body.internal-page::-webkit-scrollbar-track,
body.internal-page *::-webkit-scrollbar-track{
  border-radius:999px;
  background:rgba(255,255,255,.032);
}

body.internal-page::-webkit-scrollbar-thumb,
body.internal-page *::-webkit-scrollbar-thumb{
  min-height:44px;
  border:2px solid rgba(8,11,22,.9);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(71,85,105,.82),rgba(51,65,85,.72));
}

body.internal-page::-webkit-scrollbar-thumb:hover,
body.internal-page *::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,rgba(100,116,139,.9),rgba(71,85,105,.8));
}

.internal-nav,
.request-list,
.request-chat-thread,
.training-calendar,
.invoice-history,
.internal-users,
.user-picker-options{
  scrollbar-gutter:stable;
}

.internal-layout{
  min-height:100vh;
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
}

.internal-sidebar{
  position:sticky;
  top:0;
  height:100vh;
  padding:18px 12px;
  border-right:1px solid rgba(255,255,255,.1);
  background:
    linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.028)),
    linear-gradient(135deg,rgba(var(--accent-one-rgb),.08),transparent 48%),
    rgba(8,11,22,.86);
  box-shadow:inset -1px 0 0 rgba(255,255,255,.035);
  backdrop-filter:blur(14px);
}

.internal-brand{
  display:flex;
  align-items:center;
  min-height:62px;
  padding:0 14px;
  margin-bottom:20px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}

.internal-brand img{
  height:42px;
  width:auto;
}

.internal-mobile-nav-toggle{
  display:none;
}

.internal-nav{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  width:100%;
  gap:7px;
}

.internal-nav-group{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
}

.internal-nav-group-label{
  padding:0 12px 4px;
  color:#7dd3fc;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.internal-nav-item{
  width:100%;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 13px;
  border:1px solid rgba(255,255,255,.07);
  border-left:3px solid transparent;
  border-radius:13px;
  background:rgba(255,255,255,.035);
  color:#a8b7cb;
  font:inherit;
  font-weight:800;
  text-align:left;
  cursor:pointer;
  transition:.2s;
}

.internal-nav-badge{
  min-width:24px;
  min-height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 7px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:.76rem;
  font-weight:900;
  line-height:1;
  box-shadow:0 0 16px rgba(239,68,68,.35);
}

.internal-nav-badge[hidden]{
  display:none;
}

.internal-nav-item:hover,
.internal-nav-item.is-active{
  border-color:rgba(var(--accent-one-rgb),.28);
  border-left-color:var(--accent-one);
  background:
    linear-gradient(135deg,rgba(var(--accent-one-rgb),.16),rgba(255,255,255,.045)),
    rgba(255,255,255,.055);
  color:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.06);
}

.internal-main{
  position:relative;
  min-width:0;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  padding:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 260px),
    linear-gradient(135deg,rgba(var(--accent-one-rgb),.055),transparent 42%),
    #080b16;
}

.internal-topbar{
  position:absolute;
  top:16px;
  left:0;
  right:18px;
  z-index:30;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  pointer-events:none;
}

.internal-user-menu{
  position:relative;
  flex:0 0 auto;
}

.internal-topbar-right{
  position:absolute;
  top:0;
  right:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  pointer-events:auto;
}

.internal-chat-start{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.065);
  color:#f8fafc;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:.25s;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  pointer-events:auto;
}

.internal-chat-start:hover{
  transform:none;
  border-color:rgba(var(--accent-one-rgb),.38);
  background:rgba(var(--accent-one-rgb),.12);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.internal-user-button{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:#fff;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.internal-user-button i{
  color:#94a3b8;
  font-size:.74rem;
  transition:.2s;
}

.internal-user-button[aria-expanded="true"] i{
  transform:rotate(180deg);
}

.internal-topbar-request{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:#fff;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:.2s;
}

.internal-topbar-request:hover{
  border-color:rgba(var(--accent-one-rgb),.48);
  background:rgba(var(--accent-one-rgb),.12);
}

.internal-topbar-request span{
  color:#94a3b8;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.internal-topbar-request strong{
  min-width:22px;
  min-height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(var(--accent-one-rgb),.16);
  color:#e0f2fe;
  font-size:.82rem;
}

.internal-dropdown{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:210px;
  padding:8px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(125,144,166,.07),rgba(255,255,255,.026)),
    rgba(23,29,38,.98);
  box-shadow:0 24px 70px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
  z-index:20;
}

.internal-dropdown[hidden]{
  display:none;
}

.internal-dropdown a,
.internal-dropdown button{
  width:100%;
  display:flex;
  align-items:center;
  min-height:40px;
  padding:10px 12px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#cbd5e1;
  font:inherit;
  font-weight:700;
  text-align:left;
  cursor:pointer;
}

.internal-dropdown a:hover,
.internal-dropdown button:hover{
  background:rgba(96,112,132,.14);
  color:#fff;
}

.internal-toast-stack{
  position:fixed;
  top:18px;
  left:50%;
  z-index:1600;
  width:min(520px,calc(100vw - 36px));
  display:grid;
  gap:10px;
  transform:translateX(-50%);
  pointer-events:none;
}

.internal-notice{
  display:flex;
  align-items:center;
  justify-content:center;
  max-width:none;
  margin:0;
  padding:14px 16px;
  border:1px solid rgba(34,197,94,.32);
  border-radius:16px;
  background:rgba(11,18,32,.96);
  color:#bbf7d0;
  font-weight:800;
  text-align:center;
  box-shadow:0 18px 58px rgba(0,0,0,.38);
  animation:internalToastIn .36s ease both;
  pointer-events:auto;
  backdrop-filter:blur(14px);
  will-change:opacity,transform;
}

.internal-notice[hidden]{
  display:none;
}

.internal-notice.is-error{
  border-color:rgba(248,113,113,.38);
  background:rgba(32,13,18,.96);
  color:#fecaca;
}

.internal-notice.is-dismissing{
  pointer-events:none;
  animation:internalToastOut .52s cubic-bezier(.4,0,.2,1) forwards;
}

@keyframes internalToastIn{
  from{
    opacity:0;
    transform:translateY(-22px) scale(.98);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes internalToastOut{
  from{
    opacity:1;
    transform:translateY(0) scale(1);
  }
  to{
    opacity:0;
    transform:translateY(-44px) scale(.96);
  }
}

.internal-panel{
  width:100%;
  max-width:none;
  flex:1;
  margin:0;
  min-height:100vh;
}

.internal-panel[hidden]{
  display:none;
}

.internal-panel-head{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  margin:0;
  min-height:78px;
  padding:10px 300px 10px 24px;
  border-left:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(135deg,rgba(var(--accent-one-rgb),.11),transparent 46%),
    rgba(255,255,255,.025);
}

.internal-form h2,
.internal-user-list h2,
.internal-request-sidebar h2,
.internal-request-chat h2{
  margin-bottom:8px;
  font-size:1.55rem;
  line-height:1.1;
  letter-spacing:0;
}

.internal-panel-head .section-label{
  margin-bottom:4px;
  color:var(--accent-one);
}

.internal-panel-head h2{
  margin-bottom:0;
  font-size:1.62rem;
  line-height:1.05;
  letter-spacing:0;
}

.internal-panel-head p,
.internal-muted{
  color:#94a3b8;
  font-weight:700;
}

.internal-page .btn.primary,
.internal-page .btn.secondary{
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.065);
  color:#f8fafc;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.internal-page .btn.primary:hover,
.internal-page .btn.secondary:hover{
  transform:none;
  border-color:rgba(var(--accent-one-rgb),.38);
  background:rgba(var(--accent-one-rgb),.12);
  color:#fff;
  filter:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.internal-page .btn.danger{
  border:1px solid rgba(248,113,113,.34);
  background:rgba(248,113,113,.16);
  color:#fff;
}

.internal-dashboard-shell{
  min-height:100vh;
  border:0;
  border-radius:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.03)),
    rgba(8,11,22,.56);
  box-shadow:none;
  overflow:hidden;
}

.internal-dashboard-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  min-height:78px;
  padding:10px 300px 10px 24px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(135deg,rgba(var(--accent-one-rgb),.11),transparent 46%),
    rgba(255,255,255,.025);
}

.internal-dashboard-hero .section-label{
  margin-bottom:4px;
  color:var(--accent-one);
}

.internal-dashboard-hero h2{
  margin-bottom:0;
  font-size:1.62rem;
  line-height:1.05;
  letter-spacing:0;
}

.internal-metric-card span{
  color:#94a3b8;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.internal-metric-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:1px;
  background:rgba(255,255,255,.08);
}

.internal-metric-card{
  position:relative;
  min-height:136px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:10px;
  padding:22px;
  border:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)),
    rgba(8,11,22,.72);
  color:#fff;
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:.22s;
  overflow:hidden;
}

.internal-metric-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg,var(--accent-one),var(--accent-two));
  opacity:.48;
}

.internal-metric-card i{
  position:absolute;
  top:20px;
  right:20px;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:rgba(255,255,255,.055);
  color:#e0f2fe;
  font-size:1.1rem;
}

.internal-metric-card strong{
  color:#fff;
  font-size:2.45rem;
  line-height:1;
}

.internal-metric-card:hover{
  z-index:1;
  background:
    linear-gradient(180deg,rgba(var(--accent-one-rgb),.13),rgba(255,255,255,.035)),
    rgba(8,11,22,.78);
  box-shadow:inset 0 0 0 1px rgba(var(--accent-one-rgb),.3),0 18px 44px rgba(0,0,0,.24);
  transform:translateY(-2px);
}

.internal-info-board{
  display:grid;
  gap:0;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(8,11,22,.24);
}

.internal-info-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:20px 24px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.internal-info-head span,
.internal-info-card > span{
  display:block;
  margin-bottom:5px;
  color:var(--accent-one);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.internal-info-head h2{
  color:#fff;
  font-size:1.16rem;
  line-height:1.15;
  letter-spacing:0;
}

.internal-info-head strong{
  min-width:34px;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border:1px solid rgba(var(--accent-one-rgb),.22);
  border-radius:999px;
  background:rgba(var(--accent-one-rgb),.12);
  color:#e0f2fe;
}

.internal-info-form{
  position:relative;
  display:grid;
  align-content:start;
  gap:10px;
  min-height:220px;
  padding:20px;
  background:
    linear-gradient(135deg,rgba(var(--accent-one-rgb),.11),transparent 54%),
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.024)),
    rgba(8,11,22,.68);
}

.internal-info-form::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg,var(--accent-one),var(--accent-two));
  opacity:.55;
}

.internal-info-form-head span{
  display:block;
  margin-bottom:5px;
  color:var(--accent-one);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.internal-info-form-head h3{
  margin-bottom:4px;
  color:#fff;
  font-size:1.08rem;
  line-height:1.15;
  letter-spacing:0;
}

.internal-info-form input,
.internal-info-form textarea{
  width:100%;
  min-height:46px;
  margin:0;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(7,10,19,.72);
  color:#fff;
  font:inherit;
  font-weight:500;
}

.internal-info-form textarea{
  min-height:84px;
  max-height:140px;
  resize:vertical;
}

.internal-info-form .btn{
  min-height:46px;
  gap:8px;
  padding:12px 16px;
  border:0;
  justify-self:start;
}

.internal-info-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1px;
  background:rgba(255,255,255,.08);
}

.internal-info-card,
.internal-info-empty{
  position:relative;
  min-width:0;
  min-height:150px;
  padding:20px;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.022)),
    rgba(8,11,22,.66);
}

.internal-info-card h3{
  margin:0 38px 8px 0;
  color:#fff;
  font-size:1.08rem;
  line-height:1.18;
  letter-spacing:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.internal-info-card p{
  color:#cbd5e1;
  font-size:.94rem;
  line-height:1.5;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.internal-info-card small{
  display:block;
  margin-top:12px;
  color:#94a3b8;
  font-weight:600;
}

.internal-info-delete-form{
  position:absolute;
  top:14px;
  right:14px;
}

.internal-info-empty{
  display:flex;
  align-items:center;
  gap:14px;
  color:#94a3b8;
  font-weight:700;
}

.internal-info-empty i{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(var(--accent-one-rgb),.2);
  border-radius:14px;
  background:rgba(var(--accent-one-rgb),.1);
  color:#e0f2fe;
}

.internal-placeholder-shell{
  min-height:100vh;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  border:0;
  border-radius:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.026)),
    rgba(8,11,22,.62);
  box-shadow:none;
  text-align:left;
}

.internal-placeholder-content{
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:28px;
}

.internal-placeholder-content i{
  width:58px;
  height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(var(--accent-one-rgb),.2);
  border-radius:18px;
  background:rgba(var(--accent-one-rgb),.1);
  color:#e0f2fe;
  font-size:1.3rem;
}

.internal-placeholder-content span{
  display:block;
  margin-bottom:6px;
  color:var(--accent-one);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.internal-placeholder-content h2{
  color:#fff;
  font-size:1.5rem;
  line-height:1.15;
  letter-spacing:0;
}

.internal-form{
  min-height:auto;
  border-color:rgba(var(--accent-one-rgb),.14);
}

.internal-form .form-label{
  margin-left:0;
}

.internal-form input,
.internal-form select,
.internal-form textarea{
  margin-bottom:16px;
  background:rgba(7,10,19,.72);
  border-color:rgba(255,255,255,.12);
  font-weight:500;
}

.internal-form input:focus,
.internal-form select:focus,
.internal-form textarea:focus,
.internal-settings-password-form input:focus{
  border-color:var(--accent-one);
  box-shadow:0 0 0 4px rgba(var(--accent-one-rgb),.1);
}

body.internal-page input[type="date"]::-webkit-calendar-picker-indicator,
body.internal-page input[type="time"]::-webkit-calendar-picker-indicator,
body.internal-page input[type="month"]::-webkit-calendar-picker-indicator{
  opacity:1 !important;
  cursor:pointer;
  background-color:transparent !important;
  color:#fff !important;
  filter:brightness(0) invert(1) brightness(1.75) contrast(1.05) !important;
}

body.internal-page input[type="date"],
body.internal-page input[type="time"],
body.internal-page input[type="month"]{
  color-scheme:dark !important;
}

.internal-form textarea{
  min-height:140px;
}

.internal-form .btn,
.internal-role-form .btn,
.internal-reset-form .btn,
.internal-delete-form .btn{
  border:0;
  cursor:pointer;
}

.member-info-button{
  width:34px;
  height:34px;
  min-height:34px;
  padding:0;
  border-radius:10px;
  border:0;
  background:rgba(var(--accent-one-rgb),.14);
  color:#dbeafe;
  cursor:pointer;
}

.member-info-card{
  width:min(100%,570px);
  box-sizing:border-box;
  max-height:calc(100dvh - 48px);
  overflow-x:hidden;
  overflow-y:auto;
  scrollbar-gutter:stable;
}

.member-name-form,
.member-document-form,
.member-payment-section{
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}

.member-documents-form{ margin-top:14px; }
.member-documents-submit{ margin-top:14px; }

.member-name-form .form-label{
  display:block;
  margin-bottom:10px;
}

.member-name-locked{
  margin:0;
  color:#cbd5e1;
  font-weight:700;
}

.member-name-info{
  margin:-4px 0 12px;
  color:#cbd5e1;
  font-weight:700;
}

.member-info-card [hidden]{ display:none !important; }

.member-name-form input,
.member-document-form input[type="file"]{
  width:100%;
  margin-top:6px;
}

.member-document-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.member-document-view{
  border:0;
  background:transparent;
  color:#bfdbfe;
  font-weight:700;
  cursor:pointer;
}

.member-document-form .btn{ margin-top:10px; }
.member-payment-section{ margin-top:14px; }
.member-payment-section .payment-method-options{ margin:10px 0; }
.member-payment-section .form-label{ display:block; margin-top:10px; }
.member-payment-section input[type="text"],
.member-payment-section input[type="email"]{ width:100%; margin-top:6px; }
.member-payment-edit{ border:0; background:transparent; color:#bfdbfe; cursor:pointer; font-size:1rem; }
.member-payment-summary{ margin:0; color:#cbd5e1; font-weight:700; overflow-wrap:anywhere; }
.member-document-hint{ margin:14px 2px 0; color:#94a3b8; font-size:.82rem; }
.member-document-locked{ margin:10px 0 0; color:#bbf7d0; font-size:.85rem; font-weight:700; }
[data-member-document-preview] iframe{ width:100%; height:min(68vh,660px); margin-top:14px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:#fff; }

.btn.danger{
  border:0;
  background:rgba(248,113,113,.14);
  color:#fff;
  box-shadow:none;
}

.btn.danger:hover{
  background:rgba(248,113,113,.22);
  color:#fff;
}

.internal-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.internal-list-head{
  margin:0 0 16px;
  padding:0 0 14px;
}

.internal-list-head span{
  display:block;
  margin-bottom:4px;
  color:var(--accent-one);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.internal-list-head h2{
  display:block;
  color:#fff;
  font-size:1.18rem;
  line-height:1.1;
  letter-spacing:0;
}

.internal-list-head > strong{
  min-width:34px;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border:1px solid rgba(var(--accent-one-rgb),.22);
  border-radius:999px;
  background:rgba(var(--accent-one-rgb),.12);
  color:#e0f2fe;
  font-style:normal;
  font-weight:900;
}

.chat-thread{
  display:grid;
  align-content:start;
  flex:1;
  gap:2px;
  max-width:none;
  overflow-y:auto;
  padding:14px 22px 10px;
}

.chat-empty-state{
  flex:1;
  padding:22px 28px;
}

.chat-message{
  position:relative;
  padding:7px 10px;
  border:0;
  border-radius:8px;
  background:transparent;
  box-shadow:none;
}

.chat-message:hover{
  background:rgba(255,255,255,.045);
}

.chat-message-meta{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin-bottom:2px;
  color:#94a3b8;
  font-size:.76rem;
}

.chat-message-meta > div{
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}

.chat-message-meta strong{
  display:inline;
  color:#f8fafc;
  font-size:.9rem;
}

.chat-message-meta span{
  display:inline;
  color:#64748b;
  font-size:.74rem;
}

.chat-message p{
  color:#dbe4f0;
  font-size:.94rem;
  line-height:1.42;
  overflow-wrap:anywhere;
}

.chat-delete-form{
  flex:0 0 auto;
}

.chat-delete-button{
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:10px;
  background:rgba(248,113,113,.12);
  color:#fecaca;
  cursor:pointer;
}

.chat-delete-button:hover{
  background:rgba(248,113,113,.22);
  color:#fff;
}

.internal-request-shell{
  display:grid;
  grid-template-columns:minmax(285px,350px) minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr);
  gap:0;
  align-items:stretch;
  min-height:100vh;
  border:0;
  border-radius:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.026)),
    rgba(8,11,22,.62);
  box-shadow:none;
  overflow:hidden;
}

.internal-request-shell > .internal-panel-head,
.internal-admin-layout > .internal-panel-head,
.internal-settings-shell > .internal-panel-head{
  grid-column:1 / -1;
}

.internal-request-stack{
  display:grid;
  min-height:0;
  border-right:1px solid rgba(255,255,255,.08);
  background:rgba(8,11,22,.26);
}

.internal-request-sidebar{
  min-height:auto;
}

.internal-request-sidebar{
  padding:18px;
}

.request-sidebar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:-4px -2px 14px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.request-sidebar-head h2{
  margin-bottom:0;
}

.request-sidebar-head span,
.request-archive summary strong{
  min-width:32px;
  min-height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(var(--accent-one-rgb),.14);
  color:#e0f2fe;
  font-size:.82rem;
  font-weight:800;
}

.request-new-link{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  margin-bottom:12px;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.065);
  color:#f8fafc;
  font-size:.9rem;
  font-weight:800;
  transition:.2s;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.request-new-link:hover,
.request-new-link.is-active{
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.085);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.request-new-link:hover{
  border-color:rgba(var(--accent-one-rgb),.38);
  background:rgba(var(--accent-one-rgb),.12);
}

.request-admin-create{
  position:relative;
  margin-bottom:12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(8,11,22,.3);
  overflow:visible;
}

.request-admin-create[open]{
  z-index:70;
}

.request-admin-create summary{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  color:#e0f2fe;
  font-weight:800;
  cursor:pointer;
  list-style:none;
}

.request-admin-create summary::-webkit-details-marker{
  display:none;
}

.request-admin-create summary i{
  color:#94a3b8;
  font-size:.78rem;
  transition:.2s;
}

.request-admin-create[open] summary i{
  transform:rotate(180deg);
}

.request-admin-create form{
  padding:0 12px 12px;
}

.request-admin-create input,
.request-admin-create select,
.request-admin-create textarea{
  width:100%;
  min-height:40px;
  margin:0 0 10px;
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:12px;
  background:rgba(255,255,255,.055);
  color:#f8fafc;
  font:inherit;
  font-size:.9rem;
  font-weight:500;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.request-admin-create textarea{
  min-height:92px;
  resize:vertical;
}

.request-admin-create .btn{
  min-height:40px;
  border:0;
}

.user-picker{
  position:relative;
  margin-bottom:10px;
}

.custom-select-picker{
  width:100%;
}

.user-picker-trigger{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:12px;
  background:rgba(255,255,255,.055);
  color:#f8fafc;
  font:inherit;
  font-size:.9rem;
  font-weight:700;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:.2s;
}

.user-picker-trigger:hover,
.user-picker-trigger[aria-expanded="true"]{
  border-color:rgba(108,124,146,.4);
  background:rgba(96,112,132,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 3px rgba(96,112,132,.09);
}

.user-picker-trigger i{
  color:#aeb8c5;
  font-size:.76rem;
  transition:.2s;
}

.user-picker-trigger[aria-expanded="true"] i{
  transform:rotate(180deg);
}

.user-picker-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:0;
  z-index:45;
  padding:10px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:15px;
  background:
    linear-gradient(180deg,rgba(125,144,166,.07),rgba(255,255,255,.024)),
    rgba(23,29,38,.98);
  box-shadow:0 22px 54px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.05);
}

.user-picker.is-drop-up .user-picker-menu{
  top:auto;
  bottom:calc(100% + 8px);
}

.user-picker-menu[hidden]{
  display:none;
}

.user-picker-search{
  min-height:38px !important;
  margin:0 0 8px !important;
  padding:9px 10px !important;
  border-radius:10px !important;
}

.user-picker-search:focus{
  border-color:rgba(108,124,146,.4) !important;
  background:rgba(96,112,132,.08) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 3px rgba(96,112,132,.09) !important;
}

.user-picker-options{
  display:grid;
  gap:5px;
  max-height:220px;
  overflow-y:auto;
}

.user-picker-options button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:38px;
  padding:8px 10px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#e2e8f0;
  font:inherit;
  text-align:left;
  cursor:pointer;
}

.user-picker-options button:hover{
  background:rgba(96,112,132,.14);
  color:#fff;
}

.user-picker-options button[hidden]{
  display:none;
}

.user-picker-options strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.user-picker-options span{
  color:#a3a3a3;
  font-size:.75rem;
  font-weight:800;
}

.cp-field-picker .user-picker-trigger{
  min-height:46px;
  padding:10px 12px;
}

.cp-picker-display{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
  overflow:hidden;
}

.cp-picker-display i{
  flex:0 0 auto;
  color:#dbeafe;
  font-size:.86rem;
  transform:none !important;
}

.cp-picker-display span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.user-picker-trigger[aria-expanded="true"] .cp-picker-display i{
  transform:none !important;
}

.user-picker-trigger .cp-picker-chevron{
  flex:0 0 auto;
}

.cp-field-picker .user-picker-options{
  max-height:260px;
}

.cp-field-picker .user-picker-options button{
  min-height:36px;
}

.cp-time-composer{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:8px;
  align-items:start;
  margin-bottom:14px;
}

.cp-time-composer .user-picker{
  margin-bottom:0;
}

.cp-time-separator{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#94a3b8;
  font-size:1rem;
  font-weight:900;
}

.cp-time-part-options{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  max-height:220px;
}

.cp-time-part-options button{
  width:100%;
  height:34px;
  min-height:34px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.08);
  border-radius:9px;
  background:rgba(15,23,42,.62);
  color:#f8fafc;
  font-variant-numeric:tabular-nums;
  text-align:center;
}

.cp-time-part-options button:hover{
  border-color:rgba(148,163,184,.34);
  background:rgba(148,163,184,.14);
  color:#fff;
}

.cp-time-part-options strong{
  display:block;
  color:inherit;
  font-size:.9rem;
  font-weight:900;
  line-height:34px;
  text-align:center;
  overflow:visible;
  white-space:nowrap;
}

.cp-month-picker .user-picker-options button strong{
  white-space:normal;
}

.request-list{
  display:grid;
  gap:5px;
  max-height:430px;
  overflow-y:auto;
  padding-right:4px;
}

.request-list-item{
  position:relative;
  display:grid;
  gap:2px;
  padding:8px 10px 8px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-left:3px solid transparent;
  border-radius:10px;
  background:rgba(8,11,22,.32);
  transition:.2s;
}

.request-list-item:hover,
.request-list-item.is-active{
  border-color:rgba(var(--accent-one-rgb),.36);
  border-left-color:var(--accent-one);
  background:rgba(var(--accent-one-rgb),.1);
}

.request-list-item strong{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#f8fafc;
  font-size:.88rem;
  line-height:1.2;
  overflow-wrap:anywhere;
}

.request-unread-count{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:20px;
  padding:3px 6px;
  border-radius:999px;
  background:rgba(248,113,113,.14);
  color:#fecaca;
  font-size:.68rem;
  font-style:normal;
  font-weight:900;
  line-height:1;
}

.request-list-item span{
  color:#cbd5e1;
  font-size:.8rem;
  font-weight:600;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
}

.request-list-item small{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#94a3b8;
  font-size:.74rem;
  font-weight:600;
}

.request-list-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 6px;
  border-radius:999px;
  background:rgba(125,211,252,.13);
  color:#bae6fd;
  font-size:.68rem;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
}

.request-list-status.is-progress{
  background:rgba(251,191,36,.14);
  color:#fde68a;
}

.request-list-status.is-archived{
  background:rgba(34,197,94,.12);
  color:#bbf7d0;
}

.request-list-item.is-archived{
  opacity:.82;
  border-left-color:rgba(148,163,184,.34);
}

.request-list-item.is-archived.is-active{
  border-color:rgba(var(--accent-one-rgb),.36);
  border-left-color:var(--accent-one);
  background:rgba(var(--accent-one-rgb),.1);
}

.request-list-entry{
  position:relative;
  display:block;
}

.request-list-entry .request-list-item{
  min-width:0;
  padding-right:40px;
}

.request-list-entry .request-list-item small{
  padding-right:56px;
}

.request-list-entry .request-list-status.is-archived{
  position:absolute;
  right:10px;
  bottom:8px;
}

.request-list-entry.is-active .request-list-item{
  border-color:rgba(var(--accent-one-rgb),.36);
  border-left-color:var(--accent-one);
  background:rgba(var(--accent-one-rgb),.1);
}

.request-archive-delete-form{
  position:absolute;
  top:8px;
  right:8px;
  z-index:2;
  display:flex;
  align-items:center;
}

.request-archive-delete-form .chat-delete-button{
  width:24px;
  height:24px;
  min-height:24px;
  border-radius:8px;
  background:rgba(248,113,113,.15);
  color:#fecaca;
  font-size:.75rem;
}

.request-head-delete-form{
  position:static;
  display:flex;
  align-items:center;
}

.request-message-actions{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
}

.request-message-actions .chat-delete-form{
  display:inline-flex;
}

.request-message-actions .chat-delete-button{
  width:28px;
  height:28px;
  min-height:28px;
  border-radius:9px;
}

.request-archive{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
}

.request-archive summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#cbd5e1;
  font-weight:800;
  cursor:pointer;
  list-style:none;
}

.request-archive summary span{
  min-width:0;
  flex:1;
}

.request-archive-arrow{
  color:#94a3b8;
  font-size:.76rem;
  transition:.2s;
}

.request-archive[open] .request-archive-arrow{
  transform:rotate(180deg);
}

.request-archive summary::-webkit-details-marker{
  display:none;
}

.request-list-archive{
  margin-top:10px;
  max-height:none;
  overflow-y:visible;
  padding-right:0;
  scrollbar-gutter:auto;
}

.request-list-archive.is-scrollable{
  max-height:365px;
  overflow-y:auto;
  padding-right:4px;
  scrollbar-gutter:stable;
}

.internal-request-chat{
  min-height:0;
  display:flex;
  flex-direction:column;
  padding:0;
  background:transparent;
}

.request-chat-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin:0;
  padding:18px 18px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(8,11,22,.22);
}

.request-chat-head h2{
  margin-bottom:6px;
}

.request-chat-head p{
  color:#94a3b8;
  font-weight:700;
}

.request-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}

.request-kicker{
  display:block;
  margin-bottom:6px;
  color:var(--accent-one);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
}

.request-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 10px;
  border:1px solid rgba(125,211,252,.34);
  border-radius:999px;
  background:rgba(125,211,252,.13);
  color:#bae6fd;
  font-size:.8rem;
  font-weight:800;
  white-space:nowrap;
}

.request-status-menu{
  position:relative;
}

.request-status-menu summary{
  list-style:none;
}

.request-status-menu summary::-webkit-details-marker{
  display:none;
}

.request-status-button{
  gap:8px;
  font:inherit;
  cursor:pointer;
  transition:.2s;
}

.request-status-button i{
  color:currentColor;
  font-size:.7rem;
  opacity:.78;
  transition:.2s;
}

.request-status-menu[open] .request-status-button i{
  transform:rotate(180deg);
}

.request-status-button:hover{
  transform:translateY(-1px);
  border-color:rgba(125,211,252,.48);
  background:rgba(125,211,252,.16);
}

.request-status-menu-form{
  position:absolute;
  top:calc(100% + 7px);
  right:0;
  z-index:25;
  min-width:132px;
  padding:7px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:
    linear-gradient(180deg,rgba(125,144,166,.07),rgba(255,255,255,.024)),
    rgba(23,29,38,.98);
  box-shadow:0 18px 48px rgba(0,0,0,.34);
}

.request-status-menu-option{
  width:100%;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border:1px solid rgba(148,163,184,.32);
  border-radius:999px;
  background:rgba(148,163,184,.12);
  color:#cbd5e1;
  font:inherit;
  font-size:.8rem;
  font-weight:800;
  cursor:pointer;
}

.request-status-menu-option:hover{
  border-color:rgba(34,197,94,.4);
  background:rgba(34,197,94,.14);
  color:#bbf7d0;
}

.request-status.is-archived{
  border-color:rgba(34,197,94,.36);
  background:rgba(34,197,94,.12);
  color:#bbf7d0;
}

.request-status.is-progress{
  border-color:rgba(251,191,36,.36);
  background:rgba(251,191,36,.14);
  color:#fde68a;
}

.request-chat-thread{
  flex:1;
  min-height:0;
  max-height:none;
  display:flex;
  flex-direction:column;
  gap:2px;
  overflow-y:auto;
  padding:14px 22px 10px;
}

.request-chat-message{
  width:100%;
  padding:7px 10px;
  border:0;
  border-radius:8px;
  background:transparent;
  box-shadow:none;
}

.request-chat-message.is-own{
  margin-left:0;
  border:0;
  background:transparent;
}

.request-chat-message.is-admin{
  border:0;
}

.request-chat-message:hover{
  background:rgba(255,255,255,.045);
}

.request-chat-message .chat-message-meta{
  justify-content:flex-start;
  gap:8px;
  margin-bottom:2px;
  font-size:.76rem;
}

.request-chat-message .chat-message-meta > div{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}

.request-chat-message .chat-message-meta strong{
  display:inline;
  color:#f8fafc;
  font-size:.9rem;
}

.request-chat-message.is-admin .chat-message-meta strong{
  color:#f87171;
}

.request-chat-message .chat-message-meta span{
  display:inline;
  color:#64748b;
  font-size:.74rem;
}

.request-chat-message p{
  color:#dbe4f0;
  font-size:.94rem;
  line-height:1.42;
}

.request-chat-form{
  margin:16px 18px 18px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
}

.request-chat-form .form-label{
  margin-left:0;
}

.request-chat-form select{
  width:100%;
  min-height:46px;
  margin-bottom:12px;
  padding:11px 13px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:12px;
  background:rgba(255,255,255,.055);
  color:#f8fafc;
  color-scheme:dark;
  font:inherit;
  font-weight:500;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.request-chat-form select option{
  background:#171d26;
  color:#f8fafc;
}

.request-chat-form select option:checked{
  background:#2a3545;
  color:#fff;
}

.request-chat-form textarea{
  min-height:120px;
  margin-bottom:12px;
}

.request-create-form{
  margin-top:0;
  padding-top:0;
  border-top:0;
}

.request-create-form textarea{
  min-height:300px;
}

.request-chat-form .btn{
  border:0;
  cursor:pointer;
}

.request-archive-note{
  margin:16px 18px 18px;
  padding:14px 16px;
  border:1px solid rgba(148,163,184,.2);
  border-radius:14px;
  background:rgba(148,163,184,.08);
  color:#cbd5e1;
  font-weight:700;
}

.request-empty-state{
  min-height:420px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.request-empty-state h2{
  margin-bottom:8px;
}

.internal-training-shell,
.internal-invoice-shell{
  min-height:100vh;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  background:
    linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.03)),
    rgba(8,11,22,.56);
  overflow:hidden;
}

.training-layout,
.invoice-layout{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(260px,340px) minmax(0,1fr);
  gap:0;
}

.training-create-card,
.invoice-send-card{
  padding:20px;
  border-right:1px solid rgba(255,255,255,.08);
  background:rgba(8,11,22,.3);
}

.training-form-row{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.training-calendar-panel{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:visible;
}

.training-calendar-panel.is-full,
.invoice-history.is-full{
  grid-column:1 / -1;
}

.training-calendar-toolbar{
  position:relative;
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025)),
    rgba(8,11,22,.36);
  overflow:visible;
}

.training-calendar-toolbar span{
  display:block;
  color:#94a3b8;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.training-calendar-toolbar strong{
  display:block;
  margin-top:2px;
  color:#f8fafc;
  font-size:.95rem;
  line-height:1.2;
  overflow-wrap:anywhere;
}

.timezone-picker{
  width:min(340px,100%);
  margin-bottom:10px;
}

.training-calendar-toolbar .timezone-picker{
  flex:0 1 340px;
  margin-bottom:0;
}

.timezone-picker .user-picker-options{
  max-height:260px;
}

.training-calendar{
  min-height:0;
  display:grid;
  grid-template-columns:repeat(7,minmax(150px,1fr));
  grid-auto-rows:minmax(180px,1fr);
  gap:1px;
  overflow:auto;
  background:rgba(255,255,255,.08);
}

.training-day{
  min-width:150px;
  padding:14px;
  background:rgba(8,11,22,.58);
}

.training-day.is-today{
  background:
    linear-gradient(180deg,rgba(var(--accent-one-rgb),.12),rgba(8,11,22,.58)),
    rgba(8,11,22,.58);
}

.training-day header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:12px;
}

.training-day header span{
  color:var(--accent-one);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.training-day header strong{
  color:#fff;
  font-size:1rem;
}

.training-empty{
  color:#64748b;
  font-size:.82rem;
  font-weight:700;
}

.training-events{
  display:grid;
  gap:8px;
}

.training-event{
  position:relative;
  min-width:0;
  display:grid;
  gap:3px;
  padding:10px 34px 10px 11px;
  border:1px solid rgba(255,255,255,.12);
  border-left:4px solid var(--training-color,#38bdf8);
  border-radius:12px;
  background:rgba(255,255,255,.045);
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
  transform-origin:center;
}

.training-event.has-link{
  cursor:pointer;
}

.training-event:hover{
  z-index:3;
  transform:scale(1.025);
  border-color:rgba(var(--accent-one-rgb),.34);
  border-left-color:var(--training-color,#38bdf8);
  background:rgba(255,255,255,.075);
  box-shadow:0 12px 34px rgba(0,0,0,.22);
}

.training-event-link{
  position:absolute;
  inset:0;
  z-index:3;
  display:block;
  border-radius:12px;
}

.training-event.is-blue{--training-color:#38bdf8;}
.training-event.is-green{--training-color:#22c55e;}
.training-event.is-violet{--training-color:#8b5cf6;}
.training-event.is-amber{--training-color:#f59e0b;}
.training-event.is-rose{--training-color:#f43f5e;}
.training-event.is-slate{--training-color:#94a3b8;}

.training-event time{
  position:relative;
  z-index:2;
  min-width:0;
  color:var(--training-color);
  font-size:.78rem;
  font-weight:900;
  overflow-wrap:anywhere;
}

.training-event h3{
  position:relative;
  z-index:2;
  min-width:0;
  color:#f8fafc;
  font-size:.92rem;
  line-height:1.18;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.training-event p{
  position:relative;
  z-index:2;
  min-width:0;
  color:#94a3b8;
  font-size:.8rem;
  font-weight:700;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.training-delete-form{
  position:absolute;
  top:7px;
  right:7px;
  z-index:5;
}

.training-delete-form .chat-delete-button{
  width:24px;
  height:24px;
  min-height:24px;
  border-radius:8px;
}

.invoice-send-card input[type="file"]{
  width:100%;
  min-height:48px;
  margin-bottom:16px;
  padding:7px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:12px;
  background:rgba(255,255,255,.055);
  color:#cbd5e1;
  font:inherit;
  font-weight:700;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  cursor:pointer;
}

.invoice-send-card input[type="file"]::file-selector-button,
.invoice-send-card input[type="file"]::-webkit-file-upload-button{
  min-height:34px;
  margin-right:12px;
  padding:7px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:rgba(255,255,255,.065);
  color:#f8fafc;
  font:inherit;
  font-size:.86rem;
  font-weight:800;
  cursor:pointer;
  transition:.2s;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.invoice-send-card input[type="file"]:hover::file-selector-button,
.invoice-send-card input[type="file"]:hover::-webkit-file-upload-button{
  border-color:rgba(var(--accent-one-rgb),.38);
  background:rgba(var(--accent-one-rgb),.12);
  color:#fff;
}

.invoice-history{
  min-width:0;
  padding:20px;
  background:rgba(255,255,255,.035);
  overflow:auto;
}

.invoice-empty-state{
  min-height:320px;
  display:grid;
  place-items:center;
  gap:12px;
  color:#94a3b8;
  font-weight:800;
  text-align:center;
}

.invoice-empty-state[hidden]{
  display:none;
}

.invoice-empty-state i{
  width:58px;
  height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(var(--accent-one-rgb),.22);
  border-radius:18px;
  background:rgba(var(--accent-one-rgb),.1);
  color:#e0f2fe;
  font-size:1.35rem;
}

.invoice-months{
  display:grid;
  gap:14px;
}

.invoice-month-group{
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  overflow:hidden;
  background:rgba(8,11,22,.28);
}

.invoice-month-group > summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:13px 15px;
  background:rgba(255,255,255,.035);
  cursor:pointer;
  list-style:none;
  user-select:none;
}

.invoice-month-group[open] > summary{
  border-bottom:1px solid rgba(255,255,255,.08);
}

.invoice-month-group > summary::-webkit-details-marker{
  display:none;
}

.invoice-month-group > summary span{
  color:#fff;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.invoice-month-group > summary strong{
  color:#94a3b8;
  font-size:.82rem;
}

.invoice-month-group > summary i{
  color:#cbd5e1;
  font-size:.78rem;
  transition:transform .18s ease,color .18s ease;
}

.invoice-month-group[open] > summary i{
  color:#fff;
  transform:rotate(180deg);
}

.invoice-file-list{
  display:grid;
  gap:1px;
  background:rgba(255,255,255,.06);
}

.invoice-file-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  background:rgba(8,11,22,.54);
}

.invoice-file-card > i{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(var(--accent-one-rgb),.22);
  border-radius:12px;
  background:rgba(var(--accent-one-rgb),.1);
  color:#e0f2fe;
}

.invoice-file-card strong,
.invoice-file-card span{
  display:block;
  min-width:0;
}

.invoice-file-card strong{
  color:#f8fafc;
  font-size:.94rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.invoice-file-card span{
  color:#94a3b8;
  font-size:.8rem;
  font-weight:700;
}

.invoice-file-card .btn{
  min-height:36px;
  padding:8px 13px;
}

.internal-admin-layout{
  display:grid;
  grid-template-columns:minmax(280px,360px) minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr);
  gap:0;
  align-items:stretch;
  min-height:100vh;
  border:0;
  border-radius:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.026)),
    rgba(8,11,22,.62);
  box-shadow:none;
  overflow:hidden;
}

.internal-admin-layout.is-list-only{
  grid-template-columns:minmax(0,1fr);
}

.internal-admin-create{
  padding:20px;
  border-right:1px solid rgba(255,255,255,.08);
  background:rgba(8,11,22,.3);
}

.internal-admin-create h2{
  font-size:1.24rem;
}

.internal-user-list{
  min-width:0;
  padding:20px;
  background:rgba(255,255,255,.035);
}

.internal-admin-layout.is-list-only .internal-user-list{
  grid-column:1 / -1;
}

.internal-users{
  display:grid;
  gap:8px;
  margin-top:14px;
  max-height:590px;
  overflow-y:auto;
  padding-right:4px;
}

.internal-admin-layout.is-list-only .internal-users{
  max-height:calc(100vh - 95px);
}

.internal-user-group{
  display:grid;
  gap:7px;
}

.internal-user-group[hidden]{
  display:none;
}

.internal-user-group + .internal-user-group{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.08);
}

.internal-user-group-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 2px 4px;
}

.internal-user-group-head h3{
  color:#e2e8f0;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.internal-user-group-head span{
  min-width:26px;
  min-height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#cbd5e1;
  font-size:.76rem;
  font-weight:800;
}

.internal-user-search{
  margin-bottom:4px;
}

.internal-user-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto auto;
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-left:3px solid rgba(var(--accent-one-rgb),.26);
  border-radius:10px;
  background:rgba(8,11,22,.32);
  transition:.2s;
}

.internal-user-row:hover{
  border-color:rgba(var(--accent-one-rgb),.28);
  border-left-color:var(--accent-one);
  background:rgba(var(--accent-one-rgb),.08);
}

.internal-user-info strong,
.internal-user-info span{
  display:block;
}

.internal-user-info span{
  margin-top:2px;
  color:#94a3b8;
  font-size:.84rem;
  font-weight:700;
  overflow-wrap:anywhere;
}

.internal-user-info strong{
  font-size:.95rem;
  line-height:1.2;
}

.internal-role-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 9px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:999px;
  color:#cbd5e1;
  font-size:.78rem;
  font-weight:800;
  white-space:nowrap;
}

.internal-online-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 9px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:999px;
  background:rgba(148,163,184,.1);
  color:#cbd5e1;
  font-size:.76rem;
  font-weight:800;
  white-space:nowrap;
}

.internal-online-badge::before{
  content:"";
  width:7px;
  height:7px;
  margin-right:6px;
  border-radius:999px;
  background:#94a3b8;
}

.internal-online-badge.is-online{
  border-color:rgba(34,197,94,.35);
  background:rgba(34,197,94,.12);
  color:#bbf7d0;
}

.internal-online-badge.is-online::before{
  background:#22c55e;
  box-shadow:0 0 10px rgba(34,197,94,.55);
}

.internal-role-badge.is-admin{
  border-color:rgba(var(--accent-one-rgb),.38);
  background:rgba(var(--accent-one-rgb),.12);
  color:#e0f2fe;
}

.internal-role-badge.is-owner{
  border-color:rgba(248,113,113,.42);
  background:rgba(248,113,113,.13);
  color:#fecaca;
}

.internal-role-form{
  display:flex;
  align-items:center;
  gap:6px;
}

.internal-role-form .role-select-picker{
  width:130px;
  margin:0;
}

.internal-role-form .role-select-picker .user-picker-trigger{
  min-height:34px;
  padding:7px 10px;
  border-radius:10px;
  font-size:.84rem;
}

.internal-role-form .role-select-picker .user-picker-menu{
  top:calc(100% + 6px);
  padding:7px;
  border-radius:12px;
}

.internal-role-form .role-select-picker .user-picker-options{
  max-height:150px;
}

.internal-role-form .role-select-picker .user-picker-options button{
  min-height:32px;
  padding:7px 8px;
  border-radius:9px;
  font-size:.84rem;
}

.internal-user-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
}

.internal-role-form select{
  width:130px;
  min-height:34px;
  margin:0;
  padding:7px 9px;
  border-radius:10px;
  font-size:.84rem;
}

.internal-role-form .btn{
  min-height:34px;
  padding:7px 10px;
  border-radius:10px;
  font-size:.82rem;
}

.internal-reset-form .btn,
.internal-delete-form .btn{
  width:34px;
  height:34px;
  min-height:34px;
  padding:0;
  border-radius:10px;
  background:rgba(255,255,255,.07);
}

.internal-delete-form .btn.danger{
  background:rgba(248,113,113,.14);
  color:#fff;
}

.icon-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.icon-action i{
  font-size:.9rem;
  line-height:1;
}

.internal-role-form select:disabled,
.internal-role-form .btn:disabled,
.internal-reset-form .btn:disabled,
.internal-delete-form .btn:disabled{
  opacity:.48;
  cursor:not-allowed;
}

.internal-settings-shell{
  display:grid;
  grid-template-columns:minmax(300px,1fr) minmax(320px,440px) minmax(300px,390px);
  grid-template-rows:auto minmax(0,1fr);
  gap:0;
  align-items:stretch;
  min-height:100vh;
  border:0;
  border-radius:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.026)),
    rgba(8,11,22,.62);
  box-shadow:none;
  overflow:hidden;
}

.internal-settings-profile{
  padding:20px;
  border-right:1px solid rgba(255,255,255,.08);
  background:rgba(8,11,22,.3);
}

.internal-settings-list{
  display:grid;
  gap:14px;
  margin-top:0;
}

.internal-settings-list div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(8,11,22,.28);
}

.internal-settings-list dt{
  color:#94a3b8;
  font-weight:800;
}

.internal-settings-list dd{
  margin:0;
  color:#f8fafc;
  font-weight:800;
  text-align:right;
  overflow-wrap:anywhere;
}

.internal-settings-password-form{
  max-width:none;
  margin-top:0;
  padding:20px;
  border-top:0;
  background:rgba(255,255,255,.035);
}

.internal-settings-password-form h3{
  margin-bottom:16px;
  font-size:1.2rem;
  line-height:1.15;
  letter-spacing:0;
}

.internal-settings-password-form .form-label{
  margin-left:0;
}

.internal-settings-password-form input{
  margin-bottom:16px;
}

.internal-password-field{
  margin-bottom:16px;
}

.internal-password-field input{
  margin-bottom:0;
  padding-right:52px;
}

.internal-settings-password-form .btn{
  border:0;
  cursor:pointer;
}

.internal-settings-password-form .btn:disabled{
  opacity:.62;
  cursor:not-allowed;
}

.internal-settings-payment{
  padding:20px;
  border-left:1px solid rgba(255,255,255,.08);
  background:rgba(8,11,22,.24);
}

.internal-settings-payment p{
  margin:0 0 14px;
  font-size:.88rem;
  line-height:1.45;
}

.internal-settings-payment .btn{
  gap:8px;
  border:0;
  cursor:pointer;
}

.payment-method-card{
  width:min(100%,500px);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035)),
    rgba(8,11,22,.96);
}

.payment-method-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:18px;
}

.payment-method-options label{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:46px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:13px;
  background:rgba(8,11,22,.55);
  color:#e2e8f0;
  font-weight:700;
  cursor:pointer;
  transition:.2s;
}

.payment-method-options label.is-selected,
.payment-method-options label:has(input:checked){
  border-color:rgba(var(--accent-one-rgb),.45);
  background:rgba(var(--accent-one-rgb),.12);
  color:#fff;
}

.payment-method-modal .payment-method-options input[type="radio"],
.member-payment-section .payment-method-options input[type="radio"]{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  max-width:12px !important;
  min-height:12px !important;
  max-height:12px !important;
  margin:0 !important;
  padding:0 !important;
  flex:0 0 12px;
  border:1px solid rgba(203,213,225,.55);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.payment-method-modal .payment-method-options input[type="radio"]::after,
.member-payment-section .payment-method-options input[type="radio"]::after{
  content:"";
  position:absolute;
  inset:2px;
  border-radius:inherit;
  background:transparent;
  transition:.2s;
}

.payment-method-modal .payment-method-options input[type="radio"]:checked,
.member-payment-section .payment-method-options input[type="radio"]:checked{
  border-color:#7dd3fc;
  background:rgba(125,211,252,.14);
}

.payment-method-modal .payment-method-options input[type="radio"]:checked::after,
.member-payment-section .payment-method-options input[type="radio"]:checked::after{
  background:#e0f2fe;
  box-shadow:0 0 6px rgba(125,211,252,.34);
}

.payment-method-form input[type="text"],
.payment-method-form input[type="email"]{
  border-color:rgba(255,255,255,.14);
  background:rgba(7,10,19,.82);
}

.payment-method-form .btn{
  border:0;
  cursor:pointer;
}

body.internal-page .internal-settings-password-form input,
body.internal-page .request-chat-form select,
body.internal-page .request-chat-form textarea,
body.internal-page .request-admin-create textarea,
body.internal-page .payment-method-form input[type="text"],
body.internal-page .payment-method-form input[type="email"]{
  border:1px solid rgba(255,255,255,.11);
  border-radius:12px;
  background:rgba(255,255,255,.055);
  color:#f8fafc;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

body.internal-page .internal-settings-password-form input:focus,
body.internal-page .request-chat-form select:focus,
body.internal-page .request-chat-form textarea:focus,
body.internal-page .request-admin-create textarea:focus,
body.internal-page .payment-method-form input[type="text"]:focus,
body.internal-page .payment-method-form input[type="email"]:focus{
  border-color:rgba(var(--accent-one-rgb),.38);
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 3px rgba(var(--accent-one-rgb),.08);
}

body.internal-page select{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(255,255,255,.11);
  background-color:rgba(255,255,255,.055);
  background-image:
    linear-gradient(45deg,transparent 50%,#aeb8c5 50%),
    linear-gradient(135deg,#aeb8c5 50%,transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 13px) 50%;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
  color:#f8fafc;
  color-scheme:dark;
  padding-right:38px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  cursor:pointer;
}

body.internal-page select:hover{
  border-color:rgba(108,124,146,.4);
  background-color:rgba(96,112,132,.08);
}

body.internal-page select:focus{
  border-color:rgba(108,124,146,.4);
  background-color:rgba(96,112,132,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 3px rgba(96,112,132,.09);
}

body.internal-page select:disabled{
  opacity:.55;
  cursor:not-allowed;
}

body.internal-page select option{
  background:#171d26;
  color:#f8fafc;
}

body.internal-page select option:checked{
  background:#2a3545;
  color:#fff;
}

.internal-request-shell,
.internal-admin-layout,
.internal-settings-shell,
.internal-placeholder-shell{
  background:
    linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.03)),
    rgba(8,11,22,.56);
}

.generated-password-card{
  width:min(100%,500px);
}

.generated-password-card strong{
  color:#fff;
}

.generated-password-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  margin-bottom:14px;
}

.generated-password-box input{
  margin:0;
  font-weight:800;
  letter-spacing:.04em;
}

.generated-password-box .btn{
  min-height:52px;
  border:0;
  cursor:pointer;
}

.generated-password-timer{
  margin-bottom:16px;
  color:#94a3b8;
  font-weight:700;
}

.internal-page .internal-form .btn.primary,
.internal-page .internal-form .btn.secondary,
.internal-page .request-chat-form .btn,
.internal-page .request-admin-create .btn,
.internal-page .internal-settings-payment .btn,
.internal-page .payment-method-form .btn,
.internal-page .generated-password-box .btn,
.internal-page .generated-password-card .btn{
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.065);
  color:#f8fafc;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.internal-page .internal-form .btn.primary:hover,
.internal-page .internal-form .btn.secondary:hover,
.internal-page .request-chat-form .btn:hover,
.internal-page .request-admin-create .btn:hover,
.internal-page .internal-settings-payment .btn:hover,
.internal-page .payment-method-form .btn:hover,
.internal-page .generated-password-box .btn:hover,
.internal-page .generated-password-card .btn:hover{
  border-color:rgba(var(--accent-one-rgb),.38);
  background:rgba(var(--accent-one-rgb),.12);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

body.internal-page .btn.primary,
body.internal-page .btn.secondary,
body.internal-page .internal-chat-start{
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.065);
  color:#f8fafc;
  filter:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

body.internal-page .btn{
  gap:11px;
}

body.internal-page .btn i{
  flex:0 0 auto;
  line-height:1;
}

body.internal-page .btn.primary:hover,
body.internal-page .btn.secondary:hover,
body.internal-page .internal-chat-start:hover{
  transform:none;
  border-color:rgba(var(--accent-one-rgb),.38);
  background:rgba(var(--accent-one-rgb),.12);
  color:#fff;
  filter:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

body.internal-page .btn.danger{
  border:1px solid rgba(248,113,113,.34);
  background:rgba(248,113,113,.16);
  color:#fff;
}

@media(max-width:460px){
  .login-options{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }

  .login-modal-card{
    padding:26px 22px;
  }

  .generated-password-box{
    grid-template-columns:1fr;
  }
}

@media(max-width:900px){
  .internal-layout{
    grid-template-columns:1fr;
  }

  .internal-sidebar{
    position:sticky;
    top:0;
    z-index:45;
    height:auto;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:10px;
    padding:12px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.1);
    box-shadow:0 14px 34px rgba(0,0,0,.24),inset 0 -1px 0 rgba(255,255,255,.035);
  }

  .internal-brand{
    min-height:50px;
    margin-bottom:0;
    padding:0 10px;
    border-radius:14px;
  }

  .internal-brand img{
    height:34px;
  }

  .internal-mobile-nav-toggle{
    min-width:0;
    min-height:50px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:8px 12px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    background:rgba(255,255,255,.055);
    color:#fff;
    font:inherit;
    cursor:pointer;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  }

  .internal-mobile-nav-toggle span{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
  }

  .internal-mobile-nav-toggle small{
    color:#94a3b8;
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.08em;
    line-height:1;
    text-transform:uppercase;
  }

  .internal-mobile-nav-toggle strong{
    max-width:100%;
    overflow:hidden;
    color:#f8fafc;
    font-size:.94rem;
    font-weight:800;
    line-height:1.15;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .internal-mobile-nav-toggle i{
    flex:0 0 auto;
    color:#94a3b8;
    font-size:.78rem;
    transition:.2s;
  }

  .internal-sidebar.is-mobile-nav-open .internal-mobile-nav-toggle{
    border-color:rgba(var(--accent-one-rgb),.34);
    background:rgba(var(--accent-one-rgb),.1);
  }

  .internal-sidebar.is-mobile-nav-open .internal-mobile-nav-toggle i{
    transform:rotate(180deg);
  }

  .internal-nav{
    grid-column:1 / -1;
    display:none;
    flex-direction:column;
    gap:7px;
    max-height:calc(100vh - 92px);
    padding:8px;
    overflow-y:auto;
    border:1px solid rgba(255,255,255,.1);
    border-radius:16px;
    background:rgba(8,11,22,.92);
    box-shadow:0 18px 44px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);
  }

  .internal-sidebar.is-mobile-nav-open .internal-nav{
    display:flex;
  }

  .internal-nav-group{
    flex-direction:column;
    align-items:stretch;
    margin-top:7px;
    padding-top:10px;
    padding-left:0;
    border-top:1px solid rgba(255,255,255,.08);
    border-left:0;
  }

  .internal-nav-group-label{
    padding:0 10px 2px;
    white-space:nowrap;
  }

  .internal-nav-item{
    width:100%;
    flex:0 0 auto;
  }

  .internal-main{
    padding:0;
  }

  .internal-topbar{
    top:14px;
    left:0;
    right:14px;
  }

  .internal-panel-head{
    min-height:auto;
    padding:10px 18px;
  }

  .internal-dashboard-hero{
    padding:10px 18px;
    min-height:auto;
  }

  .internal-dashboard-hero,
  .internal-metric-grid{
    grid-template-columns:1fr;
  }

  .internal-admin-layout,
  .internal-settings-shell,
  .training-layout,
  .invoice-layout{
    grid-template-columns:1fr;
  }

  .internal-admin-create,
  .training-create-card,
  .invoice-send-card,
  .internal-settings-profile,
  .internal-settings-payment{
    border-right:0;
    border-left:0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .internal-info-form{
    grid-template-columns:1fr;
  }

  .internal-request-shell{
    grid-template-columns:1fr;
  }

  .internal-request-stack{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .training-calendar{
    grid-template-columns:repeat(2,minmax(150px,1fr));
  }

  .request-chat-message{
    width:100%;
  }

  .internal-user-row{
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .internal-role-form{
    align-items:center;
    flex-direction:row;
  }

  .internal-user-actions{
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:8px;
  }
}

@media(max-width:560px){
  .internal-topbar{
    position:static;
    justify-content:space-between;
    padding:12px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:rgba(8,11,22,.52);
    pointer-events:auto;
  }

  .internal-topbar-right{
    position:static;
    flex:0 1 auto;
    gap:8px;
  }

  .internal-topbar-request span{
    display:none;
  }

  .internal-chat-start{
    flex:1 1 auto;
  }

  .payment-method-options{
    grid-template-columns:1fr;
  }

  .training-calendar{
    grid-template-columns:1fr;
  }

  .training-calendar-toolbar{
    align-items:stretch;
    flex-direction:column;
  }

  .training-calendar-toolbar .timezone-picker{
    flex:0 0 auto;
    width:100%;
  }

  .training-form-row,
  .invoice-file-card{
    grid-template-columns:1fr;
  }

  .internal-panel-head,
  .internal-dashboard-hero{
    padding:10px 18px;
  }

  .internal-user-menu{
    position:relative;
    top:auto;
    right:auto;
    align-self:flex-end;
  }

  .chat-message-meta,
  .request-chat-head,
  .internal-settings-list div{
    align-items:flex-start;
    flex-direction:column;
  }

  .internal-settings-list dd{
    text-align:left;
  }
}

.review-marquee{
  position:relative;
  padding:48px 0 58px;
  overflow:hidden;
  background:#0b1020;
  border-top:1px solid rgba(255,255,255,.08);
}

.review-slider{
  width:100%;
  overflow:hidden;
  cursor:grab;
  user-select:none;
  touch-action:pan-y;
}

.review-slider:active{
  cursor:grabbing;
}

.review-track{
  display:flex;
  gap:22px;
  width:max-content;
  will-change:transform;
  transform:translateX(0);
}

.review-track.is-dragging{
  cursor:grabbing;
}

.review-card{
  width:330px;
  min-height:170px;
  flex:0 0 auto;
  padding:24px;
  border-radius:24px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 10px 35px rgba(0,0,0,.25);
}

.review-card strong{
  display:block;
  margin-bottom:14px;
  color:var(--accent-one);
  letter-spacing:.08em;
}

.review-card p{
  color:#e2e8f0;
  margin-bottom:18px;
}

.review-card span{
  color:#94a3b8;
  font-size:.9rem;
}

.review-placeholder{
  pointer-events:none;
}

.review-skeleton{
  width:100%;
  height:12px;
  margin-bottom:12px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.18),rgba(255,255,255,.08));
}

.review-skeleton-stars{
  width:112px;
  height:14px;
  margin-bottom:22px;
  background:linear-gradient(90deg,rgba(var(--accent-one-rgb),.24),rgba(var(--accent-two-rgb),.2));
}

.review-skeleton.short{
  width:72%;
}

.review-skeleton.author{
  width:42%;
  margin-top:24px;
  opacity:.65;
}

.trustpilot-action{
  display:flex;
  justify-content:center;
  margin-top:34px;
  padding:0 7%;
}

.trustpilot-btn{
  min-width:220px;
}


@media(max-width:620px){
  .review-marquee{
    padding:38px 0 48px;
  }

  .review-card{
    width:280px;
  }

}

/* Home page polish */
.home-page h1,
.home-page h2,
.home-page h3,
.home-page .eyebrow,
.home-page .section-label{
  letter-spacing:0;
}

.home-page .home-hero{
  isolation:isolate;
  overflow:hidden;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  gap:28px;
  align-items:stretch;
  min-height:auto;
  padding-top:54px;
  padding-bottom:62px;
}

.home-page .home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(8,11,22,.92) 0%,rgba(8,11,22,.58) 44%,rgba(8,11,22,.88) 100%),
    linear-gradient(180deg,rgba(8,11,22,.26),rgba(8,11,22,.96) 86%),
    url("../images/hero-chat-moderation.png") center 34% / cover no-repeat;
  opacity:.36;
  filter:saturate(.82) contrast(1.06);
  pointer-events:none;
}

.home-page .home-hero > :not(.glow){
  position:relative;
  z-index:2;
}

.home-page .home-hero .glow{
  z-index:1;
}

.home-page .hero-image-card,
.home-page .dashboard-card{
  min-height:560px;
  height:100%;
}

.home-page .hero-image-card{
  isolation:isolate;
  transform:translateZ(0);
}

.hero-image-badge{
  position:absolute;
  top:24px;
  left:24px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(8,11,22,.64);
  color:#e2e8f0;
  font-size:.9rem;
  font-weight:700;
  backdrop-filter:blur(16px);
}

.hero-image-badge i{
  color:var(--accent-one);
}

.home-page .hero-image-overlay{
  padding:42px;
}

.home-page .hero .hero-image-card h1{
  font-size:4.4rem;
  line-height:1;
  max-width:620px;
}

.home-page .hero-image-card .hero-text{
  font-size:1.08rem;
  line-height:1.7;
  color:#e5edf7;
}

.home-page .btn{
  gap:10px;
}

.home-page .btn.secondary{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.2);
  backdrop-filter:blur(12px);
}

.hero-mini-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

.hero-mini-row span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(15,23,42,.62);
  color:#dbeafe;
  font-size:.88rem;
  font-weight:700;
}

.hero-mini-row i{
  color:var(--accent-one);
}

.dashboard-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.dashboard-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(var(--accent-one-rgb),.75),rgba(var(--accent-two-rgb),.65),transparent);
}

.dashboard-kicker{
  margin-bottom:10px;
  color:var(--accent-one);
  font-size:.8rem;
  font-weight:800;
  text-transform:uppercase;
}

.dashboard-card h3{
  line-height:1.12;
}

.dashboard-card .message{
  position:relative;
  padding:20px;
}

.dashboard-card .message .message-title{
  display:block;
  margin-bottom:6px;
}

.dashboard-footer{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:auto;
}

.dashboard-footer span{
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:rgba(15,23,42,.58);
  color:#dbeafe;
  font-size:.9rem;
  font-weight:700;
}

.dashboard-footer i{
  color:var(--accent-one);
}

.home-page .stats{
  gap:16px;
  margin-top:4px;
}

.home-page .stats div{
  min-height:132px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:5px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));
}

.home-page .stats i{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:auto;
  border-radius:14px;
  background:rgba(var(--accent-one-rgb),.13);
  color:var(--accent-one);
}

.home-page .stats .stat-value{
  line-height:1.1;
}

.section-head{
  max-width:900px;
}

.section-head > p:not(.section-label){
  max-width:700px;
  color:#cbd5e1;
  font-size:1.06rem;
}

.centered-section-head{
  margin:0 auto;
  text-align:center;
}

.centered-section-head > p:not(.section-label){
  margin-left:auto;
  margin-right:auto;
}

.home-page .section h2{
  font-size:3.15rem;
  line-height:1.04;
  letter-spacing:0;
}

.home-page .service-section{
  padding-top:86px;
  padding-bottom:86px;
}

.service-grid{
  align-items:stretch;
}

.home-page .service-card{
  position:relative;
  min-height:260px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.home-page .service-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-top:1px solid rgba(var(--accent-one-rgb),.22);
  pointer-events:none;
}

.home-page .service-card .icon{
  width:50px;
  height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:24px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(var(--accent-one-rgb),.2),rgba(var(--accent-two-rgb),.18));
  color:var(--accent-one);
  font-size:1.25rem;
}

.home-page .service-card p{
  margin-top:auto;
}

/* Keep the job-requirement card copy consistently below each heading. */
.home-page .service-section .service-card p{
  margin-top:0;
}

.process-section{
  background:#0b1020;
}

.process-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:40px;
}

.process-card{
  min-height:250px;
  padding:30px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.035));
  box-shadow:0 18px 60px rgba(0,0,0,.22);
  transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;
}

.process-card:hover{
  transform:translateY(-6px);
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045));
  border-color:rgba(var(--accent-one-rgb),.42);
  box-shadow:
    0 0 22px rgba(var(--accent-one-rgb),.22),
    0 0 38px rgba(var(--accent-two-rgb),.12),
    0 18px 60px rgba(0,0,0,.28);
}

.process-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  margin-bottom:28px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--accent-one),var(--accent-two));
  color:#fff;
  font-weight:800;
}

.process-card span i{
  font-size:1.15rem;
}

.process-card h3{
  margin-bottom:12px;
  font-size:1.3rem;
}

.process-card p{
  color:#cbd5e1;
}

.application-section{
  align-items:stretch;
  gap:54px;
}

.apply-copy{
  max-width:560px;
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
}

.apply-mini-head{
  margin-bottom:18px;
  text-align:center;
}

.apply-mini-head .section-label{
  margin-bottom:8px;
}

.apply-mini-head h3{
  font-size:1.45rem;
  line-height:1.12;
}

.apply-highlights{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-auto-rows:1fr;
  gap:14px;
  margin:0;
  flex:1;
}

.apply-highlights div{
  min-height:0;
  padding:20px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.04));
  box-shadow:0 16px 44px rgba(0,0,0,.18);
  transition:.25s;
}

.apply-highlights div:hover{
  transform:translateY(-4px);
  border-color:rgba(var(--accent-one-rgb),.38);
  box-shadow:0 0 22px rgba(var(--accent-one-rgb),.16),0 18px 48px rgba(0,0,0,.24);
}

.apply-highlights i{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  border-radius:15px;
  background:rgba(var(--accent-one-rgb),.13);
  color:var(--accent-one);
  font-size:1.1rem;
}

.apply-highlights .highlight-title,
.apply-highlights span{
  display:block;
}

.apply-highlights .highlight-title{
  margin-bottom:4px;
}

.apply-highlights span{
  color:#cbd5e1;
  font-size:.92rem;
}

.apply-note-card{
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin-top:14px;
  padding:22px;
  border:1px solid rgba(var(--accent-one-rgb),.22);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(var(--accent-one-rgb),.12),rgba(var(--accent-two-rgb),.09));
  box-shadow:0 20px 60px rgba(0,0,0,.22);
}

.apply-note-card > i{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:16px;
  background:linear-gradient(135deg,var(--accent-one),var(--accent-two));
  color:#fff;
}

.apply-note-card .note-title,
.apply-note-card span{
  display:block;
}

.apply-note-card .note-title{
  margin-bottom:4px;
}

.apply-note-card span{
  color:#cbd5e1;
  font-size:.94rem;
}

.application-form{
  position:relative;
  overflow:hidden;
  border-color:rgba(var(--accent-one-rgb),.18);
  box-shadow:0 30px 90px rgba(0,0,0,.34);
  align-self:stretch;
  display:flex;
  flex-direction:column;
  height:100%;
}

.application-form::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(var(--accent-one-rgb),.75),rgba(var(--accent-two-rgb),.6),transparent);
}

.form-header{
  margin-bottom:22px;
}

.form-header .section-label{
  margin-bottom:10px;
}

.form-header h3{
  margin-bottom:8px;
}

.form-header p{
  color:#cbd5e1;
}

.application-form .textarea-wrap{
  flex:1;
  display:flex;
  min-height:130px;
}

.application-form .textarea-wrap textarea{
  flex:1;
}

.home-page .application-form input,
.home-page .application-form select,
.home-page .application-form textarea{
  border-color:rgba(255,255,255,.14);
  background:rgba(7,10,19,.72);
}

.home-page .application-form input:focus,
.home-page .application-form select:focus,
.home-page .application-form textarea:focus{
  border-color:var(--accent-one);
  box-shadow:0 0 0 4px rgba(var(--accent-one-rgb),.12);
}

.review-head{
  max-width:820px;
  margin:0 auto 34px;
  padding:0 7%;
  text-align:center;
}

.review-head h2{
  margin-bottom:14px;
  font-size:2.7rem;
  line-height:1.06;
  letter-spacing:0;
}

.review-head p:not(.section-label){
  color:#cbd5e1;
}

.home-page .review-card{
  width:350px;
  min-height:190px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.04));
}

.home-page .trustpilot-action{
  margin-top:38px;
}

@media(max-width:1100px){
  .home-page .home-hero{
    grid-template-columns:1fr;
  }

  .home-page .hero-image-card,
  .home-page .dashboard-card{
    min-height:500px;
  }

  .home-page .stats{
    grid-template-columns:repeat(3,1fr);
  }

  .process-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .home-page .home-hero,
  .home-page .section{
    padding-left:5%;
    padding-right:5%;
  }

  .home-page .hero-image-card{
    min-height:540px;
  }

  .home-page .dashboard-card{
    min-height:460px;
  }

  .home-page .hero-image-overlay{
    width:100%;
    padding:18px 22px 34px;
  }

  .home-page .hero .hero-image-card h1{
    font-size:2.7rem;
    line-height:1.04;
  }

  .home-page .hero-image-card .hero-text{
    margin:10px 0 14px;
    font-size:1rem;
    line-height:1.42;
  }

  .hero-mini-row{
    gap:8px;
    margin-top:12px;
  }

  .hero-mini-row span{
    min-height:36px;
    padding:7px 10px;
    font-size:.82rem;
  }

  .home-page .section h2{
    font-size:2.35rem;
  }

  .home-page .grid.four,
  .home-page .stats,
  .apply-highlights{
    grid-template-columns:1fr;
  }

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

  .process-card,
  .home-page .service-card{
    min-height:auto;
  }

  .review-head h2{
    font-size:2.15rem;
  }

  .home-page footer{
    flex-direction:column;
    gap:12px;
    text-align:center;
  }

  .home-page footer p{
    position:static;
    transform:none;
    white-space:normal;
    margin:12px 0;
  }

  .home-page .footer-links{
    flex-wrap:wrap;
  }
}

@media(max-width:460px){
  .home-page .hero-actions{
    flex-direction:column;
    gap:8px;
  }

  .home-page .hero-actions .btn{
    width:100%;
    min-height:44px;
    padding:10px 16px;
  }

  .hero-image-badge{
    left:18px;
    right:18px;
    justify-content:center;
    white-space:normal;
    text-align:center;
  }

  .home-page .hero .hero-image-card h1{
    font-size:2.2rem;
  }

  .home-page .hero-image-card{
    min-height:590px;
  }

  .home-page .hero-image-overlay{
    padding:16px 20px 32px;
  }

  .hero-mini-row{
    flex-direction:column;
    align-items:stretch;
    width:100%;
  }

  .hero-mini-row span{
    width:100%;
    justify-content:center;
  }

  .home-page .review-card{
    width:285px;
  }
}

/* Header light/dark toggle */
.header-actions{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:12px;
}

.private-flow-page .header-actions,
.thanks-page .header-actions{
  grid-column:3;
}

.theme-mode-toggle{
  position:relative;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#f8fafc;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;
}

.theme-mode-toggle:hover{
  transform:translateY(-2px);
  border-color:rgba(var(--accent-one-rgb),.58);
  background:rgba(var(--accent-one-rgb),.12);
  box-shadow:0 0 22px rgba(var(--accent-one-rgb),.18),0 12px 32px rgba(0,0,0,.2);
}

.theme-mode-toggle i{
  position:absolute;
  font-size:1rem;
  transition:opacity .22s ease,transform .22s ease;
}

.theme-mode-toggle .moon-icon{
  opacity:0;
  transform:rotate(-30deg) scale(.65);
}

body.light-mode .theme-mode-toggle .sun-icon{
  opacity:0;
  transform:rotate(30deg) scale(.65);
}

body.light-mode .theme-mode-toggle .moon-icon{
  opacity:1;
  transform:rotate(0) scale(1);
}

@media(max-width:980px){
  .nav{
    grid-template-columns:auto 1fr auto auto;
    gap:12px;
  }

  .mobile-menu-btn{
    order:3;
    grid-column:auto;
  }

  .header-actions{
    order:2;
    justify-self:end;
    gap:0;
  }

  .header-actions .header-login-btn{
    display:none !important;
  }

  .theme-mode-toggle{
    width:42px;
    height:42px;
  }
}

/* Optional bright home style */
body.light-mode.home-page{
  background:#edf2f7;
  color:#0f172a;
}

body.light-mode.home-page .nav{
  background:
    linear-gradient(180deg,rgba(226,232,240,.54),rgba(148,163,184,.16)),
    rgba(241,245,249,.4);
  border-bottom:1px solid rgba(71,85,105,.18);
  box-shadow:0 10px 34px rgba(15,23,42,.09);
}

body.light-mode.home-page nav{
  color:#475569;
}

body.light-mode.home-page nav a:hover{
  color:#0f172a;
}

body.light-mode.home-page .mobile-menu-btn,
body.light-mode.home-page .theme-mode-toggle{
  color:#0f172a;
}

body.light-mode.home-page .theme-mode-toggle{
  border-color:rgba(71,85,105,.24);
  background:
    linear-gradient(145deg,rgba(226,232,240,.34),rgba(100,116,139,.12)),
    rgba(148,163,184,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(15,23,42,.08),
    0 12px 34px rgba(15,23,42,.12);
}

body.light-mode.home-page .header-login-btn,
body.light-mode.home-page .mobile-login-link{
  color:#0f172a;
  border-color:rgba(71,85,105,.24);
  background:
    linear-gradient(145deg,rgba(226,232,240,.34),rgba(100,116,139,.12)),
    rgba(148,163,184,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(15,23,42,.08);
}

body.light-mode.home-page .home-hero{
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(237,242,247,.88),rgba(226,232,240,.94) 72%,#edf2f7 100%),
    radial-gradient(circle at 18% 24%,rgba(var(--accent-one-rgb),.13),transparent 34%),
    radial-gradient(circle at 86% 16%,rgba(var(--accent-two-rgb),.1),transparent 32%),
    #edf2f7;
}

body.light-mode.home-page .home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(237,242,247,.86) 0%,rgba(226,232,240,.46) 44%,rgba(237,242,247,.84) 100%),
    linear-gradient(180deg,rgba(237,242,247,.12),rgba(237,242,247,.9) 86%),
    url("../images/hero-chat-moderation.png") center 34% / cover no-repeat;
  opacity:.44;
  filter:saturate(.72) contrast(1.02);
}

body.light-mode.home-page .home-hero > :not(.glow){
  position:relative;
  z-index:2;
}

body.light-mode.home-page .glow{
  opacity:.14;
}

body.light-mode.home-page .hero-image-card,
body.light-mode.home-page .dashboard-card{
  border-color:rgba(71,85,105,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(15,23,42,.12),
    inset 1px 0 0 rgba(255,255,255,.18),
    0 28px 80px rgba(15,23,42,.2);
}

body.light-mode.home-page .hero-image-card{
  background:
    linear-gradient(145deg,rgba(226,232,240,.28),rgba(100,116,139,.1) 44%,rgba(248,250,252,.2)),
    rgba(148,163,184,.08);
  backdrop-filter:blur(20px) saturate(1.12);
}

body.light-mode.home-page .hero-image-card::before{
  background:
    linear-gradient(90deg,rgba(248,250,252,.96) 0%,rgba(248,250,252,.76) 43%,rgba(248,250,252,.2) 100%),
    linear-gradient(180deg,rgba(248,250,252,.04),rgba(248,250,252,.88) 84%),
    radial-gradient(circle at 20% 24%,rgba(var(--accent-one-rgb),.12),transparent 34%);
}

body.light-mode.home-page .hero-image{
  opacity:.74;
  filter:saturate(.72) contrast(1.04);
}

body.light-mode.home-page .hero-image-badge,
body.light-mode.home-page .hero-mini-row span{
  color:#1e293b;
  background:
    linear-gradient(145deg,rgba(226,232,240,.34),rgba(100,116,139,.12)),
    rgba(148,163,184,.08);
  border-color:rgba(71,85,105,.24);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(15,23,42,.08),
    0 12px 30px rgba(15,23,42,.1);
  backdrop-filter:blur(16px) saturate(1.08);
}

body.light-mode.home-page .hero .hero-image-card h1,
body.light-mode.home-page .dashboard-card h3,
body.light-mode.home-page .service-card h3,
body.light-mode.home-page .process-card h3,
body.light-mode.home-page .apply-highlights .highlight-title,
body.light-mode.home-page .apply-note-card .note-title,
body.light-mode.home-page .form-header h3,
body.light-mode.home-page .section h2{
  color:#0f172a;
}

body.light-mode.home-page .hero-image-card .hero-text,
body.light-mode.home-page .message p,
body.light-mode.home-page .mini,
body.light-mode.home-page .section-head > p:not(.section-label),
body.light-mode.home-page .service-card p,
body.light-mode.home-page .process-card p,
body.light-mode.home-page .apply-highlights span,
body.light-mode.home-page .apply-note-card span,
body.light-mode.home-page .form-header p,
body.light-mode.home-page .review-head p:not(.section-label){
  color:#475569;
}

body.light-mode.home-page .btn.secondary{
  color:#0f172a;
  background:
    linear-gradient(145deg,rgba(226,232,240,.34),rgba(100,116,139,.12)),
    rgba(148,163,184,.08);
  border-color:rgba(71,85,105,.24);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(15,23,42,.08),
    0 14px 34px rgba(15,23,42,.1);
  backdrop-filter:blur(16px) saturate(1.08);
}

body.light-mode.home-page .dashboard-card{
  color:#0f172a;
  background:
    linear-gradient(145deg,rgba(226,232,240,.3),rgba(100,116,139,.1) 46%,rgba(241,245,249,.2)),
    rgba(148,163,184,.08);
  backdrop-filter:blur(24px) saturate(1.1);
}

body.light-mode.home-page .dashboard-card::after{
  border-color:rgba(71,85,105,.14);
}

body.light-mode.home-page .dashboard-card .message,
body.light-mode.home-page .dashboard-footer span{
  color:#1e293b;
  background:
    linear-gradient(145deg,rgba(226,232,240,.28),rgba(100,116,139,.1)),
    rgba(148,163,184,.07);
  border-color:rgba(71,85,105,.2);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(15,23,42,.08),
    0 12px 26px rgba(15,23,42,.09);
  backdrop-filter:blur(14px) saturate(1.08);
}

body.light-mode.home-page .progress{
  background:rgba(148,163,184,.2);
}

body.light-mode.home-page .stats{
  color:#0f172a;
  border-color:rgba(71,85,105,.26);
  background:
    linear-gradient(145deg,rgba(226,232,240,.3),rgba(100,116,139,.1) 46%,rgba(241,245,249,.2)),
    rgba(148,163,184,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(15,23,42,.1),
    0 22px 60px rgba(15,23,42,.15);
  backdrop-filter:blur(22px) saturate(1.08);
}

body.light-mode.home-page .stats div{
  border-color:rgba(15,23,42,.08);
  background:transparent;
  box-shadow:none;
}

body.light-mode.home-page .stats div:hover{
  background:rgba(100,116,139,.1);
}

body.light-mode.home-page .stats span,
body.light-mode.home-page .form-label,
body.light-mode.home-page small{
  color:#64748b;
}

body.light-mode.home-page .section,
body.light-mode.home-page .application,
body.light-mode.home-page .footer-contact,
body.light-mode.home-page .review-marquee{
  background:#edf2f7;
}

body.light-mode.home-page .process-section,
body.light-mode.home-page .testimonials{
  background:#e4ebf2;
}

body.light-mode.home-page .section::before,
body.light-mode.home-page .application::before,
body.light-mode.home-page .testimonials::before,
body.light-mode.home-page .footer-contact::before{
  background:linear-gradient(90deg,transparent,rgba(15,23,42,.12),transparent);
}

body.light-mode.home-page .service-card,
body.light-mode.home-page .process-card,
body.light-mode.home-page .apply-highlights div,
body.light-mode.home-page .apply-note-card,
body.light-mode.home-page .application-form,
body.light-mode.home-page .review-card{
  color:#0f172a;
  border-color:rgba(71,85,105,.24);
  background:
    linear-gradient(145deg,rgba(226,232,240,.3),rgba(100,116,139,.1) 46%,rgba(241,245,249,.18)),
    rgba(148,163,184,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.44),
    inset 0 -1px 0 rgba(15,23,42,.1),
    inset 1px 0 0 rgba(255,255,255,.14),
    0 18px 48px rgba(15,23,42,.12);
  backdrop-filter:blur(18px) saturate(1.08);
}

body.light-mode.home-page .service-card:hover,
body.light-mode.home-page .process-card:hover,
body.light-mode.home-page .apply-highlights div:hover{
  border-color:rgba(var(--accent-one-rgb),.34);
  background:
    linear-gradient(145deg,rgba(226,232,240,.38),rgba(100,116,139,.14) 46%,rgba(241,245,249,.22)),
    rgba(148,163,184,.1);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.5),
    inset 0 -1px 0 rgba(15,23,42,.1),
    0 0 24px rgba(var(--accent-one-rgb),.12),
    0 18px 48px rgba(15,23,42,.15);
}

body.light-mode.home-page .application-form input,
body.light-mode.home-page .application-form select,
body.light-mode.home-page .application-form textarea{
  color:#0f172a;
  background:
    linear-gradient(180deg,rgba(241,245,249,.36),rgba(148,163,184,.1)),
    rgba(148,163,184,.06);
  border-color:rgba(71,85,105,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(15,23,42,.08);
  backdrop-filter:blur(12px);
}

body.light-mode.home-page .application-form input::placeholder,
body.light-mode.home-page .application-form textarea::placeholder{
  color:#64748b;
}

body.light-mode.home-page .checkbox-line{
  color:#334155;
}

body.light-mode.home-page footer{
  color:#64748b;
  background:#edf2f7;
  border-top-color:rgba(71,85,105,.14);
}

body.light-mode.home-page .nav nav{
  background:
    linear-gradient(180deg,rgba(226,232,240,.72),rgba(148,163,184,.2)),
    rgba(241,245,249,.52);
  border-color:rgba(71,85,105,.18);
  box-shadow:0 25px 70px rgba(15,23,42,.16);
}

/* Light mode refinements across public pages */
body.light-mode.home-page nav,
body.light-mode.about-page nav,
body.light-mode.login-page nav,
body.light-mode.legal-page nav,
body.light-mode.private-flow-page nav,
body.light-mode.thanks-page nav{
  background:transparent;
  border:0;
  box-shadow:none;
}

body.light-mode.home-page .nav a:not(.nav-btn),
body.light-mode.about-page .nav a:not(.nav-btn),
body.light-mode.login-page .nav a:not(.nav-btn),
body.light-mode.legal-page .nav a:not(.nav-btn),
body.light-mode.private-flow-page .nav a:not(.nav-btn),
body.light-mode.thanks-page .nav a:not(.nav-btn){
  color:#334155;
}

body.light-mode.home-page .nav a:not(.nav-btn):hover,
body.light-mode.about-page .nav a:not(.nav-btn):hover,
body.light-mode.login-page .nav a:not(.nav-btn):hover,
body.light-mode.legal-page .nav a:not(.nav-btn):hover,
body.light-mode.private-flow-page .nav a:not(.nav-btn):hover,
body.light-mode.thanks-page .nav a:not(.nav-btn):hover{
  color:#0f172a;
}

body.light-mode.home-page .stats{
  gap:14px;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}

body.light-mode.home-page .stats div{
  border:1px solid rgba(71,85,105,.24);
  border-radius:16px;
  background:
    linear-gradient(145deg,rgba(226,232,240,.3),rgba(100,116,139,.1) 46%,rgba(241,245,249,.18)),
    rgba(148,163,184,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.44),
    inset 0 -1px 0 rgba(15,23,42,.1),
    0 16px 42px rgba(15,23,42,.11);
  backdrop-filter:blur(18px) saturate(1.08);
}

body.light-mode.home-page .stats div:hover{
  border-color:rgba(var(--accent-one-rgb),.34);
  background:
    linear-gradient(145deg,rgba(226,232,240,.38),rgba(100,116,139,.14) 46%,rgba(241,245,249,.22)),
    rgba(148,163,184,.1);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.5),
    inset 0 -1px 0 rgba(15,23,42,.1),
    0 0 24px rgba(var(--accent-one-rgb),.12),
    0 18px 48px rgba(15,23,42,.15);
}

body.light-mode.about-page,
body.light-mode.login-page,
body.light-mode.legal-page,
body.light-mode.private-flow-page,
body.light-mode.thanks-page{
  background:#edf2f7;
  color:#0f172a;
}

body.light-mode.about-page .nav,
body.light-mode.login-page .nav,
body.light-mode.legal-page .nav,
body.light-mode.private-flow-page .nav,
body.light-mode.thanks-page .nav{
  background:
    linear-gradient(180deg,rgba(226,232,240,.54),rgba(148,163,184,.16)),
    rgba(241,245,249,.4);
  border-bottom:1px solid rgba(71,85,105,.18);
  box-shadow:0 10px 34px rgba(15,23,42,.09);
}

body.light-mode.about-page .mobile-menu-btn,
body.light-mode.login-page .mobile-menu-btn,
body.light-mode.legal-page .mobile-menu-btn,
body.light-mode.private-flow-page .mobile-menu-btn,
body.light-mode.thanks-page .mobile-menu-btn,
body.light-mode.about-page .theme-mode-toggle,
body.light-mode.login-page .theme-mode-toggle,
body.light-mode.legal-page .theme-mode-toggle,
body.light-mode.private-flow-page .theme-mode-toggle,
body.light-mode.thanks-page .theme-mode-toggle{
  color:#0f172a;
}

body.light-mode.about-page .theme-mode-toggle,
body.light-mode.login-page .theme-mode-toggle,
body.light-mode.legal-page .theme-mode-toggle,
body.light-mode.private-flow-page .theme-mode-toggle,
body.light-mode.thanks-page .theme-mode-toggle,
body.light-mode.about-page .header-login-btn,
body.light-mode.login-page .header-login-btn,
body.light-mode.legal-page .header-login-btn,
body.light-mode.about-page .mobile-login-link,
body.light-mode.login-page .mobile-login-link,
body.light-mode.legal-page .mobile-login-link{
  color:#0f172a;
  border-color:rgba(71,85,105,.24);
  background:
    linear-gradient(145deg,rgba(226,232,240,.34),rgba(100,116,139,.12)),
    rgba(148,163,184,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(15,23,42,.08);
}

body.light-mode.about-page .about-section,
body.light-mode.login-page .login-section,
body.light-mode.legal-page .privacy-page,
body.light-mode.about-page footer,
body.light-mode.login-page footer,
body.light-mode.legal-page footer,
body.light-mode.private-flow-page footer,
body.light-mode.thanks-page footer{
  background:#edf2f7;
}

body.light-mode.about-page .darker-block{
  background:#e4ebf2;
}

body.light-mode.about-page .about-section::before,
body.light-mode.login-page .section::before{
  background:linear-gradient(90deg,transparent,rgba(15,23,42,.12),transparent);
}

body.light-mode.about-page .about-section h2,
body.light-mode.about-page .about-cta h2,
body.light-mode.about-page .about-card h3,
body.light-mode.about-page .step-card h3,
body.light-mode.about-page .faq-card h3,
body.light-mode.login-page .login-header h1,
body.light-mode.login-page .login-modal-card h2,
body.light-mode.legal-page .privacy-box h1,
body.light-mode.legal-page .privacy-content h2{
  color:#0f172a;
}

body.light-mode.about-page .about-lead,
body.light-mode.about-page .about-card p,
body.light-mode.about-page .step-card p,
body.light-mode.about-page .faq-card p,
body.light-mode.about-page .about-cta p,
body.light-mode.login-page .login-modal-text,
body.light-mode.legal-page .privacy-content p{
  color:#475569;
}

body.light-mode.about-page .about-card,
body.light-mode.about-page .step-card,
body.light-mode.about-page .faq-card,
body.light-mode.about-page .requirements-box,
body.light-mode.about-page .about-cta,
body.light-mode.login-page .login-card,
body.light-mode.login-page .login-modal-card,
body.light-mode.legal-page .privacy-content{
  color:#0f172a;
  border:1px solid rgba(71,85,105,.24);
  background:
    linear-gradient(145deg,rgba(226,232,240,.3),rgba(100,116,139,.1) 46%,rgba(241,245,249,.18)),
    rgba(148,163,184,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.44),
    inset 0 -1px 0 rgba(15,23,42,.1),
    inset 1px 0 0 rgba(255,255,255,.14),
    0 18px 48px rgba(15,23,42,.12);
  backdrop-filter:blur(18px) saturate(1.08);
}

body.light-mode.legal-page .privacy-box{
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}

body.light-mode.legal-page .privacy-btn{
  display:flex;
  width:max-content;
  margin:0 auto;
}

body.light-mode.about-page .about-card:hover,
body.light-mode.about-page .step-card:hover,
body.light-mode.about-page .faq-card:hover{
  border-color:rgba(var(--accent-one-rgb),.34);
  background:
    linear-gradient(145deg,rgba(226,232,240,.38),rgba(100,116,139,.14) 46%,rgba(241,245,249,.22)),
    rgba(148,163,184,.1);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.5),
    inset 0 -1px 0 rgba(15,23,42,.1),
    0 0 24px rgba(var(--accent-one-rgb),.12),
    0 18px 48px rgba(15,23,42,.15);
}

body.light-mode.about-page .requirements-box li,
body.light-mode.login-page .login-remember,
body.light-mode.login-page .checkbox-line{
  color:#334155;
}

body.light-mode.login-page .login-card input:not([type="checkbox"]),
body.light-mode.login-page .login-card input:not([type="checkbox"]):focus,
body.light-mode.login-page .login-card input:not([type="checkbox"]):hover,
body.light-mode.login-page .login-card input:not([type="checkbox"]):active,
body.light-mode.login-page .login-card input:not([type="checkbox"]):valid,
body.light-mode.login-page .login-card .password-field input,
body.light-mode.login-page .login-card .password-field input:focus,
body.light-mode.login-page .login-card .password-field input:hover,
body.light-mode.login-page .login-card .password-field input:active,
body.light-mode.login-page .login-card .password-field input:valid,
body.light-mode.login-page .login-modal-card input,
body.light-mode.login-page .login-modal-card input:focus{
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  caret-color:#0f172a !important;
  background:
    linear-gradient(180deg,rgba(241,245,249,.36),rgba(148,163,184,.1)),
    rgba(148,163,184,.06) !important;
  border-color:rgba(71,85,105,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(15,23,42,.08);
  color-scheme:light;
}

body.light-mode.login-page #benutzername,
body.light-mode.login-page #passwort,
body.light-mode.login-page #benutzername:focus,
body.light-mode.login-page #passwort:focus,
body.light-mode.login-page #benutzername:hover,
body.light-mode.login-page #passwort:hover,
body.light-mode.login-page #benutzername:active,
body.light-mode.login-page #passwort:active{
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  caret-color:#0f172a !important;
}

body.light-mode.login-page #benutzername:-webkit-autofill,
body.light-mode.login-page #passwort:-webkit-autofill,
body.light-mode.login-page #benutzername:-webkit-autofill:hover,
body.light-mode.login-page #passwort:-webkit-autofill:hover,
body.light-mode.login-page #benutzername:-webkit-autofill:focus,
body.light-mode.login-page #passwort:-webkit-autofill:focus,
body.light-mode.login-page #benutzername:-webkit-autofill:active,
body.light-mode.login-page #passwort:-webkit-autofill:active{
  -webkit-box-shadow:0 0 0 1000px rgba(226,232,240,.72) inset !important;
  -webkit-text-fill-color:#0f172a !important;
  caret-color:#0f172a !important;
}

body.light-mode.login-page .login-card input:not([type="checkbox"])::placeholder,
body.light-mode.login-page .login-modal-card input::placeholder,
body.light-mode.login-page #benutzername::placeholder,
body.light-mode.login-page #passwort::placeholder,
body.light-mode.login-page #benutzername::-webkit-input-placeholder,
body.light-mode.login-page #passwort::-webkit-input-placeholder{
  color:#64748b !important;
  -webkit-text-fill-color:#64748b !important;
}

body.light-mode.login-page .password-field .password-toggle{
  color:#1e293b;
  background:rgba(100,116,139,.12);
}

body.light-mode.login-page .password-field .password-toggle i{
  color:#1e293b;
}

body.light-mode.login-page .login-modal{
  background:rgba(226,232,240,.68);
}

body.light-mode.legal-page .privacy-content a{
  color:var(--accent-one);
}

body.light-mode.private-flow-page .private-page,
body.light-mode.thanks-page .hero{
  background:
    radial-gradient(circle at 20% 20%,rgba(var(--accent-one-rgb),.13),transparent 34%),
    radial-gradient(circle at 86% 16%,rgba(var(--accent-two-rgb),.1),transparent 32%),
    #edf2f7 !important;
}

body.light-mode.private-flow-page .private-wrap h1,
body.light-mode.thanks-page .hero h1{
  color:#0f172a;
}

body.light-mode.private-flow-page .private-lead,
body.light-mode.private-flow-page .private-note,
body.light-mode.private-flow-page .checkbox-line,
body.light-mode.thanks-page .hero-text{
  color:#475569 !important;
}

body.light-mode.private-flow-page .private-form{
  color:#0f172a;
  border:1px solid rgba(71,85,105,.24);
  background:
    linear-gradient(145deg,rgba(226,232,240,.3),rgba(100,116,139,.1) 46%,rgba(241,245,249,.18)),
    rgba(148,163,184,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.44),
    inset 0 -1px 0 rgba(15,23,42,.1),
    inset 1px 0 0 rgba(255,255,255,.14),
    0 18px 48px rgba(15,23,42,.12);
  backdrop-filter:blur(18px) saturate(1.08);
}

body.light-mode.private-flow-page .private-form h2,
body.light-mode.private-flow-page .upload-box strong{
  color:#0f172a;
}

body.light-mode.private-flow-page .private-note,
body.light-mode.private-flow-page .upload-box{
  border-color:rgba(71,85,105,.22);
  background:
    linear-gradient(145deg,rgba(226,232,240,.28),rgba(100,116,139,.09) 46%,rgba(241,245,249,.16)),
    rgba(148,163,184,.07);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(15,23,42,.09);
  backdrop-filter:blur(14px) saturate(1.08);
}

body.light-mode.private-flow-page .checkbox-line,
body.light-mode.home-page .checkbox-line,
body.light-mode.login-page .checkbox-line{
  color:#334155 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}

body.light-mode.private-flow-page .upload-box span{
  color:#64748b;
}

body.light-mode.private-flow-page .upload-box:hover{
  border-color:rgba(var(--accent-one-rgb),.42);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.5),
    0 0 24px rgba(var(--accent-one-rgb),.12),
    0 18px 48px rgba(15,23,42,.14);
}

body.light-mode.private-flow-page input,
body.light-mode.private-flow-page select,
body.light-mode.private-flow-page textarea{
  color:#0f172a;
  background:
    linear-gradient(180deg,rgba(241,245,249,.36),rgba(148,163,184,.1)),
    rgba(148,163,184,.06);
  border-color:rgba(71,85,105,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(15,23,42,.08);
}

body.light-mode.private-flow-page input::placeholder,
body.light-mode.private-flow-page textarea::placeholder{
  color:#64748b;
}

body.light-mode.private-flow-page footer,
body.light-mode.thanks-page footer{
  color:#64748b;
  border-top-color:rgba(71,85,105,.14);
}

body.light-mode.home-page .review-marquee{
  background:#edf2f7;
  border-top-color:rgba(71,85,105,.14);
}

body.light-mode.home-page .review-slider{
  padding:10px 0 18px;
}

body.light-mode.home-page .review-track{
  gap:24px;
}

body.light-mode.home-page .review-card{
  border-color:rgba(71,85,105,.22);
  background:
    linear-gradient(145deg,rgba(226,232,240,.28),rgba(100,116,139,.09) 46%,rgba(241,245,249,.16)),
    rgba(148,163,184,.07);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(15,23,42,.09),
    0 9px 22px rgba(15,23,42,.1);
}

body.light-mode.home-page .review-skeleton{
  background:linear-gradient(90deg,rgba(71,85,105,.12),rgba(71,85,105,.24),rgba(71,85,105,.12));
}

body.light-mode.home-page .review-skeleton-stars{
  background:linear-gradient(90deg,rgba(var(--accent-one-rgb),.34),rgba(var(--accent-two-rgb),.24));
}

body.light-mode.about-page footer,
body.light-mode.login-page footer,
body.light-mode.legal-page footer{
  color:#64748b;
  border-top-color:rgba(71,85,105,.14);
}

@media(max-width:980px){
  body.light-mode.home-page .nav nav,
  body.light-mode.about-page .nav nav,
  body.light-mode.login-page .nav nav,
  body.light-mode.legal-page .nav nav,
  body.light-mode.private-flow-page .nav nav,
  body.light-mode.thanks-page .nav nav{
    background:
      linear-gradient(180deg,rgba(226,232,240,.72),rgba(148,163,184,.2)),
      rgba(241,245,249,.52);
    border:1px solid rgba(71,85,105,.18);
    box-shadow:0 25px 70px rgba(15,23,42,.16);
  }
}

/* Keep normal header links text-only in light mode */
body.light-mode .nav nav,
body.light-mode .nav nav a:not(.nav-btn){
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

body.light-mode .nav nav a:not(.nav-btn){
  padding:0;
  color:#334155;
}

body.light-mode .nav nav a:not(.nav-btn):hover{
  color:#0f172a;
}

@media(max-width:980px){
  body.light-mode .nav nav.is-open{
    background:
      linear-gradient(145deg,rgba(226,232,240,.28),rgba(100,116,139,.1) 46%,rgba(241,245,249,.16)),
      rgba(148,163,184,.08) !important;
    border:1px solid rgba(71,85,105,.18) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.42),
      0 18px 48px rgba(15,23,42,.12) !important;
    backdrop-filter:blur(18px) saturate(1.08);
  }
}

/* Match login inputs with the light application form fields */
body.light-mode.login-page .login-card input:not([type="checkbox"]),
body.light-mode.login-page .login-card input:not([type="checkbox"]):focus,
body.light-mode.login-page .login-card input:not([type="checkbox"]):hover,
body.light-mode.login-page .login-card input:not([type="checkbox"]):active,
body.light-mode.login-page .login-card input:not([type="checkbox"]):valid,
body.light-mode.login-page .login-card .password-field input,
body.light-mode.login-page .login-card .password-field input:focus,
body.light-mode.login-page .login-card .password-field input:hover,
body.light-mode.login-page .login-card .password-field input:active,
body.light-mode.login-page .login-card .password-field input:valid,
body.light-mode.login-page #benutzername,
body.light-mode.login-page #passwort,
body.light-mode.login-page #benutzername:focus,
body.light-mode.login-page #passwort:focus,
body.light-mode.login-page #benutzername:hover,
body.light-mode.login-page #passwort:hover,
body.light-mode.login-page #benutzername:active,
body.light-mode.login-page #passwort:active{
  min-height:52px;
  padding:16px 17px;
  border:1px solid rgba(71,85,105,.22) !important;
  border-radius:16px;
  background:
    linear-gradient(180deg,rgba(241,245,249,.36),rgba(148,163,184,.1)),
    rgba(148,163,184,.06) !important;
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  caret-color:#0f172a !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(15,23,42,.08) !important;
  backdrop-filter:blur(12px) !important;
}

body.light-mode.login-page .password-field input,
body.light-mode.login-page .login-password-field input,
body.light-mode.login-page #passwort{
  padding-right:52px !important;
}

body.light-mode.login-page .login-card input:not([type="checkbox"]):focus,
body.light-mode.login-page .login-card .password-field input:focus,
body.light-mode.login-page #benutzername:focus,
body.light-mode.login-page #passwort:focus{
  border-color:var(--accent-one) !important;
  box-shadow:0 0 0 4px rgba(var(--accent-one-rgb),.12) !important;
}

body.light-mode.login-page .password-field .password-toggle{
  width:36px;
  height:36px;
  right:10px;
  border:1px solid rgba(71,85,105,.2);
  border-radius:12px;
  background:
    linear-gradient(145deg,rgba(241,245,249,.52),rgba(148,163,184,.18)),
    rgba(148,163,184,.08);
  color:#334155;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.48),
    inset 0 -1px 0 rgba(15,23,42,.08);
  backdrop-filter:blur(10px);
}

body.light-mode.login-page .password-field .password-toggle:hover{
  border-color:rgba(var(--accent-one-rgb),.34);
  background:
    linear-gradient(145deg,rgba(226,232,240,.46),rgba(var(--accent-one-rgb),.12)),
    rgba(148,163,184,.1);
}

body.light-mode.login-page .password-field .password-toggle i{
  color:#334155;
}

@media(max-width:980px){
  body.legal-page footer,
  body.private-flow-page footer,
  body.about-page footer,
  body.login-page footer,
  body.thanks-page footer{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    text-align:center !important;
  }

  body.legal-page footer p,
  body.private-flow-page footer p,
  body.about-page footer p,
  body.login-page footer p,
  body.thanks-page footer p{
    position:static !important;
    left:auto !important;
    transform:none !important;
    white-space:normal !important;
    width:100% !important;
    margin:6px 0 !important;
    text-align:center !important;
  }

  body.legal-page .footer-links,
  body.private-flow-page .footer-links,
  body.about-page .footer-links,
  body.login-page .footer-links,
  body.thanks-page .footer-links{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:14px 18px !important;
    width:100% !important;
  }
}
