:root{
  --army-green:#18392b;
  --army-green-2:#274d3b;
  --army-green-3:#355a48;
  --army-gold:#d6b46a;
  --army-gold-soft:#ead8ae;
  --dark-bg:#08110d;
  --dark-bg-2:#0d1713;
  --card-dark:rgba(255,255,255,.05);
  --card-dark-2:rgba(255,255,255,.08);
  --border-dark:rgba(255,255,255,.11);
  --text-soft-dark:rgba(255,255,255,.72);
  --light-bg:#f4f8f5;
  --light-bg-2:#eef3ef;
  --card-light:rgba(255,255,255,.88);
  --border-light:rgba(20,35,28,.09);
  --text-soft-light:rgba(20,35,28,.74);
  --shadow-dark:0 18px 50px rgba(0,0,0,.22);
  --shadow-light:0 16px 40px rgba(17,34,26,.08);
  --radius-xl:1.5rem;
  --radius-2xl:2rem;
  --section-gap:2.8rem;
  --nav-height:84px;
  --font-display:'Playfair Display',serif;
  --font-body:'Lato',sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  font-weight:400;
  letter-spacing:.015em;
  background:
    radial-gradient(circle at top left, rgba(66,108,82,.32), transparent 28%),
    radial-gradient(circle at top right, rgba(214,180,106,.12), transparent 22%),
    linear-gradient(180deg, var(--dark-bg) 0%, var(--dark-bg-2) 100%);
  color:#edf3ef;
  overflow-x:hidden;
}
html[data-bs-theme="light"] body{
  background:
    radial-gradient(circle at top left, rgba(24,57,43,.08), transparent 28%),
    radial-gradient(circle at top right, rgba(214,180,106,.16), transparent 24%),
    linear-gradient(180deg, var(--light-bg) 0%, var(--light-bg-2) 100%);
  color:#18231d;
}

img{max-width:100%;height:auto}
section{padding:var(--section-gap) 0;scroll-margin-top:calc(var(--nav-height) + 18px)}
.muted{color:var(--text-soft-dark)}
html[data-bs-theme="light"] .muted{color:var(--text-soft-light)}

h1,h2,h3,h4,h5,h6,.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:-.01em;
  color:#fff;
}
html[data-bs-theme="light"] h1,
html[data-bs-theme="light"] h2,
html[data-bs-theme="light"] h3,
html[data-bs-theme="light"] h4,
html[data-bs-theme="light"] h5,
html[data-bs-theme="light"] h6{
  color:#18231d;
}
.display-4{font-size:3.25rem;font-weight:800;letter-spacing:-.02em}
.display-5{font-size:2.5rem;font-weight:800;letter-spacing:-.015em}
h2{font-size:2rem;font-weight:750}
h3{font-size:1.6rem;font-weight:700}
h4{font-size:1.35rem;font-weight:700}
h5{font-size:1.1rem;font-weight:700;letter-spacing:.02em}
p{font-size:1rem;line-height:1.65;font-weight:400}
.lead{font-size:1.1rem;font-weight:500;line-height:1.75}

