#kkt.kkt-workspace { display: grid; gap: var(--space-5); }
.kkt-test-badge { display: inline-block; margin: var(--space-2) 0 0; color: #765500; font-weight: 700; }
.kkt-top-actions, .kkt-shift-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.kkt-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.kkt-card, .kkt-history { padding: var(--space-5); border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-raised, #fff); }
.kkt-card { display: grid; align-content: start; gap: var(--space-3); }
.kkt-card-title, .kkt-history-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); }
.kkt-card-title > span { font-size: 1.1rem; font-weight: 800; }
.kkt-card-title > b { color: #765500; font-size: .78rem; text-transform: uppercase; }
.kkt-card dl, .kkt-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin: 0; }
.kkt-card dl div, .kkt-detail-grid div { display: grid; gap: 2px; }
.kkt-card dt, .kkt-detail-grid span { color: var(--text-muted); font-size: .78rem; }
.kkt-card dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.kkt-status-pill { width: max-content; max-width: 100%; border-radius: 999px; padding: 4px 9px; font-size: .8rem; font-weight: 800; }
.kkt-status-online, .kkt-status-open, .kkt-status-test_succeeded, .kkt-status-fiscalized { color: #17633e; background: #dff6e8; }
.kkt-status-pending, .kkt-status-draft, .kkt-status-fiscalizing { color: #765500; background: #fff3c4; }
.kkt-status-error, .kkt-status-failed, .kkt-status-expired { color: #9e2637; background: #ffe4e7; }
.kkt-status-unknown, .kkt-status-unavailable { color: #4c5565; background: #e9edf3; }
.kkt-filters { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)) auto; gap: var(--space-3); align-items: end; margin: var(--space-4) 0; }
.kkt-filters label { display: grid; gap: 5px; font-size: .84rem; font-weight: 700; }
.kkt-filters input, .kkt-filters select { min-width: 0; }
.kkt-operation-table { display: grid; gap: 1px; overflow-x: auto; border: 1px solid var(--border-default); border-radius: var(--radius-md); }
.kkt-operation-row { display: grid; grid-template-columns: 125px 110px 100px 135px 150px 130px 62px 100px; min-width: 920px; gap: var(--space-2); align-items: center; padding: 11px var(--space-3); border: 0; background: var(--surface-raised, #fff); color: inherit; text-align: left; cursor: pointer; }
.kkt-operation-row:not(.kkt-operation-heading):hover { background: var(--surface-hover, #f8f7fb); }
.kkt-operation-heading { position: sticky; top: 0; color: var(--text-muted); font-size: .76rem; font-weight: 800; cursor: default; }
.kkt-negative { color: var(--danger, #c4374d); }
.kkt-detail-modal { max-width: 720px; }
.kkt-detail-grid { margin: var(--space-4) 0; }
.kkt-detail-grid b { overflow-wrap: anywhere; }
.kkt-detail-modal details { margin-top: var(--space-4); }
.kkt-detail-modal pre { max-width: 100%; overflow: auto; white-space: pre-wrap; font-size: .76rem; }
.kkt-correction-form { width: min(760px, calc(100vw - 32px)); max-width: 760px; }
.kkt-correction-form textarea { min-height: 84px; resize: vertical; }
.kkt-correction-detail { margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--border-default); }
@media (max-width: 780px) {
  .kkt-overview { grid-template-columns: 1fr; }
  .kkt-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kkt-filters button { grid-column: span 2; }
}
@media (max-width: 430px) {
  .kkt-card, .kkt-history { padding: var(--space-3); }
  .kkt-card dl, .kkt-detail-grid { grid-template-columns: 1fr; }
  .kkt-top-actions { width: 100%; }
  .kkt-top-actions .button { flex: 1 1 100%; }
  .kkt-filters { grid-template-columns: 1fr; }
  .kkt-filters button { grid-column: auto; }
}

/* Ordinary CRM pages own the only vertical scroll area; the journal retains its specialised grid scroll. */
#app:not([hidden]) > main > .view.active:not(#journal) {
  display: block;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: var(--space-6) var(--space-8) var(--space-8);
}
#app:not([hidden]) > main > #kkt.view.active { display: grid; align-content: start; }
@media (max-width: 760px) {
  #app:not([hidden]) > main > .view.active:not(#journal) { padding: var(--space-5) var(--space-4) var(--space-6); }
}

.kkt-correction-row{display:grid;grid-template-columns:minmax(230px,1.7fr) minmax(100px,.6fr) minmax(110px,.65fr) max-content;gap:var(--space-2);align-items:end;width:100%;margin-top:var(--space-2)}.kkt-correction-row label{min-width:0;margin:0}.kkt-correction-row input{width:100%;min-width:0}.kkt-correction-row .booking-remove-service{white-space:nowrap}@media(max-width:720px){.kkt-correction-form{width:calc(100vw - 24px)}.kkt-correction-row{grid-template-columns:repeat(2,minmax(0,1fr))}.kkt-correction-row label:first-child{grid-column:1/-1}.kkt-correction-row .booking-remove-service{justify-self:start}}

.kkt-shift-actions .button:disabled,
.kkt-shift-actions .button.kkt-shift-action-disabled {
  cursor: not-allowed;
  opacity: .58;
  color: var(--text-disabled, #91868C);
  background: #ece8ea;
  border-color: #d8d0d4;
  box-shadow: none;
}

.kkt-shift-actions .button:disabled:hover,
.kkt-shift-actions .button.kkt-shift-action-disabled:hover {
  background: #ece8ea;
  transform: none;
}
