@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500&display=swap');

#atv-root{
  --ac:#00e896;--ac2:#00cc7a;--ac3:rgba(0,232,150,.14);--ac4:rgba(0,232,150,.06);
  --bg:#080808;--s1:#111;--s2:#181818;--s3:#202020;--s4:#282828;--s5:#303030;
  --bd:rgba(255,255,255,.06);--bd2:rgba(255,255,255,.11);--bd3:rgba(255,255,255,.18);
  --tx:#f2f2f2;--tx2:#8a8a8a;--tx3:#484848;
  --red:#ff5555;--red2:rgba(255,85,85,.13);
  --amber:#ffaa44;--amber2:rgba(255,170,68,.13);
  --blue:#66b3ff;--blue2:rgba(102,179,255,.13);
  --purple:#c084fc;--purple2:rgba(192,132,252,.13);
  --r:12px;--rs:8px;--rl:16px;--rxl:22px;
  font-family:'DM Sans',sans-serif;
  background:var(--bg);color:var(--tx);font-size:14px;line-height:1.65;
  min-height:100vh;
}
#atv-root *,#atv-root *::before,#atv-root *::after{box-sizing:border-box;margin:0;padding:0}

/* LOGIN */
#atv-login{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;
  background:
    radial-gradient(ellipse 120% 80% at 60% -20%,rgba(0,232,150,.06) 0%,transparent 60%),
    radial-gradient(ellipse 60% 40% at 10% 80%,rgba(102,179,255,.04) 0%,transparent 60%);
}
.atv-login-wrap{width:100%;max-width:420px}
.atv-login-logo{
  font-family:'Syne',sans-serif;font-size:36px;font-weight:800;
  text-align:center;margin-bottom:4px;letter-spacing:-.04em;
}
.atv-login-logo span{color:var(--ac)}
.atv-login-sub{text-align:center;color:var(--tx3);font-size:12px;margin-bottom:36px;letter-spacing:.08em;text-transform:uppercase}
.atv-login-card{background:var(--s1);border:1px solid var(--bd2);border-radius:var(--rxl);padding:32px;position:relative;overflow:hidden}
.atv-login-card::before{
  content:'';position:absolute;top:-60px;right:-60px;width:180px;height:180px;
  border-radius:50%;background:radial-gradient(circle,rgba(0,232,150,.07),transparent 70%);
  pointer-events:none;
}
.atv-lf-group{margin-bottom:20px}
.atv-lf-group label{display:block;font-size:11px;color:var(--tx2);margin-bottom:7px;text-transform:uppercase;letter-spacing:.08em;font-family:'Syne',sans-serif;font-weight:500}
.atv-lf-group input{width:100%;padding:13px 16px;background:var(--s2);border:1px solid var(--bd);border-radius:var(--rs);color:var(--tx);font-size:14px;font-family:'DM Sans',sans-serif;transition:border-color .2s,box-shadow .2s}
.atv-lf-group input:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 4px rgba(0,232,150,.08)}
.atv-login-err{font-size:12px;color:var(--red);display:none;background:var(--red2);border:1px solid rgba(255,85,85,.2);border-radius:var(--rs);padding:10px 14px;margin-top:10px}

/* TOPBAR */
.atv-topbar{
  background:rgba(10,10,10,.9);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--bd);padding:0 32px;height:62px;
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:50;
}
.atv-logo{font-family:'Syne',sans-serif;font-size:20px;font-weight:800;letter-spacing:-.04em;color:var(--tx);display:flex;align-items:center;gap:10px}
.atv-logo-icon{
  width:30px;height:30px;border-radius:8px;
  background:var(--ac);display:flex;align-items:center;justify-content:center;
  font-size:14px;color:#000;font-weight:800;
}
.atv-logo span{color:var(--ac)}
.atv-topbar-right{display:flex;align-items:center;gap:8px}
.atv-user-pill{
  display:flex;align-items:center;gap:8px;padding:6px 14px 6px 8px;
  background:var(--s2);border:1px solid var(--bd2);border-radius:24px;
  font-size:13px;color:var(--tx2);font-weight:400;
}
.atv-user-av{
  width:26px;height:26px;border-radius:50%;
  background:var(--ac3);border:1px solid rgba(0,232,150,.2);
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;color:var(--ac);font-family:'Syne',sans-serif;
}
.atv-user-av.member-av{background:var(--blue2);border-color:rgba(102,179,255,.2);color:var(--blue)}

