/* cr-ataskaitos – „Delamode x Carbon“: IBM Carbon Design System principai (plokščia, 0 px kampai,
   viena akcentinė spalva, IBM Plex Sans), akcentas – Delamode mėlyna #00459E. Tik šviesi tema.
   CSP: style-src 'self', img-src 'self' data:, font-src 'self' – jokių išorinių adresų; ikonos – data: SVG. */

/* ---------- šriftas: IBM Plex Sans (SIL OFL, žr. /fonts/OFL-IBM-Plex.txt) ---------- */
@font-face {
  font-family: "IBM Plex Sans"; font-style: normal; font-weight: 300; font-display: swap;
  src: url(/fonts/ibm-plex-sans-latin-ext-300.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "IBM Plex Sans"; font-style: normal; font-weight: 300; font-display: swap;
  src: url(/fonts/ibm-plex-sans-latin-300.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap;
  src: url(/fonts/ibm-plex-sans-latin-ext-400.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap;
  src: url(/fonts/ibm-plex-sans-latin-400.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap;
  src: url(/fonts/ibm-plex-sans-latin-ext-600.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap;
  src: url(/fonts/ibm-plex-sans-latin-600.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- žetonai ---------- */
:root {
  color-scheme: light;

  /* akcentas (vienintelė spalva) */
  --primary: #00459e;
  --primary-hover: #003c8a;
  --primary-active: #00336f;
  --primary-tint: #eaf0f8;
  --on-primary: #ffffff;
  --focus: #00459e;

  /* neutralios (Carbon gray) */
  --ink: #161616;
  --ink-muted: #525252;
  --ink-subtle: #6f6f6f;
  --ink-disabled: #8d8d8d;
  --canvas: #ffffff;
  --surface-1: #f4f4f4;
  --surface-2: #e0e0e0;
  --surface-hover: #e8e8e8;
  --hairline: #e0e0e0;
  --field-line: #8d8d8d;
  --disabled-bg: #c6c6c6;
  --inverse: #161616;
  --inverse-2: #262626;
  --inverse-ink: #ffffff;
  --inverse-ink-muted: #c6c6c6;

  /* mygtukai */
  --secondary: #393939;
  --secondary-hover: #474747;
  --secondary-active: #6f6f6f;
  --danger: #da1e28;
  --danger-hover: #b81921;
  --danger-active: #750e13;

  /* būsenos */
  --success: #24a148;
  --success-text: #198038;
  --success-bg: #defbe6;
  --warning: #f1c21b;
  --warning-bg: #fcf4d6;
  --error: #da1e28;
  --error-bg: #fff1f1;
  --info: var(--primary);
  --info-bg: var(--primary-tint);

  /* žymės (Carbon tag spalvos – ryškesnės nei pranešimų fonai, kad matytųsi baltoje lentelėje) */
  --tag-info-bg: #d5e1f1;   --tag-info-text: #00336f;
  --tag-success-bg: #a7f0ba; --tag-success-text: #0e6027;
  --tag-warning-bg: #fddc69; --tag-warning-text: #161616;
  --tag-error-bg: #ffd7d9;  --tag-error-text: #a2191f;

  /* tipografija */
  --font: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", Menlo, Consolas, "Courier New", monospace;

  /* tinklelis (4 px žingsnis) */
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 24px; --sp-6: 32px; --sp-7: 48px;
  --container: 1584px; /* Carbon „max“ riba: istorijos lentelė su tikrais duomenimis (ilgi vardai, „Peržiūrėta, laukia patvirtinimo“) netilpo į 1312px */
  --gutter: 16px;
  --bar-h: 48px;
  --motion: 70ms cubic-bezier(0, 0, 0.38, 0.9);

  /* ikonos (data: SVG) */
  --icon-success: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%2324a148'/%3E%3Cpath d='M6 10.2l2.8 2.8 5.4-5.4' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E");
  --icon-error: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%23da1e28'/%3E%3Cpath d='M7 7l6 6M13 7l-6 6' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E");
  --icon-warning: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%23f1c21b'/%3E%3Cpath d='M10 5.25v6.25' fill='none' stroke='%23161616' stroke-width='1.8'/%3E%3Ccircle cx='10' cy='14.4' r='1.15' fill='%23161616'/%3E%3C/svg%3E");
  --icon-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%2300459e'/%3E%3Cpath d='M10 8.75v6' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3Ccircle cx='10' cy='5.85' r='1.15' fill='%23fff'/%3E%3C/svg%3E");
  --icon-step-done: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7.25' fill='none' stroke='%2300459e' stroke-width='1.5'/%3E%3Cpath d='M4.75 8.25 7 10.5l4.25-4.5' fill='none' stroke='%2300459e' stroke-width='1.5'/%3E%3C/svg%3E");
  --icon-step-current: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7.25' fill='none' stroke='%2300459e' stroke-width='1.5'/%3E%3Ccircle cx='8' cy='8' r='3.5' fill='%2300459e'/%3E%3C/svg%3E");
  --icon-step-todo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7.5' fill='none' stroke='%238d8d8d' stroke-width='1'/%3E%3C/svg%3E");
  --icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 6 8 10.5 12.5 6' fill='none' stroke='%23161616' stroke-width='1.5'/%3E%3C/svg%3E");
  --icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M9 3.5 13.5 8 9 12.5M13.5 8h-11' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E");
}

/* ---------- pagrindas ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0; min-height: 100vh; display: flex; flex-direction: column;
  font-family: var(--font); font-size: 14px; line-height: 1.43; letter-spacing: 0.16px; font-weight: 400;
  color: var(--ink); background: var(--canvas); overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
/* paslėpta – visada paslėpta, net jei komponentas turi display:flex/grid */
[hidden], .hidden { display: none !important; }
b, strong { font-weight: 600; }
button, input, select, textarea { font-family: inherit; letter-spacing: inherit; }
img { border: 0; }

a { color: var(--primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--primary-hover); }
a:active { color: var(--ink); }
a:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; }

/* ---------- viršutinė pagalbinė juosta (32 px) ---------- */
.utility { background: var(--surface-1); color: var(--ink-muted); font-size: 12px; line-height: 16px; letter-spacing: 0.32px; }
.utility .inner { max-width: var(--container); margin: 0 auto; padding: var(--sp-2) var(--gutter); min-height: 32px; }

/* ---------- antraštė (Carbon UI shell, 48 px) ---------- */
header.top { background: var(--canvas); border-bottom: 1px solid var(--hairline); }
header.top .inner {
  max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter);
  display: flex; align-items: stretch; min-height: var(--bar-h);
}
header.top a { text-decoration: none; }
header.top .brand {
  display: flex; align-items: center; gap: var(--sp-4); flex: 0 0 auto; padding-right: var(--sp-5);
  color: var(--ink); min-height: var(--bar-h);
}
header.top a.brand:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
header.top .brand img { display: block; height: 32px; width: auto; }
header.top .brand .app {
  font-size: 14px; font-weight: 600; line-height: 24px; letter-spacing: 0.1px; color: var(--ink);
  padding-left: var(--sp-4); border-left: 1px solid var(--hairline); white-space: nowrap;
}
header.top nav { display: flex; align-items: stretch; flex: 0 0 auto; }
header.top nav a {
  display: flex; align-items: center; padding: 0 var(--sp-4); min-height: var(--bar-h);
  color: var(--ink-muted); font-size: 14px; letter-spacing: 0.16px; white-space: nowrap;
  border-top: 2px solid transparent; border-bottom: 2px solid transparent;
  transition: background-color var(--motion), color var(--motion);
}
header.top nav a:hover { color: var(--ink); background: var(--surface-hover); }
header.top nav a:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
header.top nav a.on, header.top nav a[aria-current="page"] { color: var(--ink); font-weight: 600; border-bottom-color: var(--primary); }
header.top .user { display: flex; align-items: center; margin-left: auto; min-width: 0; flex: 0 1 auto; }
header.top .who {
  color: var(--ink-muted); font-size: 12px; letter-spacing: 0.32px; padding: 0 var(--sp-3);
  min-width: 0; max-width: 300px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
header.top button {
  display: inline-flex; align-items: center; min-height: var(--bar-h); padding: 0 var(--sp-4);
  background: transparent; border: 0; border-radius: 0; color: var(--ink); cursor: pointer;
  font-size: 14px; letter-spacing: 0.16px; white-space: nowrap; transition: background-color var(--motion);
}
header.top button:hover { background: var(--surface-hover); }
header.top button:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
header.top button:disabled { color: var(--ink-disabled); cursor: not-allowed; background: transparent; }

/* „tik bandomasis režimas“ juosta */
.testbar {
  background: var(--warning-bg); color: var(--ink); border-bottom: 1px solid var(--warning);
  font-size: 14px; line-height: 20px;
  padding: var(--sp-2) max(var(--gutter), calc((100% - var(--container)) / 2 + var(--gutter)));
}
.testbar::before {
  content: ""; display: inline-block; width: 16px; height: 16px; margin-right: var(--sp-2); vertical-align: -3px;
  background: var(--icon-warning) center / 16px 16px no-repeat;
}

/* ---------- puslapio rėmas ---------- */
main { width: 100%; max-width: var(--container); margin: var(--sp-6) auto var(--sp-7); padding: 0 var(--gutter); flex: 1 0 auto; }
footer.foot {
  background: var(--inverse); color: var(--inverse-ink-muted); font-size: 12px; line-height: 16px; letter-spacing: 0.32px;
  padding: var(--sp-5) max(var(--gutter), calc((100% - var(--container)) / 2 + var(--gutter)));
}

/* ---------- blokai ir tekstas ---------- */
.card { background: var(--canvas); border: 1px solid var(--hairline); padding: var(--sp-5); margin-bottom: var(--sp-4); }
.card > :first-child { margin-top: 0; }
.card > :last-child { margin-bottom: 0; }
h1 { font-size: 32px; font-weight: 300; line-height: 1.25; letter-spacing: 0; margin: 0 0 var(--sp-4); color: var(--ink); }
h2 { font-size: 20px; font-weight: 400; line-height: 1.4; letter-spacing: 0; margin: 0 0 var(--sp-4); color: var(--ink); }
h2.gap { margin-top: var(--sp-6); }
h3 { font-size: 16px; font-weight: 600; line-height: 1.375; letter-spacing: 0; margin: var(--sp-5) 0 var(--sp-2); color: var(--ink); }
p { margin: 0 0 var(--sp-3); }
/* įžanginis tekstas po puslapio pavadinimu */
.card > h1 + p:not(.small) { font-size: 16px; line-height: 1.5; margin-bottom: var(--sp-4); }
.muted { color: var(--ink-muted); }
.small { font-size: 12px; line-height: 1.33; letter-spacing: 0.32px; }
.small.muted { color: var(--ink-subtle); }
.red { color: var(--error); }
.green { color: var(--success-text); }
code {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0; background: var(--surface-1); color: var(--ink);
  padding: 1px 4px; overflow-wrap: anywhere;
}

/* ---------- žingsniai: Carbon progress indicator ---------- */
.steps { display: flex; gap: var(--sp-1); margin: 0 0 var(--sp-5); padding: 0; list-style: none; }
.steps li {
  flex: 1 1 0; min-width: 0; display: flex; align-items: flex-start; gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-2) 0 0; border-top: 2px solid var(--surface-2);
  color: var(--ink-muted); font-size: 14px; line-height: 18px; letter-spacing: 0.16px;
}
.steps li::before {
  content: ""; flex: 0 0 16px; width: 16px; height: 16px; margin-top: 1px;
  background: var(--icon-step-todo) center / 16px 16px no-repeat;
}
.steps li.done { color: var(--ink); border-top-color: var(--primary); }
.steps li.done::before { background-image: var(--icon-step-done); }
.steps li.on { color: var(--ink); font-weight: 600; border-top-color: var(--primary); }
.steps li.on::before { background-image: var(--icon-step-current); }

/* ---------- formos ---------- */
label { display: block; font-size: 12px; line-height: 1.33; letter-spacing: 0.32px; font-weight: 400; color: var(--ink-muted); margin-bottom: var(--sp-2); }
label b { color: var(--ink); }
label.plain { font-weight: 400; }
/* įkėlimo formos klausimai „1) … 2) … 3) …“ */
#upl > label, #upl .field > label:first-child:not(.plain):not(.check) {
  font-size: 16px; font-weight: 600; line-height: 1.375; letter-spacing: 0; color: var(--ink); margin-bottom: var(--sp-3);
}
.field { margin-bottom: var(--sp-5); }
.row { display: flex; flex-wrap: wrap; gap: 0 var(--sp-6); }
.row .field { margin-bottom: var(--sp-4); }

input[type=date], input[type=password], input[type=number], input[type=email], input[type=text] {
  display: inline-block; height: 40px; max-width: 100%; padding: 0 var(--sp-4);
  font-size: 14px; letter-spacing: 0.16px; color: var(--ink);
  background: var(--surface-1); border: 0; border-bottom: 1px solid var(--field-line); border-radius: 0;
  outline: 2px solid transparent; outline-offset: -2px; transition: outline-color var(--motion);
}
input::placeholder { color: var(--ink-subtle); opacity: 1; }
input[type=date], input[type=password], input[type=number], input[type=email], input[type=text], input[type=file] { font-family: inherit; }
input:focus, input:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
input[aria-invalid="true"], input.invalid { outline: 2px solid var(--error); outline-offset: -2px; }
input:user-invalid { outline: 2px solid var(--error); outline-offset: -2px; } /* atskirai: senesnė naršyklė atmestų visą sąrašą */
input:user-invalid:focus { outline-color: var(--error); }
input:disabled { color: var(--ink-disabled); border-bottom-color: transparent; cursor: not-allowed; }
input[type=date] { min-width: 180px; }
input[type=date]::-webkit-calendar-picker-indicator { cursor: pointer; }
input.n { width: 120px; }

/* failo laukas – Carbon „drop zone“ */
input[type=file] {
  display: block; width: 100%; max-width: 520px; padding: var(--sp-5) var(--sp-4);
  font-size: 14px; color: var(--ink); background: var(--canvas); cursor: pointer;
  border: 1px dashed var(--field-line); border-radius: 0; outline: 2px solid transparent; outline-offset: -2px;
  margin-bottom: var(--sp-2); transition: background-color var(--motion);
}
input[type=file]:hover { background: var(--surface-1); }
input[type=file]:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; border-color: transparent; }
input[type=file]::file-selector-button {
  height: 40px; margin-right: var(--sp-4); padding: 0 var(--sp-4); border: 0; border-radius: 0; cursor: pointer;
  background: var(--primary); color: var(--on-primary); font: inherit; font-size: 14px; letter-spacing: 0.16px;
  transition: background-color var(--motion);
}
input[type=file]::file-selector-button:hover { background: var(--primary-hover); }

input[type=checkbox] { accent-color: var(--primary); width: 16px; height: 16px; margin: 0; flex: 0 0 auto; cursor: pointer; }
input[type=checkbox]:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; }
input[type=checkbox]:disabled { cursor: not-allowed; }
.check {
  display: inline-flex; align-items: center; gap: var(--sp-2); min-height: 24px; margin: 0 var(--sp-5) var(--sp-2) 0;
  font-size: 14px; line-height: 18px; letter-spacing: 0.16px; font-weight: 400; color: var(--ink); cursor: pointer;
}
.check:has(> input:disabled) { cursor: not-allowed; }
.check.top { align-items: flex-start; }
.check.top input { margin-top: 1px; }
.check.big { font-size: 16px; line-height: 22px; font-weight: 600; }
.check.big input { width: 18px; height: 18px; }

/* ---------- mygtukai (0 px kampai, 48 px aukštis, tekstas kairėje) ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: flex-start; gap: var(--sp-4);
  min-height: 48px; padding: 11px 48px 11px var(--sp-4); max-width: 100%;
  background: var(--primary); color: var(--on-primary); border: 1px solid transparent; border-radius: 0;
  font: inherit; font-size: 14px; font-weight: 400; line-height: 18px; letter-spacing: 0.16px;
  text-align: left; text-decoration: none; cursor: pointer; vertical-align: middle;
  transition: background-color var(--motion), border-color var(--motion), color var(--motion);
}
.btn:hover { background: var(--primary-hover); color: var(--on-primary); }
.btn:active { background: var(--primary-active); }
.btn:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; box-shadow: inset 0 0 0 3px var(--canvas); }
.btn.secondary { background: var(--secondary); color: var(--on-primary); }
.btn.secondary:hover { background: var(--secondary-hover); }
.btn.secondary:active { background: var(--secondary-active); }
.btn.tertiary { background: transparent; color: var(--primary); border-color: var(--primary); }
.btn.tertiary:hover { background: var(--primary-hover); color: var(--on-primary); border-color: var(--primary-hover); }
.btn.tertiary:active { background: var(--primary-active); border-color: var(--primary-active); }
.btn.ghost { background: transparent; color: var(--primary); padding-right: var(--sp-4); }
.btn.ghost:hover { background: var(--surface-hover); color: var(--primary-hover); }
.btn.danger { background: var(--danger); color: var(--on-primary); }
.btn.danger:hover { background: var(--danger-hover); }
.btn.danger:active { background: var(--danger-active); }
.btn:disabled, .btn:disabled:hover, .btn:disabled:active, .btn[disabled] {
  background: var(--disabled-bg); color: var(--ink-disabled); border-color: transparent; cursor: not-allowed;
}
.btns { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); margin-top: var(--sp-5); }

/* ---------- pranešimai (Carbon inline notification) ---------- */
.msg {
  margin-bottom: var(--sp-3); padding: var(--sp-3) var(--sp-4) var(--sp-3) 44px;
  border-left: 3px solid var(--ink-muted); color: var(--ink); background-color: var(--surface-1);
  background-repeat: no-repeat; background-position: 12px 12px; background-size: 20px 20px;
  font-size: 14px; line-height: 20px; letter-spacing: 0.16px; overflow-wrap: anywhere;
}
.msg.ok { background-color: var(--success-bg); background-image: var(--icon-success); border-left-color: var(--success); }
.msg.error { background-color: var(--error-bg); background-image: var(--icon-error); border-left-color: var(--error); }
.msg.warn { background-color: var(--warning-bg); background-image: var(--icon-warning); border-left-color: var(--warning); }
.msg.info { background-color: var(--info-bg); background-image: var(--icon-info); border-left-color: var(--info); }
.msg .tech { margin-top: var(--sp-1); font-size: 12px; line-height: 16px; letter-spacing: 0.32px; color: var(--ink-muted); }

/* ---------- skaičiai (Carbon tiles) ---------- */
/* auto-fill (ne auto-fit): vienas langelis lieka vieno stulpelio pločio, o ne per visą kortelę */
.stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--sp-4); }
p + .stats { margin-top: var(--sp-4); }
.stat {
  display: flex; flex-direction: column-reverse; justify-content: space-between; gap: var(--sp-3);
  min-height: 112px; padding: var(--sp-4); background: var(--surface-1);
}
.stat .n { font-size: 36px; font-weight: 300; line-height: 1.2; letter-spacing: 0; color: var(--ink); font-variant-numeric: tabular-nums; }
.stat .l { font-size: 14px; line-height: 18px; letter-spacing: 0.16px; color: var(--ink-muted); }
.stat.green .n { color: var(--success-text); }
.stat.red .n { color: var(--error); }
.stat.grey .n { color: var(--ink-muted); }

