:root { --tblr-primary: #2563eb; --tblr-body-bg: rgb(246, 245, 244); --tblr-body-color: #262626; }
body { background: rgb(246, 245, 244); }
.text-secondary { color: #262626 !important; }
/* Tabler page titles inherit body colour; retain their previous heading colour. */
.page-title { color: light-dark(var(--tblr-gray-700), var(--tblr-gray-200)); }
.auth-page { min-height: 100svh; background: rgb(246, 245, 244); }
.navbar { background-color: #fff; }
.card, .card-header { background-color: rgb(246, 245, 244); }
.brand { display: flex; align-items: center; justify-content: center; gap: .6rem; color: #172b4d; font-size: 1.5rem; font-weight: 700; text-decoration: none; letter-spacing: -.04em; }
.brand-mark { display: inline-flex; align-items: center; justify-content: center; width: 2.1rem; height: 2.1rem; border-radius: .55rem; background: #2563eb; color: white; font-size: 1.25rem; }
.auth-card { border: 1px solid #e2e8f0; box-shadow: 0 12px 40px #172b4d08; border-radius: 1rem; }
.eyebrow { color: #64748b; font-size: .7rem; letter-spacing: .12em; font-weight: 700; margin-bottom: .65rem; }
.code-input { text-align: center; font-size: 1.6rem; letter-spacing: .35em; font-variant-numeric: tabular-nums; }
/* Use Tabler's small button dimensions throughout pages and modal forms. */
.btn { --tblr-btn-padding-y: .4375rem; --tblr-btn-padding-x: .75rem; --tblr-btn-font-size: .75rem; --tblr-btn-line-height: 1rem; --tblr-btn-border-radius: var(--tblr-border-radius-sm); --tblr-btn-icon-size: 1rem; }
/* Large authentication buttons step down to the regular Tabler size. */
.btn-lg { --tblr-btn-padding-y: .5625rem; --tblr-btn-padding-x: 1rem; --tblr-btn-font-size: .875rem; --tblr-btn-line-height: 1.25rem; --tblr-btn-border-radius: var(--tblr-border-radius); --tblr-btn-icon-size: 1.1rem; }
.btn .app-icon { width: var(--tblr-btn-icon-size); height: var(--tblr-btn-icon-size); }
.btn:focus-visible, .brand:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }

.brand, .brand:hover, .brand:focus { text-decoration: none; }

.app-navbar { padding-block: .5rem; }
.app-navbar > .app-nav-layout { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }
.app-nav-primary { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; }
.app-nav-link { display: inline-flex; align-items: center; gap: .4rem; padding: .65rem 0; color: #262626; font-weight: 500; text-decoration: none; border-bottom: 2px solid transparent; }
.app-icon { display: inline-block; flex-shrink: 0; width: 1.1rem; height: 1.1rem; vertical-align: middle; }
.btn-with-icon { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; }
.app-nav-link:hover { color: #262626; text-decoration: none; }
.app-nav-link[aria-current="page"], .app-nav-selected { color: #262626; border-bottom-color: #2563eb; }
.app-nav-link:focus-visible, .app-menu-item:focus-visible, .workspace-switcher:focus-visible, .account-avatar-toggle:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; border-radius: .3rem; }
.app-nav-tools { display: flex; align-items: center; gap: 1.5rem; margin-left: auto; min-width: 0; }
.app-nav-disclosure { position: relative; }
.app-nav-disclosure > summary { list-style: none; cursor: pointer; }
.app-nav-disclosure > summary::-webkit-details-marker { display: none; }
.app-nav-disclosure > summary > .app-icon:last-child { width: .9rem; height: .9rem; transition: transform .15s ease; }
.app-nav-disclosure[open] > summary > .app-icon:last-child { transform: rotate(180deg); }
.app-nav-panel { position: absolute; top: calc(100% + .65rem); right: 0; z-index: 1030; padding: .5rem; border: 1px solid #dce1e7; border-radius: .65rem; background: #fff; box-shadow: 0 8px 28px #172b4d18; }
.account-menu-panel { min-width: 11rem; }
.account-avatar-toggle { display: inline-flex; align-items: center; justify-content: center; padding: .25rem; border: 1px solid transparent; border-radius: 50%; }
.account-avatar-toggle .avatar { font-weight: 600; }
.account-avatar-toggle:hover, .account-menu[open] > .account-avatar-toggle { background: #e9efff; }
.account-avatar-selected { border-color: #2563eb; }
.app-menu-item { display: flex; align-items: center; gap: .6rem; width: 100%; padding: .65rem .75rem; border: 0; border-radius: .35rem; background: transparent; color: #262626; font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.app-menu-item:hover, .app-menu-item:focus-visible { background: #f0f4fb; color: #262626; text-decoration: none; }
.app-menu-item[aria-current] { background: #e9efff; color: #1d4ed8; }
.app-signout { margin: .35rem 0 0; padding-top: .35rem; border-top: 1px solid #e2e8f0; }
.workspace-switcher { display: flex; align-items: center; gap: .65rem; width: 13rem; max-width: 100%; padding: .4rem .65rem; border: 1px solid #dce1e7; border-radius: .5rem; background: #f8fafc; color: #262626; }
.workspace-switcher-text { display: grid; flex: 1; min-width: 0; }
.workspace-switcher-label { color: #64748b; font-size: .65rem; line-height: 1.2; }
.workspace-switcher-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .875rem; font-weight: 600; }
.workspace-menu-panel { width: 18rem; max-width: calc(100vw - 2rem); }
.workspace-menu-heading { margin: .35rem .75rem .5rem; color: #64748b; font-size: .75rem; }
.workspace-menu-list { max-height: min(22rem, 55svh); overflow-y: auto; }
.workspace-menu-list form { margin: 0; }
.workspace-menu-item { justify-content: space-between; }
.workspace-menu-item > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.workspace-menu-item:disabled { cursor: default; opacity: 1; }
.workspace-manage-link { margin-top: .35rem; border-top: 1px solid #e2e8f0; border-radius: 0 0 .35rem .35rem; }
@media (max-width: 991.98px) {
    .app-navbar > .app-nav-layout { gap: .5rem 1rem; }
    .app-nav-primary { gap: 1rem; }
    .app-nav-tools { gap: 1rem; }
    .workspace-switcher { width: 11rem; }
}
@media (max-width: 767.98px) {
    .app-navbar > .app-nav-layout { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .5rem 1rem; }
    .app-navbar .brand { justify-content: flex-start; }
    .app-nav-primary { position: relative; grid-column: 1 / -1; grid-row: 2; gap: 1rem; }
    .app-nav-tools { justify-content: flex-end; gap: .75rem; margin-left: 0; }
    .workspace-switcher { width: 10rem; }
}
@media (max-width: 359.98px) {
    .app-navbar > .app-nav-layout { column-gap: .5rem; }
    .app-nav-tools { gap: .5rem; }
    .workspace-switcher { width: 7.5rem; gap: .4rem; padding-inline: .4rem; }
}
@media (prefers-reduced-motion: reduce) {
    .app-nav-disclosure > summary > .app-icon:last-child { transition: none; }
}
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1.5rem; }
.settings-grid > .card { min-width: 0; }
.settings-column { display: grid; gap: 1.5rem; min-width: 0; }
@media (max-width: 991.98px) {
    .settings-grid { grid-template-columns: minmax(0, 1fr); }
}
.workspace-settings-heading .card-title { display: inline-flex; align-items: center; gap: .5rem; }
.workspace-settings-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; }
.workspace-create-section { margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid #dce1e7; }
.workspace-list { display: grid; gap: 1.25rem; }
.workspace-rename-form, .workspace-create-form { display: flex; align-items: flex-end; flex-wrap: wrap; gap: .75rem; }
.workspace-rename-form + .workspace-rename-form { padding-top: 1.25rem; border-top: 1px solid #dce1e7; }
.workspace-name-field { flex: 1 1 15rem; min-width: 0; }
.workspace-name-field .form-control { background: #fff; }
.workspace-current-label { display: inline-block; margin-left: .5rem; padding: .1rem .4rem; border-radius: .3rem; background: #e9efff; color: #1d4ed8; font-size: .7rem; }

.page { min-height: 100svh; }
.auth-page > .page { min-height: 0; flex: 1; width: 100%; }
.app-footer { margin-top: auto; padding-block: .65rem; background: #fff; border-top: 1px solid #e2e8f0; color: #262626; font-size: .75rem; }
.app-footer-inner { display: flex; align-items: center; gap: 1rem; }
.app-footer-left { display: flex; flex: 1; flex-wrap: wrap; align-items: center; gap: .4rem 1.5rem; }
.app-footer-links { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; }
.app-footer-links a { color: inherit; text-decoration: none; }
.app-footer-links a:hover { color: #2563eb; text-decoration: underline; }
.app-footer-links a:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; border-radius: .2rem; }
.app-version { margin-left: auto; white-space: nowrap; }

.clients-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.clients-page [hidden], .client-profile [hidden] { display: none !important; }
.clients-table { width: 100%; }
.clients-table th, .clients-table td { white-space: nowrap; }
.clients-table-card .dt-search { text-align: right; }
.clients-table-card .dt-search input { min-width: 12rem; }
.clients-table-card .dt-layout-end { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 1rem; }
.client-tag-filter { position: relative; min-width: 13rem; }
.client-tag-filter-trigger { display: flex; align-items: center; justify-content: space-between; gap: .5rem; height: 2rem; padding: .375rem .625rem; border: 1px solid #dce1e7; border-radius: .375rem; background: #fff; color: #262626; font-size: .75rem; cursor: pointer; list-style: none; }
.client-tag-filter-trigger::-webkit-details-marker { display: none; }
.client-tag-filter-trigger:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.client-tag-filter[open] .client-tag-filter-trigger { border-color: #2563eb; }
#client-tag-filter-summary { color: #475569; }
.client-tag-filter-panel { position: absolute; top: calc(100% + .5rem); right: 0; z-index: 1000; width: min(22rem, calc(100vw - 2rem)); max-width: calc(100vw - 2rem); padding: 1rem; border: 1px solid #dce1e7; border-radius: .5rem; background: #fff; box-shadow: 0 8px 24px #172b4d26; text-align: left; }
.client-tag-filter-panel fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.client-tag-filter-options { display: grid; gap: .25rem; max-height: min(18rem, 50svh); overflow-y: auto; overscroll-behavior: contain; }
.client-tag-filter-option { display: flex; align-items: center; gap: .5rem; min-width: 0; margin: 0; padding: .375rem .25rem; border-radius: .25rem; cursor: pointer; }
.client-tag-filter-option:hover { background: #f1f5f9; }
.client-tag-filter-option input { flex-shrink: 0; margin: 0; }
.client-tag-filter-option .tag { min-width: 0; }
.client-tag-filter-count { flex-shrink: 0; margin-left: auto; color: #475569; font-size: .75rem; }
.client-selected-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem; margin-block: .75rem; }
.client-selected-filters .tag-pill { background: #e9edf2; }
.clients-table-card .dt-search { display: flex; align-items: center; gap: .5rem; }
.clients-table-card .dt-search input { margin-left: 0; height: 2rem; padding-block: .375rem; font-size: .75rem; }
.client-status-filter { position: relative; display: inline-flex; flex-shrink: 0; height: 2rem; width: 10rem; min-width: 0; padding: 2px; margin: 0; border: 1px solid #dce1e7; border-radius: .375rem; background: #e9edf2; }
.client-status-filter label { position: relative; display: flex; flex: 1; align-items: center; justify-content: center; margin: 0; cursor: pointer; font-size: .75rem; font-weight: 500; }
.client-status-filter input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.client-status-filter label span { position: relative; }
.client-status-slider { position: absolute; top: 2px; bottom: 2px; left: 2px; width: calc(50% - 2px); border-radius: .25rem; background: #2563eb; transition: transform .18s ease; }
.client-status-filter:has(input[value="inactive"]:checked) .client-status-slider { transform: translateX(100%); }
.client-status-filter label:has(input:checked) { color: #fff; }
.client-status-filter label:has(input:focus-visible) { outline: 3px solid #2563eb; outline-offset: 4px; border-radius: .3rem; }
@media (prefers-reduced-motion: reduce) {
    .client-status-slider { transition: none; }
}
.clients-table-card .dt-layout-table { margin-block: .75rem; }
.clients-table-card .dt-info { color: #262626; font-size: .875rem; }
.client-dialog { width: min(44rem, calc(100vw - 2rem)); max-width: calc(100vw - 2rem); max-height: calc(100svh - 2rem); padding: 0; border: 1px solid #dce1e7; border-radius: 1rem; background: rgb(246, 245, 244); color: #262626; box-shadow: 0 24px 80px #172b4d33; overflow: hidden; }
.client-dialog::backdrop { background: rgb(15 23 42 / 35%); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); }
.client-form { display: flex; flex-direction: column; max-height: calc(100svh - 2rem); }
.client-form .modal-header, .client-form .modal-footer { flex-shrink: 0; padding: 1rem 1.5rem; }
.client-form .modal-header { border-bottom: 1px solid #dce1e7; }
.client-form .modal-footer { border-top: 1px solid #dce1e7; gap: .75rem; }
.client-form .modal-body { overflow-y: auto; padding: 1.25rem 1.5rem; }
.client-form .form-control { background: #fff; }
@media (max-width: 575.98px) {
    .clients-table-card .dt-layout-end { flex-direction: column; align-items: stretch; gap: .75rem; }
    .client-status-filter { width: 100%; }
    .client-tag-filter { width: 100%; min-width: 0; }
    .client-tag-filter-panel { width: 100%; max-width: 100%; }
    .clients-table-card .dt-search { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; width: 100%; }
    .clients-table-card .dt-search input { width: 100%; min-width: 0; }
    .client-form .modal-header, .client-form .modal-footer, .client-form .modal-body { padding-inline: 1rem; }
}

body:has(.client-dialog[open]) { overflow: hidden; }
.client-form .modal-body { overscroll-behavior: contain; }

.client-name-link { padding: 0; border: 0; background: transparent; color: #2563eb; font: inherit; text-align: left; cursor: pointer; }
.client-name-link { text-decoration: none; }
.client-name-link:hover { text-decoration: underline; }
.client-row-actions { display: flex; justify-content: flex-end; gap: .35rem; }
.client-actions-cell { width: 1%; text-align: right; }
.client-action-button { display: inline-flex; align-items: center; justify-content: center; width: 1.625rem; height: 1.625rem; padding: .25rem; border: 0; border-radius: .35rem; color: #64748b; background: transparent; cursor: pointer; }
.client-action-button svg { width: 1rem; height: 1rem; }
.client-action-button:hover { color: #2563eb; background: #e9efff; }
.client-action-button[data-client-action="delete"]:hover { color: #b42318; background: #feeceb; }
.client-delete-dialog { width: min(28rem, calc(100vw - 2rem)); }
.client-delete-warning { margin-bottom: 1.25rem; padding: 1rem; border: 1px solid #e9a4a4; border-left: 4px solid #b42318; border-radius: .4rem; background: #feeceb; color: #821c12; }
#client-delete-name { overflow-wrap: anywhere; }
.client-name-link:focus-visible, .client-action-button:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; border-radius: .2rem; }
.client-name-link:disabled, .client-action-button:disabled { opacity: .6; cursor: wait; }
.client-details-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem 1.5rem; margin: 0; }
.client-detail { min-width: 0; }
.client-detail dt { margin-bottom: .3rem; font-size: .75rem; font-weight: 500; color: #262626; }
.client-detail dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
@media (max-width: 575.98px) {
    .client-details-grid { grid-template-columns: minmax(0, 1fr); }
}

.client-action-button { text-decoration: none; }
.client-back-link { color: #2563eb; font-size: .875rem; text-decoration: none; }
.client-back-link:hover { text-decoration: underline; }
.client-back-link:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; border-radius: .2rem; }
.client-profile-heading { display: flex; align-items: center; gap: .75rem; flex: 1 1 15rem; min-width: 0; }
.client-profile-heading .client-profile-status { flex-shrink: 0; }
.client-profile-name { flex: 0 1 auto; min-width: 0; margin: 0; overflow-wrap: anywhere; line-height: 1.3; }
.client-profile-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.client-profile-status { display: inline-flex; padding: .4rem .75rem; border-radius: .4rem; background: #e9edf2; color: #475569; font-size: .875rem; font-weight: 500; }
.client-profile-status-active { background: #e9efff; color: #1d4ed8; }
.client-profile-address { grid-column: 1 / -1; }
.client-address-line { display: block; }
.client-profile-meta { display: grid; gap: 1.25rem; margin: 0; }
.client-profile-tag { display: inline-block; max-width: 100%; padding: .25rem .5rem; border-radius: .3rem; background: #e9edf2; }
.client-history-header { display: flex; justify-content: space-between; gap: 1rem; }
.client-coming-soon { flex-shrink: 0; padding: .25rem .5rem; border-radius: .3rem; background: #e9edf2; color: #475569; font-size: .75rem; }
.client-history-placeholder { padding-block: 1.5rem; color: #475569; }

.tag-pill { --tblr-tag-padding-x: .375rem; --tblr-tag-gap: .25rem; --tblr-tag-close-size: 1.25rem; max-width: 100%; height: auto; min-height: 1.5rem; padding-block: .0625rem; font-size: .75rem; line-height: 1.25; white-space: normal; overflow-wrap: anywhere; }
.tag-pill > span { min-width: 0; }
.tag-pill .btn-close { flex-shrink: 0; min-width: 1.25rem; min-height: 1.25rem; }
.tag-pill .btn-close:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; border-radius: .2rem; }
.client-tag-list { min-width: 8rem; max-width: 22rem; }
#client-tag-choice { background-color: #fff; }

.tag-colour-field { flex: 0 0 8rem; min-width: 0; }
.tag-colour-field .clr-field { display: block; }
.tag-colour-input { width: 100%; background-color: #fff; }
.tag-edit-button { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 1.25rem; height: 1.25rem; padding: .15rem; border: 0; background: transparent; color: inherit; cursor: pointer; border-radius: .2rem; }
.tag-edit-button svg { width: .875rem; height: .875rem; }
.tag-edit-button:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
.tag-edit-dialog { width: min(30rem, calc(100vw - 2rem)); overflow: visible; }
.tag-edit-dialog [hidden] { display: none !important; }
.project-dialog { overflow: visible; }
.project-dialog .client-form { border-radius: inherit; overflow: hidden; }
.project-dialog [hidden] { display: none !important; }
.project-dialog .ts-wrapper { --bs-body-bg: #fff; --bs-body-color: var(--tblr-body-color); --bs-border-color: var(--tblr-border-color); --bs-border-color-translucent: #dce1e7; --bs-border-width: 1px; --bs-border-radius: var(--tblr-border-radius); --bs-border-radius-sm: var(--tblr-border-radius-sm); --bs-border-radius-lg: var(--tblr-border-radius-lg); --bs-secondary-bg: #e9edf2; --bs-tertiary-bg: #f6f5f4; --bs-secondary-color: #475569; --bs-form-invalid-color: var(--tblr-danger); --bs-form-valid-color: var(--tblr-success); --bs-box-shadow-inset: none; background: #fff; }
.project-dialog .ts-dropdown { z-index: 5; }
.project-dialog .ts-dropdown .active { background: #e9efff; color: #1d4ed8; }
.project-budget-panel { padding: 1rem; border: 1px solid #dce1e7; border-radius: .5rem; background: #fff; }
.project-budget-panel.row { margin: 0; padding: 0 0 1rem; }
.project-budget-panel fieldset { min-width: 0; margin: 0; }
.project-budget-progress { min-width: 9rem; }

.project-budget-panel legend { float: none; width: auto; font-size: .875rem; }
.project-calendar-layer { position: fixed; inset: 0; pointer-events: none; z-index: 10; }
.project-calendar-layer [data-vc] { pointer-events: auto; }
.project-date-input[readonly] { background: #fff; cursor: pointer; }
.project-date-group .project-date-clear { border-color: var(--tblr-border-color); padding-inline: .5rem; }
.project-date-group .input-group-text { padding-inline: .5rem; }
.notification-toggle { position: relative; display: flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: .375rem; color: #475569; cursor: pointer; list-style: none; }
.notification-toggle::-webkit-details-marker { display: none; }
.notification-toggle:hover, .notification-menu[open] .notification-toggle { background: #e9efff; color: #1d4ed8; }
.notification-toggle:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.notification-count { position: absolute; top: -.4rem; right: -.5rem; min-width: 1.1rem; padding: .1rem .25rem; border-radius: 1rem; background: #2563eb; color: #fff; font-size: .65rem; line-height: 1rem; text-align: center; }
.notification-panel { width: min(23rem, calc(100vw - 2rem)); padding: 0; }
.notification-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border-bottom: 1px solid #dce1e7; }
.notification-header .workspace-menu-heading { padding: 0; }
.notification-empty { padding: 1rem; font-size: .875rem; }
.notification-caption { padding: .5rem 1rem; margin: 0; font-size: .75rem; color: #475569; }
.notification-list { list-style: none; padding: 0; margin: 0; max-height: min(28rem, 60svh); overflow-y: auto; }
.notification-item { padding: .875rem 1rem; border-bottom: 1px solid #e2e8f0; overflow-wrap: anywhere; }
.notification-unread { background: #f1f5ff; }
.notification-title { margin: 0 0 .25rem; font-size: .875rem; font-weight: 600; }
.notification-title a { color: inherit; }
.notification-message { margin: 0 0 .25rem; font-size: .8125rem; white-space: pre-wrap; }
.notification-date { display: block; font-size: .75rem; color: #475569; }
.notification-footer { padding: .75rem 1rem; }
.tag-edit-picker-layer { position: fixed; inset: 0; pointer-events: none; }
.tag-edit-picker-layer .clr-picker { pointer-events: auto; }
.tag-pill .btn-close { opacity: .85; background-color: currentColor; filter: none; }
.clr-picker { font-family: inherit; }

.tag-create-form .workspace-name-field { flex-basis: 10rem; }

/* Keep time records readable without expanding long tasks or descriptions across the page. */
.time-log-task-cell { min-width: 9rem; max-width: 13rem; }
.time-log-project-cell { min-width: 8rem; max-width: 11rem; }
.clients-table td.time-log-task-cell, .clients-table td.time-log-project-cell { white-space: normal; overflow-wrap: anywhere; }
.time-log-secondary { margin-top: .2rem; }
#time-log-delete-name { overflow-wrap: anywhere; }
.client-action-button[data-time-log-action="delete"]:hover { color: #b42318; background: #feeceb; }
.time-log-tag-list { min-width: 5rem; max-width: 10rem; }

/* Native values allow server-rendered budget bars under the existing strict CSP. */
.project-budget-meter { appearance: none; -webkit-appearance: none; display: block; width: 100%; border: 0; background: var(--tblr-progress-bg, #e6e7e9); }
.project-budget-meter::-webkit-progress-bar { background: var(--tblr-progress-bg, #e6e7e9); border-radius: inherit; }
.project-budget-meter::-webkit-progress-value { background: currentColor; border-radius: inherit; }
.project-budget-meter::-moz-progress-bar { background: currentColor; border-radius: inherit; }
.project-budget-meter.budget-primary { color: var(--tblr-primary, #206bc4); }
.project-budget-meter.budget-warning { color: var(--tblr-warning, #f59f00); }
.project-budget-meter.budget-danger { color: var(--tblr-danger, #d63939); }
