/*
Theme Name: OHVIS
Description: OH vidinė informacinė sistema — tema (OHVIS sutartys dizaino kalba, šviesi ir tamsi).
Version: 2.2.0
Author: Vidinis projektas
Text Domain: ohvis
*/

/* === TOKENS-ALIAS === */
/* Vienintelis reikšmių šaltinis — įskiepio assets/ntu.css (:root). Čia tik aliasai. */
:root {
	--oh-canvas: var(--ntu-canvas);
	--oh-surface: var(--ntu-surface);
	--oh-ink: var(--ntu-ink);
	--oh-ink-muted: var(--ntu-ink-muted);
	--oh-line: var(--ntu-line);
	--oh-line-strong: var(--ntu-line-strong);
	--oh-placeholder: var(--ntu-placeholder);
	--oh-accent: var(--ntu-accent);
	--oh-accent-ink: var(--ntu-accent-ink);
	--oh-success: var(--ntu-success);
	--oh-warning: var(--ntu-warning);
	--oh-danger: var(--ntu-danger);
	--oh-success-ink: var(--ntu-success-ink);
	--oh-warning-ink: var(--ntu-warning-ink);
	--oh-brand: var(--ntu-brand);
	--oh-accent-bg: var(--ntu-accent-bg);
	--oh-accent-border: var(--ntu-accent-border);
	--oh-zone-head: var(--ntu-zone-head);
	--oh-success-bg: var(--ntu-success-bg);
	--oh-success-border: var(--ntu-success-border);
	--oh-warning-bg: var(--ntu-warning-bg);
	--oh-warning-border: var(--ntu-warning-border);
	--oh-danger-bg: var(--ntu-danger-bg);
	--oh-danger-border: var(--ntu-danger-border);
	--oh-font: var(--ntu-font);
	--oh-r-sm: var(--ntu-r-sm);
	--oh-r-lg: var(--ntu-r-lg);
	--oh-ease: var(--ntu-ease);
	--oh-shadow-float: var(--ntu-shadow-float);
}
/* === /TOKENS-ALIAS === */

/* === BASE === */
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--oh-canvas); color: var(--oh-ink); font-family: var(--oh-font); font-size: 14px; line-height: 20px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body.oh-app { min-height: 100vh; display: flex; flex-direction: column; }
.oh-app *, .oh-app *::before, .oh-app *::after { box-sizing: border-box; }
/* :where() — 0 specifiškumas: NEperrašo .oh-logo{height:24px}, .oh-list-thumb, .ntu-iconbtn:focus-visible ir pan. */
:where(.oh-app) img { max-width: 100%; height: auto; }
:where(.oh-app) :focus-visible { outline: 2px solid var(--oh-accent); outline-offset: 2px; }
:where(.oh-app) a { color: var(--oh-accent); }   /* plikos nuorodos už .ntu-portal/.oh-prose (404, „Prisijungti") — ne naršyklės #0000EE */
.oh-skip { position: absolute; left: -9999px; top: 8px; z-index: 1000; padding: 6px 12px; border: 1px solid var(--oh-line); border-radius: var(--oh-r-sm); background: var(--oh-surface); color: var(--oh-ink); }
.oh-skip:focus { left: 16px; }
/* === /BASE === */

