    .wiki-page-header {
      display: flex;
      justify-content: space-between;
      gap: 0.75rem;
      align-items: center;
      flex-wrap: wrap;
    }
    .wiki-page-title {
      font-size: 1.05rem;
      font-weight: 600;
      color: var(--text);
    }
    .wiki-page-path { font-size: 0.75rem; color: var(--muted); margin-top: 0.1rem; }
    .wiki-page-updated {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--muted);
    }
    .wiki-page-preview {
      position: relative;
      max-height: 5.5rem;
      overflow: hidden;
    }
    .wiki-page-preview::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 2.2rem;
      background: linear-gradient(to bottom, transparent, var(--surface));
      pointer-events: none;
    }
    textarea[name="task[description]"],
    textarea[name="epic[description]"] {
      min-height: 420px;
    }
    .wiki-body-textarea {
      min-height: 420px;
      width: 100%;
      resize: vertical;
      font-family: inherit;
      background: var(--surface);
      border: 1px solid var(--border);
      color: var(--text);
      padding: 0.6rem;
      border-radius: var(--radius-md);
    }
    .tag-list { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.4rem; }
    .tag-chip {
      display: inline-flex;
      align-items: center;
      padding: 0.2rem 0.55rem;
      border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
      border-radius: 999px;
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--accent);
      background: var(--accent-soft);
    }
    .tag-input-helper { font-size: 0.75rem; color: var(--muted); margin-top: 0.25rem; }
    .hours-page { display: flex; flex-direction: column; gap: 1rem; }
    .hours-header {
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      align-items: center;
      flex-wrap: wrap;
    }
    .hours-controls {
      display: flex;
      gap: 1.5rem;
      align-items: flex-end;
      flex-wrap: wrap;
      justify-content: flex-end;
    }
    .hours-view {
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
      min-width: 200px;
    }
    .hours-view label {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--muted);
    }
    .hours-view-note {
      font-size: 0.72rem;
      color: var(--muted);
      min-height: 1em;
    }
    .hours-month-summary {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 0.5rem;
    }
    .month-nav { display: flex; align-items: center; gap: 0.35rem; }
    .month-nav .btn.secondary {
      font-size: 1rem;
      min-width: 46px;
      height: var(--control-height);
      padding: 0 0.8rem;
    }
    .month-total {
      text-align: right;
      font-size: 0.85rem;
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }
    .month-total strong {
      display: block;
      color: var(--accent);
      font-size: 1.2rem;
      letter-spacing: 0;
      text-transform: none;
    }
    .hours-grid {
      display: grid;
      gap: 1rem;
      grid-template-columns: minmax(320px, 1fr) 300px;
      align-items: start;
    }
    .hours-calendar-panel {
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 1rem;
      background: var(--surface);
      box-shadow: var(--shadow-soft);
    }
    .calendar-weekdays {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      font-size: 0.72rem;
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: 0.2em;
    }
    .calendar-body {
      margin-top: 0.75rem;
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 0.4rem;
      min-height: 320px;
    }
    .day-card {
      border: 1px solid var(--border);
      border-radius: var(--radius-sm);
      padding: 0.4rem;
      min-height: 130px;
      background: var(--surface-2);
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }
    .day-card.is-today {
      border-color: color-mix(in srgb, var(--accent) 60%, transparent);
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 15%, transparent);
      background: var(--accent-soft);
    }
    .day-card.day-placeholder {
      border: none;
      background: transparent;
    }
    .day-card .day-number {
      display: flex;
      justify-content: space-between;
      font-weight: 600;
      font-size: 0.9rem;
    }
    .day-card .day-total { font-size: 0.8rem; color: var(--accent); }
    .day-records {
      list-style: none;
      margin: 0;
      padding: 0;
      flex: 1;
      max-height: 140px;
      overflow-y: auto;
      padding-right: 0.2rem;
    }
    .day-records li { font-size: 0.78rem; color: var(--muted); }
    .day-records li + li { margin-top: 0.25rem; }
    .day-records button.entry-button {
      width: 100%;
      border: none;
      background: transparent;
      text-align: left;
      padding: 0.1rem 0;
      font-size: 0.85rem;
      font-family: inherit;
      font-weight: 500;
      color: var(--text);
      cursor: pointer;
      border-radius: 4px;
      transition: color 0.2s ease, background 0.2s ease;
    }
    .day-records button.entry-button:hover {
      color: var(--accent-strong);
      text-decoration: underline;
      background: color-mix(in srgb, var(--accent) 4%, transparent);
    }
    .day-records button.entry-button:disabled {
      cursor: default;
      color: var(--muted);
      text-decoration: none;
    }
    .day-actions { display: flex; justify-content: flex-end; }
    .hours-sidebar { display: flex; flex-direction: column; gap: 1rem; }
    .timer-card,
    .hours-log-list {
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 1rem;
      background: var(--surface);
      box-shadow: var(--shadow-soft);
    }
    .timer-card h3,
    .hours-log-list h3 {
      margin: 0 0 0.5rem 0;
      text-transform: uppercase;
      font-size: 0.85rem;
      letter-spacing: 0.12em;
      color: var(--muted);
    }
    .timer-display {
      font-size: 1.8rem;
      letter-spacing: 0.18em;
      text-align: center;
    }
    .timer-actions {
      display: flex;
      justify-content: center;
      gap: 0.5rem;
      flex-wrap: wrap;
    }
    .timer-card label {
      display: flex;
      flex-direction: column;
      font-size: 0.75rem;
      color: var(--muted);
      gap: 0.3rem;
    }
    .timer-card textarea { resize: vertical; min-height: 80px; }
    .timer-status {
      font-size: 0.8rem;
      min-height: 1em;
      color: var(--accent);
      text-align: center;
    }
    .hour-entry { border-top: 1px solid var(--border); padding: 0.65rem 0; }
    .hour-entry:first-child { border-top: none; }
    .hour-entry-meta {
      display: flex;
      justify-content: space-between;
      font-size: 0.75rem;
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }
    .hour-entry-user {
      font-size: 0.7rem;
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-top: 0.25rem;
    }
    .hour-entry p { margin: 0.35rem 0 0; color: var(--text); }
    .hours-fact {
      position: fixed;
      right: clamp(1rem, 2vw, 2rem);
      bottom: clamp(1rem, 2vw, 2rem);
      max-width: 220px;
      padding: 0.75rem 0.9rem;
      border-radius: var(--radius-md);
      border: 1px solid var(--border);
      background: color-mix(in srgb, var(--surface) 95%, transparent);
      box-shadow: var(--shadow-soft);
      display: grid;
      gap: 0.25rem;
      z-index: 20;
    }
    .hours-fact-label {
      font-size: 0.65rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .hours-fact-text {
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--text);
    }
    .projects-grid,
    .users-grid {
      display: grid;
      gap: 1rem;
      grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    }
    .project-card-header {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
      margin-bottom: 1rem;
    }
    .project-card-title { font-size: 1.2rem; font-weight: 600; }
    .project-card-meta {
      display: flex;
      gap: 0.5rem;
      flex-wrap: wrap;
      align-items: center;
    }
    .project-card-body {
      display: grid;
      gap: 1.5rem;
    }
    .project-section {
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 1rem;
      background: var(--surface-2);
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }
    .project-section-header {
      display: flex;
      justify-content: space-between;
      gap: 0.75rem;
      align-items: baseline;
      flex-wrap: wrap;
    }
    .project-section-header h4 { margin: 0; }
    .project-edit-form { display: flex; flex-direction: column; gap: 0.5rem; }
    .project-members h4 { margin: 0 0 0.35rem 0; }
    .member-list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 0.5rem;
    }
    .member-swimlanes { gap: 1rem; }
    .member-swimlane {
      background: var(--surface);
      border: 1px solid var(--border);
    }
    .member-card-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 0.75rem;
    }
    .member-card { padding: 0.85rem; }
    .member-card .user-card-header { align-items: flex-start; }
    .member-card .role-pill { margin-left: auto; }
    .member-card-actions {
      display: flex;
      justify-content: flex-end;
      margin-top: 0.5rem;
    }
    .member-row {
      display: flex;
      justify-content: space-between;
      gap: 0.5rem;
      align-items: center;
      border: 1px solid var(--border);
      border-radius: var(--radius-sm);
      padding: 0.55rem 0.6rem;
      background: var(--surface);
    }
    .member-info {
      display: flex;
      gap: 0.6rem;
      align-items: center;
    }
    .member-role {
      display: block;
      font-size: 0.75rem;
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }
    .member-form { display: flex; flex-direction: column; gap: 0.5rem; }
    .project-settings-grid {
      display: grid;
      gap: 1rem;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      align-items: start;
    }
    .project-form-card {
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 1rem;
      background: var(--surface);
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }
    .project-edit-form,
    .member-form,
    .workflow-board-form,
    .workflow-add-form {
      align-items: flex-start;
    }
    .project-edit-form > *,
    .member-form > *,
    .workflow-add-form > * {
      width: 100%;
    }
    .form-row {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
      gap: 0.75rem;
      width: 100%;
    }
    .form-actions {
      display: flex;
      gap: 0.5rem;
      flex-wrap: wrap;
    }
    .project-editor summary,
    .user-editor summary,
    .wiki-editor summary {
      cursor: pointer;
      font-weight: 600;
      padding: 0.45rem 0.6rem;
      border-radius: var(--radius-sm);
      border: 1px solid var(--border);
      background: var(--surface-2);
    }
    .project-editor-body {
      margin-top: 0.75rem;
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }
    .project-danger-zone {
      border: 1px solid color-mix(in srgb, var(--danger) 30%, transparent);
      border-radius: var(--radius-md);
      padding: 1rem;
      background: color-mix(in srgb, var(--danger) 4%, transparent);
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }
    .workflow-editor {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }
    .workflow-header h4 { margin: 0 0 0.2rem 0; }
    .workflow-board {
      display: flex;
      gap: 0.75rem;
      overflow-x: auto;
      padding-bottom: 0.35rem;
      position: relative;
    }
    .workflow-board-column {
      min-width: 240px;
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 0.7rem;
      background: var(--surface);
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
      box-shadow: var(--shadow-soft);
      transition: transform 140ms ease, box-shadow 140ms ease;
    }
    .workflow-board-column.is-dragging {
      opacity: 0.85;
      border-color: color-mix(in srgb, var(--accent) 45%, transparent);
    }
    .workflow-board-column.is-placeholder {
      border: 2px dashed color-mix(in srgb, var(--accent) 35%, transparent);
      background: color-mix(in srgb, var(--accent) 6%, transparent);
      box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--accent) 8%, transparent);
      animation: workflowPlaceholderPulse 0.9s ease-in-out infinite;
    }
    .workflow-board-column.is-placeholder > * {
      opacity: 0;
    }
    @keyframes workflowPlaceholderPulse {
      0% { background: color-mix(in srgb, var(--accent) 6%, transparent); }
      50% { background: var(--accent-soft); }
      100% { background: color-mix(in srgb, var(--accent) 6%, transparent); }
    }
    .workflow-board-column.is-deleting {
      border-color: color-mix(in srgb, var(--danger) 45%, transparent);
      background: color-mix(in srgb, var(--danger) 5%, transparent);
    }
    .workflow-board-form,
    .workflow-add-form {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }
    .workflow-column-head {
      display: flex;
      align-items: center;
      gap: 0.4rem;
    }
    .workflow-column-head input {
      flex: 1;
    }
    .workflow-drag-handle {
      cursor: grab;
      color: var(--muted);
      font-size: 0.9rem;
      padding: 0.1rem 0.3rem;
      border-radius: 6px;
      border: 1px dashed var(--border);
    }
    .workflow-column-meta {
      display: flex;
      gap: 0.75rem;
      align-items: center;
      flex-wrap: wrap;
    }
    .workflow-transitions { margin-top: 0.25rem; }
    .workflow-transition-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
      gap: 0.35rem 0.75rem;
      margin-top: 0.4rem;
      align-items: start;
    }
    .workflow-check {
      display: grid;
      grid-template-columns: 16px 1fr;
      align-items: center;
      column-gap: 0.45rem;
      font-size: 0.85rem;
      color: var(--muted);
      user-select: none;
    }
    .workflow-check input { margin: 0; }
    .workflow-actions {
      display: flex;
      justify-content: flex-end;
      margin-top: 0.5rem;
    }
    .workflow-delete-panel {
      border-top: 1px dashed var(--border);
      padding-top: 0.5rem;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }
    .divider { height: 1px; background: var(--border); }
    .create-project-card { margin-top: 1.5rem; }
    .project-create-form {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }
    .project-create-form .muted { margin: 0; }

    .users-toolbar {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 1rem;
      flex-wrap: wrap;
      margin-bottom: 1rem;
    }
    .invite-card { margin-bottom: 1.25rem; }
    .invite-form {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }
    .invite-form label { display: flex; flex-direction: column; gap: 0.35rem; }
    .invite-form textarea { resize: vertical; }
    .search-form label { margin: 0 0 0.35rem 0; }
    .search-row {
      display: flex;
      gap: 0.5rem;
      flex-wrap: wrap;
      align-items: center;
    }
    .search-row input { min-width: 220px; }
    .user-card { display: flex; flex-direction: column; gap: 0.75rem; }
    .user-card-header {
      display: flex;
      gap: 0.75rem;
      align-items: center;
      justify-content: space-between;
    }
    .user-card-header .avatar {
      width: 26px;
      height: 26px;
      min-width: 26px;
      min-height: 26px;
      font-size: 0.65rem;
    }
    .member-info .avatar { flex-shrink: 0; }
    .user-modal-trigger {
      background: transparent;
      border: none;
      padding: 0;
      font: inherit;
      color: inherit;
      cursor: pointer;
      text-align: left;
    }
    .user-modal-trigger:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--accent) 35%, transparent);
      outline-offset: 2px;
      border-radius: 6px;
    }
    .user-card-header > div {
      flex: 1;
      min-width: 0;
    }
    .user-name { font-weight: 600; font-size: 1.05rem; }
    .user-meta {
      display: grid;
      gap: 0.75rem;
      font-size: 0.85rem;
    }
    .user-meta .label {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--muted);
      display: block;
    }
    .user-bio p { margin: 0.35rem 0 0; color: var(--text); }
    .user-detail-panel {
      width: min(92vw, 520px);
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }
    .user-detail-header {
      display: flex;
      gap: 0.75rem;
      align-items: center;
    }
    .user-detail-grid {
      display: grid;
      gap: 0.75rem;
      font-size: 0.85rem;
    }
    .user-detail-grid .label,
    .user-detail-bio .label {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--muted);
      display: block;
    }
    .user-detail-bio p { margin: 0.35rem 0 0; }

    .tenant-page {
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
    }
    .tenant-settings-grid {
      display: grid;
      gap: 1.5rem;
      grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
      align-items: start;
    }
    .tenant-form {
      display: flex;
      flex-direction: column;
      gap: 1.2rem;
    }
    .tenant-card {
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 1rem;
      background: var(--surface);
      box-shadow: var(--shadow-soft);
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }
    .tenant-card h3 { margin: 0; }
    .tenant-card label { display: flex; flex-direction: column; gap: 0.35rem; }
    .tenant-logo-preview {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      flex-wrap: wrap;
    }
    .tenant-logo-preview img {
      width: 64px;
      height: 64px;
      border-radius: 16px;
      object-fit: cover;
      border: 1px solid var(--border);
      background: var(--surface-2);
    }
    .tenant-theme-grid {
      display: grid;
      gap: 0.85rem;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }
    .tenant-theme-field {
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
      padding: 0.65rem;
      border-radius: var(--radius-md);
      border: 1px solid var(--border);
      background: var(--surface-2);
    }
    .tenant-theme-inputs {
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }
    .tenant-theme-inputs input[type="color"] {
      width: 48px;
      height: 38px;
      border: none;
      padding: 0;
      background: none;
      cursor: pointer;
    }
    .tenant-theme-inputs input[type="text"] {
      flex: 1;
    }

    .tenant-preview {
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 1.25rem;
      background: var(--bg);
      display: flex;
      flex-direction: column;
      gap: 1rem;
      box-shadow: var(--shadow-soft);
    }
    .tenant-preview-header {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 0.75rem;
      flex-wrap: wrap;
    }
    .tenant-demo-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 1rem;
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
      box-shadow: var(--shadow-soft);
    }
    .tenant-demo-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 0.75rem;
    }
    .tenant-demo-status {
      padding: 0.15rem 0.55rem;
      border-radius: 999px;
      background: var(--accent-soft);
      color: var(--accent-strong);
      border: 1px solid var(--accent-border);
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }
    .tenant-demo-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      align-items: center;
    }
    .tenant-demo-warm {
      padding: 0.2rem 0.5rem;
      border-radius: 999px;
      background: var(--warm-soft);
      color: var(--warm-text);
      border: 1px solid var(--warm-border);
      font-size: 0.75rem;
    }
    .tenant-demo-danger {
      padding: 0.2rem 0.5rem;
      border-radius: 999px;
      background: var(--danger-soft);
      color: var(--danger-strong);
      border: 1px solid var(--danger-border);
      font-size: 0.75rem;
    }
    .tenant-preview-grid {
      display: grid;
      gap: 0.75rem;
      grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    }
    .tenant-preview-card {
      border-radius: var(--radius-md);
      padding: 0.75rem;
      border: 1px solid var(--border);
      background: var(--surface);
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
      min-height: 110px;
    }
    .tenant-preview-card h4 { margin: 0; font-size: 0.95rem; }
    .tenant-preview-card.is-bg {
      background: var(--bg);
      border-style: dashed;
    }
    .tenant-preview-card.is-surface { background: var(--surface); }
    .tenant-preview-card.is-surface-2 { background: var(--surface-2); }
    .tenant-preview-card.is-surface-3 { background: var(--surface-3); }
    .tenant-preview-card.is-text { color: var(--text); }
    .tenant-preview-card.is-muted { color: var(--muted); }
    .tenant-preview-card.is-border {
      border-width: 2px;
      border-color: var(--border);
      background: var(--surface);
    }
    .tenant-preview-card.is-accent {
      background: var(--accent-soft);
      color: var(--accent-strong);
    }
    .tenant-preview-button {
      border: none;
      border-radius: 999px;
      padding: 0.35rem 0.85rem;
      background: var(--accent);
      color: var(--text-on-accent);
      font-weight: 600;
    }
    .tenant-preview-card.is-accent-warm {
      background: var(--warm-soft);
      color: var(--warm-text);
      border-color: var(--warm-border);
    }
    .tenant-preview-chip {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      padding: 0.2rem 0.55rem;
      border-radius: 999px;
      border: 1px solid var(--warm-border);
      background: color-mix(in srgb, var(--accent-warm) 25%, transparent);
      font-size: 0.75rem;
    }
    .tenant-preview-card.is-danger {
      background: var(--danger-soft);
      color: var(--danger-strong);
      border-color: var(--danger-border);
    }
    .tenant-preview-alert {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      padding: 0.2rem 0.55rem;
      border-radius: 999px;
      border: 1px solid var(--danger-border);
      background: color-mix(in srgb, var(--danger) 20%, transparent);
      font-size: 0.75rem;
    }
    .tenant-list {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }
    .tenant-list-item {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 0.75rem;
      padding: 0.75rem;
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      background: var(--surface);
    }
    .admin-dashboard-page {
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
    }
    .tenant-admin-list {
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
    }
    .tenant-admin-card .card-body {
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
    }
    .tenant-admin-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
      flex-wrap: wrap;
    }
    .tenant-admin-actions {
      display: flex;
      gap: 0.5rem;
      flex-wrap: wrap;
    }
    .tenant-admin-section {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }
    .tenant-project-list,
    .tenant-backup-list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: 0.5rem;
    }
    .tenant-project-list li,
    .tenant-backup-list li {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 0.75rem;
      padding: 0.65rem;
      border-radius: var(--radius-md);
      border: 1px solid var(--border);
      background: var(--surface-2);
    }
    .tenant-backup-actions {
      display: flex;
      gap: 0.5rem;
      align-items: center;
      flex-wrap: wrap;
    }
    .tenant-admin-backup-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
      flex-wrap: wrap;
    }
    .inline-check {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.85rem;
    }
    @media (max-width: 900px) {
      .tenant-settings-grid {
        grid-template-columns: 1fr;
      }
    }
    .user-form { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 0.5rem; }
    .user-form-block {
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
      margin-top: 0.5rem;
    }
    .role-rights { margin-top: 2rem; }
    .role-rights-actions {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      gap: 1rem;
      flex-wrap: wrap;
      margin-top: 0.75rem;
    }
    .role-create-form {
      display: flex;
      gap: 0.75rem;
      align-items: flex-end;
      flex-wrap: wrap;
    }
    .role-create-form label {
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }
    .role-matrix {
      margin-top: 1rem;
      overflow-x: auto;
    }
    .role-matrix table {
      width: 100%;
      border-collapse: collapse;
      min-width: 720px;
    }
    .role-matrix th,
    .role-matrix td {
      border: 1px solid var(--border);
      padding: 0.65rem;
      text-align: left;
      vertical-align: top;
    }
    .role-matrix-label {
      min-width: 200px;
      font-weight: 600;
      background: var(--surface-2);
    }
    .role-column-header {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
      align-items: flex-start;
    }
    .role-column-title {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      flex-wrap: wrap;
    }
    .role-column-title h3 { margin: 0; font-size: 1rem; }
    .role-column-actions {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
      width: 100%;
    }
    .role-column-actions form {
      display: flex;
      gap: 0.35rem;
      flex-wrap: wrap;
    }
    .role-column-actions input { min-width: 140px; }
    .role-cell {
      text-align: center;
      vertical-align: middle;
    }
    .role-cell input { width: auto; }
    .role-rights-grid {
      display: grid;
      gap: 1rem;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      margin-top: 1rem;
    }
    .role-card {
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 1rem;
      background: var(--surface-2);
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }
    .role-card-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 0.75rem;
    }
    .permission-grid {
      display: grid;
      gap: 0.5rem;
    }
    .permission-toggle {
      display: flex;
      gap: 0.5rem;
      align-items: center;
      font-size: 0.85rem;
    }
    .permission-toggle input {
      width: auto;
    }
    .profile-page { display: flex; flex-direction: column; gap: 1.5rem; }
    .profile-hero { align-items: center; }
    .profile-identity { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
    .profile-avatar {
      width: 88px;
      height: 88px;
      border-radius: 50%;
      border: 1px solid var(--border);
      background: var(--surface-2);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.2rem;
      font-weight: 600;
      color: var(--accent);
      overflow: hidden;
    }
    .profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
    .profile-grid {
      display: grid;
      gap: 1rem;
      grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    }
    .profile-column {
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }
    .profile-card form { display: flex; flex-direction: column; gap: 0.6rem; }
    .profile-list {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
      margin-top: 0.5rem;
    }
    .profile-list-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      padding-bottom: 0.5rem;
      border-bottom: 1px solid var(--border);
    }
    .profile-list-item:last-child { border-bottom: none; }
    @keyframes fade-up {
      from {
        opacity: 0;
        transform: translateY(12px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    .board-column,
    .card,
    .wiki-tree,
    .wiki-content,
    .hours-calendar-panel,
    .timer-card,
    .hours-log-list,
    .projects-grid > *,
    .users-grid > * {
      animation: fade-up 0.5s ease both;
    }
    .board-column:nth-child(2),
    .projects-grid > *:nth-child(2),
    .users-grid > *:nth-child(2) { animation-delay: 60ms; }
    .board-column:nth-child(3),
    .projects-grid > *:nth-child(3),
    .users-grid > *:nth-child(3) { animation-delay: 120ms; }
    .board-column:nth-child(4),
    .projects-grid > *:nth-child(4),
    .users-grid > *:nth-child(4) { animation-delay: 180ms; }
    .board-column:nth-child(5) { animation-delay: 240ms; }
    @media (max-width: 1000px) {
      header {
        flex-direction: column;
        align-items: flex-start;
      }
      .topnav {
        justify-content: flex-start;
      }
      .wiki-layout {
        grid-template-columns: 1fr;
      }
      .page-layout {
        grid-template-columns: 1fr;
      }
      .hours-grid {
        grid-template-columns: 1fr;
      }
      .hours-month-summary {
        align-items: flex-start;
      }
      .hours-fact {
        position: static;
        max-width: none;
        margin-top: 1rem;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      * {
        animation: none !important;
        transition: none !important;
      }
    }
