/* Staged mobile-first experience for review; desktop rules remain unchanged. */
@media (max-width: 620px) {
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body { min-width: 320px; overflow-x: hidden; font-size: 15px; }
  button, input, select, textarea { font-size: 16px; }
  .btn, .text-button { min-height: 44px; }

  /* Compact sign-in: brand first, form next, decorative desktop panel removed. */
  .auth-gate {
    min-height: 100svh;
    display: block;
    padding: max(12px, env(safe-area-inset-top)) 12px max(16px, env(safe-area-inset-bottom));
    background:
      radial-gradient(circle at 4% 8%, rgba(197,164,126,.17), transparent 22%),
      radial-gradient(circle at 100% 96%, rgba(18,61,70,.08), transparent 27%),
      var(--canvas);
  }
  .auth-stage {
    display: block;
    width: min(100%, 480px);
    min-height: 0;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 22px;
    box-shadow: 0 18px 50px rgba(22,45,48,.1);
  }
  .auth-visual { display: none; }
  .auth-panel { display: block; padding: 22px 20px 20px; }
  .auth-card { width: 100%; }
  .auth-brand { align-items: center; gap: 11px; margin-bottom: 24px; }
  .auth-brand .brand-symbol { flex-basis: 44px; width: 44px; height: 44px; padding: 3px; border-radius: 13px; }
  .auth-brand strong { font-size: 16px !important; line-height: 1.35; }
  .auth-brand small { font-size: 10px !important; }
  .auth-step-label { margin-bottom: 7px; font-size: 12px; }
  .auth-card h1 { margin: 0 0 5px; font-size: 25px !important; line-height: 1.3; }
  .auth-card > p:not(.form-error) { margin-bottom: 17px; font-size: 14px !important; line-height: 1.7; }
  .auth-card label { margin: 13px 0 6px; font-size: 14px !important; }
  .auth-card input, .auth-card select { min-height: 48px; border-radius: 11px; }
  .auth-submit { min-height: 50px !important; margin-top: 10px; font-size: 15px !important; }
  .auth-card .text-button { min-height: 44px; font-size: 14px !important; }
  .auth-card .auth-note { align-items: flex-start; margin-top: 15px; font-size: 11px !important; }
  .auth-card .auth-policy-links { gap: 8px 18px; margin-top: 8px; font-size: 13px; }
  .google-signin-section { margin-top: 5px; }
  #googleSignInButton { min-height: 44px; }

  /* App chrome: compact sticky header, discoverable search and thumb friendly actions. */
  .sidebar { display: none; }
  .main { width: 100%; margin: 0; padding: 0 12px calc(100px + env(safe-area-inset-bottom)); }
  .main .topbar {
    position: sticky;
    top: 0;
    z-index: 8;
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-areas: "brand action" "search search";
    gap: 9px 10px;
    min-height: 0;
    margin: 0 -12px 16px;
    padding: max(9px, env(safe-area-inset-top)) 12px 11px;
    border-bottom: 1px solid rgba(18,61,70,.08);
    background: rgba(247,245,240,.94);
    backdrop-filter: blur(14px);
  }
  .main .topbar .mobile-brand { grid-area: brand; min-width: 0; gap: 9px; }
  .mobile-brand .brand-symbol, .mobile-brand .brand-logo { flex-basis: 36px; width: 36px; height: 36px; }
  .mobile-brand strong { overflow: hidden; max-width: 48vw; text-overflow: ellipsis; white-space: nowrap; font-size: 16px !important; }
  .main .topbar .topbar-company, .main .topbar .breadcrumb,
  .main .topbar .topbar-spacer, .main .topbar .today-label { display: none; }
  .main .topbar .global-search { grid-area: search; width: 100%; min-width: 0; max-width: none; }
  .main .topbar .global-search > input {
    height: 44px;
    padding-inline: 13px;
    border-color: rgba(18,61,70,.12);
    border-radius: 12px;
    background: #fff;
    font-size: 14px;
  }
  .main .topbar .global-search > input::placeholder { color: #78898c; }
  .main .topbar .global-search::before { display: none; }
  .main .topbar #quickProjectButton { grid-area: action; min-height: 42px; padding-inline: 12px; border-radius: 11px; font-size: 12px; white-space: nowrap; }
  .page-heading { gap: 12px; }
  #dashboard .dashboard-page-heading { margin-bottom: 13px; }
  #dashboard .dashboard-title-copy h1 { font-size: 26px; }
  #dashboard .dashboard-title-copy p { max-width: 38ch; font-size: 13px; }
  .page-view:not(#dashboard) > .page-heading { margin-bottom: 13px; }
  .page-view:not(#dashboard) > .page-heading > div:first-child { padding-inline-end: 45px; }
  .page-view .page-heading h1 { font-size: 23px; }
  .page-view .page-heading p { font-size: 13px; }
  .page-view .page-heading .button-row { grid-template-columns: 1fr; }
  .page-view .page-heading .button-row > * { min-height: 44px; font-size: 12px; }
  .page-view .table-tools { grid-template-columns: minmax(0,1fr) minmax(0,.76fr); gap: 8px; }
  .page-view .table-tools input, .page-view .table-tools select { min-height: 44px; font-size: 14px; }
  .metric { border-radius: 14px; }
  .metric span, .metric small { font-size: 11px; line-height: 1.5; }
  #dashboard .dashboard-primary-metric { min-height: 104px; padding: 11px 10px; }
  #dashboard .dashboard-primary-metric > div > span { font-size: 11px; }
  #dashboard .dashboard-primary-metric strong { font-size: 23px; }
  #dashboard .dashboard-primary-metric small { font-size: 10px; }
  #dashboard .dashboard-shortcut { min-height: 58px; }
  .panel { border-radius: 15px; }
  .panel-heading { min-height: 62px; }
  .panel-heading h2 { font-size: 14px; }
  .panel-heading p { font-size: 11px; line-height: 1.5; }
  .task-grid, .approval-grid { gap: 10px; }
  .task-card, .approval-card { padding: 15px; }
  .task-card h2, .approval-card h2 { font-size: 15px; }
  .task-card p, .approval-card p, .notification-item p { font-size: 13px; line-height: 1.65; }
  .task-card .btn, .approval-card .btn, .notification-item .btn { min-height: 44px; }
  .filters > *, .form-grid input, .form-grid select, .form-grid textarea,
  .team-form input, .team-form select, .delegation-form input, .delegation-form select { min-height: 44px; font-size: 15px; }
  .form-grid { grid-template-columns: minmax(0,1fr); gap: 11px; }
  .form-grid .span-two { grid-column: auto; }
  .page-view .team-layout, .page-view .contracts-layout { grid-template-columns: minmax(0,1fr); }
  .page-view .team-layout > *, .page-view .contracts-layout > * { min-width: 0; }
  .page-view .delegation-form { grid-template-columns: minmax(0,1fr); }
  .page-view .notification-preference-grid { grid-template-columns: minmax(0,1fr); }
  .page-view .notification-preference-grid label { min-height: 46px; padding: 10px 11px; font-size: 13px; }
  .invoice-line { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; }
  .invoice-line input, .invoice-line select { min-height: 44px; font-size: 15px; }
  .contract-metrics { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .contract-inline-form { grid-template-columns: minmax(0,1fr); }
  .contract-inline-form > input[name="description"], .contract-inline-form > input[name="reason"] { grid-column: auto; }

  /* High use lists become readable cards instead of tiny, sideways tables. */
  .page-view .table-wrap { -webkit-overflow-scrolling: touch; overscroll-behavior-inline: contain; scrollbar-width: thin; }
  .mobile-cards-table { display: block; width: 100%; min-width: 0 !important; white-space: normal; }
  .mobile-cards-table > thead { display: none; }
  .mobile-cards-table > tbody { display: grid; gap: 10px; width: 100%; padding: 10px; }
  #projectsTable > tr, #invoiceTable > tr {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 0 12px;
    width: 100%;
    padding: 11px 12px;
    border: 1px solid rgba(18,61,70,.1);
    border-radius: 13px;
    background: linear-gradient(150deg,#fff 0%,#fff 80%,#faf8f3 100%);
    box-shadow: 0 3px 12px rgba(26,47,49,.035);
    white-space: normal;
  }
  #projectsTable > tr > td, #invoiceTable > tr > td {
    display: grid;
    align-content: start;
    gap: 2px;
    min-width: 0;
    padding: 8px 0;
    border-bottom: 1px solid rgba(32,43,48,.07);
    color: var(--ink);
    font-size: 13px;
    line-height: 1.5;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  #projectsTable > tr > td::before, #invoiceTable > tr > td::before {
    color: #78898c;
    font-size: 10px;
    font-weight: 500;
  }
  #projectsTable > tr > td:first-child, #invoiceTable > tr > td:first-child {
    grid-column: 1 / -1;
    display: block;
    padding: 4px 0 9px;
    border-bottom: 1px solid rgba(18,61,70,.1);
  }
  #projectsTable > tr > td:first-child .project-cell strong,
  #invoiceTable > tr > td:first-child strong { color: var(--brand-primary); font-size: 15px; }
  #projectsTable > tr > td:nth-child(2)::before { content: "العميل"; }
  #projectsTable > tr > td:nth-child(3)::before { content: "مدير المشروع"; }
  #projectsTable > tr > td:nth-child(4)::before { content: "قيمة العقد"; }
  #projectsTable > tr > td:nth-child(5)::before { content: "الحالة"; }
  #projectsTable > tr > td:nth-child(6)::before { content: "المخطط"; }
  #projectsTable > tr > td:nth-child(7)::before { content: "الإنجاز المعتمد"; }
  #projectsTable > tr > td:nth-child(8)::before { content: "التسليم"; }
  #projectsTable > tr > td:nth-child(9)::before { content: "آخر تحديث"; }
  #projectsTable > tr > td:nth-child(8), #projectsTable > tr > td:nth-child(9) { grid-column: 1 / -1; }
  #invoiceTable > tr > td:nth-child(2)::before { content: "المشروع"; }
  #invoiceTable > tr > td:nth-child(3)::before { content: "العميل"; }
  #invoiceTable > tr > td:nth-child(4)::before { content: "تاريخ الإصدار"; }
  #invoiceTable > tr > td:nth-child(5)::before { content: "تاريخ الاستحقاق"; }
  #invoiceTable > tr > td:nth-child(6)::before { content: "الإجمالي"; }
  #invoiceTable > tr > td:nth-child(7)::before { content: "المتبقي"; }
  #invoiceTable > tr > td:nth-child(8)::before { content: "الحالة"; }
  #invoiceTable > tr > td:nth-child(9)::before { content: "التفاصيل"; }
  #invoiceTable > tr > td:nth-child(9) .btn { min-height: 40px; }
  #projectsTable > tr > td:only-child, #invoiceTable > tr > td:only-child {
    grid-column: 1 / -1;
    display: block;
    padding: 16px 8px;
    border: 0;
    text-align: center;
  }
  #projectsTable > tr > td:only-child::before, #invoiceTable > tr > td:only-child::before { content: none; }

  /* Thumb navigation with a clear overflow menu for less frequent sections. */
  .mobile-nav {
    position: fixed;
    z-index: 20;
    inset: auto 0 0;
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    justify-content: stretch;
    gap: 3px;
    min-height: calc(68px + env(safe-area-inset-bottom));
    padding: 5px 7px max(7px, env(safe-area-inset-bottom));
    overflow: visible;
    border-top: 1px solid rgba(18,61,70,.09);
    background: rgba(255,255,255,.96);
    box-shadow: 0 -8px 24px rgba(28,48,51,.08);
    backdrop-filter: blur(16px);
  }
  .mobile-nav > button, .mobile-more-trigger {
    min-width: 0;
    min-height: 50px;
    display: flex;
    flex: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3px;
    border: 1px solid transparent;
    border-radius: 11px;
    padding: 3px 2px;
    background: transparent;
    color: #6f8083;
    font: inherit;
    font-size: 10px;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
  }
  .mobile-nav > button > span, .mobile-more-trigger > span { width: 23px; height: 23px; display: grid; place-items: center; }
  .mobile-nav > button > span svg, .mobile-more-trigger > span svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  .mobile-nav > button.active, .mobile-more-trigger.active, .mobile-more-trigger.has-active {
    border-color: rgba(18,61,70,.1);
    background: linear-gradient(160deg,#eef3ef,#faf9f6);
    color: var(--brand-primary);
    font-weight: 700;
  }
  .mobile-more-menu { position: relative; min-width: 0; display: grid; place-items: stretch; }
  .mobile-more-trigger { cursor: pointer; list-style: none; }
  .mobile-more-trigger::-webkit-details-marker { display: none; }
  .mobile-more-menu[open] .mobile-more-trigger { color: var(--brand-primary); }
  .mobile-more-panel {
    position: absolute;
    inset-inline-end: 0;
    bottom: calc(100% + 10px);
    width: min(286px, calc(100vw - 24px));
    display: grid;
    gap: 3px;
    max-height: min(62svh, 430px);
    overflow: auto;
    padding: 8px;
    border: 1px solid rgba(18,61,70,.12);
    border-radius: 16px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 16px 38px rgba(26,47,49,.16);
    backdrop-filter: blur(16px);
  }
  .mobile-more-panel button {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 48px;
    border: 0;
    border-radius: 10px;
    padding: 6px 10px;
    background: transparent;
    color: #52676c;
    font: inherit;
    font-size: 14px;
    text-align: right;
  }
  .mobile-more-panel button > span:first-child { width: 24px; height: 24px; display: grid; place-items: center; color: var(--brand-primary); }
  .mobile-more-panel button > span:first-child svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  .mobile-more-panel button.active, .mobile-more-panel button:hover { background: #f0f4f1; color: var(--brand-primary); }
  .mobile-more-panel .nav-badge { margin-inline-start: auto; }

  .modal-layer { align-items: end; padding: 0; }
  .modal-card, .modal-card.modal-large, .wide-modal { width: 100%; max-height: 92svh; border-radius: 20px 20px 0 0; padding-bottom: env(safe-area-inset-bottom); }
  .modal-head { position: sticky; top: 0; z-index: 2; background: rgba(255,255,255,.96); backdrop-filter: blur(10px); }
  .modal-body { max-height: calc(92svh - 130px); overflow: auto; }
  .modal-actions { position: sticky; bottom: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; background: #fff; }
}

@media (max-width: 380px) {
  .auth-panel { padding-inline: 16px; }
  .main { padding-inline: 10px; }
  .main .topbar { margin-inline: -10px; padding-inline: 10px; }
  #dashboard .dashboard-primary-metric { grid-template-columns: 30px minmax(0,1fr); gap: 7px; padding-inline: 8px; }
  #dashboard .dashboard-metric-icon { width: 30px; height: 30px; }
  #dashboard .dashboard-primary-metric strong { font-size: 21px; }
  .mobile-nav { padding-inline: 4px; }
  .mobile-nav > button, .mobile-more-trigger { font-size: 9px; }
}

@media (orientation: landscape) and (max-width: 900px) {
  .auth-gate { padding-block: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-bottom)); }
  .auth-stage { width: min(100%, 640px); }
  .main { padding-bottom: 94px; }
  .mobile-more-panel { max-height: 70svh; }
}

/* Identity accents from the approved mobile concept, used only on small screens. */
@media (max-width: 620px) {
  .auth-gate {
    background-color: var(--brand-primary);
    background-image:
      linear-gradient(180deg, rgba(18,61,70,.08), rgba(11,48,56,.16)),
      url("./assets/bunyan-mobile-geometry.svg?v=20261020-mobile1");
    background-position: center;
    background-size: cover;
  }
  #dashboard .dashboard-page-heading {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin-inline: -2px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background-color: #123D46;
    background-image:
      linear-gradient(120deg, rgba(18,61,70,.72), rgba(13,51,59,.88)),
      url("./assets/bunyan-mobile-geometry.svg?v=20261020-mobile1");
    background-position: center 44%;
    background-size: cover;
    color: #fff;
  }
  #dashboard .dashboard-title-copy h1 { color: #fff; }
  #dashboard .dashboard-title-copy p { color: rgba(255,255,255,.78); }
  #dashboard .dashboard-eyebrow { color: #e2c7a6; }
}

/* Match the approved phone sign-in composition while keeping the real form and actions. */
.mobile-auth-hero { display: none; }
.auth-login-content { display: contents; }
#loginForm .auth-login-content > p:not(.form-error) {
  max-width: 420px;
  margin: 0 0 26px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

@media (max-width: 620px) {
  .auth-gate {
    display: block;
    min-height: 100svh;
    padding: max(12px, env(safe-area-inset-top)) 12px max(20px, env(safe-area-inset-bottom));
    background:
      radial-gradient(circle at 100% 2%, rgba(197,164,126,.12), transparent 26%),
      radial-gradient(circle at 0% 100%, rgba(18,61,70,.06), transparent 30%),
      var(--canvas);
  }
  .auth-stage {
    display: block;
    width: min(100%, 480px);
    min-height: 0;
    margin: 0 auto;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .auth-panel { display: block; padding: 0; background: transparent; }
  .auth-visual { display: none; }
  #loginForm.auth-card { width: 100%; padding: 0; background: transparent; box-shadow: none; }
  .mobile-auth-hero {
    display: block;
    position: relative;
    isolation: isolate;
    min-height: 248px;
    overflow: hidden;
    padding: 19px 15px 58px;
    border-radius: 21px 21px 25px 25px;
    color: #fff;
    background-color: var(--brand-primary);
    background-image:
      linear-gradient(135deg, rgba(11,48,56,.06), rgba(8,39,47,.2)),
      url("./assets/bunyan-mobile-geometry.svg?v=20261020-mobile1");
    background-position: center 38%;
    background-size: cover;
  }
  .mobile-auth-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: auto -36px -84px auto;
    width: 210px;
    aspect-ratio: 1;
    border: 1px solid rgba(197,164,126,.32);
    border-radius: 50%;
    box-shadow: 0 0 0 21px rgba(255,255,255,.025), 0 0 0 43px rgba(197,164,126,.07);
    pointer-events: none;
  }
  .mobile-auth-brand {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
  }
  .mobile-auth-brand .brand-symbol {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    padding: 3px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 13px;
    background: #fff;
    object-fit: contain;
  }
  .mobile-auth-brand strong { display: block; color: #fff; font-size: 14px !important; line-height: 1.4; }
  .mobile-auth-brand small { display: block; margin-top: 2px; color: rgba(245,248,246,.78); font-size: 10px !important; }
  .mobile-auth-copy { margin-top: 22px; }
  .mobile-auth-copy > span { color: #dbc19f; font-size: 12px; font-weight: 700; }
  .mobile-auth-copy h2 { margin: 7px 0 2px; color: #fff; font-size: 27px !important; line-height: 1.28; }
  .mobile-auth-copy p { max-width: 34ch; margin: 0; color: rgba(245,248,246,.8); font-size: 14px; line-height: 1.6; }
  .auth-login-content {
    position: relative;
    z-index: 1;
    display: block;
    margin: -43px 12px 0;
    padding: 17px 15px 13px;
    border: 1px solid rgba(18,61,70,.08);
    border-radius: 20px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 7px 24px rgba(26,47,49,.07);
  }
  #loginForm .auth-login-content > .auth-brand,
  #loginForm .auth-login-content > h1,
  #loginForm .auth-login-content > p:not(#loginError):not(#loginNotice) { display: none; }
  #loginForm .auth-step-label { margin-bottom: 7px; font-size: 12px; }
  #loginForm .auth-login-content > label { margin: 12px 0 5px; font-size: 14px !important; }
  #loginForm .auth-login-content > input { min-height: 50px; border-radius: 12px; }
  #loginForm .auth-submit { min-height: 50px !important; margin-top: 10px; }
  #loginForm .google-signin-section { margin-top: 7px; }
  #loginForm .google-signin-divider { margin-block: 7px; }
  #loginForm .google-signin-hint { display: none; }
  #loginForm .auth-access-links { display: flex; align-items: center; justify-content: space-between; gap: 7px; margin-top: 4px; }
  #loginForm .auth-access-links .text-button { flex: 1 1 0; width: auto; min-height: 38px; margin: 0; padding-inline: 3px; font-size: 12px !important; white-space: nowrap; }
  #loginForm .auth-access-links .auth-register-link { border: 0; padding-top: 0; }
  #loginForm .auth-policy-links { gap: 8px 18px; margin-top: 5px; font-size: 12px; }
  .auth-panel > form.auth-card:not(#loginForm) {
    padding: 20px 17px;
    border: 1px solid rgba(18,61,70,.08);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 7px 24px rgba(26,47,49,.07);
  }
}

/* Approved mobile identity extended across the real company workspace. */
@media (max-width: 620px) {
  .page-view.active { display: flex; flex-direction: column; gap: 11px; }
  .page-view:not(#dashboard) > .page-heading {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 0;
    gap: 11px;
    margin: 0 0 2px;
    padding: 14px 13px;
    border: 1px solid rgba(18,61,70,.09);
    border-radius: 16px;
    background: linear-gradient(145deg,#fff 0%,#fff 68%,#f6f3ec 100%);
    box-shadow: 0 5px 18px rgba(26,47,49,.035);
  }
  .page-view:not(#dashboard) > .page-heading::before {
    inset-inline-start: -76px;
    bottom: -112px;
    width: 176px;
    height: 176px;
    border-color: rgba(197,164,126,.25);
    box-shadow: 0 0 0 15px rgba(197,164,126,.045),0 0 0 32px rgba(18,61,70,.025);
  }
  .page-view:not(#dashboard) > .page-heading > div:first-child { padding-inline-end: 46px; }
  .page-view .workspace-heading-icon {
    top: 0;
    width: 37px;
    height: 37px;
    border-radius: 12px;
    background: #eef3ef;
  }
  .page-view .workspace-heading-icon svg { width: 19px; height: 19px; }
  .page-view .page-heading .eyebrow { color: #738985; font-size: 11px; }
  .page-view .page-heading h1 { margin: 3px 0; font-size: 24px; line-height: 1.3; }
  .page-view .page-heading p { max-width: 36ch; margin-top: 3px; font-size: 12px; line-height: 1.6; }
  .page-view .page-heading > .btn, .page-view .page-heading > .button-row { width: 100%; }
  .page-view .page-heading .button-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .page-view .page-heading .button-row > * { min-width: 0; min-height: 42px; padding-inline: 7px; border-radius: 11px; font-size: 11px; }

  .page-view .panel, .page-view .task-card, .page-view .approval-card,
  .page-view .notification-item, .page-view .contract-list-item {
    border: 1px solid rgba(18,61,70,.09);
    border-radius: 15px;
    box-shadow: 0 4px 16px rgba(26,47,49,.035);
  }
  .page-view .panel-heading { min-height: 58px; gap: 8px; padding: 11px 12px; }
  .page-view .panel-heading h2 { font-size: 14px; }
  .page-view .panel-heading p { font-size: 11px; line-height: 1.55; }
  .page-view .panel-heading .btn { min-height: 40px; }
  .page-view .table-tools { gap: 7px; margin: 0; padding: 8px; border-radius: 13px; }
  .page-view .table-tools input, .page-view .table-tools select { min-height: 44px; border-radius: 11px; font-size: 14px; }
  .page-view .table-tools input { padding-inline: 12px; }
  .page-view .table-note { padding: 10px 12px; font-size: 11px; }

  /* Compact bento metrics, with one restrained patterned focal card. */
  .page-view .invoice-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0; }
  .page-view .invoice-metrics .metric { min-height: 86px; display: grid; align-content: center; gap: 4px; padding: 11px; border-radius: 14px; }
  .page-view .invoice-metrics .metric span { font-size: 11px; line-height: 1.4; }
  .page-view .invoice-metrics .metric strong { font-size: 18px; line-height: 1.3; overflow-wrap: anywhere; }
  .page-view .invoice-metrics .metric:nth-child(2) {
    border-color: rgba(197,164,126,.26);
    background-color: #123D46;
    background-image: linear-gradient(130deg,rgba(9,43,51,.03),rgba(8,39,47,.24)),url("./assets/bunyan-mobile-geometry.svg?v=20261020-mobile2");
    background-position: center 38%;
    background-size: cover;
  }
  .page-view .invoice-metrics .metric:nth-child(2) span,
  .page-view .invoice-metrics .metric:nth-child(2) strong { color: #fff; }
  #invoiceMetrics .metric:nth-child(3) { grid-column: 1 / -1; min-height: 62px; grid-template-columns: minmax(0,1fr) auto; align-items: center; }
  #invoiceMetrics .metric:nth-child(3) strong { font-size: 20px; }

  /* Project and invoice rows retain all values/actions while reading as cards. */
  .page-view .table-wrap { overflow-x: auto; border-radius: 14px; }
  .mobile-cards-table { display: block; width: 100%; min-width: 0 !important; white-space: normal; }
  .mobile-cards-table > thead { display: none; }
  .mobile-cards-table > tbody { display: grid; gap: 10px; width: 100%; padding: 9px; }
  #dashboard .table-panel .table-wrap table { display: block; width: 100%; min-width: 0 !important; }
  #dashboard .table-panel .table-wrap thead { display: none; }
  #dashboard .table-panel .table-wrap tbody { display: grid; gap: 10px; width: 100%; padding: 9px; }
  #projectsTable > tr, #invoiceTable > tr, #dashboardProjects > tr {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0 11px;
    width: 100%;
    padding: 11px 12px;
    border: 1px solid rgba(18,61,70,.09);
    border-radius: 14px;
    background: linear-gradient(145deg,#fff 0%,#fff 78%,#faf8f3 100%);
    box-shadow: 0 3px 12px rgba(26,47,49,.035);
    white-space: normal;
  }
  #projectsTable > tr > td, #invoiceTable > tr > td, #dashboardProjects > tr > td {
    display: grid;
    align-content: start;
    gap: 3px;
    min-width: 0;
    padding: 8px 0;
    border-bottom: 1px solid rgba(32,43,48,.07);
    color: #26383d;
    font-size: 13px;
    line-height: 1.5;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  #projectsTable > tr > td::before, #invoiceTable > tr > td::before, #dashboardProjects > tr > td::before {
    color: #75878a;
    font-size: 10px;
    font-weight: 500;
  }
  #projectsTable > tr > td:first-child, #invoiceTable > tr > td:first-child, #dashboardProjects > tr > td:first-child {
    grid-column: 1 / -1;
    display: block;
    margin: -11px -12px 3px;
    padding: 12px !important;
    border: 0;
    border-radius: 13px 13px 0 0;
    background-color: #123D46;
    background-image: linear-gradient(115deg,rgba(10,48,57,.02),rgba(8,39,47,.24)),url("./assets/bunyan-mobile-geometry.svg?v=20261020-mobile2");
    background-position: center 30%;
    background-size: cover;
    color: #fff;
  }
  #projectsTable > tr > td:first-child .project-cell strong, #invoiceTable > tr > td:first-child strong,
  #dashboardProjects > tr > td:first-child .project-cell strong { color: #fff; font-size: 15px; }
  #projectsTable > tr > td:first-child .project-cell small, #invoiceTable > tr > td:first-child small,
  #dashboardProjects > tr > td:first-child .project-cell small { color: rgba(245,248,246,.76); }
  #projectsTable > tr > td:nth-child(2)::before { content: "العميل"; }
  #projectsTable > tr > td:nth-child(3)::before { content: "مدير المشروع"; }
  #projectsTable > tr > td:nth-child(4)::before { content: "قيمة العقد"; }
  #projectsTable > tr > td:nth-child(5)::before { content: "الحالة"; }
  #projectsTable > tr > td:nth-child(6)::before { content: "المخطط"; }
  #projectsTable > tr > td:nth-child(7)::before { content: "الإنجاز المعتمد"; }
  #projectsTable > tr > td:nth-child(8)::before { content: "موعد التسليم"; }
  #projectsTable > tr > td:nth-child(9)::before { content: "آخر تحديث"; }
  #projectsTable > tr > td:nth-child(8), #projectsTable > tr > td:nth-child(9) { grid-column: 1 / -1; }
  #invoiceTable > tr > td:nth-child(2)::before { content: "المشروع"; }
  #invoiceTable > tr > td:nth-child(3)::before { content: "العميل"; }
  #invoiceTable > tr > td:nth-child(4)::before { content: "تاريخ الإصدار"; }
  #invoiceTable > tr > td:nth-child(5)::before { content: "تاريخ الاستحقاق"; }
  #invoiceTable > tr > td:nth-child(6)::before { content: "الإجمالي"; }
  #invoiceTable > tr > td:nth-child(7)::before { content: "المتبقي"; }
  #invoiceTable > tr > td:nth-child(8)::before { content: "الحالة"; }
  #invoiceTable > tr > td:nth-child(9)::before { content: "التفاصيل"; }
  #invoiceTable > tr > td:nth-child(9) .btn { min-height: 40px; }
  #dashboardProjects > tr > td:nth-child(2)::before { content: "مدير المشروع"; }
  #dashboardProjects > tr > td:nth-child(3)::before { content: "الحالة"; }
  #dashboardProjects > tr > td:nth-child(4)::before { content: "المخطط"; }
  #dashboardProjects > tr > td:nth-child(5)::before { content: "المعتمد"; }
  #dashboardProjects > tr > td:nth-child(6)::before { content: "موعد التسليم"; }
  #dashboardProjects > tr > td:nth-child(7)::before { content: "آخر تقرير"; }
  #dashboardProjects > tr > td:nth-child(8)::before { content: "العوائق"; }
  #dashboardProjects > tr > td:nth-child(n+6) { grid-column: 1 / -1; }
  #projectsTable > tr > td:only-child, #invoiceTable > tr > td:only-child, #dashboardProjects > tr > td:only-child {
    grid-column: 1 / -1;
    display: block;
    margin: 0;
    padding: 16px 8px !important;
    border: 0;
    background: transparent;
    color: var(--muted);
    text-align: center;
  }
  #projectsTable > tr > td:only-child::before, #invoiceTable > tr > td:only-child::before,
  #dashboardProjects > tr > td:only-child::before { content: none; }

  /* Feature cards on the work list use the same quiet engineering geometry. */
  .page-view .task-card, .page-view .approval-card { padding: 14px; border-radius: 15px; }
  .page-view .task-card-top, .page-view .approval-top {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin: -14px -14px 11px;
    padding: 12px 13px;
    border-radius: 14px 14px 7px 7px;
    background-color: #123D46;
    background-image: linear-gradient(120deg,rgba(10,48,57,.02),rgba(8,39,47,.22)),url("./assets/bunyan-mobile-geometry.svg?v=20261020-mobile2");
    background-position: center 29%;
    background-size: cover;
  }
  .page-view .task-card-top .eyebrow, .page-view .approval-top .eyebrow { color: #dfc5a2; }
  .page-view .task-card-top h2, .page-view .approval-top h2 { margin: 5px 0 2px; color: #fff; font-size: 15px; }
  .page-view .task-card-top p, .page-view .approval-top p { margin: 0; color: rgba(245,248,246,.76); }
  .page-view .task-card-top .state-chip, .page-view .approval-top .state-chip { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.12); color: #f1e1c8; }
  .page-view .task-grid, .page-view .approval-grid { gap: 10px; }
  .page-view .task-meta, .page-view .report-meta { display: flex; flex-direction: column; gap: 7px; margin: 12px 0; font-size: 12px; }
  .page-view .task-progress { border: 1px solid rgba(18,61,70,.07); background: #f5f7f4; }
  .page-view .task-actions, .page-view .approval-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .page-view .task-actions .btn, .page-view .approval-actions .btn { min-height: 44px; font-size: 12px; }

  /* Contracts: financial summary and selected contract become a clear focal path. */
  .page-view .contract-list { display: grid; gap: 8px; padding: 9px; }
  .page-view .contract-list-item { min-height: 74px; gap: 5px; padding: 11px; border-radius: 13px; }
  .page-view .contract-list-item strong { font-size: 13px; }
  .page-view .contract-list-item.active {
    border-color: rgba(197,164,126,.35);
    background-color: #123D46;
    background-image: linear-gradient(120deg,rgba(10,48,57,.02),rgba(8,39,47,.24)),url("./assets/bunyan-mobile-geometry.svg?v=20261020-mobile2");
    background-position: center 30%;
    background-size: cover;
    box-shadow: 0 7px 18px rgba(18,61,70,.13);
  }
  .page-view .contract-list-item.active strong, .page-view .contract-list-item.active span,
  .page-view .contract-list-item.active small { color: #fff; }
  .page-view .contract-list-item.active .state-chip { background: rgba(255,255,255,.12); color: #f1e1c8; }
  .page-view .contract-detail, .page-view .contract-claim-detail { gap: 13px; padding: 13px; border-radius: 15px; }
  .page-view .contract-detail-head {
    position: relative;
    isolation: isolate;
    display: grid;
    gap: 10px;
    overflow: hidden;
    margin: -13px -13px 0;
    padding: 14px 13px;
    border-radius: 14px 14px 7px 7px;
    background-color: #123D46;
    background-image: linear-gradient(120deg,rgba(10,48,57,.02),rgba(8,39,47,.22)),url("./assets/bunyan-mobile-geometry.svg?v=20261020-mobile2");
    background-position: center 30%;
    background-size: cover;
  }
  .page-view .contract-detail-head .eyebrow { color: #dfc5a2; }
  .page-view .contract-detail-head h2 { color: #fff; font-size: 18px; }
  .page-view .contract-detail-head .button-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .page-view .contract-detail-head .btn { min-height: 42px; border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.96); color: #123D46; font-size: 11px; }
  .page-view .contract-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .page-view .contract-facts span { min-width: 0; padding: 9px; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
  .page-view .contract-detail > section, .page-view .contract-claim-detail > h3 { min-width: 0; }
  .page-view .contract-detail .table-wrap, .page-view .contract-claim-detail .table-wrap { max-width: 100%; }
  .page-view .contract-inline-form { gap: 8px; padding: 11px; border-radius: 12px; background: #f7f8f5; }
  .page-view .contract-inline-form h3 { font-size: 14px; }
  .page-view .contract-inline-form > input, .page-view .contract-inline-form > select,
  .page-view .contract-inline-form label input, .page-view .contract-inline-form label select { min-height: 44px; font-size: 14px; }
  .page-view .contract-subitem { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; align-items: start; }

  /* Team, company settings and alerts share the same quiet card language. */
  .page-view .notification-preferences, .page-view .team-form, .page-view .company-preview-panel { border-radius: 15px; }
  .page-view .notification-preference-grid { grid-template-columns: 1fr; gap: 7px; padding: 10px 12px; }
  .page-view .notification-preference-grid label { min-height: 46px; padding: 9px 10px; border-color: rgba(18,61,70,.08); border-radius: 11px; background: #fbfcfa; font-size: 13px; }
  .page-view .notification-item { grid-template-columns: minmax(0,1fr); gap: 9px; padding: 13px; }
  .page-view .notification-item strong { font-size: 14px; }
  .page-view .notification-item p { margin: 5px 0; font-size: 13px; }
  .page-view .notification-item small { font-size: 11px; }
  .page-view .notification-item .btn { justify-self: stretch; min-height: 44px; }
  .page-view .team-form { gap: 8px; padding: 14px; }
  .page-view .team-form h2 { margin-bottom: 4px; font-size: 16px; }
  .page-view .team-form label, .page-view .form-grid label, .page-view .delegation-form label { font-size: 13px; }
  .page-view .team-form input, .page-view .team-form select, .page-view .form-grid input,
  .page-view .form-grid select, .page-view .form-grid textarea, .page-view .delegation-form select,
  .page-view .delegation-form input { min-height: 46px; font-size: 15px; }
  .page-view .team-form .field-help { font-size: 12px; }
  .page-view .team-form .btn { min-height: 46px; font-size: 13px; }
  .page-view .company-logo-preview { min-height: 92px; border-radius: 13px; }
  .page-view .history-list { padding-inline: 12px; }
  .page-view .history-item { padding: 9px 0; font-size: 12px; }
  .page-view .state-chip { max-width: 100%; white-space: normal; line-height: 1.4; }
}