/* ---------- lentelės (Carbon data table) ---------- */
table { border-collapse: collapse; width: 100%; font-size: 14px; line-height: 20px; letter-spacing: 0.16px; background: var(--canvas); font-variant-numeric: tabular-nums; }
th, td { text-align: left; vertical-align: top; padding: 12px var(--sp-4); border-bottom: 1px solid var(--hairline); }
th { background: var(--surface-2); color: var(--ink); font-weight: 600; }
tr:hover > td { background: var(--surface-hover); }
/* blankus tekstas lentelėje – Carbon text-secondary, kad kontrastas ≥ 4.5:1 ir ant #e8e8e8 (užvedus pelę) */
td .muted, td .small.muted { color: var(--ink-muted); }
td.num { white-space: nowrap; font-variant-numeric: tabular-nums; }
td.small { font-size: 14px; line-height: 20px; letter-spacing: 0.16px; }
/* raktas–reikšmė lentelės (santraukos) */
table.kv { max-width: 760px; }
table.kv th { width: 34%; background: transparent; font-weight: 600; }
table.kv tr:hover > td { background: transparent; }
.tablewrap { max-width: 100%; max-height: 420px; overflow: auto; border: 1px solid var(--hairline); }
.tablewrap th { position: sticky; top: 0; z-index: 1; }
.tablewrap tr:last-child > td { border-bottom: 0; }
.tablewrap th, .tablewrap td { padding-left: var(--sp-3); padding-right: var(--sp-3); }
/* darbų lentelės veiksmų stulpelis („Atidaryti · ZIP“) prisegtas dešinėje – matosi ir slenkant į šoną */
.tablewrap tr > td:last-child:has(> a[href^="/?id="]) {
  position: sticky; right: 0; z-index: 1; background: var(--canvas); box-shadow: inset 1px 0 0 var(--hairline);
}
.tablewrap tr:hover > td:last-child:has(> a[href^="/?id="]) { background: var(--surface-hover); }
.tablewrap tr > th:last-child:empty {
  position: sticky; top: 0; right: 0; z-index: 2; background: var(--surface-2); box-shadow: inset 1px 0 0 var(--hairline);
}
.scrollx { max-width: 100%; overflow-x: auto; }

