/* =============================================
   AUTH PAGES — LOGIN & REGISTER
   Indicops Theme
============================================= */
.auth-main {
  min-height: 100vh; display: flex; align-items: center; padding: 60px 0;
  position: relative; overflow: hidden;
}
.auth-bg { position: fixed; inset: 0; pointer-events: none; z-index: 0; }
.auth-orb {
  position: absolute; border-radius: 50%;
  filter: blur(80px); opacity: 0.12;
}
.auth-orb-1 { width:500px; height:500px; background:#FF9933; top:-120px; left:-120px; animation: floatUp 8s ease-in-out infinite; }
.auth-orb-2 { width:400px; height:400px; background:#138808; bottom:-100px; right:-80px; animation: floatUp 8s ease-in-out -3s infinite; }
.auth-orb-3 { width:300px; height:300px; background:#000080; top:40%; left:50%; animation: floatUp 8s ease-in-out -6s infinite; }

.auth-wrap {
  display: grid; grid-template-columns: 1fr 420px;
  max-width: 900px; margin: 0 auto;
  border-radius: 12px; overflow: hidden;
  border: 1px solid rgba(255,255,255,0.07);
  box-shadow: 0 40px 100px rgba(0,0,0,0.6);
  position: relative; z-index: 1;
  animation: fadeInUp 0.7s ease both;
}
.auth-wrap-register { grid-template-columns: 380px 1fr; }

.auth-side {
  background: linear-gradient(160deg, rgba(255,153,51,0.12) 0%, rgba(8,8,18,0.97) 40%, rgba(19,136,8,0.10) 100%);
  border-right: 1px solid rgba(255,255,255,0.07);
  display: flex; align-items: center; justify-content: center;
  padding: 40px 32px; position: relative; overflow: hidden;
}
.auth-side-inner { position: relative; z-index: 1; }
.auth-side-icon { font-size: 3.5rem; margin-bottom: 20px; display: block; animation: floatUp 4s ease-in-out infinite; }
.auth-side-title { font-size: 1.4rem; font-weight: 900; color: #fff; margin-bottom: 12px; }
.auth-side-desc { font-size: 0.82rem; color: #9090a0; line-height: 1.75; margin-bottom: 24px; }
.auth-feature-list { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.auth-feature-list li { display: flex; align-items: center; gap: 10px; font-size: 0.82rem; color: #9090a0; }
.feat-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.feat-saffron { background:#FF9933; box-shadow:0 0 8px rgba(255,153,51,0.6); }
.feat-white   { background:#fff;    box-shadow:0 0 8px rgba(255,255,255,0.4); }
.feat-green   { background:#138808; box-shadow:0 0 8px rgba(19,136,8,0.6); }
.auth-tricolor-bar { display:grid; grid-template-columns:1fr 1fr 1fr; height:4px; border-radius:2px; overflow:hidden; margin-top:32px; }
.auth-tricolor-bar div:nth-child(1) { background:#FF9933; }
.auth-tricolor-bar div:nth-child(2) { background:#fff; }
.auth-tricolor-bar div:nth-child(3) { background:#138808; }

.auth-card { background:#0f0f1e; padding:36px 32px; display:flex; flex-direction:column; }
.auth-card-head { margin-bottom:24px; }
.auth-logo { display:flex; align-items:center; gap:10px; margin-bottom:22px; }
.auth-chakra {
  width:32px; height:32px; border:2px solid rgba(0,0,128,0.5); border-radius:50%;
  background: conic-gradient(
    #FF9933 0deg 30deg, transparent 30deg 60deg,
    #138808 60deg 90deg, transparent 90deg 120deg,
    #FF9933 120deg 150deg, transparent 150deg 180deg,
    #138808 180deg 210deg, transparent 210deg 240deg,
    #FF9933 240deg 270deg, transparent 270deg 300deg,
    #138808 300deg 330deg, transparent 330deg 360deg
  );
  opacity:0.7; animation: rotateSlow 10s linear infinite;
}
.auth-title { font-size:1.55rem; font-weight:900; color:#fff; margin-bottom:4px; }
.auth-subtitle { font-size:0.82rem; color:#555565; }

.auth-alert {
  display:flex; align-items:flex-start; gap:8px;
  padding:11px 14px; border-radius:6px;
  font-size:0.82rem; margin:16px 0; line-height:1.5;
}
.auth-alert a { font-weight:600; }
.auth-alert-error   { background:rgba(232,64,64,0.10); border:1px solid rgba(232,64,64,0.3); color:#ff7070; }
.auth-alert-success { background:rgba(19,136,8,0.10);  border:1px solid rgba(19,136,8,0.3);  color:#19b80b; }
.auth-alert-info    { background:rgba(255,153,51,0.08); border:1px solid rgba(255,153,51,0.2); color:#FFB347; }

.auth-form { display:flex; flex-direction:column; padding:20px 0 4px; }
.form-group { margin-bottom:18px; }
.form-label {
  display:flex; align-items:center; justify-content:space-between;
  font-size:0.76rem; font-weight:600; color:#9090a0;
  text-transform:uppercase; letter-spacing:0.06em; margin-bottom:7px;
}
.form-label-link { font-size:0.72rem; color:#FF9933; text-transform:none; letter-spacing:0; font-weight:400; }
.form-label-link:hover { text-decoration:underline; }
.form-input-wrap { position:relative; display:flex; align-items:center; }
.form-icon { position:absolute; left:13px; font-size:0.9rem; opacity:0.4; pointer-events:none; z-index:1; }
.form-input {
  width:100%; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.07);
  color:#f0f0f0; padding:11px 40px 11px 38px;
  border-radius:6px; font-size:0.88rem; outline:none;
  transition:0.3s cubic-bezier(0.4,0,0.2,1); font-family:inherit;
}
.form-input:focus {
  border-color:#FF9933; background:rgba(255,153,51,0.04);
  box-shadow:0 0 0 3px rgba(255,153,51,0.12);
}
.form-input::placeholder { color:#555565; }
.form-input.input-error { border-color:#E84040; box-shadow:0 0 0 3px rgba(232,64,64,0.12); }
.form-input.input-ok    { border-color:#138808; box-shadow:0 0 0 3px rgba(19,136,8,0.12); }

.form-eye {
  position:absolute; right:10px; background:none; border:none; cursor:pointer;
  color:#555565; font-size:0.9rem; padding:4px; line-height:1;
  transition:0.3s ease;
}
.form-eye:hover { color:#FF9933; }
.form-row-inline { margin-bottom:18px; }
.form-checkbox { display:flex; align-items:center; gap:8px; cursor:pointer; }
.form-checkbox input[type="checkbox"] { width:15px; height:15px; cursor:pointer; accent-color:#FF9933; }
.form-checkbox-label { font-size:0.8rem; color:#9090a0; }

.password-strength { margin-top:8px; display:flex; align-items:center; gap:10px; }
.pwd-bar { flex:1; height:4px; background:rgba(255,255,255,0.07); border-radius:2px; overflow:hidden; }
.pwd-bar span { display:block; height:100%; border-radius:2px; transition:width .4s ease, background .4s ease; width:0%; }
#pwdLabel { font-size:0.68rem; color:#555565; white-space:nowrap; min-width:52px; }

.auth-submit {
  width:100%; display:flex; align-items:center; justify-content:center; gap:7px;
  padding:13px 22px; border-radius:6px; font-size:0.9rem; font-weight:700;
  cursor:pointer; border:none; font-family:inherit;
  background:linear-gradient(135deg, #FF9933, #e6820a); color:#111;
  margin-top:4px; position:relative; overflow:hidden;
  transition:0.3s cubic-bezier(0.4,0,0.2,1);
}
.auth-submit:hover { transform:translateY(-2px); box-shadow:0 0 20px rgba(255,153,51,0.5); }
.auth-submit::after {
  content:''; position:absolute; top:0; left:-100%; width:60%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);
  transition:left .5s ease;
}
.auth-submit:hover::after { left:150%; }

.auth-terms { font-size:0.72rem; color:#555565; text-align:center; margin-top:12px; line-height:1.6; }
.auth-terms a { color:#FF9933; }
.auth-card-foot {
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding-top:22px; margin-top:22px; border-top:1px solid rgba(255,255,255,0.07);
  font-size:0.8rem; color:#555565;
}
.auth-switch-link { color:#FF9933; font-weight:700; }
.auth-switch-link:hover { text-decoration:underline; }

/* Welcome banner */
.welcome-banner {
  background:linear-gradient(135deg,rgba(19,136,8,0.12),rgba(255,153,51,0.06));
  border:1px solid rgba(19,136,8,0.3); border-radius:12px;
  padding:14px 20px; display:flex; align-items:center; justify-content:space-between;
  margin-bottom:24px; font-size:0.84rem; color:#19b80b;
  animation: fadeInUp 0.5s ease both;
}
.welcome-banner button { background:none; border:none; color:#555565; cursor:pointer; font-size:1rem; padding:2px 6px; }

/* User menu in header */
.user-menu-wrap { position:relative; }
.user-avatar-btn {
  display:flex; align-items:center; gap:8px;
  background:rgba(255,153,51,0.08); border:1px solid rgba(255,153,51,0.4);
  color:#FF9933; padding:3px 8px 3px 5px;
  border-radius:20px; cursor:pointer; font-size:0.6rem; font-weight:600;
  transition:0.3s ease;
}
.user-avatar-btn:hover { background:rgba(255,153,51,0.15); }
.user-avatar-ring {
  width:22px; height:22px; border-radius:50%;
  background:linear-gradient(135deg,#FF9933,#138808);
  display:grid; place-items:center; font-size:0.6rem; color:#111; font-weight:900;
}
.user-dropdown {
  position:absolute; top:calc(100% + 10px); right:0;
  background:#0f0f1e; border:1px solid rgba(255,255,255,0.07);
  border-radius:12px; min-width:180px;
  box-shadow:0 16px 48px rgba(0,0,0,0.5);
  overflow:hidden; display:none; z-index:200;
}
.user-dropdown.open { display:block; animation: slideInDown 0.2s ease both; }
.user-dropdown a, .user-dropdown button {
  display:flex; align-items:center; gap:5px; padding:6px 12px;
  font-size:0.62rem; color:#9090a0; transition:0.3s ease;
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  font-family:inherit; border-bottom:1px solid rgba(255,255,255,0.05);
}
.user-dropdown a:last-child, .user-dropdown button:last-child { border-bottom:none; }
.user-dropdown a:hover, .user-dropdown button:hover { background:rgba(255,153,51,0.06); color:#FF9933; }

@media (max-width:820px) {
  .auth-wrap, .auth-wrap-register { grid-template-columns:1fr; }
  .auth-side { display:none; }
  .auth-card { padding:28px 22px; }
}

/* =============================================
   JOURNALIST REGISTRATION FORM
   Indicops Theme
============================================= */
.jreg-main { padding: 40px 0 80px; align-items: flex-start; }
.jreg-container { max-width: 860px; margin: 0 auto; }

/* Hero header */
.jreg-hero { text-align:center; padding: 20px 0 32px; }
.jreg-hero-badge {
  display:inline-block; background:rgba(255,153,51,0.1); border:1px solid rgba(255,153,51,0.3);
  color:#FF9933; font-size:0.72rem; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; padding:5px 14px; border-radius:20px; margin-bottom:16px;
}
.jreg-hero-title {
  font-size:2rem; font-weight:900; color:#fff; line-height:1.2; margin-bottom:12px;
}
.jreg-highlight {
  background: linear-gradient(135deg, #FF9933, #138808);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
.jreg-hero-sub { font-size:0.9rem; color:#9090a0; max-width:480px; margin:0 auto; line-height:1.7; }

/* Progress steps */
.jreg-steps {
  display:flex; align-items:center; justify-content:center;
  gap:0; margin-bottom:32px; flex-wrap:wrap; gap:4px;
}
.jreg-step {
  display:flex; align-items:center; gap:6px;
  font-size:0.68rem; font-weight:600; color:#555565;
  padding:6px 10px; border-radius:20px;
  transition:0.3s ease; cursor:default;
}
.jreg-step span {
  width:20px; height:20px; border-radius:50%;
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1);
  display:grid; place-items:center; font-size:0.65rem; font-weight:900;
  transition:0.3s ease;
}
.jreg-step.active { color:#FF9933; }
.jreg-step.active span { background:rgba(255,153,51,0.15); border-color:rgba(255,153,51,0.5); }
.jreg-step-line { width:24px; height:1px; background:rgba(255,255,255,0.08); }

/* Main card */
.jreg-card {
  background:#0f0f1e; border:1px solid rgba(255,255,255,0.07);
  border-radius:16px; overflow:hidden;
  box-shadow:0 40px 100px rgba(0,0,0,0.6);
  animation: fadeInUp 0.7s ease both;
}

/* Sections */
.jreg-section {
  padding:32px 36px;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.jreg-section:last-child { border-bottom:none; }
.jreg-section-head {
  display:flex; align-items:center; gap:14px; margin-bottom:24px;
}
.jreg-section-icon {
  width:44px; height:44px; border-radius:12px;
  background:linear-gradient(135deg,rgba(255,153,51,0.15),rgba(19,136,8,0.1));
  border:1px solid rgba(255,153,51,0.2);
  display:grid; place-items:center; font-size:1.2rem; flex-shrink:0;
}
.jreg-section-title { font-size:1rem; font-weight:800; color:#fff; margin-bottom:2px; }
.jreg-section-desc  { font-size:0.76rem; color:#555565; }

/* Grid layouts */
.jreg-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.jreg-grid-1 { display:grid; grid-template-columns:1fr; }
.jreg-full   { grid-column:1/-1; }

/* Select styling */
.form-select { appearance:none; cursor:pointer; padding-right:32px; }
.form-input-wrap::after {
  content:''; display:none;
}
.form-select + .select-arrow { /* handled via wrapper */ }

/* Required / optional badges */
.req     { color:#ff7070; font-size:0.7rem; }
.jreg-opt { color:#555565; font-size:0.68rem; font-weight:400; text-transform:none; letter-spacing:0; margin-left:4px; }

/* Textarea */
.jreg-textarea {
  padding:11px 14px; resize:vertical; min-height:110px; line-height:1.6;
}
.jreg-char-count { font-size:0.68rem; color:#555565; text-align:right; margin-top:5px; }

/* Field hint */
.jreg-field-hint { font-size:0.72rem; color:#555565; margin-top:6px; line-height:1.5; }

/* Radio cards */
.jreg-radio-group { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:6px; }
.jreg-radio {
  display:flex; flex-direction:column; align-items:center; gap:4px;
  padding:14px 10px; border-radius:10px;
  background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07);
  cursor:pointer; transition:0.3s ease; text-align:center;
}
.jreg-radio input { display:none; }
.jreg-radio-icon { font-size:1.3rem; }
.jreg-radio-text { font-size:0.78rem; font-weight:700; color:#ccc; }
.jreg-radio-desc { font-size:0.65rem; color:#555565; }
.jreg-radio:hover  { border-color:rgba(255,153,51,0.3); background:rgba(255,153,51,0.04); }
.jreg-radio.selected {
  border-color:#FF9933; background:rgba(255,153,51,0.08);
  box-shadow:0 0 0 2px rgba(255,153,51,0.15);
}
.jreg-radio.selected .jreg-radio-text { color:#FF9933; }

/* Checkbox grid */
.jreg-checkbox-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:8px;
}
.jreg-checkbox-item {
  display:flex; align-items:center; gap:7px;
  padding:8px 10px; border-radius:8px;
  background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07);
  cursor:pointer; transition:0.3s ease; font-size:0.72rem; color:#9090a0;
}
.jreg-checkbox-item input { display:none; }
.jreg-checkbox-icon { font-size:0.9rem; }
.jreg-checkbox-item:hover { border-color:rgba(255,153,51,0.3); }
.jreg-checkbox-item.checked {
  border-color:#FF9933; background:rgba(255,153,51,0.08); color:#FF9933;
}

/* Consent section */
.jreg-section-consent { background:rgba(255,153,51,0.02); }
.jreg-consent-box {
  display:flex; gap:16px; align-items:flex-start;
  background:rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.06);
  border-radius:10px; padding:18px 20px; margin-bottom:20px;
}
.jreg-consent-icon { font-size:1.4rem; flex-shrink:0; margin-top:2px; }
.jreg-consent-text h3 { font-size:0.88rem; font-weight:700; color:#fff; margin-bottom:8px; }
.jreg-consent-text p  { font-size:0.78rem; color:#9090a0; line-height:1.7; }
.jreg-consent-check {
  display:flex; align-items:flex-start; gap:12px; cursor:pointer;
}
.jreg-consent-check input[type="checkbox"] {
  width:18px; height:18px; flex-shrink:0; accent-color:#FF9933;
  margin-top:2px; cursor:pointer;
}
.jreg-consent-label { font-size:0.82rem; color:#9090a0; line-height:1.6; }

/* Submit area */
.jreg-submit-wrap { padding:28px 36px; text-align:center; }
.jreg-submit-btn  { max-width:320px; margin:0 auto; font-size:0.95rem; }

/* ── Success Popup ───────────────────────────────────────────────────────── */
.jreg-popup-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,0.85);
  display:flex; align-items:center; justify-content:center;
  z-index:9999; padding:20px;
  opacity:0; pointer-events:none; transition:opacity 0.4s ease;
  backdrop-filter:blur(6px);
}
.jreg-popup-overlay.show { opacity:1; pointer-events:all; }
.jreg-popup {
  background:#0f0f1e; border:1px solid rgba(255,153,51,0.25);
  border-radius:20px; padding:44px 36px; max-width:480px; width:100%;
  text-align:center; box-shadow:0 40px 100px rgba(0,0,0,0.8),0 0 60px rgba(255,153,51,0.08);
  animation: popupIn 0.5s cubic-bezier(0.34,1.56,0.64,1) both;
  position:relative; overflow:hidden;
}
@keyframes popupIn {
  from { transform:scale(0.7) translateY(40px); opacity:0; }
  to   { transform:scale(1) translateY(0); opacity:1; }
}
.jreg-popup-confetti {
  display:flex; justify-content:center; gap:10px;
  font-size:1.5rem; margin-bottom:12px;
  animation: floatUp 3s ease-in-out infinite;
}
.jreg-popup-icon {
  font-size:3.5rem; margin-bottom:16px; display:block;
  animation: floatUp 3s ease-in-out 0.3s infinite;
}
.jreg-popup-title {
  font-size:1.6rem; font-weight:900; color:#fff; margin-bottom:14px;
  background:linear-gradient(135deg,#FF9933,#138808);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.jreg-popup-msg {
  font-size:0.88rem; color:#9090a0; line-height:1.8; margin-bottom:24px;
}
.jreg-popup-msg strong { color:#fff; }
.jreg-popup-steps {
  display:flex; align-items:center; justify-content:center; gap:8px;
  margin-bottom:4px; flex-wrap:wrap;
}
.jreg-popup-step {
  display:flex; align-items:center; gap:5px;
  background:rgba(255,153,51,0.08); border:1px solid rgba(255,153,51,0.2);
  border-radius:20px; padding:5px 12px; font-size:0.72rem; color:#FF9933; font-weight:600;
}
.jreg-popup-step-arrow { color:#555565; font-size:0.8rem; }
.jreg-popup-btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 28px; font-size:0.9rem; border-radius:8px; margin-bottom:14px;
}
.jreg-popup-sub { font-size:0.72rem; color:#555565; }

/* Responsive */
@media (max-width:720px) {
  .jreg-grid-2 { grid-template-columns:1fr; }
  .jreg-full   { grid-column:1; }
  .jreg-radio-group { grid-template-columns:1fr; }
  .jreg-checkbox-grid { grid-template-columns:repeat(2,1fr); }
  .jreg-section { padding:24px 20px; }
  .jreg-submit-wrap { padding:24px 20px; }
  .jreg-hero-title { font-size:1.5rem; }
  .jreg-steps { display:none; }
  .jreg-popup { padding:32px 22px; }
  .aisig-trust-row { grid-template-columns:1fr; }
}

/* =============================================
   AI SIGNAL FORM
   Indicops Theme
============================================= */
.aisig-card { border-color:rgba(255,153,51,0.15); }
.aisig-form-body { padding:32px 36px; display:flex; flex-direction:column; gap:4px; }
.aisig-textarea { min-height:150px; }

/* Trust badges */
.aisig-trust-row {
  display:grid; grid-template-columns:repeat(3,1fr); gap:10px;
  margin-bottom:28px;
}
.aisig-trust-item {
  display:flex; align-items:center; gap:8px; justify-content:center;
  background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07);
  border-radius:10px; padding:10px 14px; font-size:0.74rem; color:#9090a0;
}
.aisig-trust-item span { font-size:1rem; }

/* Anonymous toggle */
.aisig-anon-toggle {
  margin-top:12px;
  background:rgba(0,0,128,0.08); border:1px solid rgba(0,0,128,0.2);
  border-radius:8px; padding:10px 14px;
}
.aisig-anon-label {
  display:flex; align-items:center; gap:10px; cursor:pointer;
  font-size:0.78rem; color:#9090a0;
}
.aisig-anon-label input[type="checkbox"] {
  width:16px; height:16px; accent-color:#FF9933; cursor:pointer; flex-shrink:0;
}
.aisig-anon-label:hover { color:#ccc; }

/* Disclaimer */
.aisig-disclaimer {
  display:flex; gap:12px; align-items:flex-start;
  background:rgba(255,153,51,0.04); border:1px solid rgba(255,153,51,0.12);
  border-radius:10px; padding:14px 16px; margin-top:8px;
}
.aisig-disclaimer-icon { font-size:1.1rem; flex-shrink:0; margin-top:1px; }
.aisig-disclaimer p { font-size:0.74rem; color:#555565; line-height:1.7; }

/* Submit button accent */
.aisig-submit-btn {
  background:linear-gradient(135deg,#FF9933,#000080) !important;
  color:#fff !important;
}
.aisig-submit-btn:hover { box-shadow:0 0 24px rgba(255,153,51,0.4),0 0 24px rgba(0,0,128,0.3) !important; }

/* Popup accent for AI Signal */
.aisig-popup { border-color:rgba(0,0,128,0.3); }
.aisig-popup .jreg-popup-title {
  background:linear-gradient(135deg,#FF9933,#000080);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

/* Location grid */
.aisig-location-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }

@media (max-width:620px) {
  .aisig-form-body { padding:24px 20px; }
  .aisig-location-grid { grid-template-columns:1fr; }
}