/* Loader */
#pageLoader{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg, var(--dark-bg) 0%, var(--dark-bg-2) 100%);
  transition:opacity .4s ease, visibility .4s ease;
}
#pageLoader.hidden{opacity:0;visibility:hidden}
html[data-bs-theme="light"] #pageLoader{
  background:linear-gradient(180deg, var(--light-bg) 0%, var(--light-bg-2) 100%);
}
.loader-wrap{text-align:center}
.loader-emblem{
  width:78px;height:78px;border-radius:22px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--army-green),var(--army-green-3));
  color:#fff;font-size:1.8rem;box-shadow:var(--shadow-dark);
  margin-bottom:1rem;position:relative;overflow:hidden;
}
.loader-emblem::after{
  content:"";position:absolute;inset:-40%;
  background:conic-gradient(from 0deg, transparent, rgba(255,255,255,.32), transparent);
  animation:spin 1.4s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.loader-text{font-weight:700;letter-spacing:.04em}

/* Navbar */
.navbar-custom{
  min-height:var(--nav-height);
  backdrop-filter:blur(14px);
  background:rgba(8,17,13,.78);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;
}
html[data-bs-theme="light"] .navbar-custom{
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(0,0,0,.06);
  box-shadow:0 8px 24px rgba(17,34,26,.04);
}
.brand-icon{
  width:48px;height:48px;border-radius:16px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--army-green),var(--army-green-3));
  color:#fff;font-size:1.2rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  flex:0 0 48px;
}
.navbar .nav-link{
  color:rgba(255,255,255,.76)!important;
  font-weight:600;
  position:relative;
  padding:.7rem .9rem!important;
  transition:color .2s ease;
}
html[data-bs-theme="light"] .navbar .nav-link{color:rgba(24,35,29,.74)!important}
.navbar .nav-link::after{
  content:"";
  position:absolute;
  left:.9rem;right:.9rem;bottom:.35rem;height:2px;
  background:linear-gradient(90deg,var(--army-gold),var(--army-gold-soft));
  border-radius:999px;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}
