:root {
  --ra-bg: #f8fafc;
  --ra-card: #fff;
  --ra-border: #e5e7eb;
  --ra-text: #0f172a;
  --ra-muted: #475569;
  --ra-primary: #2563eb;
  --ra-primary-dark: #1d4ed8;
  --ra-accent: #e0f2fe;
  --ra-accent-text: #075985;
  --ra-danger: #e11d48;
}
body.ra-body-enabled { background: var(--ra-bg); }

.ra-form-card{
  max-width: 720px; margin: 24px auto; padding: 24px;
  background: var(--ra-card); border:1px solid var(--ra-border);
  border-radius: 16px; box-shadow:0 10px 30px rgba(15,23,42,0.08);
  color: var(--ra-text); font-family: sans-serif;
}
.ra-form-card h3{margin:0 0 12px;font-size:22px;font-weight:700;}
.ra-form-desc{color:var(--ra-muted);margin-bottom:16px;}

.ra-field{margin-bottom:14px;display:flex;flex-direction:column;gap:6px;}
.ra-field label{font-weight:600;}
.ra-field input,
.ra-field textarea,
.ra-field select{
  border:1px solid var(--ra-border); border-radius:10px;
  padding:11px 12px; font-size:14px; background:#fff; transition: border .15s, box-shadow .15s;
}
.ra-field input:focus,
.ra-field textarea:focus,
.ra-field select:focus{
  border-color: var(--ra-primary);
  box-shadow:0 0 0 3px rgba(37,99,235,0.15);
  outline:none;
}
.ra-req{color:var(--ra-danger);margin-right:4px;}
.ra-hint{color:var(--ra-muted);font-size:12px;}

.ra-btn-primary{
  background: var(--ra-primary); color:#fff; border:none; border-radius:12px;
  padding:12px 18px; font-size:15px; cursor:pointer; transition:.2s; width:100%;
}
.ra-btn-primary:hover{background: var(--ra-primary-dark);}
.ra-btn-primary:active{transform:translateY(1px);}
.ra-btn-primary:disabled{opacity:.6;cursor:not-allowed;}

.ra-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;}
.ra-card{
  background: var(--ra-card); border:1px solid var(--ra-border); border-radius:14px;
  padding:16px; box-shadow:0 6px 20px rgba(15,23,42,0.06);
}
.ra-card-header{display:flex;gap:12px;align-items:center;margin-bottom:8px;}
.ra-avatar{
  width:56px;height:56px;border-radius:14px;background:var(--ra-border);
  background-size:cover;background-position:center;
}
.ra-chip{
  display:inline-block;background:var(--ra-accent);color:var(--ra-accent-text);
  padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;
}
.ra-skills{font-weight:700;margin:6px 0;}
.ra-excerpt{color:var(--ra-muted);font-size:14px;min-height:40px;}
.ra-meta span{
  display:inline-block;background:#f1f5f9;padding:4px 8px;border-radius:8px;
  font-size:12px;margin-top:6px;
}
.ra-confidential{margin-top:10px;font-size:13px;color:var(--ra-text);}
.ra-locked{
  background:#fff7ed;border:1px dashed #fb923c;padding:8px;border-radius:8px;
  color:#c2410c;
}

.ra-phone-line{display:flex;align-items:center;gap:10px;margin-top:6px;}
.ra-phone-mask{letter-spacing:2px;font-weight:700;color:#475569;}
.ra-btn-show-phone{
  background:#2563eb;color:#fff;border:none;border-radius:10px;
  padding:8px 12px;font-size:13px;cursor:pointer;transition:.2s;
}
.ra-btn-show-phone:hover{background:#1d4ed8;}
.ra-phone-pop{
  position:absolute;z-index:9999;background:#0f172a;color:#fff;
  padding:10px 14px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,0.18);
  opacity:0;transform:translateY(-6px);transition:.15s;
  pointer-events:none;
}
.ra-phone-pop.show{opacity:1;transform:translateY(0);}

@media(max-width:600px){
  .ra-form-card,.ra-card{padding:14px;}
  .ra-card-header{align-items:flex-start;}
}