/* Lightweight motion and layered surfaces using the existing tenant palette. */
.treasury-workspace { max-width: 110rem; margin-inline: auto; padding-block: 1.5rem; color: var(--ui-text); }
.treasury-hero { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--ui-border); border-radius: 1.5rem; background: radial-gradient(ellipse at top right, color-mix(in srgb, var(--tenant-accent) 12%, transparent), transparent 70%), var(--ui-surface); margin-bottom: 1.25rem; }
.treasury-hero h1 { font-size: clamp(1.6rem, 3vw, 2.15rem); font-weight: 750; letter-spacing: -.035em; }
.treasury-workspace h2 { font-size: 1.12rem; font-weight: 700; margin-bottom: .7rem; }
.treasury-workspace p { line-height: 1.6; }
.treasury-eyebrow { font-size: .72rem; letter-spacing: .09em; text-transform: uppercase; color: var(--ui-muted); font-weight: 650; }
.treasury-panel { background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: 1.25rem; padding: clamp(1rem, 2vw, 1.5rem); margin-bottom: 1.25rem; box-shadow: 0 2px 5px rgb(0 0 0 / .03); }
.treasury-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
.treasury-metrics, .treasury-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; }
.treasury-metrics .treasury-panel { border-top: 3px solid color-mix(in srgb, var(--tenant-accent) 65%, var(--ui-border)); }
.treasury-amount { font-size: clamp(1.35rem, 2vw, 1.9rem); font-variant-numeric: tabular-nums; display: block; margin-top: .5rem; }
.treasury-form-grid { align-items: end; margin-block: 1rem; }
.treasury-full { grid-column: 1 / -1; }
.treasury-workspace label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: .35rem; }
.treasury-workspace :is(input:not([type="submit"]):not([type="hidden"]), select, textarea) { background: var(--ui-input); color: var(--ui-text); border: 1px solid var(--ui-border); border-radius: .75rem; min-height: 2.75rem; padding: .6rem .8rem; max-width: 100%; width: 100%; }
.treasury-workspace .treasury-actions select { width: auto; }
.treasury-workspace :is(input, select, textarea, a, button):focus-visible { outline: 2px solid var(--tenant-accent); outline-offset: 3px; }
.treasury-workspace form .module-action-button { margin-top: .75rem; }
.treasury-hint { color: var(--ui-muted); font-size: .85rem; margin-block: .8rem; }
.treasury-table-scroll { overflow-x: auto; }
.treasury-workspace table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.treasury-workspace :is(th, td) { padding: .85rem .65rem; text-align: left; border-bottom: 1px solid var(--ui-border); vertical-align: middle; }
.treasury-workspace th { color: var(--ui-muted); background: var(--ui-heading); font-weight: 600; }
.treasury-workspace td small { display: block; color: var(--ui-muted); margin-top: .2rem; }
.treasury-workspace .treasury-number { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.treasury-status { display: inline-flex; border-radius: 99px; padding: .3rem .7rem; background: var(--ui-raised); color: var(--ui-text); border: 1px solid var(--ui-border); font-size: .78rem; font-weight: 650; white-space: nowrap; }
.treasury-status[data-status="funded"] { color: #92400e; background: #fef3c7; border-color: #fcd34d; }
.treasury-status[data-status="settled"] { color: #065f46; background: #d1fae5; border-color: #6ee7b7; }
.treasury-status[data-status="canceled"] { color: #9f1239; background: #ffe4e6; border-color: #fda4af; }
.theme-dark .treasury-status[data-status="funded"] { color: #fde68a; background: #422006; border-color: #92400e; }
.theme-dark .treasury-status[data-status="settled"] { color: #a7f3d0; background: #022c22; border-color: #065f46; }
.theme-dark .treasury-status[data-status="canceled"] { color: #fecdd3; background: #4c0519; border-color: #9f1239; }
.treasury-empty { text-align: center; padding: 2.5rem 1rem; color: var(--ui-muted); }
@media (prefers-reduced-motion: no-preference) {
  .treasury-hero, .treasury-metrics { animation: treasury-enter 220ms ease-out both; }
  .treasury-workspace .module-action-button { transition: box-shadow 160ms ease, border-color 160ms ease; }
  .treasury-workspace .module-action-button:hover { box-shadow: 0 0 0 3px color-mix(in srgb, var(--tenant-accent) 15%, transparent); }
}
@keyframes treasury-enter { from { opacity: .5; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@media print { .treasury-hero, .treasury-panel { box-shadow: none; animation: none; } .treasury-workspace form, .treasury-actions { display: none; } }

/* Treasury working screens: compact navigation, clear totals, grouped actions. */
.treasury-section-nav { display:flex; gap:.25rem; overflow-x:auto; max-width:110rem; margin-inline:auto; padding:.8rem 0 0; border-bottom:1px solid var(--ui-border); scrollbar-width:thin; }
.treasury-section-tab { flex:none; padding:.8rem 1rem; color:var(--ui-muted); font-size:.85rem; font-weight:600; border-bottom:2px solid transparent; text-decoration:none; }
.treasury-section-tab:hover { color:var(--ui-text); background:var(--ui-hover); border-radius:.5rem .5rem 0 0; }
.treasury-section-tab[aria-current="page"] { color:var(--tenant-accent); border-bottom-color:var(--tenant-accent); }
.theme-dark .treasury-section-tab[aria-current="page"] { color:var(--tenant-bright); border-bottom-color:var(--tenant-bright); }
.treasury-screen { max-width:110rem; margin-inline:auto; padding-block:1.5rem; color:var(--ui-text); }
.treasury-page-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.treasury-page-heading h1 { color:var(--ui-text); font-size:1.65rem; font-weight:700; letter-spacing:-.035em; line-height:1.3; }
.treasury-page-heading p { color:var(--ui-muted); font-size:.86rem; line-height:1.6; }
.treasury-page-heading .treasury-kicker { font-size:.65rem; font-weight:650; letter-spacing:.13em; margin-bottom:.35rem; }
.treasury-page-actions { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; }
.treasury-context-line { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; font-size:.75rem; color:var(--ui-muted); margin-bottom:.75rem; }
.treasury-two-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.treasury-balance-card { border:1px solid var(--ui-border); border-radius:1rem; background:var(--ui-surface); overflow:hidden; }
.treasury-balance-card > header { display:flex; align-items:center; gap:.65rem; padding:1.1rem 1.25rem 0; }
.treasury-balance-card h2 { font-size:.9rem; font-weight:650; margin:0; }
.treasury-balance-card header .treasury-text-link { margin-left:auto; }
.treasury-balance-icon { display:grid; place-items:center; width:2rem; height:2rem; border-radius:.65rem; font-size:1.15rem; background:#dcfce7; color:#047857; }
.treasury-balance-card[data-direction="expense"] .treasury-balance-icon { background:#e0f2fe; color:#0369a1; }
.theme-dark .treasury-balance-icon { background:#022c22; color:#6ee7b7; }
.theme-dark .treasury-balance-card[data-direction="expense"] .treasury-balance-icon { background:#082f49; color:#7dd3fc; }
.treasury-balance-total { padding:.65rem 1.25rem 0; font-size:clamp(1.7rem,2.5vw,2.1rem); font-weight:700; letter-spacing:-.04em; font-variant-numeric:tabular-nums; line-height:1.25; }
.treasury-balance-caption { color:var(--ui-muted); font-size:.75rem; margin:.4rem 1.25rem .9rem; }
.treasury-balance-breakdown { display:flex; flex-wrap:wrap; gap:1.5rem; padding:0 1.25rem 1rem; }
.treasury-balance-breakdown > div { display:flex; gap:.55rem; align-items:baseline; }
.treasury-balance-breakdown dt { color:var(--ui-muted); font-size:.75rem; }
.treasury-balance-breakdown dd { font-size:.8rem; font-weight:600; font-variant-numeric:tabular-nums; }
.treasury-balance-breakdown dd span, .treasury-due-item strong span { display:block; }
.treasury-due-strip { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--ui-border); background:var(--ui-raised); }
.treasury-due-item { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.4rem; padding:.8rem 1.25rem; font-size:.75rem; }
.treasury-due-item + .treasury-due-item { border-left:1px solid var(--ui-border); }
.treasury-due-item:hover { background:var(--ui-hover); }
.treasury-due-item > span { display:flex; align-items:center; gap:.35rem; color:var(--ui-muted); }
.treasury-due-item small { font-size:.7rem; }
.treasury-due-item i { width:.35rem; height:.35rem; border-radius:50%; background:var(--ui-muted); }
.treasury-due-item[data-urgency="overdue"] i { background:#f43f5e; }
.treasury-due-item[data-urgency="due_soon"] i { background:#f59e0b; }
.treasury-due-item strong { font-weight:600; font-variant-numeric:tabular-nums; }
.treasury-section-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1.75rem 0 .75rem; }
.treasury-section-heading h2 { font-weight:650; font-size:1rem; }
.treasury-section-heading p { color:var(--ui-muted); font-size:.75rem; margin-top:.2rem; }
.treasury-text-link { color:var(--ui-muted); font-size:.75rem; font-weight:600; white-space:nowrap; }
.treasury-text-link:hover { color:var(--tenant-accent); text-decoration:underline; }
.treasury-activity-card { border-radius:1rem; box-shadow:none; background:var(--ui-surface); border-color:var(--ui-border); }
.treasury-shortcut { display:flex; align-items:center; gap:1rem; padding:1.1rem 1.25rem; margin-top:1rem; border:1px solid var(--ui-border); border-radius:1rem; background:var(--ui-surface); }
.treasury-shortcut small { display:block; color:var(--ui-muted); font-size:.8rem; margin-top:.25rem; }
.treasury-shortcut > span:last-child { margin-left:auto; }
.treasury-shortcut-icon { display:grid; place-items:center; padding:.65rem; border-radius:.7rem; background:var(--ui-raised); color:var(--tenant-accent); }
.treasury-shortcut:hover { border-color:var(--tenant-accent); }
.treasury-screen .module-action-button { border-radius:.65rem; }
.treasury-screen :is(.rounded-\[1\.25rem\], .rounded-3xl) { border-radius:1rem; }
.treasury-screen :is(.text-3xl, .text-2xl) { font-weight:700; letter-spacing:-.03em; }
.treasury-workspace .treasury-hero { background:none; border:0; border-radius:0; padding:0; margin-bottom:1.5rem; animation:none; }
.treasury-workspace .treasury-hero h1 { font-size:1.65rem; }
.treasury-workspace .treasury-panel { border-radius:1rem; box-shadow:none; }
.treasury-workspace .treasury-metrics .treasury-panel { border-top:1px solid var(--ui-border); }
.treasury-workspace .treasury-amount { font-size:1.6rem; }
@media (max-width:760px) { .treasury-two-columns { grid-template-columns:minmax(0,1fr); } .treasury-page-actions { width:100%; } .treasury-section-tab { padding-inline:.8rem; } .treasury-context-line > span:last-child { display:none; } }
@media print { .treasury-section-nav, .treasury-page-actions { display:none; } }
.payroll-payment-row { border-bottom:1px solid var(--ui-border); padding-block:1rem; }
.payroll-payment-row summary { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; cursor:pointer; list-style:revert; padding:.35rem; }
.payroll-payment-row summary span { font-size:.85rem; color:var(--ui-muted); }
.payroll-payment-row summary:focus-visible { outline:2px solid var(--tenant-accent); outline-offset:2px; }
