/* ═══════════════════════════════════════════════════════════════
   WISDSOL TECH — Global Stylesheet v4
   Brand:  Orange #f47521  ·  Navy #0d1b3e  ·  White #ffffff
   ═══════════════════════════════════════════════════════════════ */

/* ── TOKENS ── */
:root{
  --wt-orange:     #f47521;
  --wt-orange-d:   #d45f0e;
  --wt-orange-g:   rgba(244,117,33,.1);
  --wt-navy:       #0d1b3e;
  --wt-navy-2:     #152347;
  --wt-navy-3:     #1e3163;
  --wt-ink:        #1a1a1a;
  --wt-ink-soft:   #3a3a3a;
  --wt-muted:      #6c6c6c;
  --wt-surface:    #ffffff;
  --wt-surface-2:  #f8f7f5;
  --wt-border:     rgba(0,0,0,.08);
  --wt-border-2:   rgba(13,27,62,.1);
  /* keep legacy names so app_base still works */
  --primary:       #f47521;
  --primary-vivid: #ff8c3a;
  --primary-dark:  #d45f0e;
  --primary-glow:  rgba(244,117,33,.1);
  --ink:           #1a1a1a;
  --ink-soft:      #3a3a3a;
  --muted:         #6c6c6c;
  --surface:       #ffffff;
  --surface-alt:   #f8f7f5;
  --border:        rgba(0,0,0,.08);
  --gold:          #f59f00;
  --success:       #2f9e44;
  --danger:        #e03131;
  --warning:       #e67700;
  --radius-sm:10px;--radius-md:18px;--radius-lg:24px;
  --shadow-card:0 4px 32px rgba(0,0,0,.07);
  --shadow-lift:0 16px 56px rgba(244,117,33,.14);
  --transition:all .25s cubic-bezier(.4,0,.2,1);
}

/* ── BASE ── */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:#fff;color:var(--wt-ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
h1,h2,h3,.serif{font-family:'Fraunces',serif;letter-spacing:-.02em;}
img{max-width:100%;height:auto;display:block;}
a{transition:var(--transition);}

/* ── NAVBAR ── */
.wt-nav{
  padding:0;
  background:rgba(255,255,255,.97)!important;
  backdrop-filter:saturate(180%) blur(18px);
  -webkit-backdrop-filter:saturate(180%) blur(18px);
  border-bottom:1px solid var(--wt-border);
  transition:var(--transition);position:sticky;top:0;z-index:9000;
}
.wt-nav.scrolled{box-shadow:0 2px 24px rgba(13,27,62,.1);}
.wt-nav .container{min-height:64px;display:flex;align-items:center;}

/* brand with real logo */
.wt-brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
.wt-brand-logo{height:40px;width:auto;filter:drop-shadow(0 1px 3px rgba(0,0,0,.06));}

/* toggler */
.navbar-toggler{border:1.5px solid var(--wt-border)!important;border-radius:9px!important;padding:7px 10px!important;background:transparent;box-shadow:none!important;}
.navbar-toggler:hover{border-color:var(--wt-orange)!important;background:var(--wt-orange-g);}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2813,27,62,0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")!important;width:22px;height:22px;}
.navbar-toggler:focus{box-shadow:0 0 0 3px var(--wt-orange-g)!important;}

/* nav links */
.navbar-nav .nav-link{font-weight:500;font-size:.91rem;color:var(--wt-navy)!important;padding:.45rem .95rem!important;border-radius:8px;white-space:nowrap;}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:var(--wt-orange)!important;background:var(--wt-orange-g);}

/* nav buttons */
.btn-nav-ghost{border:1.5px solid var(--wt-border);border-radius:9px;padding:.42rem 1.1rem;font-weight:600;font-size:.87rem;color:var(--wt-navy)!important;transition:var(--transition);background:transparent;text-decoration:none;display:inline-flex;align-items:center;}
.btn-nav-ghost:hover{border-color:var(--wt-orange);color:var(--wt-orange)!important;}
.btn-nav-solid{background:var(--wt-orange);border-radius:9px;padding:.42rem 1.2rem;font-weight:700;font-size:.87rem;color:white!important;border:none;transition:var(--transition);text-decoration:none;display:inline-flex;align-items:center;}
.btn-nav-solid:hover{background:var(--wt-orange-d);box-shadow:0 4px 18px rgba(244,117,33,.4);transform:translateY(-1px);color:white!important;}

