/*
 * OneHLP notices (ADR-002 "Notices", GK 2026-10-17)
 *
 * One look for every message, banner and callout in the portal, the Agent
 * Panel, the Admin Panel and both sign-in pages: a white card, a quiet
 * border, roomy padding, larger type and a 4 px bar on the left that carries
 * the tone. No tinted fills. Loaded after each skin, so it wins over the
 * osTicket and OneHLP rules it replaces. Colours are ADR-002 roles only.
 *
 * White and light blue (GK 2026-10-17): every notice has a white card, a light
 * blue border and bar, and blue icons in light blue circles; only errors are
 * red (bar, border and icon), so a failure can't be missed.
 * New markup: <div class="oh-notice oh-notice-attention">...</div>
 * Not here on purpose: chips, pills and badges (small labels keep their fill),
 * yellow internal notes (ADR-015), conversation bubbles.
 */

/* ---- tone of each notice ---- */
.oh-notice, .oh-notice-info,
#msg_info, .info-banner, .oh-banner-info, .oh-next, .oh-next-ontrack, .oh-l-planned, .oh-rq-searching,
#clientLogin .instructions { --oh-notice-tone: var(--oh-primary-border-strong); }

.oh-notice-attention,
#msg_warning, .warning_bar, .warning-banner, .oh-svc-banner, .oh-rv-ask, .oh-nr-issue, .oh-rv-reopen,
.oh-pk-unsupported, .oh-banner-warn, .oh-next-warn, .oh-sc-warning, .oh-rot-waiting,
.oh-approvals-master.oh-off { --oh-notice-tone: var(--oh-primary-border-strong); }

.oh-notice-success,
#msg_notice, .notice_bar, .notice-banner, .oh-next-done { --oh-notice-tone: var(--oh-primary-border-strong); }

.oh-notice-danger,
#msg_error, .error_bar, .error-banner, .oh-form-error, .oh-gate-err, h3#login-message:not(:empty),
.oh-next-bad, .oh-svc-banner.oh-svc-major {
  --oh-notice-tone: var(--oh-danger); --oh-notice-line: var(--oh-danger-border); --oh-notice-icon: var(--oh-danger);
}

/* ---- the card ---- */
.oh-notice,
#msg_notice, #msg_warning, #msg_error, #msg_info,
.notice_bar, .warning_bar, .error_bar,
.notice-banner, .warning-banner, .error-banner, .info-banner,
.oh-svc-banner, .oh-rv-ask, .oh-nr-issue, .oh-rv-reopen, .oh-l-planned, .oh-rq-searching,
.oh-form-error, #clientLogin .instructions, .oh-pk-unsupported,
.oh-banner, .oh-next, .oh-sc-warning, .oh-rot-waiting, .oh-approvals-master.oh-off, .oh-gate-err,
h3#login-message:not(:empty) {
  background: var(--oh-surface);
  background-image: none;
  color: var(--oh-text);
  border: 1px solid var(--oh-notice-line, var(--oh-primary-border));
  border-left: 4px solid var(--oh-notice-tone, var(--oh-primary-border-strong));
  border-radius: 12px;
  box-shadow: none;
}
.oh-notice a, #msg_notice a, #msg_warning a, #msg_error a, #msg_info a,
.oh-svc-banner a, .oh-nr-issue a, .oh-rv-reopen a, .oh-l-planned a, .oh-banner a, .oh-sc-warning a,
.oh-rot-waiting a, .oh-pk-unsupported a, .oh-form-error a { color: var(--oh-primary-text); }
.oh-banner-warn b, .oh-svc-banner b, .oh-l-planned b { color: var(--oh-text); }

