/*
  OraCareers Portal Theme
  - Slightly lighter dark base for readability
  - Multi-accent palette (cyan/orange/purple/green)
  - Role-based themes (jobseeker/company/admin)
  - Mix & match accents across cards/tiles so things feel more prominent
*/

:root{
  /* Base surfaces */
  --bg:#182338;           /* lighter than pure black */
  --bg2:#1a2a4b;
  --surface:#1b2e55;
  --surface2:#213a66;
  --border:rgba(255,255,255,.10);
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.66);
  --muted2:rgba(255,255,255,.46);
  --shadow:0 18px 70px rgba(0,0,0,.42);

  /* Palette */
  --c-cyan:#00D4FF;
  --c-orange:#FF6B00;
  --c-purple:#A855F7;
  --c-green:#22C55E;
  --c-rose:#F43F5E;
  --c-amber:#F59E0B;

  /* Glow presets */
  --g-cyan:rgba(0,212,255,.16);
  --g-orange:rgba(255,107,0,.13);
  --g-purple:rgba(168,85,247,.14);
  --g-green:rgba(34,197,94,.12);
  --g-rose:rgba(244,63,94,.12);
  --g-amber:rgba(245,158,11,.12);

  /* Default mapping (public/guest) */
  --accent1:var(--c-cyan);
  --accent2:var(--c-orange);
  --accent3:var(--c-purple);
  --glow1:var(--g-cyan);
  --glow2:var(--g-orange);
  --glow3:var(--g-purple);
}

/* Role-based theme mapping */
body.theme-jobseeker{
  --accent1:var(--c-cyan);
  --accent2:var(--c-purple);
  --accent3:var(--c-green);
  --glow1:var(--g-cyan);
  --glow2:var(--g-purple);
  --glow3:var(--g-green);
}
body.theme-company{
  --accent1:var(--c-orange);
  --accent2:var(--c-green);
  --accent3:var(--c-cyan);
  --glow1:var(--g-orange);
  --glow2:var(--g-green);
  --glow3:var(--g-cyan);
}
body.theme-admin{
  --accent1:var(--c-purple);
  --accent2:var(--c-amber);
  --accent3:var(--c-rose);
  --glow1:var(--g-purple);
  --glow2:var(--g-amber);
  --glow3:var(--g-rose);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}

/* Lighter dark base + multi-glow + subtle grid */
body{
  background:
    radial-gradient(1100px 700px at 18% -10%, var(--glow1), transparent 55%),
    radial-gradient(950px 600px at 82% 12%, var(--glow2), transparent 58%),
    radial-gradient(900px 700px at 50% 120%, var(--glow3), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 26%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 120px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 1px, transparent 1px 120px),
    var(--bg);
}

.container{max-width:1100px;margin:0 auto;padding:0 18px;}
.main{padding:28px 0 40px;}

.topbar{position:sticky;top:0;z-index:30;backdrop-filter: blur(12px); background:rgba(24,35,56,.82); border-bottom:1px solid var(--border); box-shadow:0 10px 40px rgba(0,0,0,.25)}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:14px;}

.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:950;letter-spacing:.2px}
.brand__mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;
  border:1px solid var(--border); background:linear-gradient(135deg, var(--glow1), var(--glow2));
  box-shadow:0 12px 32px rgba(0,0,0,.35);
}
.brand__ora{color:var(--accent2)}

.nav{display:flex;gap:14px;align-items:center}
.nav a{color:var(--muted);text-decoration:none;font-size:14px;padding:8px 10px;border-radius:10px;border:1px solid transparent; transition:background .12s ease, border-color .12s ease}
.nav a:hover{color:var(--text);border-color:var(--border);background:rgba(255,255,255,.03)}
.nav a.is-active{color:var(--text); border-color:rgba(255,255,255,.18);
  /* fallback */
  background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  /* enhanced */
  background:linear-gradient(135deg, color-mix(in srgb, var(--accent1) 16%, transparent), color-mix(in srgb, var(--accent2) 12%, transparent));
}

.topbar__actions{display:flex;gap:10px;align-items:center}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);
  /* fallback */
  background:linear-gradient(135deg, var(--glow1), var(--glow2));
  /* enhanced */
  background:linear-gradient(135deg, color-mix(in srgb, var(--accent1) 22%, transparent), color-mix(in srgb, var(--accent2) 18%, transparent));
  color:var(--text); text-decoration:none; font-weight:900; font-size:13px; letter-spacing:.02em;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}
.btn:hover{transform:translateY(-1px); box-shadow:0 14px 40px rgba(0,0,0,.26); border-color:rgba(255,255,255,.16)}
.btn--ghost{background:rgba(255,255,255,.03)}
.btn--ghost:hover{background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02))}
.btn--danger{background:linear-gradient(135deg, rgba(244,63,94,.20), rgba(245,158,11,.12));}
.btn--success{background:linear-gradient(135deg, rgba(34,197,94,.20), rgba(0,212,255,.10));}

.card{position:relative; overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
  border:1px solid var(--border); border-radius:18px; box-shadow:var(--shadow);
}
.card::before{content:""; position:absolute; left:0; top:0; height:4px; width:100%; opacity:.95;
  background:linear-gradient(90deg, var(--accent1), var(--accent2), var(--accent3));
}
/* Mix & match accents automatically across stacked cards */
.main .card:nth-of-type(3n+1)::before{background:linear-gradient(90deg, var(--accent1), var(--accent2))}
.main .card:nth-of-type(3n+2)::before{background:linear-gradient(90deg, var(--accent2), var(--accent3))}
.main .card:nth-of-type(3n+3)::before{background:linear-gradient(90deg, var(--accent3), var(--accent1))}

