/* BravesCounselor UX Polish Phase
   Shared visual system for student + staff screens.
*/

:root{
  --bc-black:#070707;
  --bc-ink:#111111;
  --bc-panel:#181818;
  --bc-panel-2:#202020;
  --bc-gold:#f2c94c;
  --bc-gold-2:#d4af37;
  --bc-gold-soft:rgba(242,201,76,.14);
  --bc-white:#ffffff;
  --bc-muted:#cfcfcf;
  --bc-soft:#eeeeee;
  --bc-line:rgba(242,201,76,.25);
  --bc-line-soft:rgba(255,255,255,.09);
  --bc-danger:#7d2222;
  --bc-success:#247044;
  --bc-blue:#2d5f9f;
  --bc-purple:#5b3aa4;
  --bc-radius:22px;
  --bc-radius-sm:14px;
  --bc-shadow:0 22px 80px rgba(0,0,0,.34);
  --bc-shadow-soft:0 12px 34px rgba(0,0,0,.22);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.bc-body,
body{
  margin:0;
  min-height:100vh;
  font-family:Arial,Helvetica,sans-serif;
  background:
    radial-gradient(circle at top left, rgba(242,201,76,.18), transparent 34%),
    linear-gradient(135deg,#050505,#151515 58%,#070707);
  color:var(--bc-white);
}

.bc-wrap{max-width:1180px;margin:0 auto;padding:32px 18px}
.bc-wrap-wide{max-width:1500px;margin:0 auto;padding:26px 14px}
.bc-page-center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:34px 18px 86px}

.bc-card{
  background:rgba(24,24,24,.94);
  border:1px solid var(--bc-line);
  border-radius:var(--bc-radius);
  padding:24px;
  box-shadow:var(--bc-shadow-soft);
}
.bc-card-lg{
  background:rgba(20,20,20,.92);
  border:1px solid var(--bc-line);
  border-radius:30px;
  padding:34px;
  box-shadow:var(--bc-shadow);
}
.bc-card-soft{
  background:rgba(255,255,255,.055);
  border:1px solid var(--bc-line-soft);
  border-radius:18px;
  padding:18px;
}

.bc-kicker{
  color:var(--bc-gold);
  text-transform:uppercase;
  letter-spacing:2px;
  font-weight:900;
  font-size:13px;
  margin-bottom:12px;
}
.bc-title{color:var(--bc-gold);margin:0 0 8px;line-height:1.05}
.bc-title-xl{font-size:clamp(38px,6vw,64px);color:#fff;margin:0;line-height:1}
.bc-lead{color:#f1f1f1;font-size:clamp(18px,2.4vw,23px);line-height:1.45}
.bc-muted{color:var(--bc-muted)}
.bc-help{font-size:13px;color:#bcbcbc;line-height:1.35}
.bc-divider{height:1px;background:var(--bc-line-soft);margin:20px 0}

.bc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.bc-grid-tight{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.bc-hero-grid{width:min(1080px,100%);display:grid;grid-template-columns:1.08fr .92fr;gap:26px;align-items:stretch}

.bc-btn,
button.bc-btn,
a.bc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid var(--bc-line);
  border-radius:16px;
  padding:13px 17px;
  text-decoration:none;
  font-weight:900;
  font-size:15px;
  cursor:pointer;
  transition:.14s ease;
}
.bc-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}
.bc-btn-primary{background:linear-gradient(135deg,var(--bc-gold),var(--bc-gold-2));color:#111;border-color:var(--bc-gold-2)}
.bc-btn-secondary{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.12)}
.bc-btn-danger{background:var(--bc-danger);color:#fff;border-color:#9d3a3a}
.bc-btn-small{padding:8px 11px;border-radius:11px;font-size:13px}

.bc-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

.bc-staffbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:rgba(18,18,18,.9);
  border:1px solid var(--bc-line);
  border-radius:18px;
  padding:12px 14px;
  margin-bottom:18px;
  box-shadow:var(--bc-shadow-soft);
}
.bc-staffbar strong{color:var(--bc-gold)}
.bc-staffbar span{color:#cfcfcf;margin-left:8px}
.bc-staffbar nav{display:flex;flex-wrap:wrap;gap:8px}
.bc-staffbar nav a{
  background:#262626;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
}
.bc-staffbar nav a.bc-logout{background:var(--bc-gold);color:#111;border-color:var(--bc-gold)}

.bc-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:18px 0;
}
.bc-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#2b2410;
  border:1px solid var(--bc-gold-2);
  color:var(--bc-gold);
  padding:8px 12px;
  border-radius:999px;
  font-weight:900;
  white-space:nowrap;
}
.bc-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:900;
  background:#333;
  color:#fff;
}
.bc-chip-success{background:#214f31;color:#d7ffe2}
.bc-chip-warning{background:#735d16;color:#fff1b3}
.bc-chip-danger{background:#6b2424;color:#ffd1d1}
.bc-chip-blue{background:#244f7b;color:#d4eaff}

.bc-tile{
  display:block;
  background:rgba(27,27,27,.96);
  border:1px solid var(--bc-line);
  border-radius:18px;
  padding:22px;
  text-decoration:none;
  color:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.16);
  transition:.14s ease;
}
.bc-tile:hover{transform:translateY(-2px);border-color:rgba(242,201,76,.55);background:#202020}
.bc-tile strong{display:block;color:var(--bc-gold);font-size:20px;margin-bottom:8px}
.bc-tile span{color:#ccc;line-height:1.35}

label{display:block;font-weight:900;margin:0 0 7px}
input,select,textarea{
  width:100%;
  padding:12px 13px;
  border-radius:13px;
  border:1px solid #333;
  background:#0f0f0f;
  color:#fff;
  font-size:16px;
}
textarea{min-height:116px}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(242,201,76,.45);border-color:var(--bc-gold)}

.bc-table-wrap{overflow-x:auto;border-radius:16px;border:1px solid rgba(255,255,255,.08)}
table.bc-table,
.bc-table{
  width:100%;
  border-collapse:collapse;
  background:#161616;
}
.bc-table th,.bc-table td{
  border-bottom:1px solid #303030;
  padding:11px 12px;
  text-align:left;
  vertical-align:top;
}
.bc-table th{color:var(--bc-gold);background:#121212;font-size:13px;text-transform:uppercase;letter-spacing:.5px}
.bc-table tr:hover td{background:rgba(255,255,255,.025)}

.bc-notice{
  background:#2b2410;
  border:1px solid var(--bc-gold-2);
  color:#ffe8a3;
  border-radius:16px;
  padding:14px;
  margin:14px 0;
}
.bc-success{
  background:#12351c;
  border:1px solid #2d7c42;
  color:#ccffd6;
  border-radius:16px;
  padding:14px;
  margin:14px 0;
}
.bc-error{
  background:#3b1111;
  border:1px solid #8b2a2a;
  color:#ffd0d0;
  border-radius:16px;
  padding:14px;
  margin:14px 0;
}

.bc-launcher{
  position:fixed;
  left:14px;
  bottom:14px;
  z-index:50;
  display:flex;
  gap:8px;
  align-items:center;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(242,201,76,.22);
  backdrop-filter:blur(10px);
  padding:8px;
  border-radius:18px;
}
.bc-launcher a{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius:13px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  font-size:20px;
  transition:.15s ease;
  position:relative;
}
.bc-launcher a:hover{transform:translateY(-2px);background:rgba(242,201,76,.18);border-color:rgba(242,201,76,.5)}
.bc-launcher a span{
  position:absolute;
  left:0;
  bottom:54px;
  display:none;
  white-space:nowrap;
  background:#111;
  color:#fff;
  border:1px solid rgba(242,201,76,.4);
  border-radius:10px;
  padding:8px 10px;
  font-size:12px;
}
.bc-launcher a:hover span{display:block}

.bc-footer-note{position:fixed;right:16px;bottom:18px;color:rgba(255,255,255,.45);font-size:12px}

.bc-fade-in{animation:bcFade .28s ease both}
@keyframes bcFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:900px){
  .bc-hero-grid{grid-template-columns:1fr}
  .bc-topline,.bc-staffbar{flex-direction:column;align-items:flex-start}
  .bc-staffbar nav{width:100%}
  .bc-staffbar nav a{flex:1;text-align:center}
}
@media(max-width:640px){
  .bc-wrap{padding:22px 12px}
  .bc-card,.bc-card-lg{padding:22px}
  .bc-actions{flex-direction:column;align-items:stretch}
  .bc-btn{width:100%}
  .bc-footer-note{display:none}
}