/* ---- page messages: 16 px, a tone icon instead of osTicket's image ---- */
.oh-notice, #msg_notice, #msg_warning, #msg_error, #msg_info,
.notice_bar, .warning_bar, .error_bar,
.notice-banner, .warning-banner, .error-banner, .info-banner {
  position: relative;
  padding: 16px 20px 16px 52px;
  font-size: 1.125rem;
  line-height: 1.5;
  height: auto;
}
.oh-notice::before, #msg_notice::before, #msg_warning::before, #msg_error::before, #msg_info::before,
.notice_bar::before, .warning_bar::before, .error_bar::before,
.notice-banner::before, .warning-banner::before, .error-banner::before, .info-banner::before {
  font-family: FontAwesome;
  position: absolute; left: 20px; top: 16px;
  font-size: 1.25rem; line-height: 1.5rem;
  color: var(--oh-notice-icon, var(--oh-primary-text));
  content: "\f05a";                                   /* info-sign */
}
.oh-notice-attention::before, #msg_warning::before, .warning_bar::before, .warning-banner::before { content: "\f071"; }   /* warning-sign */
.oh-notice-success::before, #msg_notice::before, .notice_bar::before, .notice-banner::before { content: "\f058"; }       /* ok-sign */
.oh-notice-danger::before, #msg_error::before, .error_bar::before, .error-banner::before { content: "\f057"; }           /* remove-sign */
/* osTicket prints an <i> icon inside some banners: the bar and our icon replace it */
.warning-banner > i:first-child, .error-banner > i:first-child, .notice-banner > i:first-child,
.info-banner > i:first-child { display: none; }
#msg_info > i:first-child, #msg_warning > i:first-child, #msg_error > i:first-child,
#msg_notice > i:first-child { display: none; }   /* same in popups (user lookup...) */

/* ---- callouts: roomier, larger type ---- */
.oh-svc-banner, .oh-nr-issue, .oh-banner, .oh-sc-warning, .oh-pk-unsupported, .oh-rot-waiting {
  padding: 16px 20px; font-size: 1.125rem; line-height: 1.5;
}
.oh-svc-banner > i, .oh-nr-issue > i, .oh-sc-warning > i { color: var(--oh-notice-icon, var(--oh-primary-text)); }
.oh-rv-ask { padding: 28px 32px; gap: 20px; }
.oh-rv-ask h2 { font-size: 1.5rem; line-height: 1.35; }
.oh-rv-ask p { font-size: 1.1875rem; line-height: 1.6; }
.oh-rv-ask .oh-rv-ask-who { font-size: 1.0625rem; }
.oh-rv-reopen { padding: 14px 16px; font-size: 1.125rem; }
.oh-l-planned { padding: 14px 18px; font-size: 1.0625rem; }
.oh-rq-searching { border-radius: 0; border-width: 0 0 1px 4px; border-bottom-color: var(--oh-divider); padding: 12px 24px; font-size: 1.0625rem; }
.oh-next { padding: 20px 24px; gap: 14px; }
.oh-gate-err, .oh-form-error { padding: 12px 16px; font-size: 1.0625rem; }
h3#login-message:not(:empty) { padding: 12px 16px; font-size: 1.0625rem; }

@media (max-width: 760px) {
  .oh-notice, #msg_notice, #msg_warning, #msg_error, #msg_info,
  .notice-banner, .warning-banner, .error-banner, .info-banner { padding: 14px 16px 14px 46px; font-size: 1.0625rem; }
  .oh-notice::before, #msg_notice::before, #msg_warning::before, #msg_error::before, #msg_info::before,
  .notice-banner::before, .warning-banner::before, .error-banner::before, .info-banner::before { left: 16px; top: 14px; }
  .oh-rv-ask { padding: 20px; }
  .oh-rv-ask h2 { font-size: 1.3125rem; }
  .oh-rv-ask p { font-size: 1.125rem; }
  .oh-next { padding: 16px; }
}

/* ---- system strips across the top of the staff pages (#warning_bar: "delete setup directory") ---- */
#warning_bar, #notice_bar { --oh-notice-tone: var(--oh-primary-border-strong); }
#error_bar { --oh-notice-tone: var(--oh-danger); --oh-notice-icon: var(--oh-danger); }
#error_bar, #warning_bar, #notice_bar {
  position: relative;
  height: auto; margin: 0;
  padding: 12px 24px 12px 56px;
  font-size: 1.0625rem; line-height: 1.375rem;
  background: var(--oh-surface); background-image: none;
  color: var(--oh-text);
  border: 0; border-bottom: 1px solid var(--oh-primary-border);
  border-left: 4px solid var(--oh-notice-tone);
  border-radius: 0;
}
#error_bar::before, #warning_bar::before, #notice_bar::before {
  font-family: FontAwesome; position: absolute; left: 24px; top: 12px; font-size: 1.125rem; line-height: 1.375rem;
  color: var(--oh-notice-icon, var(--oh-primary-text));
}
#warning_bar::before { content: "\f071"; }
#error_bar::before { content: "\f057"; }
#notice_bar::before { content: "\f058"; }
/* icon tiles inside notices: a soft light-blue circle with the blue icon */
.oh-rv-ask .oh-l-sicon { background: var(--oh-primary-soft); color: var(--oh-primary-text); width: 44px; height: 44px;
  border-radius: 50%; font-size: 1.25rem; }
