/* ============================================================================
   The Cup Bearer Talent Hub — shared stylesheet
   Used by both index.html (public apply page) and admin.html (dashboard).
   Speakeasy / luxury-hospitality aesthetic: near-black background, warm
   cream text, gold-brass accents, serif headlines + monospace labels.
   ============================================================================ */

:root{
  --ink:#21201E;
  --paper:#FEF3DD;
  --rail:#2A2723;
  --rail-2:#332F29;
  --brass:#AD8106;
  --brass-light:#C79A2E;
  --dustyblue:#5E7C9A;
  --slate:#6B7280;
  --sage:#7A9A6E;
  --warn:#D98A5F;
  --ok:#7A9A6E;
  --line: rgba(254,243,221,0.14);
  --line-strong: rgba(254,243,221,0.26);
}
*{ box-sizing:border-box; }
body{ margin:0; background:var(--ink); color:var(--paper); font-family:'Inter',sans-serif; -webkit-font-smoothing:antialiased; }
::selection{ background:var(--brass); color:var(--ink); }
a{ color:inherit; }

/* ---- Top nav ---- */
.topnav{ position:sticky; top:0; z-index:50; background:var(--rail); border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; padding:14px 28px; flex-wrap:wrap; gap:12px; }
.brand{ font-family:'Fraunces',serif; font-size:16px; font-weight:700; display:flex; align-items:center; gap:10px; text-decoration:none; }
.brand-mark{ height:34px; width:auto; display:block; }
.brand-text em{ font-weight:400; font-style:italic; color:var(--brass-light); font-size:14px; }
.tabs{ display:flex; gap:6px; align-items:center; }
.tab-btn{ font-family:'Space Mono',monospace; font-size:12px; padding:8px 16px; border-radius:8px;
  border:1px solid var(--line-strong); background:transparent; color:rgba(254,243,221,0.7); cursor:pointer; transition:all .15s; position:relative;
  text-decoration:none; display:inline-flex; align-items:center; }
.tab-btn:hover{ border-color:var(--brass); color:var(--paper); }
.tab-btn.active{ background:var(--brass); border-color:var(--brass); color:var(--ink); font-weight:700; }
.admin-subtle{ border-color:transparent; background:transparent; color:rgba(254,243,221,0.32); font-size:10.5px; padding:6px 10px; }
.admin-subtle:hover{ color:rgba(254,243,221,0.65); border-color:var(--line); }
.ig-nav-link:hover{ border-color:var(--brass); color:var(--brass); }

/* ---- Apply hero (form view header) ---- */
.apply-hero{ padding:52px 28px 20px; max-width:720px; margin:0 auto; text-align:center; }
.apply-crest{ height:150px; width:auto; margin:0 auto 22px; display:block; }
.apply-hero h1{ font-family:'Fraunces',serif; font-size:clamp(30px,4.5vw,46px); font-weight:700; margin:0 0 12px; line-height:1.05; }
.apply-hero h1 em{ font-style:italic; font-weight:400; color:var(--brass); }
.apply-hero p{ color:rgba(254,243,221,0.62); font-size:15px; line-height:1.6; max-width:520px; margin:0 auto; }

/* ---- View switching / animation ---- */
.view{ display:none; }
.view.active{ display:block; }
.apply-landing{ animation: landingIn .5s ease-out; }
@keyframes landingIn{ from{ opacity:0; } to{ opacity:1; } }
@keyframes formReveal{
  0%{ opacity:0; transform:translateY(36px) scale(.97); }
  60%{ opacity:1; }
  100%{ opacity:1; transform:translateY(0) scale(1); }
}
.form-reveal{ animation: formReveal .6s cubic-bezier(.22,.9,.32,1) forwards; }
.form-reveal .apply-form > *{ opacity:0; animation: fadeUp .45s ease-out forwards; }
.form-reveal .apply-form > *:nth-child(1){ animation-delay:.08s; }
.form-reveal .apply-form > *:nth-child(2){ animation-delay:.14s; }
.form-reveal .apply-form > *:nth-child(3){ animation-delay:.20s; }
.form-reveal .apply-form > *:nth-child(4){ animation-delay:.26s; }
.form-reveal .apply-form > *:nth-child(5){ animation-delay:.32s; }
.form-reveal .apply-form > *:nth-child(6){ animation-delay:.38s; }
.form-reveal .apply-form > *:nth-child(7){ animation-delay:.44s; }
.form-reveal .apply-form > *:nth-child(8){ animation-delay:.50s; }
.form-reveal .apply-form > *:nth-child(9){ animation-delay:.56s; }
.form-reveal .apply-form > *:nth-child(10){ animation-delay:.62s; }
.form-reveal .apply-form > *:nth-child(11){ animation-delay:.68s; }
.form-reveal .apply-form > *:nth-child(12){ animation-delay:.74s; }
@media (prefers-reduced-motion: reduce){ .form-reveal .apply-form > *{ animation:none !important; opacity:1 !important; } }
@keyframes landingExit{
  from{ opacity:1; transform:translateY(0) scale(1); }
  to{ opacity:0; transform:translateY(-24px) scale(.98); }
}
.view-exit{ animation: landingExit .4s cubic-bezier(.4,0,.6,1) forwards; }
@keyframes goldSweep{
  0%{ transform:scaleX(0); opacity:1; }
  60%{ transform:scaleX(1); opacity:1; }
  100%{ transform:scaleX(1); opacity:0; }
}
.sweep-line{
  position:fixed; top:0; left:0; width:100%; height:3px; background:var(--brass);
  transform-origin:left; z-index:200; pointer-events:none; animation: goldSweep .55s ease-out forwards;
}

