/* AstraCall brand primitives shared by the website and the customer app.
   Loader: "Communication in motion" — 1.8s loop, opacity/transform only. */
:root{--ac-green:#16C83E;--ac-green-ink:#0B7D27;--ac-ink:#171C20;--ac-charcoal:#0E1316;--ac-astra:#171C20}
.ac-dark,[data-ac-theme="dark"]{--ac-astra:#FFFFFF}

.ac-loader{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0;color:var(--ac-green);vertical-align:middle;contain:layout paint}
.ac-loader svg{display:block;width:100%;height:100%;overflow:visible}
.ac-loader .ac-symbol{transform-box:fill-box;transform-origin:50% 50%;animation:ac-breathe 1.8s ease-in-out infinite}
.ac-loader .ac-dot{transform-box:fill-box;transform-origin:50% 50%;animation:ac-dot 1.8s ease-in-out infinite both}
.ac-loader .ac-dot-2{animation-delay:.2s}
.ac-loader .ac-dot-3{animation-delay:.4s}
.ac-loader .ac-wave{transform-box:fill-box;transform-origin:0% 100%;animation:ac-wave 1.8s ease-in-out infinite both;animation-delay:.6s}
.ac-loader .ac-wave-2{animation-delay:.78s}
@keyframes ac-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
@keyframes ac-dot{0%,58%,100%{opacity:.3;transform:scale(.86)}22%{opacity:1;transform:scale(1)}}
@keyframes ac-wave{0%,60%,100%{opacity:.4;transform:translate(0,0)}26%{opacity:1;transform:translate(9px,-9px)}}

/* Full loader: animated symbol + stationary wordmark. */
.ac-loader--full{height:var(--ac-size,48px);width:calc(var(--ac-size,48px) * 3.882)}
.ac-loader--full .ac-wordmark{animation:none}

/* Page-level overlay used while the app is waiting on a request. */
.ac-page-loader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--ac-bg,#fff) 84%,transparent);animation:ac-fade .18s ease-out .12s both}
.ac-page-loader.ac-dark{--ac-bg:#0B0F12}
@keyframes ac-fade{from{opacity:0}to{opacity:1}}
.ac-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

@media (prefers-reduced-motion:reduce){
  .ac-loader *,.ac-page-loader{animation:none!important}
  .ac-loader .ac-dot,.ac-loader .ac-wave{opacity:1}
}

/* Public header/footer used by legal and custom pages inside the app. */
.acx-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.9);border-bottom:1px solid rgba(23,28,32,.08);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px)}
.acx-header.ac-dark{background:rgba(11,15,18,.88);border-bottom-color:rgba(255,255,255,.08)}
.acx-bar{max-width:1180px;margin:0 auto;height:68px;padding:0 24px;display:flex;align-items:center;gap:28px;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.acx-logo{display:flex;align-items:center;height:44px;border-radius:8px}
.acx-logo img{height:30px;width:auto;display:block}
.acx-nav{display:flex;gap:4px;margin-right:auto}
.acx-nav a,.acx-signin{font-size:14px;font-weight:500;color:#3A444C;text-decoration:none;padding:10px 12px;border-radius:8px}
.ac-dark .acx-nav a,.ac-dark .acx-signin{color:#C3CBD1}
.acx-nav a:hover,.acx-signin:hover{color:var(--ac-ink);background:rgba(23,28,32,.05)}
.ac-dark .acx-nav a:hover,.ac-dark .acx-signin:hover{color:#fff;background:rgba(255,255,255,.06)}
.acx-cta{font-size:14px;font-weight:600;color:#06210E;background:var(--ac-green);text-decoration:none;padding:10px 16px;border-radius:9px;white-space:nowrap}
.acx-cta:hover{background:#1BD846}
.acx-header a:focus-visible,.acx-footer a:focus-visible{outline:2px solid var(--ac-green);outline-offset:2px}
.acx-footer{border-top:1px solid rgba(23,28,32,.08);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.acx-footer.ac-dark{border-top-color:rgba(255,255,255,.08)}
.acx-foot{max-width:1180px;margin:0 auto;padding:32px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;font-size:13px;color:#5B6670}
.ac-dark .acx-foot{color:#8C979F}
.acx-foot img{height:22px;width:auto;display:block}
.acx-foot nav{display:flex;flex-wrap:wrap;gap:4px 18px;margin-left:auto}
.acx-foot a{color:inherit;text-decoration:none;padding:6px 0}
.acx-foot a:hover{color:var(--ac-ink);text-decoration:underline}
.ac-dark .acx-foot a:hover{color:#fff}
@media (max-width:760px){.acx-nav{display:none}.acx-bar{gap:12px;padding:0 16px}.acx-logo{margin-right:auto}.acx-logo img{height:26px}.acx-signin{padding:10px 8px}}

/* Sign-in / sign-up layout */
.acx-auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.acx-auth-panel{display:none}
.acx-auth-main{display:flex;align-items:center;justify-content:center;padding:48px 24px}
.acx-auth-inner{width:100%;max-width:400px}
.acx-auth-formlogo{display:block;height:34px;width:auto;margin:0 0 36px}
.acx-auth h1{margin:0 0 8px;font:700 28px/1.15 Inter,system-ui,sans-serif;letter-spacing:-.02em}
.acx-auth-sub{margin:0 0 28px;font-size:15px;line-height:1.55;opacity:.72}
.acx-auth-alt{margin:28px 0 0;font-size:14.5px;opacity:.85}
.acx-auth-alt a,.acx-auth-terms a{color:inherit;font-weight:600;text-underline-offset:3px}
.acx-auth-terms{margin:16px 0 0;font-size:13px;line-height:1.5;opacity:.65}
.acx-auth a:focus-visible{outline:2px solid var(--ac-green);outline-offset:2px;border-radius:4px}
@media (min-width:960px){
  .acx-auth{grid-template-columns:minmax(400px,.85fr) minmax(0,1.15fr)}
  .acx-auth-panel{display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:44px 56px;background:#0E1316;color:#E8EDEF;position:relative;overflow:hidden}
  .acx-auth-formlogo{display:none}
}
.acx-auth-panel img{height:30px;width:auto;display:block;position:relative}
.acx-auth-panel h2{position:relative;margin:0;max-width:13ch;font:700 clamp(32px,3vw,42px)/1.08 Inter,system-ui,sans-serif;letter-spacing:-.03em;color:#fff}
.acx-auth-panel ul{position:relative;list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px;max-width:380px}
.acx-auth-panel li{position:relative;padding-left:22px;font-size:15px;line-height:1.5;color:#B9C3C9}
.acx-auth-panel li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--ac-green)}
.acx-auth-net{position:absolute;right:-60px;top:50%;width:420px;height:420px;transform:translateY(-50%);opacity:.55;pointer-events:none}
.acx-auth-net path{fill:none;stroke:rgba(190,214,201,.16);stroke-width:1}
.acx-auth-net circle{fill:#0E1316;stroke:rgba(205,225,214,.35);stroke-width:1}
.acx-auth-net circle.hub{stroke:rgba(22,200,62,.6)}
.acx-auth-foot{position:relative;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:#8C979F}
.acx-auth-foot a{color:inherit;text-decoration:none}
.acx-auth-foot a:hover{color:#fff;text-decoration:underline}
.ac-dark .acx-auth-panel{border-right:1px solid rgba(255,255,255,.08)}
