/* The same aqua glass palette used by the public website. */
body.auth-page, body.app-interface {
  --bg: #d4eef1; --panel: #c8e9ed; --text: #102e40; --muted: #355e70;
  --aqua: #075a62; --teal: #087d83; --line: #3e8f9c40;
  --app-line: #3e8f9c40; --app-muted: #355e70; --app-accent: #087d83;
  --app-card: linear-gradient(125deg, #ccefe7c7, #c1e6f2bf);
  --workspace-ink: #102e40; --workspace-copy: #244859; --workspace-teal: #075a62;
  color: var(--workspace-ink);
  background: radial-gradient(ellipse at 90% 5%, #a1dfef99, transparent 55%), radial-gradient(ellipse at 10% 90%, #a5e6d799, transparent 60%), #d4eef1;
  background-attachment: fixed;
}
.auth-page .cinema { background: #c9eaf0; }
.auth-page .cinema > video { filter: saturate(1.1) contrast(1.02); }
.auth-page .cinema-shade { background: linear-gradient(180deg, #d9f6ef52, #d3eef266 45%, #e1f5ee80); }
.auth-page .auth-copy, .auth-page .auth-card,
.app-interface :is(.panel, .metric, .workspace-nav button, .app-tile, .quick-link, #loading) {
  color: var(--workspace-ink); background: var(--app-card); border: 1px solid #7bb0bd70;
  box-shadow: inset 0 1px 0 #efffffb3, 0 12px 32px #185a6e14;
  -webkit-backdrop-filter: blur(16px) saturate(110%); backdrop-filter: blur(16px) saturate(110%);
}
.auth-page .auth-copy { padding: 30px; border-radius: 24px; }
.auth-page .auth-copy h1, .auth-page .auth-card h2 { color: var(--workspace-ink); }
.auth-page .auth-copy h1 em, .auth-page .auth-copy .eyebrow { color: var(--workspace-teal); text-shadow: none; }
.auth-page .auth-copy > p, .auth-page .auth-copy small, .auth-page .auth-card > p, .auth-page .auth-help, .auth-page .auth-footer { color: var(--workspace-copy); }
.auth-page .auth-copy > p, .auth-page .auth-card > p { font-size: 14px; }
.auth-page .auth-help { font-size: 12px; line-height: 1.8; }
.auth-page .auth-help a { color: var(--workspace-teal); text-decoration: underline; text-underline-offset: 3px; }
.auth-page .auth-header > a:last-child { color: var(--workspace-ink); background: var(--app-card); border-color: #7bb0bd70; }
.auth-page .password-field button { background: #6bc8d133; color: var(--workspace-teal); }
.auth-page .auth-footer { width: fit-content; max-width: 92%; margin: 0 auto 20px; padding: 10px 16px; border-radius: 12px; background: var(--app-card); font-size: 11px; }
.auth-page .eyebrow, .app-interface .eyebrow { color: var(--workspace-teal); }
.auth-page .tiny-dot, .app-interface .session-status > span { background: #078b83; box-shadow: 0 0 10px #078b8326; }
.app-interface .workspace-topbar { color: var(--workspace-ink); background: linear-gradient(125deg, #cef6ebdd, #bde5f7d6); border-color: var(--app-line); box-shadow: inset 0 1px 0 #efffffb3, 0 8px 24px #185a6e14; }
.app-interface .breadcrumb strong, .app-interface .account-button strong { color: var(--workspace-ink); }
.app-interface .breadcrumb > div > span, .app-interface .account-button small, .app-interface .account-button > svg { color: var(--workspace-copy); }
.app-interface :is(.toolbar-button, .account-button, .rail-button, .sign-out-button, .tiny-button, .panel-heading > button, .dialog-heading button) { color: var(--workspace-copy); background: #c1e6f28c; border-color: #478d9e66; box-shadow: inset 0 1px 0 #efffff80; }
.app-interface .launchbar-caption, .app-interface .launchbar-caption > span:last-child { color: var(--workspace-copy); font-size: 10px; }
.app-interface .workspace-nav button { color: var(--workspace-ink); }
.app-interface .workspace-nav .nav-label { font-size: 12px; font-weight: 600; }
.app-interface .workspace-nav .nav-icon, .app-interface :is(.metric-icon, .app-tile-icon, .empty-icon, .desk-symbol) { color: #087d83; background: #73cccf26; border-color: #348c9b50; box-shadow: inset 0 1px 0 #efffff80; }
.app-interface .workspace-nav .nav-count { color: var(--workspace-copy); background: #d5eff0b3; border-color: #7bb0bd70; font-size: 10px; }
.app-interface .workspace-nav button[aria-current="page"] { color: var(--workspace-ink); background: linear-gradient(115deg, #6adfcae0, #85d7efe0); border-color: #288e9b; box-shadow: inset 0 1px 0 #efffffe6, 0 8px 22px #078b8326; }
.app-interface .workspace-nav button[aria-current="page"] .nav-icon { color: #075a62; background: #e3fff04d; border-color: #288e9b80; }
.app-interface .workspace-nav button[aria-current="page"] .nav-count { color: #123e50; background: #d0f6e985; border-color: #288e9b66; }
.app-interface .page-heading .eyebrow, .app-interface .page-heading p, .app-interface .metric-top, .app-interface .metric small { color: var(--workspace-copy); }
.app-interface .metric-top { font-size: 12px; }
.app-interface .metric small { font-size: 11px; }
.app-interface .metric strong, .app-interface .panel-heading h2, .app-interface .empty-state h3, .app-interface .desk-intro h3 { color: var(--workspace-ink); }
.app-interface .panel-heading > span { color: var(--workspace-copy); font-size: 10px; }
.app-interface :is(.empty-state p, .desk-intro p, .request-detail) { color: var(--workspace-copy); font-size: 12px; }
.app-interface .desk-intro { background: #9ddfd82e; border-color: var(--app-line); }
.app-interface .quick-link > i { color: #087d83; }
.app-interface .quick-link strong, .app-interface .app-tile strong { color: var(--workspace-ink); font-size: 12px; }
.app-interface .quick-link small, .app-interface .app-tile small, .app-interface .app-tile-count { color: var(--workspace-copy); font-size: 11px; }
.app-interface .access-strip strong, .app-interface .access-strip small { color: var(--workspace-copy); font-size: 11px; }
.app-interface .access-strip > svg, .app-interface .info-strip > svg { color: #087d83; }
.app-interface .info-strip { color: var(--workspace-copy); background: #b1e4e480; border-color: var(--app-line); font-size: 12px; }
.app-interface .toolbar small { color: var(--workspace-copy); }
.app-interface .status-filters { display: flex; gap: 6px; padding: 4px; border: 1px solid #478d9e55; border-radius: 11px; background: #d4edf080; }
.app-interface .status-filters button { min-height: 38px; padding: 8px 13px; border: 0; border-radius: 8px; color: #315a6a; background: transparent; font-size: 10px; font-weight: 650; }
.app-interface .status-filters button[aria-pressed="true"] { color: #102e40; background: linear-gradient(115deg,#6adfca,#85d7ef); box-shadow: inset 0 1px 0 #efffffcc,0 3px 10px #078b8320; }
.app-interface .metric-grid article { background: linear-gradient(125deg, #d8f1eb, #cce9f1); border-color: #5798a866; box-shadow: inset 0 1px 0 #ffffff99; }
.app-interface .metric-grid article small { color: #315a6a; font-size: 10px; font-weight: 600; }
.app-interface .metric-grid article strong { color: #102e40; font-size: 17px; font-weight: 700; }
.app-interface .profile-details { background: #5798a84d; gap: 1px; }
.app-interface .profile-details article { background: linear-gradient(125deg, #d9f2ec, #cce8f0); }
.app-interface .profile-details small { color: #315a6a; font-size: 10px; font-weight: 700; }
.app-interface .profile-details strong { color: #102e40; font-size: 13px; font-weight: 650; line-height: 1.55; }
.app-interface .search-field, .app-interface td select { color: var(--workspace-ink); background: #d4edf0bf; border-color: #478d9e66; }
.app-interface .search-field::placeholder { color: #355e70; }
.app-interface th { color: #174756; background: #a7dce359; border-color: var(--app-line); font-size: 10px; }
.app-interface td { color: var(--workspace-ink); border-color: var(--app-line); font-size: 12px; }
.app-interface td > strong { color: var(--workspace-ink); }
.app-interface td small { color: var(--workspace-copy); font-size: 11px; }
.app-interface :is(.client-row,.file-row,.record-row) { cursor: pointer; transition: background .18s ease, box-shadow .18s ease; }
.app-interface :is(.client-row,.file-row,.record-row) .row-arrow { color: #087d83; font-size: 20px; font-weight: 700; text-align: right; }
.app-interface :is(.client-row,.file-row,.record-row):hover, .app-interface :is(.client-row,.file-row,.record-row):focus-visible { background: #a7dfe87a; box-shadow: inset 4px 0 0 #087d83; outline: none; }
.app-interface :is(.client-row,.file-row,.record-row):hover td, .app-interface :is(.client-row,.file-row,.record-row):focus-visible td { border-color: #478d9e66; }
.app-interface .badge { color: #075a62; background: #a4dfd759; border-color: #418c9a66; font-size: 10px; }
.app-interface .badge.pending { color: #80520f; background: #fff0c6cc; border-color: #c99c4d80; }
.app-interface dialog { color: var(--workspace-ink); background: linear-gradient(125deg, #d2f2ebf5, #c4e7f4f5); border-color: #478d9e80; }
.app-interface dialog > p { color: var(--workspace-copy); font-size: 13px; }
.app-interface dialog::backdrop { background: #123c506b; }
.auth-page .form-stack label, .app-interface .form-stack label { color: var(--workspace-copy); font-size: 13px; }
.auth-page .form-stack input, .auth-page .form-stack select, .app-interface .form-stack input, .app-interface .form-stack select, .app-interface .form-stack textarea { color: var(--workspace-ink); background: #d5eef1d9; border-color: #478d9e66; font-size: 16px; }
.auth-page .form-stack input::placeholder, .app-interface .form-stack input::placeholder, .app-interface .form-stack textarea::placeholder { color: #355e70; opacity: 1; }
.auth-page select option, .app-interface select option { color: #102e40; background: #d7eff1; }
.auth-page .primary, .app-interface .primary { color: #123e4c; background: linear-gradient(115deg, #5ddcc5, #79d4ee); border-color: #3799a76b; box-shadow: inset 0 1px 0 #efffff9c, 0 8px 24px #0e84961c; }
.auth-page .primary:hover, .app-interface .primary:hover { background: linear-gradient(115deg, #7be8d0, #98e4f4); }
.app-interface .glass { color: var(--workspace-copy); background: #b7e3e885; border-color: #478d9e66; }
.auth-page .form-note, .app-interface .form-note { color: #075a62; }
.auth-page .form-note.error, .app-interface .form-note.error { color: #9b343e; }
.app-interface .activation-link { color: var(--workspace-ink); background: #d4edf0; border-color: #478d9e66; }
.app-interface .workspace-footer, .app-interface .workspace-footer > a { color: var(--workspace-copy); font-size: 11px; }
.app-interface .toast { color: #123e4c; background: #c3ece8f5; border-color: #3799a780; }
.app-interface .profile-metric-link { position: relative; cursor: pointer; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.app-interface .profile-metric-link:hover, .app-interface .profile-metric-link:focus-visible { transform: translateY(-2px); background: #e5f8f3; border-color: #087d8370; outline: none; }
.app-interface .profile-metric-link > span { position: absolute; right: 16px; bottom: 14px; color: #087d83; font-size: 18px; }
.app-interface .case-workspace .case-actions { display: flex; align-items: end; gap: 16px; flex-wrap: wrap; padding: 20px; }
.app-interface .case-workspace .case-actions label { display: grid; gap: 7px; min-width: 240px; color: var(--workspace-copy); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.app-interface .case-workspace form { margin: 0 20px 20px; padding: 20px; border: 1px solid var(--app-line); border-radius: 16px; background: #d8eff180; }
.app-interface .case-workspace :is(textarea,input[type="file"],select) { width: 100%; }
.app-interface .case-timeline { display: grid; }
.app-interface .case-timeline article { padding: 20px; border-top: 1px solid var(--app-line); }
.app-interface .case-timeline article:first-child { border-top: 0; }
.app-interface .case-timeline article :is(strong,small) { display: block; }
.app-interface .case-timeline article small { margin-top: 4px; color: var(--workspace-copy); }
.app-interface .case-timeline article p { white-space: pre-wrap; margin: 12px 0 0; line-height: 1.55; }
.app-interface .follow-up { display: inline-flex; padding: 6px 9px; border: 1px solid #478d9e55; border-radius: 999px; white-space: nowrap; font-size: 10px; font-weight: 700; }
.app-interface .follow-up.none { color: #58727d; background: #d8e9eb; }
.app-interface .follow-up.scheduled { color: #075a62; background: #bde9df; }
.app-interface .follow-up.today { color: #80520f; background: #fff0c6; border-color: #c99c4d80; }
.app-interface .follow-up.overdue, .app-interface .overdue-summary { color: #8f2430; background: #ffd9dd; border: 1px solid #c8566280; }
.app-interface .overdue-summary { padding: 8px 11px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.app-interface tr.is-overdue { background: #ffd9dd55; box-shadow: inset 4px 0 0 #ba3d4a; }
.app-interface .overdue-alert { display: flex; gap: 8px 16px; align-items: center; flex-wrap: wrap; margin: 20px 20px 0; padding: 14px 16px; color: #78212a; background: #ffd9dd; border: 1px solid #c8566280; border-radius: 13px; }
.app-interface .overdue-alert strong { font-size: 13px; }
.app-interface .overdue-alert span { font-size: 12px; }
.app-interface .client-edit-panel form { padding: 20px; }
.app-interface .client-case-actions { display: flex; flex-wrap: wrap; gap: 12px; padding: 20px; }
.app-interface section[id] { scroll-margin-top: 110px; }
.auth-page :focus-visible, .app-interface :focus-visible { outline-color: #087d83; }
@media (hover: hover) {
  .app-interface .workspace-nav button:hover:not([aria-current="page"]), .app-interface .app-tile:hover, .app-interface .quick-link:hover, .app-interface .metric:hover { color: var(--workspace-ink); background: linear-gradient(125deg, #b3e7dce6, #b4e0f0e6); border-color: #288e9b99; box-shadow: inset 0 1px 0 #efffffb3, 0 10px 26px #185a6e1f; }
  .app-interface .toolbar-button:hover, .app-interface .account-button:hover { color: var(--workspace-ink); background: #a7dfe8a6; border-color: #288e9b80; }
}
@media (max-width: 600px) {
  .auth-page .auth-copy { padding: 24px; }
  .app-interface .workspace-nav .nav-label { font-size: 11px; }
  .app-interface .workspace-nav button { min-height: 103px; }
  .app-interface .workspace-nav .nav-count { font-size: 9px; }
}
