html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

body.auth-page { margin: 0; min-height: 100vh; background: radial-gradient(circle at 8% 8%, #dceaff, transparent 32%), #f2f6fc; color: #09213e; }
.auth-page > .container-fluid > main { min-height: 100vh; padding: clamp(18px, 4vw, 64px); display: grid; place-items: center; }
.auth-shell { width: min(1500px, 100%); min-height: min(830px, calc(100vh - 80px)); display: grid; grid-template-columns: 54% 46%; overflow: hidden; border-radius: 36px; background: #fff; box-shadow: 0 28px 80px rgba(15, 42, 78, .16); }
.auth-brand-panel { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: clamp(42px, 5vw, 78px); color: #fff; background: linear-gradient(145deg, #051b35 0%, #0c3d78 58%, #0878e8 100%); }
.auth-brand-panel::before, .auth-brand-panel::after { content: ""; position: absolute; border-radius: 50%; border: 90px solid rgba(255,255,255,.08); width: 520px; height: 520px; right: -210px; bottom: -250px; }
.auth-brand-panel::after { width: 380px; height: 380px; right: -70px; bottom: -260px; border-width: 75px; border-color: rgba(255,255,255,.055); }
.brand-mark { position: relative; z-index: 1; width: fit-content; display: flex; align-items: center; gap: 14px; padding: 18px 24px; border-radius: 18px; background: #fff; color: #081c35; letter-spacing: .18em; }
.brand-mark span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 10px; color: #fff; background: linear-gradient(135deg, #d9a62e, #f1ca62); font-weight: 800; letter-spacing: -.04em; }
.brand-mark strong { font-size: 1.15rem; }
.brand-message { position: relative; z-index: 1; margin: auto 0; max-width: 670px; }
.eyebrow { display: inline-block; font-size: .78rem; font-weight: 800; letter-spacing: .19em; color: #8fc4ff; margin-bottom: 22px; }
.brand-message h1 { max-width: 650px; margin: 0 0 28px; font-size: clamp(2.5rem, 4vw, 4.6rem); line-height: 1.08; font-weight: 750; letter-spacing: -.045em; }
.brand-message p { max-width: 620px; margin: 0; color: #d3e3f7; font-size: clamp(1rem, 1.35vw, 1.3rem); line-height: 1.75; }
.feature-pills { position: relative; z-index: 1; display: flex; gap: 12px; flex-wrap: wrap; }
.feature-pills span { padding: 10px 16px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(255,255,255,.08); font-size: .9rem; }
.auth-form-panel { display: grid; align-items: center; padding: clamp(42px, 6vw, 96px); background: rgba(255,255,255,.98); }
.auth-form-wrap { width: min(520px, 100%); margin: auto; }
.auth-form-panel h2 { margin: 0 0 14px; color: #09213e; font-size: clamp(2.2rem, 3.2vw, 3.5rem); line-height: 1.06; font-weight: 750; letter-spacing: -.045em; text-transform: capitalize; }
.form-intro { color: #72839a; font-size: 1.08rem; margin-bottom: 42px; }
.auth-field { margin-bottom: 22px; }
.auth-field > label { display: block; color: #243b57; font-size: .9rem; font-weight: 700; margin-bottom: 9px; }
.input-shell { min-height: 60px; display: flex; align-items: center; overflow: hidden; border: 1px solid #d8e1ed; border-radius: 15px; background: #f5f8fc; transition: .18s ease; }
.input-shell:focus-within { border-color: #2582e8; background: #eef5ff; box-shadow: 0 0 0 4px rgba(37,130,232,.12); }
.input-shell input { width: 100%; height: 58px; min-width: 0; border: 0; outline: 0; padding: 0 18px; color: #102942; background: transparent; font-size: 1rem; }
.input-icon { align-self: stretch; min-width: 56px; display: grid; place-items: center; border-right: 1px solid #e0e7f0; color: #7899c2; font-size: .65rem; background: rgba(255,255,255,.65); }
.show-password { align-self: stretch; border: 0; padding: 0 18px; color: #126bd4; background: #f8fafc; font-weight: 700; }
.auth-submit { width: 100%; min-height: 62px; margin-top: 8px; border: 0; border-radius: 15px; color: #fff; background: linear-gradient(100deg, #155cc6, #2585ef); box-shadow: 0 13px 25px rgba(31,112,215,.22); font-weight: 750; font-size: 1.05rem; transition: transform .18s ease, box-shadow .18s ease; }
.auth-submit:hover { transform: translateY(-1px); box-shadow: 0 16px 30px rgba(31,112,215,.3); }
.auth-submit span { margin-left: 7px; font-size: 1.3rem; }
.secure-note { margin: 34px 0 0; text-align: center; color: #95a4b6; font-size: .86rem; }
.validation-summary:empty, .validation-summary-valid { display: none; }
.registration-panel { padding: clamp(32px, 4vw, 62px); align-items: start; overflow-y: auto; }
.registration-wrap { width: min(790px, 100%); margin: auto; }
.auth-shell-register { grid-template-columns: 40% 60%; min-height: min(900px, calc(100vh - 50px)); }
.auth-shell-register .brand-message h1 { font-size: clamp(2.3rem, 3.4vw, 3.8rem); }
.auth-shell-register .form-intro { margin-bottom: 28px; }
.registration-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.form-section-title { margin: 0 0 18px; color: #1d3858; font-size: .88rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.grants-heading { margin-top: 30px; }
.permission-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.permission-group { padding: 18px; border: 1px solid #e0e8f2; border-radius: 14px; background: #f8fafd; }
.permission-group h4 { min-height: 35px; margin: 0 0 12px; color: #183553; font-size: .85rem; font-weight: 800; }
.permission-item { display: flex; gap: 9px; align-items: flex-start; margin: 10px 0; color: #52677f; font-size: .83rem; cursor: pointer; }
.active-toggle { display: flex; align-items: center; gap: 8px; color: #294561; font-weight: 650; }
.bootstrap-notice { margin: 5px 0 22px; padding: 15px 17px; border-radius: 12px; color: #245a90; background: #edf6ff; font-size: .9rem; }

@media (max-width: 900px) {
  .auth-page > .container-fluid > main { padding: 0; display: block; }
  .auth-shell, .auth-shell-register { min-height: 100vh; grid-template-columns: 1fr; border-radius: 0; }
  .auth-brand-panel { min-height: 320px; padding: 32px 28px; }
  .brand-message { margin: 55px 0; }
  .brand-message h1 { font-size: 2.3rem; }
  .feature-pills { display: none; }
  .auth-form-panel { padding: 44px 28px 58px; }
  .registration-grid, .permission-grid { grid-template-columns: 1fr; }
}

.branch-metrics .balance-metric.current{grid-column:span 2;background:#e8f8ef}.branch-metrics .balance-metric.current strong{color:#087b48;font-size:1rem}
.dashboard-loading-card,.dashboard-error-card{grid-column:1/-1;min-height:150px;display:flex;align-items:center;justify-content:center;gap:16px;text-align:left}.dashboard-loading-card h2,.dashboard-error-card h2{margin:0 0 4px;color:#263f59;font-size:1rem}.dashboard-loading-card p,.dashboard-error-card p{margin:0;color:#8999aa;font-size:.72rem}.dashboard-spinner{width:34px;height:34px;border:3px solid #dce9fa;border-top-color:#176bdc;border-radius:50%;animation:dashboard-spin .8s linear infinite}.dashboard-error-card button{height:36px;padding:0 16px;border:0;border-radius:8px;color:#fff;background:#176bdc;font-size:.7rem;font-weight:750}@keyframes dashboard-spin{to{transform:rotate(360deg)}}
.bank-transaction-content{align-items:stretch}.bank-transaction-card{width:100%;max-width:none;min-height:0;padding:22px}.bank-transaction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 18px}.bank-description-field{grid-column:1/-1}.bank-description-field .textarea-shell{height:76px}.bank-description-field textarea{height:74px;resize:none}.bank-transaction-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.bank-transaction-actions .secondary-action{height:46px}.bank-transaction-actions .auth-submit{width:auto;min-width:230px;min-height:46px;height:46px;margin:0}@media(max-width:900px){.bank-transaction-grid{grid-template-columns:1fr}.bank-description-field{grid-column:1}.bank-transaction-actions{flex-direction:column}.bank-transaction-actions .secondary-action,.bank-transaction-actions .auth-submit{width:100%}}
.bank-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-report-kpis .kpi-a:before{background:#20a366}.bank-report-kpis .kpi-b:before{background:#d95b68}.bank-report-kpis .kpi-a strong{color:#168653}.bank-report-kpis .kpi-b strong{color:#c93e4d}.bank-description-cell{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.bank-report-kpis{grid-template-columns:1fr}}

@media (min-width: 901px) {
  .app-shell:has(.branch-dashboard-grid) {
    width: 100vw;
    max-width: none;
    height: 100vh;
    min-height: 0;
    margin: 0;
    grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
    overflow: hidden;
  }

  .app-shell:has(.branch-dashboard-grid) .app-main {
    width: calc(100vw - var(--sidebar-width));
    max-width: none;
    height: 100vh;
    min-height: 0;
    margin: 0;
    overflow: hidden;
  }

  .app-shell:has(.branch-dashboard-grid) .app-topbar {
    width: 100%;
    max-width: none;
    height: 72px;
    flex: 0 0 72px;
    margin: 0;
    box-sizing: border-box;
  }

  .app-shell:has(.branch-dashboard-grid) .dashboard-content {
    width: 100%;
    max-width: none;
    height: calc(100vh - 72px);
    min-height: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;
  }

  .app-shell:has(.branch-dashboard-grid) .dashboard-heading {
    flex: 0 0 auto;
  }

  .app-shell:has(.branch-dashboard-grid) .branch-dashboard-grid {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    padding-right: 5px;
    overflow-x: hidden;
    overflow-y: auto;
    align-content: start;
  }

  .app-shell:has(.branch-dashboard-grid) .app-footer {
    display: none;
  }
}

/* Every management screen fills the complete workspace beside the sidebar. */
@media (min-width: 901px) {
  .app-shell:has(.management-content) {
    width: 100vw;
    max-width: none;
    margin: 0;
    grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
  }

  .app-shell:has(.management-content) .app-main {
    width: calc(100vw - var(--sidebar-width));
    max-width: none;
    margin: 0;
    align-self: stretch;
  }

  .app-shell:has(.management-content) .app-topbar {
    width: 100%;
    max-width: none;
    margin: 0;
    align-self: stretch;
    box-sizing: border-box;
  }

  .app-shell:has(.management-content) .management-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
  }

  .app-shell:has(.management-content) .article-layout {
    width: 100%;
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  }
}

/* Application dashboard */
body.auth-page:has(.app-shell) > .container-fluid > main { min-height: 100vh; padding: 0; display: block; }
.app-shell { --sidebar-width: 292px; min-height: 100vh; display: grid; grid-template-columns: var(--sidebar-width) 1fr; background: #f4f7fb; color: #172b45; }
.app-sidebar { position: fixed; z-index: 30; inset: 0 auto 0 0; width: var(--sidebar-width); display: flex; flex-direction: column; background: #fff; border-right: 1px solid #e6ebf2; }
.sidebar-brand { height: 92px; display: flex; align-items: center; gap: 12px; padding: 0 22px; border-bottom: 1px solid #edf0f5; }
.sidebar-brand > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(135deg,#d8a42d,#efc55d); font-size: .85rem; font-weight: 850; }
.sidebar-brand div { display: flex; flex-direction: column; line-height: 1.1; }
.sidebar-brand strong { letter-spacing: .16em; color: #102943; font-size: .94rem; }
.sidebar-brand small { margin-top: 5px; color: #9aa8b8; font-size: .68rem; }
.sidebar-close { display: none; margin-left: auto; border: 0; background: transparent; color: #64778e; font-size: 1.7rem; }
.online-dot { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; background: #35cc81; }
.sidebar-nav { flex: 1; min-height: 0; padding: 12px 15px 20px; overflow-y: auto; }
.nav-heading { margin: 7px 14px 12px; color: #a1afbf; font-size: .62rem; font-weight: 850; letter-spacing: .15em; }
.nav-dashboard, .nav-parent { width: 100%; min-height: 49px; display: flex; align-items: center; gap: 12px; padding: 0 14px; border: 0; border-radius: 11px; color: #5c6f85; background: transparent; text-decoration: none; font-size: .84rem; font-weight: 700; text-align: left; }
.nav-dashboard:hover, .nav-parent:hover { color: #195eb8; background: #f5f8fd; }
.nav-dashboard.active { color: #176be0; background: #edf5ff; }
.nav-icon { width: 22px; display: inline-grid; place-items: center; color: #7b90a8; font-size: 1.05rem; }
.nav-parent span:nth-child(2) { flex: 1; }
.nav-parent b { font-size: 1.15rem; font-weight: 500; transition: transform .2s ease; }
.nav-group { margin: 4px 0; border: 1px solid transparent; border-radius: 12px; }
.nav-group.open { padding-bottom: 7px; border-color: #e6ebf3; background: #fbfcfe; }
.nav-group.open .nav-parent { color: #155fc5; }
.nav-group.open .nav-parent b { transform: rotate(90deg); }
.nav-children { display: none; padding-left: 49px; }
.nav-group.open .nav-children { display: block; }
.nav-children a, .coming-soon { display: block; padding: 9px 8px; color: #6a7b90; text-decoration: none; font-size: .78rem; font-weight: 600; }
.nav-children a:hover { color: #176be0; }
.nav-children a.active-child { margin-right: 8px; padding-left: 11px; border-left: 3px solid #176be0; border-radius: 4px; color: #176be0; background: #edf5ff; }
.coming-soon { color: #a3afbd; font-style: italic; }
.sidebar-user { margin: 15px; min-height: 68px; display: flex; align-items: center; gap: 10px; padding: 11px; border-radius: 13px; background: #f5f3ff; }
.user-avatar { flex: 0 0 auto; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg,#6848ef,#8b5cf6); font-weight: 750; }
.sidebar-user > div:nth-child(2) { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.sidebar-user strong { overflow: hidden; color: #25364a; font-size: .77rem; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user small { overflow: hidden; color: #8c9bad; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user form button { border: 0; color: #697d94; background: transparent; font-size: 1.1rem; }
.app-main { grid-column: 2; min-width: 0; display: flex; flex-direction: column; min-height: 100vh; }
.app-topbar { position: sticky; z-index: 20; top: 0; height: 92px; display: flex; align-items: center; justify-content: flex-end; gap: 24px; padding: 0 32px; border-bottom: 1px solid #e5eaf1; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
.mobile-menu { display: none; border: 0; color: #38536f; background: transparent; font-size: 1.5rem; }
.app-search { display: none; }
.app-search span { padding-left: 17px; color: #71849a; font-size: 1.2rem; }
.app-search input { width: 100%; border: 0; outline: 0; padding: 0 14px; color: #31465e; background: transparent; font-size: .84rem; }
.topbar-user { min-width: 220px; flex: 0 0 auto; display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.branch-selector{position:fixed;z-index:24;top:43px;right:92px;width:180px;display:flex;flex-direction:column;align-items:stretch}.branch-selector label{display:none}.branch-selector select{width:100%;height:28px;padding:0 8px;border:0;border-radius:7px;color:#6f8194;background:#f4f7fa;font-size:.62rem;font-weight:700;text-align:right}.branch-selector select:disabled{opacity:1;cursor:not-allowed}@media(max-width:760px){.branch-selector{display:none}}
.topbar-user > div:nth-child(2) { display: flex; flex-direction: column; align-items: flex-end; }
.topbar-user strong { color: #22354c; font-size: .82rem; }
.topbar-user small { color: #8b99a9; font-size: .68rem; }
.app-topbar .topbar-user{align-self:flex-start;margin-top:12px;padding-right:8px}.app-topbar .topbar-user>div:not(.user-avatar){display:flex;flex-direction:column;align-items:flex-end;padding-bottom:28px}.app-topbar .topbar-user small{display:none}
.dashboard-content { flex: 1; width: min(1460px, 100%); margin: 0 auto; padding: clamp(28px,4vw,58px); }
.dashboard-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.dashboard-heading .eyebrow { margin-bottom: 10px; }
.dashboard-heading h1 { margin: 0 0 8px; color: #142b45; font-size: clamp(1.8rem,3vw,2.7rem); font-weight: 760; letter-spacing: -.035em; }
.dashboard-heading p { margin: 0; color: #7c8da1; }
.app-topbar .topbar-user{display:none}
.global-user-summary{position:fixed;z-index:24;top:9px;right:28px;width:min(860px,calc(100vw - var(--sidebar-width) - 90px));height:54px;display:grid;grid-template-columns:minmax(140px,1fr) minmax(145px,1fr) minmax(110px,.68fr) minmax(110px,.68fr) minmax(120px,.72fr);border:1px solid #dfe7f1;border-radius:13px;background:#fff;box-shadow:0 5px 18px rgba(34,61,91,.07)}
.global-user-summary>.branch-selector,.global-user-summary>div{position:static;width:auto;min-width:0;height:auto;display:flex;flex-direction:column;align-items:stretch;justify-content:center;margin:0;padding:8px 15px;border:0;border-right:1px solid #e8edf3;border-radius:0;background:transparent}
.global-user-summary>*:first-child{border-top-left-radius:13px;border-bottom-left-radius:13px}
.global-user-summary>*:last-child{border-right:0;border-top-right-radius:13px;border-bottom-right-radius:13px}
.global-user-summary small{display:block;margin-bottom:2px;color:#91a0b0;font-size:.52rem;font-weight:850;letter-spacing:.1em}
.global-user-summary strong,.global-user-summary select{overflow:hidden;color:#243a53;font-size:.72rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.global-user-summary select{width:100%;height:auto;padding:0 18px 0 0;border:0;outline:0;color:#243a53;background-color:transparent;font-size:.72rem;text-align:left;cursor:pointer}
.global-user-summary select:disabled{opacity:1;color:#243a53;cursor:default}
.global-email-quota{background:#edf9f2!important}.global-email-quota strong{color:#14834f}.global-email-quota.unavailable{background:#fff7ed!important}.global-email-quota.unavailable small,.global-email-quota.unavailable strong{color:#b45309}
.global-email-quota[role="button"]{cursor:pointer}.global-email-quota[role="button"]:hover{background:#e0f4e8!important}
.global-email-quota.low-balance{background:#fdeceb!important;animation:email-low-balance-blink 1.4s ease-in-out infinite}
.global-email-quota.low-balance small,.global-email-quota.low-balance strong{color:#c22a1f}
@keyframes email-low-balance-blink{0%,100%{box-shadow:0 0 0 0 rgba(194,42,31,.55)}50%{box-shadow:0 0 0 9px rgba(194,42,31,0)}}
@media(prefers-reduced-motion:reduce){.global-email-quota.low-balance{animation:none;box-shadow:0 0 0 3px rgba(194,42,31,.35)}}
.global-notifications.has-alert{cursor:pointer;background:#fdeceb!important;animation:email-low-balance-blink 1.4s ease-in-out infinite}
.global-notifications.has-alert small,.global-notifications.has-alert strong{color:#c22a1f}
.global-notifications.has-alert:hover{background:#f9dcda!important}
.global-notifications.no-alert{cursor:default;background:#edf1f5!important}
.global-notifications.no-alert small,.global-notifications.no-alert strong{color:#66788c}
@media(prefers-reduced-motion:reduce){.global-notifications.has-alert{animation:none;box-shadow:0 0 0 3px rgba(194,42,31,.35)}}
.global-sms-quota.disabled{cursor:not-allowed;background:#edf1f5!important}
.global-sms-quota.disabled small,.global-sms-quota.disabled strong{color:#66788c}
.email-topup-modal{border:0;border-radius:16px;overflow:hidden}
.email-topup-header{position:relative;padding:34px 30px 30px;text-align:center;color:#fff;background:linear-gradient(135deg,#7a1414,#c22a1f)}
.email-topup-close{position:absolute;top:14px;right:16px;width:30px;height:30px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.18);font-size:.85rem;line-height:1}
.email-topup-icon{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:rgba(255,255,255,.16);font-size:1.4rem}
.email-topup-header small{display:block;color:#f5c8c2;font-weight:800;letter-spacing:.18em;font-size:.68rem}
.email-topup-header h2{margin:8px 0 14px;font-size:1.9rem;font-weight:900}
.email-topup-balance{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 18px;border-radius:20px;background:rgba(255,255,255,.16);font-weight:800;font-size:.78rem}
.email-topup-refresh{width:22px;height:22px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.22);font-size:.85rem;line-height:1}
.email-topup-refresh:hover{background:rgba(255,255,255,.32)}
.email-topup-refresh:disabled{opacity:.6}
.email-topup-refresh.spinning{animation:email-topup-refresh-spin .8s linear infinite}
@keyframes email-topup-refresh-spin{to{transform:rotate(360deg)}}
.email-topup-body{padding:26px 30px}
.email-topup-details{border:1px solid #edf0f4;border-radius:12px;overflow:hidden;background:#f7f9fc}
.email-topup-detail-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid #edf0f4}
.email-topup-detail-row:last-child{border-bottom:0}
.email-topup-detail-row small{color:#8a99a9;font-weight:800;font-size:.6rem;letter-spacing:.08em}
.email-topup-detail-row strong{color:#243a53;font-size:.92rem}
.email-topup-detail-row span{display:flex;align-items:center;gap:10px}
.email-topup-copy{padding:3px 10px;border:1px solid #f2c7c0;border-radius:8px;color:#c22a1f;background:#fdf1f0;font-size:.62rem;font-weight:800}
.email-topup-instructions{margin:16px 0 0;color:#5f7184;font-size:.8rem;line-height:1.5}
.email-topup-amount-label{display:block;margin:20px 0 10px;color:#243a53;font-weight:800;font-size:.82rem}
.email-topup-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.email-topup-preset{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;border:1px solid #e3eaf2;border-radius:10px;background:#fff;color:#243a53}
.email-topup-preset strong{font-size:1rem}
.email-topup-preset small{color:#8a99a9;font-size:.62rem}
.email-topup-preset.selected{border-color:#c22a1f;background:#fdf1f0;color:#c22a1f}
.email-topup-preset.selected small{color:#c22a1f}
.email-topup-input{width:100%;margin-top:12px;padding:12px 14px;border:1px solid #e3eaf2;border-radius:10px;font-size:.95rem}
.email-topup-count{margin-top:10px;color:#5f7184;font-size:.78rem}
.email-topup-count strong{color:#243a53}
.email-topup-error{min-height:18px;margin-top:8px;color:#c22a1f;font-size:.78rem;font-weight:700}
.email-topup-error.success{color:#14834f}
.email-topup-submit{width:100%;margin-top:14px;padding:14px;border:0;border-radius:10px;color:#fff;background:linear-gradient(135deg,#7a1414,#c22a1f);font-weight:800;font-size:.9rem}
.email-topup-submit:disabled{opacity:.7}
@media(max-width:600px){.email-topup-presets{grid-template-columns:repeat(2,1fr)}}
.delete-history-table{min-width:1240px}.delete-history-table td>small{display:block;margin-top:3px;color:#8a9aab;font-size:.58rem}.delete-history-table td:nth-child(4),.delete-history-table td:nth-child(5){white-space:nowrap}.delete-type-badge{display:inline-flex;align-items:center;min-height:27px;padding:5px 10px;border-radius:9px;color:#176bdc;background:#eaf3ff;box-shadow:inset 0 0 0 1px #d9e9fd;font-size:.68rem;font-weight:800;line-height:1.15;white-space:nowrap}
.shift-close-history-table{min-width:960px}.shift-close-history-table td:first-child,.shift-close-history-table td:nth-child(3),.shift-close-history-table td:nth-child(4){white-space:nowrap}.email-delivery-status{display:inline-flex;align-items:center;padding:5px 10px;border-radius:99px;font-size:.62rem;font-weight:800}.email-delivery-status.sent{color:#087553;background:#e3f7ef}.email-delivery-status.failed{color:#bd1230;background:#ffe7ec}.email-delivery-status.unknown{color:#6e7f91;background:#edf2f7}
@media(max-width:760px){.global-user-summary{top:8px;right:10px;width:calc(100vw - 76px);height:58px;grid-template-columns:1fr 1fr 1fr 1fr 1fr}.global-user-summary>.branch-selector,.global-user-summary>div{display:flex!important;padding:6px 8px}.global-user-summary small{font-size:.44rem}.global-user-summary strong,.global-user-summary select{font-size:.6rem}}
.date-chip { min-width: 154px; display: flex; flex-direction: column; padding: 13px 17px; border: 1px solid #e2e8f1; border-radius: 12px; background: #fff; }
.date-chip small { color: #98a5b4; font-size: .6rem; font-weight: 800; letter-spacing: .12em; }
.date-chip strong { margin-top: 3px; color: #344b64; font-size: .84rem; }
.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin-bottom: 20px; }
.metric-card { min-height: 126px; display: flex; align-items: center; gap: 15px; padding: 21px; border: 1px solid #e6ebf2; border-radius: 16px; background: #fff; box-shadow: 0 7px 22px rgba(40,64,91,.04); }
.metric-icon, .action-icon { flex: 0 0 auto; width: 47px; height: 47px; display: grid; place-items: center; border-radius: 13px; font-weight: 800; }
.blue { color: #1a6de1; background: #eaf3ff; }.green { color: #179765; background: #e8f8f1; }.orange { color: #d77920; background: #fff2e5; }.purple { color: #7354d9; background: #f0ecff; }
.metric-card > div:last-child { min-width: 0; display: flex; flex-direction: column; }
.metric-card span { color: #718399; font-size: .75rem; font-weight: 650; }
.metric-card strong { color: #1a304a; font-size: 1.7rem; line-height: 1.1; }
.metric-card small { margin-top: 5px; overflow: hidden; color: #a0adbb; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 20px; }
.dashboard-card { min-height: 330px; padding: 25px; border: 1px solid #e6ebf2; border-radius: 16px; background: #fff; box-shadow: 0 7px 22px rgba(40,64,91,.04); }
.card-title { display: flex; align-items: start; justify-content: space-between; margin-bottom: 23px; }
.card-title h2 { margin: 0 0 4px; color: #1d344e; font-size: 1rem; font-weight: 760; }
.card-title p { margin: 0; color: #94a2b2; font-size: .72rem; }
.card-title > a { color: #176bdc; font-size: .75rem; font-weight: 700; text-decoration: none; }
.action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.action-grid a { display: grid; grid-template-columns: 47px 1fr; grid-template-rows: auto auto; gap: 1px 13px; padding: 17px; border: 1px solid #e5eaf1; border-radius: 13px; color: inherit; text-decoration: none; transition: .18s ease; }
.action-grid a:hover { transform: translateY(-2px); border-color: #bcd5f5; box-shadow: 0 10px 22px rgba(35,86,148,.08); }
.action-grid .action-icon { grid-row: 1/3; }
.action-grid strong { align-self: end; color: #2d435b; font-size: .8rem; }
.action-grid small { color: #95a3b3; font-size: .67rem; }
.empty-state { min-height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.empty-state div { width: 56px; height: 56px; display: grid; place-items: center; margin-bottom: 14px; border-radius: 16px; color: #6d54dc; background: #f1edff; }
.empty-state strong { color: #344a62; font-size: .86rem; }.empty-state p { max-width: 270px; margin: 7px 0 0; color: #98a5b3; font-size: .72rem; }
.app-footer { padding: 18px; color: #9ba8b6; text-align: center; font-size: .68rem; }
.sidebar-backdrop { display: none; }

@media (max-width: 1150px) { .metric-grid { grid-template-columns: 1fr 1fr; } .dashboard-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .app-shell { display: block; }
  .app-sidebar { transform: translateX(-102%); transition: transform .22s ease; box-shadow: 18px 0 45px rgba(17,39,67,.18); }
  .sidebar-visible .app-sidebar { transform: translateX(0); }
  .sidebar-close, .mobile-menu { display: block; }
  .sidebar-backdrop { position: fixed; z-index: 25; inset: 0; background: rgba(10,27,49,.45); }
  .sidebar-visible .sidebar-backdrop { display: block; }
  .app-main { min-height: 100vh; }
  .app-topbar { height: 74px; padding: 0 18px; }
  .app-search { flex: 1; width: auto; }
  .topbar-user > div:nth-child(2), .online-dot { display: none; }
  .topbar-user .user-avatar { width: 38px; height: 38px; }
  .dashboard-content { padding: 28px 18px; }
  .dashboard-heading { align-items: start; flex-direction: column; gap: 16px; }
  .metric-grid, .action-grid { grid-template-columns: 1fr; }
  .date-chip { width: 100%; }
}

/* Article management */
.management-page { min-height: 100vh; display: flex; flex-direction: column; background: #f4f7fb; }
.management-topbar { height: 82px; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(20px,4vw,60px); border-bottom: 1px solid #e4eaf1; background: #fff; }
.management-brand { display: flex; align-items: center; gap: 11px; color: inherit; text-decoration: none; }
.management-brand > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: linear-gradient(135deg,#d8a42d,#efc55d); font-size: .8rem; font-weight: 850; }
.management-brand div, .management-user > div { display: flex; flex-direction: column; }
.management-brand strong { color: #102943; font-size: .85rem; letter-spacing: .16em; }.management-brand small, .management-user small { color: #9aa8b8; font-size: .65rem; }
.management-user { display: flex; align-items: center; gap: 20px; }.management-user > div { align-items: flex-end; }.management-user strong { color: #2c425a; font-size: .78rem; }.management-user a { padding: 9px 14px; border-radius: 9px; color: #176bdc; background: #edf5ff; text-decoration: none; font-size: .75rem; font-weight: 750; }
.management-content { flex: 1; width: min(1450px,100%); margin: 0 auto; padding: clamp(25px,4vw,54px); }
.breadcrumb-line { display: flex; gap: 9px; margin-bottom: 30px; color: #91a0b1; font-size: .74rem; }.breadcrumb-line a { color: #5e7690; text-decoration: none; }.breadcrumb-line strong { color: #176bdc; }
.management-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 28px; }.management-heading .eyebrow { margin-bottom: 9px; }.management-heading h1 { margin: 0 0 7px; color: #172f49; font-size: clamp(2rem,3vw,2.8rem); font-weight: 760; letter-spacing: -.04em; }.management-heading p { margin: 0; color: #7e8fa2; }
.record-count { min-width: 135px; padding: 14px 18px; display: flex; flex-direction: column; border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; }.record-count small { color: #95a3b3; font-size: .58rem; font-weight: 850; letter-spacing: .1em; }.record-count strong { color: #176bdc; font-size: 1.45rem; }
.article-layout { display: grid; grid-template-columns: minmax(300px,390px) 1fr; gap: 20px; align-items: start; }.article-form-card { min-height: 0; }.article-symbol { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 12px; color: #176bdc; background: #edf5ff; }
.article-description { height: auto; }.article-description textarea { width: 100%; resize: vertical; border: 0; outline: 0; padding: 16px 18px; color: #102942; background: transparent; }
.article-list-card { min-width: 0; min-height: 460px; }.table-search { height: 46px; display: flex; align-items: center; margin-bottom: 18px; border: 1px solid #dfe6ef; border-radius: 11px; background: #f8fafc; }.table-search span { padding-left: 15px; color: #7890aa; }.table-search input { width: 100%; border: 0; outline: 0; padding: 0 13px; background: transparent; font-size: .8rem; }
.article-table-wrap { overflow-x: auto; }.article-table { width: 100%; border-collapse: collapse; }.article-table th { padding: 13px 14px; color: #8191a3; background: #f7f9fc; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }.article-table td { padding: 15px 14px; border-bottom: 1px solid #edf0f4; color: #53677e; font-size: .8rem; }.article-table td strong { color: #2a4058; }.id-badge { min-width: 30px; height: 30px; display: inline-grid; place-items: center; border-radius: 8px; color: #176bdc; background: #edf5ff; font-weight: 750; }.empty-row td { padding: 70px 20px; color: #98a6b5; text-align: center; }
.karatage-layout { grid-template-columns: minmax(280px,360px) 1fr; }.karatage-badge { min-width: 58px; height: 30px; display: inline-grid; place-items: center; border-radius: 8px; color: #7a5bc9; background: #f1edff; font-weight: 800; }
@media (max-width: 900px) { .article-layout { grid-template-columns: 1fr; }.management-heading { align-items: start; flex-direction: column; }.record-count { width: 100%; }.management-user > div { display: none; } }

/* Pawning billing */
.billing-content { flex: 1; width: min(1500px,100%); margin: 0 auto; padding: clamp(25px,3vw,48px); }.billing-heading { margin-bottom: 24px; }.ui-only-badge { padding: 9px 13px; border: 1px solid #cfe0f7; border-radius: 9px; color: #2f70c4; background: #edf5ff; font-size: .65rem; font-weight: 850; letter-spacing: .1em; }
.bill-header-card, .customer-card, .history-card, .item-entry-card, .bill-items-card { min-height: 0; margin-bottom: 18px; }.billing-section-title { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }.billing-section-title > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; color: #176bdc; background: #edf5ff; font-size: .72rem; font-weight: 850; }.billing-section-title h2 { margin: 0 0 2px; color: #1d344e; font-size: .95rem; font-weight: 780; }.billing-section-title p { margin: 0; color: #95a3b3; font-size: .7rem; }
.billing-form-grid { display: grid; gap: 0 16px; }.invoice-grid { grid-template-columns: .65fr 1.4fr 1fr; }.billing-form-grid .auth-field { margin-bottom: 0; }.input-shell select { width: 100%; height: 58px; border: 0; outline: 0; padding: 0 15px; color: #243a53; background: transparent; }.readonly-shell { background: #eef2f7; }.readonly-shell input { color: #8492a2; }.customer-history-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }.nic-search-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; margin-bottom: 18px; }.nic-search-row .auth-field { margin: 0; }.secondary-action { height: 60px; padding: 0 20px; border: 1px solid #bad3f3; border-radius: 14px; color: #176bdc; background: #edf5ff; font-size: .78rem; font-weight: 750; }.customer-fields { grid-template-columns: 1fr 1fr; gap: 18px 16px; }.full-field { grid-column: 1/-1; }.textarea-shell { height: auto; }.textarea-shell textarea { width: 100%; resize: vertical; border: 0; outline: 0; padding: 15px 17px; color: #203952; background: transparent; }.lookup-message { margin: -5px 0 18px; padding: 11px 13px; border-radius: 9px; color: #27659f; background: #edf6ff; font-size: .72rem; }.lookup-message.error { color: #a93e48; background: #fff0f1; }.lookup-message.found { color: #19734d; background: #e9f8f1; }.lookup-message.not-found { color: #99621d; background: #fff6e8; }.customer-title{position:relative}.edit-customer-button{margin-left:auto;padding:7px 11px;border:1px solid #b9d3f3;border-radius:8px;color:#176bdc;background:#edf5ff;font-size:.63rem;font-weight:750}.customer-fields input[readonly],.customer-fields textarea[readonly]{color:#52677e;background:#eef2f7;cursor:default}.auth-field label small{color:#96a4b3;font-size:.58rem;font-weight:500}
.history-empty { min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }.history-empty div { width: 50px; height: 50px; display: grid; place-items: center; margin-bottom: 12px; border-radius: 14px; color: #7157d8; background: #f1edff; }.history-empty strong { color: #3a4f66; font-size: .8rem; }.history-empty p { max-width: 260px; margin: 6px 0 0; color: #96a4b3; font-size: .7rem; line-height: 1.5; }
.item-entry-grid { display: grid; grid-template-columns: repeat(4,minmax(140px,1fr)); gap: 0 14px; align-items: end; }.notes-field { grid-column: span 2; }.money-shell > span { align-self: stretch; display: grid; place-items: center; padding: 0 13px; border-right: 1px solid #dce4ed; color: #66809b; background: rgba(255,255,255,.6); font-size: .67rem; font-weight: 800; }.add-item-button { height: 60px; margin-bottom: 22px; border: 0; border-radius: 14px; color: #fff; background: linear-gradient(100deg,#155cc6,#2585ef); font-size: .8rem; font-weight: 780; box-shadow: 0 10px 20px rgba(31,112,215,.18); }
.table-count { padding: 7px 10px; border-radius: 8px; color: #657b92; background: #f0f4f8; font-size: .62rem; font-weight: 800; }.billing-table { min-width: 1050px; }.billing-table td { white-space: nowrap; }.remove-item { width: 29px; height: 29px; border: 0; border-radius: 8px; color: #bb4651; background: #fff0f1; font-size: 1rem; }.billing-summary { display: grid; grid-template-columns: 1fr minmax(250px,.75fr) minmax(210px,.55fr); gap: 18px; align-items: end; margin-top: 24px; padding: 22px; border-radius: 14px; background: #f7f9fc; }.available-value { display: flex; flex-direction: column; }.available-value small { color: #7f90a3; font-size: .65rem; font-weight: 850; letter-spacing: .08em; }.available-value strong { margin-top: 4px; color: #176bdc; font-size: 1.7rem; }.pawn-amount-field label { display: block; margin-bottom: 7px; color: #334b64; font-size: .75rem; font-weight: 750; }.pawn-amount-field small { display: block; min-height: 17px; color: #c34752; font-size: .67rem; }.complete-button { height: 60px; margin-bottom: 17px; border: 0; border-radius: 14px; color: #fff; background: linear-gradient(100deg,#155cc6,#2585ef); font-size: .82rem; font-weight: 780; }.complete-button:disabled { color: #8d9aab; background: #dfe5ec; }.schema-note { margin: 14px 0 0; color: #9aa7b5; text-align: right; font-size: .68rem; font-style: italic; }
@media (max-width: 1150px) { .customer-history-grid { grid-template-columns: 1fr; }.item-entry-grid { grid-template-columns: repeat(2,1fr); }.billing-summary { grid-template-columns: 1fr 1fr; }.complete-button { grid-column: 1/-1; margin: 0; } }
@media (max-width: 650px) { .invoice-grid, .customer-fields, .item-entry-grid, .billing-summary { grid-template-columns: 1fr; }.invoice-grid, .customer-fields { gap: 17px; }.invoice-grid .auth-field, .customer-fields .auth-field { margin-bottom: 0; }.notes-field { grid-column: auto; }.nic-search-row { grid-template-columns: 1fr; }.secondary-action { height: 50px; }.add-item-button { margin-bottom: 16px; }.available-value strong { font-size: 1.4rem; }.schema-note { text-align: left; } }

@media (min-width: 1151px) and (min-height: 760px) {
  .app-shell:has(.billing-content) { height: 100vh; min-height: 0; overflow: hidden; }
  .app-shell:has(.billing-content) .app-main { height: 100vh; min-height: 0; overflow: hidden; }
  .app-shell:has(.billing-content) .app-topbar { height: 72px; flex: 0 0 72px; }
  .app-shell:has(.billing-content) .app-footer { display: none; }
  .billing-content { height: calc(100vh - 72px); min-height: 0; padding: 14px 22px; display: grid; grid-template-columns: minmax(265px,.65fr) minmax(0,2.35fr); grid-template-rows: 20px 54px 250px 125px minmax(150px,1fr); gap: 10px 14px; overflow: hidden; }
  .billing-content > .breadcrumb-line { grid-column: 1/-1; margin: 0; align-self: center; }
  .billing-content > .billing-heading { grid-column: 1/-1; margin: 0; align-items: center; }
  .billing-heading .eyebrow { display: none; }
  .billing-heading h1 { margin-bottom: 2px; font-size: 1.55rem; }
  .billing-heading p { font-size: .72rem; }
  .billing-content > .bill-header-card { grid-column: 1; grid-row: 3; }
  .billing-content > .customer-history-grid { grid-column: 2; grid-row: 3; min-height: 0; grid-template-columns: minmax(420px,1.2fr) minmax(300px,.8fr); gap: 10px; }
  .billing-content > .item-entry-card { grid-column: 1/-1; grid-row: 4; }
  .billing-content > .bill-items-card { grid-column: 1/-1; grid-row: 5; }
  .billing-content .dashboard-card { margin: 0; padding: 13px 15px; border-radius: 12px; overflow: hidden; }
  .billing-content .billing-section-title { gap: 8px; margin-bottom: 10px; }
  .billing-content .billing-section-title > span { width: 27px; height: 27px; border-radius: 7px; font-size: .6rem; }
  .billing-content .billing-section-title h2 { font-size: .78rem; }
  .billing-content .billing-section-title p { font-size: .6rem; }
  .billing-content .auth-field { margin-bottom: 8px; }
.billing-content .auth-field > label { margin-bottom: 4px; font-size: .67rem; }
  .billing-content .auth-field > label em { color: #cf4654; font-style: normal; }
  .billing-content .input-shell { min-height: 36px; height: 36px; border-radius: 8px; }
  .billing-content .input-shell input, .billing-content .input-shell select { height: 34px; padding: 0 10px; font-size: .72rem; }
  .bill-header-card .invoice-grid { grid-template-columns: 68px minmax(0,1fr); gap: 0 8px; }
  .bill-header-card .invoice-grid .auth-field:nth-child(3) { grid-column: 1/-1; }
  .customer-card, .history-card { height: 250px; }
  .billing-content .customer-card, .billing-content .history-card { height: 310px; }
  .customer-card .billing-section-title, .history-card .billing-section-title { margin-bottom: 8px; }
  .nic-search-row { grid-template-columns: 1fr 105px; gap: 7px; margin-bottom: 8px; }
  .secondary-action { height: 36px; padding: 0 9px; border-radius: 8px; font-size: .65rem; }
  .customer-fields { grid-template-columns: 170px 170px minmax(220px,1fr); gap: 5px 8px; align-items: start; }
  .customer-fields .auth-field:nth-child(1) .input-shell, .customer-fields .auth-field:nth-child(2) .input-shell { width: 170px; max-width: 100%; }
  .customer-fields .auth-field:nth-child(3) { width: 100%; }
  .customer-fields .auth-field:nth-child(4) { grid-column: 1/-1; width: 100%; }
  .customer-fields .textarea-shell { height: 64px; }
  .customer-fields .textarea-shell textarea { height: 62px; resize: none; padding: 7px 10px; font-size: .72rem; line-height: 1.3; }
  .lookup-message { position: absolute; z-index: 2; margin: -4px 0 0; padding: 5px 8px; font-size: .58rem; }
  .history-empty { min-height: 120px; }
  .history-empty div { width: 34px; height: 34px; margin-bottom: 7px; border-radius: 9px; }
  .history-empty p { margin-top: 3px; font-size: .58rem; }
  .item-entry-grid { grid-template-columns: 1fr 1.25fr 1.15fr .55fr .7fr .65fr .9fr .9fr 105px; gap: 8px; align-items: end; }
  .item-entry-grid .notes-field { grid-column: auto; }
  .item-entry-grid .auth-field { min-width: 0; margin: 0; }
  .money-shell > span { padding: 0 7px; font-size: .55rem; }
  .add-item-button { height: 36px; margin: 0; border-radius: 8px; font-size: .66rem; }
  .bill-items-card { min-height: 0; display: flex; flex-direction: column; }
  .bill-items-card .card-title { flex: 0 0 auto; margin-bottom: 7px; }
  .bill-items-card .card-title h2 { font-size: .78rem; }
  .bill-items-card .card-title p { display: none; }
  .bill-items-card .article-table-wrap { flex: 1 1 auto; min-height: 55px; overflow: auto; }
  .billing-table { min-width: 1000px; }
  .billing-table th { position: sticky; top: 0; z-index: 1; padding: 7px 9px; font-size: .56rem; }
  .billing-table td { padding: 7px 9px; font-size: .66rem; }
  .billing-table .empty-row td { padding: 24px 10px; }
  .billing-summary { flex: 0 0 auto; grid-template-columns: 1fr 250px 180px; gap: 12px; margin-top: 7px; padding: 8px 11px; border-radius: 9px; }
  .available-value small { font-size: .52rem; }
  .available-value strong { font-size: 1.1rem; }
  .pawn-amount-field label { margin-bottom: 3px; font-size: .62rem; }
  .pawn-amount-field small { min-height: 10px; font-size: .55rem; }
  .complete-button { height: 36px; margin-bottom: 10px; border-radius: 8px; font-size: .67rem; }
  .schema-note { display: none; }
}

/* Screen is tall enough to trigger the fixed no-scroll layout but not tall enough to fit
   everything - fall back to auto-sized rows and page scroll instead of clipping content. */
@media (min-width: 1151px) and (min-height: 760px) and (max-height: 949px) {
  .app-shell:has(.redemption-billing-content) { height: auto !important; min-height: 100vh !important; overflow: visible !important; }
  .app-shell:has(.redemption-billing-content) .app-main { height: auto !important; min-height: 100vh !important; overflow: visible auto !important; }
  .redemption-billing-content { height: auto !important; grid-template-rows: auto auto auto auto auto !important; overflow: visible !important; }
  .redemption-billing-content .redemption-reference-card { min-height: 0; }
  .redemption-billing-content .redemption-summary-card { min-height: 0; }
}

/* Screen is tall enough to fit everything - use the fixed, no-scroll layout. */
@media (min-width: 1151px) and (min-height: 950px) {
  .redemption-billing-content { grid-template-rows: 20px 54px 250px auto minmax(150px,1fr) !important; }
  .redemption-billing-content .redemption-reference-card { min-height: 0; }
  .redemption-billing-content .redemption-summary-card { min-height: 0; }
}

@media (min-width: 901px) and (min-height: 650px) {
  .app-shell:has(.management-content) { height: 100vh; min-height: 0; overflow: hidden; }
  .app-shell:has(.management-content) .app-main { height: 100vh; min-height: 0; overflow: hidden; }
  .app-shell:has(.management-content) .app-topbar { height: 72px; flex: 0 0 72px; }
  .app-shell:has(.management-content) .app-footer { display: none; }
  .management-content { height: calc(100vh - 72px); min-height: 0; display: flex; flex-direction: column; padding: 20px clamp(24px,3vw,46px); overflow: hidden; }
  .management-content > .breadcrumb-line { flex: 0 0 auto; margin-bottom: 13px; }
  .management-content > .management-heading { flex: 0 0 auto; margin-bottom: 16px; }
  .management-content > .management-heading .eyebrow { margin-bottom: 5px; }
  .management-content > .management-heading h1 { margin-bottom: 3px; font-size: 1.8rem; }
  .management-content > .management-heading p { font-size: .78rem; }
  .management-content > .alert { flex: 0 0 auto; margin-bottom: 10px; padding: 8px 12px; }
  .management-content > .article-layout { flex: 1 1 auto; min-height: 0; align-items: stretch; }
  .management-content .article-form-card { height: 100%; min-height: 0; overflow-y: auto; }
  .management-content .article-list-card { height: 100%; min-height: 0; display: flex; flex-direction: column; overflow: hidden; }
  .management-content .article-list-card > .card-title,
  .management-content .article-list-card > .table-search { flex: 0 0 auto; }
  .management-content .article-list-card > .article-table-wrap { flex: 1 1 auto; min-height: 0; overflow: auto; }
  .management-content .article-table thead { position: sticky; z-index: 2; top: 0; }
  .management-content .article-table th { background: #f7f9fc; }

  /* Admin-card pages (Subscription, Maintenance Mode) have no internal scroll region of their own —
     let the whole page scroll naturally instead of inheriting the fixed-viewport, no-scroll layout above. */
  .app-shell:has(.admin-page) { height: auto; overflow: visible; }
  .app-shell:has(.admin-page) .app-main { height: auto; overflow: visible; }
  .app-shell:has(.admin-page) .app-topbar { height: auto; flex: 0 0 auto; }
  .app-shell:has(.admin-page) .app-footer { display: block; }
  .management-content.admin-page { height: auto; min-height: 0; display: block; overflow: visible; }
}

/* Customer migration */
.migration-content { height: calc(100vh - 92px); min-height: 0; display: flex; flex-direction: column; gap: 16px; padding: 24px clamp(25px,3vw,48px); overflow: hidden; }.migration-content .breadcrumb-line,.migration-content .management-heading { flex: 0 0 auto; margin: 0; }.migration-source { padding: 9px 13px; border-radius: 9px; color: #6e57c7; background: #f1edff; font-size: .67rem; font-weight: 750; }.migration-progress-card { flex: 0 0 auto; min-height: 0; padding: 20px; }.migration-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; }.migration-actions h2 { margin: 0 0 4px; color: #243a53; font-size: .95rem; }.migration-actions p { margin: 0; color: #8b9aab; font-size: .7rem; }.migration-actions > div:last-child { display: flex; gap: 10px; }.migration-actions form { margin: 0; }.migration-start { min-height: 42px; height: 42px; margin: 0; padding: 0 18px; font-size: .72rem; }.migration-actions .secondary-action { height: 42px; }.progress-track { height: 10px; margin: 18px 0 13px; overflow: hidden; border-radius: 99px; background: #e8edf3; }.progress-track div { height: 100%; border-radius: inherit; background: linear-gradient(90deg,#176bdc,#31a2ef); transition: width .35s ease; }.progress-stats { display: flex; gap: 45px; }.progress-stats span { display: flex; flex-direction: column; }.progress-stats small { color: #9aa8b7; font-size: .55rem; font-weight: 800; letter-spacing: .09em; }.progress-stats strong { color: #2e455d; font-size: .9rem; }.migration-table-card { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; overflow: hidden; }.migration-table-card .card-title,.migration-table-card .table-search { flex: 0 0 auto; }.migration-table-card .article-table-wrap { flex: 1 1 auto; min-height: 0; overflow: auto; }.migration-table { min-width: 900px; table-layout: fixed; }.migration-table th { position: sticky; z-index: 2; top: 0; }.migration-table th:nth-child(1),.migration-table th:nth-child(2),.migration-table th:nth-child(5){width:16%}.migration-table th:nth-child(3){width:21%}.migration-table th:nth-child(4){width:31%}.migration-table td { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width:900px){.migration-content{height:auto;min-height:calc(100vh - 74px);overflow:visible}.migration-actions,.management-heading{align-items:flex-start;flex-direction:column}.migration-actions>div:last-child{width:100%;flex-direction:column}.migration-actions button{width:100%}.progress-stats{justify-content:space-between;gap:10px}.migration-table-card{min-height:500px}}
.migration-info-card{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.migration-schema-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;color:#176bdc;background:#edf5ff;font-size:1.5rem}.migration-info-card h2{margin:16px 0 6px;color:#253b53;font-size:1rem}.migration-info-card p{max-width:650px;color:#8494a6;font-size:.76rem}.migration-field-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px}.migration-field-grid span{padding:7px 11px;border-radius:8px;color:#60758c;background:#f2f5f8;font-size:.66rem;font-weight:700}

/* Compact management screens and top bar */
.customer-fields { margin-bottom: 7px; }
.customer-history-list{height:190px;overflow:auto;border:1px solid #edf0f4;border-radius:9px}.history-row{display:grid;grid-template-columns:1.6fr 1fr .7fr .85fr .65fr;min-height:42px;align-items:center;gap:6px;padding:7px 9px;border-bottom:1px solid #edf0f4;color:#60748a;font-size:.58rem}.history-row:last-child{border-bottom:0}.history-row strong{color:#263e57}.history-row .history-branch{overflow:hidden;color:#50677f;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.history-row .status-badge{justify-self:start;padding:3px 7px;font-size:.52rem}.history-no-records{display:grid;height:100%;place-items:center;color:#91a0af;font-size:.65rem}.police-alert-modal{border:2px solid #e13849!important;background:linear-gradient(145deg,#fff,#fff3f4)}.police-alert-modal .modal-body{padding:44px;text-align:center}.police-alert-icon{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;color:#fff;background:#d9273d;font-size:2.3rem;font-weight:900;box-shadow:0 10px 30px rgba(217,39,61,.25)}.police-alert-modal span{color:#d9273d;font-size:.7rem;font-weight:900;letter-spacing:.18em}.police-alert-modal h2{margin:8px 0;color:#9f1f30;font-size:1.7rem}.police-alert-modal p{max-width:600px;margin:0 auto 22px;color:#6d4a50;font-size:.85rem}.redeemed-alert-modal{border:2px solid #1f6fb3!important;background:linear-gradient(145deg,#fff,#eef6fd)}.redeemed-alert-modal .modal-body{padding:44px;text-align:center}.redeemed-alert-icon{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;color:#fff;background:#e8830f;font-size:2.3rem;font-weight:900;box-shadow:0 10px 30px rgba(232,131,15,.28)}.redeemed-alert-modal span{color:#e8830f;font-size:.7rem;font-weight:900;letter-spacing:.18em}.redeemed-alert-modal h2{margin:8px 0;color:#1f6fb3;font-size:1.7rem}.redeemed-alert-modal p{max-width:600px;margin:0 auto 22px;color:#4a5c6d;font-size:.85rem}
.confirm-modal{border:0;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px rgba(76,29,149,.35)}
.confirm-header{position:relative;padding:38px 34px 34px;text-align:center;color:#fff;background:linear-gradient(135deg,#7c3aed,#4f46e5 55%,#2563eb)}
.confirm-close{position:absolute;top:16px;right:18px;width:32px;height:32px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.2);font-size:.9rem;line-height:1}
.confirm-icon{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:1.9rem;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.confirm-header small{display:block;color:#e4d9ff;font-weight:900;letter-spacing:.2em;font-size:.7rem}
.confirm-header h2{margin:10px 0 6px;font-size:1.85rem;font-weight:900}
.confirm-header p{margin:0;color:#ded6ff;font-size:.85rem}
.confirm-body{padding:32px 34px 34px;background:#faf8ff}
.confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.confirm-stat{padding:20px 18px;border-radius:16px;background:#fff;border:1px solid #ece5ff;box-shadow:0 10px 26px rgba(124,58,237,.08);text-align:center}
.confirm-stat.wide{grid-column:1/-1}
.confirm-stat small{display:block;margin-bottom:8px;color:#8b7bb8;font-weight:900;letter-spacing:.14em;font-size:.62rem}
.confirm-stat strong{display:block;color:#3b1c8c;font-size:1.9rem;font-weight:900;line-height:1.15}
.confirm-stat.wide strong{font-size:1.5rem;word-break:break-word}
.confirm-duration-select{width:100%;padding:9px 10px;border:1px solid #ddd3f5;border-radius:10px;color:#3b1c8c;background:#faf8ff;font-size:1.05rem;font-weight:900;text-align:center;text-align-last:center}
.confirm-warning{margin-top:16px;padding:12px 16px;border-radius:12px;background:#fff4e0;color:#9a5b00;font-size:.8rem;font-weight:700;text-align:center}
.confirm-actions{display:flex;gap:14px;margin-top:26px}
.btn-cancel-action{flex:1;padding:15px;border:1px solid #ddd3f5;border-radius:12px;color:#5b4a94;background:#fff;font-weight:800;font-size:.85rem}
.btn-confirm-action{flex:2;padding:15px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);font-weight:900;font-size:.9rem;box-shadow:0 14px 30px rgba(79,70,229,.35)}
.btn-confirm-action:disabled{opacity:.7}
@media(max-width:600px){.confirm-grid{grid-template-columns:1fr}.confirm-actions{flex-direction:column}}
.nav-check-invoice{margin-bottom:10px;color:#0f8f7a}
.nav-check-invoice:hover{color:#0b6d5d;background:#e9fbf6}
.invoice-info-modal{border:0;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px rgba(15,118,110,.3)}
.invoice-info-header{position:relative;padding:32px 30px 26px;text-align:center;color:#fff;background:linear-gradient(135deg,#0f766e,#0891b2 55%,#2563eb)}
.invoice-info-close{position:absolute;top:14px;right:16px;width:32px;height:32px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.2);font-size:.9rem;line-height:1}
.invoice-info-icon{width:56px;height:56px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:rgba(255,255,255,.18);font-size:1.5rem}
.invoice-info-header small{display:block;color:#c9f7ee;font-weight:900;letter-spacing:.18em;font-size:.65rem}
.invoice-info-header h2{margin:8px 0 6px;font-size:1.7rem;font-weight:900}
.invoice-info-header p{margin:0;color:#dff5f2;font-size:.8rem}
.invoice-info-body{padding:26px 28px 30px;background:#f7fafc}
.invoice-info-search{display:grid;grid-template-columns:110px 1fr;gap:14px;margin-bottom:8px}
.invoice-info-result{margin-top:18px}
.invoice-info-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:dense;gap:14px;margin-bottom:20px}
.invoice-info-card{padding:16px 18px;border-radius:16px;color:#fff;box-shadow:0 12px 26px rgba(20,45,75,.12)}
.invoice-info-card small{display:block;margin-bottom:6px;font-weight:900;letter-spacing:.12em;font-size:.6rem;opacity:.85}
.invoice-info-card strong{display:block;font-size:1.15rem;font-weight:900;line-height:1.2}
.invoice-info-card span{display:block;margin-top:2px;font-size:.72rem;opacity:.9}
.invoice-info-card p{margin:6px 0 0;font-size:.72rem;line-height:1.35;opacity:.95}
.invoice-info-card-blue{background:linear-gradient(135deg,#2563eb,#1d4ed8)}
.invoice-info-card-purple{background:linear-gradient(135deg,#7c3aed,#6d28d9)}
.invoice-info-card-green{background:linear-gradient(135deg,#12824c,#0d9448)}
.invoice-info-card-status-pawn{display:flex;flex-direction:column;justify-content:center;gap:4px;background:linear-gradient(135deg,#16a34a,#0d6e3a)}
.invoice-info-card-status-redeemed{display:flex;flex-direction:column;justify-content:center;gap:4px;background:linear-gradient(135deg,#f0a126,#b56800)}
.invoice-info-card-status-police{display:flex;flex-direction:column;justify-content:center;gap:4px;background:linear-gradient(135deg,#e0384a,#c43140)}
.invoice-info-card-status-auction{display:flex;flex-direction:column;justify-content:center;gap:4px;background:linear-gradient(135deg,#2f7fe0,#1267c8)}
.invoice-info-dates{display:flex;gap:16px;margin-top:8px}
.invoice-info-dates div{flex:1}
.invoice-info-dates small{opacity:.85;font-size:.58rem}
.invoice-info-dates span{display:block;margin-top:2px;font-size:.78rem;font-weight:800}
.invoice-info-interest{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.25);font-size:.75rem}
.invoice-info-interest strong{display:inline;font-size:.95rem}
.invoice-info-redeemed-banner{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#f0a126,#b56800);box-shadow:0 12px 26px rgba(181,104,0,.25)}
.invoice-info-redeemed-banner.status-police{background:linear-gradient(135deg,#e0384a,#c43140);box-shadow:0 12px 26px rgba(196,49,64,.25)}
.invoice-info-redeemed-banner.status-auction{background:linear-gradient(135deg,#2f7fe0,#1267c8);box-shadow:0 12px 26px rgba(18,103,200,.25)}
.invoice-info-redeemed-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.22);font-size:1.3rem;font-weight:900}
.invoice-info-redeemed-banner strong{display:block;font-size:1rem;font-weight:900}
.invoice-info-redeemed-banner p{margin:2px 0 0;font-size:.85rem;opacity:.95}
.invoice-info-articles .article-table-wrap{max-height:220px;overflow:auto}
@media(max-width:600px){.invoice-info-search{grid-template-columns:1fr}.invoice-info-grid{grid-template-columns:1fr}}
.history-link{padding:0;border:0;color:#1670dd;background:transparent;font:inherit;font-weight:800;text-decoration:underline}.full-history-modal{height:min(760px,90vh);box-shadow:0 24px 70px rgba(22,43,70,.2)}.full-history-header{border-bottom:1px solid #dce6f1;background:linear-gradient(135deg,#fff,#f3f8ff)}.full-history-header-actions{display:flex;align-items:center;gap:14px}.full-history-header-actions .btn{padding:8px 16px;border-radius:9px;font-size:.68rem;font-weight:800}.full-history-modal .modal-body{position:relative;min-height:0;overflow:hidden;background:#f7f9fc}.full-history-table{height:100%;overflow:auto;border:1px solid #e0e7ef;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(31,61,94,.05)}.full-history-table thead{position:sticky;z-index:2;top:0}.full-history-table th{padding:11px 12px;white-space:nowrap;color:#60758b;background:#eef4fa;font-size:.61rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.full-history-table td{padding:11px 12px;border-color:#e8edf3;color:#526a82;font-size:.68rem}.full-history-table tbody tr:hover{background:#edf5ff}.history-article{display:flex;min-width:210px;flex-direction:column;margin-bottom:5px}.history-article:last-child{margin-bottom:0}.history-article strong{font-size:.7rem}.history-article span{color:#718399;font-size:.64rem}.copy-history-invoice{padding:0;border:0;color:#176bdc;background:transparent;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}.invoice-copied-notice{position:absolute;z-index:5;top:10px;left:50%;padding:8px 14px;border:1px solid #a9e3c5;border-radius:9px;color:#176b43;background:#e6f8ee;box-shadow:0 5px 18px rgba(23,107,67,.15);font-size:.7rem;font-weight:800;transform:translateX(-50%)}
.customer-search-line{display:flex;align-items:center;justify-content:flex-start;gap:5px}.customer-search-line button{padding:0;border:0;color:#176bdc;background:transparent;font:inherit;font-weight:800;text-decoration:underline;white-space:nowrap}.customer-finder-modal{height:min(720px,88vh);border:0;border-radius:16px;overflow:hidden}.customer-finder-modal .modal-header{padding:18px 22px}.customer-finder-modal .modal-body{min-height:0;display:flex;flex-direction:column;padding:18px 22px}.customer-finder-search{display:grid;grid-template-columns:auto 1fr;align-items:center;border:1px solid #dce4ed;border-radius:10px;overflow:hidden}.customer-finder-search span{padding:0 14px;color:#334b64;font-size:.76rem;font-weight:750}.customer-finder-search input{height:44px;padding:0 14px;border:0;border-left:1px solid #dce4ed;outline:0;font-size:.8rem}.customer-finder-modal #customerSearchCount{margin:9px 0;color:#8191a3;font-size:.67rem}.customer-finder-results{flex:1;min-height:0;overflow:auto}.customer-finder-results thead{position:sticky;top:0;z-index:2;background:#102b49;color:#fff}.customer-finder-results th{padding:10px;font-size:.64rem}.customer-finder-results td{max-width:280px;padding:9px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}.select-customer-button{padding:6px 12px;border:0;border-radius:8px;color:#fff;background:#1672e8;font-size:.65rem;font-weight:800}
.redemption-content{height:calc(100vh - 92px);display:flex;flex-direction:column;gap:12px;padding:18px 28px;overflow:hidden}.redemption-content .management-heading{margin:0}.redemption-search{display:grid;grid-template-columns:90px 1fr 180px 150px;align-items:end;gap:12px;padding:14px 18px}.redemption-search .auth-field{margin:0}.redemption-search .auth-submit{height:44px;margin:0}.redemption-details{flex:1;min-height:0;display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:auto 1fr auto;gap:12px}.redemption-customer,.redemption-summary,.redemption-articles,.redemption-total{padding:15px 18px}.redemption-customer-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:10px 18px}.redemption-customer-grid div{display:flex;flex-direction:column}.redemption-customer-grid small,.redemption-summary small,.redemption-total small{color:#8b99a9;font-size:.55rem;font-weight:800;letter-spacing:.08em}.redemption-customer-grid strong{color:#314960;font-size:.72rem}.redemption-summary{display:grid;grid-template-columns:1fr 1fr;gap:13px}.redemption-summary div{padding:8px 11px;border-radius:9px;background:#f5f8fc}.redemption-summary strong{display:block;color:#176bdc;font-size:1rem}.redemption-articles{grid-column:1/-1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.redemption-articles .article-table-wrap{flex:1;min-height:0;overflow:auto}.redemption-articles th,.redemption-articles td{padding:8px 10px}.redemption-total{grid-column:1/-1;display:grid;grid-template-columns:260px 1fr 210px;align-items:end;gap:18px}.redemption-total .auth-field{margin:0}.redemption-total>div:nth-child(2){text-align:right}.redemption-total>div:nth-child(2) strong{display:block;color:#176bdc;font-size:1.35rem}.redemption-total p{margin:0;color:#94a2b1;font-size:.58rem}.redemption-total .complete-button{height:44px;margin:0}@media(max-width:900px){.redemption-content{height:auto;overflow:visible}.redemption-search,.redemption-details,.redemption-total{display:grid;grid-template-columns:1fr}.redemption-details>*{grid-column:1}.redemption-articles{min-height:320px}}
.redemption-billing-content .customer-card,.redemption-billing-content .history-card{height:205px}.redemption-calculation-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 8px}.redemption-calculation-grid div{padding:6px 9px;border-radius:8px;background:#f5f8fc}.redemption-calculation-grid small,.redemption-reference-left small{display:block;color:#8999aa;font-size:.5rem;font-weight:800;letter-spacing:.07em}.redemption-calculation-grid strong{display:block;color:#176bdc;font-size:.76rem;white-space:nowrap}.redemption-reference-card{padding-top:12px!important;padding-bottom:14px!important}.redemption-reference-card .billing-section-title{margin-bottom:10px}.redemption-reference-split{display:flex;align-items:flex-start;flex-wrap:wrap;gap:32px}.redemption-reference-left{display:flex;flex-direction:column;gap:12px;min-width:170px}.redemption-reference-line{display:flex;gap:28px}.redemption-reference-left strong{color:#2b435b;font-size:.78rem}.redemption-reference-articles{flex:1;min-width:280px}.redemption-reference-articles .article-table-wrap{max-height:220px;overflow:auto}.redemption-billing-summary{display:flex!important;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;gap:24px}.redemption-discount-field{width:230px;margin:0}.redemption-complete-button{width:210px;margin-bottom:0}.redemption-summary-box{display:inline-flex;flex-direction:column;gap:12px;padding:16px 22px;border-radius:10px;background:#eef2f8;min-width:260px}.redemption-summary-box>div{display:flex;align-items:center;justify-content:space-between;gap:24px}.redemption-summary-box span{color:#7f90a3;font-size:.85rem;font-weight:750;white-space:nowrap}.redemption-summary-box strong{color:#176bdc;font-size:1.05rem;white-space:nowrap}.redemption-summary-line{display:flex;gap:28px}.redemption-summary-line>div{flex:1;display:flex;align-items:center;justify-content:space-between;gap:16px}.redemption-net-total-corner{display:flex;flex-direction:column;gap:4px;padding:14px 20px;border-radius:10px;background:#eafaf1}.redemption-net-total-corner span{color:#334b64;font-size:.85rem;font-weight:850}.redemption-net-total-corner strong{color:#12824c;font-size:1.6rem}
@media (max-width:760px) { .mobile-menu { margin-right: auto; } .topbar-user { min-width: 0; } }
@media (min-width:901px) {
  .management-content .dashboard-card { padding: 18px; }
  .management-content .card-title { margin-bottom: 15px; }
  .management-content .card-title h2 { font-size: .9rem; }
  .management-content .card-title p { font-size: .67rem; }
  .management-content .auth-field { margin-bottom: 14px; }
  .management-content .auth-field > label { margin-bottom: 6px; font-size: .75rem; }
  .management-content .input-shell { min-height: 45px; border-radius: 10px; }
  .management-content .input-shell input { height: 43px; font-size: .8rem; }
  .management-content .auth-submit { min-height: 46px; border-radius: 10px; font-size: .82rem; }
  .management-content .table-search { height: 40px; margin-bottom: 10px; }
  .management-content .article-table th { padding: 9px 11px; font-size: .61rem; }
.management-content .article-table td { padding: 10px 11px; font-size: .73rem; }
.user-management-content { overflow-y: auto; gap: 0; }
.user-registration-card { width: 100%; min-height: 0; flex: 0 0 auto; padding: 16px 18px; border-top: 3px solid #267bea; box-shadow: 0 9px 28px rgba(37,75,118,.06); }
.user-registration-card .registration-wrap { width: 100%; margin: 0; }
.user-registration-card .registration-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 12px; }
.user-registration-card .form-section-title { margin-bottom: 10px; font-size: .7rem; }
.user-registration-card .grants-heading { margin-top: 8px; }
.user-registration-card .auth-field { margin-bottom: 8px; }
.user-registration-card .auth-field > label { margin-bottom: 3px; font-size: .66rem; }
.user-registration-card .input-shell { min-height: 36px; height: 36px; border-radius: 8px; }
.user-registration-card .input-shell input,.user-registration-card .input-shell select { height: 34px; padding: 0 10px; font-size: .71rem; }
.user-registration-card .active-toggle { margin: 2px 0 6px; font-size: .68rem; }
.user-registration-card .permission-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.user-registration-card .permission-group { padding: 9px 11px; border-radius: 10px; }
.user-registration-card .permission-group h4 { min-height: 0; margin-bottom: 6px; font-size: .69rem; }
.user-registration-card .permission-item { gap: 6px; margin: 4px 0; font-size: .64rem; line-height: 1.2; }
.user-registration-card .permission-item input { width: 13px; height: 13px; margin-top: 0; }
.user-registration-card .auth-submit { width: min(260px, 100%); min-height: 38px; margin-top: 10px; border-radius: 8px; font-size: .71rem; }
.user-list-card { width: 100%; min-height: 260px; flex: 0 0 auto; margin-top: 14px; padding: 16px 18px; border-top: 3px solid #5d82aa; }
.user-list-card .card-title { display: flex; justify-content: space-between; align-items: center; }
.user-list-card .article-table-wrap { max-height: 380px; overflow: auto; }
.user-status { display: inline-flex; padding: 5px 10px; border-radius: 999px; font-size: .7rem; font-weight: 800; }
.user-status.active { color: #158653; background: #ddf8ea; }
.user-status.disabled { color: #c43845; background: #ffe8eb; }
.protected-user { color: #7d8da1; font-size: .72rem; font-weight: 700; }
.user-edit-active { min-height: 45px; align-self: end; margin-bottom: 14px; }
.edit-permission-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1200px) { .user-registration-card .permission-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .user-registration-card .permission-grid { grid-template-columns: 1fr; } }
}
.report-content{width:100%;max-width:none;height:calc(100vh - 92px);min-height:0;display:flex;flex-direction:column;gap:16px;padding:22px 28px;overflow:hidden}.report-heading{width:100%;display:flex;align-items:end;justify-content:space-between;gap:20px}.report-heading h1{margin:0;color:#1b334d;font-size:1.45rem}.report-heading p{margin:3px 0 0;color:#8494a6;font-size:.72rem}.report-heading form{display:flex;align-items:center;gap:8px}.report-heading input,.report-heading button{height:38px;padding:0 11px;border:1px solid #dce4ed;border-radius:8px;background:#fff;color:#3c5269;font-size:.72rem}.report-heading button{border:0;color:#fff;background:#176bdc;font-weight:700}.report-kpis{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.report-kpis div{padding:13px 17px;border:1px solid #e5eaf1;border-radius:10px;background:#fff}.report-kpis small{display:block;color:#8e9dad;font-size:.58rem;font-weight:800;letter-spacing:.09em}.report-kpis strong{color:#176bdc;font-size:1.05rem}.report-table-card{width:100%;max-width:none;flex:1;min-height:0;padding:12px;overflow:hidden}.report-table-card .article-table-wrap{width:100%;height:100%;overflow:auto}.report-table-card .article-table{width:100%;min-width:900px}.report-table-card thead{position:sticky;top:0;z-index:2}@media(max-width:760px){.report-content{height:auto;overflow:visible;padding:20px}.report-heading{align-items:start;flex-direction:column}.report-heading form{width:100%;flex-wrap:wrap}.report-kpis{grid-template-columns:1fr}.report-table-card{min-height:450px}}

.app-shell:has(.report-content){width:100vw;max-width:none}.app-shell:has(.report-content) .app-main{width:calc(100vw - var(--sidebar-width));max-width:none}.app-shell:has(.report-content) .app-topbar{width:100%;max-width:none}
.report-eyebrow{display:block;margin-bottom:3px;color:#176bdc;font-size:.56rem;font-weight:850;letter-spacing:.13em}.report-filters select{height:38px;min-width:105px;padding:0 28px 0 11px;border:1px solid #dce4ed;border-radius:8px;background:#fff;color:#3c5269;font-size:.72rem}.report-heading .pdf-button{background:#fff;color:#176bdc;border:1px solid #bcd6fa}.report-heading a.pdf-button{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 11px;font-weight:700;text-decoration:none}.report-kpis div{position:relative;overflow:hidden;box-shadow:0 8px 25px rgba(38,67,101,.05)}.report-kpis div:before{position:absolute;content:"";inset:0 auto 0 0;width:4px}.report-kpis .kpi-a:before{background:#21a366}.report-kpis .kpi-b:before{background:#f0a126}.report-kpis .kpi-total:before{background:#176bdc}.pawning-report-kpis{grid-template-columns:repeat(4,1fr)}.pawning-report-kpis .kpi-count:before{background:#7c3aed}.pawning-report-kpis .kpi-count strong{color:#7c3aed}@media(max-width:900px){.pawning-report-kpis{grid-template-columns:repeat(2,1fr)}}.type-chip{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:7px;color:#176bdc;background:#eaf3ff;font-weight:800}.status-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:99px;font-size:.61rem;font-weight:800}.status-badge.pawn{color:#12824c;background:#e5f7ed}.status-badge.redeemed{color:#b56800;background:#fff0d9}.status-badge.police{color:#c43140;background:#ffe8eb}.status-badge.auction{color:#1267c8;background:#e5f1ff}.text-end{text-align:right!important}.report-table-card tbody tr:nth-child(even){background:#fbfcfe}.report-table-card tbody tr:hover{background:#f3f7fc}
#auctionForm,#reminderForm{display:flex;height:100%;min-height:0;flex-direction:column}#auctionForm>.article-table-wrap,#reminderForm>.article-table-wrap{flex:1;min-height:0;overflow:auto}
.auction-management-table{min-width:940px!important}.auction-management-table th,.auction-management-table td{padding:8px 9px!important;font-size:.63rem!important;white-space:nowrap}.auction-management-table th{font-size:.54rem!important}.auction-management-table td:nth-child(2){max-width:220px;white-space:normal}.auction-overdue-days{display:inline-flex;padding:4px 8px;border-radius:99px;color:#c43b49;background:#ffe9ec;font-size:.57rem;font-weight:800}
.auction-report-content{padding-right:18px;padding-left:18px}.auction-report-table{width:100%!important;min-width:900px!important}.auction-report-table th,.auction-report-table td{padding:7px 8px!important;font-size:.61rem!important}.auction-report-table th{font-size:.52rem!important}.auction-report-table td:first-child,.auction-report-table td:nth-child(5),.auction-report-table td:nth-child(6){white-space:nowrap}.auction-invoice-branch{min-width:145px}.auction-invoice-branch strong,.auction-invoice-branch small{display:block;white-space:nowrap}.auction-invoice-branch small{margin-top:3px;color:#7d8fa2;font-size:.53rem;font-weight:700}.auction-report-table .report-actions-column{width:74px;min-width:74px}
.report-actions-column{min-width:300px}.invoice-actions{display:flex;align-items:center;gap:6px}.invoice-actions form{margin:0}.invoice-actions .price-change-corner{margin-left:auto}.view-articles-button,.reprint-invoice-button,.price-change-button,.delete-invoice-button{height:30px;display:inline-flex;align-items:center;padding:0 9px;border-radius:7px;font-size:.6rem;font-weight:750;white-space:nowrap;text-decoration:none}.view-articles-button{border:1px solid #bcd6fa;color:#176bdc;background:#eef6ff}.reprint-invoice-button{border:1px solid #bce7d0;color:#157b4b;background:#eaf8f0}.price-change-button{border:1px solid #f4d48a;color:#8b5c00;background:#fff8e6}.delete-invoice-button{border:1px solid #ffcbd0;color:#c43140;background:#fff0f2}.view-articles-button:hover{background:#dcecff}.reprint-invoice-button:hover{color:#10683f;background:#d9f2e4}.price-change-button:hover{background:#ffedbd}.delete-invoice-button:hover{background:#ffe0e4}#articlesModal .modal-content,#priceChangeModal .modal-content{border:0;border-radius:15px;box-shadow:0 24px 70px rgba(25,48,76,.18)}#articlesModal .modal-header{padding:18px 22px}#articlesModal .modal-body{padding:8px 22px 22px}#articlesModal th{color:#7c8da0;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}#articlesModal td{font-size:.75rem}
.pawning-report-table th,.redemption-report-table th{padding:8px 7px!important;font-size:.54rem!important}.pawning-report-table td,.redemption-report-table td{padding:8px 7px!important;font-size:.64rem!important}.pawning-report-table th:first-child,.pawning-report-table td:first-child,.redemption-report-table th:first-child,.redemption-report-table td:first-child{width:92px;min-width:92px;white-space:nowrap}.pawning-report-table .report-actions-column{width:1%;white-space:nowrap}.pawning-report-table.has-manage-actions .report-actions-column{min-width:325px}.pawning-report-table.without-delete-actions .report-actions-column{min-width:166px}.pawning-report-table.without-delete-actions{min-width:820px}.pawning-report-table .invoice-actions{gap:4px;white-space:nowrap}.pawning-report-table .view-articles-button,.pawning-report-table .reprint-invoice-button,.pawning-report-table .price-change-button,.pawning-report-table .delete-invoice-button{height:27px;padding:0 7px;font-size:.54rem}
.pawning-report-table th:nth-child(6),.pawning-report-table td:nth-child(6){min-width:125px;white-space:normal;overflow-wrap:anywhere}
.report-date-time{display:flex;flex-direction:column;line-height:1.15}.report-date-time small{margin-top:3px;color:#7d8fa2;font-size:.55rem;font-weight:700;white-space:nowrap}

/* Intermediate desktop layout: keeps billing usable on 1280px displays with the sidebar open. */
@media (min-width:1151px) and (max-width:1500px){
  .billing-content{padding-right:14px;padding-left:14px;grid-template-columns:minmax(230px,.58fr) minmax(0,2.42fr);grid-template-rows:20px 54px 282px 178px minmax(150px,1fr);gap:9px 10px}
  .billing-content>.customer-history-grid{grid-template-columns:minmax(0,1.45fr) minmax(215px,.55fr);gap:8px}
  .billing-content>.customer-history-grid .customer-card,.billing-content>.customer-history-grid .history-card{height:342px}
  .billing-content>.customer-history-grid .customer-fields{grid-template-columns:minmax(125px,1fr) minmax(125px,1fr);gap:4px 7px}
  .billing-content>.customer-history-grid .customer-fields .auth-field:nth-child(1) .input-shell,
  .billing-content>.customer-history-grid .customer-fields .auth-field:nth-child(2) .input-shell{width:100%}
  .billing-content>.customer-history-grid .customer-fields .auth-field:nth-child(3),
  .billing-content>.customer-history-grid .customer-fields .auth-field:nth-child(4){grid-column:1/-1;width:100%}
  .billing-content>.customer-history-grid .customer-fields .textarea-shell{height:54px}
  .billing-content>.customer-history-grid .customer-fields .textarea-shell textarea{height:52px}
  .billing-content>.customer-history-grid .billing-section-title p{line-height:1.25}
  .billing-content>.customer-history-grid input{min-width:0}
  .redemption-billing-content .redemption-calculation-grid{gap:5px}
  .redemption-billing-content .redemption-calculation-grid div{min-width:0;padding:6px}
  .redemption-billing-content .redemption-calculation-grid small{letter-spacing:.03em}
  .redemption-billing-content .redemption-discount-field{width:200px}
  .billing-content .item-entry-grid{grid-template-columns:1.05fr 1.3fr 1.2fr .55fr .7fr;row-gap:8px}
  .billing-content .item-entry-grid .auth-field,.billing-content .item-entry-grid .add-item-button{min-width:0;width:100%}
  .report-content{padding-right:16px;padding-left:16px}
  .report-heading{align-items:flex-start;flex-wrap:wrap;gap:10px}
  .report-heading form{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
  .pawning-report-table th,.pawning-report-table td{padding-right:5px!important;padding-left:5px!important}
}

/* The navigation is an overlay on every resolution, leaving the full screen for forms and reports. */
.app-shell,
.app-shell:has(.branch-dashboard-grid),
.app-shell:has(.management-content),
.app-shell:has(.redemption-billing-content){grid-template-columns:minmax(0,1fr)!important}
.app-shell .app-main,
.app-shell:has(.branch-dashboard-grid) .app-main,
.app-shell:has(.management-content) .app-main,
.app-shell:has(.redemption-billing-content) .app-main,
.app-shell:has(.report-content) .app-main{grid-column:1!important;width:100vw!important;max-width:none!important}
.app-sidebar{transform:translateX(-102%);transition:transform .22s ease;box-shadow:18px 0 45px rgba(17,39,67,.18)}
.sidebar-visible .app-sidebar{transform:translateX(0)}
.sidebar-close{display:block}
.sidebar-backdrop{position:fixed;z-index:25;inset:0;background:rgba(10,27,49,.45)}
.sidebar-visible .sidebar-backdrop{display:block}
.sidebar-launcher{position:fixed;z-index:23;top:17px;left:18px;width:38px;height:38px;display:grid;place-items:center;border:1px solid #d9e3ef;border-radius:10px;color:#31516f;background:#fff;box-shadow:0 6px 18px rgba(30,58,89,.12);font-size:1.1rem;line-height:1}
.sidebar-visible .sidebar-launcher{visibility:hidden}
.app-topbar{padding-left:66px}
@media(max-width:760px){.sidebar-launcher{top:17px;left:12px}.mobile-menu{display:none!important}}
.redemption-report-kpis{grid-template-columns:repeat(3,1fr);gap:8px 10px}.redemption-report-kpis div{padding:8px 15px}.redemption-report-kpis .kpi-a-interest:before,.redemption-report-kpis .kpi-a-subtotal:before{background:#58b98a}.redemption-report-kpis .kpi-b-interest:before,.redemption-report-kpis .kpi-b-subtotal:before{background:#f2bd5a}.redemption-report-kpis .kpi-interest:before{background:#7458d8}.redemption-report-kpis .kpi-grand-total:before{background:#172f4d}.redemption-report-kpis .kpi-a-interest strong,.redemption-report-kpis .kpi-a-subtotal strong{color:#21a366}.redemption-report-kpis .kpi-b-interest strong,.redemption-report-kpis .kpi-b-subtotal strong{color:#db8b17}.redemption-report-kpis .kpi-interest strong{color:#7458d8}.redemption-report-kpis .kpi-grand-total strong{color:#172f4d}.redemption-summary-table{min-width:1350px!important}@media(max-width:760px){.redemption-report-kpis{grid-template-columns:1fr}}
@media print{@page{size:landscape;margin:10mm}body{background:#fff!important}.app-sidebar,.app-topbar,.branch-selector,.global-user-summary,.report-filters,.report-actions-column,.invoice-actions{display:none!important}.app-shell:has(.report-content),.app-shell:has(.report-content) .app-main{display:block!important;width:100%!important;height:auto!important;overflow:visible!important}.report-content{height:auto!important;padding:0!important;overflow:visible!important}.report-heading{margin-bottom:12px}.report-kpis{margin-bottom:12px}.report-table-card,.report-table-card .article-table-wrap{height:auto!important;overflow:visible!important;border:0!important;box-shadow:none!important}.report-table-card .article-table{min-width:0!important;font-size:9pt}.report-table-card thead{position:static}.status-badge,.type-chip,.flow-overview-in,.flow-overview-out,.flow-panel-head,.flow-row-fill,.flow-net-card{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.management-edit-button { height: 28px; padding: 0 12px; border: 1px solid #bcd6fa; border-radius: 7px; color: #176bdc; background: #eef6ff; font-size: .62rem; font-weight: 800; }
.management-edit-button:hover { background: #dcecff; }
.management-edit-modal { border: 0; border-radius: 15px; box-shadow: 0 24px 70px rgba(25,48,76,.18); }
.management-edit-modal .modal-header, .management-edit-modal .modal-body, .management-edit-modal .modal-footer { padding-left: 22px; padding-right: 22px; }
.management-edit-modal .article-description { height: auto; min-height: 90px; }
.management-edit-modal .article-description textarea { width: 100%; min-height: 88px; padding: 12px; border: 0; outline: 0; background: transparent; resize: vertical; }

/* Redemption uses every available pixel beside the fixed sidebar. */
.app-shell:has(.redemption-billing-content) {
  width: 100vw;
  max-width: none;
  margin: 0;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
}

.app-shell:has(.redemption-billing-content) .app-main {
  width: calc(100vw - var(--sidebar-width));
  max-width: none;
  margin: 0;
  align-self: stretch;
}

.app-shell:has(.redemption-billing-content) .app-topbar {
  width: 100%;
  max-width: none;
  margin: 0;
  align-self: stretch;
  box-sizing: border-box;
}

.app-shell:has(.redemption-billing-content) .redemption-billing-content {
  width: 100%;
  max-width: none;
  margin: 0;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  .app-shell:has(.redemption-billing-content) .app-main {
    width: 100vw;
  }

  .redemption-reference-split {
    flex-direction: column;
  }

  .redemption-billing-summary {
    flex-direction: column;
  }

  .redemption-discount-field {
    width: 100%;
  }

  .redemption-complete-button {
    width: 100%;
  }

  .redemption-summary-box {
    width: 100%;
  }
}

/* Management editing */
.management-edit-button{height:28px;padding:0 12px;border:1px solid #bcd6fa;border-radius:7px;color:#176bdc;background:#eef6ff;font-size:.62rem;font-weight:800}.management-edit-button:hover{background:#dcecff}.management-edit-modal{border:0;border-radius:15px;box-shadow:0 24px 70px rgba(25,48,76,.18)}.management-edit-modal .modal-header,.management-edit-modal .modal-body,.management-edit-modal .modal-footer{padding-left:22px;padding-right:22px}.management-edit-modal .article-description{height:auto;min-height:90px}.management-edit-modal .article-description textarea{width:100%;min-height:88px;padding:12px;border:0;outline:0;background:transparent;resize:vertical}

/* Daily branch dashboard */
.dashboard-content:has(.branch-dashboard-grid){width:100%;max-width:none;padding:24px 30px}.dashboard-content:has(.branch-dashboard-grid) .dashboard-heading{margin-bottom:18px}.branch-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.branch-summary-card{padding:20px;border:1px solid #e2e9f2;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(38,67,101,.055)}.branch-card-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.branch-card-heading span:first-child{display:block;margin-bottom:3px;color:#8b9bae;font-size:.56rem;font-weight:850;letter-spacing:.13em}.branch-card-heading h2{margin:0;color:#1c344e;font-size:1.15rem;font-weight:800}.branch-live-dot{padding:5px 9px;border-radius:99px;color:#168653!important;background:#e8f8ef;font-size:.58rem!important;letter-spacing:0!important}.branch-count{padding:5px 9px;border-radius:99px;color:#fff!important;background:rgba(255,255,255,.16);font-size:.58rem!important;letter-spacing:0!important}.branch-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.branch-metrics>div{min-width:0;padding:10px 11px;border-radius:10px;background:#f6f8fb}.branch-metrics small{display:block;overflow:hidden;color:#8a9aac;font-size:.5rem;font-weight:850;letter-spacing:.07em;text-overflow:ellipsis;white-space:nowrap}.branch-metrics strong{display:block;overflow:hidden;margin-top:3px;color:#243c55;font-size:.83rem;text-overflow:ellipsis;white-space:nowrap}.branch-metrics>div:nth-child(1) strong{color:#176bdc}.branch-metrics>div:nth-child(2) strong,.branch-metrics>div:nth-child(3) strong{color:#168653}.branch-metrics>div:nth-child(4) strong{color:#c66728}.branch-metrics>div:nth-child(5) strong{color:#7154d8}.branch-metrics>div:nth-child(6) strong{color:#cf3c4c}.branch-metrics .balance-metric{background:#edf4ff}.branch-metrics . .balance-metric.current{grid-column:span 2;background:#e8f8ef}.branch-metrics . .balance-metric.current strong{color:#087b48;font-size:1rem}.all-branches-card{grid-column:1/-1;color:#fff;background:linear-gradient(135deg,#102d50,#1764b9);border:0}.all-branches-card .branch-card-heading h2{color:#fff}.all-branches-card .branch-card-heading span:first-child{color:#8fc4ff}.total-branch-metrics>div{background:rgba(255,255,255,.1)}.total-branch-metrics small{color:#b9d4f2}.total-branch-metrics strong,.total-branch-metrics>div:nth-child(n) strong{color:#fff}@media(max-width:1100px){.branch-dashboard-grid{grid-template-columns:1fr}.all-branches-card{grid-column:1}.branch-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.branch-metrics .balance-metric.current{grid-column:span 1}}@media(max-width:600px){.dashboard-content:has(.branch-dashboard-grid){padding:18px}.branch-metrics{grid-template-columns:1fr}.branch-metrics .balance-metric,.branch-metrics .balance-metric.current{grid-column:1}}
.branch-metrics .bank-deposit-metric{background:#e8f8ef}.branch-metrics .bank-deposit-metric strong{color:#168653}.branch-metrics .bank-withdraw-metric{background:#fff1e1}.branch-metrics .bank-withdraw-metric strong{color:#c66728}.branch-metrics .balance-metric.current{grid-column:span 2;background:#e8f8ef}.branch-metrics .balance-metric.current strong{color:#087b48;font-size:1rem}
.branch-metrics .balance-metric:not(.current){grid-column:1}.branch-metrics .balance-metric.current{grid-column:2 / span 2}@media(max-width:1100px){.branch-metrics .balance-metric.current{grid-column:2 / span 1}}@media(max-width:600px){.branch-metrics .balance-metric:not(.current),.branch-metrics .balance-metric.current{grid-column:1}}

/* Keep five customer-history records visible inside the fixed billing panel. */
.customer-history-list .history-row{min-height:26px;padding:3px 7px;gap:4px;font-size:.53rem;line-height:1.1}
.customer-history-list .history-row .status-badge{padding:2px 6px;font-size:.48rem}
.all-branches-card .total-branch-metrics .bank-deposit-metric,.all-branches-card .total-branch-metrics .bank-withdraw-metric{background:rgba(255,255,255,.1)}.all-branches-card .total-branch-metrics .bank-deposit-metric strong,.all-branches-card .total-branch-metrics .bank-withdraw-metric strong{color:#fff}
.shift-status-badge{padding:5px 9px;border-radius:99px;font-size:.58rem!important;font-weight:800;letter-spacing:0!important}.shift-status-badge.open{color:#168653!important;background:#e8f8ef}.shift-status-badge.closed{color:#c93e4d!important;background:#ffe9ec}.shift-status-badge.unavailable{color:#66788c!important;background:#edf1f5}.expense-report-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.expense-report-kpis>div{position:relative;padding:18px 22px;border:1px solid #dfe7f1;border-radius:14px;background:#fff}.expense-report-kpis small{display:block;color:#8b9bad;font-size:.62rem;font-weight:850;letter-spacing:.1em}.expense-report-kpis strong{display:block;margin-top:5px;color:#176bdc;font-size:1.25rem}.expense-report-kpis>div:first-child strong{color:#168653}.expense-report-kpis>div:nth-child(2) strong{color:#c68a25}.expense-report-kpis>div:nth-child(3) strong{color:#7154d8}@media(max-width:900px){.expense-report-kpis{grid-template-columns:repeat(2,1fr)}}
.shift-content,.shift-close-content{width:100%;height:calc(100vh - 72px);padding:24px clamp(24px,3vw,48px);overflow:auto;background:#f4f7fb}.shift-page-heading,.shift-close-heading{max-width:1450px;margin:0 auto 18px}.shift-page-heading span,.shift-close-heading>div>span{color:#176fdc;font-size:.66rem;font-weight:900;letter-spacing:.18em}.shift-page-heading h1,.shift-close-heading h1{margin:5px 0 2px;color:#183653;font-size:2rem}.shift-page-heading p,.shift-close-heading p{margin:0;color:#7c8fa3}.shift-card{width:min(590px,100%);margin:0 auto;padding:28px;border:1px solid #dce5ef;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(34,64,96,.08)}.shift-card-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:18px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#edaa22,#ffd369);font-size:1.7rem}.shift-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.shift-meta div,.opening-balance{padding:14px;border-radius:12px;background:#f3f7fc}.shift-meta small,.opening-balance small,.shift-summary-grid small,.shift-closing-card small{display:block;color:#899aac;font-size:.61rem;font-weight:850;letter-spacing:.09em}.shift-meta strong{display:block;margin-top:4px;color:#203b57}.opening-balance{margin-bottom:16px;text-align:center}.opening-balance strong{display:block;margin:5px 0;color:#176fdc;font-size:2rem}.opening-balance p{margin:0;color:#8192a4;font-size:.72rem}.shift-close-heading{display:flex;justify-content:space-between;align-items:center}.shift-status-pill{padding:8px 14px;border-radius:99px;font-size:.72rem;font-weight:850}.shift-status-pill.open{color:#168653;background:#e5f7ed}.shift-status-pill.closed{color:#c43a4a;background:#ffe7ea}.shift-summary-grid{max-width:1450px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 auto}.shift-summary-grid>div{padding:14px 16px;border:1px solid #dfe7f0;border-radius:12px;background:#fff}.shift-summary-grid strong{display:block;margin-top:5px;color:#1d6fd6;font-size:1.05rem}.shift-summary-grid .opening{background:#eaf2fd}.shift-summary-grid .subtotal{background:#edf8f2}.shift-summary-grid .subtotal strong{color:#168653}.shift-summary-grid .total{background:#fff5df}.shift-summary-grid .total strong{color:#c47c12}.shift-closing-card{max-width:1450px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px auto 0;padding:18px 22px;border-radius:15px;color:#fff;background:linear-gradient(135deg,#173d68,#176fd5)}.shift-closing-card small{color:#c9dcf2}.shift-closing-card strong{display:block;margin:3px 0;font-size:1.7rem}.shift-closing-card p{margin:0;color:#d5e3f2;font-size:.67rem}@media(max-width:900px){.shift-summary-grid{grid-template-columns:repeat(2,1fr)}.shift-closing-card{align-items:stretch;flex-direction:column}.shift-meta{grid-template-columns:1fr}}
.shift-report-card{width:min(1000px,100%);margin:0 auto;overflow:hidden;border:1px solid #d8e4ef;border-radius:15px;background:#fff;box-shadow:0 15px 40px rgba(24,62,102,.1)}
.shift-report-header{display:flex;align-items:center;justify-content:space-between;padding:21px 30px;color:#fff;background:linear-gradient(135deg,#0c3f70,#1269c8)}.shift-report-header small{font-size:.64rem;font-weight:800;letter-spacing:.28em}.shift-report-header h2{margin:5px 0 2px;font-size:2rem;font-weight:800}.shift-report-header p{margin:0;font-size:.95rem}.shift-report-header span{display:block;margin-top:5px;color:#d8eaff;font-size:.7rem}.shift-report-header>strong{padding-left:25px;border-left:1px solid rgba(255,255,255,.5);color:#ffd35b;font-size:.62rem;line-height:1.7;letter-spacing:.27em}
.shift-report-body{padding:16px}.shift-opening-box{display:flex;align-items:center;gap:18px;padding:15px 20px;border:1px solid #d3e4f4;border-radius:11px;background:#edf6ff}.shift-money-icon{display:grid;width:52px;height:52px;place-items:center;border-radius:50%;color:#a86f00;background:#dceafb;font-size:1.7rem}.shift-opening-box>div{flex:1;padding-left:18px;border-left:1px solid #c6d9ed}.shift-opening-box small,.shift-closing-box small{display:block;font-size:.59rem;font-weight:850;letter-spacing:.14em}.shift-opening-box strong{display:block;margin-top:3px;color:#0d3e70;font-size:1.65rem}
.shift-flow-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.shift-flow{overflow:hidden;border-radius:11px}.shift-flow.debit{border:1px solid #ffc7d0}.shift-flow.credit{border:1px solid #b9ead5}.shift-flow>header{display:flex;flex-direction:column;padding:12px 15px}.shift-flow.debit>header{background:#fff0f3}.shift-flow.credit>header{background:#ebfaf3}.shift-flow>header strong{font-size:1rem}.shift-flow.debit>header strong{color:#bd1230}.shift-flow.credit>header strong{color:#087553}.shift-flow>header span{color:#36536f;font-size:.7rem}.shift-flow-rows p{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:8px 12px;border-bottom:1px solid #e3eaf2;color:#173b63;font-size:.71rem}.shift-flow-rows b{white-space:nowrap}.shift-flow-rows h3{margin:0;padding:5px 12px;color:#087553;background:#e3f7ef;font-size:.63rem;font-weight:850}.shift-flow.debit .flow-total{color:#bd1230;background:#fff0f3;font-weight:800}.shift-flow.credit .flow-total{color:#087553;background:#ebfaf3;font-weight:800}.shift-flow.debit .flow-grand{color:#bd1230;background:#ffe7ec;font-weight:850}.shift-flow.credit .flow-grand{color:#087553;background:#dff7ec;font-weight:850}
.shift-closing-box{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;padding:17px 22px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#0c3f70,#1269c8)}.shift-closing-box strong{display:block;margin-top:3px;color:#ffd35b;font-size:1.8rem}.shift-closing-box form{margin:0}.shift-closing-box button{font-size:.74rem;font-weight:800}.shift-formula{margin:9px 0 0;padding:9px;border-radius:8px;color:#49647f;background:#edf4fb;font-size:.67rem;text-align:center}.shift-history-content{overflow:auto}.shift-close-report #shiftCloseMessage{margin-bottom:12px;padding:8px 12px;font-size:.68rem}
@media print{.shift-email-action{display:none!important}}
@media(max-width:760px){.shift-report-header{padding:17px}.shift-report-header>strong{display:none}.shift-report-header h2{font-size:1.55rem}.shift-report-body{padding:10px}.shift-flow-grid{grid-template-columns:1fr}.shift-opening-box{padding:12px}.shift-opening-box strong{font-size:1.2rem}.shift-money-icon{width:42px;height:42px}.shift-closing-box{align-items:stretch;flex-direction:column}.shift-closing-box form button{width:100%}.shift-history-content{padding:18px 12px}}

/* Keep the complete shift reconciliation visible in one desktop viewport. */
@media (min-width:761px) {
  .shift-history-content,
  .shift-close-content {
    height: calc(100vh - 72px);
    gap: 7px;
    padding: 9px 18px;
    overflow: hidden;
  }
  .shift-history-content .report-heading {
    flex: 0 0 auto;
    align-items: center;
    gap: 10px;
  }
  .shift-history-content .report-heading h1 { font-size: 1.18rem; }
  .shift-history-content .report-heading p { font-size: .62rem; }
  .shift-history-content .report-heading input,
  .shift-history-content .report-heading select,
  .shift-history-content .report-heading button { height: 32px; font-size: .64rem; }
  .shift-history-content .shift-report-card,
  .shift-close-content .shift-report-card {
    width: min(1120px,100%);
    flex: 0 1 auto;
    border-radius: 12px;
  }
  .shift-report-header { padding: 9px 18px; }
  .shift-report-header small { font-size: .52rem; }
  .shift-report-header h2 { margin: 2px 0 0; font-size: 1.3rem; line-height: 1.05; }
  .shift-report-header p { font-size: .72rem; }
  .shift-report-header span { margin-top: 2px; font-size: .58rem; }
  .shift-report-header > strong { padding-left: 17px; font-size: .5rem; line-height: 1.45; }
  .shift-report-body { padding: 7px 9px; }
  .shift-opening-box { gap: 10px; padding: 6px 11px; border-radius: 8px; }
  .shift-money-icon { width: 33px; height: 33px; font-size: 1.05rem; }
  .shift-opening-box > div { padding-left: 10px; }
  .shift-opening-box small,
  .shift-closing-box small { font-size: .48rem; }
  .shift-opening-box strong { margin-top: 0; font-size: 1.08rem; line-height: 1.1; }
  .shift-flow-grid { gap: 7px; margin-top: 7px; }
  .shift-flow { border-radius: 8px; }
  .shift-flow > header { padding: 5px 9px; }
  .shift-flow > header strong { font-size: .72rem; line-height: 1.15; }
  .shift-flow > header span { font-size: .56rem; }
  .shift-flow-rows p { gap: 8px; padding: 3px 8px; font-size: .58rem; line-height: 1.15; }
  .shift-flow-rows h3 { padding: 2px 8px; font-size: .52rem; line-height: 1.15; }
  .shift-closing-box { margin-top: 7px; padding: 7px 12px; border-radius: 8px; }
  .shift-closing-box strong { margin-top: 0; font-size: 1.22rem; line-height: 1.1; }
  .shift-closing-box button { min-height: 30px; padding: 5px 11px; font-size: .6rem; }
  .shift-formula { margin-top: 5px; padding: 4px 7px; font-size: .55rem; }
  .shift-close-report #shiftCloseMessage { margin-bottom: 6px; padding: 5px 8px; font-size: .58rem; }
}
.police-case-actions{display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:end;gap:18px;margin-top:12px}.police-case-actions .auth-field{margin:0}.police-case-actions .textarea-shell{height:76px}.police-case-actions textarea{height:74px;resize:none}.case-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.case-detail-summary>div,.case-description{padding:13px;border-radius:10px;background:#f5f8fc}.case-detail-summary small,.case-description small{display:block;color:#8899ac;font-size:.58rem;font-weight:850;letter-spacing:.09em}.case-detail-summary strong{display:block;margin-top:4px;color:#243c55}.case-detail-summary span{display:block;color:#718399;font-size:.7rem}.case-description{margin-bottom:15px}.case-description p{margin:5px 0 0;white-space:pre-wrap}@media(max-width:800px){.police-case-actions{grid-template-columns:1fr}.case-detail-summary{grid-template-columns:repeat(2,1fr)}}
.police-case-content .customer-card,.police-case-content .history-card{height:250px}.police-case-content .customer-fields .textarea-shell{height:70px}.police-case-content .customer-fields .textarea-shell textarea{height:68px;overflow:auto}
.redemption-billing-content .customer-card,.redemption-billing-content .history-card{height:250px}.redemption-billing-content .customer-fields .textarea-shell{height:70px}.redemption-billing-content .customer-fields .textarea-shell textarea{height:68px;overflow:auto}

/* Compact desktop dashboard: all active branches and totals fit in one viewport. */
@media (min-width: 1251px) {
  .app-shell:has(.branch-dashboard-grid) .dashboard-content { padding: 12px 18px; }
  .dashboard-content:has(.branch-dashboard-grid) .dashboard-heading { margin-bottom: 9px; }
  .dashboard-content:has(.branch-dashboard-grid) .dashboard-heading h1 { margin-bottom: 2px; font-size: 1.45rem; }
  .dashboard-content:has(.branch-dashboard-grid) .dashboard-heading p { margin: 0; font-size: .7rem; }
  .dashboard-content:has(.branch-dashboard-grid) .date-chip { padding: 7px 12px; }
  .app-shell:has(.branch-dashboard-grid) .branch-dashboard-grid { grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: minmax(0,1fr); gap: 9px; padding-right: 0; overflow: hidden; align-content: stretch; }
  .branch-summary-card { min-height: 0; padding: 10px 12px; border-radius: 12px; overflow: hidden; }
  .branch-card-heading { margin-bottom: 7px; }
  .branch-card-heading h2 { font-size: .92rem; }
  .branch-live-dot,.branch-count { padding: 3px 7px; font-size: .5rem!important; }
  .branch-metrics { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; }
  .branch-metrics > div { padding: 6px 7px; border-radius: 7px; }
  .branch-metrics small { font-size: .42rem; letter-spacing: .045em; }
  .branch-metrics strong { margin-top: 1px; font-size: .67rem; }
  .branch-metrics .balance-metric:not(.current) { grid-column: 1; }
  .branch-metrics .balance-metric.current { grid-column: 2 / span 3; }
  .branch-metrics .balance-metric.current strong { font-size: .75rem; }
  .all-branches-card { grid-column: 1 / -1; }
  .all-branches-card .total-branch-metrics { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (min-width: 901px) and (max-width: 1250px) {
  .app-shell:has(.branch-dashboard-grid) .dashboard-content { padding: 14px 18px; }
  .branch-dashboard-grid { gap: 10px; }
  .branch-summary-card { padding: 13px; }
  .branch-metrics { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
  .branch-metrics .balance-metric:not(.current) { grid-column: 1; }
  .branch-metrics .balance-metric.current { grid-column: 2 / span 3; }
}

.shift-reopen-content { overflow: auto; }
.shift-reopen-card { width: min(760px,100%); margin: 0 auto; padding: 22px; }
.shift-reopen-heading { display: flex; align-items: center; justify-content: space-between; margin: 8px 0 14px; }
.shift-reopen-heading small,.shift-reopen-grid small { display: block; color: #899aac; font-size: .61rem; font-weight: 850; letter-spacing: .09em; }
.shift-reopen-heading h2 { margin: 4px 0 0; color: #203b57; font-size: 1.3rem; }
.shift-reopen-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin-bottom: 16px; }
.shift-reopen-grid > div { padding: 14px; border-radius: 11px; background: #f3f7fc; }
.shift-reopen-grid strong { display: block; margin-top: 5px; color: #1d6fd6; }
.shift-reopen-empty { padding: 45px 20px; text-align: center; color: #7c8fa3; }
.shift-reopen-empty strong { display: block; color: #203b57; font-size: 1.05rem; }
.shift-reopen-empty p { margin: 5px 0 0; }
@media (max-width:700px) { .shift-reopen-grid { grid-template-columns: 1fr; } }
.executive-content{box-sizing:border-box;width:100%;height:calc(100vh - 92px);padding:20px 26px;overflow:auto;background:#f4f7fb}.executive-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.executive-heading>div>span,.profit-chart-card header small{color:#176fdc;font-size:.58rem;font-weight:900;letter-spacing:.14em}.executive-heading h1{margin:4px 0 2px;color:#1c3651;font-size:1.55rem}.executive-heading p{margin:0;color:#8192a4;font-size:.72rem}.executive-heading form{display:flex;align-items:end;gap:8px}.executive-heading label{color:#718397;font-size:.6rem;font-weight:800}.executive-heading input,.executive-heading select{display:block;height:38px;margin-top:3px;padding:0 10px;border:1px solid #dce5ef;border-radius:8px;background:#fff;color:#344e68;font-size:.72rem}.executive-heading button{height:38px;padding:0 16px;border:0;border-radius:8px;color:#fff;background:#176fdc;font-size:.7rem;font-weight:800}.executive-heading button.pdf-button{background:#50647c}.executive-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.executive-kpis div{padding:11px 15px;border:1px solid #e0e7ef;border-radius:11px;background:#fff}.executive-kpis small{display:block;color:#8798aa;font-size:.55rem;font-weight:850;letter-spacing:.1em}.executive-kpis strong{display:block;margin-top:3px;color:#176fdc;font-size:1.05rem}.executive-kpis .kpi-inflow strong{color:#168653}.executive-kpis .kpi-outflow strong{color:#c22a1f}.executive-kpis .kpi-net strong{color:#176fdc}.executive-kpis-detail{grid-template-columns:repeat(4,1fr)}
.profit-kpis{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.profit-kpi{display:flex;flex:1;align-items:center;gap:10px;min-width:150px;padding:10px 14px;border-radius:13px;background:#fff;box-shadow:0 6px 18px rgba(31,62,96,.06)}
.profit-kpi-icon{display:flex;flex:0 0 34px;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-size:1rem}
.profit-kpi small{display:block;color:#8798aa;font-size:.54rem;font-weight:900;letter-spacing:.1em}.profit-kpi strong{display:block;margin-top:2px;color:#243a53;font-size:.98rem;font-weight:900}
.profit-kpi-total .profit-kpi-icon{background:#e7f0ff;color:#176fdc}.profit-kpi-branches .profit-kpi-icon{background:#fdeee0;color:#c9711a}.profit-kpi-months .profit-kpi-icon{background:#eafaf1;color:#168653}
.flow-overview{margin-bottom:16px}.flow-overview-bar{display:flex;height:16px;border-radius:99px;overflow:hidden;background:#eef2f6;box-shadow:inset 0 0 0 1px #e2e8f0}.flow-overview-in{background:linear-gradient(90deg,#2fd192,#0d8f5c);transition:width .4s ease}.flow-overview-out{background:linear-gradient(90deg,#ff8a80,#c22a1f);transition:width .4s ease}.flow-overview-labels{display:flex;justify-content:space-between;margin-top:7px;font-size:.68rem;font-weight:800}.flow-overview-labels .flow-label-in{color:#0f5132}.flow-overview-labels .flow-label-out{color:#8d1616}
.flow-panels{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px;align-items:center;margin-bottom:16px}.flow-panel{min-width:0;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(31,62,96,.07);overflow:hidden}
.flow-panel-head{display:flex;align-items:center;gap:12px;padding:16px 20px;color:#fff}.flow-panel-in .flow-panel-head{background:linear-gradient(135deg,#0f5132,#18965c)}.flow-panel-out .flow-panel-head{background:linear-gradient(135deg,#5d0808,#d51d1d)}
.flow-panel-icon{display:flex;flex:0 0 36px;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.2);font-size:1.1rem}
.flow-panel-head small{display:block;font-size:.58rem;font-weight:900;letter-spacing:.12em;opacity:.85}.flow-panel-head strong{display:block;margin-top:2px;font-size:1.4rem;font-weight:900}
.flow-rows{padding:12px 20px 16px}.flow-row{display:grid;grid-template-columns:128px 1fr auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #eef2f6}.flow-row:last-child{border-bottom:0}
.flow-row-label{display:flex;align-items:center;gap:6px;overflow:hidden;color:#4a5b6e;font-size:.7rem;font-weight:700;white-space:nowrap;text-overflow:ellipsis}.flow-row-label i{font-style:normal}
.flow-row-track{height:7px;border-radius:99px;background:#eef2f6;overflow:hidden}.flow-panel-in .flow-row-fill{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2fd192,#0d8f5c)}.flow-panel-out .flow-row-fill{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ff8a80,#c22a1f)}
.flow-row strong{color:#243a53;font-size:.74rem;font-weight:800;white-space:nowrap}
.flow-net-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:150px;padding:22px 14px;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(31,62,96,.1)}.flow-net-card small{color:#8798aa;font-size:.56rem;font-weight:900;letter-spacing:.12em}.flow-net-card strong{font-size:1.35rem;font-weight:900}.flow-net-card span{font-size:.66rem;font-weight:800}
.flow-net-card.positive{border-top:5px solid #18965c}.flow-net-card.positive strong,.flow-net-card.positive span{color:#0f5132}.flow-net-card.negative{border-top:5px solid #d51d1d}.flow-net-card.negative strong,.flow-net-card.negative span{color:#8d1616}
@media(max-width:900px){.flow-panels{grid-template-columns:1fr}.flow-net-card{width:100%;flex-direction:row;justify-content:space-between;padding:14px 20px}.flow-net-card small{flex:0 0 auto}.flow-row{grid-template-columns:108px 1fr auto}}
.profit-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.profit-chart-card{min-width:0;padding:12px 14px;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(31,62,96,.06)}
.profit-chart-card:not(.combined){border-top:4px solid #d7dee7}
.profit-chart-card.combined{grid-column:1/-1;padding:0;overflow:hidden}
.profit-chart-card.combined header{margin:0;padding:16px 20px;color:#fff;background:linear-gradient(135deg,#123b78,#176fdc)}
.profit-chart-card.combined .profit-chart-scroll{padding:10px 18px 14px}
.profit-chart-card header{display:flex;align-items:start;justify-content:space-between;gap:12px}
.profit-chart-card header>div>small{color:#8798aa;font-size:.56rem;font-weight:900;letter-spacing:.13em}
.profit-chart-card.combined header>div>small{color:rgba(255,255,255,.75)}
.profit-chart-card h2{margin:3px 0 0;color:#203a55;font-size:.9rem;font-weight:800}
.profit-chart-card.combined h2{color:#fff}
.profit-chart-stats{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.profit-chart-stats strong{color:#176fdc;font-size:.88rem;font-weight:900}
.profit-chart-card.combined .profit-chart-stats strong{color:#fff;font-size:1.05rem}
.profit-trend{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:99px;font-size:.58rem;font-weight:900;white-space:nowrap}
.profit-trend.up{color:#0f5132;background:#e3f7ec}.profit-trend.down{color:#8d1616;background:#fdeceb}
.profit-chart-card.combined .profit-trend.up{color:#e3f7ec;background:rgba(255,255,255,.2)}.profit-chart-card.combined .profit-trend.down{color:#ffd9d9;background:rgba(255,255,255,.2)}
.profit-chart-scroll{overflow-x:auto;padding:6px 2px 2px}
.profit-bars{height:132px;min-width:max(100%,calc(var(--months) * 30px));display:grid;grid-template-columns:repeat(var(--months),minmax(24px,1fr));gap:1px;align-items:end;border-bottom:1px solid #eef2f6}
.profit-bar-item{height:100%;display:grid;grid-template-rows:15px 1fr 18px;align-items:end;text-align:center}
.profit-value{overflow:hidden;color:#7a8ba0;font-size:.46rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.profit-bar-track{height:92px;display:flex;align-items:end;justify-content:center}
.profit-bar-track i{display:block;width:26%;min-height:2px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#52a0f3,#176fdc);transition:height .35s ease}
.profit-bar-item time{padding-top:4px;color:#8697aa;font-size:.48rem;font-weight:700;white-space:nowrap}
.profit-bar-item.peak-bar .profit-value{color:#a3730a;font-weight:900}
.profit-bar-item.peak-bar .profit-bar-track i{box-shadow:0 0 0 2px rgba(255,255,255,.7),0 0 10px rgba(255,180,0,.55);filter:brightness(1.08)}
.profit-chart-card.palette-teal{border-top-color:#0c7d70}.profit-chart-card.palette-teal .profit-chart-stats strong{color:#0c7d70}.profit-chart-card.palette-teal .profit-bar-track i{background:linear-gradient(180deg,#2fe0c9,#0c7d70)}
.profit-chart-card.palette-purple{border-top-color:#6d28d9}.profit-chart-card.palette-purple .profit-chart-stats strong{color:#6d28d9}.profit-chart-card.palette-purple .profit-bar-track i{background:linear-gradient(180deg,#a78bfa,#6d28d9)}
.profit-chart-card.palette-orange{border-top-color:#c9711a}.profit-chart-card.palette-orange .profit-chart-stats strong{color:#c9711a}.profit-chart-card.palette-orange .profit-bar-track i{background:linear-gradient(180deg,#ffb35c,#c9711a)}
.profit-chart-card.palette-pink{border-top-color:#b23a72}.profit-chart-card.palette-pink .profit-chart-stats strong{color:#b23a72}.profit-chart-card.palette-pink .profit-bar-track i{background:linear-gradient(180deg,#f592bf,#b23a72)}
.profit-chart-card.palette-indigo{border-top-color:#3730a3}.profit-chart-card.palette-indigo .profit-chart-stats strong{color:#3730a3}.profit-chart-card.palette-indigo .profit-bar-track i{background:linear-gradient(180deg,#818cf8,#3730a3)}
.profit-chart-card.palette-cyan{border-top-color:#0e7490}.profit-chart-card.palette-cyan .profit-chart-stats strong{color:#0e7490}.profit-chart-card.palette-cyan .profit-bar-track i{background:linear-gradient(180deg,#22d3ee,#0e7490)}
@media(max-width:900px){.executive-heading{align-items:start;flex-direction:column}.executive-heading form{flex-wrap:wrap}.profit-chart-grid{grid-template-columns:1fr}.profit-kpis{flex-direction:column}}
/* Subscription management */
.dashboard-subscription-notice{display:flex;align-items:center;gap:14px;width:100%;margin-bottom:18px;padding:11px 16px;border:1px solid #f3b6b6;border-radius:13px;background:linear-gradient(90deg,#fff0f0,#fff8f8);color:#8d1616;box-shadow:0 6px 18px rgba(150,25,25,.06);white-space:nowrap;overflow:hidden;text-align:left;cursor:pointer}.dashboard-subscription-notice:hover{border-color:#df8585;background:#ffeaea}.dashboard-subscription-notice .dashboard-subscription-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#c92323;color:#fff;font-weight:900}.dashboard-subscription-notice strong{font-weight:900}.dashboard-subscription-notice b{margin-left:auto;font-size:1rem}.dashboard-subscription-view{padding-left:14px;border-left:1px solid #efc3c3;font-weight:800}.payment-details-modal .modal-dialog{max-width:650px}.payment-details-modal .modal-content{border:0;border-radius:28px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.35)}.payment-modal-head{position:relative;padding:30px 34px;text-align:center;color:#fff;background:linear-gradient(135deg,#5d0808,#d51d1d)}.payment-modal-head>.btn-close{position:absolute;top:20px;right:20px}.payment-modal-head>span{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin:0 auto 14px;border-radius:50%;background:rgba(255,255,255,.16);font-size:1.5rem}.payment-modal-head small{display:block;letter-spacing:.16em;font-weight:900}.payment-modal-head h2{margin:8px 0;font-size:2.8rem;font-weight:900}.payment-modal-head p{margin:14px 0 0;padding:11px 16px;border-radius:30px;background:rgba(255,255,255,.14);color:#ffe292;font-weight:800}.payment-modal-body{padding:28px}.payment-account-list{padding:5px 24px;border:1px solid #dce5f0;border-radius:22px;background:#f8fafd}.payment-account-list>div{display:grid;grid-template-columns:145px 1fr auto;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #dde6f0}.payment-account-list>div:last-child{border-bottom:0}.payment-account-list span{color:#718096;font-size:.8rem;font-weight:900}.payment-account-list strong{text-align:right;color:#2e1111}.payment-account-list button{border:0;border-radius:9px;background:#ffe5e5;color:#c51d1d;padding:8px 10px}.payment-modal-body>p{margin:22px 0;color:#62738a}.payment-modal-close{width:100%;border:0;border-radius:12px;padding:13px;background:#c62424;color:#fff;font-weight:900}@media(max-width:800px){.dashboard-subscription-notice{gap:7px;font-size:.77rem;padding:9px 10px}.dashboard-subscription-notice span:nth-of-type(2),.dashboard-subscription-view{display:none}.dashboard-subscription-notice b{margin-left:auto}.payment-modal-head h2{font-size:2.15rem}.payment-modal-body{padding:18px}.payment-account-list{padding:3px 15px}.payment-account-list>div{grid-template-columns:105px 1fr;gap:8px}.payment-account-list button{grid-column:2;justify-self:end}.payment-account-list strong{font-size:.84rem}}
.subscription-page{padding:28px;max-width:1800px;margin:0 auto;width:100%}.subscription-status{align-self:center;padding:14px 20px;border-radius:16px;background:#fff;border:1px solid #dce6f2;font-weight:800;color:#263a55}.subscription-status.paid,.subscription-badge.paid{color:#168a55;background:#e5f8ef}.subscription-status.pending,.subscription-badge.pending{color:#a66a00;background:#fff1c7}.subscription-settings-card,.subscription-table-card{background:#fff;border:1px solid #dfe8f3;border-radius:24px;box-shadow:0 12px 35px rgba(22,52,89,.06);padding:24px;margin-top:24px}.subscription-settings-card{display:flex;justify-content:space-between;gap:30px;align-items:end}.subscription-settings-card span,.subscription-settings-card label{display:block;color:#8190a4;font-size:.75rem;font-weight:800;letter-spacing:.12em}.subscription-settings-card strong{display:block;color:#102944;font-size:1.75rem}.subscription-settings-card small{color:#8190a4}.subscription-settings-card form>div{display:flex;gap:8px}.subscription-settings-card input,.subscription-table input{border:1px solid #d9e3ef;border-radius:10px;padding:10px 12px}.subscription-settings-card button,.subscription-table button{border:0;border-radius:10px;padding:10px 14px;background:#1473e6;color:#fff;font-weight:800}.subscription-table{width:100%;border-collapse:collapse;min-width:1100px}.subscription-table th{background:#0d2948;color:#fff;padding:16px;text-align:left}.subscription-table td{padding:16px;border-bottom:1px solid #e7edf4;vertical-align:middle}.subscription-badge{display:inline-block;padding:7px 11px;border-radius:10px;font-weight:800}.inline-charge,.inline-deadline{display:flex;align-items:center;gap:6px}.inline-charge input{width:120px}.inline-deadline input{width:155px}.inline-reset{display:inline-block;margin-top:5px}.inline-reset button{background:#fff;color:#67768a;border:1px solid #aab5c3}.mark-paid{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 14px;border:0;border-radius:20px;background:linear-gradient(120deg,#6a5cf0,#ec4899 55%,#f59e0b);background-size:160% 160%;color:#fff;font-weight:800;font-size:.68rem;letter-spacing:.01em;white-space:nowrap;cursor:pointer;box-shadow:0 6px 16px rgba(106,92,240,.32);transition:transform .15s ease,box-shadow .15s ease,background-position .3s ease}.mark-paid:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(236,72,153,.38);background-position:100% 40%}.mark-paid:active{transform:translateY(0);box-shadow:0 4px 10px rgba(106,92,240,.28)}.paid-check{color:#168a55;font-weight:900}.resend-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;margin-left:8px;padding:4px 12px;border:0;border-radius:20px;background:linear-gradient(120deg,#0ea5e9,#22c55e);color:#fff;font-weight:800;font-size:.62rem;letter-spacing:.01em;white-space:nowrap;cursor:pointer;box-shadow:0 4px 12px rgba(14,165,233,.3);transition:transform .15s ease,box-shadow .15s ease}.resend-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(34,197,94,.35)}.resend-btn:active{transform:translateY(0);box-shadow:0 3px 8px rgba(14,165,233,.28)}.action-btn-group{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;white-space:nowrap}.view-pdf-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 12px;border:1px solid #cfe0f7;border-radius:20px;background:#fff;color:#2f6fd6;font-weight:800;font-size:.62rem;white-space:nowrap;cursor:pointer}.view-pdf-btn:hover{background:#eef4ff}.delete-invoice-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 12px;border:0;border-radius:20px;background:linear-gradient(120deg,#f43f5e,#b91c1c);color:#fff;font-weight:800;font-size:.62rem;white-space:nowrap;cursor:pointer;box-shadow:0 4px 10px rgba(220,38,38,.28);transition:transform .15s ease,box-shadow .15s ease}.delete-invoice-btn:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(220,38,38,.35)}.delete-invoice-btn:active{transform:translateY(0);box-shadow:0 3px 8px rgba(220,38,38,.28)}.subscription-alert-modal .modal-dialog{max-width:640px}.subscription-alert-modal .modal-content{border:0;border-radius:30px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.32)}.subscription-alert-head{position:relative;text-align:center;padding:38px 38px 34px;color:#fff;background:linear-gradient(135deg,#650909,#d52020)}.subscription-alert-head .btn-close{position:absolute;right:24px;top:24px}.subscription-rupee{display:flex;width:62px;height:62px;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.15);margin:0 auto 16px;font-size:1.6rem}.subscription-alert-head small{display:block;letter-spacing:.18em;font-weight:900}.subscription-alert-head h2{font-size:3rem;font-weight:900;margin:10px 0}.subscription-alert-head p{margin:0 auto;padding:12px 18px;border-radius:30px;background:rgba(255,255,255,.13);font-weight:700;color:#ffe093}.subscription-alert-body{padding:34px}.subscription-alert-body h3{color:#301010;font-weight:900}.subscription-alert-body>p{color:#65758a}.subscription-alert-body>div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #e6edf5}.subscription-alert-body>div span{font-weight:800;color:#75849a}.subscription-alert-body>button{width:100%;margin-top:24px;border:0;border-radius:12px;background:#bd1d1d;color:#fff;padding:14px;font-weight:900}@media(max-width:800px){.subscription-page{padding:18px}.subscription-settings-card{align-items:stretch;flex-direction:column}.subscription-settings-card form>div{flex-wrap:wrap}.subscription-alert-head h2{font-size:2.2rem}.subscription-alert-body{padding:24px}}.payment-note-label{display:block;margin:16px 0 7px;color:#31465e;font-weight:800}.payment-modal-body textarea{display:block;width:100%;resize:vertical;border:1px solid #d7e1ed;border-radius:12px;background:#f7f9fc;padding:12px;color:#20364d}.payment-notify-button,.payment-modal-close{width:100%;margin-top:12px;border:0;border-radius:12px;padding:13px;background:#c62424;color:#fff;font-weight:900}.payment-modal-close.secondary{margin-top:8px;background:#eef3f8;color:#53677e}.payment-notify-button:hover{background:#a91818}

/* Keep the payment notice and its actions inside short desktop/mobile viewports. */
.payment-details-modal .modal-dialog{width:min(560px,calc(100% - 24px));max-width:560px;margin:12px auto;max-height:calc(100vh - 24px)}
.payment-details-modal .modal-content{max-height:calc(100vh - 24px);border-radius:20px}
.payment-details-modal .payment-modal-head{flex:0 0 auto;padding:15px 24px 14px}
.payment-details-modal .payment-modal-head>.btn-close{top:14px;right:15px}
.payment-details-modal .payment-modal-head>span{width:40px;height:40px;margin:0 auto 7px;font-size:1.05rem}
.payment-details-modal .payment-modal-head small{font-size:.68rem;letter-spacing:.14em}
.payment-details-modal .payment-modal-head h2{margin:4px 0;font-size:2rem}
.payment-details-modal .payment-modal-head p{margin:7px 0 0;padding:7px 12px;font-size:.78rem;line-height:1.25}
.payment-details-modal .payment-modal-body{min-height:0;padding:15px 18px;overflow-y:auto;font-size:.8rem}
.payment-details-modal .payment-account-list{padding:2px 16px;border-radius:14px}
.payment-details-modal .payment-account-list>div{grid-template-columns:120px 1fr auto;gap:8px;padding:8px 0}
.payment-details-modal .payment-account-list span{font-size:.65rem}
.payment-details-modal .payment-account-list strong{font-size:.78rem}
.payment-details-modal .payment-account-list button{padding:5px 7px}
.payment-details-modal .payment-modal-body>p{margin:10px 0;font-size:.75rem;line-height:1.35}
.payment-details-modal .payment-note-label{margin:8px 0 5px;font-size:.74rem}
.payment-details-modal .payment-modal-body textarea{height:58px;min-height:58px;padding:8px 10px;resize:none;font-size:.76rem}
.payment-details-modal .payment-notify-button,.payment-details-modal .payment-modal-close{margin-top:7px;padding:9px;font-size:.78rem}
.payment-details-modal .payment-download-button{display:block;width:100%;margin-top:8px;padding:9px;border:1px solid #176fdc;border-radius:10px;color:#176fdc;background:#eef6ff;font-size:.78rem;font-weight:900;text-align:center;text-decoration:none}.payment-details-modal .payment-download-button:hover{background:#dfeeff;color:#105bb8}
@media(max-width:600px){.payment-details-modal .payment-account-list>div{grid-template-columns:95px 1fr auto}.payment-details-modal .payment-modal-head h2{font-size:1.65rem}.payment-details-modal .payment-modal-body{padding:12px}}
.customer-fixer-content{padding:22px;max-width:1500px;margin:0 auto;width:100%}.customer-fixer-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.customer-fixer-summary>div{padding:14px 18px;border:1px solid #dfe7f1;border-radius:13px;background:#fff}.customer-fixer-summary small{display:block;color:#8494a7;font-size:.62rem;font-weight:900;letter-spacing:.1em}.customer-fixer-summary strong{display:block;margin-top:3px;color:#176fdc;font-size:1.3rem}.customer-fixer-card{padding:18px}.customer-fixer-filters{display:grid;grid-template-columns:220px 1fr auto;gap:9px;margin-bottom:15px}.customer-fixer-filters select,.customer-fixer-filters input{height:40px;padding:0 11px;border:1px solid #d7e1ed;border-radius:9px;background:#fff}.customer-fixer-filters button{padding:0 18px;border:0;border-radius:9px;background:#176fdc;color:#fff;font-weight:800}.customer-fixer-table{font-size:.78rem}.customer-fixer-table thead th{padding:11px;background:#eff5fb;color:#6c8095;font-size:.62rem;letter-spacing:.08em}.customer-fixer-table td{padding:10px 11px}.customer-fixer-table td:first-child small{display:block;color:#94a2b2;font-size:.58rem}.customer-defect-status{display:flex;flex-wrap:wrap;gap:5px}.customer-defect-status span{display:inline-flex;padding:5px 8px;border-radius:20px;font-size:.62rem;font-weight:900;white-space:nowrap}.customer-defect-status .duplicate{color:#a56800;background:#fff0c7}.customer-defect-status .insufficient{color:#b51f39;background:#ffe5eb}@media(max-width:760px){.customer-fixer-content{padding:14px}.customer-fixer-summary,.customer-fixer-filters{grid-template-columns:1fr}.customer-fixer-filters button{height:40px}}
.customer-fixer-filters{grid-template-columns:190px 140px minmax(220px,1fr) auto}.customer-fixer-filters button:disabled{opacity:.65}@media(max-width:900px){.customer-fixer-filters{grid-template-columns:1fr 1fr}.customer-fixer-filters input{grid-column:1/-1}.customer-fixer-filters button{height:40px}}@media(max-width:560px){.customer-fixer-filters{grid-template-columns:1fr}.customer-fixer-filters input{grid-column:auto}}
.customer-defect-status button{display:inline-flex;padding:5px 8px;border:0;border-radius:20px;font-size:.62rem;font-weight:900;white-space:nowrap;cursor:pointer}.customer-defect-status button:hover{filter:brightness(.95);box-shadow:0 2px 7px rgba(21,48,78,.12)}.customer-defect-modal .modal-content{border:0;border-radius:17px;overflow:hidden}.customer-defect-modal .modal-header{padding:14px 18px;background:#f3f7fc}.customer-defect-modal .modal-header small{display:block;color:#176fdc;font-size:.58rem;font-weight:900;letter-spacing:.11em}.customer-defect-modal .modal-title{margin-top:2px;color:#203a55;font-size:1.05rem;font-weight:850}.customer-defect-help{margin:0 0 12px;color:#718398;font-size:.74rem}.customer-defect-detail-table{font-size:.74rem}.customer-defect-detail-table th{padding:9px;background:#edf4fb;color:#6b8095;font-size:.58rem;letter-spacing:.07em}.customer-defect-detail-table td{padding:9px;vertical-align:top}.customer-raw-value{min-width:220px;white-space:pre-wrap}

.feature-tour-overlay{position:fixed;inset:0;z-index:10000;pointer-events:none}
.feature-tour-spotlight{position:fixed;left:0;top:0;width:0;height:0;border-radius:12px;box-shadow:0 0 0 9999px rgba(8,15,28,.62);transition:left .6s cubic-bezier(.4,0,.2,1),top .6s cubic-bezier(.4,0,.2,1),width .6s cubic-bezier(.4,0,.2,1),height .6s cubic-bezier(.4,0,.2,1);pointer-events:none}
.feature-tour-cursor{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:radial-gradient(circle,#ffffff,#dbe8ff);box-shadow:0 6px 18px rgba(0,0,40,.35);display:grid;place-items:center;font-size:18px;line-height:1;transition:left .6s cubic-bezier(.4,0,.2,1),top .6s cubic-bezier(.4,0,.2,1);z-index:10002;pointer-events:none}
.feature-tour-cursor.clicking::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:3px solid #7c3aed;animation:tour-ripple .45s ease-out}
@keyframes tour-ripple{from{transform:scale(.4);opacity:1}to{transform:scale(1.7);opacity:0}}
.feature-tour-caption{position:fixed;left:50%;bottom:36px;transform:translateX(-50%);max-width:360px;width:calc(100% - 40px);padding:14px 18px;border-radius:14px;background:#fff;color:#1b334d;box-shadow:0 20px 50px rgba(10,20,40,.35);z-index:10002;text-align:center;pointer-events:none;transition:opacity .25s}
.feature-tour-caption strong{display:block;margin-bottom:4px;color:#176fdc;font-size:.85rem;font-weight:900}
.feature-tour-caption p{margin:0;color:#5c6f85;font-size:.75rem;line-height:1.35}
.feature-tour-dont-show{display:block;margin:10px auto 0;padding:0;border:0;background:transparent;color:#94a2b2;font-size:.66rem;font-weight:700;text-decoration:underline;cursor:pointer;pointer-events:auto}
.feature-tour-skip{position:fixed;top:20px;right:20px;z-index:10003;padding:8px 14px;border:0;border-radius:99px;background:rgba(255,255,255,.92);color:#1b334d;font-weight:800;font-size:.7rem;pointer-events:auto;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.2)}
body.feature-tour-active{overflow:hidden}
@media(max-width:600px){.feature-tour-caption{max-width:none}}
.customer-correct-column,.customer-defect-detail-table td:has(.customer-correct-radio){width:58px;text-align:center}.customer-correct-radio{width:17px;height:17px;cursor:pointer}.customer-defect-modal .alert{margin-bottom:10px;font-size:.73rem}.customer-defect-modal .modal-footer{padding:10px 16px}.customer-defect-modal #customerMergeButton{font-size:.75rem;font-weight:800}
.maintenance-mode-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,30,45,.72)}
.maintenance-mode-modal{width:min(420px,100%);padding:30px 26px;border-radius:18px;text-align:center;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.3)}
.maintenance-mode-icon{font-size:2.4rem}
.maintenance-mode-modal h2{margin:10px 0 6px;color:#173b63;font-size:1.2rem}
.maintenance-mode-modal p{margin:0 0 16px;color:#4c5c6d;font-size:.9rem;white-space:pre-line}
.maintenance-mode-countdown{margin-bottom:18px;color:#c43140;font-size:1.8rem;font-weight:900;letter-spacing:.05em}
.maintenance-mode-dismiss{padding:10px 22px;border:0;border-radius:10px;color:#fff;background:#176fd5;font-weight:800;cursor:pointer}
.maintenance-mode-banner{position:fixed;z-index:1999;left:16px;bottom:16px;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:99px;color:#fff;background:#c43140;box-shadow:0 10px 26px rgba(196,49,64,.35);cursor:pointer;font-size:.78rem;font-weight:700}
.maintenance-mode-banner strong{font-size:.9rem;font-weight:900}
.dashboard-subscription-notice.additional-invoice-notice{margin-top:10px}
.additional-invoice-list{border:1px solid #dce5f0;border-radius:16px;background:#f8fafd;overflow:hidden}
.additional-invoice-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #e5ebf2}
.additional-invoice-row:last-child{border-bottom:0}
.additional-invoice-row strong{display:block;color:#26364c}
.additional-invoice-row small{color:#8797ab}
.additional-invoice-row-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.additional-invoice-row-actions span{font-weight:800;color:#4b2e9e;white-space:nowrap}
.additional-invoice-row-actions button{border:0;border-radius:9px;padding:8px 12px;background:#6a3fbf;color:#fff;font-weight:800;font-size:.72rem;white-space:nowrap}
.additional-invoice-row-actions button:hover{background:#5a32a8}
@media(max-width:600px){.additional-invoice-row{flex-direction:column;align-items:flex-start}}
.reminder-report-page .report-filters{gap:8px}
.reminder-report-page .rr-btn,.rr-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border:0;border-radius:10px;color:#fff;font-size:.7rem;font-weight:800;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:0 6px 16px rgba(20,45,75,.14);transition:transform .12s ease,box-shadow .12s ease}
.reminder-report-page .rr-btn:hover,.rr-btn:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(20,45,75,.2)}
.reminder-report-page .rr-btn:disabled,.reminder-report-page .rr-btn[disabled],.rr-btn:disabled,.rr-btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.reminder-report-page .rr-btn-view,.rr-btn-view{background:linear-gradient(135deg,#3fa9f5,#6a5cf0)}
.reminder-report-page .rr-btn-pdf,.rr-btn-pdf{background:linear-gradient(135deg,#2fd192,#0d8f5c)}
.reminder-report-page .rr-btn-email,.rr-btn-email{background:linear-gradient(135deg,#8a5cf6,#5a32a8)}
.rr-btn-cancel{background:#eef1f6;color:#5b6b81;box-shadow:none}
.rr-btn-cancel:hover{background:#e3e8f0;transform:none}
@media(max-width:700px){.rr-btn{height:32px;padding:0 11px;font-size:.66rem}}
.office-contact-actions{display:flex;align-items:center;gap:6px}.office-contact-actions form{margin:0}.office-contact-actions .management-edit-button,.office-contact-actions .delete-invoice-button{white-space:nowrap}
