/* Focused navigation and Inbox refinement; keeps the approved portal palette and surfaces. */
.more-grid { display: grid; gap: 20px; }
.more-grid-section { min-width: 0; }
.more-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.more-grid-card { display: grid; grid-template-columns: 40px minmax(0, 1fr) 18px; gap: 12px; align-items: center; min-height: 94px; padding: 15px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface, #fff); color: inherit; text-align: left; text-decoration: none; box-shadow: 0 5px 16px rgba(43, 50, 54, .035); }
.more-grid-card:hover { border-color: var(--accent); box-shadow: 0 12px 26px rgba(43, 50, 54, .09); transform: translateY(-1px); }
.more-grid-card:focus-visible, .inbox-tabs a:focus-visible, .inbox-source-card:focus-visible, .inbox-recent a:focus-visible { outline: 3px solid var(--accent-deep, #7f1736); outline-offset: 3px; }
.more-grid-card > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.more-grid-card strong { color: var(--ink); font-size: 14px; }
.more-grid-card small { color: var(--muted); font-size: 12px; line-height: 1.35; }
.more-grid-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; background: var(--accent-soft, #f6e9ed); color: var(--accent); }
.more-grid-icon svg, .more-grid-arrow svg { width: 20px; height: 20px; }
.more-grid-arrow { color: var(--muted); }
.more-logout-card { border-color: rgba(157, 41, 72, .24); }
.more-logout-card .more-grid-icon { background: #fbf0f3; }
.more-coordinator { grid-column: 1 / -1; }
.inbox-page { max-width: none; }
.inbox-tabs { display: flex; gap: 4px; width: max-content; max-width: 100%; margin: 0 0 20px; padding: 4px; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-muted); }
.inbox-tabs a { flex: 0 0 auto; padding: 8px 12px; border-radius: 10px; color: var(--muted); font-size: 13px; font-weight: 700; text-decoration: none; }
.inbox-tabs a.selected { background: #fff; color: var(--accent); box-shadow: 0 2px 7px rgba(43, 50, 54, .08); }
.inbox-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.inbox-source-card { display: grid; grid-template-columns: 36px minmax(0, 1fr) 16px; gap: 11px; align-items: center; min-height: 104px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; color: inherit; text-decoration: none; }
.inbox-source-card:hover { border-color: var(--accent); background: var(--surface-muted); }
.inbox-source-card > span:first-child { color: var(--accent); }
.inbox-source-card svg { width: 21px; height: 21px; }
.inbox-source-card > span:nth-child(2) { display: grid; gap: 4px; }
.inbox-source-card strong { color: var(--ink); font-size: 14px; }
.inbox-source-card small { color: var(--muted); font-size: 12px; line-height: 1.4; }
.inbox-recent { padding: 0; overflow: hidden; }
.inbox-recent header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.inbox-recent header p { margin: 0 0 3px; }
.inbox-recent h2 { margin: 0; font-size: 18px; }
.inbox-recent header > span { color: var(--muted); font-size: 12px; font-weight: 700; }
.inbox-recent ul { margin: 0; padding: 0; list-style: none; }
.inbox-recent li { border-top: 1px solid var(--line); }
.inbox-recent li:first-child { border-top: 0; }
.inbox-recent li.is-unread { box-shadow: inset 3px 0 0 var(--accent); }
.inbox-recent a { display: grid; grid-template-columns: 116px minmax(0, 1fr) auto 16px; gap: 12px; align-items: center; min-height: 76px; padding: 13px 20px; color: inherit; text-decoration: none; }
.inbox-recent a:hover { background: var(--surface-muted); }
.inbox-recent-kind { color: var(--accent); font-size: 11px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.inbox-recent a > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.inbox-recent strong, .inbox-recent small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inbox-recent small, .inbox-recent time { color: var(--muted); font-size: 12px; }
.inbox-recent a > span:last-child svg { width: 16px; height: 16px; }
@media (max-width: 660px) { .mobile-dock { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 760px) { .more-grid, .inbox-source-grid { grid-template-columns: 1fr; } .more-grid-card { min-height: 76px; } .inbox-recent a { grid-template-columns: 92px minmax(0, 1fr) 16px; } .inbox-recent time { display: none; } }

/* Keep source shortcuts compact so the inbox items remain the main content. */
.inbox-source-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.inbox-source-card{grid-template-columns:20px minmax(0,1fr);min-height:0;padding:9px 12px;flex:1 1 160px;border-radius:12px}
.inbox-source-card>span:last-child{display:none}
.inbox-source-card>span:nth-child(2){gap:2px}
.more-page .more-coordinator{margin-top:20px}
.more-page .more-coordinator nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.more-page .more-coordinator h2{font-size:18px;margin:0 0 12px}
@media(max-width:760px){
 .more-page .more-coordinator nav{grid-template-columns:1fr}
 .inbox-source-card{flex:1 1 90px;grid-template-columns:1fr;padding:10px}
 .inbox-source-card>span:first-child{display:none}
 .inbox-source-card strong{font-size:13px}
 .inbox-recent a{grid-template-columns:minmax(0,1fr) 16px;gap:7px}
 .inbox-recent-kind{grid-column:1 / -1}
 .inbox-recent a>span:nth-child(2){grid-column:1}
 .inbox-recent strong,.inbox-recent small{white-space:normal;overflow-wrap:anywhere}
}

/* Keep request work close together and reserve the wider workspace for real records. */
.request-page { max-width: none; }
.request-page .request-types { gap: 12px; margin-bottom: 16px; }
.request-page .request-types article { min-height: 0; padding: 16px; }
.request-page .request-table { margin-top: 14px; }
.request-page .request-history-head { padding: 16px 20px 14px; }
.request-page .request-history-head h2 { font-size: 19px; }
.request-page .request-history-actions { gap: 8px; }
.request-history-toggle { min-height: 40px; padding-inline: 8px; white-space: nowrap; }
.request-page .sp-request-row { min-height: 88px; padding: 13px 20px; gap: 14px; }
.request-page .request-record-next { gap: 2px; }
.request-page .request-record-next strong { font-size: 12px; }
@media (max-width: 760px) {
  .request-page .request-types { gap: 10px; }
  .request-page .request-history-head { padding: 14px; }
  .request-page .sp-request-row { min-height: 0; padding: 14px; gap: 10px; }
  .request-page .request-history-actions { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-end; }
  .request-history-toggle { order: -1; }
}

/* Inbox counts mirror unread state; reading the list alone never changes it. */
.inbox-recent li { position: relative; padding-right: 12px; }
.inbox-recent li.is-unread { background: color-mix(in srgb, var(--accent) 5%, transparent); }
.inbox-recent a { grid-template-columns: 116px minmax(0,1fr) auto auto 16px; }
.inbox-recent .inbox-row-state { color: var(--muted); font-size: 11px; white-space: nowrap; }
.inbox-recent li.is-unread .inbox-row-state { color: var(--accent-deep, #7f1736); font-weight: 800; }
.inbox-mark-read, .inbox-load-more { min-height: 36px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface, #fff); color: var(--ink); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.inbox-mark-read { margin: 0 20px 12px 148px; padding: 6px 12px; }
.inbox-load-more { display: block; margin: 14px auto 18px; padding: 7px 16px; }
.inbox-mark-read:hover, .inbox-load-more:hover { background: var(--surface-muted); }
.inbox-mark-read:focus-visible, .inbox-load-more:focus-visible { outline: 3px solid var(--accent-deep, #7f1736); outline-offset: 3px; }
.inbox-mark-read:disabled { opacity: .65; cursor: wait; }
@media (max-width: 760px) {
 .inbox-recent a { grid-template-columns: minmax(0,1fr) auto 16px; }
 .inbox-recent a .inbox-recent-kind { grid-column: 1 / -1; }
 .inbox-recent a > span:nth-child(2) { grid-column: 1; }
 .inbox-recent .inbox-row-state { grid-column: 2; grid-row: 2; }
 .inbox-mark-read { margin: 0 12px 12px 12px; }
 .inbox-recent li { padding-right: 0; }
}