.navbar .nav-link:hover,
.navbar .nav-link.active{color:#fff!important}
html[data-bs-theme="light"] .navbar .nav-link:hover,
html[data-bs-theme="light"] .navbar .nav-link.active{color:#18231d!important}
.navbar .nav-link:hover::after,
.navbar .nav-link.active::after{transform:scaleX(1)}
.navbar-toggler{color:#fff}
html[data-bs-theme="light"] .navbar-toggler{color:#18231d}

/* Buttons */
.btn-army{
  background:linear-gradient(135deg,var(--army-green),var(--army-green-2));
  color:#fff;border:none;border-radius:.95rem;
  padding:.95rem 1.2rem;font-weight:700;
}
.btn-army:hover{color:#fff;opacity:.97}
.btn-outline-army{
  border:1px solid rgba(214,180,106,.35);
  color:var(--army-gold);background:transparent;
  border-radius:.95rem;padding:.95rem 1.2rem;font-weight:700;
}
.btn-outline-army:hover{background:rgba(214,180,106,.1);color:#fff}
html[data-bs-theme="light"] .btn-outline-army:hover{color:#18231d}
.lang-btn,.theme-btn{
  border-color:rgba(255,255,255,.25)!important;
  color:#fff!important;
  border-radius:999px!important;
  min-width:52px;
  font-weight:700;
}
html[data-bs-theme="light"] .lang-btn,
html[data-bs-theme="light"] .theme-btn{
  border-color:rgba(24,35,29,.16)!important;
  color:#18231d!important;
  background:#fff;
}
.lang-btn.active{
  background:linear-gradient(135deg,var(--army-green),var(--army-green-2))!important;
  border-color:transparent!important;
  color:#fff!important;
}

.hero{
  padding:8rem 0 5rem;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(8,17,13,.62), rgba(8,17,13,.18));
  pointer-events:none;
}
html[data-bs-theme="light"] .hero::before{
  background:linear-gradient(90deg, rgba(255,255,255,.72), rgba(255,255,255,.18));
}
.hero-panel{position:relative;z-index:1}
.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.45rem .9rem;border-radius:999px;
  border:1px solid rgba(214,180,106,.28);
  background:rgba(214,180,106,.1);
  color:var(--army-gold);
  font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.section-title{max-width:840px;margin-bottom:2.5rem}
.gradient-text{
  background:linear-gradient(90deg,#fff 0%,var(--army-gold) 85%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
html[data-bs-theme="light"] .gradient-text{
  background:linear-gradient(90deg,#122119 0%,#7b6431 85%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}

.card-surface,
.info-card,.device-card,.stat-card,.feature-card,.faq-card,
.news-card,.testimonial-card,.footer-card,.mock-card,.contact-card,
.auth-card,.auth-mini-card,.newsletter-box{
  border-radius:var(--radius-xl);
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.05);
  box-shadow:var(--shadow-dark);
}
html[data-bs-theme="light"] .card-surface,
html[data-bs-theme="light"] .info-card,
html[data-bs-theme="light"] .device-card,
html[data-bs-theme="light"] .stat-card,
html[data-bs-theme="light"] .feature-card,
html[data-bs-theme="light"] .faq-card,
html[data-bs-theme="light"] .news-card,
html[data-bs-theme="light"] .testimonial-card,
html[data-bs-theme="light"] .footer-card,
html[data-bs-theme="light"] .mock-card,
html[data-bs-theme="light"] .contact-card,
html[data-bs-theme="light"] .auth-card,
html[data-bs-theme="light"] .auth-mini-card,
html[data-bs-theme="light"] .newsletter-box{
  background:var(--card-light);
  border-color:var(--border-light);
  box-shadow:var(--shadow-light);
}

.info-card,.device-card,.stat-card,.feature-card,.faq-card,.news-card,.testimonial-card,.footer-card,.contact-card{padding:1.45rem;height:100%}
.mock-card{padding:1.3rem}
.icon-wrap{
  width:56px;height:56px;border-radius:18px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg, rgba(39,86,64,.95), rgba(70,113,88,.95));
  color:#fff;font-size:1.35rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  margin-bottom:1rem;
}
.device-badge,.role-badge{
  display:inline-block;padding:.35rem .78rem;border-radius:999px;
  background:rgba(214,180,106,.12);
  border:1px solid rgba(214,180,106,.22);
  color:var(--army-gold);font-size:.8rem;font-weight:700;margin-bottom:1rem;
}
.stat-number{font-size:2rem;font-weight:800;line-height:1;margin-bottom:.35rem}
.small-label{font-size:.85rem;color:var(--text-soft-dark)}
html[data-bs-theme="light"] .small-label{color:var(--text-soft-light)}
.check-list,.footer-links{padding-left:1.1rem;margin-bottom:0}
.check-list li,.footer-links li{margin-bottom:.55rem}
.metric-box{
  padding:1rem;border-radius:1rem;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}
html[data-bs-theme="light"] .metric-box{
  background:rgba(24,35,29,.03);
  border-color:rgba(24,35,29,.08);
}
.progress-thin{
  height:.55rem;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;
}
html[data-bs-theme="light"] .progress-thin{background:rgba(24,35,29,.08)}
.progress-thin>span{
  display:block;height:100%;
  background:linear-gradient(90deg,var(--army-gold),var(--army-gold-soft));
  border-radius:999px;
}

.chip{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.46rem .85rem;border-radius:999px;
  background:rgba(84,195,138,.12);
  border:1px solid rgba(84,195,138,.18);
  color:#9ee6ba;font-size:.83rem;font-weight:600;
}
html[data-bs-theme="light"] .chip{
  color:#1f5a38;background:rgba(31,90,56,.08);border-color:rgba(31,90,56,.12);
}

/* Interactive card */
.interactive-card{
  transform-style:preserve-3d;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  will-change:transform;
  cursor:pointer;
}
.interactive-card:hover{box-shadow:0 28px 70px rgba(0,0,0,.28)}
html[data-bs-theme="light"] .interactive-card:hover{box-shadow:0 22px 50px rgba(17,34,26,.14)}
.interactive-card .card-pop{transform:translateZ(22px)}
.interactive-glow{
  position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(214,180,106,.16), transparent 34%);
  opacity:0;transition:opacity .2s ease;
}
.interactive-card:hover .interactive-glow{opacity:1}

.mock-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.mock-dots span{
  width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:.35rem;
  background:rgba(255,255,255,.22);
}
html[data-bs-theme="light"] .mock-dots span{background:rgba(24,35,29,.16)}

.testimonial-avatar{
  width:58px;height:58px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--army-green),var(--army-green-3));
  color:#fff;font-weight:800;flex:0 0 58px;
  border:2px solid rgba(214,180,106,.26);
}
.stars{color:var(--army-gold)}

.accordion-item{border:none!important;background:transparent!important}
.accordion-button{
  border-radius:1rem!important;
  background:transparent!important;
  color:inherit!important;
  font-weight:700;
  box-shadow:none!important;
  padding:1.1rem 1.2rem;
}
.accordion-button:not(.collapsed){color:inherit;background:transparent}
.accordion-body{padding-top:0;padding-bottom:1rem;color:inherit}

.news-img{
  height:180px;border-radius:1rem;
  background:
    linear-gradient(135deg, rgba(24,57,43,.92), rgba(214,180,106,.35)),
    radial-gradient(circle at center, rgba(255,255,255,.16), transparent 40%);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:2rem;
  margin-bottom:1rem;
}

/* Forms */
.form-control,.form-select{
  border-radius:.9rem;padding:.82rem .95rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:inherit;
  transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease, background .25s ease;
}
.form-control::placeholder{color:rgba(255,255,255,.45)}
html[data-bs-theme="light"] .form-control,
html[data-bs-theme="light"] .form-select{
  background:#fff;border-color:rgba(24,35,29,.12);color:#18231d;
}
html[data-bs-theme="light"] .form-control::placeholder{color:rgba(24,35,29,.42)}
.form-control:focus,.form-select:focus{
  box-shadow:0 0 0 .2rem rgba(214,180,106,.18);
  border-color:rgba(214,180,106,.45);
  transform:translateY(-1px);
}

.input-wrap{position:relative;margin-bottom:1rem}
.input-hint{font-size:.85rem;color:rgba(255,255,255,.65)}
html[data-bs-theme="light"] .input-hint{color:rgba(24,35,29,.65)}

.newsletter-box{padding:1rem}
.social-link{
  width:42px;height:42px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;color:#fff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.1);
  transition:transform .2s ease, background .2s ease, color .2s ease;
}
.social-link:hover{transform:translateY(-2px);background:rgba(214,180,106,.14);color:var(--army-gold)}
html[data-bs-theme="light"] .social-link{
  color:#18231d;background:#fff;border-color:rgba(24,35,29,.08);
}
.footer-note{font-size:.93rem;color:var(--text-soft-dark)}
html[data-bs-theme="light"] .footer-note{color:var(--text-soft-light)}
.divider-soft{border-color:rgba(255,255,255,.08)!important}
html[data-bs-theme="light"] .divider-soft{border-color:rgba(24,35,29,.08)!important}
.lang-hidden{display:none!important}

/* Reveal */
.reveal{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .7s ease, transform .7s ease;
  will-change:opacity,transform;
}
.reveal-left{transform:translateX(-36px)}
.reveal-right{transform:translateX(36px)}
.reveal.zoom{transform:scale(.96)}
.reveal.is-visible{
  opacity:1;
  transform:none;
}

/* Back to top */
#backToTop{
  position:fixed;right:20px;bottom:20px;z-index:900;
  width:48px;height:48px;border:none;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--army-green),var(--army-green-2));
  color:#fff;box-shadow:var(--shadow-dark);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all .25s ease;
}
#backToTop.show{opacity:1;visibility:visible;transform:translateY(0)}
#backToTop:hover{opacity:.95}

/* Auth pages */
.page-main{min-height:calc(100vh - 220px);padding-top:calc(var(--nav-height) + 24px)}
.auth-section{padding:3rem 0 5rem}
.auth-shell{max-width:1150px;margin:0 auto}
.auth-card{overflow:hidden}
.auth-side{
  padding:2rem;
  min-height:100%;
  background:
    linear-gradient(135deg, rgba(24,57,43,.95), rgba(61,89,73,.85)),
    radial-gradient(circle at top right, rgba(214,180,106,.25), transparent 30%);
}
.auth-form-pane{padding:2rem}
.auth-tabs{display:flex;gap:.75rem;margin-bottom:1.5rem}
.auth-tab-btn{
  flex:1;border:none;border-radius:999px;padding:.85rem 1rem;font-weight:700;color:#fff;
  background:rgba(255,255,255,.08);transition:all .25s ease;
}
.auth-tab-btn.active{background:linear-gradient(135deg,var(--army-green),var(--army-green-2));color:#fff}
html[data-bs-theme="light"] .auth-tab-btn{color:#18231d;background:rgba(24,35,29,.06)}
html[data-bs-theme="light"] .auth-tab-btn.active{color:#fff}
.auth-panel{display:none}
.auth-panel.active{display:block;animation:fadeSlide .35s ease}
@keyframes fadeSlide{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.auth-action-btn{
  background:linear-gradient(135deg,var(--army-green),var(--army-green-2));
  border:none;color:#fff;border-radius:1rem;padding:1rem 1.2rem;font-weight:700;
}
.auth-action-btn:hover{color:#fff;opacity:.96}
.auth-links a{color:var(--army-gold);text-decoration:none}
.auth-links a:hover{text-decoration:underline}

@media (max-width: 991.98px){
  .hero{padding-top:7rem}
  .navbar .nav-link::after{left:1rem;right:auto;width:36px}
  .auth-side{border-bottom:1px solid rgba(255,255,255,.08)}
}
@media (max-width: 767.98px){
  :root{--section-gap:2.8rem}
  .display-4{font-size:2.25rem}
  .section-title{margin-bottom:2rem}
  .news-img{height:150px}
  #backToTop{right:16px;bottom:16px}
  .auth-side,.auth-form-pane{padding:1.25rem}
}

.auth-hero-note{
  font-size:.95rem;
  color:rgba(255,255,255,.78);
  line-height:1.8;
}
html[data-bs-theme="light"] .auth-hero-note{
  color:rgba(24,35,29,.72);
}

.auth-list{
  margin:0;
  padding-left:1.1rem;
}
.auth-list li{
  margin-bottom:.55rem;
}

.auth-status-card{
  padding:1.15rem;
  border-radius:1rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
html[data-bs-theme="light"] .auth-status-card{
  background:rgba(24,35,29,.03);
  border-color:rgba(24,35,29,.08);
}

.form-section-title{
  font-size:.95rem;
  font-weight:700;
  letter-spacing:.02em;
  margin-bottom:.75rem;
  color:var(--army-gold);
}

.page-section-compact{
  padding:2.5rem 0 5rem;
}footer .footer-card{
  margin-top:3rem;
}

.page-main-dashboard{
  padding-bottom:3.5rem;
}

/* Dropdown menu styling */
.dropdown-menu{
  border:1px solid rgba(255,255,255,.11)!important;
  background:rgba(255,255,255,.05)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(10px);
  border-radius:.95rem;
  animation:dropdownSlide .2s ease;
  display:none!important;
}
.dropdown:hover .dropdown-menu,
.dropdown-menu.show{
  display:block!important;
}
html[data-bs-theme="light"] .dropdown-menu{
  background:var(--card-light)!important;
  border-color:var(--border-light)!important;
  box-shadow:0 16px 40px rgba(17,34,26,.08)!important;
}
.dropdown-item{
  color:#edf3ef;
  padding:.6rem 1rem;
  display:flex;align-items:center;gap:.6rem;
  transition:all .2s ease;
  border-radius:.6rem;
  margin:0 .4rem;
}
.dropdown-item:hover{
  background:rgba(214,180,106,.1)!important;
  color:#fff;
  transform:translateX(3px);
}
html[data-bs-theme="light"] .dropdown-item{color:#18231d}
html[data-bs-theme="light"] .dropdown-item:hover{background:rgba(24,35,29,.08)!important;color:#18231d}
.dropdown-item i{width:18px;text-align:center;color:var(--army-gold);flex-shrink:0}
.dropdown-divider{border-color:rgba(255,255,255,.08)!important;margin:.4rem 0}
html[data-bs-theme="light"] .dropdown-divider{border-color:rgba(24,35,29,.08)!important}
@keyframes dropdownSlide{
  from{opacity:0;transform:translateY(-8px)}
  to{opacity:1;transform:translateY(0)}
}
