.app-brand-wrap { align-items: center; display: inline-flex; gap: var(--space-5); min-height: var(--badge-height); } .app-brand, .brand { align-items: center; display: inline-flex; } .app-logo { filter: var(--icon-filter); height: var(--logo-size); width: var(--logo-size); } .app-total-badges { align-items: center; display: inline-flex; gap: var(--space-3); } .app-total-badge { background: var(--color-header-badge-bg); border: 0; border-radius: var(--radius-md); color: var(--color-header-badge-text); display: flex; flex-direction: column; gap: var(--space-1); justify-content: center; min-height: 2.5rem; min-width: 4.5rem; padding: var(--space-3) var(--space-3) var(--space-2); text-align: center; } .app-total-badge__label { color: var(--color-header-badge-label); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); line-height: 1; } .app-total-badge__value { color: var(--color-header-badge-text); font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); letter-spacing: -0.02em; line-height: 1; } .settings-counter-badges { justify-content: center; margin-top: var(--space-2); width: 100%; } .settings-counter-badges .app-total-badge { gap: calc(var(--space-1) * 1.5); min-height: calc(2.5rem * 1.5); min-width: calc(4.5rem * 1.5); padding: calc(var(--space-3) * 1.5) calc(var(--space-3) * 1.5) calc(var(--space-2) * 1.5); } .settings-counter-badges .app-total-badge__label { font-size: var(--font-size-sm); } .settings-counter-badges .app-total-badge__value { font-size: var(--font-size-2xl); } .settings-workhours-form { margin-top: var(--space-4); } .settings-workhours-inline-grid { align-items: start; } .settings-workhours-field { align-content: start; grid-template-rows: auto minmax(var(--input-height), auto); } .settings-workhours-field-hint { margin-top: calc(var(--space-3) * -1); } .app-total-badge-vacation .app-total-badge__value { color: var(--color-warning); } .app-total-badge-workhours .app-total-badge__value { color: var(--color-workhours); } .app-total-badge-target .app-total-badge__value { color: var(--color-text); } .app-total-badge-projection .app-total-badge__value { color: var(--color-workhours); } .app-total-badge-projection.is-positive .app-total-badge__value { color: var(--color-success-strong); } .app-total-badge.is-negative .app-total-badge__value { color: var(--color-danger-strong); } .app-total-badge.is-positive .app-total-badge__value { color: var(--color-success); } .segmented-toggle { align-items: stretch; display: inline-flex; gap: var(--space-2); } .segmented-toggle__item { align-items: center; border: var(--border-width-1) solid transparent; border-radius: var(--radius-sm); color: var(--color-link); display: inline-flex; font-size: var(--font-size-md); font-weight: var(--font-weight-medium); height: var(--control-h); justify-content: center; line-height: 1; min-width: calc(var(--control-h) + var(--space-3)); padding: 0 var(--space-3); text-decoration: none; } .segmented-toggle__item:hover { text-decoration: none; } .segmented-toggle__item.is-active { background: var(--color-badge-bg); color: var(--color-bg); font-weight: var(--font-weight-bold); } .topbar-toggle .segmented-toggle__item { border-radius: var(--radius-md); font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); height: var(--badge-height); min-width: auto; padding: var(--badge-pad-top) var(--space-3) var(--badge-pad-bottom); } .auth-toggle .segmented-toggle__item { font-size: var(--font-size-xs); min-width: auto; padding: 0 var(--space-2); } .app-icon-nav { align-items: center; display: inline-flex; gap: var(--space-3); } .icon-button, .app-icon-btn { align-items: center; background: transparent; border: var(--border-width-1) solid transparent; border-radius: var(--radius-md); color: var(--color-text); cursor: pointer; display: inline-flex; height: var(--control-h); justify-content: center; min-width: var(--control-h); padding: 0; text-decoration: none; } .icon-button:hover, .app-icon-btn:hover { background: var(--color-primary); text-decoration: none; } .dash-icon { filter: var(--icon-filter); height: var(--header-icon-size); width: var(--header-icon-size); } .dash-icon-rotate-180 { transform: rotate(180deg); } .btn, .button { align-items: center; background: var(--color-button-primary); border: var(--border-width-1) solid var(--color-border); border-radius: var(--radius-md); color: var(--color-text); cursor: pointer; display: inline-flex; font-size: var(--font-size-md); font-weight: var(--font-weight-semibold); gap: var(--space-2); height: var(--control-h); justify-content: center; min-height: var(--control-h); padding: 0 var(--space-4); text-decoration: none; } .btn:hover, .button:hover { background: var(--color-button-primary-hover); text-decoration: none; } .btn:disabled, .button:disabled { cursor: not-allowed; opacity: 0.55; } .btn--ghost, .button.ghost { background: transparent; } .btn--ghost:hover, .button.ghost:hover { background: var(--color-primary); } .btn--danger, .button.danger { background: var(--color-danger); } .btn[type="submit"]:not(.btn--ghost, .btn--danger), .button[type="submit"]:not(.ghost, .danger) { border-color: var(--color-button-primary-border); } .card, .auth-card, .form-card, .register-section, .register-section-note, .register-actions, .vacation-item, .settings-note, .admin-user-row, .settings-section { background: color-mix(in srgb, var(--color-surface) 92%, transparent); border: var(--border-width-1) solid var(--color-border); } .card { padding: var(--surface-pad); } .auth-card, .form-card { margin: 0 auto; width: min(42.5rem, 100%); } .legal-card, .contact-card { display: grid; gap: var(--space-5); } .legal-content { display: grid; gap: var(--space-3); } .legal-content h1, .legal-content h2, .legal-content h3, .legal-content h4 { color: var(--color-text); } .legal-content p, .legal-content li, .legal-content blockquote { color: var(--color-text); line-height: 1.6; } .legal-content ul, .legal-content ol { display: grid; gap: var(--space-2); margin: 0; padding-inline-start: var(--space-5); } .legal-content a { color: var(--color-link); } .form-card.full-width, .settings-section.form-card.full-width { max-width: none; width: 100%; } .auth-card-register, .register-shell { border: 0; margin: 0; padding: 0; width: 100%; } .auth-links { display: grid; gap: var(--space-2); margin-top: var(--space-4); } .auth-links p { margin: 0; } .auth-links a { text-decoration: underline; text-underline-offset: var(--space-1); } .site-footer-nav { display: inline-flex; flex-wrap: wrap; gap: var(--space-4); } .site-footer-nav a { color: var(--color-text-muted); text-decoration: none; } .site-footer-nav a:hover { color: var(--color-text); text-decoration: underline; } .alert, .error, .success { align-items: center; border: var(--border-width-1) solid var(--color-border); display: flex; gap: var(--space-3); justify-content: space-between; margin-bottom: var(--space-2); padding: var(--space-3) var(--space-4); } .success, .alert--success { background: var(--color-success-bg); color: var(--color-success); } .error, .alert--error { background: color-mix(in srgb, var(--color-danger) 20%, var(--color-bg)); color: var(--color-text); } .alert--info { background: color-mix(in srgb, var(--color-surface-2) 80%, transparent); } .alert__close { background: transparent; border: 0; color: inherit; cursor: pointer; font-size: var(--font-size-lg); } .stack { display: grid; gap: var(--space-4); } .inline-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(2, minmax(11rem, 1fr)); } .nav-row { display: flex; flex-wrap: wrap; gap: var(--space-3); } label, .form-field { display: grid; gap: var(--space-2); font-weight: var(--font-weight-semibold); } .form-field--hint { align-items: start; } .stack-xs { display: grid; gap: var(--space-2); } .form-field__label { font-weight: var(--font-weight-semibold); } input, textarea, select, .input { background: var(--color-surface-3); border: var(--border-width-1) solid var(--color-border); border-radius: var(--radius-md); color: var(--color-text); font: inherit; min-height: var(--input-height); padding: var(--space-3); } textarea, textarea.input { min-height: 6rem; } input:disabled, textarea:disabled, select:disabled { color: var(--color-text-muted); } .checkbox-row { align-items: center; display: flex; gap: var(--space-2); font-weight: var(--font-weight-medium); } .checkbox-row input { min-height: auto; } .weekday-fieldset { border: var(--border-width-1) solid var(--color-border); margin: 0; padding: var(--surface-pad-compact); } .weekday-fieldset legend { color: var(--color-text-muted); font-size: var(--font-size-sm); padding: 0 var(--space-1); } .weekday-grid, .register-weekday-grid { display: grid; gap: var(--space-2) var(--space-4); grid-template-columns: repeat(4, minmax(7.5rem, 1fr)); } .table-wrap { overflow-x: auto; } .table { border-collapse: collapse; width: 100%; } .table th, .table td { border: var(--border-width-1) solid var(--color-border); padding: var(--space-3); text-align: left; } .empty-state { border: var(--border-width-1) dashed var(--color-border); padding: var(--space-6); text-align: center; } .badge { background: var(--color-surface-2); border: var(--border-width-1) solid var(--color-border); color: var(--color-text); display: inline-flex; font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); padding: var(--space-1) var(--space-2); } .modal { inset: 0; position: fixed; z-index: var(--z-modal); } .modal__backdrop { background: color-mix(in srgb, var(--color-bg) 80%, transparent); inset: 0; position: absolute; } .modal__dialog { background: var(--color-surface); border: var(--border-width-1) solid var(--color-border); inset: 50% auto auto 50%; max-width: min(40rem, 92vw); position: absolute; transform: translate(-50%, -50%); width: 100%; } .modal__header, .modal__body { padding: var(--surface-pad); } .modal__header { align-items: center; border-bottom: var(--border-width-1) solid var(--color-border); display: flex; justify-content: space-between; } .modal__close { background: transparent; border: 0; color: var(--color-text); cursor: pointer; font-size: var(--font-size-lg); } .pagination { display: flex; gap: var(--space-3); } .top-row h1 { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); } .settings-page .top-row { margin-bottom: var(--space-3); padding-top: var(--space-5); } .settings-grid { display: grid; gap: var(--space-6); margin-top: var(--space-2); } .settings-tabs { display: grid; gap: var(--space-2); grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: var(--stack-2); } .settings-tabs .segmented-toggle__item { background: transparent; border: var(--border-width-1) solid var(--color-border); border-radius: var(--radius-none); color: var(--color-text-muted); font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); } .settings-tabs .segmented-toggle__item.is-active { background: color-mix(in srgb, var(--color-surface) 92%, transparent); color: var(--color-text); } .site-header.is-auth-header .auth-toggle .segmented-toggle__item { font-size: var(--font-size-xs); height: 1.5625rem; min-width: 4.5rem; padding: 0 var(--space-2); } .settings-section { padding: var(--space-4); } .settings-section--collapsible { padding: 0; } .settings-section__summary { align-items: center; cursor: pointer; display: flex; gap: var(--space-3); justify-content: space-between; list-style: none; padding: var(--surface-pad); } .settings-section__summary::-webkit-details-marker { display: none; } .settings-section__heading { font-size: var(--font-size-xl); font-weight: var(--font-weight-semibold); } .settings-section__chevron { align-items: center; color: var(--color-text-muted); display: inline-flex; flex: 0 0 auto; font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); justify-content: center; line-height: 1; width: 1rem; } .settings-section__chevron::before { content: "+"; } .settings-section--collapsible[open] .settings-section__chevron::before { content: "-"; } .settings-section__content { border-top: var(--border-width-1) solid var(--color-border); padding: 0 var(--surface-pad) var(--surface-pad); } .settings-section__content > :first-child { margin-top: var(--space-4); } .settings-section .button { width: 100%; } .landing-shell { justify-items: center; padding-block: var(--space-7) var(--space-8); } .landing-hero { display: grid; gap: var(--space-5); width: min(44rem, 100%); } .landing-hero--centered { justify-items: center; text-align: center; } .landing-hero__copy { justify-items: center; margin: 0 auto; width: min(36rem, 100%); } .landing-hero__logo-wrap { display: flex; justify-content: center; } .landing-hero__logo { height: auto; max-width: 12rem; width: 100%; } .landing-eyebrow { color: var(--color-text-muted); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); justify-self: center; letter-spacing: 0.02em; margin: 0; text-transform: uppercase; } .landing-title { font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); justify-self: center; line-height: var(--line-height-tight); margin: 0; max-width: 30rem; text-wrap: balance; } .landing-lead { color: var(--color-text); font-size: var(--font-size-lg); justify-self: center; margin: 0; max-width: 36rem; text-align: center; } .landing-cta-row { display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: center; justify-self: center; } .landing-cta-row .btn { min-width: 11rem; } .settings-auth-row { display: grid; gap: var(--space-2); grid-template-columns: repeat(2, minmax(0, 1fr)); } .settings-export-actions { display: grid; gap: var(--space-2); } .settings-import-preview { background: color-mix(in srgb, var(--color-surface) 95%, transparent); border: var(--border-width-1) solid var(--color-border); padding: var(--surface-pad); } .settings-import-preview__header { align-items: start; display: grid; gap: var(--space-2); grid-template-columns: minmax(0, 1fr) auto; } .settings-import-preview__mode { align-self: center; background: var(--color-surface-2); border-radius: var(--radius-sm); color: var(--color-text); display: inline-flex; min-height: var(--control-h); padding: var(--space-1) var(--space-3); } .settings-import-grid { display: grid; gap: var(--space-2); grid-template-columns: repeat(5, minmax(0, 1fr)); } .settings-import-stat { background: color-mix(in srgb, var(--color-surface-2) 92%, transparent); display: grid; gap: var(--space-1); padding: var(--space-3); } .settings-import-summary { display: grid; gap: var(--space-2); } .settings-import-conflicts { display: grid; gap: var(--space-1); margin: 0; padding-inline-start: var(--space-4); } .contact-grid { display: grid; gap: var(--space-4); grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } .contact-info-list { display: grid; gap: var(--space-2); margin: 0; padding-inline-start: var(--space-5); } .contact-honeypot { height: 0; left: -9999px; overflow: hidden; position: absolute; width: 0; } .danger-card { border-color: color-mix(in srgb, var(--color-danger) 24%, var(--color-border)); } .admin-user-row { align-items: center; column-gap: var(--space-3); display: grid; grid-template-columns: minmax(14rem, 1.4fr) repeat(3, minmax(7rem, 1fr)) minmax(13rem, auto); padding: var(--surface-pad-compact); } .admin-user-actions { display: inline-flex; gap: var(--space-2); justify-content: flex-end; } .register-shell, .register-form, .vacation-list, .admin-user-list, .admin-recipient-picker, .support-ticket-list { display: grid; gap: var(--space-2); } .support-ticket-card { background: var(--color-surface-2); border: var(--border-width-1) solid var(--color-border); border-radius: var(--radius-md); display: grid; gap: var(--space-3); padding: var(--surface-pad); } .support-ticket-card__header { display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: space-between; } .support-ticket-card__title-wrap, .support-ticket-card__meta { display: grid; gap: var(--space-1); } .support-ticket-card__title-wrap h3 { font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); } .support-ticket-card__message { background: var(--color-surface); border-radius: var(--radius-md); color: var(--color-text); padding: var(--surface-pad-compact); white-space: pre-wrap; } .support-ticket-card__controls { align-items: start; } .admin-recipient-grid { display: grid; gap: var(--space-2) var(--space-4); grid-template-columns: repeat(2, minmax(12rem, 1fr)); } .vacation-list { margin-top: var(--space-5); } .vacation-item { align-items: center; display: grid; gap: var(--space-3); grid-template-columns: minmax(0, 1fr) auto; padding: var(--surface-pad-compact); } .settings-note { padding: var(--surface-pad-compact); } .settings-adjustment-meta { display: grid; gap: var(--space-2); place-items: end; } .help-intro, .help-callout, .help-section, .help-guides, .help-guide-card { background: color-mix(in srgb, var(--color-surface) 92%, transparent); border: var(--border-width-1) solid var(--color-border); display: grid; gap: var(--space-3); padding: var(--surface-pad); } .help-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(2, minmax(0, 1fr)); } .help-guides { margin-top: var(--space-4); } .help-guides__header { display: grid; gap: var(--space-2); } .help-guides__grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(2, minmax(0, 1fr)); } .help-guide-card h3 { font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); } .help-section__header, .help-section__body { display: grid; gap: var(--space-3); } .help-section h2, .help-callout h2 { font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); } .help-intro p, .help-callout p, .help-section p, .help-guide-card p, .help-section li { color: var(--color-text); line-height: 1.5; } .help-list, .help-steps { display: grid; gap: var(--space-3); margin: 0; padding-inline-start: var(--space-5); } .help-list strong, .help-steps strong { font-weight: var(--font-weight-bold); } .register-title { font-size: var(--font-size-xl); margin: var(--space-2) 0; } .register-section, .register-actions, .register-section-note { padding: var(--surface-pad); } .register-section h2 { font-size: var(--font-size-xl); margin-bottom: var(--space-1); } .register-subtitle, .register-email-note, .register-footer, .register-section-note { color: var(--color-text-muted); font-size: var(--font-size-sm); } .register-grid-2 { display: grid; gap: var(--space-4); grid-template-columns: repeat(2, minmax(10rem, 1fr)); } .register-checkbox-row { display: grid; gap: var(--space-2); } .register-actions .btn, .register-submit { width: 100%; } .register-footer { padding: 0 var(--space-2); } .week-view-shell, .month-view-shell { display: grid; gap: var(--space-1); } .week-group-list, .day-list { display: grid; gap: 0; } .period-header { align-items: center; background: var(--color-surface-2); border: 0; display: grid; grid-template-columns: 1fr auto 1fr; min-height: var(--period-height); padding: var(--space-1) var(--space-3); } .period-header__nav { align-items: center; display: inline-flex; gap: var(--space-2); grid-column: 2; justify-self: center; } .period-header__title { font-size: var(--font-size-md); font-weight: var(--font-weight-medium); line-height: 1; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .period-header__actions { align-items: center; display: inline-flex; gap: var(--space-2); grid-column: 3; justify-self: end; } .week-vacation-button { align-items: center; background: transparent; border: var(--border-width-1) solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-text); cursor: pointer; display: inline-flex; font-size: var(--font-size-md); font-weight: var(--font-weight-bold); min-height: var(--control-h); padding: 0 var(--space-3); } .week-vacation-button.is-active { background: var(--color-accent); border-color: var(--color-warning); } .kpi-bar { display: grid; gap: var(--space-2); grid-template-columns: repeat(4, minmax(0, 1fr)); } .kpi-bar__item { align-items: center; background: color-mix(in srgb, var(--color-surface) 92%, transparent); border: 0; display: flex; gap: var(--space-2); min-height: var(--kpi-height); padding: 0 var(--space-3); } .kpi-bar__label { font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); } .kpi-bar__value { font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); } .kpi-bar__item--editable { justify-content: flex-start; } .kpi-bar__edit { align-items: center; background: transparent; border: 0; cursor: pointer; display: inline-flex; margin-left: auto; padding: 0; } .kpi-bar__edit .dash-icon { height: var(--icon-size-sm); width: var(--icon-size-sm); } .workhours-warning-banner { align-items: center; background: var(--color-danger-strong); color: var(--color-text); display: flex; justify-content: center; min-height: 2.25rem; padding: 0 var(--space-5); position: relative; } .workhours-warning-text { font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); line-height: 1.1; text-align: center; } .workhours-warning-close { background: transparent; border: 0; color: var(--color-text); cursor: pointer; font-size: var(--font-size-lg); position: absolute; right: var(--space-3); } .dash-target-editor { background: color-mix(in srgb, var(--color-surface) 92%, transparent); border: var(--border-width-1) solid var(--color-border); padding: var(--space-5); } .day-row { align-items: center; background: color-mix(in srgb, var(--color-surface-4) 92%, transparent); border: 0; display: grid; gap: var(--space-2); grid-template-columns: var(--day-col) 1fr var(--actions-col); min-height: var(--row-height-compact); padding: 0 var(--space-3); } .day-row--weekend { background: color-mix(in srgb, var(--color-weekend) 96%, transparent); } .day-row--today { background: var(--color-day-today); } .day-row__label { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .day-row__cells { display: grid; gap: var(--space-2); grid-auto-columns: minmax(0, var(--chip-col)); grid-auto-flow: column; justify-content: start; } .ui-chip { align-items: center; background: var(--color-chip-bg); border: var(--border-width-1) solid var(--color-border-soft); color: var(--color-text); display: inline-flex; font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); min-height: var(--chip-h); padding: 0 var(--space-3); white-space: nowrap; } .ui-chip--empty { color: var(--color-text-muted); } .day-row__actions { align-items: center; display: inline-flex; gap: var(--space-2); justify-content: flex-end; line-height: 0; padding-right: var(--space-2); } .day-row__actions .dash-icon, .day-row__add-menu .dash-icon, .week-group-card-mobile .day-list .dash-icon { height: var(--list-icon-size); width: var(--list-icon-size); } .day-row__actions .dash-icon[src$="/edit.svg"] { transform: translateY(0.0625rem); } .day-row__actions .dash-icon[src$="/delete.svg"] { transform: translateY(0); } .day-status-badge { align-items: center; background: transparent; border: var(--border-width-1) solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-text); cursor: pointer; display: inline-flex; font-size: var(--font-size-md); font-weight: var(--font-weight-bold); justify-content: center; min-height: var(--control-h); min-width: var(--control-h); padding: 0 var(--space-2); } .day-status-badge.is-vacation { background: var(--color-accent); border-color: var(--color-warning); } .day-status-badge.is-holiday { background: color-mix(in srgb, var(--color-primary) 90%, transparent); } .day-status-badge.is-sick { background: color-mix(in srgb, var(--color-danger) 55%, var(--color-surface)); } .day-status-badge.is-overtime { background: color-mix(in srgb, var(--color-primary) 65%, var(--color-surface)); border-color: var(--color-primary); } .day-row__add-menu { position: relative; } .day-row__add-menu summary { list-style: none; } .day-row__add-menu summary::-webkit-details-marker { display: none; } .day-row__add-menu-panel { box-shadow: var(--shadow-md); background: var(--color-surface-2); border: var(--border-width-1) solid var(--color-border); display: grid; gap: var(--space-2); min-width: 13rem; padding: var(--space-2); position: absolute; right: 0; top: calc(100% + var(--space-1)); z-index: var(--z-header); } .day-row__add-menu-item { align-items: center; background: transparent; border: 0; color: var(--color-text); cursor: pointer; display: flex; font-family: inherit; font-size: var(--font-size-md); justify-content: flex-start; line-height: var(--line-height-tight); min-height: var(--control-h); padding: var(--space-2) var(--space-3); text-decoration: none; text-align: left; width: 100%; white-space: normal; } .day-row__add-menu-item:hover { background: var(--color-primary); text-decoration: none; } .week-group-list { gap: var(--stack-3); } .week-group-card-mobile { background: color-mix(in srgb, var(--color-surface) 92%, transparent); border: 0; display: grid; gap: var(--stack-2); padding: var(--space-2); } .week-group-header { align-items: center; background: color-mix(in srgb, var(--color-surface-2) 92%, transparent); border: 0; display: grid; gap: var(--space-2); grid-template-columns: 1fr auto auto; min-height: var(--row-height-compact); padding: var(--space-2) var(--space-3); } .week-group-header__left { align-items: center; display: inline-flex; font-size: var(--font-size-md); gap: var(--space-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .week-group-header__meta { font-size: var(--font-size-sm); line-height: 1.2; white-space: nowrap; } .week-group-header__action { justify-self: end; } :is(html[data-theme="light"], html[data-theme="auto"][data-theme-resolved="light"]) .period-header, :is(html[data-theme="light"], html[data-theme="auto"][data-theme-resolved="light"]) .kpi-bar__item, :is(html[data-theme="light"], html[data-theme="auto"][data-theme-resolved="light"]) .day-row, :is(html[data-theme="light"], html[data-theme="auto"][data-theme-resolved="light"]) .week-group-header { border-color: var(--color-border); } :is(html[data-theme="light"], html[data-theme="auto"][data-theme-resolved="light"]) .period-header { background: var(--color-surface-list-alt); } :is(html[data-theme="light"], html[data-theme="auto"][data-theme-resolved="light"]) .kpi-bar__item, :is(html[data-theme="light"], html[data-theme="auto"][data-theme-resolved="light"]) .ui-chip, :is(html[data-theme="light"], html[data-theme="auto"][data-theme-resolved="light"]) .week-group-header { background: var(--color-surface); } :is(html[data-theme="light"], html[data-theme="auto"][data-theme-resolved="light"]) .ui-chip { border-color: var(--color-border); } :is(html[data-theme="light"], html[data-theme="auto"][data-theme-resolved="light"]) .day-row { background: var(--color-surface-list); } :is(html[data-theme="light"], html[data-theme="auto"][data-theme-resolved="light"]) .day-row--weekend { background: var(--color-surface-list-alt); } :is(html[data-theme="light"], html[data-theme="auto"][data-theme-resolved="light"]) .day-row--today { background: var(--color-surface-list-today); } .week-group-card-mobile .day-list { gap: var(--stack-1); padding-inline-start: var(--space-2); } .positive { color: var(--color-success); } .negative { color: var(--color-danger-strong); } .inline-form { align-items: center; display: inline-flex; margin: 0; } .day-row__add-menu-panel .inline-form { display: block; width: 100%; } @media (max-width: 51.25em) { :root { --control-h: var(--control-h-mobile); --header-icon-size: var(--list-icon-size); --logo-size: 2rem; } .landing-shell { padding-block: var(--space-5) var(--space-6); } .landing-hero__logo { max-width: 10rem; } .app-total-badge { font-size: var(--font-size-sm); } .topbar-toggle .segmented-toggle__item { font-size: var(--font-size-md); } .inline-grid, .register-grid-2, .settings-auth-row, .settings-import-preview__header, .settings-import-grid, .admin-user-row, .admin-recipient-grid, .vacation-item { grid-template-columns: 1fr; } .settings-adjustment-meta { place-items: start; } .help-grid { grid-template-columns: 1fr; } .help-guides__grid { grid-template-columns: 1fr; } .contact-grid { grid-template-columns: 1fr; } .period-header { margin-inline: calc(var(--gutter-tablet) * -1); grid-template-columns: 1fr; row-gap: var(--space-2); padding: var(--space-2); } .period-header__nav { grid-column: 1; } .period-header__actions { grid-column: 1; justify-self: center; } .kpi-bar { margin-inline: calc(var(--gutter-tablet) * -1); grid-template-columns: repeat(2, minmax(0, 1fr)); } .dashboard-page .day-list--week, .month-page .week-group-list { margin-inline: calc(var(--gutter-tablet) * -1); } .month-page .week-group-card-mobile { background: transparent; padding: 0; } .day-row { grid-template-columns: 1fr auto; row-gap: var(--space-2); padding: var(--space-2) var(--space-3); } .day-row__label { grid-column: 1; grid-row: 1; } .day-row__actions { grid-column: 2; grid-row: 1; padding-right: 0; } .day-row__cells { grid-column: 1 / 3; grid-row: 2; grid-template-columns: repeat(3, minmax(0, 1fr)); } .day-row__cells.day-row__cells--empty { grid-template-columns: 1fr; } .week-group-header { grid-template-columns: 1fr auto; row-gap: var(--space-1); } .week-group-header__left { grid-column: 1; grid-row: 1; } .week-group-header__action { grid-column: 2; grid-row: 1; } .week-group-header__meta { grid-column: 1 / 3; grid-row: 2; font-size: var(--font-size-xs); line-height: 1.2; white-space: normal; } .week-group-card-mobile .day-list { padding-inline-start: 0; } } @media (max-width: 32.5em) { .period-header, .kpi-bar { margin-inline: calc(var(--gutter-mobile) * -1); } .dashboard-page .day-list--week, .month-page .week-group-list { margin-inline: calc(var(--gutter-mobile) * -1); } .landing-title { font-size: var(--font-size-xl); } .landing-lead { font-size: var(--font-size-md); } .landing-cta-row .btn { width: 100%; } .weekday-grid, .register-weekday-grid { grid-template-columns: 1fr 1fr; } .period-header__title { font-size: var(--font-size-md); text-align: center; } .day-row__label { font-size: var(--font-size-lg); } } @media (min-width: 51.26em) { .month-page .week-group-list { gap: var(--space-3); } .month-page .week-group-card-mobile { background: transparent; border: 0; gap: var(--space-2); padding: 0; } .month-page .week-group-header { border: 0; grid-template-columns: auto 1fr auto; min-height: 2.625rem; } .month-page .week-group-header__meta { justify-self: end; text-align: right; } .month-page .day-list--month { margin-left: 0; padding-left: 0; } }