/* dropdown */
.dropdown-menu{border:1px solid var(--wt-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:8px;min-width:220px;}
.dropdown-item{border-radius:8px;font-size:.88rem;font-weight:500;padding:8px 14px;color:var(--wt-navy);display:flex;align-items:center;gap:8px;}
.dropdown-item i{width:18px;font-size:.85rem;flex-shrink:0;}
.dropdown-item:hover{background:var(--wt-orange-g);color:var(--wt-orange);}
.wt-nav .dropdown-menu{z-index:9999;}

/* avatar */
.avatar-sm{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--wt-orange);color:white;font-weight:700;font-size:.75rem;flex-shrink:0;}

/* mobile nav */
@media(max-width:991.98px){
  .wt-nav .container{min-height:58px;}
  .navbar-collapse{padding:12px 0 16px;border-top:1px solid var(--wt-border);margin-top:8px;}
  .navbar-nav .nav-link{padding:.55rem .75rem!important;font-size:.95rem;}
  .navbar-nav.align-items-center{align-items:flex-start!important;}
  .navbar-nav .btn-nav-ghost,.navbar-nav .btn-nav-solid{width:100%;justify-content:center;margin-top:4px;padding:.6rem 1rem;}
  .dropdown-menu{box-shadow:none;border:1px solid var(--wt-border);margin-left:.5rem;}
}

/* ── PROMO CHIP ── */
.promo-chip{position:fixed;bottom:20px;right:20px;z-index:8000;background:linear-gradient(135deg,var(--wt-orange),var(--wt-orange-d));color:white;border-radius:14px;padding:10px 16px;text-align:center;box-shadow:0 8px 32px rgba(244,117,33,.4);text-decoration:none;animation:promoFloat 3s ease-in-out infinite;border:2px solid rgba(255,255,255,.2);}
.promo-chip:hover{color:white;transform:scale(1.05)!important;animation:none;}
.promo-chip .pct{font-family:'Fraunces',serif;font-size:1.4rem;font-weight:900;display:block;line-height:1;}
.promo-chip .lbl{font-size:.65rem;font-weight:700;opacity:.88;letter-spacing:.06em;text-transform:uppercase;}
@keyframes promoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

/* ── BUTTONS ── */
.btn{font-weight:600;border-radius:9px;transition:all .2s cubic-bezier(.4,0,.2,1);}
.btn-sm{font-size:.8rem;padding:.3rem .75rem;border-radius:7px;}
.btn-primary{background:var(--wt-orange)!important;border-color:var(--wt-orange)!important;color:#fff!important;}
.btn-primary:hover{background:var(--wt-orange-d)!important;border-color:var(--wt-orange-d)!important;box-shadow:0 4px 20px rgba(244,117,33,.4);}
.btn-outline-primary{color:var(--wt-orange)!important;border-color:var(--wt-orange)!important;}
.btn-outline-primary:hover{background:var(--wt-orange)!important;color:#fff!important;}
.btn-secondary{background:var(--wt-navy)!important;border-color:var(--wt-navy)!important;color:#fff!important;}
.btn-outline-secondary:hover{background:var(--wt-navy)!important;color:#fff!important;border-color:var(--wt-navy)!important;}

/* ── FOOTER ── */
footer{background:var(--wt-navy);color:rgba(255,255,255,.7);padding:clamp(36px,6vw,64px) 0 clamp(20px,3vw,32px);margin-top:clamp(40px,7vw,80px);border-top:4px solid var(--wt-orange);}
.footer-brand-logo{height:40px;width:auto;filter:brightness(0) invert(1);opacity:.9;display:block;margin-bottom:12px;}
footer h6{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.3);margin-bottom:1rem;}
footer a{color:rgba(255,255,255,.6);text-decoration:none;font-size:.87rem;display:block;padding:2px 0;transition:var(--transition);}
footer a:hover{color:var(--wt-orange);padding-left:4px;}
footer ul.list-unstyled li{margin-bottom:3px;}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.6);font-size:.9rem;text-decoration:none;padding:0;transition:var(--transition);}
.footer-social a:hover{background:var(--wt-orange);color:white;transform:translateY(-2px);padding-left:0;}
.contact-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font-size:.86rem;}
.contact-item i{color:var(--wt-orange);margin-top:3px;flex-shrink:0;width:14px;}
.footer-divider{border-color:rgba(255,255,255,.07);margin:clamp(16px,3vw,28px) 0 clamp(12px,2vw,20px);}
.footer-copy{font-size:.8rem;color:rgba(255,255,255,.35);}
.footer-tagline{font-size:.8rem;color:rgba(255,255,255,.35);}

