/* Runtec shared styles — used by workshop signup, partner directory & admin pages */
:root{
  --navy:#0E2438; --navy-2:#132E47; --steel:#1C4E6E;
  --amber:#E9A23B; --amber-dark:#C77F1F;
  --grey-bg:#EEF1F4; --white:#FFFFFF; --ink:#1B2733; --ink-soft:#4B5A68; --line:#D9DFE4;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:'Inter',sans-serif; color:var(--ink); background:var(--grey-bg); line-height:1.55;}
h1,h2,h3,h4{font-family:'Archivo',sans-serif; line-height:1.15; letter-spacing:-0.01em;}
a{color:inherit;}
.mono{font-family:'IBM Plex Mono',monospace;}
.wrap{max-width:920px; margin:0 auto; padding:0 24px;}

header.site{background:var(--navy); padding:0;}
.nav{display:flex; align-items:center; justify-content:space-between; height:74px; max-width:1180px; margin:0 auto; padding:0 28px;}
.logo{display:flex; align-items:center; gap:10px; font-family:'Archivo',sans-serif; font-weight:900; font-size:20px; color:var(--white);}
.logo .mark{width:32px; height:32px; background:var(--amber); display:flex; align-items:center; justify-content:center; color:var(--navy); font-family:'IBM Plex Mono',monospace; font-weight:700; border-radius:2px;}
.nav a.back{color:rgba(255,255,255,0.75); font-size:14px; font-weight:500;}
.nav a.back:hover{color:var(--white);}

.page-hero{background:linear-gradient(180deg,var(--navy),var(--navy-2)); color:var(--white); padding:56px 0 46px;}
.eyebrow{display:inline-flex; align-items:center; gap:8px; font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--amber); font-weight:600; margin-bottom:12px;}
.eyebrow::before{content:""; width:20px; height:2px; background:var(--amber); display:inline-block;}
.page-hero h1{font-size:clamp(26px,3.6vw,38px); color:var(--white); margin-bottom:10px;}
.page-hero p{color:rgba(255,255,255,0.75); font-size:15.5px; max-width:560px;}

main.content{padding:44px 0 80px;}

.plate{position:relative; background:var(--white); border:1px solid var(--line);}
.plate .rv{position:absolute; width:6px; height:6px; border-radius:50%; background:var(--amber-dark); opacity:.8;}
.plate .rv.a{top:10px;left:10px;} .plate .rv.b{top:10px;right:10px;}
.plate .rv.c{bottom:10px;left:10px;} .plate .rv.d{bottom:10px;right:10px;}

.card{background:var(--white); border:1px solid var(--line); padding:30px;}

.field{margin-bottom:20px;}
.field label{display:block; font-size:13.5px; font-weight:600; color:var(--navy); margin-bottom:7px;}
.field .hint{font-size:12px; color:var(--ink-soft); margin-top:5px;}
.field input[type=text], .field input[type=tel], .field input[type=password], .field select, .field textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:2px;
  font-family:'Inter',sans-serif; font-size:14.5px; color:var(--ink); background:var(--white);
}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--steel);}
.field-row{display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px;}
.checks{display:grid; grid-template-columns:repeat(2,1fr); gap:10px 16px;}
.check-item{display:flex; align-items:center; gap:9px; font-size:14px; padding:9px 12px; border:1px solid var(--line); border-radius:2px;}
.check-item input{width:16px; height:16px;}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 24px; font-weight:600; font-size:14.5px; border-radius:2px; border:1px solid transparent; cursor:pointer; text-decoration:none;}
.btn-amber{background:var(--amber); color:var(--navy);}
.btn-amber:hover{background:var(--amber-dark);}
.btn-navy{background:var(--navy); color:var(--white);}
.btn-navy:hover{background:var(--navy-2);}
.btn-outline{background:transparent; border-color:var(--line); color:var(--navy);}
.btn-outline:hover{border-color:var(--navy);}
.btn-danger{background:#B94A3F; color:var(--white);}
.btn-danger:hover{background:#9C3D33;}
.btn-sm{padding:8px 14px; font-size:13px;}

.msg{padding:16px 18px; border-radius:2px; margin-bottom:24px; font-size:14.5px;}
.msg.ok{background:#E7F5EC; color:#1F6B3B; border:1px solid #B9E3C6;}
.msg.err{background:#FBEAE8; color:#9C3D33; border:1px solid #F1C3BD;}

.filter-bar{background:var(--white); border:1px solid var(--line); padding:22px; margin-bottom:34px;}
.filter-grid{display:grid; grid-template-columns:repeat(4,1fr) auto; gap:14px; align-items:end;}
.filter-grid .field{margin-bottom:0;}

.results-count{font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--ink-soft); margin-bottom:18px; letter-spacing:0.04em;}

.workshop-card{background:var(--white); border:1px solid var(--line); padding:22px 24px; margin-bottom:14px; position:relative;}
.workshop-card h3{font-size:18px; color:var(--navy); margin-bottom:6px;}
.workshop-card .loc{font-size:13.5px; color:var(--ink-soft); margin-bottom:12px;}
.workshop-card .tags{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px;}
.tag{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.03em; padding:4px 9px; background:var(--grey-bg); color:var(--steel); border:1px solid var(--line);}
.tag.svc{background:#FDF3E7; color:var(--amber-dark); border-color:#F3DBB0;}
.workshop-card .call{display:inline-flex; align-items:center; gap:7px; font-weight:600; color:var(--navy); font-family:'IBM Plex Mono',monospace; font-size:14.5px;}

.empty-state{text-align:center; padding:60px 20px; color:var(--ink-soft); background:var(--white); border:1px dashed var(--line);}

table.admin-table{width:100%; border-collapse:collapse; background:var(--white); margin-bottom:40px;}
table.admin-table th, table.admin-table td{padding:12px 14px; border-bottom:1px solid var(--line); font-size:13.5px; text-align:left; vertical-align:top;}
table.admin-table th{background:var(--grey-bg); font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-soft);}
.status-pill{font-family:'IBM Plex Mono',monospace; font-size:11px; padding:4px 9px; border-radius:2px; text-transform:uppercase;}
.status-pill.pending{background:#FDF3E7; color:var(--amber-dark);}
.status-pill.approved{background:#E7F5EC; color:#1F6B3B;}
.action-row{display:flex; gap:8px;}

footer.site{background:var(--navy-2); color:rgba(255,255,255,0.55); padding:26px 0; text-align:center; font-size:12.5px; margin-top:60px;}

@media (max-width:760px){
  .field-row{grid-template-columns:1fr;}
  .filter-grid{grid-template-columns:1fr 1fr;}
  .checks{grid-template-columns:1fr;}
}
