@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');

:root{
  --g1:#123f2e!important;--g2:#147a55!important;--g3:#24b47e!important;
  --gold:#ffca3a!important;--red:#e44d59!important;--ink:#10221b!important;
  --muted:#61756c!important;--line:rgba(18,83,60,.14)!important;
  --bg:#edf7f2!important;--glass:rgba(255,255,255,.78);
  --fx-shadow:0 24px 70px rgba(20,85,61,.13),0 3px 12px rgba(20,85,61,.06);
  --fx-radius:20px;
}

html{scroll-behavior:smooth}
body,.suite-body{
  font-family:'Manrope',system-ui,sans-serif!important;color:var(--ink)!important;
  background:
    radial-gradient(900px 500px at 92% -6%,rgba(255,202,58,.16),transparent 58%),
    radial-gradient(900px 600px at -8% 32%,rgba(36,180,126,.14),transparent 62%),
    linear-gradient(150deg,#f7fbf9 0%,#eef7f2 48%,#e7f2ed 100%)!important;
  min-height:100vh;
}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.28;background-image:linear-gradient(rgba(20,122,85,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(20,122,85,.055) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,#000,transparent 75%)}

h1,h2,h3,h4,.brand h1,.ac-brand-text .title,.ac-hero-copy h1,.ac-section-head h2,.kpi .vl,.ac-metric .m-value{
  font-family:'Space Grotesk','Manrope',sans-serif!important;letter-spacing:-.035em;
}

.top,.ac-topbar{
  background:rgba(249,253,251,.78)!important;border:1px solid rgba(255,255,255,.7)!important;
  border-bottom-color:var(--line)!important;box-shadow:0 8px 35px rgba(20,85,61,.08)!important;
  backdrop-filter:blur(22px) saturate(1.35)!important;
}
.brand img,.ac-brand img{filter:drop-shadow(0 8px 14px rgba(20,85,61,.13))}
.brand small,.eyebrow,.ac-brand-text .eyebrow{letter-spacing:.15em!important;font-weight:800!important}

.tabs{
  background:rgba(255,255,255,.66)!important;border:1px solid rgba(255,255,255,.8)!important;
  box-shadow:0 12px 35px rgba(20,85,61,.08)!important;backdrop-filter:blur(18px)!important;
  border-radius:16px!important;margin-top:16px!important;padding:6px!important;gap:5px!important;
}
.tab{border:0!important;border-radius:11px!important;padding:10px 16px!important;transition:all .2s ease!important}
.tab:hover{background:rgba(36,180,126,.1)!important;color:var(--g2)!important;transform:translateY(-1px)}
.tab.active{background:linear-gradient(135deg,var(--g2),var(--g3))!important;color:#fff!important;box-shadow:0 8px 20px rgba(20,122,85,.24)!important}

.card,.users-toolbar,.users-table-wrap,.user-editor,.paper,.map-panel{
  background:var(--glass)!important;border:1px solid rgba(255,255,255,.88)!important;
  border-radius:var(--fx-radius)!important;box-shadow:var(--fx-shadow)!important;
  backdrop-filter:blur(16px) saturate(1.2)!important;
}
.card{padding:22px!important;margin-bottom:18px!important;transition:transform .22s ease,box-shadow .22s ease!important}
.card:hover{transform:translateY(-2px);box-shadow:0 30px 80px rgba(20,85,61,.16)!important}
.card h3::before{width:8px!important;height:8px!important;border-radius:50%!important;background:var(--gold)!important;box-shadow:0 0 0 6px rgba(255,202,58,.16),0 0 18px rgba(255,202,58,.65)!important}

.btn,button:not(.tab),.ac-btn,.user-form button,.users-toolbar button{
  border-radius:12px!important;font-family:'Manrope',sans-serif!important;font-weight:800!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.btn:hover,button:not(.tab):hover,.ac-btn:hover,.user-form button:hover,.users-toolbar button:hover{transform:translateY(-2px)!important;box-shadow:0 12px 25px rgba(20,122,85,.2)!important}
.btn.primary,button[type="submit"],#newUserBtn{
  background:linear-gradient(135deg,#106b4a,#24b47e)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;
}
.btn.gold,.ac-menu-button[data-variant="gold"]{background:linear-gradient(135deg,#ffe27c,#ffca3a)!important;color:#173c2d!important}

input,select,textarea{
  background:rgba(255,255,255,.86)!important;border:1px solid rgba(18,83,60,.18)!important;
  border-radius:12px!important;padding:10px 12px!important;transition:border-color .18s,box-shadow .18s,transform .18s!important;
}
input:focus,select:focus,textarea:focus{border-color:var(--g3)!important;box-shadow:0 0 0 4px rgba(36,180,126,.13),0 8px 20px rgba(20,85,61,.08)!important;transform:translateY(-1px)}

table{border-collapse:separate!important;border-spacing:0!important;overflow:hidden;border-radius:14px}
th{background:linear-gradient(180deg,#e7f6ef,#dff1e9)!important;color:#174b37!important;padding:12px!important}
td{padding:11px 12px!important;background:rgba(255,255,255,.45);transition:background .16s!important}
tr:hover td{background:rgba(36,180,126,.09)!important}
.pill,.geo-chip{border-radius:999px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}

.kpi,.ac-metric{
  position:relative;overflow:hidden;border-radius:16px!important;background:linear-gradient(145deg,#10523b,#16946a)!important;
  border:1px solid rgba(255,255,255,.15)!important;box-shadow:0 16px 32px rgba(17,100,71,.18)!important;
}
.kpi::after,.ac-metric::after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-35px;top:-45px;background:rgba(255,202,58,.18);filter:blur(1px)}

.ac-hero,.hero-box{
  border-radius:26px!important;background:radial-gradient(680px 300px at 84% 2%,rgba(255,202,58,.2),transparent 60%),linear-gradient(130deg,#0d3829 0%,#106344 52%,#17966a 100%)!important;
  border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 35px 90px rgba(11,73,51,.25)!important;
}
.ac-mapwrap,.hero-map{border-radius:20px!important;box-shadow:0 22px 55px rgba(4,35,24,.35)!important}
.ac-modules-band{border:1px solid rgba(255,255,255,.86)!important;border-radius:24px!important;background:rgba(255,255,255,.68)!important;backdrop-filter:blur(18px)!important;box-shadow:var(--fx-shadow)!important}
.ac-modules{gap:18px!important}
.ac-menu-button{
  min-height:150px!important;border-radius:19px!important;position:relative!important;overflow:hidden!important;
  flex-direction:column!important;gap:14px!important;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(223,244,235,.88))!important;
  border:1px solid rgba(36,180,126,.2)!important;box-shadow:0 16px 38px rgba(20,85,61,.11)!important;
}
.ac-menu-button::after{content:'↗';position:absolute;right:14px;top:12px;font-size:18px;color:rgba(20,122,85,.45);transition:transform .2s,color .2s}
.ac-menu-button:hover{transform:translateY(-7px) scale(1.015)!important;box-shadow:0 26px 55px rgba(20,122,85,.2)!important;border-color:rgba(36,180,126,.55)!important}
.ac-menu-button:hover::after{transform:translate(3px,-3px);color:var(--g2)}
.ac-menu-icon{width:54px!important;height:54px!important;border-radius:16px;background:linear-gradient(145deg,#d9f4e8,#fff)!important;box-shadow:0 10px 22px rgba(20,122,85,.13)!important}
.ac-menu-icon svg{width:28px!important;height:28px!important}
.ac-menu-label{font-family:'Space Grotesk',sans-serif!important;font-size:16px!important}

.login-shell--public{position:relative}
.login-card{background:rgba(255,255,255,.78)!important;border:1px solid rgba(255,255,255,.9)!important;border-radius:28px!important;box-shadow:0 35px 100px rgba(14,83,58,.2)!important;backdrop-filter:blur(22px) saturate(1.25)!important}
.login-logo{filter:drop-shadow(0 12px 20px rgba(20,85,61,.13))}
.login-card h1{font-size:clamp(28px,5vw,43px)!important;color:#124832!important}

.admin-users-shell{max-width:1280px!important}
.users-toolbar,.users-table-wrap,.user-editor{padding:22px!important}

@keyframes fxIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.shell>.card,.tabpanel>.card,.ac-hero,.ac-modules-band,.hero-box,.users-toolbar,.users-table-wrap{animation:fxIn .5s ease both}
.shell>.card:nth-child(2),.tabpanel>.card:nth-child(2){animation-delay:.06s}
.shell>.card:nth-child(3),.tabpanel>.card:nth-child(3){animation-delay:.12s}

@media(max-width:760px){
  .tabs{border-radius:12px!important}.card{padding:16px!important}.ac-hero,.hero-box{border-radius:19px!important}
  .ac-menu-button{min-height:116px!important}.top,.ac-topbar{padding:11px 14px!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