/* NAV */
.atv-nav{
  background:rgba(10,10,10,.75);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--bd);padding:0 32px;display:flex;gap:0;overflow-x:auto;
}
.atv-nav::-webkit-scrollbar{height:0}
.atv-nav-btn{
  padding:0 20px;height:50px;font-family:'Syne',sans-serif;font-size:13px;font-weight:500;
  background:none;border:none;cursor:pointer;color:var(--tx3);
  border-bottom:2px solid transparent;transition:color .2s,border-color .2s;
  white-space:nowrap;letter-spacing:.02em;
}
.atv-nav-btn:hover{color:var(--tx2)}
.atv-nav-btn.active{color:var(--ac);border-bottom-color:var(--ac)}

/* MAIN */
.atv-main{padding:28px 32px;max-width:1160px;width:100%;margin:0 auto}
.atv-page{display:none}
.atv-page.active{display:block;animation:atv-in .22s ease}
@keyframes atv-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.atv-page-header{margin-bottom:24px}
.atv-page-title{font-family:'Syne',sans-serif;font-size:22px;font-weight:700;letter-spacing:-.03em}
.atv-page-sub{font-size:13px;color:var(--tx3);margin-top:3px}

/* CARDS */
.atv-card{background:var(--s1);border:1px solid var(--bd);border-radius:var(--rl);padding:22px;margin-bottom:16px}
.atv-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px;flex-wrap:wrap}
.atv-card-title{font-family:'Syne',sans-serif;font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--tx2);text-transform:uppercase;letter-spacing:.04em}

/* BUTTONS */
.atv-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:9px 18px;border-radius:var(--rs);border:1px solid var(--bd2);
  background:var(--s3);color:var(--tx);cursor:pointer;font-size:13px;
  font-family:'DM Sans',sans-serif;font-weight:500;transition:all .16s;
  white-space:nowrap;line-height:1;letter-spacing:.01em;
}
.atv-btn:hover{background:var(--s4);border-color:var(--bd3);transform:translateY(-1px)}
.atv-btn:active{transform:translateY(0)}
.atv-btn-primary{background:var(--ac);border-color:var(--ac);color:#000;font-weight:700;box-shadow:0 4px 16px rgba(0,232,150,.2)}
.atv-btn-primary:hover{background:var(--ac2);border-color:var(--ac2);box-shadow:0 6px 22px rgba(0,232,150,.32)}
.atv-btn-sm{padding:6px 13px;font-size:12px}
.atv-btn-xs{padding:4px 9px;font-size:11px;border-radius:6px}
.atv-btn-danger{background:var(--red2);border-color:rgba(255,85,85,.25);color:var(--red)}
.atv-btn-danger:hover{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 4px 14px rgba(255,85,85,.28)}
.atv-btn-ghost{background:transparent;border-color:transparent;color:var(--tx3)}
.atv-btn-ghost:hover{background:var(--s3);border-color:var(--bd);color:var(--tx2)}
.atv-btn-purple{background:var(--purple2);border-color:rgba(192,132,252,.25);color:var(--purple)}
.atv-btn-purple:hover{background:rgba(192,132,252,.25)}

/* BADGES */
.atv-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:500;font-family:'Syne',sans-serif;letter-spacing:.03em}
.atv-bg{background:rgba(255,255,255,.04);color:var(--tx3);border:1px solid var(--bd)}
.atv-bg-green{background:var(--ac3);color:var(--ac);border:1px solid rgba(0,232,150,.2)}
.atv-bg-amber{background:var(--amber2);color:var(--amber);border:1px solid rgba(255,170,68,.2)}
.atv-bg-red{background:var(--red2);color:var(--red);border:1px solid rgba(255,85,85,.2)}
.atv-bg-blue{background:var(--blue2);color:var(--blue);border:1px solid rgba(102,179,255,.2)}
.atv-bg-purple{background:var(--purple2);color:var(--purple);border:1px solid rgba(192,132,252,.2)}

