/* ================================================================
   iCare National — admin + public registration CSS
   ================================================================ */

/* ── Admin dashboard ─────────────────────────────────────────── */
.icn-wrap { max-width: 1200px; }
.icn-header { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.icn-header h1 { font-size:22px; margin:0; color:#0d1117; }
.icn-header h1 span { color:#5f6368; font-weight:400; }
.icn-back { font-size:13px; color:#1a73e8; text-decoration:none; }
.icn-back:hover { text-decoration:underline; }

.icn-stats-row { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; margin-bottom:20px; }
.icn-stat-card { background:#fff; border-radius:12px; padding:16px; border-top:4px solid #e0e0e0; box-shadow:0 1px 4px rgba(0,0,0,.07); }
.icn-stat-value { font-size:32px; font-weight:800; line-height:1; margin-bottom:4px; }
.icn-stat-label { font-size:12px; color:#5f6368; }

.icn-card { background:#fff; border-radius:12px; padding:20px 22px; margin-bottom:16px; box-shadow:0 1px 4px rgba(0,0,0,.07); }
.icn-card h3 { font-size:15px; margin:0 0 14px; color:#0d1117; }
.icn-card--warn { border-left:4px solid #d93025; }

.icn-table { width:100%; border-collapse:collapse; font-size:13px; }
.icn-table th { text-align:left; padding:8px 12px; background:#f8f9fa; font-size:11px; font-weight:700; color:#5f6368; text-transform:uppercase; letter-spacing:.5px; border-bottom:1px solid #e0e0e0; }
.icn-table td { padding:10px 12px; border-bottom:1px solid #f0f0f0; vertical-align:middle; }
.icn-table tr:hover td { background:#f8f9ff; }

.icn-badge { display:inline-block; padding:2px 8px; border-radius:10px; font-size:10px; font-weight:700; }
.icn-badge--green  { background:#e6f4ea; color:#137333; }
.icn-badge--orange { background:#fff3e0; color:#e65100; }
.icn-badge--red    { background:#fce8e6; color:#c5221f; }
.icn-badge--gray   { background:#f1f3f4; color:#5f6368; }

.icn-toolbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.icn-alert { padding:10px 14px; border-radius:8px; font-size:13px; margin-bottom:12px;
             background:#e6f4ea; color:#137333; border:1px solid #ceead6; }
.icn-alert.error { background:#fce8e6; color:#c5221f; border-color:#f5c6c4; }

/* Hospital detail */
.icn-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.icn-field-row { display:flex; align-items:center; gap:10px; padding:7px 0; border-bottom:1px solid #f5f5f5; font-size:13px; }
.icn-field-label { min-width:140px; font-weight:600; color:#5f6368; font-size:12px; }
.icn-edit-input { flex:1; padding:7px 10px; border:1.5px solid #e0e0e0; border-radius:8px; font-size:13px; background:#fafafa; }
.icn-edit-input:focus { border-color:#1a73e8; outline:none; background:#fff; }

/* ── Public registration form ────────────────────────────────── */
.icn-reg-form-wrap { max-width:680px; margin:0 auto; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; }

.icn-reg-hero { background:linear-gradient(135deg,#0d1117 0%,#1a3a5c 100%); border-radius:16px; padding:36px 32px; text-align:center; color:#fff; margin-bottom:20px; }
.icn-reg-hero-badge { display:inline-block; background:rgba(255,255,255,.15); color:#fff; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:4px 14px; border-radius:20px; margin-bottom:14px; }
.icn-reg-hero h1 { font-size:26px; font-weight:800; margin:0 0 10px; }
.icn-reg-hero p { color:rgba(255,255,255,.7); font-size:13px; margin:0; }

.icn-reg-section { background:#fff; border:1px solid #e8eaed; border-radius:14px; padding:24px; margin-bottom:14px; position:relative; }
.icn-reg-section-number { position:absolute; top:-14px; left:20px; background:#1a73e8; color:#fff; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; }
.icn-reg-section-title { font-size:16px; font-weight:700; color:#0d1117; margin:0 0 16px; }
.icn-reg-hint { font-size:13px; color:#5f6368; margin-bottom:14px; }

.icn-reg-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.icn-reg-full { grid-column: 1 / -1; }
.icn-reg-field { display:flex; flex-direction:column; gap:5px; }
.icn-reg-field label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:#5f6368; }
.icn-reg-input { padding:10px 12px; border:1.5px solid #e0e0e0; border-radius:9px; font-size:14px; color:#0d1117; background:#fafafa; outline:none; transition:border-color .15s; }
.icn-reg-input:focus { border-color:#1a73e8; background:#fff; }
.req { color:#d93025; }

.icn-pic-entry { background:#f8f9fa; border:1px solid #e8eaed; border-radius:10px; padding:14px; margin-bottom:10px; }
.icn-pic-header { font-size:11px; font-weight:700; color:#1a73e8; text-transform:uppercase; letter-spacing:.5px; margin-bottom:10px; }

.icn-consent-block { background:#f8f9fa; border-radius:10px; padding:14px; display:flex; flex-direction:column; gap:6px; }
.icn-consent-label { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:#3c4043; line-height:1.5; cursor:pointer; }
.icn-consent-label input[type="checkbox"] { flex-shrink:0; margin-top:3px; }

.icn-btn-primary { display:block; padding:14px; background:#0d1117; color:#fff; border:none; border-radius:10px; font-size:15px; font-weight:700; cursor:pointer; transition:background .15s; }
.icn-btn-primary:hover { background:#1a73e8; }
.icn-btn-outline { background:#fff; color:#1a73e8; border:2px solid #1a73e8; border-radius:10px; padding:8px 16px; font-size:13px; font-weight:700; cursor:pointer; margin-top:8px; }
.icn-btn-outline:hover { background:#e8f0fe; }

.icn-reg-success { background:#fff; border:2px solid #ceead6; border-radius:16px; padding:40px; text-align:center; }
.icn-reg-success-icon { font-size:48px; color:#137333; margin-bottom:16px; }
.icn-reg-success h2 { color:#137333; margin-bottom:10px; }
.icn-reg-success p { color:#5f6368; font-size:14px; }

/* Practice location prompt button hover */
.icare-practice-select-btn:hover { border-color:#1a73e8 !important; background:#e8f0fe !important; }

@media (max-width: 600px) {
    .icn-reg-grid { grid-template-columns: 1fr; }
    .icn-detail-grid { grid-template-columns: 1fr; }
    .icn-stats-row { grid-template-columns: 1fr 1fr; }
}
