/* Blade CRM — sign-in screen. Same tokens as crm-ui.css, scoped to .crm-auth. */
:root {
  --crm-brand: #fe9f43;
  --crm-primary-strong: color-mix(in srgb, var(--crm-brand) 74%, #0b1b2b);
  --crm-primary-ring: color-mix(in srgb, var(--crm-brand) 28%, transparent);
  --crm-navy: #092c4c;
  --crm-heading: #1f2a37;
  --crm-text: #5b636b;
  --crm-muted: #8a9198;
  --crm-border: #d6dbe0;
  --crm-danger: #c4320a;
}
body.ticket-page-sec { background: #fff !important; }
.crm-auth { min-height: 100vh; display: grid; grid-template-columns: minmax(380px, 44%) 1fr; font-family: 'Nunito', system-ui, -apple-system, 'Segoe UI', sans-serif; color: var(--crm-text); -webkit-font-smoothing: antialiased; }
.crm-auth *, .crm-auth *::before, .crm-auth *::after { box-sizing: border-box; }

/* Brand panel */
.crm-auth__panel {
  position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; gap: 32px;
  padding: 40px 48px; background: var(--crm-navy); color: #c9d6e3;
}
.crm-auth__panel::after {
  /* faint structural grid, not decoration-for-its-own-sake */
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent);
}
.crm-auth__panel > * { position: relative; z-index: 1; }
.crm-auth__brand { display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 800; letter-spacing: -.02em; color: #fff; }
.crm-auth__mark { width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; background: var(--crm-brand); color: #fff; font-size: 18px; font-weight: 800; }
.crm-auth__pitch h2 { text-transform: none; color: #fff; font-size: 30px; line-height: 1.2; font-weight: 800; letter-spacing: -.02em; max-width: 440px; margin: 0 0 28px; }
.crm-auth__pitch ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 18px; max-width: 420px; }
.crm-auth__pitch li { display: flex; gap: 14px; align-items: flex-start; font-size: 14px; line-height: 1.5; }
.crm-auth__pitch li .ti { flex-shrink: 0; width: 36px; height: 36px; border-radius: 8px; display: grid; place-items: center; font-size: 18px; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); }
.crm-auth__pitch li b { display: block; color: #fff; font-size: 14.5px; margin-bottom: 1px; }
.crm-auth__foot { margin: 0; font-size: 13px; color: #8ea3b8; }

/* Form side */
.crm-auth__main { display: flex; flex-direction: column; padding: 24px 32px 40px; background: #fff; }
.crm-auth__top { display: flex; justify-content: flex-end; align-items: center; gap: 10px; }
.crm-auth__link { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px; border-radius: 6px; color: var(--crm-heading) !important; font-weight: 700; font-size: 13.5px; text-decoration: none; }
.crm-auth__link:hover { background: #f3f5f7; }
.crm-auth__lang { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px; border: 1px solid #e6eaed; border-radius: 6px; background: #fff; color: var(--crm-heading); font-weight: 700; font-size: 13.5px; }
.crm-auth__lang:hover { background: #f3f5f7; }
.crm-auth .dropdown-menu { border: 1px solid #e6eaed; border-radius: 8px; box-shadow: 0 8px 28px rgba(16,24,40,.12); padding: 6px; max-height: 60vh; overflow-y: auto; font-size: 13.5px; }
.crm-auth .dropdown-item { border-radius: 6px; padding: 7px 10px; color: var(--crm-heading); font-weight: 600; }
.crm-auth .dropdown-item.active, .crm-auth .dropdown-item:active { background: color-mix(in srgb, var(--crm-brand) 12%, #fff); color: var(--crm-primary-strong); }

.crm-auth__form { width: 100%; max-width: 400px; margin: auto; padding: 32px 0; }
.crm-auth__form h1 { font-size: 26px; font-weight: 800; letter-spacing: -.02em; color: var(--crm-heading); margin: 0 0 6px; }
.crm-auth__sub { margin: 0 0 28px; font-size: 14.5px; color: var(--crm-text); }
.crm-auth__brand--mobile { display: none; color: var(--crm-heading); margin-bottom: 28px; }

.crm-field { margin-bottom: 18px; }
.crm-field label { display: block; font-size: 13px; font-weight: 700; color: var(--crm-heading); margin-bottom: 6px; }
.crm-field__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.crm-field__row a { font-size: 13px; font-weight: 700; color: var(--crm-primary-strong) !important; text-decoration: none; margin-bottom: 6px; }
.crm-field__row a:hover { text-decoration: underline; }
.crm-input { position: relative; display: flex; align-items: center; height: 46px; border: 1px solid var(--crm-border); border-radius: 7px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.crm-input:focus-within { border-color: var(--crm-brand); box-shadow: 0 0 0 3px var(--crm-primary-ring); }
.crm-input.is-invalid { border-color: var(--crm-danger); }
.crm-input > .ti { width: 42px; text-align: center; color: var(--crm-muted); font-size: 18px; flex-shrink: 0; }
.crm-input input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; font: inherit; font-size: 14.5px; color: var(--crm-heading); padding: 0 12px 0 0; }
.crm-input input::placeholder { color: var(--crm-muted); }
.crm-input__toggle { width: 42px; height: 100%; border: 0; background: none; color: var(--crm-muted); font-size: 18px; cursor: pointer; border-radius: 0 7px 7px 0; }
.crm-input__toggle:hover { color: var(--crm-heading); }
.crm-input__toggle:focus-visible { outline: 2px solid var(--crm-brand); outline-offset: -2px; }
.crm-field__error { margin: 6px 0 0; font-size: 12.5px; color: var(--crm-danger); font-weight: 600; }

.crm-auth__submit {
  width: 100%; height: 46px; margin-top: 8px; border: 0; border-radius: 7px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--crm-primary-strong); color: #fff; font: inherit; font-size: 15px; font-weight: 800;
  transition: background .15s;
}
.crm-auth__submit:hover { background: color-mix(in srgb, var(--crm-primary-strong) 86%, #000); }
.crm-auth__submit:focus-visible { outline: 3px solid var(--crm-primary-ring); outline-offset: 2px; }
.crm-auth__submit.is-loading { opacity: .75; cursor: progress; }
.crm-auth__submit.is-loading .ti { animation: crm-nudge .8s ease-in-out infinite alternate; }
@keyframes crm-nudge { to { transform: translateX(4px); } }
.crm-auth__alt { margin: 22px 0 0; text-align: center; font-size: 13.5px; }
.crm-auth__alt a { font-weight: 700; color: var(--crm-primary-strong) !important; }
.crm-auth h1, .crm-auth h2, .crm-auth label { text-transform: none; }

.crm-auth__alert { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 7px; margin-bottom: 18px; font-size: 13.5px; font-weight: 600; }
.crm-auth__alert .ti { font-size: 18px; flex-shrink: 0; }
.crm-auth__alert.is-danger { background: #fef3f2; color: #b42318; }
.crm-auth__alert.is-success { background: #ecfdf3; color: #067647; }
.crm-auth__alert.is-info { background: #eff8ff; color: #175cd3; }

@media (max-width: 991.98px) {
  .crm-auth { grid-template-columns: 1fr; }
  .crm-auth__panel { display: none; }
  .crm-auth__brand--mobile { display: flex; }
  .crm-auth__main { padding: 16px 20px 32px; }
  .crm-auth__form { margin-top: 24px; }
}
@media (prefers-reduced-motion: reduce) { .crm-auth__submit.is-loading .ti { animation: none; } }
[dir="rtl"] .crm-input input { padding: 0 0 0 12px; }
[dir="rtl"] .crm-input__toggle { border-radius: 7px 0 0 7px; }
