/* Approved A++1/A++3 operations surfaces. Dates and states remain server-owned. */
body.body--logged-in :is(#terminarz,#radar), :is(#trmModal,#trmImportModal) {
  --op-ink:#17252e; --op-muted:#53626a; --op-line:#d3dce0; --op-action:#315967;
  color:var(--op-ink); font-family:'DM Sans',sans-serif; font-variant-numeric:tabular-nums;
}
body.body--logged-in :is(#terminarz,#radar) { padding-inline:0; }
body.body--logged-in :is(#terminarz,#radar) h1 { font:600 2rem/1.15 'Space Grotesk',sans-serif; letter-spacing:-.03em; margin:0 0 10px; }
body.body--logged-in :is(#terminarz,#radar) :is(h2,h3,h4) { color:var(--op-ink); }
body.body--logged-in :is(#terminarz,#radar) :is(input,select,textarea), :is(#trmModal,#trmImportModal) :is(input,select,textarea) { min-height:44px; font:400 14px/1.5 'DM Sans',sans-serif; color:var(--op-ink); background:#fff; border:1px solid #9aabb4; border-radius:6px; box-shadow:none; caret-color:var(--op-action); }
body.body--logged-in :is(#terminarz,#radar) :is(input,textarea)::placeholder, :is(#trmModal,#trmImportModal) :is(input,textarea)::placeholder { color:var(--op-muted); }
body.body--logged-in :is(#terminarz,#radar) .btn, :is(#trmModal,#trmImportModal) .btn { min-height:44px; border-radius:6px; font:600 13px/1.4 'DM Sans',sans-serif; box-shadow:none; white-space:normal; }
body.body--logged-in :is(#terminarz,#radar) .btn-primary, :is(#trmModal,#trmImportModal) .btn-primary { background:var(--op-action); color:#fff; border:1px solid var(--op-action); }
body.body--logged-in :is(#terminarz,#radar) .btn-secondary, :is(#trmModal,#trmImportModal) .btn-secondary { background:#fff; border:1px solid #9aabb4; color:var(--op-ink); }
body.body--logged-in :is(#terminarz,#radar) .btn-ghost, :is(#trmModal,#trmImportModal) .btn-ghost { color:var(--op-ink); background:transparent; }
body.body--logged-in :is(#terminarz,#radar) button:hover:not(:disabled) { filter:none; transform:none; }
body.body--logged-in :is(#terminarz,#radar) .btn-primary:hover:not(:disabled) { background:#23434f; }
body.body--logged-in :is(#terminarz,#radar) :is(.btn-secondary,.btn-ghost):hover:not(:disabled) { background:#eaf0f1; }
body.body--logged-in :is(#terminarz,#radar) :is(button,input,select,textarea,a,summary):focus-visible, :is(#trmModal,#trmImportModal) :is(button,input,select,textarea,a):focus-visible { outline:3px solid #315967; outline-offset:3px; }
body.body--logged-in :is(#terminarz,#radar) ::selection, :is(#trmModal,#trmImportModal) ::selection { background:#d4e4e9; color:#17252e; }
body.body--logged-in :is(#terminarz,#radar) a { text-underline-offset:3px; }
body.body--logged-in :is(#terminarz,#radar) button:disabled { opacity:.6; cursor:not-allowed; }
body.body--logged-in .operations-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:28px; }
body.body--logged-in #terminarz .section-head { margin:0; }
body.body--logged-in #terminarz .section-head p { max-width:68ch; font-size:15px; margin:0; line-height:1.6; color:var(--op-muted); }
body.body--logged-in .operations-heading > .btn { flex-shrink:0; }
body.body--logged-in #terminarz .trm-toolbar { display:flex; gap:24px; align-items:flex-end; margin:0; padding:20px 0; border:0; background:transparent; box-shadow:none; }
body.body--logged-in .operations-search { display:flex; flex-direction:column; gap:6px; flex:1; min-width:0; font-size:13px; color:var(--op-muted); }
body.body--logged-in #terminarz .trm-szukaj { width:100%; max-width:none; margin:0; flex:none; height:44px; }
body.body--logged-in .operations-tools { display:flex; flex-wrap:wrap; gap:8px; }
body.body--logged-in #terminarz .trm-filtry { display:flex; gap:4px; margin:0; border-bottom:1px solid var(--op-line); }
body.body--logged-in #terminarz .trm-filtr { border:0; border-bottom:2px solid transparent; border-radius:0; padding:12px 16px; min-height:46px; color:var(--op-muted); background:transparent; }
body.body--logged-in #terminarz .trm-filtr[aria-pressed=true] { color:var(--op-ink); border-bottom-color:var(--op-action); background:#e5edef; }
body.body--logged-in #terminarz .trm-filtr:hover { background:#eaf0f1; }
body.body--logged-in #terminarz .trm-pusto { padding:48px 24px; border:1px solid var(--op-line); background:#fffdfa; border-radius:8px; color:var(--op-muted); }
body.body--logged-in #terminarz .trm-nota { margin-top:24px; border:0; border-top:1px solid var(--op-line); border-radius:0; padding:20px 0; background:transparent; }
body.body--logged-in #terminarz .trm-rodo summary { min-height:44px; align-content:center; }
body.body--logged-in #terminarz .trm-zbiorcze { border:1px solid var(--op-line); background:#eaf0f1; color:var(--op-ink); border-radius:8px; }
/* A person register on screen; the original semantic table remains available to print. */
@media screen {
  body.body--logged-in #terminarz .trm-tab { display:block; table-layout:auto; width:100%; background:transparent; border:0; }
  body.body--logged-in #terminarz .trm-tab colgroup, body.body--logged-in #terminarz .trm-tab thead { display:none; }
  body.body--logged-in #terminarz:not(.trm-manual) .trm-tab thead { display:block; }
  body.body--logged-in #terminarz:not(.trm-manual) .trm-tab thead tr { display:block; padding:12px 20px; background:#eaf0f1; }
  body.body--logged-in #terminarz:not(.trm-manual) .trm-tab thead th { display:none; }
  body.body--logged-in #terminarz:not(.trm-manual) .trm-tab thead .trm-selection-header { display:block; padding:0; }
  body.body--logged-in #terminarz:not(.trm-manual) .trm-select-all-label { display:inline; margin-left:8px; font-size:13px; }
  body.body--logged-in #terminarz .trm-tab tbody { display:block; }
  body.body--logged-in #terminarz .trm-tab tr { display:grid; grid-template-columns:minmax(170px,1.15fr) minmax(160px,1fr) minmax(180px,1fr) minmax(130px,.65fr); grid-template-areas:'person trained state controls' 'client expires state controls' 'group remaining state controls'; gap:5px 24px; padding:22px 20px; border:0; border-bottom:1px solid var(--op-line); background:#fff; align-items:start; }
  body.body--logged-in #terminarz:not(.trm-manual) .trm-tab tr { grid-template-columns:28px minmax(170px,1.15fr) minmax(160px,1fr) minmax(180px,1fr) minmax(130px,.65fr); grid-template-areas:'selection person trained state controls' 'selection client expires state controls' 'selection group remaining state controls'; }
  body.body--logged-in #terminarz .trm-tab tbody td { display:block; width:auto; padding:0; border:0; overflow-wrap:anywhere; font-size:13px; line-height:1.55; text-align:left; }
  body.body--logged-in #terminarz .trm-tab .trm-pasek { display:none; }
  body.body--logged-in #terminarz .trm-selection { grid-area:selection; }
  body.body--logged-in #terminarz.trm-manual .trm-tab .trm-selection { display:none; }
  body.body--logged-in #terminarz .trm-tab .trm-selection input { min-height:20px; }
  body.body--logged-in #terminarz .trm-person { grid-area:person; }
  body.body--logged-in #terminarz .trm-person b { font-size:15px; }
  body.body--logged-in #terminarz .trm-client { grid-area:client; color:var(--op-muted); }
  body.body--logged-in #terminarz .trm-group { grid-area:group; color:var(--op-muted); }
  body.body--logged-in #terminarz .trm-trained { grid-area:trained; }
  body.body--logged-in #terminarz .trm-expires { grid-area:expires; font-weight:600; }
  body.body--logged-in #terminarz .trm-remaining { grid-area:remaining; }
  body.body--logged-in #terminarz .trm-state { grid-area:state; }
  body.body--logged-in #terminarz .trm-controls { grid-area:controls; }
  body.body--logged-in #terminarz .trm-tab :is(.trm-trained,.trm-expires)::before { content:attr(data-label) ': '; font-weight:400; color:var(--op-muted); }
  body.body--logged-in #terminarz .trm-tab .trm-recznie { display:block; margin:0; color:var(--op-muted); font-size:11px; font-weight:400; }
  body.body--logged-in #terminarz .trm-akcje { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:4px; }
  body.body--logged-in #terminarz .trm-akcja { padding:9px 10px; min-height:44px; border-radius:6px; color:var(--op-action); background:transparent; border:1px solid transparent; }
  body.body--logged-in #terminarz .trm-akcja-glowna { border-color:#9aabb4; background:#fff; flex-basis:100%; }
  body.body--logged-in #terminarz .trm-akcja[data-akcja=usun] { color:#92372d; }
  body.body--logged-in #terminarz .trm-akcja:hover { background:#eaf0f1; }
  body.body--logged-in #terminarz .trm-wskazowka { color:var(--op-muted); line-height:1.5; margin-top:8px; }
}
#trmModal.operations-editor { justify-content:flex-end; padding:0; background:rgba(23,37,46,.22); }
#trmModal.operations-editor .modal-box { width:620px; max-width:min(620px,100vw)!important; max-height:100dvh; height:100dvh; border-radius:0; margin:0; border:0; box-shadow:-16px 0 48px rgba(23,37,46,.12); display:flex; flex-direction:column; }
#trmModal.operations-editor .modal-header { padding:24px 28px; border-bottom:1px solid var(--op-line); }
#trmModal.operations-editor .modal-header h2 { font:600 24px/1.2 'Space Grotesk',sans-serif; }
#trmModal.operations-editor .modal-body { overflow:auto; padding:24px 28px; min-height:0; flex:1; }
#trmModal.operations-editor .modal-footer { margin:0; padding:18px 28px; border-top:1px solid var(--op-line); background:#fffdfa; }
#trmModal .operations-fieldset { margin:0 0 28px; padding:0; min-width:0; border:0; }
#trmModal .operations-fieldset legend { font-size:16px; font-weight:700; margin-bottom:14px; padding:0; }
#trmModal .operations-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
#trmModal .operations-fields label { margin:0; min-width:0; }
#trmModal .operations-fields label:has(#fRodzaj), #trmModal .operations-fields label:has(#fTermin) { grid-column:1/-1; }
#trmModal .operations-fieldset label { display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--op-ink); }
#trmModal .operations-fieldset :is(input,select,textarea) { width:100%; margin:0; }
#trmModal .trm-pod-polem { color:var(--op-muted); line-height:1.5; font-weight:400; }
#trmImportModal.operations-import .modal-box { border-radius:10px; background:#fffdfa; }
#trmImportModal.operations-import .modal-header, #trmImportModal.operations-import .modal-footer { border-color:var(--op-line); }
#trmImportModal .trm-imp-tabela { font-size:13px; }
body.body--logged-in #radar .radar-page-heading { margin-bottom:8px; align-items:flex-start; }
body.body--logged-in #radar .radar-page-heading p { margin:0; color:var(--op-muted); font-size:15px; }
body.body--logged-in #radar .operations-context { color:var(--op-muted); font-size:14px; line-height:1.6; max-width:74ch; margin:0 0 24px; }
body.body--logged-in #radar .radar-scan-status { padding:12px 16px; background:#e9eff0; border:1px solid var(--op-line); border-radius:6px; font-size:13px; }
body.body--logged-in #radar .radar-settings { border:0; border-bottom:1px solid var(--op-line); margin:0 0 24px; padding:0 0 12px; border-radius:0; background:transparent; }
body.body--logged-in #radar .radar-settings summary { min-height:44px; align-content:center; color:var(--op-muted); }
body.body--logged-in #radar .operations-radar-toolbar { display:grid; grid-template-columns:minmax(240px,1fr) 180px; gap:18px; margin-bottom:24px; }
body.body--logged-in #radar .radar-filters { grid-column:1/-1; border-bottom:1px solid var(--op-line); margin:0; gap:4px; }
body.body--logged-in #radar .radar-filters button { min-height:46px; padding:12px 16px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:var(--op-muted); }
body.body--logged-in #radar .radar-filters button.active { background:#e5edef; border-bottom-color:var(--op-action); color:var(--op-ink); }
body.body--logged-in #radar .radar-search-label { margin:0; font-size:13px; }
body.body--logged-in #radar #radarSearch { margin:0; width:100%; }
body.body--logged-in #radar .radar-list-tools { display:flex; flex-direction:column; align-items:stretch; gap:6px; margin:0; font-size:13px; color:var(--op-muted); }
body.body--logged-in #radar .radar-list-tools select { width:100%; margin:0; }
body.body--logged-in #radar .radar-layout { grid-template-columns:minmax(250px,.72fr) minmax(0,1.4fr); gap:28px; align-items:start; }
body.body--logged-in #radar .operations-list-heading { font-size:16px; margin:0 0 4px; }
body.body--logged-in #radar #radarLoadedScope { margin:0 0 16px; font-size:12px; }
body.body--logged-in #radar .radar-case-list { display:block; border-top:1px solid var(--op-line); }
body.body--logged-in #radar .radar-case { width:100%; padding:20px 16px; margin:0; border:0; border-bottom:1px solid var(--op-line); border-radius:0; background:#fff; box-shadow:none; text-align:left; }
body.body--logged-in #radar .radar-case:hover { background:#f5f8f7; }
body.body--logged-in #radar .radar-case.is-selected { background:#e4eef0; box-shadow:inset 0 0 0 1px #7e9da7; }
body.body--logged-in #radar .radar-case strong { display:block; font-size:15px; line-height:1.5; margin:8px 0; font-weight:600; }
body.body--logged-in #radar .radar-case span { color:var(--op-muted); font-size:12px; line-height:1.5; }
body.body--logged-in #radar .radar-case-meta { color:var(--op-action); }
body.body--logged-in #radar .radar-detail { padding:24px 28px; border:1px solid var(--op-line); border-radius:8px; background:#fffdfa; min-width:0; }
body.body--logged-in #radar .radar-detail-empty { padding:40px 0; }
body.body--logged-in #radar .radar-detail-empty h3 { font:600 23px/1.3 'Space Grotesk',sans-serif; }
body.body--logged-in #radar .radar-detail-heading { margin-top:16px; }
body.body--logged-in #radar .radar-detail-heading h3 { font:600 25px/1.25 'Space Grotesk',sans-serif; letter-spacing:-.02em; margin:12px 0; }
body.body--logged-in #radar .radar-eyebrow { display:inline-block; font:600 12px/1.4 'DM Sans',sans-serif; letter-spacing:0; text-transform:none; padding:5px 8px; background:#eaf0f1; color:var(--op-action); border-radius:4px; }
body.body--logged-in #radar :is(.radar-source,.radar-documents,.radar-decision) { padding:24px 0 0; margin-top:24px; border:0; border-top:1px solid var(--op-line); background:transparent; border-radius:0; }
body.body--logged-in #radar :is(.radar-source,.radar-documents,.radar-decision) h4 { font-size:17px; margin:0 0 14px; }
body.body--logged-in #radar .radar-source p { font-size:14px; line-height:1.65; color:var(--op-muted); }
body.body--logged-in #radar .radar-source summary { min-height:44px; align-content:center; }
body.body--logged-in #radar .radar-document { padding:18px 0; border:0; border-bottom:1px solid var(--op-line); border-radius:0; background:transparent; }
body.body--logged-in #radar .radar-document.is-selected { background:#eaf0f1; padding-inline:12px; }
body.body--logged-in #radar .radar-document strong { font-size:15px; }
body.body--logged-in #radar .radar-document :is(span,small) { display:block; margin-top:5px; line-height:1.5; }
body.body--logged-in #radar .radar-decision fieldset { border:0; padding:0; margin:0; min-width:0; }
body.body--logged-in #radar .radar-decision label { display:flex; flex-direction:column; gap:6px; font-size:13px; }
body.body--logged-in #radar .radar-decision label[hidden] { display:none; }
body.body--logged-in #radar .radar-decision :is(select,textarea,input) { width:100%; margin:0; }
body.body--logged-in #radar .radar-form-footer { display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
body.body--logged-in #radar .radar-caption { color:var(--op-muted); line-height:1.6; }
body.body--logged-in #radar .radar-empty { padding:28px 16px; color:var(--op-muted); }
body.body--logged-in #radar .radar-empty strong { color:var(--op-ink); }
@media(max-width:1100px) and (min-width:701px) {
  body.body--logged-in #terminarz .trm-tab tr, body.body--logged-in #terminarz:not(.trm-manual) .trm-tab tr { grid-template-columns:28px 1fr 1fr; grid-template-areas:'selection person state' 'selection client state' 'selection group state' '. trained expires' '. remaining controls'; }
  body.body--logged-in #terminarz .trm-toolbar { flex-wrap:wrap; }
}
@media(max-width:700px) {
  body.body--logged-in :is(#terminarz,#radar) h1 { font-size:27px; }
  body.body--logged-in .operations-heading { flex-direction:column; gap:18px; margin-bottom:24px; }
  body.body--logged-in .operations-heading > .btn { width:100%; }
  body.body--logged-in #terminarz .trm-toolbar { flex-direction:column; gap:14px; align-items:stretch; }
  body.body--logged-in #terminarz .trm-filtry { display:grid; grid-template-columns:1fr 1fr; gap:0; }
  body.body--logged-in #terminarz .trm-filtr { padding-inline:8px; text-align:left; }
  body.body--logged-in .operations-tools { gap:8px; }
  body.body--logged-in .operations-tools .btn { flex:1; }
  body.body--logged-in #terminarz .trm-tab tr, body.body--logged-in #terminarz:not(.trm-manual) .trm-tab tr { grid-template-columns:24px minmax(0,1fr); grid-template-areas:'selection person' '. client' '. group' '. state' '. trained' '. expires' '. remaining' '. controls'; padding:22px 16px; gap:7px 8px; margin:0; border-radius:0; border-left:0; }
  body.body--logged-in #terminarz.trm-manual .trm-tab tr { grid-template-columns:minmax(0,1fr); grid-template-areas:'person' 'client' 'group' 'state' 'trained' 'expires' 'remaining' 'controls'; }
  body.body--logged-in #terminarz .trm-tab td::before { float:none; min-width:0; display:inline; margin:0; }
  body.body--logged-in #terminarz .trm-tab .trm-client::before { content:'Klient: '; }
  body.body--logged-in #terminarz .trm-tab .trm-group::before { content:'Szkolenie: '; }
  body.body--logged-in #terminarz .trm-tab .trm-remaining::before { content:none; }
  body.body--logged-in #terminarz .trm-tab .trm-state { margin:8px 0; }
  body.body--logged-in #terminarz .trm-akcje { margin-top:10px; flex-wrap:nowrap; }
  body.body--logged-in #terminarz .trm-akcja-glowna { flex-basis:auto; }
  #trmModal.operations-editor .modal-box { width:100%; }
  #trmModal.operations-editor :is(.modal-header,.modal-body,.modal-footer) { padding:20px; }
  #trmModal .operations-fields { grid-template-columns:1fr; }
  #trmModal .operations-fields label { grid-column:1; }
  #trmModal.operations-editor .modal-footer .btn { flex:1; }
  body.body--logged-in #radar .radar-page-heading { flex-direction:column; gap:16px; }
  body.body--logged-in #radar .radar-page-heading .btn { width:100%; }
  body.body--logged-in #radar .operations-context { margin-top:14px; }
  body.body--logged-in #radar .operations-radar-toolbar { grid-template-columns:minmax(0,1fr); gap:16px; }
  body.body--logged-in #radar .radar-filters { display:grid; grid-template-columns:1fr 1fr; gap:0; }
  body.body--logged-in #radar .radar-filters button { text-align:left; padding-inline:8px; }
  body.body--logged-in #radar .radar-layout { display:block; }
  body.body--logged-in #radar:not(.radar-has-selection) .radar-detail { display:none; }
  body.body--logged-in #radar.radar-has-selection :is(.radar-list-pane,.operations-radar-toolbar) { display:none; }
  body.body--logged-in #radar .radar-detail { padding:20px 16px; }
  body.body--logged-in #radar .radar-back { display:inline-flex; }
  body.body--logged-in #radar .radar-detail-heading h3 { font-size:23px; }
  body.body--logged-in #radar .radar-document { display:block; }
  body.body--logged-in #radar .radar-inline-actions { margin-top:12px; flex-wrap:wrap; }
  body.body--logged-in #radar .radar-form-footer .btn { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  :is(#terminarz,#radar,#trmModal,#trmImportModal) *, :is(#terminarz,#radar,#trmModal,#trmImportModal) *::before { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