/* === HEADER === */
.oh-header { position: relative; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 24px; background: var(--oh-surface); border-bottom: 1px solid var(--oh-line); }
.oh-brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; color: inherit; text-decoration: none; }
.oh-logo { display: block; width: auto; height: 24px; }
.oh-logo-dark { display: none; }
:root[data-theme="dark"] .oh-logo-light { display: none; }
:root[data-theme="dark"] .oh-logo-dark { display: block; }
.oh-brand-name { padding-left: 12px; border-left: 1px solid var(--oh-line); font-size: 16px; line-height: 24px; font-weight: 700; color: var(--oh-brand); }
.oh-menu { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.oh-nav { display: flex; align-items: center; gap: 4px; margin-inline: auto; font-size: 14px; line-height: 20px; }
/* Meniu punktai su sričių ikonomis (ICON_GUIDE); aktyvus — lengvas akcento atspalvis, ikona akcento spalvos */
.oh-nav a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: var(--oh-r-sm); color: var(--oh-ink-muted); text-decoration: none; white-space: nowrap; transition: color 150ms var(--oh-ease), background-color 150ms var(--oh-ease); }
.oh-nav a > .ntu-icon { color: inherit; }   /* ikona — teksto spalva (muted → ink); aktyvus — kaip sutartys: canvas fonas */
@media (hover: hover) { .oh-nav a:hover { color: var(--oh-ink); } }
.oh-nav a.oh-active { background: var(--oh-canvas); color: var(--oh-ink); font-weight: 500; }
.oh-user { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.oh-user-name { display: inline-flex; align-items: center; gap: 6px; max-width: 200px; font-size: 14px; line-height: 20px; color: var(--oh-ink-muted); }
.oh-user-name-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oh-btn > .ntu-icon { color: var(--oh-ink-muted); }
@media (hover: hover) { .oh-btn:not(.oh-btn-primary):hover > .ntu-icon { color: var(--oh-ink); } }
.oh-btn-primary > .ntu-icon { color: inherit; }
.oh-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--oh-line); border-radius: var(--oh-r-sm); background: var(--oh-surface); color: var(--oh-ink); font: inherit; font-size: 14px; line-height: 20px; font-weight: 500; text-decoration: none; white-space: nowrap; cursor: pointer; transition: color 150ms var(--oh-ease), background-color 150ms var(--oh-ease); }
@media (hover: hover) { .oh-btn:hover { background: var(--oh-canvas); } }
.oh-btn-muted { color: var(--oh-ink-muted); }
.oh-btn-ghost { border-color: transparent; background: transparent; color: var(--oh-ink-muted); }
@media (hover: hover) { .oh-btn-ghost:hover { background: transparent; color: var(--oh-ink); } }
.oh-theme-toggle { display: inline-flex; align-items: center; gap: 8px; padding: 6px; border: 0; border-radius: var(--oh-r-sm); background: transparent; color: var(--oh-ink-muted); font: inherit; font-size: 14px; line-height: 16px; cursor: pointer; transition: color 150ms var(--oh-ease); }
@media (hover: hover) { .oh-theme-toggle:hover { color: var(--oh-ink); } }
.oh-theme-toggle svg { display: block; width: 16px; height: 16px; }
.oh-theme-toggle .oh-icon-sun { display: none; }
:root[data-theme="dark"] .oh-theme-toggle .oh-icon-sun { display: block; }
:root[data-theme="dark"] .oh-theme-toggle .oh-icon-moon { display: none; }
.oh-theme-toggle-text { display: none; }
.oh-menu-toggle { display: none; }
/* Su ikonomis netelpa vienoje eilutėje — pirma be jų (oh-hdr-compact), tik tada dvi eilutės (oh-hdr-2row, ikonos grįžta);
   klases pagal turinį uždeda header.php skriptas. Temos jungiklio ikonos (.oh-icon-*) lieka. */
.oh-hdr-compact .oh-nav a > .ntu-icon, .oh-hdr-compact .oh-user .ntu-icon { display: none; }
/* Dvi eilutės — tik kai meniu netelpa vienoje: klasę oh-hdr-2row pagal turinį uždeda header.php skriptas */
@media (min-width: 768px) {
	.oh-header.oh-hdr-2row { flex-wrap: wrap; row-gap: 12px; }
	.oh-hdr-2row .oh-menu { display: contents; }
	.oh-hdr-2row .oh-user { order: 2; margin-left: auto; }
	.oh-hdr-2row .oh-nav { order: 3; flex-basis: 100%; flex-wrap: wrap; column-gap: 0; margin: 0 0 0 -8px; }
	.oh-hdr-2row .oh-nav a { padding-inline: 8px; }   /* antroje eilutėje 5 punktai su ikonomis telpa ir ties 768px */
}
@media (max-width: 767px) {
	.oh-header { flex-wrap: wrap; gap: 0; padding: 12px 16px; }
	.oh-menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin: -8px -8px -8px auto; padding: 0; border: 0; border-radius: var(--oh-r-sm); background: transparent; color: var(--oh-ink); cursor: pointer; }
	.oh-menu-toggle svg { width: 20px; height: 20px; }
	.oh-menu-toggle .oh-icon-close, .oh-menu-open .oh-menu-toggle .oh-icon-menu { display: none; }
	.oh-menu-open .oh-menu-toggle .oh-icon-close { display: block; }
	.oh-menu { display: none; flex: 1 1 100%; flex-direction: column; align-items: stretch; gap: 0; margin-top: 12px; padding-top: 8px; border-top: 1px solid var(--oh-line); }
	.oh-menu-open .oh-menu { display: flex; }
	.oh-nav { flex-direction: column; align-items: stretch; gap: 2px; margin: 0; }
	.oh-nav a { padding: 10px 12px; }
	.oh-user { flex-direction: column; align-items: stretch; gap: 2px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--oh-line); }
	.oh-user-name { max-width: none; padding: 10px 12px; }
	.oh-user .oh-btn, .oh-user .oh-theme-toggle { justify-content: flex-start; padding: 10px 12px; border-color: transparent; background: transparent; }
	.oh-theme-toggle-text { display: inline; }
}
/* Liečiama planšetė (≥768px, meniu antraštėje): taikiniai 40px (SPEC §0.3), kaip mobiliame meniu */
@media (pointer: coarse) and (min-width: 768px) {
	.oh-user .oh-btn { min-height: 40px; }
	.oh-theme-toggle { padding: 12px; }
	.oh-nav a { padding-block: 10px; }
}
/* === /HEADER === */

