/* Akasha Hub · Premium Visual Layer
   Additive-only stylesheet. Keep application logic, routes and data untouched. */
:root{
  --bg:#f5f3fa;
  --bg2:#ffffff;
  --surface:rgba(81,55,133,.055);
  --gold:#a884d8;
  --gold-light:#c6a8f2;
  --gold-dim:rgba(161,119,219,.30);
  --white:#211a2c;
  --muted:rgba(33,26,44,.66);
  --muted2:rgba(33,26,44,.44);
  --line:rgba(120,85,174,.20);
  --red:#c74755;
  --green:#218567;
  --font-d:'Cormorant Garamond',serif;
  --font-b:'Inter','Josefin Sans',sans-serif;
  --nav-w:258px;
  --header-h:68px;
  --radius:14px;
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(ellipse at 85% 0%,rgba(174,140,226,.13),transparent 36%),
    linear-gradient(145deg,#f8f6fc 0%,#f2eff8 58%,#f9f7fc 100%);
  color:var(--white);
  font-family:var(--font-b);
  letter-spacing:0;
}
body::before{
  background:radial-gradient(ellipse 48% 35% at 52% -8%,rgba(174,140,226,.13),transparent 72%);
}
button,input,textarea,select{font:inherit}
button{transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(154,111,213,.48);outline-offset:3px
}
#authShell,#accessDenied{background:linear-gradient(145deg,#f7f4fc,#eeebf6)}
.auth-card{
  max-width:440px;padding:34px 32px;background:rgba(255,255,255,.92);
  border:1px solid rgba(120,85,174,.18);border-radius:24px;
  box-shadow:0 24px 80px rgba(48,31,77,.13),0 2px 8px rgba(48,31,77,.04);
  backdrop-filter:blur(18px)
}
.auth-logo{margin-bottom:24px}
.auth-logo img{width:48px;height:48px;box-shadow:0 4px 18px rgba(132,91,189,.2)}
.auth-logo span{font-size:1.35rem;letter-spacing:3px}
.auth-card h1{font-family:var(--font-b);font-size:1.55rem;font-weight:700;letter-spacing:-.04em}
.auth-card .sub{font-size:13px;letter-spacing:0;line-height:1.7}
.field label{font-size:11px;font-weight:650;letter-spacing:.06em}
.field input{
  background:#faf9fd;border:1px solid #e5deef;border-radius:12px;padding:13px 14px;
  color:#251c33;transition:border-color .2s,box-shadow .2s
}
.field input:focus{border-color:#9e7bce;box-shadow:0 0 0 4px rgba(158,123,206,.13)}
.btn{
  border:1px solid #7852ac;border-radius:12px;
  background:linear-gradient(135deg,#8055b8,#65408f);color:white;
  font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:none;
  box-shadow:0 7px 18px rgba(101,64,143,.18)
}
.btn:hover{background:linear-gradient(135deg,#9066c5,#704a9d);transform:translateY(-1px);box-shadow:0 10px 22px rgba(101,64,143,.22)}
.btn-google{background:#fff;color:#2d2438;border-color:#e5deef;box-shadow:none}
.btn-google:hover{background:#f8f5fc;border-color:#bda4dd}
.auth-divider{letter-spacing:.08em}
.auth-hint{border-color:#eee8f5}
#appShell{background:transparent}
.sidebar{
  width:var(--nav-w);padding:22px 14px 16px;
  background:linear-gradient(180deg,#21182f 0%,#191322 100%);
  border-right:1px solid rgba(255,255,255,.07);
  box-shadow:8px 0 32px rgba(34,22,52,.06)
}
.side-logo{padding:5px 12px 22px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.09)}
.side-logo img{width:38px;height:38px}
.side-logo span{font-size:1.08rem;letter-spacing:2.5px;color:#fff}
.nav-item{
  position:relative;gap:12px;padding:12px 13px;margin-bottom:5px;
  border-radius:11px;font-size:12px;letter-spacing:.01em;color:rgba(255,255,255,.67)
}
.nav-item:hover{color:#fff;background:rgba(255,255,255,.075)}
.nav-item.active{
  color:#fff;background:linear-gradient(100deg,rgba(164,125,220,.25),rgba(164,125,220,.09));
  border-color:rgba(192,160,238,.28);box-shadow:inset 3px 0 #c5a5f0
}
.nav-item .ico{font-size:16px;width:20px}
.side-foot{border-top-color:rgba(255,255,255,.09);padding-top:16px}
.user-chip{background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.07);border-radius:12px}
.user-chip .av{background:linear-gradient(135deg,#9b77ca,#67438f);color:#fff}
.user-chip .name{color:#fff;font-weight:600}
.user-chip .role{color:#c6a8f2}
.btn-logout{border-radius:10px;letter-spacing:.04em;text-transform:none}
.btn-logout:hover{background:rgba(199,71,85,.1)}
.main{min-width:0}
.topbar{
  height:var(--header-h);padding:0 28px;
  background:rgba(255,255,255,.78);border-bottom:1px solid rgba(120,85,174,.13);
  backdrop-filter:blur(18px)
}
.top-title{font-family:var(--font-b);font-size:15px;font-weight:750;letter-spacing:-.025em;color:#2b203a}
.badge-mode{border-radius:999px;background:#f1eafa;color:#6c4796;border-color:#e0d1f1;letter-spacing:.04em}
.badge-mode.live{background:#e6f6ef;border-color:#c4ead9;color:#218567}
.lang-sel{background:#fff;color:#4e405f;border-color:#e5deef;border-radius:10px;padding:8px 10px}
.menu-toggle{border-radius:10px;border-color:#e3d9ef;color:#503a6b}
.content{padding:30px clamp(16px,3vw,36px) 48px}
.view{max-width:1120px;animation:akashaEnter .3s ease both}
@keyframes akashaEnter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.hero-line{color:#8660b2;font-size:10px;font-weight:750;letter-spacing:.14em;opacity:1}
.hero-title{font-family:var(--font-b);font-weight:760;letter-spacing:-.045em;line-height:1.15;color:#2b203a}
.hero-sub{font-size:14px;line-height:1.8;color:#756a82}
.grid-3{gap:16px;margin-bottom:32px}
.stat-card{
  position:relative;overflow:hidden;padding:22px 20px;background:rgba(255,255,255,.86);
  border:1px solid rgba(120,85,174,.14);border-radius:18px;
  box-shadow:0 8px 24px rgba(49,31,76,.045);transition:transform .2s,box-shadow .2s,border-color .2s
}
.stat-card::after{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,#a47bdc,#d4b9f5);opacity:.8}
.stat-card:hover{transform:translateY(-3px);border-color:rgba(144,104,195,.28);box-shadow:0 14px 30px rgba(49,31,76,.09)}
.stat-card .lbl{font-weight:700;letter-spacing:.08em;color:#81748f}
.stat-card .val{font-family:var(--font-b);font-weight:750;letter-spacing:-.04em;font-size:1.9rem;color:#70499d}
.stat-card .hint{color:#8b8097;line-height:1.55}
.section-h{font-family:var(--font-b);font-size:1.05rem;font-weight:750;letter-spacing:-.02em;color:#30243e;margin:32px 0 15px}
.module-list{gap:10px}
.mod-row{
  padding:16px 18px;background:rgba(255,255,255,.88);border:1px solid rgba(120,85,174,.13);
  border-radius:15px;box-shadow:0 3px 12px rgba(49,31,76,.025)
}
.mod-row:hover{border-color:#c8b1e4;box-shadow:0 8px 22px rgba(49,31,76,.07);transform:translateY(-1px)}
.mod-row.locked{opacity:.58}
.mod-num{font-family:var(--font-b);font-size:13px;font-weight:750;color:#9872c4}
.mod-body h3{font-size:13px;font-weight:700;color:#30243e}
.mod-body p{font-size:12px;color:#81758d}
.mod-lock{color:#8c7b9e}
.mat-grid{gap:14px}
.mat-card{
  padding:20px;background:rgba(255,255,255,.9);border:1px solid rgba(120,85,174,.14);
  border-radius:16px;box-shadow:0 5px 18px rgba(49,31,76,.035)
}
.mat-card h4{font-family:var(--font-b);font-size:13px;font-weight:750;color:#70499d}
.mat-card p{color:#756a82;line-height:1.7}
.tool-btn{border-radius:10px;background:#f0e8fa;border-color:#e1d2f1;color:#6d4896;font-weight:700;letter-spacing:.02em;text-transform:none}
.tool-btn:hover{background:#e7d9f6;transform:translateY(-1px)}
.back-link{letter-spacing:.04em;font-weight:700;color:#7a668e}
.video-stage,.call-bar{border-radius:16px}
.call-bar{background:#fff;border-color:#e8e0f1}
.call-bar .ctrl.tool{color:#70499d;border-color:#ddccef}
.overlay{background:rgba(28,18,42,.48)}
.modal{
  background:#fff;border-color:#e1d5ef;border-radius:20px;
  box-shadow:0 28px 90px rgba(28,18,42,.22)
}
.modal-h,.modal-f{border-color:#eee7f5}
.modal-h h3{font-family:var(--font-b);font-size:15px;font-weight:750;color:#30243e}
.modal-x{border-color:#e8e0f1;color:#6d5c7e;border-radius:10px}
.modal-x:hover{background:#f4eefb;color:#543475}
#toolPanel,#tpPanel{box-shadow:0 20px 65px rgba(27,18,40,.28)}
@media(max-width:900px){
  :root{--nav-w:250px}
  .topbar{padding:0 16px}
  .content{padding:22px 16px 36px}
}
@media(max-width:720px){
  .auth-card{padding:28px 22px;border-radius:20px}
  .grid-3{grid-template-columns:1fr;gap:11px}
  .stat-card{padding:18px}
  .topbar{height:60px}
  .content{padding:18px 13px 30px}
  .hero-title{font-size:clamp(1.55rem,7vw,2rem)}
  .mod-row{padding:14px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* AKASHA TEMPLE SCI-FI · AF Plataforma only · visual overrides */
:root{
  --bg:#f4f0fa;
  --bg2:#fffdf9;
  --surface:rgba(42,25,67,.045);
  --gold:#b99a4a;
  --gold-light:#e2c777;
  --gold-dim:rgba(185,154,74,.30);
  --white:#21182d;
  --muted:rgba(33,24,45,.68);
  --muted2:rgba(33,24,45,.45);
  --line:rgba(116,79,158,.20);
  --violet:#7650a5;
  --violet-deep:#20142f;
  --radius:15px;
}
body{
  background:
    radial-gradient(ellipse at 82% 0%,rgba(123,80,173,.12),transparent 36%),
    radial-gradient(ellipse at 0% 85%,rgba(185,154,74,.07),transparent 32%),
    linear-gradient(145deg,#faf8fd 0%,#f1edf8 60%,#fbf9fd 100%);
}
body::before{
  background:
    radial-gradient(ellipse 48% 35% at 52% -8%,rgba(128,84,179,.12),transparent 72%),
    repeating-linear-gradient(135deg,transparent 0 44px,rgba(185,154,74,.018) 45px 46px);
}
.sidebar{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(125,83,173,.18),transparent 45%),
    linear-gradient(180deg,#21152f 0%,#130e1d 100%);
  border-right:1px solid rgba(226,199,119,.20);
}
.side-logo{border-bottom-color:rgba(226,199,119,.18)}
.side-logo img{box-shadow:0 0 0 1px rgba(226,199,119,.24),0 0 24px rgba(132,88,190,.20)}
.nav-item.active{
  background:linear-gradient(100deg,rgba(127,85,177,.30),rgba(185,154,74,.075));
  border-color:rgba(226,199,119,.22);
  box-shadow:inset 3px 0 var(--gold-light),0 0 22px rgba(115,75,158,.08);
}
.nav-item .ico{color:var(--gold-light)}
.topbar{
  background:rgba(255,253,249,.84);
  border-bottom-color:rgba(185,154,74,.22);
}
.top-title{color:#30203f}
.hero-line{color:#8a6c30;letter-spacing:.16em}
.hero-title{color:#2c1e3c}
.stat-card,.mod-row,.mat-card{
  border-color:rgba(116,79,158,.17);
  box-shadow:0 8px 26px rgba(38,22,57,.045);
}
.stat-card::after{background:linear-gradient(180deg,#8460b1,#dfc47a)}
.stat-card .val,.mat-card h4{color:#7953a4}
.tool-btn{
  background:linear-gradient(135deg,#f4edf9,#eee4f7);
  border-color:rgba(133,91,177,.24);
  color:#67448f;
}
.btn:not(.btn-google){
  background:linear-gradient(135deg,#7750a0,#4d326d);
  border-color:rgba(226,199,119,.45);
  box-shadow:0 7px 20px rgba(65,41,90,.18);
}
.btn:not(.btn-google):hover{
  background:linear-gradient(135deg,#8963b1,#5c3b7e);
  box-shadow:0 10px 26px rgba(65,41,90,.24);
}
.modal,.call-bar,.video-stage{
  border-color:rgba(185,154,74,.24);
}
.modal-h{background:linear-gradient(90deg,rgba(122,80,165,.07),rgba(185,154,74,.045))}
#toolPanel,#tpPanel{
  border:1px solid rgba(185,154,74,.25);
}
#tpPanel .tp-head,#toolPanel .tp-head{
  background:linear-gradient(100deg,#21152f,#322044);
  color:#fff;
}
#tpPanel .tp-head h3,#toolPanel .tp-head h3{color:#fff}
#tpPanel .tp-meta,#toolPanel .tp-meta{color:#d6c5eb}
.auth-card{
  border-color:rgba(185,154,74,.32);
  box-shadow:0 24px 80px rgba(38,22,57,.14),0 0 0 1px rgba(185,154,74,.045);
}
.auth-logo img{box-shadow:0 0 0 1px rgba(185,154,74,.35),0 0 28px rgba(132,91,189,.16)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline-color:rgba(185,154,74,.72);
}
@media(max-width:720px){
  .sidebar{box-shadow:18px 0 50px rgba(22,12,35,.25)}
  .topbar{background:rgba(255,253,249,.94)}
}