.card__pad{padding:18px;}

.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;align-items:stretch;margin-top:8px;}
.hero__big{padding:22px}

.kicker{color:var(--accent1); font-size:12px; letter-spacing:.22em; text-transform:uppercase; font-weight:900}
.h1{font-size:42px;line-height:1.05;margin:12px 0 10px;font-weight:950;letter-spacing:-.03em;
  background:linear-gradient(90deg, var(--accent1), var(--accent2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.lead{color:var(--muted);font-size:15px;line-height:1.7;max-width:56ch}
.hero__cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.badge{font-size:12px;color:var(--muted);padding:8px 10px;border-radius:999px;border:1px solid var(--border);
  background:linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,.01))}

.panel{padding:18px}
.panel h3{margin:4px 0 10px;font-size:16px}
.panel .muted{margin:0;color:var(--muted);font-size:13px;line-height:1.6}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.tile{padding:16px;border-radius:18px;border:1px solid var(--border);background:rgba(255,255,255,.02); position:relative; overflow:hidden;
  transition:transform .12s ease, border-color .12s ease, background .12s ease;
}
.tile::before{content:""; position:absolute; inset:-1px; border-radius:18px; padding:1px; background:linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.00));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  pointer-events:none;
}
.tile:nth-child(3n+1){background:linear-gradient(180deg, color-mix(in srgb, var(--accent1) 10%, transparent), rgba(255,255,255,.02));}
.tile:nth-child(3n+2){background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 10%, transparent), rgba(255,255,255,.02));}
.tile:nth-child(3n+3){background:linear-gradient(180deg, color-mix(in srgb, var(--accent3) 10%, transparent), rgba(255,255,255,.02));}
.tile:hover{transform:translateY(-2px); border-color:rgba(255,255,255,.16)}
.tile h4{margin:0 0 6px;font-size:14px}
.tile p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}

.form{display:grid;gap:12px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row--3{grid-template-columns:1fr 1fr auto}

label{font-size:12px;color:var(--muted);font-weight:800;letter-spacing:.04em}
input,select,textarea{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:12px;padding:10px 12px;color:var(--text);outline:none;
  transition:border-color .12s ease, box-shadow .12s ease;
}
textarea{min-height:120px;resize:vertical}
small.help{color:var(--muted2)}
input:focus,select:focus,textarea:focus{border-color:var(--accent1); box-shadow:0 0 0 4px var(--glow1)}
input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb, var(--accent1) 55%, rgba(255,255,255,.10)); box-shadow:0 0 0 4px color-mix(in srgb, var(--accent1) 16%, transparent)}

.table{width:100%;border-collapse:separate;border-spacing:0 10px}
.table th{color:var(--muted);font-size:12px;text-align:left;padding:0 10px}
.table td{padding:12px 10px;background:rgba(255,255,255,.02);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.table tr td:first-child{border-left:1px solid var(--border);border-top-left-radius:12px;border-bottom-left-radius:12px}
.table tr td:last-child{border-right:1px solid var(--border);border-top-right-radius:12px;border-bottom-right-radius:12px}
.table tbody tr:hover td{background:linear-gradient(90deg, rgba(255,255,255,.03), rgba(255,255,255,.015));}

.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);
  /* fallback */
  background:linear-gradient(135deg, var(--glow1), var(--glow3));
  /* enhanced */
  background:linear-gradient(135deg, color-mix(in srgb, var(--accent1) 18%, transparent), color-mix(in srgb, var(--accent3) 14%, transparent));
  color:var(--text);font-size:11px;font-weight:950;letter-spacing:.10em;text-transform:uppercase
}
.logo{width:24px;height:24px;border-radius:9px;border:1px solid var(--border);background:rgba(255,255,255,.02);object-fit:cover;flex:0 0 auto}

.alert{padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.03);margin:12px 0}
.alert--success{border-color:rgba(34,197,94,.32)}
.alert--error{border-color:rgba(244,63,94,.32)}
.alert--success{border-color:color-mix(in srgb, var(--c-green) 45%, rgba(255,255,255,.12))}
.alert--error{border-color:color-mix(in srgb, var(--c-rose) 45%, rgba(255,255,255,.12))}

.footer{margin-top:26px;border-top:1px solid var(--border);background:rgba(24,35,56,.66)}
.footer__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:18px;padding:26px 0}
.footer h4{margin:0 0 10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent1)}
/* Mix & match footer column colors */
.footer__grid > div:nth-child(2) h4{color:var(--accent1)}
.footer__grid > div:nth-child(3) h4{color:var(--accent2)}
.footer__grid > div:nth-child(4) h4{color:var(--accent3)}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer a{color:var(--muted);text-decoration:none}
.footer a:hover{color:var(--text)}
.footer__logo{display:flex;align-items:center;gap:10px;font-size:18px}
.muted{color:var(--muted)}
.tiny{font-size:12px}
.social{display:flex;gap:10px;margin:12px 0}
.social a{width:36px;height:36px;border-radius:12px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.02)}
.social a:hover{background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border-color:rgba(255,255,255,.16)}
.footer__bottom{display:flex;justify-content:space-between;gap:14px;padding:14px 0 22px;border-top:1px solid var(--border)}

/* Admin nav buttons get a bit more distinction */
.admin-nav .btn{font-weight:950}
.theme-admin .admin-nav .btn--ghost{background:linear-gradient(135deg, rgba(168,85,247,.12), rgba(245,158,11,.08))}

@media (max-width: 900px){
  .hero{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .row{grid-template-columns:1fr}
  .nav{display:none}
  .footer__grid{grid-template-columns:1fr 1fr}
  .footer__bottom{flex-direction:column}
  .h1{font-size:34px}
}
