/* Advisor Collection UI — visual layer only */
:root {
  --advisor-ink: #18323b; --advisor-muted: #71828a; --advisor-teal: #087f8c;
  --advisor-deep: #123b4a; --advisor-canvas: #f2f6f7; --advisor-line: #e1e9eb;
  --advisor-shadow: 0 12px 32px rgba(19, 57, 70, .08);
}
* { font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif !important; -webkit-font-smoothing: antialiased; }
html { background: var(--advisor-canvas); }
body { background: radial-gradient(ellipse at top left, #e7f3f3 0, transparent 34%), var(--advisor-canvas) !important; color: var(--advisor-ink); padding-bottom: 32px !important; }
.dashboard-header { background: linear-gradient(120deg, #123b4a, #087f8c) !important; padding: 19px clamp(16px, 4vw, 40px) !important; border-radius: 0 0 26px 26px !important; box-shadow: 0 10px 30px rgba(11, 67, 79, .18) !important; }
.header-content { max-width: 1440px; margin: auto; flex-direction: row !important; gap: 14px !important; }
.user-info { gap: 12px; }
.user-info > a { text-decoration: none; }
.user-avatar { width: 48px !important; height: 48px !important; margin: 0 !important; background: rgba(255,255,255,.15) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.32); }
.user-details { color: #fff; }
.user-details span:first-child { opacity: .76; font-size: 12px; }
.logout-btn { width: 42px !important; height: 42px !important; color: var(--advisor-deep) !important; border-radius: 14px !important; font-size: 21px !important; }
.advisor-install-button { display: inline-flex; align-items: center; gap: 7px; border: 1px solid rgba(255,255,255,.38); border-radius: 14px; padding: 10px 14px; background: rgba(255,255,255,.12); color: #fff; font-weight: 700; font-size: 13px; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.advisor-install-button:hover { background: rgba(255,255,255,.22); transform: translateY(-1px); }
.advisor-install-button span { font-size: 20px; line-height: 12px; }
.container.mt-3 { max-width: 1440px; padding-left: clamp(12px, 2vw, 24px); padding-right: clamp(12px, 2vw, 24px); }
.total-bar { top: 8px !important; z-index: 1050 !important; padding: 14px 18px !important; border: 1px solid rgba(225,233,235,.9) !important; border-radius: 18px !important; box-shadow: var(--advisor-shadow) !important; background: rgba(255,255,255,.94) !important; backdrop-filter: blur(12px); }
.total-bar .fw-bold { color: var(--advisor-ink); }
.total-bar .small { color: var(--advisor-muted) !important; }
#lblTotal { color: var(--advisor-teal); font-variant-numeric: tabular-nums; }
.btn-primary, .btn-danger { --bs-btn-bg: var(--advisor-teal); --bs-btn-border-color: var(--advisor-teal); --bs-btn-hover-bg: #066d78; --bs-btn-hover-border-color: #066d78; --bs-btn-active-bg: #055e68; --bs-btn-active-border-color: #055e68; border-radius: 11px !important; font-weight: 700 !important; }
#btnSubmit { margin: 10px auto 3px; padding: 12px 22px; border: 0 !important; border-radius: 13px !important; background: linear-gradient(120deg, #087f8c, #0c9a87) !important; box-shadow: 0 8px 18px rgba(8,127,140,.2); font-weight: 800; letter-spacing: .1px; }
#btnSubmit:hover { filter: brightness(.96); transform: translateY(-1px); }
.container.mb-2.mt-3.sticky-top { top: 90px !important; z-index: 1040 !important; display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) auto; gap: 10px; padding: 12px !important; border: 1px solid var(--advisor-line) !important; border-radius: 16px !important; box-shadow: 0 8px 20px rgba(19,57,70,.05); background: rgba(255,255,255,.96) !important; }
.form-control { min-height: 44px; border-radius: 11px !important; border-color: var(--advisor-line) !important; color: var(--advisor-ink) !important; box-shadow: none !important; }
.form-control:focus { border-color: #59aeb2 !important; box-shadow: 0 0 0 3px rgba(8,127,140,.12) !important; }
.dd-card { margin: 0 0 13px !important; padding: 18px !important; border: 1px solid var(--advisor-line) !important; border-radius: 18px !important; box-shadow: 0 6px 20px rgba(19,57,70,.055) !important; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important; }
.dd-card:hover { border-color: #c6dfe0 !important; box-shadow: 0 12px 28px rgba(19,57,70,.09) !important; transform: translateY(-1px) !important; }
.dd-header { padding-bottom: 11px; border-bottom: 1px solid #edf1f2; font-size: 14px !important; }
.dd-name { color: var(--advisor-deep) !important; font-size: 15px !important; }
.dd-name .fa-user { display: inline-flex; width: 31px; height: 31px; align-items: center; justify-content: center; border-radius: 10px; background: #e8f4f4; color: var(--advisor-teal); }
.dd-account { color: var(--advisor-muted) !important; font-size: 11px !important; }
.dd-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
.dd-body > small { grid-column: 1 / -1; margin-bottom: -7px; color: var(--advisor-muted) !important; }
.dd-value { color: #2e454e !important; font-size: 12px !important; overflow-wrap: anywhere; }
.dd-label { color: var(--advisor-muted) !important; font-size: 11px !important; }
.dd-total { color: var(--advisor-teal) !important; font-size: 17px !important; font-weight: 800 !important; }
.badge-route { border: 1px solid var(--advisor-line); border-radius: 9px; color: #49616a !important; font-weight: 700; }
.btn-circle { width: 36px !important; height: 36px !important; border-radius: 12px !important; font-size: 17px !important; }
.count { min-width: 34px !important; color: var(--advisor-deep); font-size: 15px !important; }
.advisor-loading { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; gap: 12px; opacity: 0; visibility: hidden; transition: opacity .16s ease, visibility .16s ease; pointer-events: none; }
.advisor-loading.is-visible { opacity: 1; visibility: visible; }
.advisor-loading::before { content: ""; position: absolute; inset: 0; background: rgba(18,59,74,.12); backdrop-filter: blur(2px); }
.advisor-loading > * { position: relative; }
.advisor-loading-label { padding: 12px 17px; border: 1px solid var(--advisor-line); border-radius: 14px; background: #fff; color: var(--advisor-deep); box-shadow: var(--advisor-shadow); font-size: 13px; font-weight: 700; }
.advisor-loading-spinner { width: 23px; height: 23px; border: 3px solid rgba(8,127,140,.18); border-top-color: var(--advisor-teal); border-radius: 50%; animation: advisor-spin .75s linear infinite; }
@keyframes advisor-spin { to { transform: rotate(360deg); } }
@media (min-width: 768px) { .dd-card { padding: 20px !important; } }
@media (max-width: 640px) {
  .dashboard-header { padding: 14px 16px !important; border-radius: 0 0 20px 20px !important; }
  .header-content { flex-direction: row !important; text-align: left !important; }
  .user-avatar { width: 42px !important; height: 42px !important; }
  .user-details span:nth-child(2) { font-size: 14px; }
  .advisor-install-button { padding: 9px 10px; font-size: 12px; }
  .logout-btn { width: 38px !important; height: 38px !important; }
  .total-bar { padding: 11px 12px !important; border-radius: 15px !important; }
  .total-bar .fs-5 { font-size: 1rem !important; }
  .container.mb-2.mt-3.sticky-top { top: 76px !important; grid-template-columns: 1fr auto; }
  .container.mb-2.mt-3.sticky-top #txtSearch { grid-column: 1 / -1; }
  .container.mb-2.mt-3.sticky-top #txtroute { grid-column: 1; }
  .container.mb-2.mt-3.sticky-top #btnrouteno { grid-column: 2; }
  .dd-card { padding: 14px !important; border-radius: 15px !important; }
  .dd-body { gap: 7px 11px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }

/* Dashboard presentation */
.advisor-dashboard-body { min-height: 100vh; padding: 0 !important; background: #f2f6f7 !important; }
.advisor-dashboard-header { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px clamp(16px, 4vw, 44px); color: #fff; background: linear-gradient(120deg,#123b4a,#087f8c); box-shadow: 0 8px 28px rgba(18,59,74,.14); }
.advisor-brand,.advisor-header-actions,.advisor-user-chip { display: flex; align-items: center; }
.advisor-brand { gap: 11px; } .advisor-brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 13px; background: rgba(255,255,255,.13); font-size: 19px; }
.advisor-brand-name { font-size: 17px; font-weight: 800; letter-spacing: .2px; } .advisor-brand-subtitle { color: rgba(255,255,255,.7); font-size: 11px; }
.advisor-header-actions { gap: 10px; } .advisor-user-chip { gap: 9px; margin-right: 8px; font-size: 12px; font-weight: 700; } .advisor-user-chip small { display: block; margin-top: 2px; color: rgba(255,255,255,.68); font-size: 10px; font-weight: 500; } .advisor-user-dot { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: rgba(255,255,255,.14); }
.advisor-logout-button { border: 1px solid rgba(255,255,255,.34); border-radius: 11px; padding: 9px 13px; background: rgba(255,255,255,.12); color: #fff; font-size: 12px; font-weight: 700; } .advisor-logout-button:hover { background: rgba(255,255,255,.2); }
.advisor-dashboard-frame { width: min(1500px,100%); min-height: calc(100vh - 78px); display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 26px; margin: auto; padding: 26px clamp(14px,3vw,38px) 40px; }
.advisor-sidebar { position: sticky; top: 20px; align-self: start; display: flex; flex-direction: column; gap: 7px; padding: 17px 12px; border: 1px solid #e1e9eb; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(19,57,70,.045); }
.advisor-sidebar-caption,.advisor-eyebrow { color: #84949a; font-size: 10px; font-weight: 800; letter-spacing: 1.1px; } .advisor-sidebar-caption { padding: 0 11px 8px; }
.advisor-nav-link { min-height: 43px; display: flex; align-items: center; gap: 11px; padding: 10px 11px; border-radius: 11px; color: #52666e; text-decoration: none; font-size: 12px; font-weight: 700; transition: background .18s,color .18s,transform .18s; } .advisor-nav-link > i:first-child { width: 17px; color: #7c9299; text-align: center; } .advisor-nav-link:hover,.advisor-nav-link.is-active { background: #eaf5f5; color: #087f8c; transform: translateX(2px); } .advisor-nav-link:hover > i:first-child,.advisor-nav-link.is-active > i:first-child { color: #087f8c; } .advisor-nav-arrow { margin-left: auto; font-size: 10px; }
.advisor-sidebar-note { display: flex; align-items: center; gap: 8px; margin: 18px 3px 0; padding: 12px 9px 2px; border-top: 1px solid #edf1f2; color: #8a9a9f; font-size: 10px; } .advisor-sidebar-note i { color: #087f8c; }
.advisor-dashboard-main { min-width: 0; } .advisor-welcome-panel { display: flex; align-items: center; justify-content: space-between; min-height: 152px; padding: 25px clamp(20px,4vw,40px); overflow: hidden; border-radius: 20px; background: linear-gradient(112deg,#fff 0%,#f4fbfb 100%); box-shadow: 0 8px 24px rgba(19,57,70,.045); } .advisor-welcome-panel h1 { margin: 7px 0 5px; color: #18323b; font-size: clamp(22px,3vw,29px); font-weight: 800; letter-spacing: -.6px; } .advisor-welcome-panel p { margin: 0; color: #71828a; font-size: 13px; } .advisor-welcome-icon { width: 80px; height: 80px; display: grid; place-items: center; border: 1px solid #d6eceb; border-radius: 24px; background: linear-gradient(145deg,#e5f4f2,#f5fbfa); color: #087f8c; font-size: 32px; transform: rotate(7deg); }
.advisor-section-block { margin-top: 27px; } .advisor-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 13px; } .advisor-section-heading h2 { margin: 4px 0 0; color: #18323b; font-size: 17px; font-weight: 800; } .advisor-section-hint,.advisor-chart-subtitle { color: #829198; font-size: 11px; }
.advisor-quick-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; } .advisor-stat-card { position: relative; min-height: 127px; display: flex; align-items: flex-start; gap: 12px; padding: 17px 14px; overflow: hidden; border: 1px solid #e1e9eb; border-radius: 16px; background: #fff; color: #18323b; text-decoration: none; box-shadow: 0 6px 18px rgba(19,57,70,.035); transition: transform .2s,box-shadow .2s,border-color .2s; } .advisor-stat-card:hover { transform: translateY(-3px); border-color: #c4dcde; box-shadow: 0 12px 26px rgba(19,57,70,.085); color: #18323b; } .advisor-stat-icon { width: 37px; height: 37px; flex: 0 0 37px; display: grid; place-items: center; border-radius: 12px; font-size: 15px; } .stat-teal .advisor-stat-icon { color:#087f8c;background:#e5f4f2; } .stat-blue .advisor-stat-icon { color:#4a76be;background:#edf2fb; } .stat-violet .advisor-stat-icon { color:#8065b7;background:#f2eef9; } .stat-amber .advisor-stat-icon { color:#b98027;background:#fbf3e5; } .advisor-stat-copy { min-width: 0; display: flex; flex-direction: column; } .advisor-stat-label { color: #62767e; font-size: 10px; font-weight: 700; line-height: 1.3; } .advisor-stat-copy strong { margin-top: 6px; color: #18323b; font-size: 20px; line-height: 1; } .advisor-stat-copy small { margin-top: 7px; color: #8b999e; font-size: 9px; } .advisor-card-arrow { position: absolute; top: 17px; right: 13px; color: #9caaae; font-size: 10px; }
.advisor-workflow-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; } .advisor-workflow-card { min-height: 84px; display: flex; align-items: center; gap: 13px; padding: 15px 17px; border: 1px solid #e1e9eb; border-radius: 15px; background: #fff; color: #18323b; text-decoration: none; box-shadow: 0 6px 18px rgba(19,57,70,.035); transition: transform .2s,box-shadow .2s,border-color .2s; } .advisor-workflow-card:hover { transform: translateY(-2px); border-color: #c4dcde; box-shadow: 0 12px 24px rgba(19,57,70,.08); color: #18323b; } .advisor-workflow-icon { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 13px; font-size: 17px; } .workflow-teal { background:#e5f4f2;color:#087f8c; } .workflow-blue { background:#edf2fb;color:#4a76be; } .advisor-workflow-card strong,.advisor-workflow-card small { display: block; } .advisor-workflow-card strong { font-size: 12px; } .advisor-workflow-card small { margin-top: 4px; color: #839197; font-size: 10px; } .advisor-workflow-arrow { margin-left: auto; color: #84949a; font-size: 12px; }
.advisor-chart-panel { margin-top: 27px; padding: 19px 21px 17px; border: 1px solid #e1e9eb; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(19,57,70,.045); scroll-margin-top: 18px; } .advisor-chart-panel .advisor-section-heading { align-items: center; } .advisor-chart-subtitle { margin: 5px 0 0; } .advisor-chart-pill { display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; border-radius: 10px; background: #eaf5f5; color: #087f8c; font-size: 10px; font-weight: 800; white-space: nowrap; } .advisor-chart-canvas { height: 250px; } .advisor-dashboard-footer { display: flex; justify-content: space-between; padding: 18px 3px 0; color: #91a0a5; font-size: 10px; }
@media(max-width:1050px) { .advisor-dashboard-frame { grid-template-columns: 190px minmax(0,1fr); gap: 17px; } .advisor-quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .advisor-dashboard-header { min-height: 67px; padding: 10px 13px; } .advisor-brand-mark { width: 37px;height:37px; } .advisor-brand-name { font-size:15px; } .advisor-brand-subtitle { font-size:9px; } .advisor-user-chip { display:none; } .advisor-header-actions { gap:7px; } .advisor-install-button { padding:8px 9px;font-size:10px; } .advisor-logout-button { padding:8px 9px;font-size:10px; } .advisor-dashboard-frame { display:block; padding: 15px 12px 30px; } .advisor-sidebar { position:static; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; margin-bottom:14px; padding:7px; border-radius:14px; } .advisor-sidebar-caption,.advisor-sidebar-note,.advisor-nav-arrow { display:none; } .advisor-nav-link { min-height:54px; flex-direction:column; justify-content:center; gap:4px; padding:5px 3px; text-align:center; font-size:9px; } .advisor-nav-link > i:first-child { width:auto; font-size:14px; } .advisor-nav-link:hover,.advisor-nav-link.is-active { transform:none; } .advisor-welcome-panel { min-height:130px; padding:19px; border-radius:17px; } .advisor-welcome-panel p { max-width:240px; font-size:11px; } .advisor-welcome-icon { width:58px;height:58px;border-radius:17px;font-size:24px; } .advisor-section-block,.advisor-chart-panel { margin-top:20px; } .advisor-section-heading h2 { font-size:15px; } .advisor-section-hint { display:none; } .advisor-quick-grid { gap:8px; } .advisor-stat-card { min-height:112px; gap:8px; padding:13px 10px; border-radius:13px; } .advisor-stat-icon { width:32px;height:32px;flex-basis:32px;border-radius:10px;font-size:13px; } .advisor-stat-label { max-width:92px; font-size:9px; } .advisor-stat-copy strong { font-size:18px; } .advisor-stat-copy small { font-size:8px; } .advisor-card-arrow { top:13px;right:10px;font-size:8px; } .advisor-workflow-grid { gap:8px; } .advisor-workflow-card { min-height:78px; gap:8px; padding:11px 9px; border-radius:13px; } .advisor-workflow-icon { width:35px;height:35px;flex:0 0 35px;border-radius:10px;font-size:14px; } .advisor-workflow-card strong { font-size:10px; } .advisor-workflow-card small { font-size:8px; } .advisor-chart-panel { padding:15px 12px 12px; border-radius:15px; } .advisor-chart-panel .advisor-section-heading { align-items:flex-start; } .advisor-chart-pill { padding:7px 8px;font-size:8px; } .advisor-chart-canvas { height:205px; } .advisor-dashboard-footer { font-size:9px; } }

/* Local icon fallback: keeps icons visible when Font Awesome CDN/font is unavailable */
i.fa-compass-drafting::before { content: "⌖" !important; }
i.fa-user::before { content: "👤" !important; }
i.fa-user-tie::before { content: "🧑‍💼" !important; }
i.fa-grid-2::before { content: "▦" !important; }
i.fa-money-bill-transfer::before { content: "₹" !important; }
i.fa-calendar-check::before, i.fa-calendar-days::before { content: "▣" !important; }
i.fa-chart-line::before, i.fa-chart-column::before, i.fa-chart-pie::before { content: "▥" !important; }
i.fa-shield-halved::before { content: "◆" !important; }
i.fa-list-check::before, i.fa-check::before { content: "✓" !important; }
i.fa-clock-rotate-left::before { content: "↻" !important; }
i.fa-arrow-up-right-from-square::before, i.fa-arrow-trend-up::before { content: "↗" !important; }
i.fa-arrow-down::before { content: "↓" !important; }
i.fa-pen-to-square::before { content: "✎" !important; }
i.fa-file-circle-check::before { content: "▤" !important; }
i.fa-arrow-right::before { content: "→" !important; }
i.fa-chevron-right::before { content: "›" !important; }
i.fa-check-double::before { content: "✓✓" !important; }
i.fa-power-off::before { content: "⏻" !important; }
body i[class*="fa-"]::before { font-family: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Noto Color Emoji", sans-serif !important; font-style: normal !important; font-weight: 700 !important; }

/* Upcoming maturity report */
.maturity-page { min-height:100vh; padding:0 !important; color:#18323b; background:#f2f6f7 !important; }
.maturity-header { display:flex; align-items:center; gap:16px; padding:21px clamp(16px,4vw,42px); color:#fff; background:linear-gradient(120deg,#123b4a,#087f8c); box-shadow:0 8px 28px rgba(18,59,74,.14); }
.maturity-back { min-height:42px;flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(255,255,255,.28);border-radius:13px;background:rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:11px;font-weight:700;white-space:nowrap; } .maturity-back:hover { background:rgba(255,255,255,.22);color:#fff; } .maturity-back svg { width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.maturity-title-block { min-width:0; } .maturity-title-block h1 { margin:4px 0 3px;color:#fff;font-size:clamp(20px,3vw,27px);font-weight:800;letter-spacing:-.4px; } .maturity-title-block p { margin:0;color:rgba(255,255,255,.72);font-size:12px; } .maturity-eyebrow { color:#91a3a8;font-size:9px;font-weight:800;letter-spacing:1.1px; } .maturity-header .maturity-eyebrow { color:rgba(255,255,255,.64); }
.maturity-header-actions { display:flex;align-items:center;gap:10px;margin-left:auto; } .maturity-advisor-chip { padding:9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:11px;background:rgba(255,255,255,.12);color:#fff;font-size:11px;font-weight:700; } .maturity-header .advisor-install-button { display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap; } .maturity-header .advisor-install-button svg { width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; } .maturity-header .advisor-install-button span { font-size:11px;line-height:normal; } .maturity-header-export { min-height:38px;padding:8px 12px; }
.maturity-content { width:min(1180px,100%);margin:0 auto;padding:24px clamp(12px,3vw,28px) 35px; }
.maturity-filter-panel,.maturity-results { padding:20px;border:1px solid #e1e9eb;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(19,57,70,.045); } .maturity-results { margin-top:18px; }
.maturity-filter-heading,.maturity-results-heading { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px; } .maturity-filter-heading h2,.maturity-results-heading h2 { margin:4px 0 0;color:#18323b;font-size:16px;font-weight:800; } .maturity-results-heading { align-items:center; }
.maturity-advisor-lock { display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;background:#eaf5f5;color:#087f8c;font-size:10px;font-weight:700;white-space:nowrap; } .maturity-advisor-lock svg { width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.maturity-filter-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px; } .maturity-field label { display:block;margin:0 0 6px;color:#60737b;font-size:10px;font-weight:700; } .maturity-field .form-control { min-height:43px;font-size:12px; }
.maturity-filter-actions { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px; } .maturity-message { color:#b23a48;font-size:11px;font-weight:700; } .maturity-action-buttons { display:flex;gap:8px;margin-left:auto; } .maturity-button { min-height:39px;padding:9px 14px;border:1px solid transparent;border-radius:11px;font-size:11px;font-weight:800;cursor:pointer;transition:filter .18s,transform .18s,box-shadow .18s; } .maturity-button:hover:not(:disabled) { filter:brightness(.97);transform:translateY(-1px); } .maturity-button:disabled { opacity:.45;cursor:not-allowed; } .maturity-button-primary { background:#087f8c;color:#fff;box-shadow:0 6px 14px rgba(8,127,140,.16); } .maturity-button-light { border-color:#e1e9eb;background:#fff;color:#52666e; } .maturity-button-export { border-color:#cbe6df;background:#edf8f4;color:#17805f;white-space:nowrap; }
.maturity-summary { display:block;margin-top:6px;color:#809097;font-size:11px; } .maturity-list { display:grid;gap:10px; } .maturity-record { padding:16px 17px;border:1px solid #e5ecee;border-radius:15px;background:#fff;transition:border-color .18s,box-shadow .18s; } .maturity-record:hover { border-color:#c7dfe0;box-shadow:0 8px 19px rgba(19,57,70,.06); } .maturity-record-top { display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid #edf1f2; } .maturity-member { min-width:0;display:flex;align-items:center;gap:10px; } .maturity-member-icon { width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:11px;background:#e8f4f4;color:#087f8c; } .maturity-member-icon svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; } .maturity-member h3 { margin:0;color:#18323b;font-size:13px;font-weight:800;overflow-wrap:anywhere; } .maturity-member span:not(.maturity-member-icon) { display:block;margin-top:3px;color:#829198;font-size:10px; } .maturity-date-chip { min-width:125px;padding:8px 11px;border-radius:11px;background:#f0f8f7;text-align:right; } .maturity-date-chip small,.maturity-date-chip strong { display:block; } .maturity-date-chip small { color:#7b9096;font-size:9px; } .maturity-date-chip strong { margin-top:3px;color:#087f8c;font-size:12px; }
.maturity-details-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;padding-top:13px; } .maturity-details-grid > div { min-width:0; } .maturity-details-grid span,.maturity-details-grid strong { display:block;overflow-wrap:anywhere; } .maturity-details-grid span { margin-bottom:4px;color:#87969b;font-size:9px; } .maturity-details-grid strong { color:#314a53;font-size:11px;font-weight:700; }
.maturity-empty { display:flex;flex-direction:column;align-items:center;gap:6px;padding:42px 12px;border:1px dashed #d6e2e5;border-radius:15px;background:#fbfdfd;color:#71828a;text-align:center; } .maturity-empty-icon { width:44px;height:44px;display:grid;place-items:center;margin-bottom:5px;border-radius:14px;background:#edf5f5;color:#087f8c;font-size:18px; } .maturity-empty-icon svg { width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; } .maturity-empty strong { color:#18323b;font-size:13px; } .maturity-empty span { font-size:11px; }
.maturity-pager { display:flex;align-items:center;justify-content:center;gap:13px;margin-top:16px; } .maturity-page-info { min-width:90px;color:#71828a;font-size:10px;font-weight:700;text-align:center; } .maturity-footer { display:flex;justify-content:space-between;margin-top:16px;padding:0 3px;color:#91a0a5;font-size:10px; } .maturity-footer a { color:#087f8c;text-decoration:none;font-weight:700; }
@media(max-width:760px) { .maturity-header { flex-wrap:wrap;gap:11px;padding:15px 13px; } .maturity-back { min-height:38px;padding:0 10px; } .maturity-title-block { flex:1; } .maturity-title-block p { font-size:10px; } .maturity-header-actions { width:100%;justify-content:flex-end;flex-wrap:wrap;margin-left:0; } .maturity-advisor-chip { max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; } .maturity-content { padding:13px 10px 25px; } .maturity-filter-panel,.maturity-results { padding:14px 12px;border-radius:15px; } .maturity-filter-heading,.maturity-results-heading { align-items:flex-start; } .maturity-filter-heading { flex-direction:column; } .maturity-filter-heading h2,.maturity-results-heading h2 { font-size:14px; } .maturity-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; } .maturity-filter-actions { align-items:stretch;flex-direction:column; } .maturity-action-buttons { width:100%;margin:0; } .maturity-action-buttons .maturity-button { flex:1;padding:9px 7px; } .maturity-results-heading { flex-direction:column; } .maturity-record { padding:13px;border-radius:13px; } .maturity-record-top { align-items:flex-start; } .maturity-member h3 { font-size:12px; } .maturity-date-chip { min-width:104px;padding:7px 8px; } .maturity-date-chip strong { font-size:10px; } .maturity-details-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px; } .maturity-pager { gap:8px; } .maturity-pager .maturity-button { padding:8px 9px;font-size:10px; } .maturity-footer { font-size:9px; } }
@media(max-width:380px) { .maturity-title-block h1 { font-size:18px; } .maturity-advisor-chip { font-size:9px; } .maturity-back { font-size:10px; } .maturity-date-chip { min-width:93px; } }

/* Fresh/Renewal business detail report */
.business-report-header { align-items:center; }
.business-report-header .maturity-title-block h1 { font-size:clamp(18px,2.8vw,25px); }
.business-report-content { max-width:1440px; }
.business-scope-row { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid #edf1f2; }
.business-scope-row h2 { margin:4px 0 0;color:#18323b;font-size:15px;font-weight:800; }
.business-scope-options { display:flex;align-items:center;gap:14px;padding:9px 12px;border:1px solid #e1e9eb;border-radius:12px;background:#fbfdfd; }
.business-scope-options label { display:inline-flex;align-items:center;gap:6px;margin:0;color:#52666e;font-size:11px;font-weight:700;cursor:pointer; }
.business-scope-options input[type=radio] { accent-color:#087f8c; }
.business-scope-note { margin-left:4px;padding-left:12px;border-left:1px solid #e1e9eb;color:#829198;font-size:10px; }
.business-filter-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.business-report-summary { display:flex;align-items:center;gap:12px;margin-bottom:15px; }
.business-report-summary > div:first-child { min-width:0;margin-right:auto; }
.business-report-summary h2 { margin:4px 0 0;color:#18323b;font-size:16px;font-weight:800; }
.business-total-box { min-width:180px;padding:9px 12px;border:1px solid #dcebe8;border-radius:12px;background:#f2faf8; }
.business-total-box span,.business-total-box strong { display:block; }
.business-total-box span { color:#71828a;font-size:9px;font-weight:700; }
.business-total-box strong { margin-top:4px;color:#087f8c;font-size:16px; }
.business-export-button { min-height:40px; }
.business-table-scroll { overflow:auto;border:1px solid #e3eaec;border-radius:12px; }
.business-table { width:100%;min-width:1280px;border-collapse:separate;border-spacing:0;background:#fff; }
.business-table th { position:sticky;top:0;padding:11px 10px;background:#eff6f5;color:#476067;font-size:10px;font-weight:800;text-align:left;white-space:nowrap; }
.business-table td { padding:10px;border-top:1px solid #edf1f2;color:#314a53;font-size:10px;white-space:nowrap; }
.business-table tbody tr:hover { background:#f8fbfb; }
.business-table .business-amount { color:#087f8c;font-weight:800; }
.business-type { display:inline-flex;align-items:center;padding:5px 8px;border-radius:20px;font-size:9px;font-weight:800; }
.business-type-fresh { background:#eaf6ef;color:#23804c; }
.business-type-renewal { background:#eef2fb;color:#596da8; }
.business-mobile-list { display:none; }
.business-mobile-card { margin-bottom:10px;padding:13px;border:1px solid #e3eaec;border-radius:14px;background:#fff; }
.business-mobile-card-head { display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #edf1f2; }
.business-mobile-kicker,.business-mobile-member { display:block;color:#829198;font-size:9px; }
.business-mobile-card-head strong { display:block;margin-top:3px;color:#18323b;font-size:12px;overflow-wrap:anywhere; }
.business-mobile-member { margin-top:4px;font-size:10px; }
.business-mobile-amount { display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf1f2; }
.business-mobile-amount span,.business-mobile-grid span { color:#829198;font-size:9px; }
.business-mobile-amount strong { color:#087f8c;font-size:13px; }
.business-mobile-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:10px; }
.business-mobile-grid > div { min-width:0; }
.business-mobile-grid strong { display:block;margin-top:3px;color:#314a53;font-size:10px;overflow-wrap:anywhere; }
@media(max-width:900px) {
    .business-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .business-desktop-table { display:none; }
    .business-mobile-list { display:block; }
}
@media(max-width:700px) {
    .business-scope-row { align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:13px; }
    .business-scope-options { width:100%;justify-content:flex-start;gap:12px;padding:8px 9px; }
    .business-scope-note { margin-left:auto;padding-left:9px;font-size:9px; }
    .business-report-summary { align-items:stretch;flex-wrap:wrap; }
    .business-report-summary > div:first-child { flex-basis:100%; }
    .business-total-box { flex:1;min-width:130px; }
    .business-export-button { flex:1; }
}
@media(max-width:380px) {
    .business-scope-options { gap:8px; }
    .business-scope-options label { font-size:10px; }
    .business-scope-note { max-width:112px; }
    .business-filter-grid { gap:9px; }
}

/* Due installment detail report */
.due-report-header { align-items:center; }
.due-report-content { width:min(1440px,100%);max-width:1440px; }
.due-filter-grid { grid-template-columns:repeat(4,minmax(0,1fr));gap:11px 12px; }
.due-filter-grid .maturity-field label { margin-bottom:5px;font-size:10px; }
.due-filter-grid .form-control { width:100%;height:38px;min-height:38px;padding:6px 10px;font-size:11px; }
.due-results-head { display:flex;align-items:center;gap:12px;margin-bottom:15px; }
.due-results-head > div:first-child { min-width:190px;margin-right:auto; }
.due-results-head h2 { margin:4px 0 0;color:#18323b;font-size:16px;font-weight:800; }
.due-summary-cards { display:flex;gap:8px; }
.due-summary-card { min-width:116px;padding:9px 11px;border:1px solid #e1e9eb;border-radius:12px;background:#fbfdfd; }
.due-summary-card span,.due-summary-card strong { display:block; }
.due-summary-card span { color:#71828a;font-size:9px;font-weight:700; }
.due-summary-card strong { margin-top:4px;color:#18323b;font-size:14px;font-weight:800; }
.due-summary-money { border-color:#dcebe8;background:#f2faf8; }
.due-summary-money strong { color:#087f8c; }
.due-export-button { min-height:40px;white-space:nowrap; }
.due-table { min-width:1500px; }
.due-table th,.due-table td { padding:9px 8px;font-size:9px; }
.due-table td { white-space:normal; }
.due-table td:nth-child(1),.due-table td:nth-child(4),.due-table td:nth-child(5),.due-table td:nth-child(6),.due-table td:nth-child(9),.due-table td:nth-child(10),.due-table td:nth-child(12),.due-table td:nth-child(14) { white-space:nowrap; }
.due-count-chip { display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:5px 8px;border:1px solid #f0dfbd;border-radius:20px;background:#fff7e8;color:#a8690a;font-size:10px;font-weight:800;white-space:nowrap; }
.due-money { color:#b56a16 !important;font-weight:800;white-space:nowrap !important; }
.due-desktop-table { display:none !important; }
.due-mobile-list { display:block; }
.due-record-list { display:grid;gap:10px; }
.due-mobile-card { padding:15px 17px; }
.due-card-highlight { min-width:145px;padding:8px 11px;border:1px solid #f0dfbd;border-radius:11px;background:#fff8ec;text-align:right; }
.due-card-highlight small,.due-card-highlight strong,.due-card-highlight span { display:block; }
.due-card-highlight small { color:#9b825c;font-size:9px; }
.due-card-highlight strong { margin-top:3px;color:#ad6812;font-size:13px; }
.due-card-highlight span { margin-top:3px;color:#a17b43;font-size:9px; }
.due-details-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.due-details-grid > div:last-child strong { color:#087f8c; }
@media(max-width:760px) {
    .due-report-header { flex-wrap:wrap;gap:11px;padding:15px 13px; }
    .due-report-header .maturity-title-block { flex:1; }
    .due-report-header .maturity-header-actions { width:100%;justify-content:flex-end;flex-wrap:wrap;margin-left:0; }
    .due-report-content { padding:13px 10px 25px; }
    .due-report-content .maturity-filter-panel,.due-report-content .maturity-results { padding:14px 12px;border-radius:15px; }
    .due-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
    .due-results-head { align-items:stretch;flex-wrap:wrap; }
    .due-results-head > div:first-child { flex-basis:100%; }
    .due-summary-cards { flex:1; }
    .due-summary-card { flex:1;min-width:0; }
    .due-export-button { flex:1; }
}
@media(max-width:380px) {
    .due-filter-grid { gap:8px; }
    .due-filter-grid .maturity-field label { font-size:9px; }
    .due-mobile-card { padding:12px; }
    .due-details-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px; }
    .due-card-highlight { min-width:110px;padding:7px 8px; }
    .due-card-highlight strong { font-size:11px; }
}

/* Fresh/Renewal report — maturity-style cards at every screen size */
.business-report-page .business-filter-grid { grid-template-columns:repeat(4,minmax(0,1fr));gap:11px 12px; }
.business-report-page .business-filter-grid .form-control,
.business-report-page .business-filter-grid .form-select { width:100%;height:40px;min-height:40px;padding:6px 10px;font-size:11px; }
.business-report-page .business-desktop-table { display:none !important; }
.business-report-page .business-mobile-list { display:block; }
.fr-business-list { display:grid;gap:10px; }
.fr-business-record { padding:15px 17px; }
.fr-business-amount { display:flex;align-items:center;justify-content:space-between;margin:11px 0 0;padding:9px 11px;border:1px solid #dcebe8;border-radius:11px;background:#f2faf8; }
.fr-business-amount span { color:#71828a;font-size:10px;font-weight:700; }
.fr-business-amount strong { color:#087f8c;font-size:14px;font-weight:800; }
.fr-business-details { grid-template-columns:repeat(4,minmax(0,1fr));padding-top:12px; }
.fr-business-details > div { min-width:0; }
.fr-business-details strong { overflow-wrap:anywhere; }
.business-report-page .business-report-summary { gap:10px; }
@media(max-width:900px) {
    .business-report-page .business-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .fr-business-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
    .business-report-page .business-scope-row { align-items:flex-start;flex-direction:column;gap:9px; }
    .business-report-page .business-scope-options { width:100%; }
    .business-report-page .business-report-summary { align-items:stretch; }
    .fr-business-record { padding:13px; }
    .fr-business-details { gap:10px 12px; }
}

/* Advisor sign-in page */
.login-page { min-height:100vh;display:grid;place-items:center;padding:30px 20px calc(30px + env(safe-area-inset-bottom)) !important;background:radial-gradient(ellipse at 12% 10%,#e4f2f1 0,transparent 34%),linear-gradient(145deg,#f3f7f8,#edf3f4) !important;color:#18323b; }
.login-page-shell { width:min(1120px,100%);min-height:650px;display:grid;grid-template-columns:1.03fr .97fr;overflow:hidden;border:1px solid rgba(220,232,234,.9);border-radius:28px;background:#fff;box-shadow:0 28px 80px rgba(18,59,74,.14); }
.login-welcome { position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;padding:38px clamp(30px,5vw,62px) 28px;background:linear-gradient(145deg,#123b4a 0%,#075f6a 55%,#087f8c 100%);color:#fff; }
.login-welcome:before,.login-welcome:after { position:absolute;z-index:-1;content:"";border:1px solid rgba(255,255,255,.11);border-radius:50%;pointer-events:none; }
.login-welcome:before { width:430px;height:430px;right:-205px;top:85px;box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 75px rgba(255,255,255,.02); }
.login-welcome:after { width:180px;height:180px;left:-110px;bottom:55px;background:rgba(255,255,255,.025); }
.login-brand-lockup,.login-mobile-brand { display:flex;align-items:center;gap:11px; }
.login-brand-lockup .login-brand-mark,.login-mobile-brand .login-brand-mark { width:43px;height:43px;display:grid;place-items:center;margin:0;border:1px solid rgba(255,255,255,.25);border-radius:14px;background:rgba(255,255,255,.13);box-shadow:none; }
.login-brand-mark svg { width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round; }
.login-brand-lockup strong,.login-mobile-brand strong { display:block;color:inherit;font-size:13px;font-weight:900;letter-spacing:1.5px; }
.login-brand-lockup small,.login-mobile-brand small { display:block;margin-top:3px;color:rgba(255,255,255,.66);font-size:8px;font-weight:700;letter-spacing:1.35px; }
.login-welcome-copy { max-width:450px;margin:auto 0 30px;padding-top:55px; }
.login-kicker { display:inline-flex;align-items:center;gap:9px;color:#a9e0d9;font-size:9px;font-weight:900;letter-spacing:1.6px; }
.login-kicker:before { width:20px;height:2px;background:#7cd0c4;content:""; }
.login-welcome-copy h1 { max-width:440px;margin:15px 0 13px;color:#fff;font-size:clamp(30px,4vw,46px);font-weight:800;letter-spacing:-1.4px;line-height:1.08; }
.login-welcome-copy p { max-width:405px;margin:0;color:rgba(255,255,255,.72);font-size:13px;line-height:1.8; }
.login-feature-list { display:grid;gap:17px;margin:0 0 35px; }
.login-feature-list > div { display:flex;align-items:center;gap:12px; }
.login-feature-icon { width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:rgba(255,255,255,.09);color:#b1e8de; }
.login-feature-icon svg { width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.login-feature-list strong,.login-feature-list small { display:block; }
.login-feature-list strong { color:#fff;font-size:11px;font-weight:800; }
.login-feature-list small { margin-top:3px;color:rgba(255,255,255,.58);font-size:9px; }
.login-welcome-footer { display:flex;align-items:center;gap:7px;padding-top:14px;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.6);font-size:9px; }
.login-status-dot { width:6px;height:6px;border-radius:50%;background:#77d6b4;box-shadow:0 0 0 4px rgba(119,214,180,.12); }
.login-footer-separator { opacity:.5; }
.login-panel { display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,62px);background:#fff; }
.login-mobile-brand { display:none; }
.login-card { width:100%;max-width:390px;margin:0 auto;border:0;background:transparent;box-shadow:none !important; }
.login-card-eyebrow { display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#087f8c;font-size:9px;font-weight:900;letter-spacing:1.4px; }
.login-eyebrow-line { width:18px;height:2px;border-radius:2px;background:#087f8c; }
.login-card h2 { margin:0;color:#18323b;font-size:30px;font-weight:800;letter-spacing:-.8px; }
.login-card-subtitle { margin:7px 0 29px;color:#71828a;font-size:12px; }
.login-field { margin-bottom:18px; }
.login-field > label { display:block;margin:0 0 7px;color:#415860;font-size:10px;font-weight:800; }
.login-input-wrap { position:relative; }
.login-input-wrap > svg { position:absolute;z-index:1;top:50%;left:14px;width:18px;height:18px;transform:translateY(-50%);fill:none;stroke:#82949a;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none; }
.login-input-wrap .login-input { width:100%;height:48px;min-height:48px;padding:10px 13px 10px 43px;border:1px solid #dce6e8;border-radius:12px;background:#fbfdfd;color:#18323b;font-size:12px;box-shadow:none; }
.login-input-wrap .login-input::placeholder { color:#a1adb1; }
.login-input-wrap .login-input:focus { border-color:#55aeb1;background:#fff;box-shadow:0 0 0 4px rgba(8,127,140,.1); }
.login-submit { width:100%;height:48px;margin-top:5px;border:0;border-radius:12px;background:linear-gradient(110deg,#087f8c,#0a9a87);color:#fff;font-size:12px;font-weight:800;letter-spacing:.2px;box-shadow:0 9px 18px rgba(8,127,140,.2);transition:transform .18s,box-shadow .18s,filter .18s; }
.login-submit:hover,.login-submit:focus { background:linear-gradient(110deg,#076f7b,#088a79);color:#fff;transform:translateY(-1px);box-shadow:0 12px 22px rgba(8,127,140,.24); }
.login-security-note { display:flex;align-items:center;justify-content:center;gap:7px;margin-top:18px;color:#839399;font-size:9px; }
.login-security-note svg { width:14px;height:14px;fill:none;stroke:#1a9a77;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.login-install-area { width:100%;max-width:390px;margin:22px auto 0;text-align:center; }
.login-install-button { display:none;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;border:1px solid #d5e8e3;border-radius:11px;background:#f2faf7;color:#197b62;font-size:10px;font-weight:800; }
.login-install-button.is-visible { display:inline-flex; }
.login-install-button svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.install-help { display:none;margin-top:9px;color:#71828a;font-size:10px;line-height:1.5; }
.install-help.is-visible { display:block; }
.login-panel-footer { margin-top:35px;color:#a0adb1;font-size:9px;text-align:center; }
@media(max-width:900px) {
    .login-page-shell { width:min(680px,100%);min-height:0;grid-template-columns:1fr; }
    .login-welcome { padding:26px 30px 20px; }
    .login-welcome-copy { max-width:550px;margin:31px 0 22px;padding:0; }
    .login-welcome-copy h1 { max-width:520px;margin:11px 0 8px;font-size:31px; }
    .login-welcome-copy p { max-width:500px;font-size:11px; }
    .login-feature-list { grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px; }
    .login-feature-list > div { align-items:flex-start;gap:8px; }
    .login-feature-icon { width:30px;height:30px;flex-basis:30px;border-radius:9px; }
    .login-feature-list strong { font-size:9px; }
    .login-feature-list small { font-size:8px; }
    .login-panel { padding:30px; }
    .login-panel-footer { margin-top:23px; }
}
@media(max-width:560px) {
    .login-page { display:block;padding:0 0 env(safe-area-inset-bottom) !important;background:#fff !important; }
    .login-page-shell { width:100%;min-height:100vh;grid-template-columns:1fr;border:0;border-radius:0;box-shadow:none; }
    .login-welcome { min-height:205px;padding:22px 22px 20px;border-radius:0 0 24px 24px; }
    .login-brand-lockup .login-brand-mark { width:37px;height:37px;border-radius:12px; }
    .login-brand-mark svg { width:24px;height:24px; }
    .login-welcome-copy { margin:24px 0 0; }
    .login-kicker { font-size:8px; }
    .login-welcome-copy h1 { max-width:340px;margin:9px 0 6px;font-size:26px;letter-spacing:-.7px; }
    .login-welcome-copy p { max-width:350px;font-size:10px;line-height:1.55; }
    .login-feature-list,.login-welcome-footer { display:none; }
    .login-panel { justify-content:flex-start;padding:28px 22px 24px; }
    .login-card { max-width:440px; }
    .login-card h2 { font-size:27px; }
    .login-card-subtitle { margin-bottom:24px; }
    .login-field { margin-bottom:16px; }
    .login-input-wrap .login-input { height:47px;min-height:47px; }
    .login-submit { height:48px; }
    .login-panel-footer { margin-top:auto;padding-top:34px; }
}
