/* Menhir global stylesheet
 * Base look derived from /org/org_login.php inline styles + banner snippet.
 */

:root{
  --mh-font: system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --mh-text: #111;
  --mh-muted: #666;
  --mh-border: #ddd;
  --mh-border-strong: #ccc;
  --mh-bg: #fff;
  --mh-panel: #fafafa;

  --mh-danger-border: #c33;
  --mh-danger-bg: #ffecec;

  --mh-warn-border: #f2c200;
  --mh-warn-bg: #fff7d6;

  --mh-success-border: #2b7;
  --mh-success-bg: #eafff3;

  --mh-radius: 12px;
  --mh-radius-pill: 999px;
  --mh-pad: 24px;
}

/* Layout */
.mh-body{
  font-family: var(--mh-font);
  color: var(--mh-text);
  padding: var(--mh-pad);
  background: var(--mh-bg);
}
.mh-container{
  max-width: 1100px;
}
.mh-narrow{
  max-width: 520px;
}

/* Headings */
h1{ margin: 0 0 8px 0; }
h3{ margin: 16px 0 8px 0; }

/* Links / nav */
a{ color: #0b57d0; text-decoration: none; }
a:hover{ text-decoration: underline; }
.mh-links{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin: 10px 0;
}

/* Panels / cards */
.mh-card{
  padding: 12px;
  border: 1px solid var(--mh-border);
  border-radius: var(--mh-radius);
  background: var(--mh-panel);
}
.mh-box{
  padding: 12px;
  border: 1px solid var(--mh-border);
  border-radius: var(--mh-radius);
  background: #fff;
}

/* Pills */
.mh-pill{
  display:inline-block;
  padding: 4px 10px;
  border-radius: var(--mh-radius-pill);
  border: 1px solid var(--mh-border);
  background: var(--mh-panel);
  font-size: 13px;
}

/* Forms */
label{ font-size: 14px; }
.mh-field{ margin: 10px 0; }
.mh-help{ font-size: 13px; color: var(--mh-muted); margin-top: 4px; }

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
select,
textarea{
  width: 100%;
  padding: 10px;
  border: 1px solid var(--mh-border-strong);
  border-radius: 10px;
  font-family: var(--mh-font);
  box-sizing: border-box;
}
textarea{ resize: vertical; }

button{
  padding: 10px 14px;
  border: 1px solid var(--mh-border-strong);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
}
button:hover{ filter: brightness(0.98); }

/* Action buttons */
.mh-btn{ }
.mh-btn-warn{
  border-color: var(--mh-warn-border);
  background: var(--mh-warn-bg);
}
.mh-btn-danger{
  border-color: var(--mh-danger-border);
  background: var(--mh-danger-bg);
}
.mh-btn-success{
  border-color: var(--mh-success-border);
  background: var(--mh-success-bg);
}

/* Alerts (includes your banner snippet) */
.mh-alert{
  margin: 12px 0;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid var(--mh-border);
  background: var(--mh-panel);
}
.mh-alert-danger{
  border-color: var(--mh-danger-border);
  background: var(--mh-danger-bg);
}
.mh-alert-warn{
  border-color: var(--mh-warn-border);
  background: var(--mh-warn-bg);
}
.mh-alert-success{
  border-color: var(--mh-success-border);
  background: var(--mh-success-bg);
}
.mh-alert-title{
  font-weight: 700;
  margin-bottom: 6px;
}

.mh-page-header {
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:18px;
}

.mh-meta {
  font-size:13px;
  color:#777;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.mh-grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:14px;
  margin-bottom:28px;
}

.mh-card {
  display:block;
  padding:16px;
  border:1px solid #ddd;
  border-radius:14px;
  background:#fff;
  text-decoration:none;
  transition:all 0.15s ease;
}

.mh-card:hover {
  border-color:#bbb;
  box-shadow:0 4px 12px rgba(0,0,0,0.05);
}

.mh-card h3 {
  margin:0 0 6px 0;
}

.mh-card p {
  margin:0;
  font-size:14px;
  color:#666;
}

.mh-section-title {
  margin:22px 0 12px 0;
  font-size:18px;
}

/* Tables */
table{ width:100%; border-collapse: collapse; }
th, td{ padding: 10px; border-bottom: 1px solid #eee; vertical-align: top; }
thead th{ border-bottom: 1px solid var(--mh-border); text-align: left; }

/* Small muted text */
.mh-muted{ color: var(--mh-muted); }
.mh-small{ font-size: 13px; }