/* išskleidžiami blokai (Carbon accordion) */
details { border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); background: var(--canvas); }
details + details { border-top: 0; }
details + :not(details) { margin-top: var(--sp-3); }
details > summary {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4);
  min-height: 48px; padding: var(--sp-3) var(--sp-4); cursor: pointer; list-style: none;
  font-size: 14px; line-height: 20px; color: var(--ink); transition: background-color var(--motion);
}
details > summary::-webkit-details-marker { display: none; }
details > summary::after {
  content: ""; flex: 0 0 16px; width: 16px; height: 16px; background: var(--icon-chevron) center / 16px 16px no-repeat;
  transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
}
details[open] > summary::after { transform: rotate(180deg); }
details > summary:hover { background: var(--surface-hover); }
details > summary:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
details > div { padding: var(--sp-1) var(--sp-4) var(--sp-4); }
details.rules { max-width: 760px; margin-bottom: var(--sp-5); font-size: 14px; line-height: 20px; letter-spacing: 0.16px; }
details.rules ul { margin: 0 0 0 20px; padding: 0; }
details.rules li { margin-bottom: var(--sp-1); }

/* ---------- žymės, eiga ---------- */
.badge {
  display: inline-flex; align-items: center; min-height: 24px; padding: 2px var(--sp-2); border-radius: 12px;
  font-size: 12px; line-height: 16px; letter-spacing: 0.32px; font-weight: 400; white-space: nowrap; vertical-align: middle;
  background: var(--tag-info-bg); color: var(--tag-info-text);
}
.badge.dry { background: var(--tag-warning-bg); color: var(--tag-warning-text); }
.badge.real, .badge.bad { background: var(--tag-error-bg); color: var(--tag-error-text); }
.badge.ok { background: var(--tag-success-bg); color: var(--tag-success-text); }
.bar { position: relative; height: 8px; background: var(--surface-2); overflow: hidden; }
.small + .bar { margin-top: var(--sp-2); }
.bar > div { height: 100%; width: 0; background: var(--primary); transition: width 0.2s linear; }
.bar.indet > div { width: 35%; animation: cr-indet 1.6s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
@keyframes cr-indet { from { transform: translateX(-100%); } to { transform: translateX(290%); } }
pre.log {
  margin: 0 0 var(--sp-4); padding: var(--sp-4); max-height: 360px; overflow: auto;
  background: var(--surface-1); color: var(--ink); font-family: var(--font-mono); font-size: 12px; line-height: 1.5; letter-spacing: 0;
  white-space: pre-wrap; word-break: break-word;
}

/* ---------- bandomasis / tikrasis režimas (turi būti aiškiai matoma) ---------- */
.mode-box { margin: var(--sp-4) 0; padding: var(--sp-4); border-left: 3px solid var(--ink-muted); background: var(--surface-1); }
.mode-box.dry { background: var(--warning-bg); border-left-color: var(--warning); }
.mode-box.real { background: var(--error-bg); border-left-color: var(--error); }
.mode-title { font-size: 16px; font-weight: 600; line-height: 1.375; letter-spacing: 0; margin: 0 0 var(--sp-3); color: var(--ink); }
.mode-box.real .mode-title { color: var(--error); }
.mode-box .small { font-size: 14px; line-height: 20px; letter-spacing: 0.16px; }
.mode-box .small + .small, .mode-box .check + .small { margin-top: var(--sp-1); }
.banner {
  margin-bottom: var(--sp-4); padding: var(--sp-4) var(--sp-4) var(--sp-4) 48px;
  border-left: 3px solid var(--ink-muted); color: var(--ink); background-color: var(--surface-1);
  background-repeat: no-repeat; background-position: 14px 17px; background-size: 20px 20px;
  font-size: 14px; line-height: 20px;
}
.banner b.big { display: block; margin-bottom: var(--sp-1); font-size: 16px; line-height: 22px; font-weight: 600; letter-spacing: 0; }
.banner.dry { background-color: var(--warning-bg); background-image: var(--icon-warning); border-left-color: var(--warning); }
.banner.real { background-color: var(--error-bg); background-image: var(--icon-error); border-left-color: var(--error); }
.banner.real b.big { color: var(--error); }
.next {
  margin: var(--sp-5) 0 0; padding: var(--sp-3) var(--sp-4) var(--sp-3) 44px;
  border-left: 3px solid var(--info); color: var(--ink);
  background: var(--info-bg) var(--icon-info) no-repeat 12px 12px / 20px 20px;
  font-size: 14px; line-height: 20px;
}
.next b { color: var(--ink); }

/* ---------- datos ---------- */
.datehint {
  margin: 0 0 var(--sp-5); padding: var(--sp-3) var(--sp-4) var(--sp-3) 44px;
  border-left: 3px solid var(--info); color: var(--ink);
  background: var(--info-bg) var(--icon-info) no-repeat 12px 12px / 20px 20px;
  font-size: 14px; line-height: 20px; letter-spacing: 0.16px; font-variant-numeric: tabular-nums;
}
.datehint.bad { background-color: var(--error-bg); background-image: var(--icon-error); border-left-color: var(--error); }
.datehint b { white-space: nowrap; }
.quick { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-2); }
.quick button {
  min-height: 40px; margin: 0; padding: 0 11px; cursor: pointer; /* 11 px + 1 px rėmelis = 12 px */
  background: transparent; color: var(--primary); border: 1px solid var(--primary); border-radius: 0;
  font-size: 14px; line-height: 18px; letter-spacing: 0.16px;
  transition: background-color var(--motion), color var(--motion);
}
.quick button:hover { background: var(--primary-hover); border-color: var(--primary-hover); color: var(--on-primary); }
.quick button:active { background: var(--primary-active); border-color: var(--primary-active); color: var(--on-primary); }
.quick button:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; box-shadow: inset 0 0 0 3px var(--canvas); }
.upl { margin-top: var(--sp-4); max-width: 520px; }
.upl .small { margin-bottom: var(--sp-2); font-variant-numeric: tabular-nums; }

