/* FoxBox adaptation of the supplied HAAWK workstation reference. */
:root {
  color-scheme: light;
  --haawk-accent: #2878bf;
  --haawk-cyan: #52c5f1;
  --haawk-ink: #263441;
  --haawk-muted: #68798a;
  --haawk-line: #b8c8d9;
  --haawk-paper: #dfe6ef;
  --haawk-panel: rgba(247, 250, 253, .68);
  --haawk-panel-strong: rgba(249, 251, 253, .9);
  --haawk-shadow: 0 12px 34px rgba(49, 74, 103, .11);
  --accent: var(--haawk-accent);
  --ink: var(--haawk-ink);
  --muted: var(--haawk-muted);
  --line: var(--haawk-line);
  --line-strong: #9fb3c9;
  --card: var(--haawk-panel);
  --paper: var(--haawk-paper);
  --soft: #e8edf3;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif;
  color: var(--haawk-ink);
}
* { box-sizing: border-box; }
html { min-height: 100%; background: #dfe6ef; }
body {
  position: relative;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  color: var(--haawk-ink);
  background:
    linear-gradient(135deg, transparent 0 14%, rgba(255,255,255,.18) 14% 29%, transparent 29% 58%, rgba(91,132,176,.035) 58% 72%, transparent 72%),
    linear-gradient(45deg, transparent 0 38%, rgba(255,255,255,.22) 38% 55%, transparent 55%),
    linear-gradient(130deg, #d4deeb 0%, #e5eaf0 48%, #d7e0eb 100%);
  background-attachment: fixed;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .38;
  background-image:
    linear-gradient(30deg, transparent 49.7%, rgba(255,255,255,.3) 50%, transparent 50.3%),
    linear-gradient(150deg, transparent 49.7%, rgba(80,113,151,.08) 50%, transparent 50.3%),
    linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.11) 50%, transparent 50.2%);
  background-size: 560px 410px, 720px 530px, 440px 440px;
  background-position: 4vw 0, 36vw 9vh, 61vw 20vh;
}
a { color: var(--haawk-accent); text-decoration: none; }
a:hover { color: #145b9d; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
main {
  width: min(100%, 1880px);
  margin: 0 auto;
  padding: 12px clamp(18px, 3.2vw, 66px) 110px;
}
main:not(.compact) {
  display: grid;
  grid-template-columns: minmax(250px, 23.5%) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
main:not(.compact).nav-inline { grid-template-columns: minmax(250px, 23.5%) minmax(0, 1fr) !important; }
main:not(.compact).nav-inline > h1,
main:not(.compact).nav-inline > section,
main:not(.compact).nav-inline > .app-grid,
main:not(.compact).nav-inline > .dashboard-grid,
main:not(.compact).nav-inline > .split-grid,
main:not(.compact).nav-inline > .metric-strip,
main:not(.compact).nav-inline > .plain-section,
main:not(.compact).nav-inline > .portal-hero,
main:not(.compact).nav-inline > .portal-grid { grid-column: 2 !important; }
main:not(.compact).nav-inline > nav { display: grid !important; grid-column: 1 !important; grid-row: 2 / span 60 !important; }
main:not(.compact).nav-inline > .topbar-nav { display: none !important; }
main:not(.compact).nav-inline.nav-collapsed { grid-template-columns: minmax(0,1fr) !important; }
main:not(.compact).nav-inline.nav-collapsed > nav { display: none !important; }
main:not(.compact).nav-inline.nav-collapsed > h1,
main:not(.compact).nav-inline.nav-collapsed > section,
main:not(.compact).nav-inline.nav-collapsed > .app-grid,
main:not(.compact).nav-inline.nav-collapsed > .dashboard-grid,
main:not(.compact).nav-inline.nav-collapsed > .split-grid,
main:not(.compact).nav-inline.nav-collapsed > .metric-strip,
main:not(.compact).nav-inline.nav-collapsed > .plain-section,
main:not(.compact).nav-inline.nav-collapsed > .portal-hero,
main:not(.compact).nav-inline.nav-collapsed > .portal-grid { grid-column: 1 !important; }
main:not(.compact).nav-collapsed { grid-template-columns: minmax(0, 1fr); }
main:not(.compact) > .topbar { grid-column: 1 / -1; }
main:not(.compact) > nav {
  grid-column: 1;
  grid-row: 2 / span 60;
}
main:not(.compact).nav-collapsed > nav,
main:not(.compact).nav-collapsed > .portal-sidebar { display: none; }
main:not(.compact) > section,
main:not(.compact) > .portal-hero,
main:not(.compact) > .portal-grid,
main:not(.compact) > .dashboard-grid,
main:not(.compact) > .metric-strip,
main:not(.compact) > .split-grid,
main:not(.compact) > .plain-section,
main:not(.compact) > .app-grid,
main:not(.compact) > .kpi-grid { grid-column: 2; min-width: 0; }
main:not(.compact).nav-collapsed > section,
main:not(.compact).nav-collapsed > .portal-hero,
main:not(.compact).nav-collapsed > .portal-grid,
main:not(.compact).nav-collapsed > .dashboard-grid,
main:not(.compact).nav-collapsed > .metric-strip,
main:not(.compact).nav-collapsed > .split-grid,
main:not(.compact).nav-collapsed > .plain-section,
main:not(.compact).nav-collapsed > .app-grid,
main:not(.compact).nav-collapsed > .kpi-grid { grid-column: 1; }
main.compact { display: block; width: min(100%, 480px); padding-top: 74px; }

/* Brand row and the application tabs mirror the reference's two-level header. */
.topbar,
main:not(.compact) > .topbar,
main:not(.compact) > h1 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 22px;
  min-height: 76px;
  margin: 0;
  padding: 8px 0 0;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid rgba(71, 98, 130, .2);
  color: var(--haawk-ink);
  background: transparent;
  box-shadow: none;
}
.topbar h1,
main:not(.compact) > h1 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 140px;
  margin: 0;
  padding: 0;
  color: #283746;
  font-size: 23px;
  font-weight: 820;
  line-height: 1.2;
  letter-spacing: -.02em;
  background: transparent;
  box-shadow: none;
}
.topbar h1::before { display: none !important; }
.portal-brand-mark,
.brand-mark,
.shell > header .mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 0;
  border-radius: 0;
  color: white;
  background: var(--haawk-accent);
  box-shadow: none;
  font-family: Georgia, serif;
  font-size: 24px;
  font-weight: 800;
}
.topbar-tools { display: inline-flex; align-items: center; gap: 7px; order: 0; }
.topbar .topbar-tools .topbar-icon,
.topbar-icon,
.topbar > a,
.portal-tool {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(67, 100, 139, .25);
  border-radius: 0;
  color: #3a526c;
  background: rgba(247,250,253,.64);
  box-shadow: none;
}
.topbar .topbar-tools .topbar-icon:hover,
.topbar-icon:hover,
.topbar > a:hover,
.portal-tool:hover { color: #145b9d; background: #f7fbff; }
.topbar-icon svg, .portal-tool svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.topbar .breadcrumb {
  order: 1;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0;
  color: #6e7e90;
  font-size: 12px;
  font-weight: 650;
}
.topbar .breadcrumb a { color: #526d8c; }
.topbar .breadcrumb-separator { color: #98a9bb; }
.portal-account { order: 3; display: inline-flex; align-items: center; gap: 12px; margin-left: auto; color: #384b60; font-size: 13px; font-weight: 700; }
.portal-account > a, .topbar > a:not(.topbar-icon) { width: auto; height: auto; padding: 8px 13px; color: #344e6b; }
.topbar { flex-wrap: wrap; align-items: center; }
.topbar > h1 { order: 0 !important; flex: 0 1 auto !important; }
.topbar-tools { position: relative; order: 2 !important; margin-left: auto; }
.topbar-actions { display: inline-flex; align-items: center; gap: 7px; }
.topbar .topbar-actions .topbar-icon { width: 38px; height: 38px; }
.topbar .topbar-actions .topbar-logout { color: #315170; }
.mobile-menu-toggle { display: none !important; }
.topbar .portal-account { order: 1; margin: 0 0 0 12px; }
.topbar .breadcrumb { display: none !important; }
.brand-app-tabs {
  position: static;
  top: auto;
  z-index: auto;
  align-self: auto;
  order: 5;
  display: flex;
  align-items: stretch;
  gap: 8px;
  flex: 0 0 100%;
  min-height: 48px;
  max-height: none;
  margin: 0;
  padding: 0 0 0 clamp(150px, 21vw, 360px);
  border: 0;
  border-bottom: 2px solid rgba(86, 119, 157, .25);
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  overflow-x: auto;
}
.brand-app-tabs::before { display: none !important; }
.brand-app-tabs::after { display: none !important; }
.brand-app-tabs a,
.brand-app-tabs span {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  min-height: 46px;
  padding: 0 18px;
  border: 0;
  border-radius: 0;
  color: #2e3c4a;
  background: transparent;
  font-size: 15px;
  font-weight: 780;
  white-space: nowrap;
}
.brand-app-tabs a:hover { color: var(--haawk-accent); background: rgba(246,250,254,.4); }
.brand-app-tabs a[aria-current="page"] { color: var(--haawk-accent); background: rgba(247,250,253,.58); }
.brand-app-tabs a[aria-current="page"]::after { content: ""; position: absolute; inset: auto 0 -2px; height: 3px; background: var(--haawk-accent); }
.brand-app-tabs span[aria-disabled="true"] { color: #596879; opacity: .78; }
.brand-app-tabs span small { margin-left: 7px; color: #8797a8; font-size: 10px; font-weight: 600; }

/* Left information rail and route-specific working navigation. */
nav {
  position: sticky;
  top: 18px;
  z-index: 4;
  align-self: start;
  display: grid;
  gap: 3px;
  max-height: calc(100vh - 36px);
  overflow: auto;
  margin: 0;
  padding: 18px 14px;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 0;
  color: var(--haawk-ink);
  background: rgba(239,244,249,.55);
  box-shadow: none;
  backdrop-filter: blur(8px);
}
nav::before {
  content: "工作区";
  display: block;
  margin: 0 0 7px;
  padding: 4px 5px 11px;
  border-bottom: 2px solid #536779;
  color: #263644;
  font-size: 19px;
  font-weight: 820;
  letter-spacing: .01em;
}
nav::after {
  content: "";
  display: block;
  min-height: 120px;
  margin-top: 18px;
  background: url('/assets/botanical/camellia.svg') center / contain no-repeat;
  opacity: .78;
  pointer-events: none;
}
nav a {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 8px 9px;
  border: 0;
  border-left: 3px solid transparent;
  border-radius: 0;
  color: #324457;
  background: transparent;
  font-size: 14px;
  font-weight: 680;
}
nav a svg { width: 17px; height: 17px; flex: 0 0 17px; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
nav a:hover { color: #155e9f; background: rgba(248,251,254,.58); }
nav a[aria-current="page"], nav a.active { border-left-color: var(--haawk-accent); color: var(--haawk-accent); background: rgba(248,251,254,.76); }

.portal-sidebar {
  grid-column: 1;
  grid-row: 2 / span 60;
  position: sticky;
  top: 18px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  max-height: calc(100vh - 36px);
  overflow: auto;
  padding: 20px 13px;
  border: 1px solid rgba(255,255,255,.5);
  background: rgba(240,245,250,.52);
}
main:not(.compact) > .portal-sidebar { grid-column: 1; grid-row: 2 / span 60; }
.portal-sidebar-intro { padding: 2px 1px 15px; border-bottom: 1px solid rgba(86,110,138,.27); }
.portal-sidebar-intro h2 { margin: 0 0 12px; padding-bottom: 10px; border-bottom: 2px solid #52677c; font-size: 20px; }
.portal-sidebar-intro p { margin: 0 0 14px; color: #596b7d; font-size: 15px; line-height: 1.75; }
.portal-sidebar-feature { display: grid; grid-template-columns: 58px minmax(0,1fr); align-items: center; gap: 10px; min-height: 92px; padding: 12px; background: rgba(249,251,253,.58); }
.portal-sidebar-feature img { width: 56px; height: 64px; object-fit: contain; }
.portal-sidebar-feature strong, .portal-sidebar-feature span { display: block; }
.portal-sidebar-feature strong { margin-bottom: 5px; color: #334455; font-size: 15px; }
.portal-sidebar-feature span { color: #718294; font-size: 12px; line-height: 1.5; }
.portal-home-nav { position: static; display: grid; grid-template-columns: minmax(0,1fr); gap: 3px; width: 100%; max-height: none; overflow: visible; padding: 0; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.portal-home-nav::before { content: "应用与账号"; margin-bottom: 5px; }
.portal-home-nav::after { display: none; }
.portal-sidebar-placeholder { padding: 15px 12px; border-top: 1px solid rgba(86,110,138,.22); color: #718294; font-size: 13px; line-height: 1.6; }
.portal-sidebar-placeholder strong { display: block; margin-bottom: 3px; color: #40576f; }
.portal-sidebar-status { display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 13px; border-top: 1px solid rgba(86,110,138,.25); color: #596c7f; font-size: 12px; }
.portal-sidebar-status::before { content: ""; width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; background: var(--haawk-cyan); box-shadow: 0 0 0 4px rgba(82,197,241,.13); }

/* Home carousel and application cards. */
.portal-hero {
  position: relative;
  grid-column: 2;
  min-height: clamp(250px, 29vw, 390px);
  overflow: hidden;
  margin: 0;
  padding: clamp(26px, 4vw, 54px);
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 0;
  color: var(--haawk-ink);
  background: linear-gradient(105deg, rgba(244,248,252,.92), rgba(215,226,239,.82));
  box-shadow: none;
  backdrop-filter: none;
}
.portal-hero::after {
  content: "";
  position: absolute;
  top: 2%;
  right: 1%;
  bottom: 2%;
  width: min(39%, 430px);
  background: url('/assets/botanical/camellia.svg') center / contain no-repeat;
  opacity: .86;
  pointer-events: none;
}
.portal-hero-brand { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; color: #315170; font-size: 17px; font-weight: 760; }
.portal-hero-brand .portal-brand-mark { width: 34px; height: 34px; flex-basis: 34px; font-size: 20px; }
.portal-hero-role { padding: 5px 9px; border: 1px solid #a9bbcf; border-radius: 0; color: #60748a; background: rgba(250,252,254,.58); font-size: 11px; }
.portal-hero-tools { position: absolute; top: 16px; right: 16px; z-index: 3; display: flex; gap: 5px; max-width: 290px; }
.portal-hero-tools .portal-tool { width: 34px; height: 34px; }
.portal-hero > .eyebrow { color: #526f8f !important; font-size: 12px; letter-spacing: .14em; }
.portal-hero h2 { max-width: 65%; margin: 14px 0 10px; color: #172a3b; font-size: clamp(31px, 4vw, 55px); font-weight: 820; line-height: 1.13; letter-spacing: -.03em; text-shadow: none; }
.portal-hero p:last-child { max-width: 58%; color: #5b6e80; font-size: 15px; line-height: 1.75; }
.portal-hero-carousel { position: relative; z-index: 2; max-width: 68%; min-height: 220px; }
.portal-hero-slide { display: none; animation: haawk-slide-in .35s ease-out; }
.portal-hero-slide.is-active { display: block; }
.portal-hero-slide .eyebrow { margin: 0; color: #4c79a7; font-size: 12px; font-weight: 780; letter-spacing: .12em; }
.portal-hero-slide h2 { max-width: 760px; margin: 18px 0 10px; font-size: clamp(32px, 4vw, 54px); }
.portal-hero-slide p { max-width: 630px; margin: 0 0 20px; color: #566b80; font-size: 15px; line-height: 1.7; }
.portal-hero-slide a { display: inline-flex; align-items: center; min-height: 42px; padding: 0 18px; border-left: 3px solid var(--haawk-cyan); color: #fff; background: var(--haawk-accent); font-size: 14px; font-weight: 760; }
.portal-hero-slide a:hover { background: #1b639f; }
.portal-hero-slide img { display: none; }
.portal-carousel-dots { position: absolute; z-index: 4; bottom: 22px; left: clamp(26px, 4vw, 54px); display: flex; gap: 9px; }
.portal-carousel-dots button { width: 15px; height: 15px; margin: 0; padding: 0; border: 1px solid #8ea2b8; border-radius: 0; background: transparent; box-shadow: none; }
.portal-carousel-dots button[aria-pressed="true"] { border-color: var(--haawk-cyan); background: var(--haawk-cyan); }
.portal-carousel-dots .portal-carousel-toggle { width: auto; min-width: 78px; margin-left: 6px; padding: 0 8px; border-color: #9badc0; color: #435d78; background: rgba(247,250,253,.78); font-size: 11px; }
.portal-carousel-dots .portal-carousel-toggle:hover { color: #1e659f; background: #f8fbff; }
.portal-hero-carousel:focus-within .portal-hero-slide.is-active { animation: none; }
@keyframes haawk-slide-in { from { opacity: .35; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.portal-grid { grid-column: 2; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; align-items: stretch; }
.portal-card {
  position: relative;
  display: block;
  min-height: 190px;
  overflow: hidden;
  padding: 20px 22px;
  border: 0;
  border-left: 4px solid var(--haawk-accent);
  border-radius: 0;
  color: var(--haawk-ink);
  background: rgba(246,249,252,.74);
  box-shadow: none;
  filter: none;
  backdrop-filter: none;
}
.portal-card::before { content: ""; position: absolute; top: 4px; right: 8px; bottom: 3px; width: 38%; background: url('/assets/botanical/camellia.svg') center / contain no-repeat; opacity: .34; }
.portal-card--light::before { background-image: url('/assets/botanical/violet.svg'); }
.portal-card--selfmail::before { background-image: url('/assets/botanical/rose.svg'); }
.portal-card--search::before { background-image: url('/assets/botanical/poppy.svg'); }
.portal-card--products::before { background-image: url('/assets/botanical/poppy.svg'); }
.portal-card__number { top: 15px; left: 20px; color: #82a0bd; font-size: 28px; }
.portal-card__state { top: 16px; right: 16px; padding: 5px 9px; border: 1px solid #a9bdd1; border-radius: 0; color: #2d6da9; background: rgba(248,251,254,.76); font-size: 11px; }
.portal-card__copy { position: relative; z-index: 1; max-width: 72%; padding-top: 40px; }
.portal-card__copy .eyebrow { margin: 0 0 8px; color: #5680a7 !important; font-size: 11px; letter-spacing: .12em; }
.portal-card__copy h2 { margin: 0 0 8px; color: #243749; font-size: 22px; }
.portal-card__copy > p:not(.eyebrow) { margin: 0 0 8px; color: #53677b; font-size: 14px; line-height: 1.55; }
.portal-card__meta { display: inline-block; padding-top: 8px; border-top: 1px solid #b9c9d9; color: #286fae; font-size: 13px; }
.portal-card:hover { color: var(--haawk-ink); background: rgba(250,252,254,.94); box-shadow: 0 8px 24px rgba(49,74,103,.1); transform: translateY(-2px); }
.portal-card--placeholder { border-left-color: #91a4b8; background: rgba(232,238,245,.64); }
.portal-card--placeholder .portal-card__copy { opacity: .77; }
.portal-card--locked { opacity: .74; }

/* App pages, filters, charts and tables retain their current behavior. */
section, .app-card, .task, .panel, .detail, .detail-card, .history, .metric-card, .stat-card, .favorite-card, .login-panel, .portal-sidebar-feature {
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 0;
  color: var(--haawk-ink);
  background: var(--haawk-panel-strong);
  box-shadow: var(--haawk-shadow);
  backdrop-filter: none;
}
.summary-panel, .dashboard-summary, .records-summary, .hero {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.68);
  border-radius: 0;
  color: var(--haawk-ink);
  background: linear-gradient(105deg, rgba(245,249,253,.93), rgba(217,228,240,.82));
  box-shadow: none;
}
.summary-panel::after { content: ""; position: absolute; top: 5px; right: 12px; bottom: 5px; width: 130px; background: url('/assets/botanical/violet.svg') center/contain no-repeat; opacity: .56; pointer-events: none; }
.summary-panel h2, .section-head h2, section h2 { color: #283a4b; }
.eyebrow { color: #4e769d !important; }
.global-search, .toolbar, .filter-shell {
  border: 1px solid rgba(255,255,255,.7) !important;
  border-radius: 0 !important;
  background: rgba(239,245,251,.76) !important;
  box-shadow: none !important;
}
.global-search input, .toolbar input, input, select, textarea {
  border-color: #a9bbce;
  border-radius: 0;
  color: #293c50;
  background: rgba(250,252,254,.9);
}
.filter-grid label { border-color: #b8c8d8 !important; border-radius: 0 !important; background: rgba(248,251,253,.78) !important; }
.filter-grid label > span, .filter-footer, .muted, .status { color: #64788d !important; }
button, .primary, .button, .btn, .next-button, .wechat-button, .email-actions button, .file-picker {
  border: 0;
  border-left: 3px solid var(--haawk-cyan);
  border-radius: 0;
  color: #fff;
  background: var(--haawk-accent);
  box-shadow: none;
}
button:hover, .primary:hover, .next-button:hover, .button:hover { color: #fff; background: #1b639f; }
button.ghost, .close, .icon-button, .reviewer-toggle, .email-actions .email-secondary, .topbar a {
  border: 1px solid #a8b9cb;
  border-radius: 0;
  color: #36526e;
  background: rgba(249,251,253,.75);
}
input:focus, select:focus, textarea:focus, a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid rgba(40,120,191,.2); outline-offset: 2px; border-color: var(--haawk-accent); }
th { border-bottom: 2px solid var(--haawk-accent); color: #2c4054; background: #d2deeb; }
td { border-color: #b6c7d8; }
tbody tr:hover { background: rgba(236,244,251,.82); }
.kpi, .chart-card, .linked-results, .filter-shell, .records-toolbar, .search-result-card { border-radius: 0 !important; box-shadow: none !important; }
.chart-card, .metric-strip, .linked-results { border: 1px solid rgba(255,255,255,.65); background: rgba(244,248,252,.75); }
.search-result-card { border: 0; border-bottom: 1px solid #a8bfd5; color: #33495f; background: rgba(247,250,253,.4); }
.search-result-card:hover { background: rgba(237,245,252,.86); }
.search-result-card strong, .search-result-card b { color: var(--haawk-accent); }
.portal-tool, .topbar-icon { border-radius: 0; }
.login-card { border: 1px solid rgba(255,255,255,.72); border-top: 3px solid var(--haawk-accent); border-radius: 0; color: var(--haawk-ink); background: rgba(244,248,252,.93); box-shadow: var(--haawk-shadow); }
.login-card h1 { color: #25394d; }
.login-card .identity-mark { background-image: url('/assets/botanical/camellia.svg'); }
.light-shell { --paper: #dfe6ef; --paper-deep: #cfdbe8; --ink: #263441; --muted: #68798a; --line: #b8c8d9; --accent: #2878bf; }
.light-shell .reader, .collection-card, .collection-option, .segmented { border-radius: 0; }
.light-shell .next-button { border-radius: 0; }
.site-footer { color: #657b90; }

/* Fixed lower-left status card, inspired by the reference's point widget. */
.workspace-status {
  position: fixed;
  z-index: 40;
  left: clamp(12px, 3.2vw, 56px);
  bottom: 24px;
  display: grid;
  grid-template-columns: 78px minmax(0,1fr) 34px;
  align-items: center;
  gap: 12px;
  width: min(370px, calc(100vw - 24px));
  min-height: 86px;
  padding: 10px 12px;
  border: 1px solid #b5c8dc;
  border-left: 5px solid #b64246;
  color: #edf4fa;
  background: linear-gradient(105deg, #314d69, #202d3a);
  box-shadow: 0 12px 28px rgba(31,48,67,.22);
  transition: width .2s ease, min-height .2s ease;
}
.workspace-status-art { width: 72px; height: 64px; background: url('/assets/botanical/rose.svg') center/contain no-repeat; }
.workspace-status-copy strong, .workspace-status-copy span { display: block; }
.workspace-status-copy strong { margin-bottom: 4px; font-size: 14px; }
.workspace-status-copy span { color: #c2d2e0; font-size: 12px; line-height: 1.4; }
.workspace-status-toggle { width: 32px; height: 32px; margin: 0; padding: 0; border: 1px solid rgba(223,237,249,.35); color: #ecf4fb; background: transparent; }
.workspace-status-toggle::before { content: "−"; font-size: 22px; line-height: 1; }
.workspace-status.is-collapsed { grid-template-columns: 42px 0 30px; width: 100px; min-height: 62px; gap: 4px; padding: 7px; }
.workspace-status.is-collapsed .workspace-status-art { width: 38px; height: 42px; }
.workspace-status.is-collapsed .workspace-status-copy { display: none; }
.workspace-status.is-collapsed .workspace-status-toggle::before { content: "+"; }

/* Reference-like spacing and intentional responsive reflow. */
@media (min-width: 1880px) { main { padding-right: 48px; padding-left: 48px; } }
@media (max-width: 1180px) {
  main:not(.compact) { grid-template-columns: 220px minmax(0,1fr); }
  main:not(.compact).nav-inline { grid-template-columns: 220px minmax(0,1fr) !important; }
  main:not(.compact).nav-inline > .portal-sidebar { grid-column: 1; }
  .portal-grid { grid-template-columns: 1fr; }
  .dashboard-grid, .split-grid, .form-grid.dense { grid-template-columns: 1fr; }
  .portal-hero-carousel { max-width: 75%; }
}
@media (max-width: 760px) {
  body { background-attachment: scroll; }
  main { padding: 8px 12px 108px; }
  main:not(.compact) { display: flex; flex-direction: column; gap: 12px; }
  main:not(.compact) > *, .portal-hero, .portal-grid { width: 100%; }
  .topbar { position: relative; min-height: 0; gap: 8px; padding: 6px 0 0; }
  .topbar > h1 { min-width: 0; flex: 1 1 auto !important; font-size: 19px; }
  .topbar-tools { order: 2 !important; flex: 0 0 auto; margin-left: auto; }
  .topbar .mobile-menu-toggle { display: inline-flex !important; }
  .topbar-actions { display: none; position: absolute; top: calc(100% + 8px); right: 0; z-index: 30; grid-template-columns: repeat(3, 40px); gap: 8px; padding: 10px; border: 1px solid rgba(67,100,139,.24); background: rgba(235,242,249,.98); box-shadow: 0 12px 30px rgba(31,53,77,.16); }
  .topbar-tools.is-open .topbar-actions { display: grid; }
  .topbar .topbar-actions .topbar-icon { width: 40px; height: 40px; }
  .topbar .topbar-actions .topbar-logout { color: #315170; }
  .topbar .portal-account { order: 1; margin: 0; }
  .topbar .portal-account > span { display: none; }
  .portal-account { gap: 5px; font-size: 11px; }
  .brand-app-tabs { min-height: 42px; padding-left: 0; gap: 2px; }
  .brand-app-tabs a, .brand-app-tabs span { min-width: max-content; min-height: 40px; padding: 0 12px; font-size: 13px; }
  main:not(.compact) > nav, main:not(.compact) > .portal-sidebar, .portal-sidebar { position: static; width: 100%; max-height: none; }
  main:not(.compact).nav-inline > nav { display: grid !important; grid-column: 1 !important; grid-row: auto !important; }
  nav { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 10px; }
  nav::before { grid-column: 1 / -1; }
  nav::after { display: none; }
  .portal-sidebar { gap: 10px; padding: 13px; }
  .portal-sidebar-intro p { font-size: 14px; }
  .portal-home-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .portal-sidebar-placeholder, .portal-sidebar-status { display: none; }
  .portal-hero { min-height: 300px; padding: 24px 18px 54px; }
  .portal-hero::after { top: 18%; right: -3%; bottom: 4%; width: 48%; opacity: .58; }
  .portal-hero-brand { margin-bottom: 16px; }
  .portal-hero-tools { top: 10px; right: 10px; max-width: 130px; }
  .portal-hero-tools .portal-tool { width: 30px; height: 30px; }
  .portal-hero-carousel { max-width: 86%; min-height: 210px; }
  .portal-hero-slide h2 { max-width: 100%; font-size: 30px; }
  .portal-hero-slide p { max-width: 92%; font-size: 14px; }
  .portal-carousel-dots { left: 18px; bottom: 18px; }
  .portal-card { min-height: 176px; padding: 16px; }
  .portal-card__copy { max-width: 78%; padding-top: 34px; }
  .portal-card__copy h2 { font-size: 20px; }
  .portal-card__copy > p:not(.eyebrow) { font-size: 13px; }
  .portal-card::before { width: 34%; opacity: .26; }
  .summary-panel { min-height: 0; padding: 19px; }
  .summary-panel h2 { font-size: 25px; }
  .summary-panel::after { width: 72px; opacity: .32; }
  .global-search { grid-template-columns: 1fr auto; padding-left: 12px; }
  .global-search > span { display: none; }
  .filter-grid { grid-template-columns: 1fr 1fr; }
  .filter-footer { align-items: flex-start; }
  table { display: block; overflow-x: auto; }
  .workspace-status { left: 12px; bottom: 12px; grid-template-columns: 54px minmax(0,1fr) 32px; width: min(320px, calc(100vw - 24px)); min-height: 68px; }
  .workspace-status-art { width: 50px; height: 50px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* The Fox landing page follows the supplied wide-screen reference. */
main.fox-home-page { display: block !important; width: 100%; max-width: none; margin: 0; padding: 0; }
.fox-home-page .site-footer, body:has(main.fox-home-page) > .site-footer { display: none; }
.fox-reference-home { min-height: 100vh; color: #202124; background: linear-gradient(132deg, #e3e5eb 0%, #d8dbe3 48%, #cdd1da 100%); }
.fox-home-stage { position: relative; isolation: isolate; min-height: clamp(820px, 44vw, 930px); overflow: hidden; background: linear-gradient(132deg, #e3e5eb 0%, #d8dbe3 48%, #cdd1da 100%); }
.fox-home-header { position: absolute; z-index: 6; top: 0; left: 50%; display: grid; grid-template-columns: minmax(110px, 17%) 1fr auto; align-items: center; min-height: 112px; width: min(100%, 1880px); margin: 0; padding: 0 clamp(22px, 5.8vw, 108px); border: 0; background: transparent; transform: translateX(-50%); }
.fox-home-brand { color: #2878bf; font-family: Georgia, serif; font-size: 32px; font-weight: 800; letter-spacing: -.08em; }
.fox-home-brand:hover { color: #1b639f; }
.fox-home-nav { position: static; display: flex; align-items: stretch; justify-content: center; gap: clamp(12px, 4vw, 78px); width: auto; max-height: none; overflow: visible; padding: 0; border: 0; background: transparent; box-shadow: none; }
.fox-home-nav::before, .fox-home-nav::after { display: none; }
.fox-home-nav a { position: relative; display: grid; place-items: center; min-height: 112px; padding: 0 20px; border: 0; color: #3a3c42; background: transparent; font-size: 17px; font-weight: 740; }
.fox-home-nav a:hover, .fox-home-nav a.is-active { color: #2878bf; background: rgba(255,255,255,.28); }
.fox-home-nav a.is-active::after { content: ""; position: absolute; right: 18px; bottom: 0; left: 18px; height: 3px; background: #2878bf; }
.fox-home-identity { display: inline-flex; align-items: center; gap: 12px; max-width: 330px; color: #313840; font-size: 15px; font-weight: 720; white-space: nowrap; }
.fox-home-identity-mark { color: #252e37; font-size: 25px; }
.fox-home-hero { position: relative; z-index: 1; display: flex; align-items: center; min-height: clamp(820px, 44vw, 930px); overflow: hidden; width: min(100%, 1880px); margin: 0 auto; padding: 170px clamp(22px, 8vw, 150px) 430px; }
.fox-home-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(241,242,246,.25), transparent 70%), repeating-linear-gradient(142deg, transparent 0 142px, rgba(255,255,255,.1) 143px 145px, transparent 146px 264px); }
.fox-home-carousel { position: relative; z-index: 2; width: min(59%, 770px); min-height: 260px; }
.fox-home-slide { display: none; animation: fox-home-enter .32s ease-out; }
.fox-home-slide.is-active { display: block; }
.fox-home-kicker { margin: 0 0 20px; color: #2878bf; font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.fox-home-kicker span { margin-left: 12px; color: #78828e; }
.fox-home-slide h2 { max-width: 680px; margin: 0 0 12px; color: #111316; font-size: clamp(40px, 5vw, 76px); font-weight: 820; line-height: 1.05; letter-spacing: -.055em; }
.fox-home-description { max-width: 570px; margin: 0; color: #41464c; font-size: clamp(15px, 1.15vw, 19px); line-height: 1.65; }
.fox-home-open { display: inline-flex; align-items: center; gap: 24px; min-height: 44px; margin-top: 26px; padding: 0 16px; border-left: 3px solid #52c5f1; color: #fff; background: #2878bf; font-size: 14px; font-weight: 760; }
.fox-home-open:hover { color: #fff; background: #1b639f; }
.fox-home-open span { font-size: 19px; }
.fox-home-dots { position: absolute; z-index: 4; bottom: 32px; left: clamp(22px, 8vw, 150px); display: flex; gap: 9px; }
.fox-home-dots button { width: 16px; height: 16px; margin: 0; padding: 0; border: 1px solid #8d99a6; background: rgba(244,246,249,.6); }
.fox-home-dots button[aria-pressed="true"] { border-color: #52c5f1; background: #52c5f1; }
.fox-home-visual { position: absolute; top: 0; right: 4%; bottom: 0; width: 42%; overflow: hidden; pointer-events: none; }
.fox-home-flower { position: absolute; z-index: 2; top: 50%; left: 51%; width: min(22vw, 310px); height: 52%; object-fit: contain; transform: translate(-50%,-50%); filter: drop-shadow(0 10px 16px rgba(55,73,93,.16)); transition: opacity .22s ease, transform .3s ease; }
.fox-home-visual-caption { position: absolute; right: 8%; bottom: 16%; padding: 7px 0 7px 11px; color: #526477; font-size: 13px; font-weight: 760; letter-spacing: .08em; line-height: 1.4; }
.fox-home-collections { position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: minmax(0, 660px) minmax(0, 1fr); align-items: start; gap: clamp(24px, 3.2vw, 56px); width: 100%; min-height: 420px; padding: 24px max(calc((100vw - 1500px)/2), 6vw) 44px; color: #f4f5f6; background: linear-gradient(180deg, rgba(32,32,32,.28) 0%, rgba(32,32,32,.86) 20%, #202020 46%); }
.fox-home-recommendations, .fox-home-management { min-width: 0; margin: 0; padding: 0; border: 0; color: inherit; background: transparent; box-shadow: none; }
.fox-home-recommendations > header, .fox-home-management > header { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding: 0; border: 0; background: transparent; }
.fox-home-recommendations > header::before, .fox-home-management > header::before { content: ""; width: 3px; height: 25px; background: #52c5f1; }
.fox-home-recommendations > header h2, .fox-home-management > header h2 { margin: 0; color: #f5f6f7; font-size: 19px; font-weight: 760; }
.fox-home-apps { display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; scrollbar-color: #59616a transparent; padding-bottom: 8px; }
.fox-app-card { position: relative; display: flex; min-height: 236px; overflow: hidden; align-items: flex-end; padding: 18px; border: 1px solid #e6e9ed; color: #171a1e; background: #fff; }
.fox-app-card { flex: 0 0 calc((100% - 12px) / 2); }
.fox-app-card:hover { color: #080a0c; background: #fff; filter: brightness(.97); }
.fox-app-card-label { position: absolute; z-index: 2; top: 14px; left: 16px; color: #171a1e; font-size: 10px; font-weight: 700; }
.fox-app-card-art { position: absolute; top: 2%; right: 0; bottom: 29%; width: 48%; background: url('/assets/botanical/camellia.svg?v=20260929-13') center/contain no-repeat; opacity: .96; }
.fox-card-art--search .fox-app-card-art { background-image: url('/assets/botanical/violet.svg?v=20260929-13'); }
.fox-card-art--light .fox-app-card-art { background-image: url('/assets/botanical/rose.svg?v=20260929-13'); }
.fox-app-card-copy { position: relative; z-index: 1; display: grid; max-width: 48%; gap: 5px; color: #171a1e; }
.fox-app-card-copy small { color: #171a1e; font-size: 10px; }
.fox-app-card-copy strong { font-size: 27px; }
.fox-app-card-copy > span { color: #171a1e; font-size: 12px; }
.fox-app-card-arrow { position: absolute; right: 16px; bottom: 18px; color: #171a1e; font-size: 21px; }
.fox-app-card.is-locked { border-style: dashed; }
.fox-home-manage-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; }
.fox-manage-card { position: relative; display: flex; min-height: 236px; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 14px 11px; border: 1px solid #e6e9ed; color: #171a1e; background: #fff; }
.fox-manage-card:hover { color: #080a0c; background: #fff; filter: brightness(.97); }
.fox-manage-card-art { position: absolute; z-index: 0; top: 1%; right: 0; bottom: 34%; width: 100%; background-position: center; background-size: contain; background-repeat: no-repeat; opacity: .96; pointer-events: none; }
.fox-manage-art--poppy { background-image: url('/assets/botanical/poppy.svg?v=20260929-13'); }
.fox-manage-art--lavender { background-image: url('/assets/botanical/lavender.svg?v=20260929-13'); }
.fox-manage-art--sunflower { background-image: url('/assets/botanical/sunflower.svg?v=20260929-13'); }
.fox-manage-art--tulip { background-image: url('/assets/botanical/tulip.svg?v=20260929-13'); }
.fox-manage-card > span:not(.fox-manage-card-art) { position: absolute; z-index: 1; top: 13px; left: 11px; color: #171a1e; font: 18px Georgia,serif; }
.fox-manage-card strong, .fox-manage-card small { position: relative; z-index: 1; }
.fox-manage-card.is-locked { border-style: dashed; }
.fox-manage-card strong { font-size: clamp(13px, 1vw, 17px); }
.fox-manage-card small { margin-top: 6px; color: #171a1e; font-size: 10px; line-height: 1.45; }
.fox-manage-card b { position: absolute; z-index: 1; right: 10px; top: 12px; color: #171a1e; font-size: 17px; }
@keyframes fox-home-enter { from { opacity: .3; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1200px) { .fox-home-stage { min-height: 0; overflow: hidden; } .fox-home-header { min-height: 100px; } .fox-home-nav a { min-height: 100px; } .fox-home-hero { min-height: clamp(540px, 62vw, 680px); padding: 150px 7vw 100px; } .fox-home-dots { left: 7vw; bottom: 82px; } .fox-home-collections { position: relative; grid-template-columns: 1fr; min-height: 0; margin-top: -76px; padding: 34px 7vw 42px; background: linear-gradient(180deg, rgba(32,32,32,0) 0%, rgba(32,32,32,.92) 76px, #202020 150px); } .fox-home-manage-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width: 1050px) { .fox-home-header { grid-template-columns: 90px 1fr auto; padding-inline: 24px; } .fox-home-nav { gap: 10px; } .fox-home-nav a { padding-inline: 12px; } .fox-home-hero { padding-inline: 7vw; } .fox-home-dots { left: 7vw; } .fox-home-collections { grid-template-columns: 1fr; padding-inline: 7vw; } .fox-home-manage-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width: 680px) { main.fox-home-page { padding: 0; } .fox-home-header { min-height: 76px; grid-template-columns: auto 1fr; gap: 8px; padding: 0 16px; } .fox-home-brand { font-size: 27px; } .fox-home-nav { justify-content: flex-end; gap: 2px; } .fox-home-nav a { min-height: 76px; padding: 0 8px; font-size: 12px; } .fox-home-identity { grid-column: 1/-1; justify-self: end; margin-top: -4px; padding-bottom: 8px; font-size: 11px; } .fox-home-identity-mark { font-size: 17px; } .fox-home-header { padding-bottom: 4px; } .fox-home-hero { min-height: 520px; align-items: flex-start; padding: 120px 22px 115px; } .fox-home-carousel { width: 100%; min-height: 245px; } .fox-home-slide h2 { max-width: 82%; font-size: clamp(38px, 12vw, 58px); } .fox-home-description { max-width: 78%; font-size: 14px; } .fox-home-visual { right: -9%; bottom: 8px; width: 70%; opacity: .62; } .fox-home-flower { top: auto; left: auto; right: 4%; bottom: 8%; width: 135px; height: 50%; transform: none; } .fox-home-visual-caption { right: 7%; bottom: 13%; font-size: 11px; } .fox-home-dots { left: 22px; bottom: 80px; } .fox-home-collections { gap: 30px; margin-top: -68px; padding: 30px 16px 32px; } .fox-home-apps { gap: 8px; } .fox-app-card { flex-basis: min(78vw, 290px); min-height: 185px; padding: 12px; } .fox-app-card-copy strong { font-size: 21px; } .fox-app-card-copy > span { font-size: 10px; } .fox-home-manage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .fox-manage-card { min-height: 145px; padding: 12px; } .fox-manage-card-art { bottom: 41%; } }

/* Fixed lower-left status card, inspired by the reference's point widget. */
.workspace-status {
  position: fixed;
  z-index: 40;
  left: clamp(12px, 3.2vw, 56px);
  bottom: 24px;
  display: grid;
  grid-template-columns: 78px minmax(0,1fr) 34px;
  align-items: center;
  gap: 12px;
  width: min(370px, calc(100vw - 24px));
  min-height: 86px;
  padding: 10px 12px;
  border: 1px solid #b5c8dc;
  border-left: 5px solid #b64246;
  color: #edf4fa;
  background: linear-gradient(105deg, #314d69, #202d3a);
  box-shadow: 0 12px 28px rgba(31,48,67,.22);
  transition: width .2s ease, min-height .2s ease;
}
.workspace-status-art { width: 72px; height: 64px; background: url('/assets/botanical/rose.svg') center/contain no-repeat; }
.workspace-status-copy strong, .workspace-status-copy span { display: block; }
.workspace-status-copy strong { margin-bottom: 4px; font-size: 14px; }
.workspace-status-copy span { color: #c2d2e0; font-size: 12px; line-height: 1.4; }
.workspace-status-toggle { width: 32px; height: 32px; margin: 0; padding: 0; border: 1px solid rgba(223,237,249,.35); color: #ecf4fb; background: transparent; }
.workspace-status-toggle::before { content: "−"; font-size: 22px; line-height: 1; }
.workspace-status.is-collapsed { grid-template-columns: 42px 0 30px; width: 100px; min-height: 62px; gap: 4px; padding: 7px; }
.workspace-status.is-collapsed .workspace-status-art { width: 38px; height: 42px; }
.workspace-status.is-collapsed .workspace-status-copy { display: none; }
.workspace-status.is-collapsed .workspace-status-toggle::before { content: "+"; }

/* Reference-like spacing and intentional responsive reflow. */
@media (min-width: 1880px) { main { padding-right: 48px; padding-left: 48px; } }
@media (max-width: 1180px) {
  main:not(.compact) { grid-template-columns: 220px minmax(0,1fr); }
  main:not(.compact).nav-inline { grid-template-columns: 220px minmax(0,1fr) !important; }
  main:not(.compact).nav-inline > .portal-sidebar { grid-column: 1; }
  .portal-grid { grid-template-columns: 1fr; }
  .dashboard-grid, .split-grid, .form-grid.dense { grid-template-columns: 1fr; }
  .portal-hero-carousel { max-width: 75%; }
}
@media (max-width: 760px) {
  body { background-attachment: scroll; }
  main { padding: 8px 12px 108px; }
  main:not(.compact) { display: flex; flex-direction: column; gap: 12px; }
  main:not(.compact) > *, .portal-hero, .portal-grid { width: 100%; }
  .topbar { position: relative; min-height: 0; gap: 8px; padding: 6px 0 0; }
  .topbar > h1 { min-width: 0; flex: 1 1 auto !important; font-size: 19px; }
  .topbar-tools { order: 2 !important; flex: 0 0 auto; margin-left: auto; }
  .topbar .mobile-menu-toggle { display: inline-flex !important; }
  .topbar-actions { display: none; position: absolute; top: calc(100% + 8px); right: 0; z-index: 30; grid-template-columns: repeat(3, 40px); gap: 8px; padding: 10px; border: 1px solid rgba(67,100,139,.24); background: rgba(235,242,249,.98); box-shadow: 0 12px 30px rgba(31,53,77,.16); }
  .topbar-tools.is-open .topbar-actions { display: grid; }
  .topbar .topbar-actions .topbar-icon { width: 40px; height: 40px; }
  .topbar .topbar-actions .topbar-logout { color: #315170; }
  .topbar .portal-account { order: 1; margin: 0; }
  .topbar .portal-account > span { display: none; }
  .portal-account { gap: 5px; font-size: 11px; }
  .brand-app-tabs { min-height: 42px; padding-left: 0; gap: 2px; }
  .brand-app-tabs a, .brand-app-tabs span { min-width: max-content; min-height: 40px; padding: 0 12px; font-size: 13px; }
  main:not(.compact) > nav, main:not(.compact) > .portal-sidebar, .portal-sidebar { position: static; width: 100%; max-height: none; }
  main:not(.compact).nav-inline > nav { display: grid !important; grid-column: 1 !important; grid-row: auto !important; }
  nav { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 10px; }
  nav::before { grid-column: 1 / -1; }
  nav::after { display: none; }
  .portal-sidebar { gap: 10px; padding: 13px; }
  .portal-sidebar-intro p { font-size: 14px; }
  .portal-home-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .portal-sidebar-placeholder, .portal-sidebar-status { display: none; }
  .portal-hero { min-height: 300px; padding: 24px 18px 54px; }
  .portal-hero::after { top: 18%; right: -3%; bottom: 4%; width: 48%; opacity: .58; }
  .portal-hero-brand { margin-bottom: 16px; }
  .portal-hero-tools { top: 10px; right: 10px; max-width: 130px; }
  .portal-hero-tools .portal-tool { width: 30px; height: 30px; }
  .portal-hero-carousel { max-width: 86%; min-height: 210px; }
  .portal-hero-slide h2 { max-width: 100%; font-size: 30px; }
  .portal-hero-slide p { max-width: 92%; font-size: 14px; }
  .portal-carousel-dots { left: 18px; bottom: 18px; }
  .portal-card { min-height: 176px; padding: 16px; }
  .portal-card__copy { max-width: 78%; padding-top: 34px; }
  .portal-card__copy h2 { font-size: 20px; }
  .portal-card__copy > p:not(.eyebrow) { font-size: 13px; }
  .portal-card::before { width: 34%; opacity: .26; }
  .summary-panel { min-height: 0; padding: 19px; }
  .summary-panel h2 { font-size: 25px; }
  .summary-panel::after { width: 72px; opacity: .32; }
  .global-search { grid-template-columns: 1fr auto; padding-left: 12px; }
  .global-search > span { display: none; }
  .filter-grid { grid-template-columns: 1fr 1fr; }
  .filter-footer { align-items: flex-start; }
  table { display: block; overflow-x: auto; }
  .workspace-status { left: 12px; bottom: 12px; grid-template-columns: 54px minmax(0,1fr) 32px; width: min(320px, calc(100vw - 24px)); min-height: 68px; }
  .workspace-status-art { width: 50px; height: 50px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