/* === LAYOUT === */
.oh-main { flex: 1 0 auto; width: 100%; max-width: 1280px; margin: 0 auto; padding: 24px; }
@media (max-width: 767px) { .oh-main { padding: 16px; } }
.oh-page-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 16px; margin: 0 0 16px; }
.oh-page-heading { min-width: 0; }
.oh-page-title { margin: 0; font-size: 16px; line-height: 24px; font-weight: 600; color: var(--oh-ink); }
.oh-page-desc { margin: 4px 0 0; max-width: 768px; color: var(--oh-ink-muted); }
.oh-page-title > .ntu-icon:first-child { width: 20px; height: 20px; margin-right: 8px; vertical-align: -4px; color: var(--oh-accent); }   /* = .ntu-portal-h1 ikona */
/* Meta eilutė su ikonomis (įrašas: data, autorius, kategorija): punktai atskirti tarpu, ne „·"; ikona — .ntu-icon-lead */
.oh-page-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; }
.oh-meta-item { min-width: 0; overflow-wrap: anywhere; }
.oh-page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.oh-btn-primary { background: var(--oh-accent); border-color: var(--oh-accent); color: var(--oh-accent-ink); }
@media (hover: hover) { .oh-btn-primary:hover { background: var(--oh-accent); color: var(--oh-accent-ink); opacity: .9; } }
.oh-btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; pointer-events: none; }
.oh-section { background: var(--oh-surface); border: 1px solid var(--oh-line); border-radius: var(--oh-r-lg); }
.oh-section-body { padding: 16px; }
.oh-empty { margin: 0; padding: 16px; color: var(--oh-ink-muted); }
.oh-empty::before { content: ""; display: inline-block; width: 16px; height: 16px; margin-right: 8px; vertical-align: -3px; background: currentColor; -webkit-mask: var(--ntu-mask-inbox) center / 16px no-repeat; mask: var(--ntu-mask-inbox) center / 16px no-repeat; }   /* = .ntu-empty: tuščios dėžutės ženklas (kaukė — ntu.css TOKENS) */
.oh-empty a { text-decoration: underline; text-underline-offset: 2px; }   /* veiksmas muted sakinyje — ne vien atspalviu (WCAG 1.4.1), kaip .ntu-empty */
/* Grįžimas — .oh-btn.oh-btn-primary .oh-page-actions gale (sutartys #90); .oh-back klasės nėra. Poraštės (.oh-footer) nėra. */
.oh-prose { max-width: 72ch; font-size: 14px; line-height: 22px; color: var(--oh-ink); overflow-wrap: anywhere; }   /* = .ntu-prose */
.oh-prose > :first-child { margin-top: 0; }
.oh-prose > :last-child { margin-bottom: 0; }
.oh-prose p, .oh-prose ul, .oh-prose ol, .oh-prose table { margin: 0 0 12px; }
.oh-prose ul, .oh-prose ol { padding-left: 20px; }
.oh-prose h2 { margin: 24px 0 8px; font-size: 16px; line-height: 24px; font-weight: 600; }
.oh-prose h3 { margin: 20px 0 8px; font-size: 14px; line-height: 20px; font-weight: 600; }
.oh-prose a { color: var(--oh-accent); text-decoration: underline; text-underline-offset: 2px; }
/* Gutenberg „Mygtukas" ir „Failas" („Atsisiųsti") — kaip OHVIS primary / secondary, ne .oh-prose nuoroda ant WP tamsaus #32373c
   (accent ant jo — 1,8:1). Specifiškumas (0,2,0) / (0,3,0) nugali WP .wp-block-button__link ir .wp-block-file .wp-block-file__button. */
