/* ---------------------------------------------------------------
 * /industry/assets/css/supplier.css
 * Shared styles for the supplier area: dashboard, the edit-* pages,
 * and the login / forgot / reset password pages. Previously repeated
 * inline in each file. Page-specific rules stay inline in the page.
 * --------------------------------------------------------------- */

/* --- Cards, notices, edit forms (dashboard + edit-* pages) ------- */
.ind-edit-company { max-width: 720px; margin: 0 auto; padding: 56px 24px 80px; }

.ind-supplier-dash__card { background: #fff; border: 1px solid #e7ddec; border-radius: 16px; padding: 32px; box-shadow: 0 6px 20px rgba(124,58,199,0.06); margin-bottom: 20px; }
.ind-supplier-dash__card h2 { font-family: var(--cr-font-heading); font-weight: 600; font-size: 18px; margin: 0 0 16px; color: #241c2e; }
.ind-supplier-dash__card p { font: 400 14px/1.6 var(--cr-font-body); color: #5b5364; margin: 0 0 16px; }

.ind-supplier-dash__notice { border-radius: 10px; padding: 14px 18px; font: 500 14px var(--cr-font-body); margin-bottom: 20px; }
.ind-supplier-dash__notice--success { background: #eef8ec; color: #2f7a1f; border: 1px solid #cdeac4; }
.ind-supplier-dash__notice--error { background: #fdeceb; color: #b3261e; border: 1px solid #f6c7c3; }

.ind-edit-company__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.ind-edit-company__field { margin-bottom: 16px; }
.ind-edit-company__field--full { grid-column: 1 / -1; }
.ind-edit-company__field label { display: block; font: 600 13px var(--cr-font-body); color: #241c2e; margin: 0 0 6px; }
.ind-edit-company__field input,
.ind-edit-company__field select,
.ind-edit-company__field textarea {
  width: 100%; border: 1px solid #e7ddec; border-radius: 10px; padding: 11px 14px;
  font: 400 14px var(--cr-font-body); color: #241c2e; background: #fff;
}
.ind-edit-company__field textarea { min-height: 140px; resize: vertical; }
.ind-edit-company__field input:focus,
.ind-edit-company__field select:focus,
.ind-edit-company__field textarea:focus { outline: none; border-color: #994ce5; }
.ind-edit-company__field input[readonly] { background: #f8f5fb; color: #6f6577; }
.ind-edit-company__field input[type="file"] { padding: 8px; }

.ind-edit-company__checkbox-label { display: flex; align-items: center; gap: 10px; font: 600 14px var(--cr-font-body); color: #241c2e; cursor: pointer; }
.ind-edit-company__checkbox-label input[type="checkbox"] { width: 18px; height: 18px; accent-color: #994ce5; cursor: pointer; }
.ind-edit-company__char-count { font: 400 12px var(--cr-font-body); color: #948b9e; float: right; }
.ind-edit-company__char-count.is-limit { color: #b3261e; }
.ind-edit-company__hint { font: 400 12px var(--cr-font-body); color: #948b9e; margin: 6px 0 0; }

.ind-edit-company__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.ind-edit-company__save { border: none; cursor: pointer; }
.ind-edit-company__back { background: #5b5364; color: #fff; border: none; }
.ind-edit-company__back:hover { background: #453f4d; color: #fff; }

@media (max-width: 560px) {
  .ind-edit-company__grid { grid-template-columns: 1fr; }
}

/* --- Basic rich-text editor (contenteditable + toolbar) ---------- */
.ind-editor { border: 1px solid #e7ddec; border-radius: 10px; overflow: hidden; }
.ind-editor__toolbar { display: flex; align-items: center; gap: 4px; background: #f8f5fb; border-bottom: 1px solid #e7ddec; padding: 8px; flex-wrap: wrap; }
.ind-editor__btn { border: 1px solid transparent; background: transparent; border-radius: 6px; padding: 6px 10px; font: 600 13px var(--cr-font-body); color: #241c2e; cursor: pointer; }
.ind-editor__btn:hover { background: #eee0fa; border-color: #e0c8f5; }
.ind-editor__divider { width: 1px; height: 20px; background: #e7ddec; margin: 0 4px; }
.ind-editor__surface { min-height: 140px; padding: 14px 16px; font: 400 14px/1.6 var(--cr-font-body); color: #241c2e; }
.ind-editor__surface:focus { outline: none; }
.ind-editor:focus-within { border-color: #994ce5; }
.ind-editor__surface ul, .ind-editor__surface ol { margin: 0 0 12px 20px; padding: 0; }
.ind-editor__surface p { margin: 0 0 12px; }
.ind-editor__hidden-input { display: none; }

/* --- Login / forgot / reset password pages ----------------------- */
.ind-supplier-login { max-width: 480px; margin: 0 auto; padding: 56px 24px 80px; }
.ind-supplier-login__card { background: #fff; border: 1px solid #e7ddec; border-radius: 16px; padding: 36px 32px; box-shadow: 0 6px 20px rgba(124,58,199,0.06); }
.ind-supplier-login .form-label { font: 600 13px var(--cr-font-body); color: #241c2e; margin-bottom: 6px; }
.ind-supplier-login .form-control { border-radius: 10px; border: 1px solid #ddd0ec; padding: 11px 14px; font: 400 14px var(--cr-font-body); }
.ind-supplier-login .form-control:focus { border-color: var(--cr-gold); box-shadow: 0 0 0 .2rem rgba(153,76,229,0.15); }
.ind-supplier-login__row { margin-bottom: 18px; }
.ind-supplier-login__errors { background: #fdf1f4; border: 1px solid #f3c9d4; color: #a5334a; border-radius: 10px; padding: 14px 16px; margin-bottom: 22px; font: 500 13px/1.5 var(--cr-font-body); }
.ind-supplier-login__errors ul { margin: 0; padding-left: 18px; }
.ind-supplier-login button[type="submit"] { width: 100%; padding: 13px; font-weight: 600; }
.ind-supplier-login__forgot { margin: 14px 0 0; text-align: center; font: 400 13px var(--cr-font-body); }
.ind-supplier-login__forgot a { color: #7c3ac7; font-weight: 600; text-decoration: none; }
.ind-supplier-login__forgot a:hover { color: #6a2fa8; text-decoration: underline; }
.ind-supplier-login__success h2,
.ind-supplier-login__message h2 { font-family: var(--cr-font-heading); font-weight: 600; font-size: 20px; margin: 0 0 8px; color: #241c2e; }
.ind-supplier-login__success p { font: 400 14px/1.6 var(--cr-font-body); color: #6f6577; margin: 0 0 12px; }
.ind-supplier-login__message p { font: 400 14px/1.6 var(--cr-font-body); color: #6f6577; margin: 0 0 16px; }
.ind-supplier-login__hint { font: 400 12px/1.5 var(--cr-font-body); color: #6f6577; margin: 6px 0 0; }
.ind-supplier-login__back { font: 400 13px/1.5 var(--cr-font-body); color: #6f6577; margin: 20px 0 0; text-align: center; }
.ind-supplier-login__back a { color: #7c3ac7; font-weight: 600; }

/* --- Password checklist (confirm-optin + reset-password) --------- */
.ind-password-checklist { list-style: none; margin: -6px 0 20px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; }
.ind-password-checklist li { font: 400 12.5px var(--cr-font-body); color: #a5334a; padding-left: 20px; position: relative; transition: color .15s ease; }
.ind-password-checklist li::before { content: "\2715"; position: absolute; left: 0; top: 0; font-size: 11px; color: #c9899b; }
.ind-password-checklist li.met { color: #2e8a57; }
.ind-password-checklist li.met::before { content: "\2713"; color: #2e8a57; }
.ind-password-checklist.shake { animation: ind-password-shake .35s ease; }
@keyframes ind-password-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
@media (max-width: 480px) { .ind-password-checklist { grid-template-columns: 1fr; } }