/* ---------- smulkūs pagalbiniai ---------- */
.gap { margin-top: var(--sp-3); }
.steps-list { margin: 0 0 var(--sp-3) 20px; padding: 0; }
.steps-list li { margin-bottom: var(--sp-1); }
.center { text-align: center; }
.loading { padding: var(--sp-7) var(--sp-4); text-align: center; color: var(--ink-muted); }
.loading::before {
  content: ""; display: block; width: 32px; height: 32px; margin: 0 auto var(--sp-4);
  border: 3px solid var(--surface-2); border-top-color: var(--primary); border-radius: 50%;
  animation: cr-spin 0.7s linear infinite;
}
@keyframes cr-spin { to { transform: rotate(360deg); } }

/* ---------- prisijungimas (Carbon login: kairėje, ~400 px stulpelis) ---------- */
body.login main { margin-top: var(--sp-7); }
body.login .card { max-width: 400px; padding: 0; border: 0; background: transparent; margin-bottom: var(--sp-6); }
body.login h1 { margin-bottom: var(--sp-2); }
body.login form {
  margin-top: var(--sp-5); padding: var(--sp-5) 0; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline);
}
body.login form > div { margin-bottom: var(--sp-4); }
body.login input[type=email], body.login input[type=password], body.login input[type=text] { width: 100%; height: 48px; }
body.login .btn { width: 100%; justify-content: space-between; padding-right: var(--sp-4); margin-top: var(--sp-2); }
body.login .btn::after {
  content: ""; flex: 0 0 16px; width: 16px; height: 16px; background-color: currentColor;
  -webkit-mask: var(--icon-arrow) center / 16px 16px no-repeat; mask: var(--icon-arrow) center / 16px 16px no-repeat;
}
body.login .perj { margin: var(--sp-4) 0 0; font-size: 14px; line-height: 20px; color: var(--ink-muted); }
body.login .center { max-width: 400px; text-align: left; color: var(--ink-subtle); }

