/* Locally hosted, unmodified Google Fonts WOFF2 subsets; licenses in fonts/. */
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/heebo-hebrew-v1.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/heebo-latin-v1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(fonts/rubik-hebrew-v1.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(fonts/rubik-latin-v1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Hebrew-first body face, with softly rounded headings and navigation. */
:root { --font-body: 'Heebo', Arial, sans-serif; --font-heading: 'Rubik', 'Heebo', Arial, sans-serif; }
body, .system-shell { font-family: var(--font-body); font-weight: 400; line-height: 1.75; }
h1, h2, h3, .app-header .brand, .console-nav>a, .sidebar-heading strong { font-family: var(--font-heading); letter-spacing: normal; }
h1, .console-heading h1 { font-weight: 700; line-height: 1.4; }
h2, h3, .console-panel h2, .section-heading h2 { font-weight: 600; line-height: 1.5; }
.console-nav>a { font-weight: 500; line-height: 1.55; }
button, input, select, textarea, .button { font-family: var(--font-body); }
button, .button, .row-action { font-weight: 600; }
.brand small { font-family: var(--font-body); font-weight: 400; }
.journal-text { max-width: 70ch; line-height: 1.85; }
.header-date time, .account-phone, .last-login, .console-metrics strong { font-variant-numeric: tabular-nums; }

/* A stable action palette; labels and shapes always convey the meaning too. */
.ui-icon {
  --icon-ink: #594281; --icon-wash: #efe9fa;
  width: 2.5rem; height: 2.5rem; padding: .375rem;
  color: var(--icon-ink); background: var(--icon-wash);
  border-radius: .75rem; stroke-width: 2;
  vertical-align: middle; flex-shrink: 0;
}
.icon-edit, .icon-search, .icon-view, .icon-filter { --icon-ink: #1756a5; --icon-wash: #e8f0ff; }
.icon-save, .icon-check, .icon-upload { --icon-ink: #126849; --icon-wash: #e5f5ec; }
.icon-trash { --icon-ink: #a52543; --icon-wash: #fde8ee; }
.icon-restore { --icon-ink: #086c68; --icon-wash: #def5f0; }
.icon-plus, .icon-users, .icon-settings { --icon-ink: #6234a6; --icon-wash: #efe6ff; }
.icon-heart { --icon-ink: #a82d69; --icon-wash: #fce7f1; }
.icon-folder, .icon-pause { --icon-ink: #8b5209; --icon-wash: #fff0d2; }
.icon-file, .icon-mail { --icon-ink: #155e83; --icon-wash: #e2f3fb; }
.icon-home, .icon-list, .icon-history { --icon-ink: #47569a; --icon-wash: #eceffd; }
.icon-back, .icon-next, .icon-logout, .icon-key { --icon-ink: #545067; --icon-wash: #eeeef5; }
.console-nav>a>.ui-icon { width: 2.75rem; height: 2.75rem; padding: .4375rem; border-radius: .875rem; }
.console-nav>a { gap: 12px; padding: 10px 12px; }
.console-nav>a[aria-current=page] { background: #594576; }
.sidebar-bottom>a { gap: 12px; }
button, .button, .row-action { gap: 10px; min-height: 52px; }
button>.ui-icon, .button>.ui-icon, .row-action>.ui-icon { margin: 0; }
button, .button { padding-block: 8px; }
.section-heading>a { gap: 8px; }
.breadcrumbs .ui-icon { width: 1.5rem; height: 1.5rem; padding: 0; background: none; border-radius: 0; }
.back .ui-icon { width: 2rem; height: 2rem; padding: .25rem; }
.logout-button .ui-icon { width: 2rem; height: 2rem; padding: .25rem; }
.account-label { max-width: 260px; }
.system-layout { grid-template-columns: 280px minmax(0,1fr); }
@media(max-width:1100px) { .system-layout { grid-template-columns: 245px minmax(0,1fr); } }
@media(max-width:800px) {
  .system-layout { display: block; }
  .app-header .identity { flex-wrap: wrap; }
  .account-label { max-width: 170px; }
  .console-nav>a { padding: 10px; }
}
@media(forced-colors:active) {
  .ui-icon { color: CanvasText; background: Canvas; border: 1px solid CanvasText; }
  :focus-visible { outline-color: Highlight; }
}

/* The personal card and its account header share the same content edges. */
.personal-card-shell { --personal-gutter: 38px; --personal-width: 1120px; }
.personal-card-shell .app-header {
  padding-inline: max(var(--personal-gutter), calc((100% - var(--personal-width)) / 2 + var(--personal-gutter)));
}
.personal-card-shell .personal-card-layout { max-width: var(--personal-width); }
.personal-card-shell .console-main { padding-inline: var(--personal-gutter); }
@media(min-width:1700px) { .personal-card-shell { --personal-gutter: 55px; } }
@media(max-width:1250px) { .personal-card-shell { --personal-gutter: 24px; } }
@media(max-width:800px) { .personal-card-shell { --personal-gutter: 16px; } }