/* METRICS */
.atv-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:24px}
.atv-metric-card{
  background:var(--s2);border:1px solid var(--bd);border-radius:var(--rl);
  padding:20px 22px;position:relative;overflow:hidden;transition:border-color .2s,transform .15s;
  cursor:default;
}
.atv-metric-card:hover{border-color:var(--bd2);transform:translateY(-2px)}
.atv-metric-glow{
  position:absolute;width:120px;height:120px;border-radius:50%;
  top:-40px;right:-30px;opacity:.4;
  background:radial-gradient(circle,var(--glow-c,rgba(0,232,150,.15)),transparent 70%);
  pointer-events:none;
}
.atv-metric-label{font-size:11px;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;font-family:'Syne',sans-serif;font-weight:500}
.atv-metric-val{font-size:28px;font-weight:700;font-family:'Syne',sans-serif;margin-top:8px;letter-spacing:-.03em}
.atv-metric-val.c-green{color:var(--ac)}
.atv-metric-val.c-red{color:var(--red)}
.atv-metric-val.c-amber{color:var(--amber)}
.atv-metric-val.c-blue{color:var(--blue)}
.atv-metric-val.c-white{color:var(--tx)}

/* FINANCIAL SUMMARY CARD */
.atv-fin-summary{
  background:linear-gradient(135deg,rgba(0,232,150,.06) 0%,rgba(0,0,0,0) 60%),var(--s1);
  border:1px solid rgba(0,232,150,.15);border-radius:var(--rl);
  padding:28px;margin-bottom:20px;
}
.atv-fin-summary-title{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;margin-bottom:4px}
.atv-fin-summary-sub{font-size:12px;color:var(--tx3);margin-bottom:24px}
.atv-fin-bar{height:10px;border-radius:6px;background:var(--s3);overflow:hidden;margin:10px 0 4px;position:relative}
.atv-fin-bar-fill{height:100%;border-radius:6px;transition:width .6s cubic-bezier(.16,1,.3,1)}
.atv-fin-bar-label{display:flex;justify-content:space-between;font-size:11px;color:var(--tx3);margin-top:3px}

/* FORMS */
#atv-root input:not([type=checkbox]):not([type=radio]),#atv-root select,#atv-root textarea{
  width:100%;padding:10px 14px;background:var(--s2);border:1px solid var(--bd);border-radius:var(--rs);
  color:var(--tx);font-size:13px;font-family:'DM Sans',sans-serif;transition:border-color .2s,box-shadow .2s;
}
#atv-root input:not([type=checkbox]):focus,#atv-root select:focus,#atv-root textarea:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px rgba(0,232,150,.08)}
#atv-root input[type=file]{padding:7px 10px}
#atv-root input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--ac)}
#atv-root select option{background:var(--s2)}
.atv-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.atv-form-group{margin-bottom:12px}
.atv-form-group label,.atv-form-label{display:block;font-size:11px;color:var(--tx2);margin-bottom:5px;text-transform:uppercase;letter-spacing:.06em;font-family:'Syne',sans-serif;font-weight:500}
.atv-add-label{font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.06em;font-family:'Syne',sans-serif;margin-bottom:4px}

/* TABLE */
#atv-root table{width:100%;border-collapse:collapse}
#atv-root th{font-size:10px;font-weight:600;color:var(--tx3);padding:8px 12px;border-bottom:1px solid var(--bd);text-align:left;text-transform:uppercase;letter-spacing:.08em;font-family:'Syne',sans-serif}
#atv-root td{padding:12px;border-bottom:1px solid var(--bd);font-size:13px;vertical-align:middle}
#atv-root tr:last-child td{border-bottom:none}
#atv-root tr:hover td{background:rgba(255,255,255,.015)}