.oh-prose .wp-block-button__link, .oh-prose .wp-block-file .wp-block-file__button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--oh-accent); border-radius: var(--oh-r-sm); background: var(--oh-accent); color: var(--oh-accent-ink); font-size: 14px; line-height: 20px; font-weight: 500; text-decoration: none; }
.oh-prose .is-style-outline > .wp-block-button__link { border-color: var(--oh-line); background: var(--oh-surface); color: var(--oh-ink); }   /* „Kontūras" — secondary */
@media (hover: hover) {
	.oh-prose .wp-block-button__link:hover, .oh-prose .wp-block-file .wp-block-file__button:hover { opacity: .9; text-decoration: none; }
	.oh-prose .is-style-outline > .wp-block-button__link:hover { background: var(--oh-canvas); opacity: 1; }
}
.oh-prose .wp-block-file:not(.wp-element-button) { font-size: 14px; line-height: 20px; }   /* ne WP .8em (11,2px) — skalė 12/14/16 */
.oh-prose img { border-radius: var(--oh-r-sm); }
.oh-prose blockquote { margin: 0 0 12px; padding: 8px 12px; border: 1px solid var(--oh-line); border-radius: var(--oh-r-sm); background: var(--oh-canvas); color: var(--oh-ink-muted); }
.oh-prose table { width: 100%; border-collapse: collapse; }
.oh-prose th, .oh-prose td { padding: 6px 8px; border-top: 1px solid var(--oh-line); text-align: left; }
.oh-prose th { font-weight: 400; color: var(--oh-ink-muted); }
/* Įklijuotas turinys su fiksuotu pločiu (klasikinis oEmbed / YouTube / Maps iframe width=560, [caption] figure style="width:…")
   neišlenda už kortelės telefone (įrašai ir WP puslapiai — page.php); ilga <pre> eilutė slenkama savo bloke, ne visas puslapis */
.oh-prose :is(iframe, video, embed, object, figure, .wp-caption) { max-width: 100%; }
.oh-prose video { height: auto; }   /* proporcija iš width/height atributų — be tuščio ploto sumažinus plotį */
.oh-prose figure { margin: 0 0 12px; }   /* ne naršyklės 40px šoninės paraštės ([caption], blokų paveikslėliai) */
.oh-prose pre { max-width: 100%; margin: 0 0 12px; padding: 8px 12px; overflow-x: auto; border: 1px solid var(--oh-line); border-radius: var(--oh-r-sm); background: var(--oh-canvas); font-size: 12px; line-height: 16px; overflow-wrap: normal; }
/* Tamsi tema + WP turinys: įklijuotos inline spalvos (Word/Outlook, TinyMCE) ir blokų .has-*-color klasės (WP global-styles su !important)
   tamsioje temoje neperskaitomos. Specifiškumas (0,4,0) + !important nugali WP .has-*-color !important. VIENINTELĖ !important išimtis temoje (§7.0.4). */
/* Seni HTML atributai iš Outlook/Word įklijuoto turinio (klasikinis / Custom HTML blokas): <font color>, [bgcolor] — taip pat.
   Mygtukų blokai (.wp-element-button) išimti: jų fono ir teksto spalva — pora (OHVIS primary arba autoriaus parinkta);
   permatomas fonas paliktų accent-ink / autoriaus tekstą ant tamsaus fono. */
:root[data-theme="dark"] .oh-prose :is([style*="color"], .has-text-color, font[color]):not(.wp-element-button, .wp-block-button__link, .wp-block-file__button) { color: inherit !important; }
:root[data-theme="dark"] .oh-prose :is([style*="background"], .has-background, [bgcolor]):not(.wp-element-button, .wp-block-button__link, .wp-block-file__button) { background: transparent !important; }
/* === /LAYOUT === */

/* === NEWS === */
/* Naujienos, vertintojų žinios, paieška, archyvai, įrašas (SPEC §4.14–4.17): viena kortelė su eilutėmis,
   puslapiavimas be numerių (kaip sutartys Puslapiavimas.tsx). Tik tokenai, 12/14/16px. */