/* ---------- ekranai ---------- */
@media (min-width: 801px) {
  header.top { position: sticky; top: 0; z-index: 10; }
  /* fokusuotas laukas neturi likti po prisegta antrašte (48 px + 1 px linija) */
  html { scroll-padding-top: 56px; }
}
/* siauresnė antraštė: 1 eilutė – logotipas, 2 eilutė – skiltys, el. paštas ir atsijungimas;
   kai el. paštas netelpa šalia skilčių, el. paštas ir atsijungimas persikelia į 3 eilutę (el. paštas visada matomas) */
@media (max-width: 800px) {
  header.top .inner { flex-wrap: wrap; padding: 0; }
  header.top .brand { flex: 1 1 100%; min-width: 0; padding: 0 var(--gutter); }
  header.top nav { flex: 1 1 auto; border-top: 1px solid var(--hairline); }
  header.top nav a:first-child { padding-left: var(--gutter); }
  header.top .user { flex: 1 1 auto; justify-content: flex-end; border-top: 1px solid var(--hairline); }
  header.top .who { max-width: none; padding-left: var(--gutter); }
}
@media (max-width: 672px) {
  .utility { display: none; }
  header.top .brand { gap: var(--sp-3); }
  header.top .brand img { height: 28px; }
  header.top .brand .app { padding-left: var(--sp-3); white-space: normal; line-height: 18px; }
  header.top nav a { padding: 0 var(--sp-3); }

  main { margin: var(--sp-5) auto var(--sp-6); }
  body.login main { margin-top: var(--sp-6); }
  .card { padding: var(--sp-4); }
  h1 { font-size: 28px; line-height: 1.29; }

  /* žingsniai: matosi visi 5 segmentai, tekstas – tik dabartinio */
  .steps li { flex: 0 0 24px; font-size: 0; gap: 0; padding-right: 0; }
  .steps li.on { flex: 1 1 auto; font-size: 14px; gap: var(--sp-2); }

  /* lietimui – 48 px */
  input[type=date], input[type=password], input[type=number], input[type=email], input[type=text] { height: 48px; }
  .row { gap: 0; }
  .row .field { flex: 1 1 100%; }
  .row input[type=date] { width: 100%; }
  .check { min-height: 40px; margin-bottom: 0; }
  .check.top { padding: var(--sp-2) 0; }
  .btns { gap: var(--sp-3); }
  .btns > .btn, .btn.big { width: 100%; }

  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2); }
  .stat { min-height: 96px; padding: var(--sp-3); }
  .stat .n { font-size: 28px; }

  th, td { padding: 12px var(--sp-3); }
  /* raktas–reikšmė lentelės sudedamos į stulpelį */
  table.kv, table.kv tbody, table.kv tr, table.kv th, table.kv td { display: block; width: auto; }
  table.kv tr { border-bottom: 1px solid var(--hairline); padding: var(--sp-2) 0; }
  table.kv th, table.kv td { border-bottom: 0; padding: var(--sp-1) 0; }

  .msg, .next, .datehint { padding-right: var(--sp-3); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
  .bar.indet > div { animation: none; width: 100%; opacity: 0.3; }
  .loading::before { animation-duration: 2.4s; }
}

@media print {
  .utility, header.top nav, header.top .user, .testbar, footer.foot, .btns { display: none !important; }
  .card { border: 0; padding: 0; }
  .tablewrap { max-height: none; overflow: visible; }
}
