/* Selected Fresh Landscape theme. Screen-only: official PDFs and printed
   reports retain their existing, independently reviewed document layouts. */
@media screen {
  :root {
    --ink: #075072;
    --muted: #46677d;
    --line: #bce4ed;
    --canvas: #effcfc;
    --radius: 10px;
    --sidebar: 226px;
    --context: 264px;
    --shadow: 0 8px 24px rgba(7,114,139,.09);
    --soft-shadow: 0 2px 8px rgba(7,114,139,.05);
    --green-action-end: #02b574;
    --blue-action-end: #009eae;
  }
  body {
    background: #f3fcfd;
    color: var(--ink);
  }
  .app-shell { grid-template-rows: auto 1fr auto; }
  .topbar {
    display: grid;
    grid-template-columns: 245px minmax(810px, auto) minmax(180px,1fr);
    grid-template-rows: 34px 110px;
    gap: 0;
    padding: 0;
    position: relative;
    color: #075072;
    border-bottom: 1px solid #98dce8;
    background: linear-gradient(120deg,#f2fcff,#e1f7ff 60%,#f5fff1);
    box-shadow: none;
  }
  .desktop-titlebar {
    align-self: stretch;
    grid-column: 1 / -1;
    grid-row: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 3px 12px;
    background: linear-gradient(90deg,#b6e9f9,#e0f6ff);
    border-bottom: 1px solid #fff;
    color: #064869;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
  }
  .desktop-titlebar > span:first-child { display: flex; align-items: center; gap: 6px; min-width: 0; max-width: calc(100% - 490px); overflow: hidden; white-space: nowrap; }
  .desktop-titlebar img { width: 19px; height: 19px; object-fit: contain; }
  .desktop-edition { display: none; }
  .brand { grid-row: 2; grid-column: 1; padding: 10px 16px; gap: 12px; border-right: 1px solid #b9ddea; }
  .brand img { width: 76px; height: 76px; padding: 0; border-radius: 0; object-fit: contain; background: transparent; }
  .brand strong { color: #005c7c; font-family: Tahoma, sans-serif; font-size: 32px; font-weight: 700; line-height: 1; }
  .brand small { color: #065c81; font-size: 18px; line-height: 1.15; margin-top: 6px; }
  .desktop-ribbon { align-self: stretch; grid-row: 2; grid-column: 2; display: flex; align-items: center; min-width: 0; padding: 9px 7px; }
  .ribbon-button {
    flex: 1 1 0;
    min-width: 0;
    height: 88px;
    padding: 8px 6px 5px;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 5px;
    color: #085c7f;
    border: 1px solid transparent;
    border-right-color: #b9dfea;
    border-radius: 0;
    background: transparent;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.15;
    white-space: normal;
  }
  .ribbon-button:last-child { border-right-color: transparent; }
  .ribbon-button[data-screen="39"] > span { white-space:nowrap; }
  .ribbon-button.active { border-color: #a7eaf5; border-radius: 7px; background: linear-gradient(#bceef8,#d9faff); }
  .ribbon-button:hover:not(:disabled) { background: #d6f7ff; border-radius: 7px; }
  .theme-icon { width: 38px; height: 38px; display: inline-block; flex: none; filter: drop-shadow(0 2px 1px rgba(2,80,104,.12)); }
  .ribbon-button .theme-icon { width: 39px; height: 39px; }
  .ribbon-landscape {
    position: relative;
    align-self: stretch;
    grid-row: 2;
    grid-column: 3;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 14px 22px;
    overflow: hidden;
    /* The reference crop preserves its houses; the separate, text-free
       panorama fills wider ribbons without stretching the small crop. */
    background:
      linear-gradient(90deg,transparent 20%,rgba(235,255,248,.18) 45%,rgba(238,255,248,.78) 100%),
      url("assets/fresh-landscape.png") center 63% / cover no-repeat;
  }
  .ribbon-landscape::before { content: ''; pointer-events: none; position: absolute; inset: 0 auto 0 0; width: 285px; max-width: 100%; background: url("assets/fresh-ribbon-countryside.png") left center / auto 100% no-repeat; mask-image: linear-gradient(90deg,#000 58%,transparent 100%); }
  .ribbon-landscape span { position: relative; z-index: 1; color: #075a5f; font-size: 27px; line-height: 1.1; font-weight: 700; font-style: italic; text-align: right; text-shadow: 0 1px 4px #fff,0 0 10px #fff; }
  .topbar-actions {
    grid-column: 2 / -1;
    grid-row: 1;
    z-index: 1;
    justify-self: end;
    min-height: 34px;
    justify-content: flex-end;
    padding: 0 8px;
    border: 0;
    background: transparent;
  }
  .topbar-actions .online-badge { display: none; }
  .online-badge { margin-right: auto; color: #076945; border: 1px solid #bee8d7; background: #f0fff8; padding: 3px 10px; font-size: 17px; }
  .context-toggle,.icon-button,.profile-button { color: #085575; border: 1px solid #baddE8; background: #f6fdff; border-radius: 6px; }
  .context-toggle { min-height: 32px; font-size: 18px; }
  .icon-button { height: 32px; width: 36px; line-height: 1; }
  .profile-button { min-width: 140px; padding: 2px 8px; gap: 7px; }
  .profile-button small { color: #446e85; font-size: 15px; }
  .profile-button strong { font-size: 18px; }
  .topbar-actions .profile-button { height: 30px; min-height: 30px; padding: 0 8px; }
  .topbar-actions .profile-button > span:last-child { display: flex; align-items: center; gap: 7px; }
  .avatar { width: 28px; height: 28px; color: white; background: linear-gradient(#12b6c8,#0787ae); }
  .context-toggle:hover,.icon-button:hover,.profile-button:hover { background: #d9f7ff; }
  .workspace {
    grid-template-columns: var(--sidebar) minmax(0,1fr) var(--context);
    padding: 0 12px 14px 0;
    gap: 12px;
    background:
      radial-gradient(ellipse at 93% 0,rgba(175,234,97,.22),transparent 29%),
      radial-gradient(ellipse at 58% 100%,rgba(111,218,202,.22),transparent 38%),
      linear-gradient(135deg,#f2fdff,#f5fff3 80%);
  }
  .workspace.context-collapsed { grid-template-columns: var(--sidebar) minmax(0,1fr); }
  .sidebar {
    border: 0;
    border-right: 1px solid #b0e0e7;
    border-radius: 0;
    background: linear-gradient(180deg,#f8fcff,#f0faff 63%,#edfff3);
    color: #13597c;
    min-height: calc(100vh - 190px);
    box-shadow: none;
  }
  .current-area { padding: 10px 13px; gap: 2px; border-bottom: 1px solid #b7e3eb; background: linear-gradient(100deg,#007b83,#00818a); color: white; }
  .current-area .eyebrow { color: white; font-size: 21px; letter-spacing: 0; }
  .current-area strong { font-size: 19px; }
  .current-area span:last-child { color: #f2ffff; font-size: 17px; }
  .main-nav { gap: 1px; padding: 6px 6px; }
  .nav-tree-group { min-width: 0; }
  .nav-tree-root { display: flex; align-items: center; min-width: 0; }
  .nav-tree-root .nav-button { flex: 1; min-width: 0; padding-left: 4px; }
  .nav-tree-toggle,.nav-tree-spacer { width: 19px; flex: none; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: #2a638b; font-size: 18px; min-height: 32px; }
  .nav-tree-toggle:hover { color: #008cbc; background: #d8f2fa; }
  .nav-tree-children { margin: 1px 0 5px 27px; padding-left: 6px; border-left: 1px dashed #b3d5e3; display: grid; gap: 0; }
  .nav-tree-children .nav-button { position: relative; font-size: 19px; min-height: 31px; padding: 3px 5px; }
  .nav-tree-children .nav-button::before { position: absolute; content: ''; width: 5px; border-top: 1px dashed #b3d5e3; left: -7px; }
  .nav-tree-children .nav-icon,.nav-tree-children .theme-icon { width: 20px; height: 21px; }
  .nav-scroll-hint { display: none; }
  .nav-button { min-height: 38px; padding: 5px 8px; gap: 8px; border: 1px solid transparent; border-radius: 5px; color: #1b527a; background: transparent; font-size: 21px; line-height: 1.15; }
  .nav-button:hover:not(:disabled) { background: #e0f6ff; border-color: #c1e9f8; }
  .nav-button.active { color: white; border-color: #0397fb; background: linear-gradient(100deg,#008df7,#18a4ff); box-shadow: 0 3px 7px #a9e1f6; }
  .nav-button.active .theme-icon { filter: brightness(0) invert(1); }
  .nav-icon { width: 24px; height: 26px; background: transparent; border: 0; flex: none; }
  .nav-icon .theme-icon { width: 25px; height: 25px; }
  .sidebar-illustration {
    margin: auto 0 0;
    min-height: 235px;
    border: 0;
    border-radius: 0;
    background:
      linear-gradient(180deg,#f1fcff 0%,rgba(241,252,255,.75) 20%,transparent 58%),
      url("assets/fresh-sidebar-countryside.png") center bottom / 100% auto no-repeat,
      url("assets/fresh-landscape.png") center bottom / auto 100% no-repeat;
    position: relative;
    overflow: hidden;
  }
  .sidebar-illustration small { display: block; position: relative; top: 15px; color: #176c72; font-size: 25px; line-height: 1.25; font-weight: 700; font-style: italic; text-align: center; padding: 8px; text-shadow: 0 1px 4px white; }
  .sidebar-illustration::before,.sidebar-illustration::after { display: none; }
  .page-content { min-width: 0; padding-top: 12px; }
  .page-shell { gap: 12px; }
  .page-heading { padding: 8px 16px; min-height: 105px; border-radius: 9px; box-shadow: none; border: 1px solid #ceeff0; background: linear-gradient(100deg,#fff 45%,#f1fff1); gap: 14px; }
  .page-heading::after { width: 160px; height: 110px; right: 0; bottom: 0; border: 0; border-radius: 0; opacity: .48; background: url("assets/fresh-leaves.svg") bottom right / contain no-repeat; }
  .heading-copy { min-width: 0; }
  .page-heading .eyebrow { display: none; }
  .page-heading h1 { display: flex; align-items: center; gap: 12px; font-size: 51px; line-height: 1.15; color: #064e70; -webkit-text-stroke: .45px currentColor; }
  .page-heading h1 > span { min-width: 0; overflow-wrap: anywhere; }
  .page-heading h1 .theme-icon { width: 48px; height: 48px; }
  .page-heading p { color: #08779b; font-size: 22px; }
  .heading-actions { flex-wrap: wrap; justify-content: flex-end; flex-shrink: 0; max-width: 45%; }
  .context-panel { margin-top: 12px; min-height: 0; align-self: start; border-radius: 9px; }
  .context-panel > header { border-bottom: 1px solid #91d9e0; background: linear-gradient(100deg,#007b83,#00818a); padding: 12px; }
  .context-body { padding: 12px; }
  .context-item { border-bottom-color: #d8edf1; }
  [data-theme-section="payment"] .context-panel::after,[data-theme-section="pdf"] .context-panel::after { content: ""; display: block; height: 150px; margin: 6px 10px 14px; background: url("assets/fresh-bank-documents.png") center / contain no-repeat; }
  [data-theme-section="payment"] .page-heading,[data-theme-section="pdf"] .page-heading { padding-right: 145px; }
  [data-theme-section="payment"] .page-heading::after,[data-theme-section="pdf"] .page-heading::after { background-image: url("assets/fresh-bank-documents.png"); width: 140px; height: 110px; opacity: 1; }
  .panel,.page-card,.hero-card,.survey-card,.register-card { border-radius: 10px; border-color: #b5e4ed; box-shadow: 0 2px 6px rgba(6,114,137,.04); }
  .panel-header {
    position: relative;
    padding: 10px 14px;
    min-height: 51px;
    border-bottom: 1px solid #d4edf2;
    background: linear-gradient(100deg,#fff,#f5fff4);
  }
  .panel-header::after { content: ""; position: absolute; pointer-events: none; right: 0; top: 0; width: 85px; height: 100%; background: url("assets/fresh-leaves.svg") right center / 88px no-repeat; opacity: .22; }
  .panel-header > * { position: relative; z-index: 1; }
  .panel-header h2,.panel-header h3 { color: #075477; font-size: 31px; -webkit-text-stroke: .3px currentColor; }
  .panel-header h2::before,.panel-header h3::before { content: ""; display: inline-block; width: 6px; height: 21px; border-radius: 2px; margin-right: 9px; background: linear-gradient(#87d648,#04a9b6); vertical-align: middle; }
  .panel-body { padding: 14px; }
  .panel-footer { background: #f5fcfd; border-color: #d4edf2; }
  .metrics { gap: 12px; }
  .metric-card { position: relative; overflow: hidden; border: 0; min-height: 135px; padding: 17px; border-radius: 9px; color: white; background: linear-gradient(115deg,#038bbc,#13a0b5); grid-template-columns: minmax(0,1fr) auto; }
  .metric-card.green { background: linear-gradient(115deg,#028954,#189e5e); }
  .metric-card.gold { background: linear-gradient(115deg,#d85142,#e16457); }
  .metric-card.purple { background: linear-gradient(115deg,#83bb00,#b8df40); }
  .metric-card::after { content: ""; position: absolute; pointer-events: none; width: 116px; height: 85px; top: 0; right: 0; background: url("assets/fresh-leaves.svg") right top / contain no-repeat; opacity: .35; }
  .metric-card > div { display: block; min-width: 0; position: relative; z-index: 1; }
  .metric-card span { color: white; font-size: 27px; line-height: 1.1; }
  .metric-card strong { color: white; font-size: clamp(32px,2.6vw,49px); line-height: 1.15; margin-top: 8px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; text-shadow: 0 1px 1px rgba(0,67,67,.1); -webkit-text-stroke: .5px currentColor; }
  .metric-card.purple,.metric-card.purple span,.metric-card.purple strong { color: #17451c; text-shadow: none; }
  .metric-card .metric-icon,.metric-card.green .metric-icon,.metric-card.gold .metric-icon,.metric-card.purple .metric-icon { background: rgba(255,255,255,.17); box-shadow: none; border-radius: 12px; width: 57px; height: 66px; position: relative; z-index: 1; grid-column: 2; grid-row: 1; }
  .metric-icon .theme-icon { width: 43px; height: 43px; }
  .grid.dashboard { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); }
  .fresh-dashboard .heading-actions { width: 54%; max-width: 54%; }
  .fresh-dashboard-tools { width: 100%; min-width: 0; display: grid; gap: 6px; }
  .fresh-scope-strip { display: flex; gap: 10px; }
  .fresh-scope-choice { position: relative; border: 1px solid #c2e1eb; border-radius: 6px; background: #fbfeff; color: #075072; padding: 4px 24px 4px 10px; flex: 1; min-width: 0; text-align: left; }
  .fresh-scope-choice:hover { background: #e8f9fe; border-color: #68c9e7; }
  .fresh-scope-choice > span { position: absolute; right: 8px; bottom: 8px; }
  .fresh-scope-strip small { display: block; font-size: 17px; line-height: 1; color: #49708c; }
  .fresh-scope-strip strong { display: block; font-size: 21px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .fresh-dashboard-actions { display: flex; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
  .fresh-dashboard-actions .button { min-height: 31px; padding: 3px 10px; }
  /* One shared column rhythm: both rows also align to pairs of metric cards. */
  .fresh-dashboard-main,.fresh-dashboard-bottom {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-template-rows: auto minmax(0,1fr);
    grid-auto-flow: column;
    gap: 0 12px;
  }
  .fresh-dashboard-main > .panel,.fresh-dashboard-bottom > .panel {
    min-width: 0;
    display: grid;
    grid-row: span 2;
    grid-template-rows: subgrid;
  }
  .fresh-dashboard :is(.fresh-dashboard-main,.fresh-dashboard-bottom) .panel-header {
    display: grid;
    grid-template-columns: minmax(0,1fr) max-content;
    min-height: 60px;
    gap: 12px;
  }
  .fresh-dashboard :is(.fresh-dashboard-main,.fresh-dashboard-bottom) .panel-header h2 {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .fresh-dashboard :is(.fresh-dashboard-main,.fresh-dashboard-bottom) .panel-header .button {
    white-space: nowrap;
    justify-self: end;
    align-self: center;
  }
  .fresh-dashboard .metric-card { min-height: 118px; grid-template-columns: 60px minmax(0,1fr); padding: 15px; gap: 14px; }
  .fresh-dashboard .metric-card > div { grid-column: 2; }
  .fresh-dashboard .metric-card .metric-icon { grid-column: 1; grid-row: 1; width: 58px; height: 67px; }
  .fresh-dashboard .metric-card.purple { background: linear-gradient(110deg,#89c600,#bce53b); }
  .fresh-progress-summary { display: flex; justify-content: flex-end; align-items: center; gap: 14px; border: 1px solid #d6ebf1; border-radius: 8px; background: #f6fcfd; padding: 5px 12px; margin: 0 0 8px auto; }
  .fresh-progress-summary small { display: block; font-size: 18px; }
  .fresh-progress-summary strong { font-size: 32px; display: block; line-height: 1.1; font-variant-numeric: tabular-nums; color: #067090; }
  .fresh-progress-summary strong span { font-size: 21px; }
  .fresh-progress-ring { width: 62px; height: 62px; flex: none; border-radius: 50%; background: conic-gradient(#00a9b4 var(--progress),#d5f0ef 0); display: grid; place-items: center; }
  .fresh-progress-ring span { border-radius: 50%; background: white; width: 46px; height: 46px; display: grid; place-items: center; font-weight: 700; font-size: 23px; }
  .fresh-bar-chart { display: grid; gap: 8px; padding: 2px 0; }
  .fresh-bar-group { display: grid; grid-template-columns: 96px minmax(0,1fr) 145px; align-items: center; gap: 8px; font-size: 18px; }
  .fresh-bar-group small { text-align: right; font-size: 16px; font-variant-numeric: tabular-nums; }
  .fresh-bar-track { min-height: 26px; display: grid; align-content: center; gap: 3px; background: repeating-linear-gradient(90deg,transparent,transparent calc(25% - 1px),#d9eaf1 calc(25% - 1px),#d9eaf1 25%); border-left: 1px solid #bddbe6; }
  .fresh-bar-track i { height: 8px; border-radius: 0 3px 3px 0; }
  .fresh-bar-track .claim,.fresh-chart-legend .claim { background: #37c1bd; }
  .fresh-bar-track .paid,.fresh-chart-legend .paid { background: #118cfc; }
  .fresh-chart-legend { display: flex; justify-content: center; gap: 18px; font-size: 18px; margin-top: 8px; }
  .fresh-chart-legend i { display: inline-block; height: 10px; width: 10px; border-radius: 50%; margin-right: 5px; }
  .fresh-chart-note { margin: 4px 0 0; font-size: 17px; color: #44677d; }
  .fresh-map-panel .panel-header h2 small { font-size: 20px; font-weight: 400; }
  .fresh-map-art { position: relative; height: 202px; overflow: hidden; border-radius: 0 0 10px 10px; background: #eefaf5; }
  .fresh-map-art > img { width: 100%; height: 100%; object-fit: cover; }
  .fresh-map-caption { position: absolute; right: 10px; bottom: 10px; border: 1px solid #bfe2e7; border-radius: 8px; padding: 8px 15px; background: rgba(255,255,255,.95); display: grid; grid-template-columns: auto auto; align-items: center; gap: 1px 10px; }
  .fresh-map-caption strong { font-size: 33px; grid-row: span 2; color: #078d82; }
  .fresh-map-caption span { font-size: 20px; }
  .fresh-map-caption small { font-size: 17px; color: #46677d; }
  .fresh-dashboard-bottom .panel-body { padding: 9px; }
  .fresh-dashboard-bottom .data-table th,.fresh-dashboard-bottom .data-table td { padding: 6px 8px; font-size: 19px; }
  .fresh-dashboard-bottom .table-wrap { max-height: 245px; }
  .fresh-recent-activity .data-table td:nth-child(2) { max-width: 240px; white-space: normal; }
  .fresh-breakdown-details > summary { padding: 10px 16px; font-weight: 700; cursor: pointer; background: linear-gradient(100deg,#f9fdff,#f5fff2); }
  .fresh-account-workspace { display: grid; grid-template-columns: minmax(170px,.68fr) minmax(260px,1.16fr) minmax(310px,1.5fr); gap: 10px; align-items: stretch; }
  .fresh-account-workspace > .panel { min-width: 0; overflow: hidden; }
  .fresh-account-workspace .panel-header { padding: 8px 11px; min-height: 49px; }
  .fresh-account-workspace .panel-header h2 { font-size: 28px; }
  .fresh-account-workspace .panel-body { padding: 10px; }
  .fresh-account-tree { background: linear-gradient(180deg,#fff 80%,#ecfce8); }
  .fresh-account-tree .panel-body { position: relative; padding-bottom: 85px; }
  .fresh-account-tree .panel-body::after { content: ''; pointer-events: none; position: absolute; bottom: 0; right: 0; width: 90px; height: 85px; background: url('assets/fresh-leaves.svg') right bottom / contain no-repeat; }
  .fresh-tree-scope { background: #f1faff; border: 1px solid #d1e9f2; border-radius: 6px; padding: 5px 9px; margin: 0 0 10px; font-size: 19px; overflow-wrap: anywhere; }
  .fresh-account-tree details { margin-bottom: 9px; }
  .fresh-account-tree summary { font-size: 22px; font-weight: 700; cursor: pointer; }
  .fresh-folder { color: #ffb122; margin-right: 5px; }
  .fresh-tree-filter,.fresh-tree-account,.fresh-account-choice { border: 1px solid transparent; background: transparent; color: #08619b; text-align: left; border-radius: 5px; font: inherit; }
  .fresh-tree-filter { padding: 4px 8px; margin-left: 12px; font-size: 18px; }
  .fresh-tree-account { display: flex; gap: 7px; align-items: center; padding: 6px 4px 6px 16px; width: 100%; font-size: 21px; }
  .fresh-tree-account .theme-icon { width: 23px; height: 27px; }
  .fresh-tree-account small { display: block; color: #49728b; font-size: 17px; line-height: 1.1; }
  .fresh-tree-filter.selected,.fresh-tree-account.selected,.fresh-account-choice.selected { background: #d5f5fb; border-color: #9bd8ef; }
  .fresh-tree-account:hover,.fresh-tree-filter:hover,.fresh-account-choice:hover { background: #e4f8ff; }
  .fresh-account-list .toolbar { display: grid; grid-template-columns: minmax(0,1fr); gap: 7px; }
  .fresh-account-list .toolbar select { width: 100%; }
  .fresh-account-list .data-table th,.fresh-account-list .data-table td { padding: 6px 8px; font-size: 20px; }
  .fresh-account-list .data-table { min-width: 380px; }
  .fresh-account-list .data-table th:nth-child(2),.fresh-account-list .data-table td:nth-child(2),.fresh-account-list .data-table th:nth-child(3),.fresh-account-list .data-table td:nth-child(3) { display: none; }
  .fresh-account-row-meta { display: block; font-size: 16px; color: #46677d; }
  .fresh-account-list .row-actions { flex-direction: column; align-items: flex-start; gap: 4px; }
  .fresh-account-list .row-actions .button { font-size: 18px; min-height: 29px; padding: 3px 7px; }
  .fresh-account-list .status-chip { white-space: normal; text-align: center; }
  .fresh-account-list .table-wrap { max-height: 465px; }
  .fresh-account-choice { color: #0069ad; font-weight: 700; padding: 3px 4px; text-decoration: underline; text-underline-offset: 3px; }
  .fresh-account-inspector { background: #fff; }
  .fresh-inspector-account { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 5px; margin-bottom: 7px; }
  .fresh-account-inspector label { display: block; font-size: 20px; color: #0e5b7e; }
  .fresh-account-inspector select { width: 100%; border: 1px solid #bedfe9; border-radius: 6px; background: #fff; color: #154c70; padding: 2px 7px; }
  .fresh-parcel-summary { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 9px; margin-top: 9px; }
  .fresh-parcel-summary > img { width: 100%; height: 220px; object-fit: cover; border-radius: 7px; border: 1px solid #bddfb1; }
  .fresh-parcel-summary dl { margin: 0; border: 1px solid #c4e3ec; border-radius: 6px; overflow: hidden; }
  .fresh-parcel-summary dl > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 5px; padding: 4px 6px; border-bottom: 1px solid #d8edf3; font-size: 18px; line-height: 1.2; }
  .fresh-parcel-summary dt { color: #124f7e; background: #f5fcff; }
  .fresh-parcel-summary dd { margin: 0; overflow-wrap: anywhere; }
  .fresh-inspector-tabs { display: flex; gap: 0; overflow-x: auto; margin-top: 10px; border-bottom: 1px solid #b6dfea; }
  .fresh-inspector-tabs button { border: 1px solid #bddfeb; border-bottom: 0; border-radius: 6px 6px 0 0; padding: 6px 8px; background: linear-gradient(#edf9ff,#e3f1fa); color: #155581; white-space: nowrap; font-size: 19px; font-weight: 700; }
  .fresh-inspector-tabs button[aria-selected=true] { background: linear-gradient(#05b2bd,#00888e); color: white; }
  .fresh-inspector-tab-body { border: 1px solid #c3e4ed; border-top: 0; border-radius: 0 0 6px 6px; background: #fcfeff; padding: 9px 12px; min-height: 150px; max-height: 350px; overflow-y: auto; }
  .fresh-inspector-tab-body h3 { font-size: 23px; color: #075477; margin: 0 0 4px; }
  .fresh-inspector-tab-body p { margin: 2px 0 9px; }
  .fresh-inspector-tab-body ul { padding-left: 20px; margin: 3px 0; }
  .fresh-account-bottom .panel-body { display: flex; justify-content: space-between; gap: 14px; align-items: center; }
  .fresh-account-bottom .panel-body > p { margin: 0; max-width: 410px; font-size: 19px; }
  .fresh-payment-workspace { display: grid; grid-template-columns: minmax(270px,1.1fr) minmax(300px,1.17fr) minmax(280px,1fr); gap: 10px; align-items: start; }
  .fresh-payment-workspace > * { min-width: 0; }
  .fresh-payment-workspace .panel-header { padding: 8px 10px; }
  .fresh-payment-workspace .panel-header h2 { font-size: 28px; }
  .fresh-payment-workspace .panel-header h2 .theme-icon { width: 29px; height: 34px; vertical-align: middle; }
  .fresh-payment-workspace .panel-header small { font-size: 18px; font-weight: 400; }
  .fresh-payment-workspace .panel-body { padding: 10px; }
  .fresh-payment-list > .panel > .panel-body > p:first-child { font-size: 18px; }
  .fresh-payment-list .toolbar { gap: 6px; flex-wrap: wrap; }
  .fresh-payment-list .toolbar .button { font-size: 19px; min-height: 34px; padding: 4px 9px; }
  .fresh-payment-list .toolbar .search-box { width: 100%; flex-basis: 100%; }
  .fresh-payment-list .toolbar .search-box span { font-size: 17px; }
  .fresh-payment-list .data-table th,.fresh-payment-list .data-table td { padding: 6px; font-size: 19px; }
  .fresh-payment-list .data-table { min-width: 340px; }
  .fresh-payment-list .table-wrap { max-height: 530px; }
  .fresh-payment-choice { display: block; padding: 3px 7px; margin-bottom: 3px; border: 1px solid #b7dcec; background: #f1fcff; border-radius: 5px; color: #036798; font-size: 20px; font-weight: 700; }
  .fresh-payment-choice.selected { border-color: #029ee3; background: #caf4ff; }
  .fresh-payment-middle { display: grid; gap: 10px; }
  .fresh-recipient-card .panel-body { position: relative; isolation: isolate; }
  .fresh-bank-art { width: 165px; height: 160px; object-fit: contain; margin-left: auto; display: block; }
  .fresh-recipient-card .fresh-bank-art { position: absolute; right: 0; bottom: 3px; width: 40%; height: 150px; z-index: -1; opacity: .38; }
  .fresh-payment-facts { margin: 0; }
  .fresh-payment-facts > div { display: grid; grid-template-columns: minmax(100px,.7fr) minmax(0,1fr); border-bottom: 1px solid #d7eaf2; gap: 6px; padding: 4px 6px; font-size: 20px; }
  .fresh-payment-facts dt { color: #095b82; background: #f0faff; }
  .fresh-payment-facts dd { margin: 0; overflow-wrap: anywhere; }
  .fresh-payment-amount { margin: 12px 0 0; color: #067ff0; font-size: 22px; }
  .fresh-payment-amount small { display: block; color: #155f82; font-size: 19px; }
  .fresh-payment-amount strong { font-size: 38px; line-height: 1.1; font-variant-numeric: tabular-nums; }
  .fresh-payment-parcel .panel-body { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.9fr); gap: 10px; align-items: center; }
  .fresh-payment-parcel img { width: 100%; height: 145px; object-fit: cover; border-radius: 7px; border: 1px solid #c4e4ce; }
  .fresh-payment-parcel p { font-size: 20px; margin: 4px 0; }
  .fresh-payment-parcel small { font-size: 17px; color: #46677d; }
  .fresh-method-label { color: #087fad; font-size: 25px; font-weight: 700; background: #edfbff; border: 1px solid #b9e5ee; border-radius: 6px; padding: 6px 10px; margin: 0 0 8px; }
  .fresh-inline-preview { background: #f2faff; border: 1px solid #b9dfe9; border-radius: 7px; padding: 8px; margin-bottom: 10px; }
  .fresh-inline-preview h3 { font-size: 25px; color: #075477; margin: 0; }
  #freshPdfFrame { min-height: 190px; background: white; border: 1px solid #d0e6ef; border-radius: 5px; padding: 5px; display: grid; gap: 7px; }
  #freshPdfFrame > p { font-size: 19px; margin: auto; padding: 16px; text-align: center; }
  .fresh-pdf-pager { display: flex; justify-content: space-between; align-items: center; gap: 8px; color: #075477; font-size: 18px; }
  .fresh-pdf-pager button { min-height: 30px; padding: 0 10px; font-size: 27px; line-height: 1; }
  .fresh-pdf-canvas-scroll { max-height: 410px; overflow: auto; background: #dbe5e8; padding: 4px; border-radius: 4px; }
  .fresh-pdf-canvas-scroll canvas { display: block; max-width: 100%; height: auto !important; margin: auto; background: #fff; box-shadow: 0 1px 6px #77919b; }
  .fresh-pdf-file-list { display: grid; gap: 6px; margin-top: 7px; max-height: 240px; overflow-y: auto; }
  .fresh-pdf-file-list > div { display: flex; align-items: start; justify-content: space-between; gap: 7px; font-size: 19px; padding: 4px; border-bottom: 1px solid #daeaf1; }
  .fresh-pdf-file-list small { display: block; color: #925106; font-size: 16px; }
  .fresh-payment-docs [data-document-download-selector] { margin: 0; padding: 8px; border-color: #c6e5dc; background: #f8fff4; }
  .fresh-payment-docs [data-document-download-selector] > p { font-size: 18px; }
  .fresh-payment-docs #documentBundleForm .grid.two { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .fresh-payment-docs .document-download-choices { max-height: 230px; overflow-y: auto; }
  .fresh-payment-docs .document-download-choice { padding: 3px 5px; font-size: 21px; }
  .fresh-payment-docs details { font-size: 18px; margin-top: 7px; }
  .fresh-payment-docs details ul { padding-left: 19px; }
  .fresh-payment-docs .panel-footer { padding: 8px 0; }
  .button { border-radius: 7px; letter-spacing: 0; }
  .button.primary { background: linear-gradient(100deg,#007b83,#00845a); }
  .button.info { background: linear-gradient(100deg,#007da7,#007ca8); }
  .button.secondary { border-color: #bddfea; color: #066a91; background: linear-gradient(#fff,#f4fcff); }
  .button.warning { color: #713a05; background: linear-gradient(100deg,#ffd370,#ffb23e); }
  .button.danger { background: linear-gradient(100deg,#c62e41,#d5394c); }
  .field-group input:not([type=checkbox]):not([type=radio]),.field-group select,.field-group textarea,.search-box { border-color: #b9dbea; border-radius: 7px; }
  input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]):not([type=range]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]),select,textarea { font-size: 25px; font-weight: 700; }
  input,select,textarea { color: #154c70; accent-color: #00a7b7; }
  .table-wrap { border-radius: 7px; border-color: #c3e4ed; max-height: min(65vh,640px); }
  .data-table th { background: linear-gradient(#e7f6fd,#d9eff8); color: #07557c; border-color: #c9e5f1; }
  .data-table td { border-color: #dcecf2; }
  .data-table tbody tr:nth-child(even) { background: #f5fcff; }
  .data-table tbody tr:hover { background: #dbf7fc; }
  .data-table td:has(.money),.data-table .number,.data-table .money { font-variant-numeric: tabular-nums; }
  .status-chip { border-radius: 8px; color: #12673e; background: #d1f4de; border-color: #b6e7cc; }
  .status-chip.wait { color: #865108; background: #fff0b3; border-color: #ffe397; }
  .status-chip.info { color: #075b9b; background: #d4f0ff; border-color: #b6e4fc; }
  .status-chip.danger { color: #a72d3a; background: #ffdddd; border-color: #ffc3c3; }
  .payment-summary-track { background: #e5f4ed; border-radius: 8px; }
  .payment-summary-track i { background: linear-gradient(90deg,#02b8c6,#70d673); }
  .survey-card-header { background: linear-gradient(100deg,#e9faff,#f0ffed); }
  .auth-page { background: #e9fbf6; grid-template-columns: minmax(0,1.4fr) minmax(430px,.8fr); }
  .auth-visual { color: #075575; background: linear-gradient(180deg,rgba(237,253,255,.95),rgba(239,255,245,.1) 40%),url("assets/fresh-landscape.png") center / cover no-repeat; }
  .auth-brand img { width: 82px; height: 82px; background: transparent; padding: 0; border-radius: 0; object-fit: contain; }
  .register-brand img { background: transparent; padding: 0; border-radius: 0; object-fit: contain; }
  .auth-brand span span { color: #126982; }
  .auth-copy { color: #084f68; background: rgba(245,255,250,.93); border-left-color: #00b486; box-shadow: 0 5px 25px rgba(0,99,107,.1); }
  .auth-copy p { color: #1c6277; }
  .auth-panel { background: linear-gradient(140deg,#fff 60%,#f0ffef); border-left: 1px solid #bee5df; }
  .register-layout { background: linear-gradient(120deg,rgba(231,251,255,.88),rgba(245,255,241,.94)),url("assets/fresh-landscape.png") center / cover fixed; }
  .register-card > header { color: #055a74; background: linear-gradient(100deg,#d6f8ff,#e9ffe3); border-bottom: 1px solid #bce9e8; }
  .register-card > header p { color: #28798b; }
  .dialog-card,.directory-card { border: 1px solid #9adce6; border-radius: 10px; }
  .dialog-card > header,.directory-card > header { background: linear-gradient(100deg,#dbf7ff,#eaffdf); border-bottom-color: #bce6e9; }
  .dialog-card > header h2,.directory-card > header h2 { color: #075477; }
  .dialog-card > footer { background: #f4fcfd; }
  dialog::backdrop { background: rgba(4,76,93,.4); }
  .directory-group { border-radius: 8px; background: #f8feff; }
  .directory-link:hover { color: #075477; background: #dff5fc; }
  .statusbar { background: linear-gradient(90deg,#d7f5fc,#c4eefb); border-top: 1px solid #91d6e5; color: #115778; font-size: 17px; gap: 15px; }
  .connection-retry { background: #f1fcff; border-color: #97cddd; border-radius: 5px; }
  .version { color: #42836d; }
}
@media screen and (max-width: 1500px) {
  .topbar { grid-template-columns: 224px minmax(735px,auto) minmax(180px,1fr); }
  .ribbon-button { font-size: 20px; }
  .brand { padding: 8px 11px; }
  .brand img { width: 65px; height: 65px; }
  .brand small { font-size: 17px; }
  .ribbon-landscape { padding: 12px; }
  .ribbon-landscape span { font-size: 23px; }
  .page-heading h1 { font-size: 43px; }
  .page-heading h1 .theme-icon { width: 40px; height: 40px; }
  .metric-card { padding: 12px; min-height: 123px; }
  .metric-card span { font-size: 22px; }
  .metric-card .metric-icon { width: 44px; height: 56px; }
  .metric-icon .theme-icon { width: 35px; height: 35px; }
  .grid.dashboard { grid-template-columns: minmax(0,1fr); }
  .grid.three.dashboard-feeds { grid-template-columns: minmax(0,1fr); }
}
@media screen and (min-width: 1280px) {
  .workspace.context-collapsed .grid.dashboard { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); }
}
@media screen and (min-width: 1181px) {
  /* A desktop application frame: only the work panes scroll. The QA notice
     stays outside the frame and receives its real height, not a guessed offset. */
  body:has(#workspace:not([hidden])) { height: 100dvh; display: flex; flex-direction: column; overflow: hidden; }
  body:has(#workspace:not([hidden])) .app-shell { min-height: 0; height: 0; flex: 1 1 auto; grid-template-rows: auto minmax(0,1fr) auto; }
  .workspace { min-height: 0; overflow: hidden; padding-bottom: 10px; }
  .sidebar { min-height: 0; height: 100%; }
  .current-area { flex: none; }
  .main-nav { min-height: 0; overflow-y: auto; gap: 2px; scrollbar-gutter: stable; }
  .nav-scroll-hint { display: block; flex: none; font-size: 16px; line-height: 1.1; color: #46677d; margin: 0; padding: 4px 9px 5px; text-align: center; background: #ebf8fc; border-top: 1px solid #d7edf3; }
  .nav-button { min-height: 36px; }
  /* A low decorative strip leaves another menu row visible. */
  .sidebar-illustration {
    height: 54px;
    min-height: 54px;
    max-height: 54px;
    flex: 0 0 54px;
    padding: 3px 12px;
    background:
      linear-gradient(180deg,rgba(241,252,255,.96) 0%,rgba(241,252,255,.9) 54%,rgba(241,252,255,.58) 76%,transparent 100%),
      url("assets/fresh-sidebar-countryside.png") center bottom / 100% auto no-repeat,
      url("assets/fresh-landscape.png") center bottom / auto 100% no-repeat;
  }
  .sidebar-illustration small { top: 0; font-size: 18px; line-height: 1.1; padding: 1px 0; }
  .page-content { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding-bottom: 10px; }
  .context-panel { min-height: 0; max-height: calc(100% - 12px); overflow-y: auto; }
}
@media screen and (max-width: 1180px) {
  .topbar { grid-template-columns: 210px minmax(0,1fr); }
  .ribbon-landscape { display: none; }
  .context-panel { display: none; }
  .workspace,.workspace.context-collapsed { grid-template-columns: 210px minmax(0,1fr); }
  .ribbon-button { font-size: 18px; }
  .metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fresh-account-workspace { grid-template-columns: minmax(160px,.65fr) minmax(260px,1fr); }
  .fresh-account-inspector { grid-column: 1 / -1; }
  .fresh-account-bottom .panel-body { flex-wrap: wrap; }
  .fresh-payment-workspace { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .fresh-payment-docs { grid-column: 1 / -1; }
}
/* Desktop zoom and small windows remain accessible; this is not a separate
   mobile product, and no existing input or action is discarded. */
@media screen and (max-width: 860px) {
  .topbar { grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto auto auto; }
  .desktop-titlebar { min-height: 30px; font-size: 16px; }
  .desktop-titlebar > span:first-child { flex-wrap: wrap; max-width: 100%; white-space: normal; }
  .desktop-edition { display: none; }
  .brand { grid-column: 1; grid-row: 2; padding: 9px 14px; border: 0; }
  .brand img { width: 50px; height: 50px; }
  .brand strong { font-size: 31px; }
  .brand small { font-size: 19px; }
  .desktop-ribbon { grid-column: 1; grid-row: 3; width: 100%; overflow: auto; padding: 4px 6px; }
  .ribbon-button { flex: 0 0 80px; height: 75px; font-size: 18px; }
  .ribbon-button .theme-icon { width: 31px; height: 31px; }
  .topbar-actions { grid-column: 1; grid-row: 4; flex-wrap: wrap; padding: 6px 10px; gap: 7px; justify-self: stretch; }
  .fresh-dashboard-main,.fresh-dashboard-bottom { grid-template-columns: minmax(0,1fr); grid-template-rows: none; grid-auto-flow: row; gap: 12px; }
  .fresh-dashboard-main > .panel,.fresh-dashboard-bottom > .panel { grid-row: auto; grid-template-rows: auto minmax(0,1fr); }
  .fresh-account-workspace { grid-template-columns: minmax(0,1fr); }
  .fresh-account-inspector { grid-column: 1; }
  .fresh-payment-workspace { grid-template-columns: minmax(0,1fr); }
  .fresh-payment-docs { grid-column: 1; }
  .fresh-bar-group { grid-template-columns: 80px minmax(0,1fr); }
  .fresh-bar-group small { grid-column: 2; }
  .online-badge { font-size: 16px; }
  .workspace,.workspace.context-collapsed { grid-template-columns: minmax(0,1fr); padding: 0 8px 12px; gap: 10px; }
  .sidebar { min-height: 0; border: 1px solid #bde5ed; border-radius: 7px; margin-top: 10px; }
  .mobile-nav-toggle { display: block; background: #eafaff; color: #07577a; border-color: #bde5ed; }
  .sidebar-illustration { display: none; }
  .nav-button { min-height: 44px; }
  .page-content { padding-top: 0; }
  .page-heading { flex-wrap: wrap; }
  .page-heading h1 { font-size: 32px; }
  .heading-actions { max-width: 100%; }
  .fresh-dashboard .heading-actions { width: 100%; max-width: 100%; }
  .fresh-dashboard .fresh-scope-strip { flex-wrap: wrap; }
  .fresh-dashboard .fresh-scope-choice { flex: 1 1 140px; }
  [data-theme-section="payment"] .page-heading,[data-theme-section="pdf"] .page-heading { padding-right: 16px; }
  [data-theme-section="payment"] .page-heading::after,[data-theme-section="pdf"] .page-heading::after { opacity: .14; }
  .grid.dashboard,.grid.three.dashboard-feeds { grid-template-columns: minmax(0,1fr); }
  .auth-page { grid-template-columns: minmax(0,1fr); }
  .auth-visual { min-height: 310px; padding: 22px; }
  .auth-copy { position: relative; inset: auto; margin-top: 30px; }
  .auth-panel { min-height: 0; padding: 30px 22px; }
  .statusbar { gap: 8px 14px; }
}
@media print {
  .desktop-titlebar,.desktop-ribbon,.ribbon-landscape,.theme-icon { display: none !important; }
}