.oh-list { margin: 0; padding: 0; list-style: none; }
.oh-list > li + li { border-top: 1px solid var(--oh-line); }
.oh-list-row { display: flex; align-items: flex-start; gap: 16px; padding: 12px 16px; color: var(--oh-ink); text-decoration: none; }
.oh-list > li:first-child > .oh-list-row { border-radius: var(--oh-r-lg) var(--oh-r-lg) 0 0; }   /* hover fonas neišlenda už kortelės kampų */
.oh-list > li:last-child > .oh-list-row { border-radius: 0 0 var(--oh-r-lg) var(--oh-r-lg); }
.oh-list > li:only-child > .oh-list-row { border-radius: var(--oh-r-lg); }
@media (hover: hover) {
	.oh-list-row:hover { background: var(--oh-canvas); }
	.oh-list-row:hover .oh-list-title { text-decoration: underline; text-underline-offset: 2px; }
}
.oh-list-row:focus-visible { outline-offset: -2px; }
.oh-list-date { flex: 0 0 96px; color: var(--oh-ink-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.oh-list-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.oh-list-title { font-weight: 500; overflow-wrap: anywhere; }
.oh-list-excerpt { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: var(--oh-ink-muted); overflow-wrap: anywhere; }
.oh-tag { flex: 0 0 auto; display: inline-flex; align-items: center; padding: 2px 10px; border: 1px solid var(--oh-line); border-radius: 9999px; background: var(--oh-zone-head); font-size: 12px; line-height: 16px; color: var(--oh-ink-muted); white-space: nowrap; }   /* = neutralus .ntu-badge: lengvas atspalvis */
.oh-list-thumb { flex: 0 0 96px; width: 96px; height: 64px; object-fit: cover; border: 1px solid var(--oh-line); border-radius: var(--oh-r-sm); }
@media (max-width: 640px) {
	/* Telefone: data ir žymė — pirmoje eilutėje, pavadinimas su ištrauka — po jomis per visą plotį */
	.oh-list-row { flex-wrap: wrap; align-items: center; gap: 4px 12px; }
	.oh-list-date { flex: 0 0 auto; }
	.oh-tag { order: 1; }
	.oh-list-main { order: 2; flex: 1 1 100%; }
	.oh-list-thumb { display: none; }
}

/* Puslapiavimas — po kortele: tekstas kairėje, du mygtukai dešinėje */
.oh-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; color: var(--oh-ink-muted); }
.oh-pagination-btns { display: flex; gap: 8px; }

/* Įrašas: pavadinimas — puslapio h1 (16/24), kortelės vidus 16px (sutartys p-4) */
.oh-article { max-width: 768px; }
.oh-article-img { display: block; width: calc(100% - 32px); max-width: calc(100% - 32px); height: auto; margin: 16px 16px 0; border: 1px solid var(--oh-line); border-radius: var(--oh-r-sm); }
.oh-article-body { padding: 16px; }
.oh-article-body.oh-prose { max-width: none; }   /* kortelė jau ribota 768px — tekstas užpildo ją, be tuščio ploto dešinėje */
/* Įklijuoto turinio (iframe, figure, pre) ribos — LAYOUT .oh-prose (bendros įrašams ir WP puslapiams) */

/* Paieška (/?s=, index.php): laukas 288px + mygtukas antraštės veiksmuose — kaip žinių banko paieška */
.oh-search { display: flex; align-items: center; gap: 8px; margin: 0; }
.oh-search input[type=search] { width: 288px; max-width: 100%; min-height: 34px; margin: 0; padding: 6px 12px; border: 1px solid var(--oh-line-strong); border-radius: var(--oh-r-sm); background: var(--oh-surface); color: var(--oh-ink); font: inherit; font-size: 14px; line-height: 20px; box-shadow: none; transition: border-color 150ms var(--oh-ease); }
.oh-search input[type=search]::placeholder { color: var(--oh-placeholder); opacity: 1; }
.oh-search input[type=search]:focus { border-color: var(--oh-accent); outline: none; }
@media (max-width: 640px) {
	.oh-page-actions:has(> .oh-search) { flex: 1 1 100%; }
	.oh-search { flex: 1 1 100%; }
	.oh-search input[type=search] { flex: 1 1 auto; width: auto; min-width: 0; }
}

/* Liečiami ekranai: šių puslapių mygtukai 40px (SPEC §0.3) */
@media (pointer: coarse) {
	.oh-news-head .oh-btn, .oh-pagination .oh-btn, .oh-search input[type=search] { min-height: 40px; }
}
/* === /NEWS === */

/* === LOGIN === */
/* Išdėstymas 1:1 sutartys LoginPage.tsx: flex min-h-screen items-center justify-center p-6; kortelė max-w-sm p-6;
   logotipas (h-7) ir „OHVIS" STULPELIU su 12px tarpu, BE skirtuko; temos jungiklis kortelės turinio kampe.
   WP login.css / forms.css / buttons.css perrašomi didesniu specifiškumu (#login, .button.button-primary), ne !important. */
body.login { display: flex; flex-direction: column; align-items: center; justify-content: center; height: auto; min-height: 100vh; padding: 24px; box-sizing: border-box; background: var(--oh-canvas); color: var(--oh-ink); font-family: var(--oh-font); font-size: 14px; line-height: 20px; }   /* height:auto — WP html,body{height:100%} kitaip nukirptų aukštą turinį */
body.login a, body.login #nav a { color: var(--oh-accent); text-decoration: none; }   /* ne WP login.css mėlyna / pilka (.login #nav a — ID specifiškumas, todėl kartojama) */
body.login a:hover, body.login #nav a:hover, body.login #nav a:focus { color: var(--oh-accent); text-decoration: underline; text-underline-offset: 2px; }
body.login a:focus, body.login .oh-theme-toggle:focus { box-shadow: none; outline: none; }
body.login a:focus-visible, body.login .oh-theme-toggle:focus-visible { outline: 2px solid var(--oh-accent); outline-offset: 2px; border-radius: var(--oh-r-sm); }

/* Kortelė */
body.login #login { position: relative; width: 100%; max-width: 384px; margin: 0; padding: 24px; background: var(--oh-surface); border: 1px solid var(--oh-line); border-radius: var(--oh-r-lg); box-sizing: border-box; }
body.login #login > h1 { margin: 0 0 16px; padding-right: 40px; text-align: left; }   /* tik logotipo antraštė (h1.wp-login-logo); formos h1 (el. pašto patvirtinimas) — žemiau */
body.login #login > h1 a { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; width: auto; height: auto; margin: 0; padding: 0; overflow: visible; background: none; text-indent: 0; font-size: 16px; line-height: 24px; font-weight: 700; color: var(--oh-brand); text-decoration: none; pointer-events: none; }
body.login #login > h1 a::before { content: ""; flex-shrink: 0; width: 158px; height: 28px; margin: 0; padding: 0; border: 0; background: url("logo.svg") left center / auto 28px no-repeat; }
:root[data-theme="dark"] body.login #login > h1 a::before { background-image: url("logo-tamsiai.svg"); }
body.login .oh-theme-toggle { position: absolute; top: 24px; right: 24px; padding: 6px; }
body.login .oh-theme-toggle-text { display: none; }   /* HEADER ≤767px rodo tekstą meniu — kortelėje tik ikona (kaip sutartys) */
body.login .oh-login-note { margin: 16px 0 0; font-size: 12px; line-height: 16px; color: var(--oh-ink-muted); text-align: center; }

/* Forma */
body.login form { margin: 0; padding: 0; overflow: visible; background: none; border: 0; box-shadow: none; }
body.login label { margin: 0; font-size: 14px; line-height: 20px; color: var(--oh-ink-muted); }
body.login form .input, body.login input[type=text], body.login input[type=password], body.login input[type=email] { display: block; width: 100%; min-height: 34px; max-height: none; margin: 4px 0 16px; padding: 6px 12px; border: 1px solid var(--oh-line-strong); border-radius: var(--oh-r-sm); background: var(--oh-surface); color: var(--oh-ink); font-family: inherit; font-size: 14px; line-height: 20px; box-shadow: none; box-sizing: border-box; transition: border-color 150ms var(--oh-ease); }
body.login input::placeholder { color: var(--oh-placeholder); opacity: 1; }
body.login input[type=text]:focus, body.login input[type=password]:focus, body.login input[type=email]:focus { border-color: var(--oh-accent); box-shadow: none; outline: none; }
body.login .wp-pwd { position: relative; }
body.login .button.wp-hide-pw { display: inline-flex; align-items: center; justify-content: center; top: 4px; right: 0; width: 34px; min-width: 34px; height: 34px; min-height: 34px; padding: 0; border: 0; border-radius: var(--oh-r-sm); background: none; color: var(--oh-ink-muted); box-shadow: none; }
body.login .button.wp-hide-pw .dashicons { top: 0; }
body.login .button.wp-hide-pw:hover { background: none; color: var(--oh-ink); }
body.login .button.wp-hide-pw:focus { border-color: transparent; box-shadow: none; outline: none; }
body.login .button.wp-hide-pw:focus-visible { outline: 2px solid var(--oh-accent); outline-offset: -2px; }
body.login #login .forgetmenot { display: flex; align-items: center; gap: 8px; float: none; margin: 0 0 16px; }
body.login #login .forgetmenot label { margin: 0; line-height: 20px; color: var(--oh-ink); cursor: pointer; }
body.login input[type=checkbox] { appearance: auto; -webkit-appearance: auto; width: 16px; min-width: 16px; height: 16px; margin: 0; border: 0; background: none; box-shadow: none; accent-color: var(--oh-accent); cursor: pointer; }
body.login input[type=checkbox]:focus { box-shadow: none; outline: none; }
body.login input[type=checkbox]:focus-visible { outline: 2px solid var(--oh-accent); outline-offset: 2px; }
body.login #login .submit { clear: both; margin: 0; padding: 0; }
body.login .button.button-primary { float: none; display: block; width: 100%; height: auto; min-height: 34px; margin: 0; padding: 6px 12px; border: 1px solid var(--oh-accent); border-radius: var(--oh-r-sm); background: var(--oh-accent); color: var(--oh-accent-ink); font-size: 14px; line-height: 20px; font-weight: 500; text-shadow: none; box-shadow: none; cursor: pointer; transition: opacity 150ms var(--oh-ease); }
body.login .button.button-primary:hover, body.login .button.button-primary:focus, body.login .button.button-primary:active { background: var(--oh-accent); border-color: var(--oh-accent); color: var(--oh-accent-ink); box-shadow: none; outline: none; }
body.login .button.button-primary:hover { opacity: .9; }
body.login .button.button-primary:focus-visible { outline: 2px solid var(--oh-accent); outline-offset: 2px; }
/* Antriniai mygtukai (naujo slaptažodžio „Generuoti", el. pašto patvirtinimas) — secondary */
body.login .button:not(.button-primary):not(.wp-hide-pw) { min-height: 34px; height: auto; padding: 6px 12px; border: 1px solid var(--oh-line); border-radius: var(--oh-r-sm); background: var(--oh-surface); color: var(--oh-ink); font-size: 14px; line-height: 20px; font-weight: 500; text-shadow: none; box-shadow: none; }
body.login .button:not(.button-primary):not(.wp-hide-pw):hover { background: var(--oh-canvas); border-color: var(--oh-line); color: var(--oh-ink); }
body.login .button:not(.button-primary):not(.wp-hide-pw):focus { box-shadow: none; outline: none; }
body.login .button:not(.button-primary):not(.wp-hide-pw):focus-visible { outline: 2px solid var(--oh-accent); outline-offset: 2px; }

/* Nuorodos po forma ir pranešimai */
body.login #nav { margin: 16px 0 0; padding: 16px 0 0; border-top: 1px solid var(--oh-line); font-size: 14px; line-height: 20px; }
body.login #backtoblog { display: none; }   /* „← Atgal į OHVIS" beprasmis (private_site) */
body.login .message, body.login .notice, body.login .success, body.login #login_error { margin: 0 0 16px; padding: 8px 12px; border: 1px solid var(--oh-accent-border); border-radius: var(--oh-r-sm); background: var(--oh-accent-bg); color: var(--oh-ink); box-shadow: none; font-size: 14px; line-height: 20px; overflow-wrap: anywhere; }
body.login #login_error, body.login .notice-error { border-color: var(--oh-danger-border); background: var(--oh-danger-bg); }
body.login :is(.message, .notice, .success, #login_error) a { text-decoration: underline; text-underline-offset: 2px; }   /* nuoroda pranešimo sakinyje — ne vien spalva (WCAG 1.4.1) */
body.login #login_error strong { font-weight: 500; }   /* vartotojo vardas klaidos tekste — tik paryškintas, ne raudonas */
body.login #login_error :is(p, li) > strong:first-child { color: var(--oh-danger); }   /* tik „Klaida:" priešdėlis (WP: <p>/<li><strong>Klaida:</strong> …) */
/* Paskutinis matomas kortelės elementas — be apatinės paraštės (apačioje lieka kortelės 24px), pvz. checkemail / resetpass,
   kai kortelėje tik pranešimas; paslėptas #backtoblog ir WP <script> nesiskaito */
body.login #login > :not(script, #backtoblog):not(:has(~ :not(script, #backtoblog))) { margin-bottom: 0; }
body.login .success, body.login .notice-success { border-color: var(--oh-success-border); background: var(--oh-success-bg); }

/* Naujas slaptažodis (action=rp/resetpass): stiprumo indikatorius — tonų kalba (rėmelis -border, fonas -bg, tekstas ink), ne WP šviesios plytelės */
body.login.js #pass1 { margin-bottom: 0; }   /* kaip WP .js.login-action-rp — indikatorius iškart po lauku, tarpas nustatomas žemiau */
body.login #pass-strength-result { width: 100%; margin: 8px 0 16px; padding: 4px 12px; border: 1px solid var(--oh-line); border-radius: var(--oh-r-sm); background: var(--oh-canvas); color: var(--oh-ink); font-size: 12px; line-height: 16px; font-weight: 500; text-align: center; box-sizing: border-box; }
body.login #pass-strength-result:is(.short, .bad) { border-color: var(--oh-danger-border); background: var(--oh-danger-bg); }
body.login #pass-strength-result.good { border-color: var(--oh-warning-border); background: var(--oh-warning-bg); }
body.login #pass-strength-result.strong { border-color: var(--oh-success-border); background: var(--oh-success-bg); }
body.login #login .user-pass2-wrap input { margin-bottom: 16px; }   /* pakartojimo laukas (rodomas be JS) — ne WP .js margin-bottom:0 */
body.login #login .pw-weak { margin: 0 0 16px; }
body.login #login .pw-weak label { margin: 0 0 0 8px; color: var(--oh-ink); }
body.login #login .indicator-hint { margin: 0 0 16px; padding: 0; font-size: 12px; line-height: 16px; font-style: normal; color: var(--oh-ink-muted); }   /* pagalbinis tekstas (§1.5) */

/* Administratoriaus el. pašto patvirtinimas (action=confirm_admin_email): antraštė — kortelės skyriaus h2 stiliumi, ne WP 28px */
body.login #login .admin-email__heading { margin: 0 0 16px; padding: 0 0 12px; border-bottom: 1px solid var(--oh-line); font-size: 16px; line-height: 24px; font-weight: 600; color: var(--oh-ink); text-align: left; }
body.login #login p.admin-email__details { margin: 0 0 12px; }
body.login #login .admin-email__actions { margin: 16px 0 0; }
body.login #login .admin-email__actions-secondary { margin: 16px 0 0; padding: 16px 0 0; border-top: 1px solid var(--oh-line); }   /* „Priminti vėliau" — kaip #nav po linija */
/* Dviejų mygtukų eilutė (el. pašto patvirtinimas, naujas slaptažodis): antrinis — natūralaus pločio, primary užima likusią vietą;
   vaizdo tvarka = DOM (fokusavimo) tvarka, 8px tarpas; siaurame ekrane primary keliasi į naują eilutę per visą plotį */
body.login #login .admin-email__actions-primary, body.login #login .reset-pass-submit { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; margin: 0; padding: 0; }
body.login #login :is(.admin-email__actions-primary, .reset-pass-submit) .button { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: auto; margin: 0; text-align: center; }
body.login #login :is(.admin-email__actions-primary, .reset-pass-submit) .button.button-primary { flex: 1 1 auto; }

/* SSO (klasės iš class-ntu-sso.php; inline stiliai lieka classic temai — perrašoma !important, tik čia, §7.0.4) */
body.login .ntu-sso { margin: 0 0 16px !important; text-align: left !important; }
body.login .ntu-sso-btn { display: block !important; padding: 6px 12px !important; border: 1px solid var(--oh-accent) !important; border-radius: var(--oh-r-sm) !important; background: var(--oh-accent) !important; color: var(--oh-accent-ink) !important; text-align: center !important; font-weight: 500 !important; }
body.login .ntu-sso-btn:hover { opacity: .9; text-decoration: none; }
body.login .ntu-sso-err { padding: 8px 12px !important; border: 1px solid var(--oh-danger-border) !important; border-radius: var(--oh-r-sm) !important; background: var(--oh-danger-bg) !important; color: var(--oh-ink) !important; }
body.login .ntu-sso-hint { margin: 8px 0 0 !important; font-size: 12px !important; line-height: 16px; color: var(--oh-ink-muted) !important; }
body.login .ntu-sso ~ form { padding-top: 16px; border-top: 1px solid var(--oh-line); }   /* slaptažodžio forma — atskirtas atsarginis kelias (kaip sutartys dev forma) */
body.login:has(.ntu-sso-btn) .button.button-primary { border-color: var(--oh-line); background: var(--oh-surface); color: var(--oh-ink); }   /* SSO — pagrindinis kelias; slaptažodžio mygtukas tampa secondary */
body.login:has(.ntu-sso-btn) .button.button-primary:hover { background: var(--oh-canvas); opacity: 1; }
/* „Tik Google" kortelė (NTU_SSO::render_card): logotipas + OHVIS, jungiklis, klaida (#login_error), vienas mygtukas — sutartys LoginPage */
body.login .ntu-sso.ntu-sso-only { margin: 0 !important; }   /* paskutinis kortelės elementas — apačioje lieka kortelės 24px */
body.login .ntu-sso-only .ntu-sso-btn { padding: 6px 12px !important; }   /* 34px kaip .button-primary (sutartys Button) */
@media (pointer: coarse) { body.login .ntu-sso-only .ntu-sso-btn { padding: 9px 12px !important; } }
/* Kortelės klaida ir pranešimas — kaip sutartys ErrorNote: tik tekstas virš mygtuko, be rėmelio ir fono */
body.login.ntu-google-only #login_error { padding: 0; border: 0; background: none; color: var(--oh-danger); }
body.login.ntu-google-only .message { padding: 0; border: 0; background: none; color: var(--oh-ink-muted); }

/* Liečiami ekranai: laukai ir mygtukai 40px (SPEC §0.3) */
@media (pointer: coarse) {
	body.login form .input, body.login input[type=text], body.login input[type=password], body.login input[type=email],
	body.login .button.button-primary, body.login .button:not(.button-primary):not(.wp-hide-pw) { min-height: 40px; }
	body.login .button.wp-hide-pw { width: 40px; min-width: 40px; height: 40px; min-height: 40px; }
	body.login .ntu-sso-btn { padding: 9px 12px !important; }
	body.login .oh-theme-toggle { top: 18px; right: 18px; padding: 12px; }   /* 40×40 taikinys, ikona — toje pačioje vietoje (24 + 6) */
}
/* === /LOGIN === */
