/* ЭМФ Сервис: presentation only. Kept last, separate from the accounting UI. */
html[data-brand="emf-service"] {
  --emf-ink: #202e39;
  --emf-muted: #68798a;
  --emf-blue: #0868cf;
  --emf-blue-dark: #0756ad;
  --emf-cyan: #00b8e6;
  --emf-surface: #ffffff;
  --emf-canvas: #f5f7fa;
  --emf-line: #e2e8ef;
  --emf-soft: #eef5fc;
  --emf-shadow: 0 3px 16px #20344705, 0 1px 3px #20344703;
  color: var(--emf-ink);
  background: var(--emf-canvas);
  accent-color: var(--emf-blue);
}

html[data-brand="emf-service"] body { background: var(--emf-canvas); }
html[data-brand="emf-service"] ::selection { color: #143f65; background: #cceeff; }

/* The original artwork is framed in CSS; the supplied image is not altered. */
.emf-brand { flex-direction: column; align-items: flex-start; gap: 12px; }
.emf-brand-logo { position: relative; width: 150px; aspect-ratio: 1024 / 496; overflow: hidden; flex-shrink: 0; }
.emf-brand-logo img { position: absolute; width: 122.460938%; height: auto; max-width: none; left: -11.230469%; top: -64.112904%; }
html[data-brand="emf-service"] .brand.emf-brand { padding: 1px 14px 25px; }
html[data-brand="emf-service"] .brand .emf-brand-caption { max-width: 194px; color: #6f8091; font-size: 8px; font-weight: 650; line-height: 1.6; letter-spacing: 1.1px; }

/* A quiet navigation rail: blue means selected, never debt or profit. */
html[data-brand="emf-service"] .sidebar { background: var(--emf-surface); color: var(--emf-ink); border-right: 1px solid var(--emf-line); padding-top: 26px; }
html[data-brand="emf-service"] .sidebar nav { scrollbar-color: #d8e1ea transparent; }
html[data-brand="emf-service"] .nav-label { color: #8694a3; font-size: 9px; letter-spacing: 1.35px; margin-bottom: 7px; }
html[data-brand="emf-service"] .nav-label.second { margin-top: 22px; }
html[data-brand="emf-service"] .sidebar nav button { color: #526477; border-radius: 10px; padding: 10px 12px; gap: 11px; font-size: 13px; font-weight: 600; transition: background-color .16s, color .16s, box-shadow .16s; }
html[data-brand="emf-service"] .sidebar nav button > svg { flex-shrink: 0; color: #8293a3; }
html[data-brand="emf-service"] .sidebar nav button:hover { color: #235880; background: #f3f7fb; }
html[data-brand="emf-service"] .sidebar nav button.active { color: #075eb9; background: #eaf3fe; box-shadow: inset 3px 0 var(--emf-blue); font-weight: 750; }
html[data-brand="emf-service"] .sidebar nav button.active svg { color: var(--emf-blue); }
html[data-brand="emf-service"] .sidebar nav button b { background: var(--emf-blue); }
html[data-brand="emf-service"] .profile { color: var(--emf-ink); border-top-color: var(--emf-line); margin-top: 14px; padding-top: 17px; }
html[data-brand="emf-service"] .profile .avatar { flex-shrink: 0; background: #edf4fc; color: #246bb0; border: 1px solid #dfeaf5; }
html[data-brand="emf-service"] .profile strong, html[data-brand="emf-service"] .profile small { overflow: hidden; text-overflow: ellipsis; }
html[data-brand="emf-service"] .profile small { color: #8692a0; }
html[data-brand="emf-service"] .logout { flex-shrink: 0; color: #7a8b9c; }
html[data-brand="emf-service"] .logout:hover { color: #075eb9; background: #edf4fc; }
html[data-brand="emf-service"] .topbar { background: #fffffff2; border-bottom-color: var(--emf-line); backdrop-filter: blur(12px); }

/* Consistent hierarchy, without changing dense financial table geometry. */
html[data-brand="emf-service"] .page { max-width: 1700px; }
html[data-brand="emf-service"] :is(.welcome, .finance-heading, .aur-page-head) h1 { color: var(--emf-ink); font-weight: 800; letter-spacing: -.8px; }
html[data-brand="emf-service"] .eyebrow { color: var(--emf-blue); letter-spacing: 1.15px; }
html[data-brand="emf-service"] :is(.welcome, .finance-heading) > div > p { color: var(--emf-muted); line-height: 1.6; }
html[data-brand="emf-service"] :is(.panel, .metric-card, .aur-panel, .bank-alert-panel, .owner-capital, .owner-dividends) { border-color: var(--emf-line); border-radius: 15px; box-shadow: var(--emf-shadow); }
html[data-brand="emf-service"] :is(.finance-metrics, .cash-balance-grid, .debt-balance-grid) > article { border-color: var(--emf-line); border-radius: 15px; box-shadow: var(--emf-shadow); }
html[data-brand="emf-service"] .finance-metrics > article { border-top-width: 3px; }
html[data-brand="emf-service"] .finance-metrics > article:nth-child(1) { border-top-color: #126bc0; }
html[data-brand="emf-service"] .finance-metrics > article:nth-child(2) { border-top-color: #6980ad; }
html[data-brand="emf-service"] .finance-metrics > article:nth-child(3) { border-top-color: #42a18c; }
html[data-brand="emf-service"] .finance-metrics > article:nth-child(4) { border-top-color: #62a4c4; }
html[data-brand="emf-service"] .finance-metrics > article.positive { border-top-color: #42a18c; }
html[data-brand="emf-service"] .finance-metrics > article.negative { border-top-color: #d75d54; }
html[data-brand="emf-service"] :is(.metric-copy, .finance-metrics article, .cash-balance-grid article, .debt-balance-grid article) strong { font-variant-numeric: tabular-nums; letter-spacing: -.65px; }
html[data-brand="emf-service"] .cash-balance-grid .total { background: linear-gradient(115deg, #203544, #163f60); border-color: #24455e; box-shadow: 0 7px 20px #1f3e5b14; }
html[data-brand="emf-service"] .cash-balance-grid .total strong { color: #fff; }
html[data-brand="emf-service"] .cash-balance-grid .total :is(span, small) { color: #c2d2df; }
html[data-brand="emf-service"] .cash-balance-grid .total span svg { color: #66cce6; }
html[data-brand="emf-service"] .metric-icon.navy { color: #246cae; background: #edf4fc; }
html[data-brand="emf-service"] .metric-icon.orange { color: #267dae; background: #eaf7fc; }
html[data-brand="emf-service"] :is(.panel-head h2, .owner-section-head h2, .aur-directory-head h2) { color: var(--emf-ink); }

/* Primary actions, tabs and dates share one visual language. */
html[data-brand="emf-service"] :is(.primary, .aur-page .aur-primary, .aur-modal .aur-primary, .opr-primary) { color: #fff; background: var(--emf-blue); border-color: var(--emf-blue); border-radius: 10px; box-shadow: 0 3px 9px #0868cf19; transition: background-color .16s, box-shadow .16s; }
html[data-brand="emf-service"] :is(.primary, .aur-page .aur-primary, .aur-modal .aur-primary, .opr-primary):hover:not(:disabled) { background: var(--emf-blue-dark); border-color: var(--emf-blue-dark); box-shadow: 0 4px 12px #0868cf25; transform: none; }
html[data-brand="emf-service"] :is(.secondary, .aur-page button:not(.aur-primary):not(.active), .aur-modal button:not(.aur-primary)) { border-color: var(--emf-line); color: #48627a; background: #f4f7fb; border-radius: 10px; }
html[data-brand="emf-service"] .secondary:hover:not(:disabled) { background: #eaf1f8; color: #205d94; }
html[data-brand="emf-service"] :is(.finance-tabs, .report-tabs, .aur-switch) { border-color: var(--emf-line); border-radius: 12px; box-shadow: 0 1px 3px #20344703; }
html[data-brand="emf-service"] :is(.finance-tabs, .report-tabs, .aur-switch) button.active { background: #eaf3fe; color: #075eb9; box-shadow: none; }
html[data-brand="emf-service"] :is(.finance-tabs, .report-tabs) button.active b { color: #075eb9; background: #d8eaff; }
html[data-brand="emf-service"] .period-range-trigger { border-color: var(--emf-line); border-radius: 11px; box-shadow: 0 1px 3px #20344704; }
html[data-brand="emf-service"] .period-range-trigger:hover { border-color: #b6cfe7; background: #fbfdff; }
html[data-brand="emf-service"] :is(.salary-month-popover, .period-range-popover, .notification-popover) { border-color: var(--emf-line); box-shadow: 0 12px 40px #25384e18, 0 2px 6px #25384e08; }

/* No extra borders around nested search inputs; labels and values stay aligned. */
html[data-brand="emf-service"] :is(.search, .aur-search, .global-search, .bank-order-search) { color: #7d91a5; }
html[data-brand="emf-service"] :is(.search, .aur-page .aur-search, .bank-order-search) { background: #fff; border-color: #dce5ee; border-radius: 10px; transition: border-color .15s, box-shadow .15s; }
html[data-brand="emf-service"] :is(.search, .aur-page .aur-search, .bank-order-search):focus-within { border-color: #589be0; box-shadow: 0 0 0 3px #0868cf0e; }
html[data-brand="emf-service"] :is(.search, .aur-search, .bank-order-search) input { box-shadow: none; outline: none; background: transparent; }
html[data-brand="emf-service"] :is(.search, .aur-search) input::placeholder { color: #8a99a9; opacity: 1; }
html[data-brand="emf-service"] .page select,
html[data-brand="emf-service"] .modal select,
html[data-brand="emf-service"] .aur-modal select {
  appearance: none; -webkit-appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2368798a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center;
  border: 1px solid #dce5ee; border-radius: 9px;
  color: #3a5168; padding: 9px 30px 9px 11px;
  min-width: 0; max-width: 100%; line-height: 1.35;
}
html[data-brand="emf-service"] :is(.orders-toolbar, .search, .status-filter, .date-sort) select { border: 0; background-color: transparent; }
html[data-brand="emf-service"] :is(.modal, .aur-modal) :is(input, textarea):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=range]):not([type=color]) { border-color: #dce5ee; border-radius: 9px; color: #294257; }
html[data-brand="emf-service"] :is(.modal, .aur-modal) :is(input, textarea)[readonly] { background: #f2f6fa; color: #4e657c; }
html[data-brand="emf-service"] :is(.modal, .aur-modal) :is(input, textarea, select):disabled { background-color: #f2f5f8; color: #788898; cursor: not-allowed; }
html[data-brand="emf-service"] :is(.modal, .aur-modal) :is(input, textarea, select):focus-visible { outline: 2px solid #7db6ed; outline-offset: 2px; box-shadow: none; }
html[data-brand="emf-service"] :is(button, a, summary):focus-visible { outline: 2px solid #2488df; outline-offset: 3px; }
html[data-brand="emf-service"] :is(.search, .aur-search) input:focus-visible { outline: none; }

/* Tables stay tables. Financial statuses deliberately keep their own colours. */
html[data-brand="emf-service"] .page :is(table th, .aur-table-head) { background: #f7f9fc; color: #75869a; border-bottom-color: var(--emf-line); letter-spacing: .3px; }
html[data-brand="emf-service"] .page table td { border-bottom-color: #edf1f5; font-variant-numeric: tabular-nums; }
html[data-brand="emf-service"] .order-row:hover,
html[data-brand="emf-service"] .clients-table tbody tr:hover,
html[data-brand="emf-service"] .clients-table tbody tr:focus { background: #f3f8ff; box-shadow: inset 3px 0 #2b88df; }
html[data-brand="emf-service"] .order-row:focus { box-shadow: inset 3px 0 #2b88df; }
html[data-brand="emf-service"] :is(.order-id-link, .client-name-link strong) { color: #2869a5; }
html[data-brand="emf-service"] .order-id-link:hover { color: #075eb9; }
html[data-brand="emf-service"] :is(.order-type, .client-avatar, .aur-person-icon) { color: #3e76a6; background: #edf5fc; }
html[data-brand="emf-service"] :is(.bank-allocation-history, .aur-history, .aur-month-parts) { border-color: var(--emf-line); }
html[data-brand="emf-service"] :is(.bank-history-entry, .aur-table-row) { font-variant-numeric: tabular-nums; }
html[data-brand="emf-service"] .bank-history-entry:hover { background: #fbfcfe; }
html[data-brand="emf-service"] :is(.aur-month-group > summary:hover, .aur-month-group[open] > summary) { background: #f3f8fe; }

/* Surface treatment only: no new modal limits or overlay stacking changes. */
html[data-brand="emf-service"] :is(.modal-backdrop, .aur-overlay) { background: #14283880; backdrop-filter: blur(5px); }
html[data-brand="emf-service"] :is(.modal, .aur-modal) { border: 1px solid #e2e9f1; border-radius: 19px; box-shadow: 0 24px 90px #132a4430, 0 4px 14px #132a440d; }
html[data-brand="emf-service"] :is(.modal, .aur-modal) h2 { color: var(--emf-ink); letter-spacing: -.4px; }
html[data-brand="emf-service"] .modal-close { color: #698094; background: #f2f6fa; border-radius: 10px; }
html[data-brand="emf-service"] .modal-close:hover { color: #275e91; background: #e9f2fc; }

@media (min-width: 801px) and (max-width: 1200px) {
  html[data-brand="emf-service"] .page { padding-left: 22px; padding-right: 22px; }
  html[data-brand="emf-service"] .page-notification { right: 22px; }
}
/* Keep one order/expense per row, including on smaller laptops. On a phone
   scroll the register itself instead of clipping values or making huge cards. */
@media (max-width: 1440px) {
  html[data-brand="emf-service"] .orders-register-v2:not(.accounting) :is(th, td):nth-child(3) { width: 9%; }
  html[data-brand="emf-service"] .orders-register-v2:not(.accounting) :is(th, td):nth-child(4) { width: 9%; }
  html[data-brand="emf-service"] .orders-register-v2 .order-status-cell .status { padding: 5px 6px; gap: 4px; max-width: 100%; font-size: 8.5px; line-height: 1.4; white-space: nowrap; }
  html[data-brand="emf-service"] .orders-register-v2 .order-status-cell .status i { width: 5px; height: 5px; flex-shrink: 0; }
}
@media (max-width: 1250px) {
  html[data-brand="emf-service"] :is(.orders-panel, .expense-panel) { min-width: 0; max-width: 100%; }
  html[data-brand="emf-service"] :is(.orders-table-wrap, .expense-panel .table-wrap) { overflow: auto; max-width: 100%; padding: 0; background: #fff; overscroll-behavior-x: contain; }
  html[data-brand="emf-service"] :is(.orders-register-v2, .orders-register-v2.accounting, .expense-panel .expense-table) { display: table; width: 100%; min-width: 900px; table-layout: fixed; border-collapse: collapse; }
  html[data-brand="emf-service"] :is(.orders-register-v2, .expense-panel .expense-table) thead { display: table-header-group; }
  html[data-brand="emf-service"] :is(.orders-register-v2, .expense-panel .expense-table) tbody { display: table-row-group; }
  html[data-brand="emf-service"] :is(.orders-register-v2 .order-row, .expense-panel .expense-table tr) { display: table-row; border-radius: 0; box-shadow: none; filter: none; }
  html[data-brand="emf-service"] .orders-register-v2 tbody td,
  html[data-brand="emf-service"] .expense-panel .expense-table td:nth-child(n) { display: table-cell; padding: 12px 7px; border-top: 0; border-right: 0; border-bottom: 1px solid #e7edf2; vertical-align: middle; }
  html[data-brand="emf-service"] .orders-register-v2 thead th { padding: 12px 7px; font-size: 8px; }
  html[data-brand="emf-service"] .orders-register-v2 .order-executor-names { display: block; }
  html[data-brand="emf-service"] .orders-register-v2 :is(.order-revenue-cell, .order-executor-payment-cell, .order-material-cost-cell, .order-profit-cell, .order-margin-cell) > strong { font-size: 12px !important; white-space: nowrap; }
  html[data-brand="emf-service"] .orders-register-v2 .order-main-cell > strong { font-size: 11px; }
  html[data-brand="emf-service"] .orders-register-v2 .order-payment-badge { font-size: 8px; }
  html[data-brand="emf-service"] .expense-panel .expense-table td::before { content: none; }
}
@media (max-width: 1100px) {
  html[data-brand="emf-service"] .app-shell > main { margin-left: 0; }
  html[data-brand="emf-service"] .sidebar { transform: translateX(-102%); transition: transform .2s ease; box-shadow: 16px 0 55px #172e441a; }
  html[data-brand="emf-service"] .sidebar.open { transform: translateX(0); }
  html[data-brand="emf-service"] .sidebar-shade { display: block; position: fixed; inset: 0; z-index: 29; border: 0; background: #14283870; backdrop-filter: blur(2px); }
  html[data-brand="emf-service"] .topbar { display: flex; padding-inline: 18px; }
  html[data-brand="emf-service"] .menu-button { display: grid; margin-right: 14px; width: 32px; height: 36px; border-radius: 8px; color: #4c6b83; }
  html[data-brand="emf-service"] .menu-button:hover { background: #edf4fc; }
  html[data-brand="emf-service"] .mobile-logo { display: block; }
  html[data-brand="emf-service"] .mobile-logo .brand.emf-brand { padding: 0; gap: 0; }
  html[data-brand="emf-service"] .mobile-logo .emf-brand-logo { width: 92px; }
  html[data-brand="emf-service"] .mobile-logo .emf-brand-caption { display: none; }
  html[data-brand="emf-service"] .page { padding-top: 24px; }
}
@media (max-width: 480px) {
  html[data-brand="emf-service"] :is(.finance-metrics, .cash-balance-grid, .debt-balance-grid, .opr-metrics) { gap: 10px; }
  html[data-brand="emf-service"] :is(.finance-metrics, .cash-balance-grid, .debt-balance-grid, .opr-metrics) > article { padding: 14px 12px; }
  html[data-brand="emf-service"] :is(.finance-metrics, .cash-balance-grid, .debt-balance-grid, .opr-metrics) strong { font-size: clamp(14px, 4.4vw, 20px) !important; white-space: normal; overflow-wrap: anywhere; letter-spacing: -.25px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-brand="emf-service"] :is(.sidebar nav button, .primary, .secondary, .search) { transition: none; }
}

.emf-auth-page {
  --emf-auth-ink:#24333f;
  --emf-auth-blue:#075ac4;
  --emf-auth-muted:#788996;
  min-height:100svh;
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);
  padding:20px;
  gap:16px;
  color:var(--emf-auth-ink);
  background:#fff;
}
.emf-auth-page .auth-visual {
  min-width:0;
  min-height:calc(100svh - 40px);
  display:flex;
  flex-direction:column;
  padding:clamp(28px,3.8vw,62px);
  color:var(--emf-auth-ink);
  background:radial-gradient(ellipse at 0 100%,#d9eef49c,transparent 55%),linear-gradient(145deg,#f5f8fa,#edf3f6);
  border:1px solid #e0e8ed;
  border-radius:24px;
  isolation:isolate;
}
.emf-auth-page .auth-visual::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.28;
  background-image:linear-gradient(#87aab11c 1px,transparent 1px),linear-gradient(90deg,#87aab11c 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(145deg,transparent 22%,#000);
  pointer-events:none;
}
.emf-auth-page .auth-visual::after { display:none; }
.emf-auth-brandline { position:relative; z-index:1; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; mix-blend-mode:multiply; }
.emf-auth-logo { position:relative; width:clamp(180px,22vw,310px); max-width:calc(100% - 62px); aspect-ratio:1024/496; overflow:hidden; flex-shrink:1; }
.emf-auth-logo img { position:absolute; display:block; width:122.460938%; max-width:none; height:auto; left:-11.132813%; top:-64.516129%; }
.emf-auth-crm-label { display:inline-flex; align-items:center; padding:7px 9px; margin-top:3px; border:1px solid #d8e3e9; border-radius:7px; color:#78909d; background:#ffffff6e; font-size:10px; line-height:1; font-weight:700; letter-spacing:1.1px; }
.emf-auth-page .auth-message { width:100%; max-width:580px; margin:auto 0; padding:70px 0 74px; z-index:1; }
.emf-auth-page .auth-message > span { display:inline-flex; align-items:center; gap:8px; color:#6e8594; font-size:10px; font-weight:700; letter-spacing:.65px; }
.emf-auth-page .auth-message > span svg { color:#007daf; flex-shrink:0; }
.emf-auth-page .auth-message h1 { margin:22px 0 20px; color:var(--emf-auth-ink); font-size:clamp(34px,3.6vw,59px); line-height:1.13; letter-spacing:-1.8px; font-weight:800; overflow-wrap:normal; }
.emf-auth-page .auth-message h1 em { display:inline-block; color:var(--emf-auth-blue); font-style:normal; }
.emf-auth-page .auth-message p { display:block; max-width:390px; margin:0; color:#758692; font-size:13px; line-height:1.85; }
.emf-auth-areas { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:32px; color:#576e7f; font-size:10px; font-weight:650; }
.emf-auth-areas i { width:3px; height:3px; border-radius:50%; background:#9ebcca; }
.emf-auth-page .auth-security { display:flex; align-items:flex-start; gap:11px; max-width:340px; color:#627d8d; padding-top:20px; border-top:1px solid #dbe6ec; z-index:1; }
.emf-auth-page .auth-security > svg { color:#31809c; margin-top:2px; flex-shrink:0; }
.emf-auth-page .auth-security strong { color:#536e7f; font-size:10px; font-weight:700; }
.emf-auth-page .auth-security small { margin-top:5px; color:#8999a5; font-size:10px; line-height:1.7; }
.emf-auth-circuit { position:absolute; bottom:58px; right:-65px; width:260px; height:165px; opacity:.48; pointer-events:none; z-index:0; }
.emf-auth-circuit i { position:absolute; right:0; width:200px; height:65px; border-left:1px solid #2ca6c570; border-bottom:1px solid #2ca6c570; border-radius:0 0 0 28px; transform:skewX(-22deg); }
.emf-auth-circuit i:nth-child(1) { top:0; }
.emf-auth-circuit i:nth-child(2) { top:20px; right:20px; }
.emf-auth-circuit i:nth-child(3) { top:40px; right:40px; }
.emf-auth-circuit span { position:absolute; width:7px; height:7px; top:37px; left:1px; border:2px solid #43bfd4; border-radius:50%; background:#eef5f7; box-shadow:0 0 0 5px #8ccee020; }
.emf-auth-page .auth-main { min-width:0; min-height:calc(100svh - 40px); margin:0; padding:40px 24px; display:flex; flex-direction:column; justify-content:center; align-items:center; }
.emf-auth-page .auth-card { width:min(420px,100%); padding:34px 36px; border:1px solid #e3e9ed; border-radius:18px; background:#fff; box-shadow:0 12px 45px #203d5510; margin:0; }
.emf-auth-page .auth-card-head { text-align:left; margin-bottom:29px; }
.emf-auth-page .auth-lock { display:grid; place-items:center; width:44px; height:44px; margin:0 0 22px; border:1px solid #daeaf6; border-radius:12px; color:var(--emf-auth-blue); background:linear-gradient(150deg,#f2f8fd,#eaf3fb); }
.emf-auth-card-kicker { display:block; color:#8397a6; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:1.25px; margin-bottom:7px; }
.emf-auth-page .auth-card h2 { margin:0; color:var(--emf-auth-ink); font-size:27px; font-weight:800; letter-spacing:-.6px; line-height:1.25; }
.emf-auth-page .auth-card-head p { max-width:100%; margin:10px 0 0; color:#85939f; font-size:11px; line-height:1.75; }
.emf-auth-page .auth-form label { margin:18px 0; color:#4a6172; font-size:11px; font-weight:650; }
.emf-auth-page .auth-input { height:49px; margin-top:8px; padding:0 13px; gap:9px; border:1px solid #dbe4eb; border-radius:9px; background:#fbfcfd; color:#91a3b2; transition:border-color .16s,box-shadow .16s,background .16s; }
.emf-auth-page .auth-input:focus-within { border-color:#468bd5; background:#fff; box-shadow:0 0 0 3px #0875d70e; }
.emf-auth-page .auth-input > svg { width:17px; height:17px; flex-shrink:0; }
.emf-auth-page .auth-input input { min-width:0; flex:1; height:100%; padding:0; margin:0; color:#2b465b; font-size:13px; border:0; outline:0; box-shadow:none; background:transparent; }
.emf-auth-page .auth-input input::placeholder { color:#9aa9b5; }
.emf-auth-page .auth-input button { display:grid; place-items:center; width:28px; height:32px; flex-shrink:0; padding:0; border:0; border-radius:5px; color:#899bac; background:transparent; }
.emf-auth-page .auth-input button:hover { color:var(--emf-auth-blue); background:#edf4fc; }
.emf-auth-page .auth-input button:focus-visible { outline:2px solid #73a5dc; outline-offset:2px; }
.emf-auth-page .auth-submit { height:49px; margin-top:24px; color:#fff; background:linear-gradient(110deg,#0869cf,#0955b4); box-shadow:0 5px 13px #075ac41c; border-radius:9px; font-size:12px; font-weight:750; transition:background .16s,box-shadow .16s; }
.emf-auth-page .auth-submit:hover { background:linear-gradient(110deg,#0873dd,#0861c9); box-shadow:0 6px 17px #075ac425; transform:none; }
.emf-auth-page .auth-submit:focus-visible { outline:3px solid #8bbbe7; outline-offset:3px; }
.emf-auth-page .auth-submit:disabled { opacity:.6; box-shadow:none; }
.emf-auth-page .auth-role { margin-top:23px; padding:15px 0 0; border-top:1px solid #e9eef2; border-radius:0; color:#718c9d; background:transparent; }
.emf-auth-page .auth-role > svg { flex-shrink:0; align-self:flex-start; margin-top:1px; color:#4687aa; }
.emf-auth-page .auth-role strong { color:#6a7e8d; font-size:10px; font-weight:600; }
.emf-auth-page .auth-role small { margin-top:5px; color:#97a4ae; font-size:9px; line-height:1.7; }
.emf-auth-page .auth-error { margin:0; padding:11px 12px; border:1px solid #f0d1cc; border-radius:8px; background:#fff4f1; color:#b45143; font-size:11px; line-height:1.55; }
.emf-auth-page .password-notice { padding:12px; gap:9px; color:#377d78; background:#eff8f5; border:1px solid #dbece6; }
.emf-auth-page .password-notice svg { flex-shrink:0; }
.emf-auth-page .password-notice strong { font-size:11px; }
.emf-auth-page .password-notice small { font-size:10px; line-height:1.55; }
.emf-auth-page .auth-footer { display:flex; align-items:center; justify-content:center; gap:6px; margin:24px 0 0; text-align:center; color:#96a4af; font-size:9px; line-height:1.7; }
.emf-auth-page .auth-footer svg { flex-shrink:0; color:#a5b4bf; }
@media (min-width:1600px) {
  .emf-auth-page { padding:28px; gap:24px; }
  .emf-auth-page .auth-visual,.emf-auth-page .auth-main { min-height:calc(100svh - 56px); }
  .emf-auth-page .auth-card { width:440px; padding:40px; }
}
@media (max-width:1050px) {
  .emf-auth-page { gap:8px; padding:14px; }
  .emf-auth-page .auth-visual { padding:30px; min-height:calc(100svh - 28px); }
  .emf-auth-page .auth-message h1 { font-size:37px; letter-spacing:-1.2px; }
  .emf-auth-page .auth-main { padding:24px 12px; min-height:calc(100svh - 28px); }
  .emf-auth-page .auth-card { padding:29px 25px; }
  .emf-auth-logo { width:230px; }
}
@media (max-width:800px) {
  .emf-auth-page { display:flex; flex-direction:column; gap:0; padding:14px; min-height:100svh; background:#f6f9fb; }
  .emf-auth-page .auth-visual { min-height:0; border-radius:18px; padding:22px 24px 54px; }
  .emf-auth-brandline { align-items:center; }
  .emf-auth-logo { width:180px; max-width:calc(100% - 60px); }
  .emf-auth-crm-label { margin:0; }
  .emf-auth-page .auth-message { max-width:100%; padding:26px 0 0; margin:0; }
  .emf-auth-page .auth-message > span { font-size:9px; letter-spacing:.2px; }
  .emf-auth-page .auth-message h1 { margin:14px 0 0; font-size:30px; letter-spacing:-.8px; }
  .emf-auth-page .auth-message h1 br { display:none; }
  .emf-auth-page .auth-message h1 em { margin-left:.25em; }
  .emf-auth-page .auth-message p { display:none; }
  .emf-auth-areas,.emf-auth-page .auth-security { display:none; }
  .emf-auth-circuit { bottom:-40px; right:-60px; opacity:.3; }
  .emf-auth-page .auth-main { min-height:0; margin:-28px 0 0; padding:0 16px 15px; position:relative; z-index:2; }
  .emf-auth-page .auth-card { width:min(460px,100%); padding:28px; margin:0; }
  .emf-auth-page .auth-lock { width:38px; height:38px; margin-bottom:16px; }
  .emf-auth-page .auth-card h2 { font-size:25px; }
  .emf-auth-page .auth-footer { margin-top:20px; }
}
@media (max-width:420px) {
  .emf-auth-page { padding:9px; }
  .emf-auth-page .auth-visual { padding:18px 20px 44px; border-radius:15px; }
  .emf-auth-logo { width:153px; }
  .emf-auth-page .auth-message { padding-top:18px; }
  .emf-auth-page .auth-message > span { font-size:8px; }
  .emf-auth-page .auth-message h1 { font-size:26px; }
  .emf-auth-page .auth-main { padding:0 8px 10px; margin-top:-22px; }
  .emf-auth-page .auth-card { padding:25px 22px; border-radius:14px; }
  .emf-auth-page .auth-card h2 { font-size:23px; }
  .emf-auth-page .auth-input input { font-size:16px; }
  .emf-auth-page .auth-card-head p { font-size:10px; }
  .emf-auth-page .auth-footer { font-size:8px; gap:4px; }
}
@media (prefers-reduced-motion:reduce) {
  .emf-auth-page .auth-input,.emf-auth-page .auth-submit { transition:none; }
}