/* MODAL */
.atv-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9999;align-items:center;justify-content:center;backdrop-filter:blur(8px);padding:20px}
.atv-modal-overlay.open{display:flex}
.atv-modal{
  background:var(--s1);border:1px solid var(--bd2);border-radius:var(--rxl);
  padding:28px;width:min(720px,100%);max-height:92vh;overflow-y:auto;
  animation:atv-modal-in .24s cubic-bezier(.16,1,.3,1);
}
.atv-modal::-webkit-scrollbar{width:4px}
.atv-modal::-webkit-scrollbar-thumb{background:var(--s4);border-radius:4px}
@keyframes atv-modal-in{from{opacity:0;transform:scale(.95) translateY(16px)}to{opacity:1;transform:none}}
.atv-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.atv-modal-title{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;letter-spacing:-.03em}
.atv-close-btn{width:34px;height:34px;border-radius:var(--rs);background:var(--s3);border:1px solid var(--bd);color:var(--tx2);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .15s}
.atv-close-btn:hover{background:var(--s4);color:var(--tx);border-color:var(--bd2)}

/* TAGS & CHIPS */
.atv-tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;min-height:10px}
.atv-tag{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:20px;background:var(--ac4);border:1px solid rgba(0,232,150,.15);font-size:12px;color:var(--ac)}
.atv-tag .atv-tag-rm{cursor:pointer;color:rgba(0,232,150,.4);font-size:14px;transition:color .15s}
.atv-tag .atv-tag-rm:hover{color:var(--red)}
.atv-func-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.atv-func-chip{padding:6px 13px;border-radius:20px;font-size:12px;background:var(--s3);border:1px solid var(--bd);color:var(--tx3);cursor:pointer;transition:all .15s}
.atv-func-chip:hover{border-color:var(--bd2);color:var(--tx2)}
.atv-func-chip.sel{background:var(--ac3);border-color:var(--ac);color:var(--ac);font-weight:500}

/* AVATAR */
.atv-avatar{width:34px;height:34px;border-radius:50%;background:var(--ac3);border:1px solid rgba(0,232,150,.18);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--ac);font-family:'Syne',sans-serif;flex-shrink:0}
.atv-avatar.admin-av{background:var(--purple2);border-color:rgba(192,132,252,.2);color:var(--purple)}
.atv-avatar.member-av{background:var(--blue2);border-color:rgba(102,179,255,.2);color:var(--blue)}

/* EVENT CARDS */
.atv-filter-bar{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap;align-items:center}
.atv-filter-bar select{width:auto;min-width:160px}
.atv-event-card{
  background:var(--s2);border:1px solid var(--bd);border-radius:var(--r);
  padding:16px 20px;margin-bottom:8px;cursor:pointer;transition:all .18s;
  position:relative;overflow:hidden;
}
.atv-event-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ac);opacity:0;transition:opacity .18s;border-radius:3px 0 0 3px}
.atv-event-card:hover{border-color:var(--ac);background:rgba(0,232,150,.025);transform:translateX(3px)}
.atv-event-card:hover::before{opacity:1}

