/* ── CO Users Portal ──────────────────────────────────────────────────── */
#co-users-portal { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; max-width: 480px; margin: 0 auto; color: #222; }
.co-users-card { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 28px; margin-bottom: 20px; }
.co-users-card h2 { font-size: 20px; font-weight: 700; color: #1A3A5C; margin: 0 0 8px; }
.co-users-card .co-subtitle { color: #666; font-size: 14px; margin-bottom: 24px; }
.co-users-field { margin-bottom: 16px; }
.co-users-field label { display: block; font-size: 13px; font-weight: 600; color: #555; margin-bottom: 5px; }
.co-users-field input[type="text"],
.co-users-field input[type="email"],
.co-users-field input[type="password"],
.co-users-field input[type="tel"],
.co-users-field select { width: 100%; padding: 10px 12px; border: 1.5px solid #ccc; border-radius: 5px; font-size: 15px; box-sizing: border-box; }
.co-users-field input:focus, .co-users-field select:focus { border-color: #1A3A5C; outline: none; }
.co-users-btn { display: block; width: 100%; padding: 12px; border-radius: 6px; font-size: 15px; font-weight: 600; cursor: pointer; border: none; text-align: center; }
.co-users-btn-primary { background: #1A3A5C; color: #fff; }
.co-users-btn-primary:hover { background: #0f2640; }
.co-users-btn-secondary { background: #f0f0f0; color: #333; margin-top: 8px; }
.co-users-error { background: #fff0f0; border: 1px solid #fcc; border-radius: 5px; padding: 10px 14px; color: #c00; font-size: 13px; margin-bottom: 16px; display: none; }
.co-users-success { background: #e8f5ee; border: 1px solid #b3d9c4; border-radius: 5px; padding: 10px 14px; color: #1A5C38; font-size: 13px; margin-bottom: 16px; display: none; }
.co-users-divider { border: none; border-top: 1px solid #eee; margin: 20px 0; }
.co-users-link { background: none; border: none; color: #1A3A5C; cursor: pointer; font-size: 13px; text-decoration: underline; padding: 0; }
.co-users-otp-input { font-size: 28px; letter-spacing: 8px; text-align: center; font-family: monospace; }
.co-users-profile-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #eee; font-size: 14px; }
.co-users-profile-row:last-child { border-bottom: none; }
.co-users-profile-label { color: #888; min-width: 120px; }

/* ── CO Users Manage (frontend admin) ────────────────────────────── */
#co-users-manage .co-portal-header { display: flex; align-items: center; gap: 16px; padding: 20px 0 12px; border-bottom: 3px solid #2E7D52; margin-bottom: 24px; }
#co-users-manage .co-portal-header h2 { margin: 0; color: #1A5C38; font-size: 22px; }
#co-users-manage .co-portal-section { margin-bottom: 32px; }
#co-users-manage .co-portal-section h3 { font-size: 16px; font-weight: 700; color: #1A5C38; margin: 0 0 12px; padding-bottom: 6px; border-bottom: 1px solid #cce5d9; }
#co-users-manage .co-portal-table { width: 100%; border-collapse: collapse; font-size: 14px; }
#co-users-manage .co-portal-table th { background: #f0f8f4; color: #1A5C38; font-weight: 600; padding: 8px 12px; text-align: left; border-bottom: 2px solid #cce5d9; }
#co-users-manage .co-portal-table td { padding: 8px 12px; border-bottom: 1px solid #eee; }
#co-users-manage .co-portal-table tr:hover td { background: #fafafa; }
.co-portal-btn { display: inline-block; padding: 6px 14px; border-radius: 4px; font-size: 13px; font-weight: 600; cursor: pointer; border: 1px solid #ccc; background: #f5f5f5; color: #333; text-decoration: none; text-align: center; }
.co-portal-btn:hover { background: #e8e8e8; }
.co-portal-btn-primary { background: #1A5C38; color: #fff; border-color: #1A5C38; }
.co-portal-btn-primary:hover { background: #14472c; color: #fff; }
.co-portal-btn-small { padding: 4px 10px; font-size: 12px; }
.co-portal-btn-danger { background: #fff; color: #c00; border-color: #c00; padding: 8px 16px; }
.co-portal-btn-danger:hover { background: #fff5f5; }
.co-portal-notice { padding: 12px 16px; border-radius: 4px; margin-bottom: 16px; font-size: 14px; }
.co-portal-success { background: #e8f5ee; border-left: 4px solid #2E7D52; color: #1A5C38; }
.co-portal-error { background: #fff5f5; border-left: 4px solid #c00; color: #c00; }
.co-portal-form-table { width: 100%; border-collapse: collapse; }
.co-portal-form-table th { text-align: left; padding: 8px 12px 8px 0; font-weight: 600; color: #555; font-size: 13px; vertical-align: top; width: 140px; }
.co-portal-form-table td { padding: 6px 0; }
.co-portal-form-table input[type="text"],
.co-portal-form-table input[type="email"],
.co-portal-form-table input[type="password"],
.co-portal-form-table input[type="tel"],
.co-portal-form-table select { padding: 8px 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 14px; box-sizing: border-box; }
.co-portal-form-table input:focus, .co-portal-form-table select:focus { border-color: #1A5C38; outline: none; }
.co-portal-field-note { font-size: 12px; color: #888; margin: 4px 0 0; }
.co-portal-empty { color: #888; font-style: italic; }

/* Admin */
.co-users-admin h2 { margin-top: 20px; padding-bottom: 6px; border-bottom: 2px solid #1A3A5C; color: #1A3A5C; }
