@import url("https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800&display=swap");

:root {
  --navy: #0b2d5c;
  --blue: #1769e0;
  --blue-2: #3b82f6;
  --blue-soft: #eaf3ff;
  --surface: #ffffff;
  --surface-2: #f5f8fc;
  --border: #dce6f2;
  --text: #15263c;
  --muted: #6c7d92;
  --success: #16865b;
  --success-soft: #e7f8f0;
  --warning: #b96d00;
  --warning-soft: #fff4dc;
  --danger: #c23a4d;
  --danger-soft: #fff0f2;
  --shadow: 0 14px 38px rgba(22, 60, 110, .08);
  --z-toast: 120;
}

* { box-sizing: border-box; }
html { color-scheme: light; }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--surface-2);
  color: var(--text);
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
  font-size: 14px;
}
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
small { color: var(--muted); }

.app-shell { display: grid; grid-template-columns: 282px minmax(0, 1fr); min-height: 100vh; }
.sidebar {
  position: sticky;
  top: 0;
  z-index: 10;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 24px 18px;
  color: #fff;
  background:
    radial-gradient(circle at 15% 5%, rgba(69, 147, 255, .24), transparent 30%),
    linear-gradient(165deg, #0a2d5a 0%, #071d3c 100%);
}
.brand { display: flex; align-items: center; gap: 12px; padding: 0 6px 14px; border-bottom: 1px solid rgba(255,255,255,.12); }
.brand div, .profile-card div, .security-note div { display: grid; min-width: 0; }
.brand strong { font-size: 20px; }
.brand small, .profile-card small, .security-note small { color: rgba(255,255,255,.64); }
.brand .brand-version { color: #9bc8ff; font-size: 11px; font-weight: 700; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(145deg, #64a8ff, #1769e0);
  box-shadow: 0 12px 28px rgba(23,105,224,.3);
  font-size: 27px;
  font-weight: 800;
}
.brand-mark.small { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 14px; font-size: 21px; }
.sidebar nav { display: grid; gap: 5px; overflow-y: auto; padding: 0 2px; }
.nav-item { display: flex; align-items: center; gap: 12px; padding: 10px 13px; border-radius: 12px; color: rgba(255,255,255,.76); transition: .16s ease; }
.nav-item span { width: 25px; text-align: center; font-size: 18px; }
.nav-item em { min-width: 0; margin-left: auto; font-style: normal; }
.nav-notification { display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border: 2px solid rgba(255,255,255,.3); border-radius: 999px; color: #fff; background: #e23b4f; box-shadow: 0 4px 12px rgba(226,59,79,.36); font-size: 10px; }
.nav-item:hover, .nav-item.active { color: #fff; background: rgba(89, 157, 255, .2); }
.nav-item.active { box-shadow: inset -3px 0 #66aaff; }
.security-note { display: flex; align-items: flex-start; gap: 10px; padding: 13px; margin-top: auto; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.06); }
.security-note > span { color: #70b4ff; font-size: 20px; }
.security-note strong { font-size: 13px; }
.security-note small { margin-top: 3px; font-size: 11px; line-height: 1.8; }
.profile-card { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.12); }
.profile-card strong, .profile-card small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: rgba(255,255,255,.14); font-weight: 800; }
.icon-button { border: 0; color: rgba(255,255,255,.65); background: transparent; cursor: pointer; font-size: 18px; }
.icon-button:hover { color: #fff; }

.content { min-width: 0; padding: 28px clamp(20px, 3.4vw, 52px) 60px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.topbar-identity { display: flex; align-items: center; gap: 16px; min-width: 0; }
.fund-header-logo {
  flex: 0 0 auto;
  width: 51px;
  height: 51px;
  padding: 1px;
  object-fit: contain;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
}
.topbar p { margin: 0 0 4px; color: var(--muted); }
.topbar h1 { margin: 0; font-size: clamp(24px, 3vw, 34px); letter-spacing: -.7px; }
.top-actions { display: flex; gap: 8px; align-items: center; }
.today { direction: ltr; padding: 9px 13px; border: 1px solid var(--border); border-radius: 11px; background: #fff; color: var(--muted); }
.user-notifications { position: relative; }
.user-notifications > summary {
  position: relative;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--blue);
  background: #fff;
  cursor: pointer;
  list-style: none;
  font-size: 22px;
  transition: .16s ease;
}
.user-notifications > summary::-webkit-details-marker { display: none; }
.user-notifications > summary:hover, .user-notifications[open] > summary { border-color: #a9c9f2; background: var(--blue-soft); }
.user-notifications > summary > b { position: absolute; top: -7px; left: -7px; display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 5px; border: 2px solid #fff; border-radius: 999px; color: #fff; background: var(--danger); box-shadow: 0 5px 13px rgba(194,58,77,.27); font-size: 9px; }
.notification-panel { position: absolute; z-index: 80; top: calc(100% + 9px); left: 0; display: none; width: min(390px, calc(100vw - 34px)); overflow: hidden; border: 1px solid #cbdcf0; border-radius: 17px; background: #fff; box-shadow: 0 22px 55px rgba(16,48,92,.2); }
.user-notifications[open] > .notification-panel, .user-notifications:hover > .notification-panel, .user-notifications:focus-within > .notification-panel { display: block; }
.notification-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 17px; border-bottom: 1px solid var(--border); background: linear-gradient(135deg, #f4f9ff, #fff); }
.notification-panel > header > div { display: grid; }
.notification-panel > header small { color: var(--blue); font-size: 10px; font-weight: 800; }
.notification-panel > header strong { color: var(--navy); font-size: 15px; }
.notification-panel > header em { color: var(--muted); font-size: 10px; font-style: normal; white-space: nowrap; }
.notification-list { display: grid; max-height: min(440px, 65vh); overflow-y: auto; }
.notification-item { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid #edf2f8; transition: .14s ease; }
.notification-item:last-child { border-bottom: 0; }
.notification-item:hover, .notification-item:focus { background: #f4f9ff; }
.notification-item > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; color: var(--blue); background: var(--blue-soft); font-size: 14px; font-weight: 900; }
.notification-item > div { display: grid; min-width: 0; }
.notification-item strong, .notification-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.notification-item strong { color: var(--text); font-size: 12px; }
.notification-item small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.notification-item > b { display: grid; place-items: center; min-width: 25px; height: 25px; padding: 0 6px; border-radius: 999px; color: #fff; background: var(--blue); font-size: 10px; }
.notification-empty { display: grid; place-items: center; gap: 4px; padding: 30px 16px; text-align: center; }
.notification-empty > span { display: grid; place-items: center; width: 45px; height: 45px; margin-bottom: 4px; border-radius: 15px; color: var(--success); background: var(--success-soft); font-size: 21px; }
.notification-empty small { color: var(--muted); }
.mobile-menu { display: none; width: 42px; height: 42px; border: 1px solid var(--border); border-radius: 11px; background: #fff; cursor: pointer; }

.alert { margin: 0 0 18px; padding: 12px 15px; border: 1px solid #b9d4f8; border-radius: 12px; background: var(--blue-soft); color: #1756a8; }
.alert.success { border-color: #bce6d3; background: var(--success-soft); color: #116a48; }
.alert.danger { border-color: #f1c0c8; background: var(--danger-soft); color: #a72a3d; }
.alert.warning { border-color: #f2d39e; background: var(--warning-soft); color: #85530b; }
.danger-text { color: var(--danger); }
.success-text { color: var(--success); }

.hp-global-alert-stack {
  position: fixed;
  z-index: var(--z-toast);
  top: 16px;
  left: 16px;
  display: grid;
  gap: 9px;
  width: min(420px, calc(100vw - 32px));
  direction: rtl;
  pointer-events: none;
}
.hp-global-alert {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 32px;
  align-items: start;
  gap: 10px;
  padding: 12px;
  border: 1px solid #f0b9c2;
  border-radius: 12px;
  color: #762031;
  background: #fff7f8;
  box-shadow: 0 4px 8px rgba(50, 30, 38, .14);
  pointer-events: auto;
  animation: hp-global-alert-enter 180ms cubic-bezier(.22, 1, .36, 1);
  transition: opacity 160ms ease, transform 160ms ease, background-color 160ms ease;
}
.hp-global-alert--warning { border-color: #ebc887; color: #71470a; background: #fffaf0; }
.hp-global-alert--success { border-color: #a9dbc5; color: #0f5f42; background: #f1fbf6; }
.hp-global-alert--info { border-color: #b9d4f8; color: #174f95; background: #f4f8ff; }
.hp-global-alert__icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #fff;
  background: var(--danger);
  font-weight: 900;
}
.hp-global-alert--warning .hp-global-alert__icon { background: var(--warning); }
.hp-global-alert--success .hp-global-alert__icon { background: var(--success); }
.hp-global-alert--info .hp-global-alert__icon { background: var(--blue); }
.hp-global-alert__content { min-width: 0; }
.hp-global-alert__content strong { display: block; font-size: 13px; }
.hp-global-alert__content p {
  max-width: 70ch;
  margin: 3px 0 0;
  overflow-wrap: anywhere;
  line-height: 1.75;
  text-wrap: pretty;
}
.hp-global-alert__close {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  color: currentColor;
  background: transparent;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}
.hp-global-alert__close:hover { background: rgba(0, 0, 0, .06); }
.hp-global-alert__close:focus-visible { outline: 3px solid #6da9eb; outline-offset: 2px; }
.hp-global-alert.is-leaving { opacity: 0; transform: translateY(-4px); }
.hp-global-alert.is-repeated { background: #fff0f2; }
@keyframes hp-global-alert-enter {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 520px) {
  .hp-global-alert-stack { top: 10px; right: 10px; left: 10px; width: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .hp-global-alert { animation: none; transition-duration: .01ms; }
}
@media print {
  .hp-global-alert-stack { display: none !important; }
}

.page-search-panel {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  padding: 12px 14px;
  border: 1px solid #cbdcf0;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(22, 60, 110, .05);
}
.page-search-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; color: var(--blue); background: var(--blue-soft); font-size: 24px; }
.page-search-panel label { gap: 3px; }
.page-search-panel label > span { color: var(--blue); font-size: 11px; font-weight: 800; }
.page-search-panel input { min-height: 36px; padding: 2px 0; border: 0; border-radius: 0; background: transparent; font-size: 14px; }
.page-search-panel input:focus { box-shadow: none; }
.page-search-panel > small { white-space: nowrap; }

.panel { border: 1px solid var(--border); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow); }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; border-bottom: 1px solid var(--border); }
.panel-heading span { color: var(--blue); font-size: 12px; font-weight: 700; }
.panel-heading h2 { margin: 2px 0 0; font-size: 18px; }
.panel-heading a { color: var(--blue); font-weight: 600; }

.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; margin-bottom: 18px; }
.stat-card { position: relative; min-height: 154px; overflow: hidden; padding: 22px; border: 1px solid var(--border); border-radius: 18px; background: #fff; box-shadow: var(--shadow); }
.stat-card > span { color: var(--muted); font-weight: 600; }
.stat-card b { display: block; margin: 13px 0 3px; color: var(--navy); font-size: 31px; }
.stat-card small { display: block; max-width: 75%; }
.stat-card i { position: absolute; left: 17px; bottom: 18px; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; color: var(--blue); background: var(--blue-soft); font-size: 24px; font-style: normal; }
.dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.span-2 { grid-column: span 2; }
.span-3 { grid-column: span 3; }

.company-list > details { border-bottom: 1px solid var(--border); }
.company-list > details:last-child { border-bottom: 0; }
.company-list > details > summary { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 14px 22px; cursor: pointer; list-style: none; }
.company-list > details > summary::-webkit-details-marker { display: none; }
.company-list > details[open] > summary { background: var(--surface-2); }
.company-list summary > div { display: grid; }
.company-list em { color: var(--muted); font-style: normal; font-size: 12px; }
.company-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: var(--blue); background: var(--blue-soft); font-size: 18px; }
.company-icon.large { width: 48px; height: 48px; font-size: 22px; }
.mini-list > div { display: grid; gap: 3px; padding: 13px 20px; border-bottom: 1px solid var(--border); }
.text-button { border: 0; color: var(--blue); background: transparent; cursor: pointer; font-weight: 700; }
.text-button.block { display: block; padding: 15px 20px; }
.empty-state { display: grid; place-items: center; min-height: 210px; padding: 24px; text-align: center; }
.empty-state b { color: #aac3e2; font-size: 36px; }
.empty-state.compact { min-height: 130px; }
.empty-cell { padding: 35px !important; color: var(--muted); text-align: center; }
.timeline { padding: 5px 20px 16px; }
.timeline > div:not(.empty-state) { display: grid; grid-template-columns: 35px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--border); }
.timeline > div > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 11px; color: var(--blue); background: var(--blue-soft); }
.timeline p { display: grid; gap: 2px; margin: 0; }
.timeline time { color: var(--muted); font-size: 12px; }

.form-panel { margin-bottom: 18px; }
.form-panel > summary { padding: 17px 20px; color: var(--blue); cursor: pointer; font-weight: 800; list-style: none; }
.form-panel > summary::-webkit-details-marker { display: none; }
.form-panel[open] > summary { border-bottom: 1px solid var(--border); }
.spreadsheet-panel { margin-bottom: 18px; border-color: #bcd6f7; background: linear-gradient(135deg, #fff, #f6faff); }
.spreadsheet-panel > summary { padding: 17px 20px; color: var(--blue); cursor: pointer; font-weight: 800; list-style: none; }
.spreadsheet-panel > summary::-webkit-details-marker { display: none; }
.spreadsheet-panel[open] > summary { border-bottom: 1px solid var(--border); }
.spreadsheet-import-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .75fr); gap: 18px; padding: 20px; }
.template-card { display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 16px; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.template-card div { display: grid; gap: 4px; }
.template-card small { line-height: 1.8; }
.spreadsheet-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 15px; color: #fff; background: linear-gradient(145deg, #13824e, #21a366); font-size: 11px; font-weight: 800; letter-spacing: .4px; }
.spreadsheet-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; }
.spreadsheet-form input[type="file"] { min-height: 45px; padding: 8px; background: #fff; }
.form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 20px; }
.stack-form { display: grid; gap: 14px; padding: 20px; }
label { display: grid; gap: 6px; color: #405269; font-size: 12px; font-weight: 600; }
input, select, textarea { width: 100%; min-height: 43px; padding: 9px 11px; border: 1px solid #ccd9e8; border-radius: 10px; outline: none; color: var(--text); background: #fff; }
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--blue-2); box-shadow: 0 0 0 3px rgba(59,130,246,.12); }
.searchable-select { display: grid; gap: 6px; }
.select-search-input { min-height: 38px; padding: 7px 10px; border-color: #b9cce3; background: #f7faff; font-size: 12px; }
.select-search-input::placeholder { color: #72869f; }
.select-search-empty { color: var(--danger); font-size: 11px; font-weight: 600; }
[data-service-form] [hidden] { display: none !important; }
.service-case-number { display: grid; gap: 11px; padding: 14px; border: 1px solid #c7daf2; border-radius: 13px; background: #f8fbff; }
.service-case-number legend { padding: 0 8px; color: var(--blue); font-size: 12px; font-weight: 800; }
.service-case-number-grid { display: grid; grid-template-columns: minmax(120px, .8fr) minmax(180px, 1.2fr) minmax(120px, .8fr); gap: 12px; direction: rtl; }
.service-case-number-grid label { direction: rtl; }
.service-case-number-grid input { direction: ltr; text-align: center; font-variant-numeric: tabular-nums; }
.service-case-number-other { max-width: 420px; }
.service-case-number > small { color: var(--muted); line-height: 1.8; }
.service-case-number-display { margin-top: 5px; color: var(--blue); }
.service-case-number-display b { display: inline; font-variant-numeric: tabular-nums; }
.full { grid-column: 1 / -1; }
.primary-button, .secondary-button, .download-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 17px; border: 0; border-radius: 10px; cursor: pointer; font-weight: 700; }
.primary-button { color: #fff; background: linear-gradient(135deg, #1769e0, #3184f4); box-shadow: 0 8px 18px rgba(23,105,224,.2); }
.text-link { display: inline-block; margin-top: 14px; color: #1769e0; font-weight: 700; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.secondary-button { color: var(--blue); background: var(--blue-soft); }
.download-button { min-height: 34px; color: var(--blue); background: var(--blue-soft); font-size: 12px; }
button:disabled { opacity: .55; cursor: wait; }

.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 17px; }
.company-card { padding: 20px; border: 1px solid var(--border); border-radius: 18px; background: #fff; box-shadow: var(--shadow); }
.card-top { display: flex; align-items: center; justify-content: space-between; }
.company-card h2 { margin: 15px 0 2px; font-size: 18px; }
.company-card p { min-height: 25px; margin: 0; color: var(--muted); }
.company-card dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 16px 0; }
.company-card dl div { padding: 9px; border-radius: 10px; background: var(--surface-2); }
.company-card dt { color: var(--muted); font-size: 11px; }
.company-card dd { margin: 2px 0 0; font-weight: 700; }
.badge { display: inline-flex; width: max-content; padding: 4px 9px; border-radius: 999px; color: #31577f; background: #edf3fa; font-size: 11px; font-weight: 700; white-space: nowrap; }
.badge.success { color: var(--success); background: var(--success-soft); }
.badge.warning { color: var(--warning); background: var(--warning-soft); }
.badge.info { color: var(--blue); background: var(--blue-soft); }
.badge.danger { color: var(--danger); background: var(--danger-soft); }
.primary-button:disabled, .secondary-button:disabled { opacity: .48; cursor: not-allowed; box-shadow: none; }

.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 780px; }
th, td { padding: 14px 16px; border-bottom: 1px solid var(--border); text-align: right; vertical-align: middle; }
th { color: var(--muted); background: #f8fafd; font-size: 12px; white-space: nowrap; }
td strong, td small { display: block; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fbfdff; }

.case-list, .request-grid { display: grid; gap: 15px; }
.workflow-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 23px; margin-bottom: 18px; }
.workflow-intro h2 { margin: 10px 0 4px; }
.workflow-intro p { max-width: 820px; margin: 0; color: var(--muted); line-height: 1.9; }
.workflow-catalog { display: grid; gap: 15px; }
.workflow-template > summary { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 15px; padding: 20px; cursor: pointer; list-style: none; }
.workflow-template > summary::-webkit-details-marker { display: none; }
.workflow-template[open] > summary { border-bottom: 1px solid var(--border); }
.workflow-template summary h2 { margin: 2px 0; font-size: 19px; }
.workflow-template summary p { margin: 0; color: var(--muted); }
.workflow-template summary div > span, .workflow-template summary em { color: var(--blue); font-size: 11px; font-style: normal; font-weight: 700; }
.workflow-number { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; color: #fff; background: linear-gradient(145deg, #1769e0, #5b9df2); font-size: 20px; font-weight: 800; }
.workflow-steps { display: grid; gap: 0; padding: 4px 20px 18px; }
.workflow-step { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 12px; padding: 17px 4px; border-bottom: 1px solid var(--border); }
.workflow-step:last-child { border-bottom: 0; }
.workflow-step.company-step { margin: 5px 0; padding: 17px 13px; border: 1px solid #f0d5a7; border-radius: 14px; background: #fffbf2; }
.step-index { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: var(--blue); background: var(--blue-soft); font-weight: 800; }
.company-step .step-index { color: var(--warning); background: var(--warning-soft); }
.step-title { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.step-title h3 { margin: 0; font-size: 15px; }
.workflow-step p { margin: 5px 0 8px; color: var(--muted); line-height: 1.8; }
.step-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; color: var(--muted); font-size: 11px; }
.step-meta b { color: var(--text); }
.company-fields-preview { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.company-fields-preview strong { color: var(--warning); font-size: 11px; }
.company-fields-preview span { padding: 4px 8px; border-radius: 8px; color: #775016; background: #fff1d4; font-size: 10px; }
.case-card { padding: 19px; }
.case-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.case-head h2 { margin: 8px 0 2px; font-size: 18px; }
.case-head p { margin: 0; color: var(--muted); }
.cartable-notification-panel { display: flex; align-items: center; gap: 13px; margin-bottom: 18px; padding: 16px 18px; border: 1px solid #f0b8bf; border-radius: 15px; color: #8d2130; background: #fff5f6; box-shadow: 0 8px 24px rgba(181,48,65,.08); }
.cartable-bell { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: #fff; background: #e23b4f; box-shadow: 0 6px 14px rgba(226,59,79,.25); }
.cartable-notification-panel > div { display: grid; gap: 5px; }
.cartable-notification-panel small { display: flex; flex-wrap: wrap; gap: 6px 12px; color: #a14c58; }
.case-card.has-cartable-notification { border-color: #eaa1aa; box-shadow: 0 10px 32px rgba(226,59,79,.12); }
.case-card.has-cartable-notification .case-stage { border: 1px solid #f0c2c8; background: #fff7f8; }
.stage-notification { display: inline-flex; align-items: center; margin-right: 8px; padding: 4px 8px; border-radius: 999px; color: #b12639; background: #ffe3e6; font-size: 10px; }
.case-stage { display: grid; gap: 3px; margin: 16px 0; padding: 14px; border-radius: 12px; background: var(--surface-2); }
.case-stage span { color: var(--muted); font-size: 11px; }
.case-progress { height: 7px; overflow: hidden; margin-top: 16px; border-radius: 999px; background: #e6eef8; }
.case-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1769e0, #60a5fa); }
.case-requirements { display: grid; gap: 6px; margin: -4px 0 15px; color: var(--muted); font-size: 12px; }
.case-requirements b { color: var(--text); }
.workflow-action-form { display: grid; gap: 13px; padding: 15px; border: 1px solid #cfe0f4; border-radius: 14px; background: #f8fbff; }
.company-action-fields { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.company-form-title { grid-column: 1 / -1; display: grid; gap: 2px; padding-bottom: 8px; border-bottom: 1px solid var(--border); }
.company-form-title strong { color: var(--blue); }
.workflow-note { max-width: 760px; }
.workflow-buttons { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.danger-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 17px; border: 0; border-radius: 10px; color: var(--danger); background: var(--danger-soft); cursor: pointer; font-weight: 700; }
.waiting-note { padding: 12px 14px; border: 1px dashed #b7cae2; border-radius: 11px; color: var(--muted); background: #f9fbfe; }
.transition-form { display: grid; grid-template-columns: minmax(0,1fr) 220px auto; gap: 9px; }
.request-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.request-card { display: grid; gap: 13px; padding: 19px; }
.request-card h2 { margin: 8px 0 1px; font-size: 17px; }
.request-card p { margin: 0; color: var(--muted); line-height: 1.9; }
.request-card footer { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding-top: 11px; border-top: 1px solid var(--border); color: var(--muted); font-size: 12px; }
.request-card footer strong { color: var(--success); }
.requested-items { display: grid; gap: 7px; padding: 12px; border-radius: 11px; color: var(--text); background: var(--blue-soft); line-height: 1.9; }
.inline-editor { margin-top: 13px; border-top: 1px solid var(--border); padding-top: 11px; }
.inline-editor > summary { color: var(--blue); cursor: pointer; font-weight: 800; }
.inline-editor .stack-form { margin-top: 12px; }
.service-filter-panel {
  display: grid;
  grid-template-columns: minmax(235px, 1.1fr) repeat(2, minmax(190px, .8fr)) auto;
  align-items: end;
  gap: 14px;
  margin-bottom: 18px;
  padding: 17px 18px;
  border-color: #bfd7f5;
  background: linear-gradient(135deg, #fff, #f5f9ff);
}
.service-filter-heading { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; align-self: center; }
.service-filter-heading > div { display: grid; gap: 3px; }
.service-filter-heading strong { color: var(--navy); font-size: 14px; }
.service-filter-heading small { line-height: 1.7; }
.service-filter-actions { display: flex; align-items: center; gap: 8px; }
.service-filter-actions .primary-button, .service-filter-actions .secondary-button { white-space: nowrap; }
.service-filter-result { grid-column: 2 / -1; color: var(--blue); font-weight: 700; }
.company-filter-panel { grid-template-columns: minmax(235px, 1.1fr) repeat(3, minmax(155px, .72fr)); }
.company-filter-panel .service-filter-actions { grid-column: auto; }
.service-row-actions { align-items: flex-start; min-width: 105px; }
.service-edit-toggle { white-space: nowrap; }
.service-edit-row > td {
  padding: 0;
  border-bottom: 2px solid #aacbf1;
  background: #f5f9ff;
}
.service-edit-row:hover > td { background: #f5f9ff; }
.service-edit-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 20px;
  border-top: 1px solid #c5dcf7;
  border-bottom: 1px solid #d5e5f7;
  background: #edf5ff;
}
.service-edit-heading > div { display: grid; gap: 3px; }
.service-edit-heading strong { color: var(--navy); font-size: 14px; }
.service-expanded-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 19px 20px 22px;
}
.service-expanded-form > .primary-button { align-self: end; }
.inline-delete { display: inline-flex; margin-top: 10px; }
.compact-button { min-height: 32px; padding: 5px 10px; font-size: 11px; }
.row-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.row-actions .inline-delete { margin-top: 0; }
.user-management-cell { min-width: 285px; vertical-align: top; }
.clickable-user-cell { min-width: 360px; vertical-align: top; }
.user-name-details { margin: 0; padding: 0; }
.user-name-link {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 22px;
  align-items: center;
  gap: 9px;
  min-width: 250px;
  padding: 7px 9px;
  border: 1px solid #c8ddf7;
  border-radius: 11px;
  color: var(--navy);
  background: #f7fbff;
  cursor: pointer;
  list-style: none;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.user-name-link::-webkit-details-marker { display: none; }
.user-name-link:hover,
.user-name-details[open] > .user-name-link {
  border-color: #8ab7ed;
  background: var(--blue-soft);
  box-shadow: 0 6px 18px rgba(22, 81, 150, .09);
}
.user-name-link > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.user-name-link strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-name-link small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.user-name-link i { color: var(--blue); font-style: normal; font-size: 16px; transition: transform .15s ease; }
.user-name-details[open] > .user-name-link i { transform: rotate(180deg); }
.employee-avatar.compact { width: 30px; height: 30px; border-radius: 9px; font-size: 11px; }
.user-name-action-panel {
  width: min(390px, 78vw);
  margin-top: 8px;
  padding: 11px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(16, 54, 101, .09);
}
.user-action-authority { display: block; margin-bottom: 8px; color: var(--success); font-weight: 800; }
.employee-name-link { color: var(--navy); font-weight: 800; text-decoration: none; }
.employee-name-link:hover { color: var(--blue); text-decoration: underline; }
tr[id^="user-row-"] { scroll-margin-top: 105px; }
tr[id^="user-row-"]:target { background: #f2f8ff; }
.user-action-buttons { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 7px; }
.user-action-editor { margin: 0; padding: 0; border: 0; }
.user-action-editor[open] { flex-basis: 100%; min-width: 320px; }
.user-action-editor > summary { list-style: none; }
.user-action-editor > summary::-webkit-details-marker { display: none; }
.user-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid #b9d4f8;
  border-radius: 9px;
  color: var(--blue);
  background: var(--blue-soft);
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.password-action { color: #765211; border-color: #ecd29e; background: #fff8e9; }
.delete-action { color: var(--danger); border-color: #f2c0c6; background: var(--danger-soft); }
.user-action-button:hover:not(:disabled) { filter: brightness(.97); box-shadow: 0 5px 13px rgba(22, 81, 150, .1); }
.user-action-button:disabled { opacity: .48; cursor: not-allowed; }
.user-action-buttons .inline-delete { margin-top: 0; }
.user-action-buttons .inline-delete .danger-button {
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid #f2c0c6;
  border-radius: 9px;
  font-size: 11px;
}
.user-action-panel {
  width: min(360px, 78vw);
  margin-top: 9px;
  padding: 13px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(16, 54, 101, .1);
}
.readonly-admin-note { display: block; max-width: 220px; color: var(--muted); line-height: 1.8; }
.document-filters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto auto; align-items: end; gap: 12px; padding: 16px; }
.bulk-toolbar { display: flex; align-items: center; gap: 12px; margin: 14px 0; }
.backup-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; }
.backup-panel h2 { margin: 3px 0; }
.backup-panel p { margin: 0; color: var(--muted); }

.jalali-picker { position: absolute; z-index: 90; top: calc(100% + 7px); right: 0; width: 292px; padding: 12px; border: 1px solid #c8d8ec; border-radius: 14px; background: #fff; box-shadow: 0 18px 50px rgba(18,58,105,.2); direction: rtl; }
.jalali-picker-head { display: grid; grid-template-columns: 34px minmax(0,1fr) 82px 34px; align-items: center; gap: 7px; margin-bottom: 9px; }
.jalali-picker-head strong { text-align: center; color: var(--navy); }
.jalali-picker .jalali-picker-head .jalali-picker-select { min-width: 0; min-height: 34px; padding: 5px 7px; border-radius: 8px; color: var(--navy); background: #f7faff; font-size: 11px; font-weight: 800; }
.jalali-picker .jalali-picker-head .jalali-picker-year { direction: ltr; text-align: center; }
.jalali-picker button { min-height: 32px; border: 0; border-radius: 8px; color: var(--text); background: transparent; cursor: pointer; font: inherit; }
.jalali-picker button:hover { color: #fff; background: var(--blue); }
.jalali-picker-grid { display: grid; grid-template-columns: repeat(7,1fr); gap: 3px; text-align: center; }
.jalali-picker-grid b { padding: 6px 0; color: var(--muted); font-size: 10px; }
.jalali-picker-grid .today { box-shadow: inset 0 0 0 2px var(--blue); color: var(--blue); font-weight: 800; }
.jalali-today { width: 100%; margin-top: 8px; color: var(--blue) !important; background: var(--blue-soft) !important; font-weight: 800 !important; }

.upload-zone { padding: 14px; border: 1px dashed #95b9e8; border-radius: 12px; background: #f7fbff; }
.upload-zone input { padding: 8px; background: transparent; }
.upload-progress { position: relative; height: 16px; overflow: hidden; border-radius: 999px; background: #e7eef7; }
.upload-progress span { position: absolute; inset: 0 auto 0 0; width: 0; background: linear-gradient(90deg, #1769e0, #64a8ff); transition: width .12s linear; }
.upload-progress b { position: absolute; inset: -2px 0 0; color: #fff; text-align: center; font-size: 11px; }
.upload-message { min-height: 20px; font-weight: 700; }

.reports-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.report-panel { overflow: hidden; }
.amount-stat { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: clamp(19px, 2vw, 28px) !important; }
.horizontal-chart { display: grid; gap: 18px; padding: 22px; }
.chart-row { display: grid; grid-template-columns: minmax(155px, .8fr) minmax(220px, 1.6fr); align-items: center; gap: 16px; }
.chart-row > div { display: grid; gap: 3px; }
.chart-track { display: block; height: 12px; overflow: hidden; border-radius: 999px; background: #e9eff7; }
.chart-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1769e0, #63a5f6); }
.stacked-service-chart { display: flex; direction: rtl; }
.stacked-service-chart i { flex: 0 0 auto; border-radius: 0; }
.stacked-service-chart i:first-child { border-radius: 0 999px 999px 0; }
.stacked-service-chart i:last-child { border-radius: 999px 0 0 999px; }
.stacked-service-chart .service-amount, .service-money-legend .service-amount { background: #1769e0; }
.stacked-service-chart .service-deposit, .service-money-legend .service-deposit { background: #14a37f; }
.stacked-service-chart .service-fee, .service-money-legend .service-fee { background: #ef9b25; }
.stacked-service-chart .service-count { background: linear-gradient(90deg, #7c93ad, #a8b8c9); }
.service-money-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 18px;
  padding: 0 22px 13px;
  color: var(--muted);
  font-size: 11px;
}
.service-money-legend span { display: inline-flex; align-items: center; gap: 6px; }
.service-money-legend i { width: 11px; height: 11px; border-radius: 3px; }
.service-money-detail { display: flex; flex-wrap: wrap; gap: 4px 9px; color: #52677f; font-size: 10px; }
.service-money-detail em { font-style: normal; white-space: nowrap; }
.report-money-legend { padding-top: 2px; border-bottom: 1px solid var(--border); }
.service-total-card { border-bottom: 3px solid var(--blue); }
.dashboard-service-report { margin-bottom: 18px; overflow: hidden; }
.dashboard-service-summary { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; padding: 0 20px 18px; }
.dashboard-service-summary > div { display: grid; gap: 5px; padding: 13px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); }
.dashboard-service-summary span { color: var(--muted); font-size: 11px; }
.dashboard-service-summary strong { color: var(--navy); font-size: 17px; }
.dashboard-service-summary strong small { color: var(--muted); font-size: 10px; }
.dashboard-service-chart { padding-top: 3px; border-top: 1px solid var(--border); }
.donut-wrap { display: grid; place-items: center; gap: 22px; padding: 24px; }
.donut-chart { position: relative; width: 186px; height: 186px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(16, 54, 101, .06); }
.donut-chart::after { content: ""; position: absolute; inset: 33px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px var(--border); }
.donut-chart span { position: absolute; z-index: 1; inset: 0; display: grid; place-content: center; text-align: center; }
.donut-chart b { font-size: 30px; color: var(--navy); }
.donut-chart small { display: block; }
.chart-legend { display: grid; gap: 10px; width: 100%; }
.chart-legend > div { display: grid; grid-template-columns: 12px minmax(0,1fr) auto; align-items: center; gap: 9px; }
.chart-legend i { width: 10px; height: 10px; border-radius: 3px; }
.legend-company { background: #e49a24; }
.legend-fund { background: #1769e0; }
.legend-done { background: #1b9a69; }
.company-activity-chart { display: grid; gap: 12px; padding: 22px; }
.company-activity-item { overflow: hidden; border: 1px solid var(--border); border-radius: 13px; background: #fff; }
.company-activity-item > summary { display: grid; grid-template-columns: minmax(170px, .8fr) minmax(240px, 2fr) 85px; align-items: center; gap: 14px; padding: 13px; cursor: pointer; list-style: none; }
.company-activity-item > summary::-webkit-details-marker { display: none; }
.company-activity-item[open] > summary { background: var(--surface-2); }
.company-activity-item > summary small { text-align: left; }
.company-report-detail { display: grid; gap: 14px; padding: 16px 20px 20px; border-top: 1px solid var(--border); background: #fbfdff; }
.activity-formula { display: grid; gap: 5px; padding: 12px 14px; border: 1px solid #c7dcf7; border-radius: 11px; color: #164f96; background: var(--blue-soft); }
.activity-formula span { line-height: 1.9; }
.company-service-detail-list { display: grid; gap: 8px; }
.company-service-detail-list > div { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(160px,.7fr); gap: 12px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
.company-service-detail-list > div > span { display: grid; gap: 3px; }
.company-service-detail-list > div > span:last-child { text-align: left; }
.company-service-detail-list small { color: var(--muted); line-height: 1.7; }
.no-company-service { padding: 12px; border: 1px dashed var(--border); border-radius: 10px; text-align: center; }
.report-detail-table { margin: 0 20px 22px; border: 1px solid var(--border); border-radius: 12px; }
.report-drilldown-row { cursor: pointer; transition: background-color .16s, box-shadow .16s; }
.report-drilldown-row:hover, .report-drilldown-row:focus { background: #f0f6ff; box-shadow: inset -3px 0 0 var(--blue); outline: 0; }
.report-drilldown-link { color: inherit; text-decoration: none; }
.report-drilldown-link strong::after { content: " ←"; color: var(--blue); }
.report-person-filter {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr)) auto;
  align-items: end;
  gap: 12px;
  margin: 0 20px 16px;
  padding: 15px;
  border: 1px solid #c7daf2;
  border-radius: 12px;
  background: #f8fbff;
}
.report-person-filter-actions { display: flex; align-items: center; gap: 8px; }
.report-person-filter-actions > * { white-space: nowrap; }
.report-person-result { grid-column: 1 / -1; color: var(--blue); font-weight: 700; }
.report-person-pagination { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 0 20px 20px; }
.report-person-pagination .disabled { opacity: .45; pointer-events: none; }

.guarantee-intro { display: grid; gap: 18px; margin-bottom: 18px; padding: 23px; background: linear-gradient(135deg, #fff, #eef6ff); }
.guarantee-intro h2 { margin: 10px 0 5px; color: var(--navy); }
.guarantee-intro p { max-width: 920px; margin: 0; color: var(--muted); line-height: 1.9; }
.guarantee-flow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.guarantee-flow span { padding: 8px 11px; border: 1px solid #c6daf3; border-radius: 10px; color: #164f96; background: #fff; font-size: 12px; font-weight: 700; }
.guarantee-flow b { color: #78a4d8; }
.guarantee-create-form { padding-top: 12px; }
.guarantee-declarations { display: flex; flex-wrap: wrap; gap: 10px 16px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; }
.guarantee-declarations label { flex-direction: row; align-items: center; min-width: 220px; }
.guarantee-declarations input { width: auto; min-height: auto; }
.guarantee-list { display: grid; gap: 18px; }
.guarantee-card { scroll-margin-top: 18px; overflow: hidden; }
.guarantee-head { display: flex; justify-content: space-between; gap: 18px; padding: 22px; border-bottom: 1px solid var(--border); background: linear-gradient(135deg, #fff, #f7fbff); }
.guarantee-head h2 { margin: 8px 0 2px; }
.guarantee-head p { margin: 0; color: var(--muted); }
.guarantee-status { display: grid; justify-items: end; align-content: start; gap: 6px; white-space: nowrap; }
.guarantee-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0; background: var(--border); }
.guarantee-summary-grid > div { display: grid; gap: 5px; padding: 16px 18px; background: #fff; }
.guarantee-summary-grid strong { color: var(--navy); overflow-wrap: anywhere; }
.document-completeness { height: 7px; background: #e7edf5; }
.document-completeness span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--blue), #46a0ff); transition: width .25s ease; }
.review-note { margin: 18px 22px 0; padding: 14px 16px; border-right: 4px solid var(--blue); border-radius: 12px; background: var(--blue-soft); }
.review-note p { margin: 5px 0 0; line-height: 1.9; }
.guarantee-section { margin: 18px 22px; border: 1px solid var(--border); border-radius: 15px; background: #fff; }
.guarantee-section > summary { padding: 15px 17px; color: var(--navy); background: #f8fbff; cursor: pointer; font-weight: 800; }
.guarantee-section[open] > summary { border-bottom: 1px solid var(--border); }
.section-help { margin: 14px 18px; color: var(--muted); line-height: 1.9; }
.guarantee-financial-form { display: grid; gap: 17px; padding: 0 18px 18px; }
.guarantee-financial-form h3, .guarantee-report h3 { margin: 8px 0 0; color: var(--navy); font-size: 15px; }
.financial-input-table { min-width: 760px; }
.financial-input-table th:first-child { min-width: 190px; }
.financial-input-table input { min-width: 135px; min-height: 36px; padding: 7px 9px; }
.financial-input-table thead input { font-weight: 800; }
.vat-grid, .trial-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.vat-grid label { padding: 10px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-2); }
.trial-grid { grid-template-columns: repeat(5, minmax(0,1fr)); }
.financial-confirmation { flex-direction: row; align-items: flex-start; gap: 9px; padding: 12px; border-radius: 10px; background: var(--warning-soft); }
.financial-confirmation input { width: auto; min-height: auto; margin-top: 4px; }
.guarantee-checklist { display: grid; padding: 0 18px 18px; }
.checklist-row { display: grid; grid-template-columns: 32px minmax(220px,1fr) minmax(260px,.85fr); align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.checklist-row:last-child { border-bottom: 0; }
.checkmark { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: var(--warning); background: var(--warning-soft); font-weight: 900; }
.checklist-row.is-complete .checkmark { color: var(--success); background: var(--success-soft); }
.checklist-row > div { display: grid; gap: 4px; }
.checklist-row > div a { color: var(--blue); font-size: 11px; }
.mini-upload { display: grid; grid-template-columns: minmax(130px,1fr) auto; align-items: center; gap: 8px; }
.mini-upload input[type="file"] { min-width: 0; min-height: 37px; padding: 5px; font-size: 11px; }
.mini-upload .upload-progress, .mini-upload .upload-message { grid-column: 1 / -1; }
.mini-upload .upload-message { min-height: 0; font-size: 11px; }
.guarantee-submit { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 18px 22px; padding: 16px; border: 1px solid #b9d4f8; border-radius: 14px; background: var(--blue-soft); }
.guarantee-submit > div { display: grid; gap: 3px; }
.guarantee-submit button:disabled { opacity: .48; cursor: not-allowed; }
.analysis-disclaimer { margin: 16px 18px; padding: 13px; border: 1px solid #f2d39e; border-radius: 11px; color: #79510f; background: var(--warning-soft); line-height: 1.9; }
.risk-overview { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 20px; padding: 0 18px 18px; }
.risk-score { display: grid; place-items: center; align-content: center; min-height: 190px; padding: 18px; border: 8px solid currentColor; border-radius: 50%; text-align: center; background: #fff; }
.risk-score strong { font-size: 44px; line-height: 1; }
.risk-score span { margin: 5px 0; color: var(--muted); font-size: 11px; }
.risk-low { color: var(--success); }.risk-medium { color: #bd7a10; }.risk-high { color: #d35a22; }.risk-very-high { color: var(--danger); }.risk-unknown { color: var(--muted); }
.risk-axes, .vertical-chart { display: grid; align-content: center; gap: 12px; }
.risk-axes label, .vertical-chart label { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 5px; }
.risk-axes label b, .vertical-chart label b { color: var(--muted); font-size: 11px; }
.risk-axes i, .vertical-chart i { display: block; height: 10px; overflow: hidden; border-radius: 999px; background: #e8eef6; }
.risk-axes i span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #f5bd3d, #d85135); }
.vertical-chart i span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), #53a7ff); }
.guarantee-report > h3 { margin-right: 18px; margin-left: 18px; }
.ratio-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; padding: 12px 18px 18px; }
.ratio-grid > div { display: grid; gap: 5px; min-height: 78px; padding: 12px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-2); }
.ratio-grid strong { color: var(--navy); font-size: 16px; }
.analysis-columns { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; padding: 0 18px 18px; }
.analysis-columns section { padding: 14px; border: 1px solid var(--border); border-radius: 12px; }
.analysis-list { display: grid; gap: 8px; margin: 10px 0 0; padding-right: 18px; line-height: 1.8; }
.analysis-list.positive li::marker { color: var(--success); }.analysis-list.warning li::marker { color: var(--warning); }.analysis-list.danger li::marker { color: var(--danger); }
.check-results { display: grid; gap: 8px; padding: 12px 18px 18px; }
.check-results > div { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 10px; border-radius: 10px; background: var(--surface-2); }
.check-results > div > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; font-weight: 900; }
.check-results .ok > span { color: var(--success); background: var(--success-soft); }.check-results .warning > span { color: var(--warning); background: var(--warning-soft); }.check-results .danger > span { color: var(--danger); background: var(--danger-soft); }
.report-tables { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(300px,.7fr); gap: 16px; padding: 12px 18px 18px; }
.report-tables section { min-width: 0; }
.report-tables h3 { margin-bottom: 10px; }
.vertical-chart { padding: 15px; border: 1px solid var(--border); border-radius: 12px; }
.scenario-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; padding: 12px 18px 18px; }
.scenario-grid article { padding: 15px; border: 1px solid #b9d4f8; border-radius: 12px; background: var(--blue-soft); }
.scenario-grid article span, .scenario-grid article strong { display: block; }
.scenario-grid article strong { margin: 5px 0; color: var(--navy); font-size: 18px; }
.scenario-grid article p { margin: 0; color: var(--muted); line-height: 1.8; }
.scenario-grid .scenario-stop { grid-column: 1 / -1; border-color: #f1c0c8; background: var(--danger-soft); }
.report-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; border-top: 1px solid var(--border); }
.fund-review-actions { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: end; gap: 12px; margin: 18px 22px; padding-top: 16px; border-top: 1px dashed #c5d6e9; }
.review-form { display: grid; grid-template-columns: minmax(220px,1fr) 240px auto; align-items: end; gap: 10px; }
.guarantee-card > .inline-delete { justify-content: flex-end; margin: 0 22px 20px; }

.guarantee-intro-steps { display: flex; flex-wrap: wrap; gap: 9px; }
.guarantee-intro-steps span { display: flex; align-items: center; gap: 7px; padding: 8px 12px; border: 1px solid #c6daf3; border-radius: 11px; color: #164f96; background: #fff; font-size: 12px; font-weight: 700; }
.guarantee-intro-steps b { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; color: #fff; background: var(--blue); }
.guarantee-fieldset { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 13px; }
.guarantee-fieldset legend { padding: 0 8px; color: var(--navy); font-weight: 800; }
.guarantee-fieldset .check-line { flex-direction: row; align-items: center; min-height: 42px; padding: 9px; border-radius: 10px; background: var(--surface-2); }
.guarantee-fieldset .check-line input { width: auto; min-height: auto; }
.guarantee-request-list { display: grid; gap: 18px; }
.guarantee-request { overflow: hidden; scroll-margin-top: 15px; }
.guarantee-request-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px; border-bottom: 1px solid var(--border); background: linear-gradient(135deg, #fff, #f1f7ff); }
.guarantee-request-head h2 { margin: 8px 0 3px; color: var(--navy); }
.guarantee-request-head p { margin: 0; color: var(--muted); }
.guarantee-reference { margin-right: 8px; color: var(--blue); font-size: 12px; font-weight: 800; }
.guarantee-head-metrics { display: grid; grid-template-columns: repeat(3, minmax(115px,1fr)); gap: 9px; }
.guarantee-head-metrics > span { display: grid; gap: 3px; min-width: 120px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 11px; background: #fff; }
.guarantee-head-metrics b { color: var(--navy); font-size: 17px; }
.guarantee-head-metrics em { color: var(--muted); font-size: 10px; font-style: normal; }
.risk-text.success { color: var(--success); }.risk-text.warning { color: var(--warning); }.risk-text.danger { color: var(--danger); }.risk-text.info { color: var(--blue); }
.guarantee-review-note { margin: 18px 22px 0; padding: 14px 16px; border-right: 4px solid var(--warning); border-radius: 11px; background: var(--warning-soft); }
.guarantee-review-note p { margin: 5px 0 0; line-height: 1.9; }
.guarantee-section > summary { display: flex; align-items: center; gap: 9px; list-style: none; }
.guarantee-section > summary::-webkit-details-marker { display: none; }
.guarantee-section > summary > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 9px; color: #fff; background: var(--blue); font-size: 12px; }
.guarantee-overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px; background: var(--border); }
.guarantee-overview-grid > div { display: grid; gap: 5px; padding: 14px 17px; background: #fff; }
.guarantee-overview-grid .wide { grid-column: 1 / -1; }
.guarantee-overview-grid strong { overflow-wrap: anywhere; line-height: 1.8; }
.form-help { margin: 0; padding: 12px; border-radius: 10px; color: #255589; background: var(--blue-soft); line-height: 1.8; }
.financial-years { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.financial-year-card { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; padding: 13px; border: 1px solid var(--border); border-radius: 13px; background: var(--surface-2); }
.financial-year-card legend { padding: 0 7px; color: var(--navy); font-weight: 800; }
.financial-year-card label:first-of-type { grid-column: 1 / -1; }
.financial-year-card input, .vat-grid input, .trial-grid input { min-width: 0; }
.vat-grid fieldset { display: grid; gap: 8px; padding: 10px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-2); }
.financial-confirm { flex-direction: row; align-items: flex-start; padding: 12px; border-radius: 10px; background: var(--warning-soft); }
.financial-confirm input { width: auto; min-height: auto; margin-top: 4px; }
.guarantee-step-one-form { padding: 18px; }
.guarantee-applicant-banner { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 12px 14px; border: 1px solid #cbdcf4; border-radius: 12px; background: #f5f9ff; }
.guarantee-applicant-banner span { color: var(--muted); font-size: 12px; }
.guarantee-applicant-banner strong { color: var(--navy); font-size: 15px; }
.guarantee-applicant-banner small { margin-right: auto; color: var(--muted); }
.guarantee-step-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.guarantee-financial-sources { margin: 0 18px 18px; padding: 16px; border: 1px solid #bfd6f4; border-radius: 14px; background: #f8fbff; }
.guarantee-financial-sources > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 13px; }
.guarantee-financial-sources > header h3 { margin: 0 0 5px; color: var(--navy); }
.guarantee-financial-sources > header p { margin: 0; color: var(--muted); font-size: 12px; }
.guarantee-financial-sources > header > span { flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; color: var(--blue); background: #eaf3ff; font-size: 11px; font-weight: 800; }
.guarantee-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.guarantee-source-card { display: grid; align-content: start; gap: 9px; padding: 12px; border: 1px dashed #c8d4e4; border-radius: 12px; background: #fff; }
.guarantee-source-card.received { border-style: solid; border-color: #a9dfc9; background: #fbfffd; }
.guarantee-source-card > div:first-child { display: grid; gap: 3px; }
.guarantee-source-card > div:first-child strong { color: var(--navy); font-size: 13px; }
.guarantee-source-card > div:first-child small { color: var(--muted); font-size: 11px; }
.guarantee-extraction-caveat { margin-top: 11px; padding: 10px 12px; border-radius: 10px; color: #725416; background: var(--warning-soft); font-size: 11px; line-height: 1.9; }
.financial-extraction-note { display: grid; gap: 7px; padding: 13px 14px; border: 1px solid #b9d8f7; border-radius: 12px; background: #f4f9ff; }
.financial-extraction-note strong { color: var(--navy); }
.financial-extraction-note p { margin: 0; color: var(--muted); font-size: 12px; }
.financial-extraction-note > div { display: flex; flex-wrap: wrap; gap: 6px; }
.financial-extraction-note span { padding: 5px 8px; border-radius: 8px; font-size: 10px; }
.financial-extraction-note span.success { color: var(--success); background: var(--success-soft); }
.financial-extraction-note span.warning { color: var(--warning); background: var(--warning-soft); }
.blank-forms-shell { display: grid; gap: 18px; }
.blank-forms-hero { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 17px; padding: 22px; overflow: hidden; background: linear-gradient(135deg, #f4f9ff 0%, #fff 62%, #eaf3ff 100%); }
.blank-forms-mark { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 19px; color: #fff; background: linear-gradient(145deg, var(--navy), var(--blue)); font-size: 25px; font-weight: 900; box-shadow: 0 12px 28px rgba(25,89,166,.2); }
.blank-forms-hero span, .blank-forms-toolbar span { color: var(--blue); font-size: 11px; font-weight: 800; }
.blank-forms-hero h2, .blank-forms-toolbar h2 { margin: 3px 0 6px; color: var(--navy); }
.blank-forms-hero p { margin: 0; color: var(--muted); line-height: 1.9; }
.blank-forms-count { display: grid; place-items: center; min-width: 95px; padding: 13px; border: 1px solid #c8dcf5; border-radius: 15px; background: rgba(255,255,255,.78); }
.blank-forms-count b { color: var(--navy); font-size: 25px; }
.blank-forms-count small { color: var(--muted); }
.blank-form-uploader > form { padding: 18px; }
.blank-forms-library { padding: 19px; }
.blank-forms-toolbar { display: grid; grid-template-columns: minmax(220px,1fr) minmax(220px,.8fr) minmax(180px,.5fr); align-items: end; gap: 12px; margin-bottom: 15px; }
.blank-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.blank-form-card { display: grid; grid-template-columns: 46px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--border); border-radius: 14px; background: #fff; transition: border-color .2s, transform .2s, box-shadow .2s; }
.blank-form-card:hover { transform: translateY(-1px); border-color: #abc9ed; box-shadow: 0 10px 24px rgba(30,78,130,.08); }
.blank-form-file-icon { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 13px; color: var(--blue); background: var(--blue-soft); font-size: 21px; font-weight: 900; }
.blank-form-card-body { min-width: 0; }
.blank-form-card-body > div { display: flex; flex-wrap: wrap; gap: 5px; }
.blank-form-card h3 { margin: 7px 0 4px; color: var(--navy); font-size: 14px; }
.blank-form-card p { display: -webkit-box; overflow: hidden; margin: 0 0 6px; color: var(--muted); font-size: 11px; line-height: 1.8; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.blank-form-card small { display: block; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.blank-form-card-actions { display: grid; justify-items: stretch; gap: 7px; }
.blank-form-card-actions .primary-button { min-width: 94px; text-align: center; }
.blank-form-card-actions form { display: grid; }
.blank-forms-filter-empty { margin-top: 12px; }
.sy-resource-create-form .guarantee-fieldset { grid-template-columns: repeat(3,minmax(0,1fr)); }
.sy-vehicle-resource-fields { border-color: #b8d2ef; background: #f8fbff; }
.sy-vehicle-resource-fields legend { color: var(--blue); }
.document-completion { display: grid; grid-template-columns: minmax(180px,1fr) auto; gap: 8px 13px; align-items: center; padding: 15px 18px; }
.document-completion > div { height: 9px; overflow: hidden; border-radius: 999px; background: #e4ebf4; }
.document-completion > div span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), #58a8ff); }
.document-completion small { grid-column: 1 / -1; }
.guarantee-document-list { display: grid; gap: 10px; padding: 0 18px 18px; }
.guarantee-document-item { display: grid; grid-template-columns: minmax(230px,.7fr) minmax(230px,.7fr) minmax(310px,1fr); align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--border); border-radius: 12px; }
.guarantee-document-item.received { border-color: #bce6d3; background: #fbfffd; }
.guarantee-document-item.missing { border-color: #f2d39e; background: #fffdf8; }
.guarantee-document-item > header { display: flex; align-items: center; gap: 9px; }
.guarantee-document-item > header > span { display: grid; place-items: center; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; color: var(--warning); background: var(--warning-soft); font-weight: 900; }
.guarantee-document-item.received > header > span { color: var(--success); background: var(--success-soft); }
.guarantee-document-item > header > div { display: grid; gap: 3px; }
.guarantee-document-files { display: grid; gap: 5px; }
.guarantee-document-files a { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 5px; color: var(--blue); font-size: 11px; }
.guarantee-document-files a > span { font-size: 16px; }
.guarantee-upload-form { display: grid; grid-template-columns: minmax(140px,1fr) auto; align-items: end; gap: 7px; }
.guarantee-upload-form input[type="file"] { min-width: 0; min-height: 38px; padding: 5px; font-size: 10px; }
.guarantee-upload-form .upload-progress, .guarantee-upload-form .upload-message { grid-column: 1 / -1; }
.guarantee-upload-form .upload-message { min-height: 0; font-size: 10px; }
.guarantee-submit-panel { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 18px 22px; padding: 15px; border: 1px solid #b9d4f8; border-radius: 13px; background: var(--blue-soft); }
.guarantee-submit-panel > div { display: grid; gap: 3px; }
.guarantee-analysis-report { margin: 18px 22px; overflow: hidden; border: 1px solid #b9d4f8; border-radius: 16px; background: #fff; }
.analysis-report-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 18px; color: #fff; background: linear-gradient(135deg, #0b2d5c, #1769e0); }
.analysis-report-head span { color: #9ecaff; font-size: 11px; }
.analysis-report-head h2 { margin: 4px 0; }
.analysis-report-head p { margin: 0; color: rgba(255,255,255,.72); font-size: 11px; }
.risk-summary { display: grid; grid-template-columns: 190px minmax(0,1fr); align-items: center; gap: 22px; padding: 20px; }
.risk-summary h3 { margin: 9px 0 5px; color: var(--navy); }
.risk-summary p { margin: 0; color: var(--muted); line-height: 1.9; }
.risk-gauge { --gauge-color: var(--blue); display: grid; place-items: center; width: 170px; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(var(--gauge-color) calc(var(--risk-score) * 1%), #e8eef6 0); }
.risk-gauge.success { --gauge-color: var(--success); }.risk-gauge.warning { --gauge-color: var(--warning); }.risk-gauge.danger { --gauge-color: var(--danger); }
.risk-gauge > div { display: grid; place-items: center; width: 132px; aspect-ratio: 1; border-radius: 50%; background: #fff; }
.risk-gauge b { color: var(--navy); font-size: 38px; line-height: 1; }
.analysis-title { margin: 4px 18px 12px; color: var(--navy); }
.risk-axis-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; padding: 0 18px 18px; }
.risk-axis-grid article { display: grid; gap: 7px; padding: 12px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-2); }
.risk-axis-grid article.axis-unavailable { opacity: .65; background: #f5f7fa; }
.risk-axis-grid article.axis-unavailable > div > span { width: 0 !important; }
.risk-axis-grid header { display: flex; justify-content: space-between; gap: 7px; }
.risk-axis-grid header span { color: var(--muted); font-size: 10px; }
.risk-axis-grid article > div { height: 9px; overflow: hidden; border-radius: 999px; background: #e1e8f1; }
.risk-axis-grid article > div span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #f0b832, #d84b44); }
.analysis-table-section { padding: 18px; border-top: 1px solid var(--border); }
.analysis-table-section > h3, .analysis-table-section section > h3 { margin: 0 0 12px; color: var(--navy); }
.analysis-split { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.vertical-analysis { display: grid; gap: 10px; }
.vertical-analysis > div { display: grid; grid-template-columns: minmax(160px,1fr) minmax(110px,1fr) 80px; align-items: center; gap: 9px; }
.vertical-analysis > div > div { height: 9px; overflow: hidden; border-radius: 999px; background: #e5ebf3; }
.vertical-analysis i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), #54a6ff); }
.financial-checks { display: grid; gap: 8px; }
.financial-checks > div { display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 8px; padding: 10px; border-radius: 10px; background: var(--surface-2); }
.financial-checks > div > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; color: var(--warning); background: var(--warning-soft); font-weight: 900; }
.financial-checks .ok > span { color: var(--success); background: var(--success-soft); }.financial-checks .danger > span { color: var(--danger); background: var(--danger-soft); }
.financial-checks p { display: grid; margin: 0; }
.collateral-scenarios { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.collateral-scenarios article { padding: 14px; border: 1px solid #b9d4f8; border-radius: 12px; background: var(--blue-soft); }
.collateral-scenarios h4 { margin: 6px 0; color: var(--navy); }
.collateral-scenarios p { margin: 0; color: var(--muted); line-height: 1.8; }
.danger-note { grid-column: 1 / -1; padding: 13px; border-radius: 11px; color: var(--danger); background: var(--danger-soft); }
.guarantee-review-actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; margin: 18px 22px; padding-top: 16px; border-top: 1px dashed #c5d6e9; }
.guarantee-review-actions > details { min-width: 250px; border: 1px solid var(--border); border-radius: 10px; }
.guarantee-review-actions > details > summary { padding: 10px 12px; cursor: pointer; font-weight: 700; }
.guarantee-review-actions > details form { display: grid; gap: 9px; padding: 0 12px 12px; }
.guarantee-request-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 22px; border-top: 1px solid var(--border); }
.guarantee-request-footer .inline-delete { margin: 0; }

.access-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.access-page-disclosures { display: grid; gap: 16px; }
.access-section-disclosure { display: block; margin: 0; overflow: hidden; }
.access-section-disclosure > .access-section-summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 72px;
  padding: 18px 62px 18px 22px;
  border-bottom: 0;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.access-section-disclosure > .access-section-summary::-webkit-details-marker,
.access-grid > details > summary::-webkit-details-marker,
.spreadsheet-panel[data-access-section] > summary::-webkit-details-marker,
.hierarchy-role-creator[data-access-section] > summary::-webkit-details-marker { display: none; }
.access-grid > details > summary,
.spreadsheet-panel[data-access-section] > summary,
.hierarchy-role-creator[data-access-section] > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.access-section-disclosure > .access-section-summary::after,
.access-grid > details > summary::after,
.spreadsheet-panel[data-access-section] > summary::after,
.hierarchy-role-creator[data-access-section] > summary::after,
.role-access-card > summary::after {
  content: "⌄";
  display: grid;
  place-items: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border: 1px solid #c6d9ef;
  border-radius: 10px;
  color: var(--blue);
  background: var(--blue-soft);
  font-size: 18px;
  line-height: 1;
  transition: transform .18s ease, background-color .18s ease;
}
.access-section-disclosure > .access-section-summary::after { position: absolute; right: 19px; }
.access-section-disclosure[open] > .access-section-summary,
.access-grid > details[open] > summary,
.spreadsheet-panel[data-access-section][open] > summary,
.hierarchy-role-creator[data-access-section][open] > summary { border-bottom: 1px solid var(--border); background: #f8fbff; }
.access-section-disclosure[open] > .access-section-summary::after,
.access-grid > details[open] > summary::after,
.spreadsheet-panel[data-access-section][open] > summary::after,
.hierarchy-role-creator[data-access-section][open] > summary::after,
.role-access-card[open] > summary::after { transform: rotate(180deg); }
.access-section-disclosure > .access-section-summary:hover,
.access-grid > details > summary:hover,
.spreadsheet-panel[data-access-section] > summary:hover,
.hierarchy-role-creator[data-access-section] > summary:hover { background: #f8fbff; }
.access-page-disclosures summary:focus-visible { outline: 3px solid rgba(23, 105, 224, .24); outline-offset: -3px; }
.access-section-summary > div { min-width: 0; }
.access-section-summary p { margin: 4px 0 0; color: var(--muted); line-height: 1.8; }
.access-section-summary > .badge { flex: 0 0 auto; margin-inline-start: auto; }
.access-section-body { min-width: 0; }
.role-hierarchy-manager.access-section-disclosure { display: block; gap: 0; }
.role-hierarchy-manager-body { display: grid; gap: 18px; padding: 18px; }
.backup-panel.access-section-disclosure { display: block; padding: 0; }
.backup-panel-body { display: flex; justify-content: flex-end; padding: 18px 22px; }
.employee-diagram-panel.access-section-disclosure { margin: 0; }
.access-section-disclosure[open] > .role-access-list { padding-top: 20px; }
.access-users-table-wrap { border: 0; border-radius: 0; box-shadow: none; }
.employee-diagram-panel { margin: 18px 0; overflow: hidden; }
.employee-org-chart { padding: 24px; background: linear-gradient(180deg, #f8fbff, #fff); }
.employee-root-node { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; width: max-content; max-width: 100%; margin: 0 auto; padding: 13px 18px; border: 1px solid #a9c9ef; border-radius: 15px; color: #fff; background: linear-gradient(145deg, #0b2d5c, #1769e0); box-shadow: 0 12px 28px rgba(23,105,224,.2); }
.employee-root-node > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: rgba(255,255,255,.14); font-size: 20px; }
.employee-root-node > div { display: grid; gap: 2px; }
.employee-root-node small { color: rgba(255,255,255,.72); }
.employee-chart-connector { width: 2px; height: 29px; margin: 0 auto; background: #a9c9ef; }
.employee-access-grid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; padding-top: 25px; }
.employee-access-grid::before { content: ""; position: absolute; top: 0; right: 8%; left: 8%; height: 2px; background: #a9c9ef; }
.employee-access-card { position: relative; display: grid; align-content: start; gap: 13px; padding: 17px; border: 1px solid var(--border); border-radius: 15px; background: #fff; box-shadow: 0 9px 24px rgba(22,60,110,.06); }
.employee-access-card::before { content: ""; position: absolute; top: -26px; right: 50%; width: 2px; height: 26px; background: #a9c9ef; }
.employee-card-head { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 10px; }
.employee-card-head > div { display: grid; min-width: 0; }
.employee-card-head strong, .employee-card-head small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.employee-avatar { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: #fff; background: linear-gradient(145deg, #3b82f6, #1769e0); font-size: 17px; font-weight: 800; }
.employee-position { display: grid; gap: 5px; padding: 10px; border-radius: 11px; background: var(--surface-2); color: var(--muted); font-size: 11px; }
.employee-position b { color: var(--text); }
.employee-permissions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.employee-permissions > strong { width: 100%; color: var(--navy); font-size: 12px; }
.permission-chip { padding: 5px 8px; border: 1px solid #c8dcf5; border-radius: 999px; color: #285b96; background: #f2f7fd; font-size: 10px; font-weight: 600; }
.permission-chip.full-access { border-color: #bce6d3; color: var(--success); background: var(--success-soft); }
.permission-chip.no-access { border-color: #f2d39e; color: var(--warning); background: var(--warning-soft); }
.permissions { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; padding: 13px; border: 1px solid var(--border); border-radius: 12px; }
.permissions label { display: flex; align-items: center; gap: 7px; padding: 7px; border-radius: 8px; background: var(--surface-2); }
.permissions input { width: auto; min-height: auto; }
.role-access-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; padding: 0 20px 20px; }
.role-access-card { overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.role-access-card > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px; cursor: pointer; list-style: none; }
.role-access-card > summary::-webkit-details-marker { display: none; }
.role-access-card > summary > span:first-child { display: grid; gap: 4px; }
.role-access-card > summary small { color: var(--muted); }
.role-access-card[open] > summary { border-bottom: 1px solid var(--border); background: var(--surface-2); }
.role-access-card .security-note { margin: 16px; }
.content .security-note { color: var(--text); border-color: #cbdff7; background: var(--blue-soft); }
.content .security-note small { color: var(--muted); }
.access-admin-note { margin: 0 0 16px; }
.inline-danger-form { display: flex; justify-content: flex-end; padding: 0 20px 20px; }
.user-access-form { min-width: 390px; padding: 12px 0 4px !important; }
.user-access-form label small { color: var(--muted); font-weight: 400; }
.password-reset-editor > summary { color: var(--danger); }
.password-reset-editor .stack-form { min-width: 340px; padding: 12px; border: 1px solid #f4caca; border-radius: 12px; background: var(--danger-soft); }
.form-hint { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.9; }
.mfa-security-panel, .password-security-panel { margin: 18px 20px; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.mfa-security-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 20px; border-bottom: 1px solid var(--border); background: var(--surface-2); }
.mfa-security-panel > header > div { display: grid; gap: 4px; }
.mfa-security-panel > header small { color: var(--muted); line-height: 1.7; }
.mfa-security-panel > .form-hint { padding: 16px 20px 0; }
.mfa-setup-guide { display: grid; gap: 13px; padding: 18px 20px 0; }
.mfa-setup-guide p { margin: 0; color: var(--muted); line-height: 1.9; }
.mfa-setup-guide dl { display: grid; gap: 8px; margin: 0; }
.mfa-setup-guide dl > div { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 10px; padding: 11px 13px; border-radius: 10px; background: var(--surface-2); }
.mfa-setup-guide dt { color: var(--muted); }
.mfa-setup-guide dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-weight: 700; }
.mfa-setup-guide code { display: block; padding: 9px 11px; border-radius: 8px; color: #0c4f9c; background: #eaf3ff; direction: ltr; text-align: left; overflow-wrap: anywhere; user-select: all; }
.mfa-setup-guide details > summary { color: var(--blue); cursor: pointer; font-weight: 700; }
.mfa-setup-guide details > code { margin-top: 8px; font-size: 11px; }
.mfa-cancel-form { display: flex; justify-content: flex-end; padding: 0 20px 18px; }
.password-security-panel h3 { margin: 0; padding: 16px 20px 0; font-size: 15px; }
.mfa-admin-reset-form { margin: 0 12px 12px; border-color: #efb9b9 !important; }
.org-list { padding: 14px 20px 20px; }
.org-list > div { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 4px 10px; margin-right: calc(var(--depth) * 24px); padding: 10px 0; border-bottom: 1px solid var(--border); }
.org-list > div > span { grid-row: span 2; display: grid; place-items: center; width: 31px; height: 31px; border-radius: 10px; color: var(--blue); background: var(--blue-soft); }

.auth-body { display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at top, #e8f3ff, #f6f8fc 50%); }
.auth-card { width: min(100%, 440px); padding: 30px; border: 1px solid var(--border); border-radius: 22px; background: #fff; box-shadow: 0 24px 70px rgba(26,66,119,.14); }
.auth-card .brand-mark { margin: 0 auto; }
.auth-fund-logo { display: block; width: min(100%, 141px); max-height: 135px; margin: 0 auto; object-fit: contain; }
.auth-card h1 { margin: 18px 0 2px; text-align: center; }
.auth-card > .app-version { margin: 0 0 3px; color: var(--blue); text-align: center; font-size: 12px; font-weight: 800; }
.auth-card > .muted { margin: 0 0 15px; text-align: center; }
.auth-card .stack-form { padding: 12px 0 0; }
.mfa-login-note { padding: 12px 14px; border: 1px solid #bdd8f8; border-radius: 11px; color: #14599f; background: #edf6ff; font-size: 12px; line-height: 1.9; }
.mfa-restart-form { display: grid; margin-top: 10px; }
.mfa-restart-form .secondary-button { width: 100%; }
.auth-register-link { width: 100%; margin-top: 10px; border: 1px solid #c5daf5; }
.hp-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; opacity: 0 !important; pointer-events: none !important; }
.registration-auth-body { align-items: start; padding: 34px 20px; }
.registration-card {
  width: min(100%, 990px);
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(26,66,119,.15);
}
.registration-header {
  display: grid;
  grid-template-columns: 130px minmax(0,1fr);
  align-items: center;
  gap: 24px;
  padding: 28px 34px 22px;
  background: linear-gradient(135deg, #f1f7ff, #fff 68%);
}
.registration-header .auth-fund-logo { width: 118px; max-height: 112px; margin: 0; }
.registration-header > div { display: grid; gap: 3px; }
.registration-header span { color: var(--blue); font-size: 12px; font-weight: 800; }
.registration-header h1 { margin: 0; color: var(--navy); font-size: clamp(22px,3vw,31px); }
.registration-header p { margin: 3px 0 0; color: var(--muted); line-height: 1.9; }
.registration-steps {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  border-block: 1px solid var(--border);
  background: var(--border);
  list-style: none;
}
.registration-steps li { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 64px; padding: 10px; background: #f8fafc; color: #8291a4; }
.registration-steps b { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 999px; background: #e8eef5; }
.registration-steps li.active { color: var(--blue); background: #eef6ff; font-weight: 800; }
.registration-steps li.active b { color: #fff; background: var(--blue); }
.registration-steps li.done { color: var(--success); background: #f2fbf7; }
.registration-steps li.done b { color: #fff; background: var(--success); }
.registration-card > .alert { margin: 20px 28px 0; }
.registration-section { padding: 28px 34px 32px; }
.registration-section-heading { display: grid; gap: 2px; margin-bottom: 18px; }
.registration-section-heading > span { color: var(--blue); font-size: 11px; font-weight: 900; }
.registration-section-heading h2 { margin: 0; color: var(--navy); font-size: 21px; }
.registration-section-heading p { margin: 3px 0 0; color: var(--muted); line-height: 1.9; }
.registration-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.lookup-form { grid-template-columns: minmax(180px,.55fr) minmax(250px,1fr) auto; align-items: end; }
.registration-form input[readonly] { color: #4e6075; background: #f4f7fa; }
.existing-company-summary {
  display: grid;
  grid-template-columns: minmax(220px,.8fr) minmax(0,1.2fr);
  gap: 18px;
  margin: 24px 34px 0;
  padding: 20px;
  border: 1px solid #b8d6f5;
  border-radius: 17px;
  background: #f4f9ff;
}
.existing-company-summary h2 { margin: 2px 0; color: var(--navy); }
.existing-company-summary p { margin: 0; color: var(--muted); }
.existing-company-summary > div > span { color: var(--blue); font-size: 11px; font-weight: 900; }
.existing-company-summary dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 0; }
.existing-company-summary dl > div { padding: 10px; border-radius: 11px; background: #fff; }
.existing-company-summary dt { color: var(--muted); font-size: 10px; }
.existing-company-summary dd { margin: 3px 0 0; overflow-wrap: anywhere; font-weight: 800; }
.existing-company-summary > small { grid-column: 1 / -1; line-height: 1.9; }
.new-company-notice { display: grid; gap: 3px; margin: 24px 34px 0; padding: 16px 18px; border: 1px solid #bce6d3; border-radius: 14px; color: #116a48; background: var(--success-soft); }
.registration-account-heading { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 6px; padding: 14px 16px; border-radius: 12px; color: var(--blue); background: var(--blue-soft); font-weight: 900; }
.registration-account-heading small { font-weight: 500; }
.registration-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.registration-confirm { grid-column: 1 / -1; display: flex; align-items: center; gap: 9px; padding: 12px; border: 1px solid var(--border); border-radius: 11px; background: #f8fafc; }
.registration-confirm input { width: auto; min-height: auto; }
.registration-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 14px; }
.registration-result { display: grid; justify-items: center; gap: 10px; padding: 38px 34px; text-align: center; }
.registration-result .result-icon { display: grid; width: 62px; height: 62px; place-items: center; border-radius: 20px; color: #fff; background: var(--success); font-size: 30px; }
.registration-result h2 { margin: 4px 0 0; color: var(--navy); }
.registration-result > p { max-width: 630px; margin: 0 0 7px; color: var(--muted); line-height: 1.9; }
.registration-result > div { display: grid; grid-template-columns: 130px minmax(180px,1fr); gap: 16px; width: min(100%,510px); padding: 11px 14px; border: 1px solid var(--border); border-radius: 11px; text-align: right; }
.registration-result > div span { color: var(--muted); }
.registration-result .primary-button { margin-top: 10px; }
.registration-login-link { display: block; margin: 0 34px 28px; text-align: center; }
.registration-review-panel { margin-bottom: 18px; border-top: 3px solid var(--blue); }
.registration-review-list { display: grid; gap: 10px; padding: 16px 20px 20px; }
.registration-review-card { overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.registration-review-card > summary { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 14px; padding: 15px 17px; cursor: pointer; list-style: none; }
.registration-review-card > summary::-webkit-details-marker { display: none; }
.registration-review-card > summary > span:not(.badge) { display: grid; gap: 3px; }
.registration-review-card > summary small, .registration-review-card > summary em { color: var(--muted); font-size: 11px; font-style: normal; }
.registration-review-card > summary b { color: var(--blue); font-size: 11px; }
.registration-review-card[open] > summary { border-bottom: 1px solid var(--border); background: #f7faff; }
.registration-review-body { padding: 17px; }
.registration-review-data { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 0; }
.registration-review-data > div { padding: 10px; border-radius: 10px; background: var(--surface-2); }
.registration-review-data dt { color: var(--muted); font-size: 10px; }
.registration-review-data dd { margin: 3px 0 0; overflow-wrap: anywhere; font-weight: 700; }
.registration-review-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 15px; }
.registration-decision-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 10px; padding: 13px; border: 1px solid #bce6d3; border-radius: 12px; background: #f4fbf7; }
.registration-decision-form.reject { border-color: #f1c0c8; background: #fff7f8; }
.registration-review-result { display: grid; gap: 4px; margin-top: 14px; padding: 13px 15px; border-radius: 11px; background: var(--surface-2); }
.install-card { width: min(100%, 540px); }
.requirements { display: grid; gap: 7px; margin: 16px 0; }
.requirements > div { display: flex; justify-content: space-between; padding: 8px 11px; border-radius: 9px; background: var(--surface-2); }
.requirements .ok { color: var(--success); }
.requirements .bad { color: var(--danger); }
.muted { color: var(--muted); }

@media (max-width: 1150px) {
  .stats-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .form-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .service-filter-panel { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .service-filter-heading, .service-filter-result { grid-column: 1 / -1; }
  .report-service-filter { grid-template-columns: repeat(2, minmax(190px, 1fr)); }
  .report-person-filter { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
  .report-person-filter-actions, .report-person-result { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
  .app-shell { display: block; }
  .sidebar { position: fixed; right: -300px; width: 282px; transition: right .2s ease; box-shadow: -20px 0 50px rgba(0,0,0,.2); }
  .menu-open .sidebar { right: 0; }
  .mobile-menu { display: block; }
  .content { padding: 20px 16px 45px; }
  .dashboard-grid, .access-grid { grid-template-columns: 1fr; }
  .role-access-list { grid-template-columns: 1fr; }
  .employee-access-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .reports-grid { grid-template-columns: 1fr; }
  .span-2, .span-3 { grid-column: span 1; }
  .spreadsheet-import-layout { grid-template-columns: 1fr; }
  .request-grid { grid-template-columns: 1fr; }
  .workflow-intro { align-items: flex-start; flex-direction: column; }
  .document-filters { grid-template-columns: 1fr 1fr; }
  .company-share-overview { grid-template-columns: 1fr; }
  .backup-panel { align-items: flex-start; flex-direction: column; }
  .guarantee-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .vat-grid, .trial-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .checklist-row { grid-template-columns: 32px minmax(0,1fr); }
  .checklist-row .mini-upload { grid-column: 2; }
  .ratio-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .analysis-columns, .report-tables { grid-template-columns: 1fr; }
  .review-form { grid-template-columns: 1fr; }
  .guarantee-request-head { flex-direction: column; }
  .guarantee-head-metrics { width: 100%; }
  .guarantee-fieldset { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .financial-years { grid-template-columns: 1fr; }
  .guarantee-document-item { grid-template-columns: minmax(220px,.8fr) minmax(220px,1fr); }
  .guarantee-upload-form { grid-column: 1 / -1; }
  .risk-axis-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .analysis-split { grid-template-columns: 1fr; }
  .registration-review-data { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .registration-review-actions { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .stats-grid, .card-grid, .form-grid { grid-template-columns: 1fr; }
  .full { grid-column: span 1; }
  .topbar { align-items: flex-start; }
  .registration-auth-body { padding: 12px; }
  .registration-card { border-radius: 17px; }
  .registration-header { grid-template-columns: 72px minmax(0,1fr); gap: 13px; padding: 20px 17px; }
  .registration-header .auth-fund-logo { width: 68px; max-height: 68px; }
  .registration-header p { display: none; }
  .registration-steps li { min-height: 54px; gap: 5px; padding: 8px 4px; font-size: 10px; }
  .registration-steps b { width: 24px; height: 24px; }
  .registration-section { padding: 22px 17px; }
  .registration-form, .lookup-form { grid-template-columns: 1fr; }
  .existing-company-summary { grid-template-columns: 1fr; margin: 18px 17px 0; padding: 15px; }
  .existing-company-summary dl { grid-template-columns: 1fr; }
  .new-company-notice { margin: 18px 17px 0; }
  .registration-account-heading { align-items: flex-start; flex-direction: column; }
  .registration-actions { align-items: stretch; flex-direction: column; }
  .registration-result { padding: 28px 17px; }
  .registration-result > div { grid-template-columns: 1fr; gap: 3px; }
  .registration-login-link { margin: 0 17px 22px; }
  .registration-review-card > summary { grid-template-columns: minmax(0,1fr) auto; }
  .registration-review-card > summary > span:nth-child(2) { grid-column: 1 / -1; }
  .registration-review-data { grid-template-columns: 1fr; }
  .registration-decision-form { grid-template-columns: 1fr; }
  .fund-header-logo { width: 39px; height: 39px; border-radius: 3px; }
  .today { display: none; }
  .notification-panel { position: fixed; top: 68px; right: 12px; left: 12px; width: auto; }
  .transition-form { grid-template-columns: 1fr; }
  .case-head { display: grid; }
  .company-list > details > summary { grid-template-columns: 42px minmax(0,1fr); }
  .company-list em { grid-column: 2; }
  .permissions { grid-template-columns: 1fr; }
  .workflow-template > summary { grid-template-columns: 46px minmax(0,1fr); }
  .workflow-template > summary em { grid-column: 2; }
  .workflow-number { width: 44px; height: 44px; border-radius: 13px; }
  .company-action-fields { grid-template-columns: 1fr; }
  .template-card { grid-template-columns: 48px minmax(0,1fr); }
  .template-card .secondary-button { grid-column: 1 / -1; }
  .spreadsheet-icon { width: 46px; height: 46px; border-radius: 12px; }
  .spreadsheet-form { grid-template-columns: 1fr; }
  .chart-row { grid-template-columns: 1fr; gap: 8px; }
  .dashboard-service-summary { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .company-activity-item > summary { grid-template-columns: 1fr 70px; }
  .company-activity-item > summary > strong { grid-column: 1 / -1; }
  .company-service-detail-list > div { grid-template-columns: 1fr; }
  .company-service-detail-list > div > span:last-child { text-align: right; }
  .document-filters { grid-template-columns: 1fr; }
  .report-service-filter, .report-person-filter, .company-share-metrics, .company-share-main-groups > div { grid-template-columns: 1fr; }
  .report-person-filter-actions, .report-person-pagination { align-items: stretch; flex-direction: column; }
  .report-filter-actions, .company-share-main-groups > header { align-items: stretch; flex-direction: column; }
  .jalali-picker { width: min(292px, calc(100vw - 54px)); }
  .user-access-form { min-width: 280px; }
  .employee-access-grid { grid-template-columns: 1fr; padding-top: 0; }
  .employee-access-grid::before, .employee-access-card::before, .employee-chart-connector { display: none; }
  .employee-org-chart { padding: 17px; }
  .service-filter-panel { grid-template-columns: 1fr; }
  .service-filter-heading, .service-filter-result { grid-column: 1; }
  .service-filter-actions { align-items: stretch; flex-direction: column; }
  .service-case-number-grid { grid-template-columns: 1fr; }
  .service-case-number-other { max-width: none; }
  .service-edit-heading { align-items: flex-start; }
  .page-search-panel { grid-template-columns: 34px minmax(0, 1fr); }
  .page-search-panel > small { grid-column: 2; white-space: normal; }
  .guarantee-head, .guarantee-submit, .report-footer { align-items: flex-start; flex-direction: column; }
  .guarantee-status { justify-items: start; }
  .guarantee-summary-grid, .vat-grid, .trial-grid, .ratio-grid, .scenario-grid { grid-template-columns: 1fr; }
  .risk-overview { grid-template-columns: 1fr; }
  .risk-score { width: 190px; margin: 0 auto; }
  .fund-review-actions { grid-template-columns: 1fr; }
  .mini-upload { grid-template-columns: 1fr; }
  .checklist-row .mini-upload { grid-column: 1 / -1; }
  .guarantee-head-metrics, .guarantee-fieldset, .guarantee-overview-grid, .risk-axis-grid, .collateral-scenarios { grid-template-columns: 1fr; }
  .guarantee-overview-grid .wide { grid-column: 1; }
  .guarantee-request-head, .guarantee-submit-panel, .analysis-report-head, .guarantee-request-footer { align-items: flex-start; flex-direction: column; }
  .guarantee-document-item { grid-template-columns: 1fr; }
  .guarantee-source-grid { grid-template-columns: 1fr; }
  .guarantee-financial-sources > header { flex-direction: column; }
  .blank-forms-hero { grid-template-columns: 52px minmax(0,1fr); }
  .blank-forms-count { grid-column: 1 / -1; width: 100%; }
  .blank-forms-toolbar, .blank-form-grid { grid-template-columns: 1fr; }
  .blank-form-card { grid-template-columns: 42px minmax(0,1fr); }
  .blank-form-card-actions { grid-column: 1 / -1; grid-template-columns: 1fr auto; }
  .sy-resource-create-form .guarantee-fieldset { grid-template-columns: 1fr; }
  .guarantee-upload-form { grid-column: auto; grid-template-columns: 1fr; width: 100%; }
  .guarantee-upload-form .upload-progress, .guarantee-upload-form .upload-message { grid-column: 1; }
  .risk-summary { grid-template-columns: 1fr; }
  .risk-gauge { margin: 0 auto; }
  .vertical-analysis > div { grid-template-columns: 1fr 70px; }
  .vertical-analysis > div > div { grid-column: 1; }
  .vertical-analysis > div > b { grid-column: 2; grid-row: 2; }
}

.sandyar-shell { display: grid; gap: 18px; }
.sandyar-hero {
  display: grid;
  grid-template-columns: 62px minmax(0,1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 22px;
  background: linear-gradient(135deg, #fff 0%, #f4f8fd 100%);
  border-color: #d9e5f2;
}
.sandyar-mark {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: #fff;
  font-size: 30px;
  font-weight: 900;
  background: linear-gradient(145deg, #0f4c81, #173e68);
  box-shadow: 0 12px 24px rgba(23,62,104,.2);
}
.sandyar-hero h2 { margin: 5px 0 7px; color: #173e68; font-size: 21px; }
.sandyar-hero p { margin: 0; color: var(--muted); line-height: 1.9; }
.sandyar-hero > div > span { color: #0f8b82; font-weight: 800; }
.sandyar-access-badge {
  display: grid;
  gap: 4px;
  min-width: 180px;
  padding: 12px 15px;
  border: 1px solid #c9ddd8;
  border-radius: 12px;
  color: #245f58;
  background: #edf8f5;
}
.sandyar-access-badge small { color: #66817c; }
.sandyar-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 14px;
}
.sandyar-stats article {
  display: grid;
  gap: 7px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow);
}
.sandyar-stats span, .sandyar-stats small { color: var(--muted); }
.sandyar-stats strong { color: #173e68; font-size: 23px; }
.sandyar-template-center { overflow: hidden; }
.sandyar-template-center > .panel-heading { padding: 18px; border-bottom: 1px solid var(--border); }
.sandyar-template-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 15px;
  padding: 16px;
}
.sandyar-template-upload {
  align-self: start;
  padding: 15px;
  border: 1px solid #cddded;
  border-radius: 13px;
  background: #f8fbff;
}
.sandyar-placeholder-guide {
  overflow: hidden;
  border: 1px solid #d9e5ed;
  border-radius: 13px;
  background: #fff;
}
.sandyar-placeholder-guide > summary {
  padding: 13px 15px;
  color: #173e68;
  background: #f4f8fb;
  cursor: pointer;
  font-weight: 900;
}
.sandyar-placeholder-guide > p,
.sandyar-placeholder-guide > small {
  display: block;
  margin: 0;
  padding: 11px 15px;
  color: var(--muted);
  line-height: 1.8;
}
.sandyar-placeholder-guide > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  padding: 0 15px 10px;
}
.sandyar-placeholder-guide > div > span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px;
  border-radius: 8px;
  background: #f6f9fb;
}
.sandyar-placeholder-guide code {
  overflow-wrap: anywhere;
  color: #0c6f76;
  font-size: 11px;
}
.sandyar-placeholder-guide small { color: var(--muted); font-size: 10px; }
.sandyar-template-list {
  display: grid;
  gap: 8px;
  padding: 0 16px 16px;
}
.sandyar-template-list article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto auto;
  align-items: center;
  gap: 10px;
  padding: 11px;
  border: 1px solid #e0e8ee;
  border-radius: 11px;
  background: #fff;
}
.sandyar-template-list article > div { display: grid; min-width: 0; gap: 3px; }
.sandyar-template-list strong { color: #194668; }
.sandyar-template-list small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.sandyar-template-list p { margin: 0; color: #526878; font-size: 11px; }
.sandyar-template-list form { margin: 0; }
.sandyar-template-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  color: #fff;
  background: #1769aa;
  font-weight: 900;
}
.sandyar-editor > form { padding-top: 18px; }
.sandyar-calculation {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid #d9e4ef;
  border-radius: 12px;
  background: #d9e4ef;
}
.sandyar-calculation > div {
  display: grid;
  gap: 7px;
  padding: 16px;
  background: #f8fafc;
}
.sandyar-calculation > div.total { background: #edf5fc; }
.sandyar-calculation span { color: var(--muted); font-size: 11px; }
.sandyar-calculation b { color: #173e68; font-size: 16px; }
.sandyar-calculation p {
  grid-column: 1 / -1;
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 14px 16px;
  background: #fff;
}
.sandyar-calculation p strong { color: #2b6f62; line-height: 1.9; }
.sandyar-preview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  padding: 17px;
  border: 1px dashed #b9cadb;
  border-radius: 12px;
  background: #fbfdff;
}
.sandyar-preview > span { grid-column: 1 / -1; color: #173e68; font-weight: 800; }
.sandyar-preview p { margin: 0; color: var(--muted); }
.sandyar-preview strong { display: block; margin-top: 5px; color: var(--ink); }
.sandyar-list .panel-heading { padding: 18px; }
.sandyar-row-actions { align-items: center; flex-wrap: wrap; }
.sandyar-row-actions form { margin: 0; }
.sandyar-row-actions button, .sandyar-row-actions a { white-space: nowrap; }
.sandyar-designer { overflow: hidden; }
.sandyar-designer > .panel-heading { padding: 18px; border-bottom: 1px solid var(--border); }
.sandyar-designer-grid {
  display: grid;
  grid-template-columns: minmax(290px, .72fr) minmax(0, 1.55fr);
  gap: 16px;
  padding: 16px;
  background: linear-gradient(180deg, #f8fbff, #fff);
}
.sandyar-type-editor {
  align-self: start;
  padding: 16px;
  border: 1px solid #d4e1ed;
  border-radius: 14px;
  background: #fff;
}
.sandyar-schema-editor { display: grid; gap: 14px; min-width: 0; }
.sandyar-inherited {
  padding: 12px 14px;
  border: 1px solid #cce0d9;
  border-radius: 11px;
  color: #285d54;
  background: #eff9f5;
}
.sandyar-inherited p { margin: 4px 0 0; line-height: 1.8; }
.sandyar-builder-section {
  overflow: hidden;
  border: 1px solid #d7e3ee;
  border-radius: 13px;
  background: #fff;
}
.sandyar-builder-section > header,
.sandyar-runtime-heading,
.sandyar-repeat-runtime > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  border-bottom: 1px solid #e2eaf1;
  background: #f5f9fd;
}
.sandyar-builder-section > header > div,
.sandyar-runtime-heading > div,
.sandyar-repeat-runtime > header > div { display: grid; gap: 4px; }
.sandyar-builder-section > header small,
.sandyar-runtime-heading small,
.sandyar-repeat-runtime > header small { color: var(--muted); }
.sandyar-builder-list { display: grid; gap: 10px; padding: 12px; }
.sandyar-builder-row {
  overflow: hidden;
  border: 1px solid #dce6ef;
  border-radius: 11px;
  background: #fbfdff;
}
.sandyar-builder-field { padding: 0; }
.sandyar-builder-row-summary {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 10px 44px 10px 13px;
  color: #174a72;
  background: #eef5fb;
  cursor: pointer;
  list-style: none;
}
.sandyar-builder-row-summary::-webkit-details-marker { display: none; }
.sandyar-builder-row-summary::before {
  position: absolute;
  right: 15px;
  content: "⌄";
  color: #356989;
  font-size: 22px;
  line-height: 1;
  transition: transform .18s ease;
}
.sandyar-builder-field[open] > .sandyar-builder-row-summary::before { transform: rotate(180deg); }
.sandyar-builder-field[open] > .sandyar-builder-row-summary { border-bottom: 1px solid #dce6ef; }
.sandyar-builder-row-summary span { display: grid; gap: 3px; min-width: 0; }
.sandyar-builder-row-summary small { overflow-wrap: anywhere; color: #688196; }
.sandyar-builder-row-summary code { color: #3f6179; font: 11px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; }
.sandyar-builder-field-body { display: grid; }
.sandyar-builder-row-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px;
  color: #174a72;
  background: #eef5fb;
}
.sandyar-builder-fields,
.sandyar-runtime-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
}
.sandyar-marker-preview,
.sandyar-field-placeholder {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px dashed #cfdae4;
  color: var(--muted);
  background: #fff;
}
.sandyar-marker-preview code,
.sandyar-field-placeholder code,
.sandyar-repeat-guide code,
.sandyar-runtime-fields code {
  overflow-wrap: anywhere;
  padding: 4px 7px;
  border-radius: 6px;
  color: #075f77;
  background: #eaf7fb;
  font: 11px/1.7 ui-monospace, SFMono-Regular, Menlo, monospace;
}
.sandyar-field-placeholder button { margin-right: auto; }
.sandyar-field-placeholder > span[data-simple-placeholder-wrap] {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding-right: 8px;
  border-right: 1px solid #d6e1ea;
}
.sandyar-field-placeholder > span[data-simple-placeholder-wrap][hidden] { display: none; }
.sandyar-repeat-guide {
  padding: 0 14px 14px;
  border: 1px dashed #bcd2e2;
  border-radius: 12px;
  background: #f8fcff;
}
.sandyar-repeat-guide summary { padding: 13px 0; color: #174a72; cursor: pointer; font-weight: 900; }
.sandyar-repeat-guide p { color: var(--muted); line-height: 1.9; }
.sandyar-repeat-guide code { display: block; margin-top: 7px; direction: ltr; text-align: left; }
.sandyar-runtime-fields {
  overflow: hidden;
  border: 1px solid #cbddec;
  border-radius: 14px;
  background: #fbfdff;
}
.sandyar-runtime-heading { border-bottom-color: #d8e5ee; }
.sandyar-runtime-grid label em { color: #b42318; font-style: normal; }
.sandyar-runtime-grid label small { display: block; margin-top: 5px; }
.sandyar-repeat-runtime { margin: 12px; overflow: hidden; border: 1px solid #d8e4ee; border-radius: 12px; background: #fff; }
.sandyar-repeat-runtime > header { flex-wrap: wrap; }
.sandyar-repeat-runtime > header > label { min-width: 90px; }
.sandyar-repeat-runtime > header > label input { width: 90px; }
.sandyar-repeat-row { margin: 11px; border: 1px solid #e1e8ef; border-radius: 10px; background: #fbfcfe; }
.sandyar-repeat-row > b { display: block; padding: 9px 12px; color: #285a7d; border-bottom: 1px solid #e5ebf1; }
.sandyar-zero-repeat { margin: 0; padding: 16px; color: #8a5b21; text-align: center; background: #fffaf0; }

/* صندوق‌یار */
.sy-shell {
  --sy-blue: #0e4b86;
  --sy-cyan: #1683a7;
  --sy-pale: #eef7fb;
  display: grid;
  gap: 16px;
}
.sy-hero {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  overflow: hidden;
  padding: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 12% 10%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(125deg, #0b3e73, #116da0 68%, #1595aa);
}
.sy-hero-mark {
  display: grid;
  place-items: center;
  width: 78px;
  height: 78px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 24px;
  color: #fff;
  background: rgba(255,255,255,.12);
  box-shadow: inset 0 0 0 6px rgba(255,255,255,.06);
  font-size: 24px;
  font-weight: 900;
}
.sy-hero span { color: #bfeaf3; font-size: 12px; font-weight: 800; }
.sy-hero h2 { margin: 5px 0 7px; color: #fff; font-size: 24px; }
.sy-hero p { max-width: 760px; margin: 0; color: #e6f6fa; line-height: 1.9; }
.sy-rfb-badge {
  display: grid;
  gap: 5px;
  min-width: 190px;
  padding: 13px 15px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 14px;
  background: rgba(4,39,73,.28);
}
.sy-rfb-badge b { color: #fff; font-size: 12px; }
.sy-rfb-badge small { color: #ccecf4; }
.sy-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.sy-category-grid article {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  padding: 15px;
  border: 1px solid #d8e7ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(18, 68, 106, .07);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.sy-category-grid article:hover,
.sy-category-grid article:focus {
  transform: translateY(-2px);
  border-color: #85bfd2;
  outline: none;
  box-shadow: 0 11px 26px rgba(18, 68, 106, .13);
}
.sy-category-grid i,
.sy-request-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  color: var(--sy-blue);
  background: var(--sy-pale);
  font-style: normal;
  font-size: 21px;
  font-weight: 900;
}
.sy-category-grid div { display: grid; min-width: 0; gap: 4px; }
.sy-category-grid strong { color: #123d66; }
.sy-category-grid small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.sy-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.sy-stats article {
  display: grid;
  gap: 5px;
  padding: 15px;
  border: 1px solid #dce8ef;
  border-radius: 14px;
  background: #fff;
}
.sy-stats span, .sy-stats small { color: var(--muted); }
.sy-stats strong { color: var(--sy-blue); font-size: 23px; }
.sy-report-chart {
  display: grid;
  grid-template-columns: minmax(210px, .75fr) minmax(0, 2fr);
  align-items: center;
  gap: 22px;
  padding: 18px;
}
.sy-report-chart > div:first-child { display: grid; gap: 5px; }
.sy-report-chart > div:first-child > span { color: var(--sy-cyan); font-size: 11px; font-weight: 900; }
.sy-report-chart h3 { margin: 0; color: #153f65; }
.sy-report-chart small { color: var(--muted); line-height: 1.8; }
.sy-chart-rows { display: grid; gap: 8px; }
.sy-chart-rows article {
  display: grid;
  grid-template-columns: minmax(120px, .7fr) minmax(150px, 1.4fr) minmax(190px, 1fr);
  align-items: center;
  gap: 10px;
}
.sy-chart-rows strong { color: #294b65; font-size: 11px; }
.sy-chart-rows article > div { overflow: hidden; height: 8px; border-radius: 8px; background: #e4edf2; }
.sy-chart-rows i { display: block; min-width: 3px; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--sy-blue), #25a7b7); }
.sy-chart-rows span { color: var(--muted); font-size: 10px; }
.sy-jump-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding: 12px;
}
.sy-jump-nav a,
.sy-jump-nav button {
  padding: 8px 13px;
  border: 0;
  border-radius: 10px;
  color: #164f7c;
  background: #edf5fa;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.sy-section-tabs {
  align-items: center;
  border: 1px solid #d8e7ef;
}
.sy-section-tabs > a[aria-current="page"] {
  color: #fff;
  background: linear-gradient(135deg, var(--sy-blue), var(--sy-cyan));
  box-shadow: 0 7px 17px rgba(14, 75, 134, .19);
}
.sy-tab-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-inline-start: auto;
  padding-inline-start: 8px;
  border-inline-start: 1px solid #d8e7ef;
}
.sy-tab-actions a,
.sy-tab-actions button { background: #f5f8fa; }
.sy-nav-count {
  display: inline-grid;
  place-items: center;
  min-width: 23px;
  height: 23px;
  margin-inline-start: 5px;
  padding: 0 6px;
  border-radius: 999px;
  color: inherit;
  background: rgba(255, 255, 255, .26);
  font-size: 10px;
}
.sy-major-section {
  display: grid;
  gap: 13px;
  scroll-margin-top: 18px;
}
.sy-major-summary {
  cursor: pointer;
  list-style: none;
  border-right: 4px solid #1d7ea4;
  transition: border-color .18s ease, background .18s ease;
}
.sy-major-summary::-webkit-details-marker,
.sy-request-group > summary::-webkit-details-marker { display: none; }
.sy-major-summary::before {
  content: "⌄";
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-inline-end: 2px;
  border-radius: 9px;
  color: #1d668c;
  background: #eaf4f8;
  font-size: 18px;
  transition: transform .18s ease;
}
.sy-major-section[open] > .sy-major-summary::before { transform: rotate(180deg); }
.sy-major-section[open] > .sy-major-summary { border-right-color: var(--sy-cyan); }
.sy-major-section:not([open]) > .sy-major-section-body,
.sy-request-group:not([open]) > .sy-request-group-body { display: none; }
.sy-major-section-body { display: grid; gap: 13px; }
.sy-overview-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 18px;
  color: #153f65;
  font-weight: 900;
}
.sy-overview-summary > span:first-of-type { margin-inline-end: auto; }
.sy-overview-body { padding-top: 1px; }
.sy-request-editor > form { padding-top: 18px; }
.sy-dynamic-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 4px 0;
  padding: 15px;
  border: 1px dashed #9fc5d5;
  border-radius: 13px;
  background: #f7fcfe;
}
.sy-dynamic-fields[hidden] { display: none !important; }
.sy-dynamic-fields legend { padding: 0 9px; color: var(--sy-blue); font-size: 12px; font-weight: 900; }
.sy-request-list, .sy-resources { display: grid; gap: 13px; scroll-margin-top: 15px; }
.sy-section-heading { padding: 18px; }
.sy-request-groups { display: grid; gap: 12px; }
.sy-request-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 11px 13px;
}
.sy-request-filter-tabs a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border: 1px solid #d8e6ed;
  border-radius: 10px;
  color: #185379;
  background: #f7fafc;
  font-size: 11px;
  font-weight: 800;
}
.sy-request-filter-tabs a > span {
  min-width: 22px;
  padding: 2px 6px;
  border-radius: 999px;
  color: #356078;
  background: #e5eff4;
  text-align: center;
}
.sy-request-filter-tabs a[aria-current="page"] {
  color: #fff;
  border-color: var(--sy-blue);
  background: var(--sy-blue);
}
.sy-request-filter-tabs a[aria-current="page"] > span {
  color: #fff;
  background: rgba(255, 255, 255, .2);
}
.sy-request-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 11px 13px;
}
.sy-request-page-size,
.sy-request-page-links {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 8px;
}
.sy-request-page-size label { min-width: 145px; }
.sy-request-page-size select { min-width: 85px; }
.sy-request-page-status { color: var(--muted); font-size: 11px; }
.sy-request-page-links .disabled {
  cursor: not-allowed;
  opacity: .48;
  pointer-events: none;
}
.sy-request-group {
  overflow: hidden;
  border: 1px solid #d8e6ed;
}
.sy-request-group > summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px 15px;
  cursor: pointer;
  list-style: none;
  background: #fff;
}
.sy-request-group > summary > span:nth-child(2) { display: grid; gap: 3px; }
.sy-request-group > summary strong { color: #17476d; }
.sy-request-group > summary small { color: var(--muted); font-size: 10px; }
.sy-request-group[open] > summary { border-bottom: 1px solid #dfe9ee; background: #f8fbfd; }
.sy-request-group-body {
  padding: 13px;
  background: #f5f9fb;
}
.sy-completed-requests { border-color: #cfe1d5; }
.sy-completed-requests > summary { background: #f8fcf9; }
.sy-group-empty {
  min-height: 105px;
  border: 1px dashed #d7e4ea;
  border-radius: 12px;
  background: #fff;
}
.sy-group-empty b { font-size: 25px; }
.sy-resources-body { display: grid; gap: 13px; }
.sy-warehouse-filter {
  display: grid;
  grid-template-columns: minmax(240px,1fr) minmax(220px,360px) auto auto;
  align-items: end;
  gap: 12px;
  padding: 13px 16px;
  border-right: 4px solid var(--sy-cyan);
}
.sy-warehouse-filter > div { display: grid; gap: 4px; }
.sy-warehouse-filter strong { color: #16466c; }
.sy-warehouse-filter small { color: var(--muted); line-height: 1.7; }
.sy-warehouse-filter label { margin: 0; }
.sy-warehouse-filter.is-bottom {
  margin-top: 2px;
  border-right-color: #2b6f9e;
  background: linear-gradient(135deg, #f8fcff, #fff);
}
.sy-warehouse-management { overflow: hidden; }
.sy-warehouse-manager-body { display: grid; gap: 14px; padding: 16px; }
.sy-warehouse-form { margin: 0; }
.sy-warehouse-list { display: grid; gap: 9px; }
.sy-warehouse-card {
  overflow: hidden;
  border: 1px solid #d9e6ed;
  border-radius: 12px;
  background: #fbfdfe;
}
.sy-warehouse-card > summary {
  display: grid;
  grid-template-columns: minmax(220px,1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
}
.sy-warehouse-card > summary::-webkit-details-marker { display: none; }
.sy-warehouse-card > summary > span:first-child { display: grid; gap: 3px; }
.sy-warehouse-card > summary strong { color: #17476d; }
.sy-warehouse-card > summary small { color: var(--muted); }
.sy-warehouse-card-body { display: grid; gap: 12px; padding: 14px; border-top: 1px solid #dfe9ee; background: #fff; }
.sy-warehouse-card-body > p { margin: 0; color: var(--muted); line-height: 1.8; }
.sy-inventory-resource-fields { border-color: #cce2d4; background: #f9fdfa; }
.sy-inventory-resource-fields legend { color: #26724b; }
.sy-equipment-resource-fields { border-color: #d8d4ec; background: #fcfbff; }
.sy-equipment-resource-fields legend { color: #615096; }
.field-warning { color: #a34718 !important; font-weight: 800; }
.sy-request-card {
  position: relative;
  display: grid;
  gap: 14px;
  overflow: hidden;
  padding: 19px;
  border-right: 4px solid #66a9bf;
}
.sy-request-card.sy-overdue { border-right-color: #c64444; }
.sy-request-card > header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
}
.sy-request-card > header > div:nth-child(2) > span { color: var(--sy-cyan); font-size: 11px; font-weight: 900; }
.sy-request-card h3 { margin: 4px 0; color: #143f66; font-size: 17px; }
.sy-request-card header p { margin: 0; color: var(--muted); font-size: 11px; }
.sy-request-state { display: grid; justify-items: end; gap: 6px; }
.sy-request-state small { color: var(--muted); }
.sy-request-progress {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 5px;
}
.sy-request-progress span { height: 5px; border-radius: 6px; background: #dce6ec; }
.sy-request-progress span.done { background: linear-gradient(90deg, var(--sy-blue), #1ca1b2); }
.sy-request-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(240px, 1fr);
  gap: 16px;
  padding: 14px;
  border-radius: 13px;
  background: #f8fbfd;
}
.sy-request-summary dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}
.sy-request-summary dl div, .sy-detail-grid div { display: grid; gap: 3px; min-width: 0; }
.sy-request-summary dt, .sy-detail-grid span { color: var(--muted); font-size: 10px; }
.sy-request-summary dd { overflow-wrap: anywhere; margin: 0; color: #173f62; font-weight: 800; }
.sy-request-summary > p {
  margin: 0;
  padding-right: 14px;
  border-right: 1px solid #dce8ee;
  color: #37536a;
  line-height: 1.9;
}
.sy-details,
.sy-history,
.sy-attachments {
  border: 1px solid #dce7ed;
  border-radius: 12px;
  background: #fff;
}
.sy-details summary,
.sy-history summary,
.sy-attachments summary {
  padding: 11px 13px;
  color: #174d78;
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
}
.sy-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
  padding: 0 13px 13px;
}
.sy-detail-grid strong { color: #294b65; line-height: 1.8; overflow-wrap: anywhere; }
.sy-card-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.sy-history > div { display: grid; gap: 0; padding: 0 13px 13px; }
.sy-history article {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  gap: 8px;
  padding: 9px 0;
  border-bottom: 1px solid #eef2f4;
}
.sy-history article:last-child { border-bottom: 0; }
.sy-history i { width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: var(--sy-cyan); }
.sy-history p { display: grid; gap: 3px; margin: 0; }
.sy-history p span, .sy-history time { color: var(--muted); font-size: 10px; }
.sy-attachment-list { display: grid; gap: 7px; padding: 0 13px 10px; }
.sy-attachment-list > div {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px;
  border-radius: 9px;
  background: #f5f9fb;
}
.sy-attachment-list > div > span { display: grid; min-width: 0; margin-left: auto; }
.sy-attachment-list strong { overflow: hidden; color: #244b6a; text-overflow: ellipsis; white-space: nowrap; }
.sy-attachment-list small { color: var(--muted); }
.sy-attachment-list form { margin: 0; }
.sy-upload-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 9px;
  padding: 11px 13px 13px;
  border-top: 1px solid #e4edf1;
}
.sy-transition-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  align-items: end;
  gap: 10px;
  padding: 13px;
  border: 1px solid #cddfe8;
  border-radius: 13px;
  background: #f1f8fb;
}
.sy-transition-note { grid-column: auto; }
.sy-resources .table-wrap { margin: 0; }
.sy-resources td small { display: block; margin-top: 4px; color: var(--muted); }
.sy-resources .inline-editor { min-width: 210px; }

.fleet-module,
.fleet-active-list,
.fleet-ledgers {
  display: grid;
  gap: 13px;
  scroll-margin-top: 15px;
}
.fleet-module { margin-top: 4px; }
.fleet-heading { border-right: 4px solid #1d7ea4; }
.fleet-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.fleet-stats article {
  display: grid;
  gap: 5px;
  padding: 15px;
  border: 1px solid #d8e7ef;
  border-radius: 14px;
  background: #fff;
}
.fleet-stats span,
.fleet-stats small { color: var(--muted); }
.fleet-stats strong { color: #126a94; font-size: 22px; }
.fleet-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 13px;
}
.fleet-pickup-planner { border-top: 3px solid #1b79a6; }
.fleet-work-editor { border-top: 3px solid #4d8098; }
.fleet-journey-card {
  display: grid;
  gap: 14px;
  overflow: hidden;
  padding: 18px;
  border-right: 4px solid #207da5;
}
.fleet-journey-card > header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}
.fleet-journey-card > header > div:nth-child(2) { display: grid; gap: 3px; }
.fleet-journey-card > header span:first-child { color: #15849a; font-size: 11px; font-weight: 900; }
.fleet-journey-card h3 { margin: 0; color: #153f65; }
.fleet-journey-card header p { margin: 0; color: var(--muted); font-size: 11px; }
.fleet-vehicle-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: #e8f5f8;
  font-size: 21px;
}
.fleet-route {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
}
.fleet-route div {
  display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: 11px;
  background: #f7fafc;
}
.fleet-route dt { color: var(--muted); font-size: 10px; }
.fleet-route dd { overflow-wrap: anywhere; margin: 0; color: #294b65; font-weight: 800; }
.fleet-stage-panel {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid #bcd9e4;
  border-radius: 14px;
  background: #f5fbfd;
}
.fleet-stage-panel.return-stage {
  border-color: #c8d8c9;
  background: #f7fbf7;
}
.fleet-stage-title {
  display: flex;
  align-items: center;
  gap: 11px;
}
.fleet-stage-title > b {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  color: #fff;
  background: #1d7ea4;
  font-size: 18px;
}
.return-stage .fleet-stage-title > b { background: #387c52; }
.fleet-stage-title > div { display: grid; gap: 3px; }
.fleet-stage-title strong { color: #194e70; }
.fleet-stage-title small { color: var(--muted); }
.fleet-camera-form {
  border: 1px dashed #8dbdce;
  border-radius: 12px;
  background: #fff;
}
.fleet-photo-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 10px;
}
.fleet-photo-gallery figure {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  overflow: hidden;
  margin: 0;
  padding: 8px;
  border: 1px solid #dbe7ed;
  border-radius: 11px;
  background: #fff;
}
.fleet-photo-gallery figure > a:first-child {
  grid-column: 1 / -1;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  border-radius: 8px;
  background: #edf3f6;
}
.fleet-photo-gallery img { width: 100%; height: 100%; object-fit: cover; }
.fleet-photo-gallery figcaption { display: grid; min-width: 0; }
.fleet-photo-gallery figcaption span {
  overflow: hidden;
  color: #234b66;
  font-size: 11px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fleet-photo-gallery figcaption small { color: var(--muted); font-size: 9px; }
.fleet-photo-gallery form { margin: 0; }
.fleet-confirm-form {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.fleet-confirm-form small { color: var(--muted); }
.fleet-return-form {
  padding-top: 12px;
  border-top: 1px solid #d7e5da;
}
.fleet-ledger-card { overflow: hidden; }
.fleet-ledger-card > summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 15px;
  cursor: pointer;
  list-style: none;
}
.fleet-ledger-card > summary::-webkit-details-marker { display: none; }
.fleet-ledger-card > summary > span:nth-child(2) { display: grid; gap: 3px; }
.fleet-ledger-card > summary strong { color: #194667; }
.fleet-ledger-card > summary small,
.fleet-ledger-card > summary > span:last-child { color: var(--muted); font-size: 11px; }
.fleet-ledger-card[open] > summary { border-bottom: 1px solid #dfe8ed; }
.fleet-ledger-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding: 12px 15px;
  background: #f7fafb;
}
.fleet-ledger-summary span {
  padding: 7px 10px;
  border-radius: 9px;
  color: var(--muted);
  background: #fff;
  font-size: 11px;
}
.fleet-ledger-summary b { color: #24516c; }
.fleet-ledger-card .table-wrap { margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.fleet-work-table { border-top: 3px solid #dce8ed !important; }

.report-service-filter {
  display: grid;
  grid-template-columns: repeat(3, minmax(190px, 1fr));
  align-items: end;
  gap: 13px;
  margin-bottom: 18px;
  padding: 20px;
}
.report-filter-heading { grid-column: 1 / -1; }
.report-filter-heading span { color: var(--blue); font-size: 11px; font-weight: 800; }
.report-filter-heading h2 { margin: 4px 0; color: var(--navy); }
.report-filter-heading p { margin: 0; color: var(--muted); line-height: 1.8; }
.report-filter-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.report-service-filter .active-report-filter {
  padding: 9px 13px;
  border-radius: 999px;
  background: #e7f1ff;
  color: #0d579e;
  font-size: 12px;
}
.report-filter-error { grid-column: 1 / -1; margin: 0; padding: 10px 13px; border: 1px solid #f0b4ae; border-radius: 10px; color: #a3261b; background: #fff4f3; }
.company-share-report { margin-bottom: 18px; overflow: hidden; }
.report-period-badge { align-self: center; padding: 8px 12px; border-radius: 999px; color: #115ca8; background: #e8f2ff; font-size: 11px; font-weight: 800; }
.company-share-overview { display: grid; grid-template-columns: 190px minmax(0, 1fr); align-items: center; gap: 24px; padding: 20px; border-top: 1px solid var(--border); }
.share-donut { --share: 0; position: relative; width: 168px; height: 168px; margin: auto; border-radius: 50%; background: conic-gradient(var(--blue) calc(var(--share) * 1%), #e6edf6 0); }
.share-donut::after { content: ""; position: absolute; inset: 25px; border-radius: inherit; background: #fff; box-shadow: 0 0 0 1px var(--border); }
.share-donut span { position: absolute; z-index: 1; inset: 0; display: grid; place-content: center; text-align: center; }
.share-donut b { color: var(--navy); font-size: 27px; }
.share-donut small { max-width: 95px; color: var(--muted); line-height: 1.6; }
.company-share-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.company-share-metrics > div { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); }
.company-share-metrics span, .company-share-metrics small { color: var(--muted); }
.company-share-metrics strong { overflow: hidden; color: var(--navy); font-size: 20px; text-overflow: ellipsis; }
.company-share-main-groups { padding: 0 20px 20px; }
.company-share-main-groups > header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.company-share-main-groups > header small { color: var(--muted); }
.company-share-main-groups > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.company-share-main-groups article { display: grid; gap: 8px; padding: 13px; border: 1px solid var(--border); border-radius: 12px; }
.company-share-main-groups article > div { display: flex; justify-content: space-between; gap: 10px; }
.company-share-main-groups article b { color: var(--blue); }
.company-share-main-groups article small { color: var(--muted); }
.share-track { display: block; overflow: hidden; height: 9px; border-radius: 999px; background: #e7eef7; }
.share-track i { display: block; min-width: 2px; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1769e0, #59a8ff); }
.company-share-table { margin: 0 20px 22px; border: 1px solid var(--border); border-radius: 12px; }
.share-percent { display: inline-flex; min-width: 56px; justify-content: center; padding: 5px 8px; border-radius: 999px; color: #075bac; background: #e8f2ff; font-weight: 800; }
.share-percent.financial { color: #087756; background: #e3f6ee; }
.company-share-empty { padding: 34px 20px; border-top: 1px solid var(--border); }
.company-share-empty p { margin: 7px 0 0; color: var(--muted); }
.confidential-banner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
  padding: 18px 21px;
  border: 1px solid #e8bab6;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff8f7, #fff 62%, #f2f7fc);
  box-shadow: 0 12px 32px #5f1b1410;
}
.confidential-lock {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 15px;
  background: #982a22;
  color: #fff;
  font-size: 27px;
}
.confidential-banner strong { display: block; color: #6f211b; font-size: 17px; }
.confidential-banner p { margin: 5px 0 0; color: #5e6672; line-height: 1.9; }
.confidential-banner > b {
  padding: 7px 13px;
  border: 1px solid #d79892;
  border-radius: 999px;
  color: #8e241d;
  font-size: 11px;
  letter-spacing: 1px;
}
.security-create-panel { border-top: 3px solid #174f87; }
.security-quick-upload { border-top: 3px solid #149474; }
.security-grid { display: grid; gap: 17px; }
.security-card {
  position: relative;
  overflow: hidden;
  border-color: #ccdceb;
}
.security-card:before {
  position: absolute;
  top: 0;
  right: 0;
  width: 5px;
  height: 100%;
  background: linear-gradient(#0d4e8b, #7caed7);
  content: "";
}
.security-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
  padding: 18px 21px 14px;
  border-bottom: 1px solid #e3ebf3;
}
.security-card-head h2 { margin: 8px 0 2px; color: #173f67; font-size: 18px; }
.security-card-head small { color: var(--muted); }
.security-kind.movable { background: #e8f5ef; color: #127049; }
.security-kind.immovable { background: #f4edf9; color: #74418e; }
.security-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: #dde7f0;
}
.security-summary > div {
  display: grid;
  gap: 4px;
  min-height: 78px;
  padding: 13px 16px;
  background: #f9fbfd;
}
.security-summary span { color: var(--muted); font-size: 11px; }
.security-summary strong { color: #23425e; line-height: 1.8; overflow-wrap: anywhere; }
.security-description {
  margin: 0;
  padding: 14px 20px;
  border-bottom: 1px solid #e5ecf3;
  color: #536479;
  line-height: 1.9;
}
.security-sections { display: grid; gap: 10px; padding: 15px 20px 20px; }
.security-section {
  border: 1px solid #d7e2ec;
  border-radius: 13px;
  background: #fff;
}
.security-section > summary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  color: #174c79;
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
}
.security-section > summary b {
  display: inline-grid;
  min-width: 24px;
  height: 24px;
  place-items: center;
  margin-right: auto;
  border-radius: 999px;
  background: #e8f1f8;
}
.security-document-list, .security-transfer-list { display: grid; gap: 7px; padding: 0 14px 13px; }
.security-document-list > div, .security-transfer-list > div {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px;
  border-radius: 10px;
  background: #f5f8fb;
}
.security-document-list > div > span, .security-transfer-list > div > span:first-child {
  display: grid;
  min-width: 0;
  margin-left: auto;
}
.security-document-list strong, .security-transfer-list strong { color: #254866; overflow-wrap: anywhere; }
.security-document-list small, .security-transfer-list small { margin-top: 3px; color: var(--muted); }
.receipt-meta { color: #6a7887; font-size: 11px; }
.security-upload-form {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(220px, 1.2fr) auto;
  align-items: end;
  gap: 10px;
  padding: 13px 14px;
  border-top: 1px solid #dfe8f0;
  background: #f8fbfd;
}
.security-transfer-form {
  margin: 0 14px 14px;
  padding: 14px;
  border: 1px solid #cbddec;
  border-radius: 12px;
  background: #f5f9fd;
}
.security-delete { display: flex; justify-content: flex-end; }
.empty-inline { margin: 0; padding: 12px; color: var(--muted); text-align: center; }

@media (max-width: 1000px) {
  .sandyar-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .sandyar-template-grid { grid-template-columns: 1fr; }
  .sandyar-designer-grid { grid-template-columns: 1fr; }
  .sandyar-hero { grid-template-columns: 62px minmax(0,1fr); }
  .sandyar-access-badge { grid-column: 2; }
  .sy-hero { grid-template-columns: 70px minmax(0, 1fr); }
  .sy-rfb-badge { grid-column: 2; }
  .sy-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sy-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sy-report-chart { grid-template-columns: 1fr; }
  .sy-request-summary { grid-template-columns: 1fr; }
  .sy-request-summary > p { padding: 12px 0 0; border-top: 1px solid #dce8ee; border-right: 0; }
  .sy-transition-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sy-transition-form button { min-height: 43px; }
  .fleet-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fleet-editor-grid { grid-template-columns: 1fr; }
  .fleet-route { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .security-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .sandyar-hero { grid-template-columns: 1fr; }
  .sandyar-mark { width: 50px; height: 50px; border-radius: 14px; }
  .sandyar-access-badge { grid-column: 1; }
  .sandyar-stats, .sandyar-calculation, .sandyar-preview { grid-template-columns: 1fr; }
  .sandyar-builder-fields, .sandyar-runtime-grid { grid-template-columns: 1fr; }
  .sandyar-builder-section > header, .sandyar-runtime-heading, .sandyar-repeat-runtime > header { align-items: stretch; flex-direction: column; }
  .sandyar-placeholder-guide > div { grid-template-columns: 1fr; }
  .sandyar-template-list article { grid-template-columns: auto minmax(0, 1fr); }
  .sandyar-template-list article > .badge,
  .sandyar-template-list article > a,
  .sandyar-template-list article > form { grid-column: 2; justify-self: start; }
  .sandyar-calculation p, .sandyar-preview > span { grid-column: 1; }
  .sy-hero, .sy-category-grid, .sy-stats, .sy-card-columns,
  .sy-dynamic-fields, .sy-transition-form { grid-template-columns: 1fr; }
  .sy-section-tabs { align-items: stretch; }
  .sy-section-tabs > a { flex: 1 1 calc(50% - 9px); text-align: center; }
  .sy-tab-actions {
    flex: 1 1 100%;
    margin-inline-start: 0;
    padding: 9px 0 0;
    border-top: 1px solid #d8e7ef;
    border-inline-start: 0;
  }
  .sy-request-group > summary { grid-template-columns: auto minmax(0, 1fr); }
  .sy-request-group > summary > .badge { grid-column: 2; justify-self: start; }
  .sy-request-pagination,
  .sy-request-page-size,
  .sy-request-page-links { align-items: stretch; }
  .sy-warehouse-filter { grid-template-columns: 1fr; align-items: stretch; }
  .sy-warehouse-card > summary { grid-template-columns: minmax(0,1fr) auto; }
  .sy-warehouse-card > summary > .badge:last-child { grid-column: 1 / -1; justify-self: start; }
  .sy-request-pagination > * { flex: 1 1 100%; }
  .sy-rfb-badge { grid-column: 1; }
  .sy-request-card > header { grid-template-columns: auto minmax(0, 1fr); }
  .sy-request-state { grid-column: 1 / -1; justify-items: start; }
  .sy-request-summary dl, .sy-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sy-upload-form { grid-template-columns: 1fr; }
  .sy-attachment-list > div { flex-wrap: wrap; }
  .sy-chart-rows article { grid-template-columns: 1fr; gap: 5px; }
  .fleet-stats, .fleet-route { grid-template-columns: 1fr; }
  .fleet-journey-card > header { grid-template-columns: auto minmax(0, 1fr); }
  .fleet-journey-card > header > .badge { grid-column: 1 / -1; }
  .fleet-ledger-card > summary { grid-template-columns: auto minmax(0, 1fr); }
  .fleet-ledger-card > summary > span:last-child { grid-column: 2; }
  .confidential-banner { grid-template-columns: auto minmax(0, 1fr); }
  .confidential-banner > b { grid-column: 2; justify-self: start; }
  .security-card-head { display: grid; }
  .security-summary, .security-upload-form { grid-template-columns: 1fr; }
  .security-document-list > div, .security-transfer-list > div { align-items: flex-start; flex-wrap: wrap; }
}

@media print {
  .sidebar, .topbar, .page-search-panel, .form-panel, .guarantee-intro, .guarantee-submit,
  .fund-review-actions, .inline-delete, .mini-upload, .alert { display: none !important; }
  .app-shell, .content { display: block; padding: 0; background: #fff; }
  .guarantee-card { display: none; border: 0; box-shadow: none; }
  .guarantee-card:has(.guarantee-report[open]) { display: block; }
  .guarantee-report { margin: 0; border: 0; }
  .guarantee-section:not(.guarantee-report) { display: none; }
  .panel { box-shadow: none; }
  .guarantee-create-panel, .guarantee-request > .guarantee-section, .guarantee-submit-panel,
  .guarantee-review-actions, .guarantee-request-footer, .guarantee-request-head { display: none !important; }
  .guarantee-request { display: none; border: 0; box-shadow: none; }
  .guarantee-request:has(.guarantee-analysis-report) { display: block; }
  .guarantee-analysis-report { margin: 0; border: 0; }
  .analysis-report-head button { display: none; }
  .sy-jump-nav, .sy-warehouse-filter, .sy-request-editor, .sy-request-filter-tabs, .sy-request-pagination, .sy-transition-form, .sy-upload-form,
  .sy-attachment-list form, .sy-resources details, .sy-request-card > .inline-delete { display: none !important; }
  .sy-major-section > .sy-major-section-body,
  .sy-request-group > .sy-request-group-body { display: grid !important; }
  .sy-major-summary::before { display: none; }
  .fleet-editor-grid, .fleet-camera-form, .fleet-confirm-form, .fleet-return-form,
  .fleet-journey-card > .inline-danger-form, .fleet-photo-gallery form { display: none !important; }
  .sy-category-grid, .sy-stats { grid-template-columns: repeat(3, 1fr); }
  .sy-request-card { break-inside: avoid; box-shadow: none; }
}

.service-collateral-editor {
  border: 1px solid var(--line, #d9e4f2);
  border-radius: 16px;
  padding: 16px;
  background: #f8fbff;
}

.sy-items-editor {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #d6e4f3;
  border-radius: 14px;
  background: #f8fbff;
}

.sy-items-heading {
  display: grid;
  gap: 3px;
}

.sy-items-list {
  display: grid;
  gap: 10px;
}

.sy-item-row {
  display: grid;
  grid-template-columns: minmax(180px, 2fr) repeat(2, minmax(100px, 1fr)) minmax(180px, 2fr) auto;
  align-items: end;
  gap: 9px;
  padding: 11px;
  border: 1px solid #dce7f4;
  border-radius: 12px;
  background: #fff;
}

.service-collateral-list {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}

.service-collateral-row {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(190px, 1fr) auto;
  align-items: end;
  gap: 10px;
  padding: 12px;
  border: 1px solid #dce7f4;
  border-radius: 12px;
  background: #fff;
}

.role-hierarchy-manager {
  display: grid;
  gap: 18px;
}

.hierarchy-role-creator {
  border: 1px dashed #a9bfdc;
  border-radius: 14px;
  padding: 12px;
  background: #f8fbff;
}

.role-hierarchy-tree {
  display: grid;
  gap: 10px;
}

.role-hierarchy-node {
  margin-inline-start: min(calc(var(--role-depth, 0) * 22px), 55%);
  border: 1px solid #dce7f4;
  border-inline-start: 4px solid #1e67aa;
  border-radius: 14px;
  padding: 14px;
  background: #fff;
}

.role-hierarchy-node > header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.role-hierarchy-node > header > span {
  min-width: 42px;
  color: #14528d;
  font-weight: 800;
}

.role-hierarchy-node > header > div {
  display: grid;
  flex: 1;
}

.compact-hierarchy-form {
  grid-template-columns: repeat(3, minmax(150px, 1fr));
}

.hierarchy-apply-users {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 8px;
}

@media (max-width: 760px) {
  .service-collateral-row,
  .sy-item-row,
  .compact-hierarchy-form {
    grid-template-columns: 1fr;
  }

  .role-hierarchy-node {
    margin-inline-start: min(calc(var(--role-depth, 0) * 8px), 24%);
  }
}

.visually-hidden {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html.hp-ajax-loading [data-hp-main] {
  cursor: progress;
}

html.hp-ajax-loading [data-hp-main]::before {
  content: "";
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 10000;
  block-size: 3px;
  background: linear-gradient(90deg, transparent, #155eaa, #4aa3ff, transparent);
  background-size: 200% 100%;
  animation: hp-ajax-progress 0.9s linear infinite;
}

@keyframes hp-ajax-progress {
  from { background-position: 100% 0; }
  to { background-position: -100% 0; }
}

@media (prefers-reduced-motion: reduce) {
  html.hp-ajax-loading [data-hp-main]::before { animation: none; }
}
