/* CIP presentation only. Keep native form names, layouts and semantic states. */
html:root {
  --cip-lime: #ff5a5f;
  --cip-lime-soft: rgba(255, 90, 95, .12);
  --cip-navy: #202426;
  --cip-support: #202426;
  --cip-muted: #66645f;
  --cip-border-soft: #d8d3ca;
  --cip-shadow: 0 18px 45px rgba(32, 36, 38, .08);
}

body.cip-site,
body.cip-auth-body,
body.cip-portal-body,
body.cip-onboarding-body,
.cip-auth-layout,
.cip-auth-main,
.cip-complete-page,
.cip-submitted-shell {
  background: #ffffff;
  color: #202426;
}

.cip-auth-panel { background: #faf8f4; color: #202426; }
.cip-auth-panel::after { background: rgba(255, 90, 95, .12); }
.cip-auth-panel__brand,
.cip-auth-panel__content p,
.cip-auth-benefit { color: #202426; }
.cip-auth-benefit__dot { color: #202426; background: rgba(255, 90, 95, .16); }
.cip-auth-card__topbar { background: #ff5a5f; }

/* Preserve the supplied raster's alpha/aspect, matching the existing CIP app. */
.cip-site img[src*="brand/harakisha-logo"],
.cip-auth-body img[src*="brand/harakisha-logo"],
.cip-portal-body img[src*="brand/harakisha-logo"],
.cip-onboarding-body img[src*="brand/harakisha-logo"] {
  object-fit: contain;
  filter: brightness(0);
}
.cip-auth-panel__brand img { width: min(144px, 40vw); height: auto; max-height: 52px; }
.cip-brandmark__icon { width: 144px; height: 52px; background: transparent; }
.cip-brandmark__icon img { width: 100%; height: auto; max-height: 52px; }
.cip-recruit-footer__brand .harakisha-wordmark-surface { margin-bottom: 1rem; }
.cip-recruit-footer__brand img {
  width: 144px;
  height: auto;
  object-fit: contain;
  margin-bottom: 0;
  background: transparent;
}

/* One field/action rhythm. Checkboxes, radio buttons and hidden proxies retain size. */
body:is(.cip-site,.cip-auth-body,.cip-portal-body,.cip-onboarding-body)
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="file"]),
body:is(.cip-site,.cip-auth-body,.cip-portal-body,.cip-onboarding-body) select {
  min-height: 56px;
  min-width: 0;
}
body:is(.cip-site,.cip-auth-body,.cip-portal-body,.cip-onboarding-body) textarea {
  min-height: 112px;
}
body:is(.cip-site,.cip-auth-body,.cip-portal-body,.cip-onboarding-body) :is(input,select,textarea) {
  color: #202426;
  background-color: #ffffff;
  border-color: #d8d3ca;
}
.cip-btn,.cip-btn-secondary,.cip-btn-ghost,.cip-file-trigger,
.cip-primary-btn,.cip-submit-btn,.cip-submit,.cip-otp-btn,
.cip-onboarding-body :is(#nextBtn,#prevBtn,#submitBtn) {
  min-height: 56px;
  white-space: normal;
}
.cip-btn,.cip-btn--green,.cip-primary-btn,.cip-submit-btn,.cip-submit,
.cip-onboarding-body :is(#nextBtn,#submitBtn) {
  background: #ff5a5f;
  color: #202426;
  border-color: #ff5a5f;
  box-shadow: 0 8px 20px rgba(32, 36, 38, .1);
}
.cip-btn:hover,.cip-btn--green:hover,.cip-primary-btn:hover,.cip-submit-btn:hover,.cip-submit:hover,
.cip-onboarding-body :is(#nextBtn,#submitBtn):hover { background: #ff9497; color: #202426; }
.cip-btn-secondary,.cip-btn-ghost,.cip-onboarding-body #prevBtn {
  background: #ffffff;
  color: #202426;
  border-color: #d8d3ca;
}
.cip-input-action,.cip-mobile-toggle,.cip-type-option,.cip-link-inline,
.cip-portal-header__nav a,.cip-auth-footer-links a,
.cip-approved-sidebar-signout,#cip_otp_resend_btn,
.cip-onboarding-body button[onclick^="goToStep"] {
  min-height: 44px;
  min-width: 44px;
}
.cip-input-action { width: 44px; height: 44px; }
.cip-auth-card .cip-field__input-wrap input { padding-inline-end: 3.75rem; }
.cip-link-inline,.cip-auth-footer-links a { display: inline-flex; align-items: center; color: #202426; }
.cip-link-inline:hover,.cip-auth-footer-links a:hover { text-decoration: underline; text-decoration-color: #ff5a5f; }

body:is(.cip-site,.cip-auth-body,.cip-portal-body,.cip-onboarding-body)
:is(input,select,textarea,button,a):focus-visible {
  outline: 3px solid #202426;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(255, 90, 95, .2);
}
.cip-approved-sidebar-link.is-active,.cip-approved-sidebar-group__title.is-active {
  background: #ff5a5f;
  color: #202426;
}
.cip-btn:disabled,.cip-btn-secondary:disabled,.cip-btn-ghost:disabled,
.cip-submit:disabled,
.cip-onboarding-body button:disabled { opacity: .55; cursor: not-allowed; transform: none; }

/* Semantic success stays green, separate from brand coral/current selection. */
.cip-flash--success,.cip-alert--success,.cip-site .alert-success,
.cip-file-status.is-visible { color: #166534; background: #f0fdf4; border-color: #bbf7d0; }
.cip-field-note.is-success,.cip-password-box__status { color: #166534; }
.cip-step-pill.is-complete span { background: #166534; color: #ffffff; }
.cip-doc-status-item.is-verified .cip-doc-status-item__icon,
.cip-submitted-doc.is-verified .cip-submitted-doc__icon { background: #dcfce7; color: #166534; }
body:is(.cip-site,.cip-auth-body,.cip-portal-body,.cip-onboarding-body)
:is(input,select,textarea):is([aria-invalid="true"],.is-invalid,.input-error,[class*="border-red-"]) { border-color: #b91c1c; }
body:is(.cip-site,.cip-auth-body,.cip-portal-body,.cip-onboarding-body)
:is(input,select,textarea):is(.is-valid,[class*="border-green-"]) { border-color: #166534; }
body:is(.cip-site,.cip-auth-body,.cip-portal-body,.cip-onboarding-body)
:is(input,select,textarea):disabled { color: #66645f; background-color: #faf8f4; cursor: not-allowed; }
.cip-approved-opportunity a { color: #ff9497; }

/* Legacy onboarding uses important declarations; keep this override equally scoped. */
body.cip-onboarding-body :is(#prevBtn,#nextBtn,#submitBtn) { min-height: 56px !important; }
body.cip-onboarding-body :is(#nextBtn,#submitBtn) {
  background: #ff5a5f !important;
  color: #202426 !important;
}
body.cip-onboarding-body :is(#nextBtn,#submitBtn):hover {
  background: #ff9497 !important;
  color: #202426 !important;
}
.cip-onboarding-body .text-green-600 { color: #166534 !important; }