/* ── ALERTS ── */
.alert{border-radius:var(--radius-sm);border:none;font-size:.88rem;}
.alert-success{background:rgba(47,158,68,.1);color:#1e7e34;border-left:3px solid #2f9e44;}
.alert-danger,.alert-error{background:rgba(224,49,49,.1);color:#c0392b;border-left:3px solid #e03131;}
.alert-warning{background:rgba(230,119,0,.1);color:#856404;border-left:3px solid var(--gold);}
.alert-info{background:var(--wt-orange-g);color:var(--wt-orange-d);border-left:3px solid var(--wt-orange);}

/* ── FORMS ── */
.form-control,.form-select{border-radius:9px;border:1.5px solid rgba(0,0,0,.12);padding:.55rem 1rem;font-size:.9rem;}
.form-control:focus,.form-select:focus{border-color:var(--wt-orange);box-shadow:0 0 0 3px var(--wt-orange-g);outline:none;}
.form-label{font-size:.82rem;font-weight:600;color:var(--wt-navy);margin-bottom:.35rem;}
.form-check-input:checked{background-color:var(--wt-orange);border-color:var(--wt-orange);}
.form-text{color:var(--wt-muted);font-size:.78rem;}

/* ── CARDS ── */
.card{border:1px solid rgba(0,0,0,.07);border-radius:14px;box-shadow:var(--shadow-card);}
.card:hover{box-shadow:0 8px 32px rgba(244,117,33,.1);}

/* ── TABLES ── */
.table{font-size:.88rem;}
.table thead th{font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#777;background:var(--surface-alt);border-bottom:1.5px solid rgba(0,0,0,.08);white-space:nowrap;}
.table td{vertical-align:middle;border-color:rgba(0,0,0,.05);}
.table-hover tbody tr:hover td{background:var(--wt-orange-g);}

/* ── BADGE ── */
.badge-status{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.04em;display:inline-block;}

/* ── SECTION HELPERS ── */
.section-tag{display:inline-flex;align-items:center;gap:6px;background:var(--wt-orange-g);color:var(--wt-orange);font-size:.78rem;font-weight:700;padding:5px 14px;border-radius:30px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;}
.eyebrow{font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--wt-orange);display:block;margin-bottom:12px;}
.section-title{font-size:clamp(1.65rem,3vw,2.5rem);font-weight:800;line-height:1.2;color:var(--wt-ink);}
.section-title span,.section-title .accent{color:var(--wt-orange);}

/* ── APP SIDEBAR (mobile) ── */
@media(max-width:767px){
  .app-sidebar{transform:translateX(-100%);transition:transform .3s ease;}
  .app-sidebar.open{transform:translateX(0);}
  .app-main{margin-left:0!important;}
  .sidebar-toggle{display:block!important;}
}

/* ── RESPONSIVE ── */
@media(max-width:575.98px){
  h1{font-size:clamp(1.6rem,7vw,2rem);}
  h2{font-size:clamp(1.4rem,6vw,1.8rem);}
  .container{padding-left:16px;padding-right:16px;}
}

/* ── PRINT ── */
@media print{
  .wt-nav,footer,.promo-chip,.btn,.alert{display:none!important;}
  body{background:white;}
}