/* ---- Landing view ---- */
.landing-hero{
  position:relative; min-height:64vh; display:flex; align-items:center; justify-content:center;
  background-image: linear-gradient(180deg, rgba(33,32,30,0.35) 0%, rgba(33,32,30,0.75) 55%, rgba(33,32,30,1) 100%), url('assets/hero_bg.jpg');
  background-size: cover; background-position: center 55%;
  text-align:center; padding:60px 24px 40px;
}
.landing-crest{ height:74px; width:auto; margin-bottom:18px; opacity:0; animation: fadeUp .7s ease-out .1s forwards; }
.landing-title{
  font-family:'Fraunces',serif; font-weight:700; color:var(--paper);
  font-size:clamp(48px,10vw,110px); letter-spacing:.06em; margin:0 0 14px; line-height:1;
}
.landing-title .lt-char{ display:inline-block; opacity:0; transform:translateY(24px); animation: letterIn .55s cubic-bezier(.2,.9,.3,1) forwards; }
@keyframes letterIn{ to{ opacity:1; transform:translateY(0); } }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:translateY(0);} }
.landing-tagline{
  font-family:'Fraunces',serif; font-style:italic; font-weight:400; color:var(--brass-light);
  font-size:clamp(15px,2.2vw,20px); margin:0; opacity:0; animation: fadeUp .7s ease-out .9s forwards;
}
.landing-body{ max-width:760px; margin:0 auto; padding:44px 28px 70px; text-align:center; }
.landing-text{ color:rgba(254,243,221,0.72); font-size:15.5px; line-height:1.75; margin:0 0 30px; opacity:0; animation: fadeUp .7s ease-out 1.1s forwards; }
.landing-collage{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:34px; }
.landing-collage img{ width:100%; height:150px; object-fit:cover; border-radius:8px; border:1px solid var(--line); transition:transform .25s; opacity:0; animation: fadeUp .55s ease-out forwards; }
.landing-collage img:hover{ transform:scale(1.04); }
.landing-collage img:nth-child(1){ animation-delay:1.3s; }
.landing-collage img:nth-child(2){ animation-delay:1.42s; }
.landing-collage img:nth-child(3){ animation-delay:1.54s; }
.landing-collage img:nth-child(4){ animation-delay:1.66s; }
.landing-subhead{ font-family:'Fraunces',serif; font-size:15px; font-weight:600; color:var(--paper); margin:0 0 14px; opacity:0; animation: fadeUp .6s ease-out 1.85s forwards; }
.apply-now-btn{
  margin-top:34px; background:var(--brass); color:var(--ink); border:none; padding:16px 46px; border-radius:8px;
  font-family:'Space Mono',monospace; font-size:13.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  cursor:pointer; transition:transform .15s, box-shadow .15s;
  opacity:0; animation: fadeUp .6s ease-out 2.55s forwards, btnBreathe 3.4s ease-in-out 3.2s infinite;
}
.apply-now-btn:hover{ transform:translateY(-2px); box-shadow:0 10px 24px -8px rgba(173,129,6,0.55); animation: fadeUp .6s ease-out 2.55s forwards; }
@keyframes btnBreathe{
  0%, 100%{ box-shadow:0 0 0 rgba(173,129,6,0); }
  50%{ box-shadow:0 6px 20px -6px rgba(173,129,6,0.5); }
}
.about-eyebrow{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--brass); margin:0 0 10px; text-align:center; }
.event-chip-row{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.event-chip{ font-family:'Space Mono',monospace; font-size:11px; padding:7px 13px; border-radius:999px; border:1px solid rgba(173,129,6,0.4); background:rgba(173,129,6,0.1); color:var(--brass-light); white-space:nowrap; opacity:0; animation: fadeUp .5s ease-out forwards; transition:transform .15s, background .15s; }
.event-chip:hover{ transform:translateY(-2px); background:rgba(173,129,6,0.2); }
.event-chip:nth-child(1){ animation-delay:1.95s; }
.event-chip:nth-child(2){ animation-delay:2.03s; }
.event-chip:nth-child(3){ animation-delay:2.11s; }
.event-chip:nth-child(4){ animation-delay:2.19s; }
.event-chip:nth-child(5){ animation-delay:2.27s; }
.event-chip:nth-child(6){ animation-delay:2.35s; }

@media (max-width:640px){
  .landing-collage{ grid-template-columns:repeat(2,1fr); }
  .landing-hero{ min-height:56vh; padding:44px 16px 30px; }
}
@media (prefers-reduced-motion: reduce){
  .landing-text, .landing-collage img, .landing-subhead, .apply-now-btn, .event-chip{ animation:none !important; opacity:1 !important; }
}

/* ---- File upload ---- */
.file-upload-row{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.file-input-hidden{ position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.file-upload-btn{
  display:inline-block; background:var(--rail-2); border:1px solid var(--line-strong); color:var(--paper);
  padding:9px 16px; border-radius:7px; font-family:'Space Mono',monospace; font-size:12px; cursor:pointer; transition:border-color .12s;
}
.file-upload-btn:hover{ border-color:var(--brass); }
.file-name-display{ font-size:12.5px; color:rgba(254,243,221,0.5); font-family:'Space Mono',monospace; }
.photo-preview{ margin-top:12px; width:84px; height:84px; object-fit:cover; border-radius:8px; border:1px solid var(--line-strong); }

/* ---- Apply form ---- */
.apply-form{ max-width:640px; margin:30px auto 80px; padding:0 28px; }
.fgroup{ margin-bottom:20px; }
.fgroup label{ display:block; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:rgba(254,243,221,0.55); margin-bottom:7px; }
.fgroup input[type=text], .fgroup input[type=email], .fgroup input[type=tel], .fgroup input[type=date], .fgroup select, .fgroup textarea{
  color-scheme: dark;
  width:100%; background:var(--rail-2); border:1px solid var(--line-strong); color:var(--paper);
  padding:11px 14px; border-radius:8px; font-family:'Inter',sans-serif; font-size:14.5px; outline:none; transition:border-color .15s;
}
.fgroup input:focus, .fgroup select:focus, .fgroup textarea:focus{ border-color:var(--brass); }
.fgroup textarea{ min-height:100px; resize:vertical; }
.frow{ display:flex; gap:14px; }
.frow .fgroup{ flex:1; }
.check-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:8px; }
.skills-section{ background:var(--rail-2); border:1px solid var(--line); border-radius:10px; padding:18px 18px 14px; }
.rating-row{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:18px; }
.rating-row:last-child{ margin-bottom:0; }
.rating-row-label{ font-family:'Fraunces',serif; font-weight:600; font-size:15px; color:var(--paper); }
.tier-chip-row{ display:flex; gap:7px; flex-wrap:wrap; }
.tier-chip{
  padding:7px 13px; border-radius:999px; border:1px solid var(--line-strong);
  background:var(--rail); color:rgba(254,243,221,0.7); font-family:'Space Mono',monospace; font-size:11.5px;
  cursor:pointer; transition:all .12s; white-space:nowrap;
}
.tier-chip:hover{ border-color:var(--brass); color:var(--paper); }
.tier-chip.selected{ background:var(--brass); border-color:var(--brass); color:var(--ink); font-weight:700; }
.check-item{ display:flex; align-items:center; gap:8px; background:var(--rail-2); border:1px solid var(--line);
  padding:9px 11px; border-radius:7px; cursor:pointer; font-size:13px; transition:border-color .12s; }
.check-item:hover{ border-color:var(--line-strong); }
.check-item input{ accent-color:var(--brass); width:15px; height:15px; }
.check-item.checked{ border-color:var(--brass); background:rgba(201,150,42,0.08); }
.field-error{ font-size:11px; color:var(--warn); margin-top:5px; display:none; }
.field-error.show{ display:block; }
.submit-btn{ width:100%; background:var(--brass); color:var(--ink); border:none; padding:14px; border-radius:8px;
  font-family:'Space Mono',monospace; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  cursor:pointer; transition:opacity .15s; margin-top:10px; }
.submit-btn:hover{ opacity:.88; }
.submit-btn:disabled{ opacity:.5; cursor:not-allowed; }
.form-top-error{ background:rgba(217,138,95,0.12); border:1px solid rgba(217,138,95,0.4); color:var(--warn);
  padding:12px 14px; border-radius:8px; font-size:13px; margin-bottom:18px; display:none; }
.form-top-error.show{ display:block; }

/* ---- Thank-you view ---- */
.thanks{ max-width:620px; margin:60px auto; padding:0 28px; text-align:center; animation: landingIn .5s ease-out; }
.thanks-photo{ width:100%; max-width:560px; border-radius:14px; border:1px solid var(--line-strong); margin-bottom:30px; opacity:0; animation: fadeUp .7s ease-out .1s forwards; }
.thanks .mark{ font-size:34px; color:var(--brass); margin-bottom:14px; }
.thanks h2{ font-family:'Fraunces',serif; font-size:28px; margin:0 0 12px; }
.thanks p{ color:rgba(254,243,221,0.65); line-height:1.6; }
.hidden{ display:none !important; }

/* ---- Hub shared styles (admin dashboard) ---- */
.hero{ padding:40px 28px 22px; border-bottom:1px solid var(--line); }
.eyebrow{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--brass); margin:0 0 8px; }
h1.hubtitle{ font-family:'Fraunces',serif; font-weight:700; font-size:clamp(28px,4vw,42px); margin:0 0 6px; }
h1.hubtitle em{ font-style:italic; font-weight:400; color:var(--brass); }
.hero p.sub{ font-size:14px; color:rgba(254,243,221,0.6); max-width:600px; margin:0; }
.hero-stats{ display:flex; gap:26px; margin-top:18px; flex-wrap:wrap; }
.stat{ font-family:'Space Mono',monospace; }
.stat .n{ font-size:22px; display:block; }
.stat .l{ font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:rgba(254,243,221,0.5); }

.rail{ position:sticky; top:63px; z-index:30; background:var(--rail); border-bottom:1px solid var(--line); padding:12px 28px; }
.rail-row{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom:9px; }
.rail-row:last-child{ margin-bottom:0; }
.rail-label{ font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:rgba(254,243,221,0.45); width:72px; flex-shrink:0; }
.search-wrap{ flex:1; min-width:180px; position:relative; }
#search{ width:100%; background:var(--rail-2); border:1px solid var(--line); color:var(--paper); padding:8px 12px 8px 30px; border-radius:6px; font-size:13.5px; outline:none; }
#search:focus{ border-color:var(--brass); }
.search-wrap::before{ content:"⌕"; position:absolute; left:10px; top:50%; transform:translateY(-50%); color:rgba(254,243,221,0.4); }
.chip{ font-family:'Space Mono',monospace; font-size:11px; padding:6px 11px; border-radius:999px; border:1px solid var(--line-strong); background:transparent; color:rgba(254,243,221,0.75); cursor:pointer; transition:all .12s; white-space:nowrap; }
.sort-select{
  font-family:'Space Mono',monospace; font-size:11.5px; padding:7px 12px; border-radius:8px;
  border:1px solid var(--line-strong); background:var(--rail-2); color:var(--paper); cursor:pointer; outline:none;
}
.sort-select:hover, .sort-select:focus{ border-color:var(--brass); }
.score-badge{ font-family:'Space Mono',monospace; font-size:10.5px; color:var(--brass-light); background:rgba(173,129,6,0.14); padding:3px 8px; border-radius:5px; }
.chip:hover{ border-color:var(--brass); color:var(--paper); }
.chip.active{ background:var(--brass); border-color:var(--brass); color:var(--ink); font-weight:700; }
.chip.pos-Flair-Mixologist.active{ background:var(--brass); border-color:var(--brass); }
.chip.pos-Mixologist.active{ background:var(--dustyblue); border-color:var(--dustyblue); }
.chip.pos-Barback.active{ background:var(--slate); border-color:var(--slate); }
.chip.pos-Server.active{ background:var(--sage); border-color:var(--sage); }
.day-chip{ width:40px; text-align:center; padding:6px 0; }
.chip-group{ display:flex; gap:6px; flex-wrap:wrap; }
.clear-btn{ font-family:'Space Mono',monospace; font-size:11px; color:rgba(254,243,221,0.45); background:none; border:none; cursor:pointer; text-decoration:underline; margin-left:auto; }
#noIgToggle.active{ background:var(--warn); border-color:var(--warn); color:var(--ink); font-weight:700; }
#newAppsToggle.active{ background:var(--sage); border-color:var(--sage); color:var(--ink); font-weight:700; }
.count-line{ font-family:'Space Mono',monospace; font-size:11px; color:rgba(254,243,221,0.4); padding:10px 28px 0; }

.grid{ padding:20px 28px 70px; display:grid; grid-template-columns:repeat(auto-fill, minmax(258px,1fr)); gap:16px; }
.card{ background:var(--rail-2); border:1px solid var(--line); border-radius:10px; overflow:hidden; position:relative; cursor:pointer; transition:transform .15s, border-color .15s; }
.card:hover{ transform:translateY(-3px); border-color:var(--line-strong); }
.new-ribbon{ position:absolute; top:10px; right:-6px; background:var(--warn); color:var(--ink); font-family:'Space Mono',monospace; font-size:9.5px; font-weight:700; padding:3px 10px; letter-spacing:.05em; z-index:2; }
.card-photo{ width:100%; height:175px; object-fit:cover; display:block; background:linear-gradient(135deg,#3a322a,#241f1a); }
.card-photo.placeholder{ display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:40px; color:rgba(254,243,221,0.28); }
.card-body{ padding:13px 15px 14px; }
.role-badges{ display:flex; gap:5px; flex-wrap:wrap; margin-bottom:8px; }
.badge{ display:inline-block; font-family:'Space Mono',monospace; font-size:9.5px; letter-spacing:.05em; text-transform:uppercase; padding:3px 8px; border-radius:4px; font-weight:700; color:#21201E; }
.card-name{ font-family:'Fraunces',serif; font-size:18px; font-weight:600; margin:0 0 3px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.card-loc{ font-size:11.5px; color:rgba(254,243,221,0.5); margin:0 0 9px; }
.days-row{ display:flex; gap:4px; margin-bottom:9px; }
.day-dot{ width:22px; height:19px; border-radius:4px; display:flex; align-items:center; justify-content:center; font-family:'Space Mono',monospace; font-size:9px; font-weight:700; background:rgba(254,243,221,0.06); color:rgba(254,243,221,0.28); }
.day-dot.on{ background:rgba(201,150,42,0.22); color:var(--brass); }
.card-foot{ display:flex; align-items:center; justify-content:space-between; border-top:1px dashed var(--line); padding-top:9px; }
.ig-link{ font-family:'Space Mono',monospace; font-size:11px; color:var(--paper); text-decoration:none; opacity:.75; }
.ig-link:hover{ opacity:1; color:var(--brass); }
.no-ig-flag{ font-family:'Space Mono',monospace; font-size:10px; color:var(--warn); background:rgba(217,138,95,0.14); border:1px solid rgba(217,138,95,0.4); padding:3px 7px; border-radius:5px; }
.empty{ text-align:center; padding:70px 20px; color:rgba(254,243,221,0.4); font-family:'Space Mono',monospace; font-size:13px; grid-column:1/-1; }

/* ---- Admin login gate ---- */
.login-gate{
  max-width:440px; margin:70px auto; text-align:center; padding:44px 36px 34px;
  background:var(--rail-2); border:1px solid var(--line); border-radius:14px;
  animation: landingIn .5s ease-out;
}
.login-gate .gate-crest{ height:52px; width:auto; margin-bottom:18px; opacity:.92; }
.login-gate .eyebrow{ text-align:center; }
.login-gate h2{ font-family:'Fraunces',serif; font-weight:700; font-size:28px; margin:0 0 10px; }
.login-gate h2 em{ font-style:italic; font-weight:400; color:var(--brass-light); }
.login-gate p{ color:rgba(254,243,221,0.6); font-size:13.5px; line-height:1.6; margin:0 0 24px; }
.login-gate .fgroup{ text-align:left; }
.login-gate button{
  width:100%; background:var(--brass); color:var(--ink); border:none; padding:13px; border-radius:8px;
  font-family:'Space Mono',monospace; font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  cursor:pointer; transition:transform .15s, box-shadow .15s;
}
.login-gate button:hover{ transform:translateY(-1px); box-shadow:0 8px 20px -8px rgba(173,129,6,0.5); }
.login-gate .err{ color:var(--warn); font-size:12px; margin-top:14px; display:none; }
.login-gate .err.show{ display:block; }

/* ---- Modal (shared) ---- */
.overlay{ position:fixed; inset:0; background:rgba(10,8,6,0.72); display:none; align-items:flex-start; justify-content:center; padding:5vh 20px; z-index:100; overflow-y:auto; }
.overlay.open{ display:flex; }
.modal{ background:var(--rail-2); border:1px solid var(--line-strong); border-radius:14px; max-width:620px; width:100%; overflow:hidden; position:relative; }
.modal-head{ display:flex; gap:16px; padding:22px 22px 14px; border-bottom:1px solid var(--line); }
.modal-photo{ width:96px; height:96px; border-radius:10px; object-fit:cover; flex-shrink:0; background:#3a322a; }
.modal-photo.placeholder{ display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:32px; color:rgba(254,243,221,0.28); }
.modal-name{ font-family:'Fraunces',serif; font-size:22px; font-weight:700; margin:0 0 5px; }
.modal-loc{ font-size:12px; color:rgba(254,243,221,0.55); }
.modal-close{ position:absolute; top:14px; right:18px; background:none; border:none; color:rgba(254,243,221,0.5); font-size:22px; cursor:pointer; z-index:2; }
.modal-close:hover{ color:var(--paper); }
.modal-body{ padding:16px 22px 22px; }
.mlabel{ font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:rgba(254,243,221,0.4); margin-bottom:5px; }
.notes-box{ font-size:13px; line-height:1.5; color:rgba(254,243,221,0.75); background:rgba(0,0,0,0.18); padding:11px 13px; border-radius:8px; margin-top:4px; }
.contact-row{ display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.contact-pill{ font-family:'Space Mono',monospace; font-size:11.5px; color:var(--paper); text-decoration:none; background:rgba(254,243,221,0.06); padding:6px 11px; border-radius:6px; border:1px solid var(--line); }
.contact-pill:hover{ border-color:var(--brass); color:var(--brass); }
.admin-note-label{ color:var(--warn) !important; }
.admin-notes-box{ border:1px dashed rgba(217,138,95,0.4); background:rgba(217,138,95,0.06); }
.admin-actions{ display:flex; gap:10px; margin-top:20px; padding-top:16px; border-top:1px solid var(--line); flex-wrap:wrap; }
.admin-btn{ font-family:'Space Mono',monospace; font-size:12px; font-weight:700; padding:9px 16px; border-radius:7px; cursor:pointer; border:1px solid var(--line-strong); background:transparent; color:var(--paper); transition:all .12s; }
.admin-btn.edit-btn:hover{ border-color:var(--brass); color:var(--brass); }
.admin-btn.delete-btn{ color:var(--warn); border-color:rgba(217,138,95,0.4); }
.admin-btn.delete-btn:hover{ background:rgba(217,138,95,0.12); border-color:var(--warn); }
.admin-btn.save-btn{ background:var(--brass); border-color:var(--brass); color:var(--ink); }
.admin-btn.save-btn:hover{ opacity:.88; }
.admin-btn.cancel-btn:hover{ border-color:var(--line-strong); }

/* Skill bars (profile modal) */
.skillbar-row{ margin-bottom:10px; }
.skillbar-label{ display:flex; justify-content:space-between; font-size:12px; margin-bottom:4px; color:rgba(254,243,221,0.7); }
.skillbar-track{ height:7px; background:rgba(254,243,221,0.08); border-radius:4px; overflow:hidden; }
.skillbar-fill{ height:100%; background:var(--brass); border-radius:4px; }

/* Delete confirm */
.delete-confirm{ background:rgba(217,138,95,0.1); border:1px solid rgba(217,138,95,0.4); border-radius:10px; padding:16px 18px; margin-top:16px; }
.delete-confirm p{ margin:0 0 12px; font-size:13.5px; color:var(--paper); }
.delete-confirm .row{ display:flex; gap:10px; }

@media (prefers-reduced-motion: reduce){ *{ transition:none !important; } }
@media (max-width:640px){
  .topnav{ padding:12px 16px; } .apply-hero, .apply-form, .hero, .rail, .grid{ padding-left:16px; padding-right:16px; }
  .frow{ flex-direction:column; }
  .grid{ grid-template-columns:1fr 1fr; }
}