/* CALENDAR */
.atv-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.atv-cal-day-name{text-align:center;font-size:10px;color:var(--tx3);padding:8px 0;font-family:'Syne',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.07em}
.atv-cal-day{min-height:70px;background:var(--s2);border:1px solid var(--bd);border-radius:var(--rs);padding:6px;cursor:pointer;transition:all .15s}
.atv-cal-day:hover{border-color:var(--bd2);background:var(--s3)}
.atv-cal-day.other{opacity:.2}
.atv-cal-day.today{border-color:var(--ac);box-shadow:0 0 0 1px rgba(0,232,150,.12)}
.atv-cal-day-num{font-size:12px;font-weight:600;font-family:'Syne',sans-serif;color:var(--tx3)}
.atv-cal-event-dot{font-size:9px;background:var(--ac3);color:var(--ac);padding:2px 6px;border-radius:4px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* MISC */
.atv-check-wrap{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tx2);cursor:pointer}
.atv-section-title{font-size:10px;font-weight:600;color:var(--tx3);text-transform:uppercase;letter-spacing:.1em;margin:20px 0 10px;font-family:'Syne',sans-serif}
#atv-root hr{border:none;border-top:1px solid var(--bd);margin:14px 0}
.atv-empty{text-align:center;padding:48px 20px;color:var(--tx3);font-size:13px}
.atv-empty-icon{font-size:36px;margin-bottom:12px;display:block;filter:grayscale(1) opacity(.5)}
.atv-member-banner{background:var(--blue2);border:1px solid rgba(102,179,255,.2);border-radius:var(--r);padding:12px 16px;margin-bottom:20px;font-size:13px;color:var(--blue);display:flex;align-items:center;gap:8px}

/* NOTIF */
.atv-notif{position:fixed;bottom:28px;right:28px;z-index:99999;padding:13px 20px;border-radius:var(--r);font-size:13px;font-weight:600;font-family:'Syne',sans-serif;display:none;align-items:center;gap:8px;min-width:220px}
.atv-notif.show{display:flex;animation:atv-in .2s ease}
.atv-notif.ok{background:var(--ac);color:#000;box-shadow:0 8px 30px rgba(0,232,150,.3)}
.atv-notif.err{background:var(--red);color:#fff;box-shadow:0 8px 30px rgba(255,85,85,.3)}

/* PROFIT BOX */
.atv-profit-box{background:linear-gradient(135deg,rgba(0,232,150,.08),rgba(0,232,150,.02));border:1px solid rgba(0,232,150,.15);border-radius:var(--r);padding:18px;margin-top:12px}

/* BRIEFING CARD */
.atv-briefing-card{background:var(--s2);border:1px solid var(--bd);border-radius:var(--r);padding:18px;margin-bottom:8px;transition:border-color .15s}
.atv-briefing-card:hover{border-color:var(--bd2)}
.atv-briefing-card h4{font-family:'Syne',sans-serif;font-size:14px;font-weight:600;margin-bottom:6px}

/* ACCESS PAGE */
.atv-admin-account-box{background:linear-gradient(135deg,rgba(192,132,252,.07),rgba(192,132,252,.02));border:1px solid rgba(192,132,252,.18);border-radius:var(--rl);padding:22px;margin-bottom:18px}
.atv-user-card{background:var(--s2);border:1px solid var(--bd);border-radius:var(--r);padding:14px 18px;margin-bottom:8px;display:flex;align-items:center;gap:14px;transition:border-color .15s}
.atv-user-card:hover{border-color:var(--bd2)}
.atv-user-card-info{flex:1;min-width:0}
.atv-user-card-name{font-weight:500;font-size:14px;font-family:'Syne',sans-serif}
.atv-user-card-sub{font-size:12px;color:var(--tx3);margin-top:3px}
.atv-user-card-actions{display:flex;gap:7px;flex-shrink:0;flex-wrap:wrap}
.atv-role-toggle{display:flex;gap:0;border:1px solid var(--bd);border-radius:var(--rs);overflow:hidden}
.atv-role-opt{flex:1;padding:9px 14px;text-align:center;font-size:12px;font-weight:500;font-family:'Syne',sans-serif;cursor:pointer;color:var(--tx3);background:transparent;border:none;transition:all .15s}
.atv-role-opt.am{background:var(--blue2);color:var(--blue)}
.atv-role-opt.aa{background:var(--purple2);color:var(--purple)}

@media(max-width:700px){
  .atv-form-row{grid-template-columns:1fr}
  .atv-topbar,.atv-nav{padding:0 16px}
  .atv-main{padding:16px}
  .atv-grid2{grid-template-columns:1fr 1fr}
  .atv-modal{padding:18px}
  #atv-root table{font-size:12px}
  .atv-user-card{flex-wrap:wrap}
}
