@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

:root {
  color-scheme: light;
  /* Brand — same tokens as the public msphub.lt site */
  --navy: #0B1440;
  --navy-soft: #16214F;
  --navy-line: #23305C;
  --teal: #12B39A;
  --teal-ink: #0F7F6E;
  --teal-tint: #E8FBF6;
  --teal-dark: #04241F;
  --pink: #E5007D;
  --pink-tint: #FDECF4;
  --pink-ink: #A3005A;
  --amber: #F5A818;
  --amber-tint: #FDF1DA;
  --amber-ink: #8A5B00;
  --paper: #FFFFFF;
  --mist: #F4F6FB;
  --line: #E2E6F0;
  --line-strong: #C3CADE;
  --ink: #0B1440;
  --ink-soft: #4A5470;
  --ink-mute: #8A93AE;
  --font-head: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --font-body: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  /* Board admin (klasifikatorių valdymas) — reuses --pink-ink/--pink-tint above for risk/unused state. */
  --row-line: #EDF0F7;
  --row-group: #EDF0F8;
  --chip-bg: #E8ECF5;
  --surface-soft: #F9FAFD;
  --teal-deep: #0A6559;
  --pink-line: #F2C7DE;
  --blue: #2E5BBF;
  --todo-bg: #FFF4DE;
  --todo-ink: #8A5B00;
  --r-sm: 6px; --r-md: 10px; --r-lg: 16px;
  --shadow: 0 8px 24px rgba(11, 20, 64, .10);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  background: var(--mist);
  font-family: var(--font-body);
  color: var(--ink);
}

a { color: var(--teal-ink); text-decoration: none; }
a:hover { color: var(--teal); text-decoration: underline; }
:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }

input::placeholder { color: var(--ink-mute); }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes popIn {
  from { opacity: 0; transform: scale(.85); }
  to { opacity: 1; transform: scale(1); }
}

.page { min-height: 100vh; display: flex; flex-direction: column; }

.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 48px;
  max-width: 1120px;
  margin: 0 auto;
  width: 100%;
  border-bottom: 1px solid var(--line);
}
.header-logo { display: flex; align-items: center; gap: 12px; }
.header-logo img { height: 52px; width: auto; object-fit: contain; }
.header-logo strong { font: 700 17px/1 var(--font-head); color: var(--ink); }
.header-tag {
  font: 600 12px/1 var(--font-body); color: var(--teal-ink);
  background: var(--teal-tint); padding: 5px 9px; border-radius: var(--r-sm);
}
.header-login { font-size: 13.5px; color: var(--ink-soft); }

.main {
  flex: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 16px 24px 64px;
}
.wrap { width: 100%; max-width: 920px; }

.intro { text-align: center; margin-bottom: 28px; }
.intro h1 { font: 700 28px/1.2 var(--font-head); margin: 0 0 8px; letter-spacing: -0.01em; color: var(--ink); }
.intro p { font-size: 14.5px; color: var(--ink-soft); margin: 0 auto; max-width: 520px; }

/* The navy band the marketing pages open with (assets/css .hero--page),
   for app pages that sit in the public site: /nariai/. */
.page-hero { background: var(--navy); color: var(--paper); padding: 84px 0 72px; }
.page-hero__inner { max-width: 1160px; margin: 0 auto; padding: 0 28px; }
.page-hero__eyebrow {
  font: 600 13px/1 var(--font-body); letter-spacing: .16em; text-transform: uppercase;
  color: var(--teal); margin-bottom: 24px;
}
.page-hero h1 {
  margin: 0; max-width: 22ch; color: var(--paper);
  font: 800 clamp(32px, 4.6vw, 58px)/1.05 var(--font-head); letter-spacing: -.03em; text-wrap: balance;
}
.page-hero p {
  margin: 24px 0 0; max-width: 62ch; color: var(--line-strong);
  font-size: clamp(17px, 1.5vw, 20px); line-height: 1.65;
}
.main--after-hero { padding-top: 48px; }
a.page-hero__eyebrow { display: inline-block; text-decoration: none; }
a.page-hero__eyebrow:hover { color: var(--paper); }
.page-hero__meta { margin: 14px 0 0; font-size: 17px; color: var(--line-strong); }
/* A company profile: the logo (white tile) beside the name, and the
   company's links and message button under the summary. */
.page-hero__inner--media { display: flex; gap: 36px; align-items: flex-start; }
.page-hero__inner--media .org-logo { margin-top: 36px; }
.page-hero__text { flex: 1; min-width: 0; }
.page-hero__inner--media h1 { font-size: clamp(30px, 4vw, 48px); }
.page-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 28px; }
.page-hero .public-profile__cta { background: var(--teal); color: var(--teal-dark); }
.page-hero .public-profile__cta:hover { background: var(--paper) !important; color: var(--navy); }
@media (max-width: 900px) { .page-hero { padding: 72px 0 48px; } }
@media (max-width: 640px) {
  .page-hero__inner { padding: 0 20px; }
  .page-hero__inner--media { flex-direction: column; gap: 24px; }
  .page-hero__inner--media .org-logo { margin-top: 0; }
}

.stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 32px;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
.step-wrap { display: flex; align-items: center; }
.step-col { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 64px; }
.step-circle {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--font-body);
  transition: background .2s;
}
.step-label { font: 600 11px/1 var(--font-body); white-space: nowrap; }
.step-connector { height: 2px; flex: 1; margin: 0 4px 20px; min-width: 24px; }

.card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow);
  padding: 40px 48px;
  animation: fadeUp .25s ease;
}

.card h2 { font: 700 18px/1.3 var(--font-head); margin: 0 0 4px; color: var(--ink); }
.step-desc { font-size: 13px; color: var(--ink-soft); margin: 0 0 24px; }

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

.field { display: flex; flex-direction: column; gap: 6px; }
.field-full { grid-column: 1 / -1; }
.field-label { font: 600 13px/1.3 var(--font-body); color: var(--ink); }
.optional { color: var(--ink-mute); font-weight: 400; }
.admin-badge {
  display: inline-block;
  font: 700 11px/1 var(--font-body);
  color: var(--teal-ink);
  background: var(--teal-tint);
  padding: 2px 8px;
  border-radius: 999px;
  vertical-align: middle;
}
.status-badge {
  display: inline-block;
  font: 700 11px/1 var(--font-body);
  padding: 2px 8px;
  border-radius: 999px;
  vertical-align: middle;
  margin-left: 6px;
}
.status-badge-pending { color: var(--amber-ink); background: var(--amber-tint); }
.status-badge-approved { color: var(--teal-ink); background: var(--teal-tint); }
.status-badge-rejected { color: var(--pink-ink); background: var(--pink-tint); }
.status-badge-suspended { color: var(--amber-ink); background: var(--amber-tint); }
.status-badge-blocked { color: var(--paper); background: var(--pink-ink); }

.table-card { padding: 0; overflow: hidden; }
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.data-table th, .data-table td { text-align: left; padding: 12px 16px; vertical-align: middle; }
.data-table th {
  font: 700 11.5px/1 var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--ink-soft);
  background: var(--mist);
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
}
.data-table td { border-bottom: 1px solid var(--line); }
.data-table tbody tr:last-child td { border-bottom: none; }
.data-table tbody tr:hover { background: var(--mist); }
.data-table .logo-cell { width: 100px; }
.data-table .logo-thumb {
  width: 100px;
  height: 100px;
  object-fit: contain;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--paper);
  display: block;
}

.field input, .field textarea, .field select, .otp-input {
  padding: 11px 13px;
  font-size: 14px;
  border-radius: var(--r-sm);
  border: 1.5px solid var(--line-strong);
  outline: none;
  font-family: inherit;
  color: inherit;
  background: var(--paper);
  width: 100%;
  transition: border-color .15s;
}
.field input:focus, .field textarea:focus, .field select:focus, .otp-input:focus { border-color: var(--teal); }
.field textarea {
  resize: vertical;
  min-height: 64px;
}

.logo-upload { display: flex; align-items: flex-start; gap: 14px; }
.logo-preview {
  width: 64px;
  height: 64px;
  border-radius: var(--r-sm);
  object-fit: contain;
  background: var(--paper);
  border: 1.5px solid var(--line-strong);
  flex-shrink: 0;
}
.logo-preview-empty { background: var(--mist); }
.logo-upload-controls { display: flex; flex-direction: column; gap: 6px; padding-top: 4px; }
.logo-upload-controls input[type="file"] { font-size: 13px; }
.logo-hint { font-size: 12px; color: var(--ink-soft); }
.logo-error { font-size: 12px; color: var(--pink-ink); }

.otp-step { text-align: center; }
.otp-row { display: flex; gap: 10px; justify-content: center; margin-bottom: 20px; }
.otp-input {
  width: 44px;
  height: 52px;
  text-align: center;
  font: 700 20px/1 var(--font-body);
  border-radius: var(--r-sm);
}

.otp-success {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: var(--teal-ink);
  font: 600 13px/1.3 var(--font-body);
  animation: popIn .2s ease;
}
.otp-success-icon {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--teal);
  color: var(--paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
}
.otp-error, .submit-error { color: var(--pink-ink); font-size: 12.5px; margin: 12px 0 0; }
.field-error { color: var(--pink-ink); font-size: 12.5px; margin: -8px 0 0; }
.resend { font-size: 12.5px; color: var(--ink-soft); margin: 16px 0 0; }

.summary-box {
  background: var(--mist);
  border-radius: var(--r-md);
  padding: 16px 18px;
  font-size: 12.5px;
  color: var(--ink-soft);
  line-height: 1.5;
  margin-bottom: 20px;
}

.agreements { display: flex; flex-direction: column; gap: 14px; }
.agree-row { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.agree-row input { margin-top: 2px; width: 16px; height: 16px; accent-color: var(--teal); flex-shrink: 0; }
.agree-row span { font-size: 13.5px; line-height: 1.4; }

.vocabulary-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}
.vocabulary-tab {
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  color: var(--ink-soft);
  background: var(--mist);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 14px;
}
.vocabulary-tab:hover { background: var(--line); }
.vocabulary-tab-active {
  color: var(--paper);
  background: var(--navy);
  border-color: var(--navy);
}
/* Archived rows stay readable but visibly out of play. */
.data-table tr.term-archived td { opacity: 0.55; }

.directory-filters { padding: 24px 28px; }
.directory-search { display: flex; gap: 10px; margin-bottom: 18px; }
.directory-search input {
  flex: 1;
  padding: 11px 13px;
  font-size: 14px;
  border: 1px solid var(--line-strong);
  border-radius: var(--r-md);
  font-family: inherit;
}
.directory-search input:focus { outline: 2px solid var(--teal); outline-offset: -1px; }
.directory-search button { flex-shrink: 0; padding: 0 20px; }
.filter-group { margin-bottom: 4px; }

.directory-row {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 20px 24px;
  margin-bottom: 12px;
}
.directory-row-own { border-color: var(--teal); }
.directory-row .logo-thumb {
  width: 56px;
  height: 56px;
  border-radius: var(--r-md);
  background: var(--chip-bg);
  overflow: hidden;
  object-fit: cover;
  flex-shrink: 0;
  display: block;
}
.directory-body { flex: 1; min-width: 0; }
.directory-name { font: 700 16px/1.3 var(--font-head); margin: 0; color: var(--ink); }
.directory-name a { text-decoration: none; }
.directory-name a:hover { text-decoration: underline; }

.badge-row { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.term-badge {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--ink-soft);
  background: var(--mist);
  padding: 3px 9px;
  border-radius: 999px;
}
.matchmaking-note { border-left: 3px solid var(--teal); }

.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.completeness-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
.completeness-value { font-size: 13px; color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.completeness-bar {
  height: 8px;
  border-radius: 999px;
  background: var(--line);
  overflow: hidden;
}
.completeness-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--teal);
  transition: width .3s ease;
}

.term-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 6px 14px;
}
.term-option {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13.5px;
  line-height: 1.35;
  cursor: pointer;
  padding: 3px 0;
}
.term-option input {
  margin-top: 2px;
  width: 15px; height: 15px;
  accent-color: var(--teal);
  flex-shrink: 0;
}
.term-group-title {
  font-size: 13px;
  font-weight: 700;
  margin: 18px 0 8px;
  color: var(--ink-soft);
}

.service-group {
  border-top: 1px solid var(--line);
  padding: 10px 0;
}
.service-group summary {
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  padding: 2px 0;
}
.service-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 2px 14px;
  margin-top: 10px;
}
.service-row { display: flex; align-items: center; gap: 6px; }
.service-row .term-option { flex: 1; }
/* The star is a checkbox styled as a toggle — visible only as the glyph. */
.primary-toggle { cursor: pointer; flex-shrink: 0; line-height: 1; position: relative; }
.primary-toggle input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.primary-toggle span[aria-hidden] {
  font-size: 15px;
  color: var(--line-strong);
  padding: 2px 4px;
  transition: color .15s;
}
.primary-toggle:hover span[aria-hidden] { color: var(--amber); }
.primary-toggle input:checked ~ span[aria-hidden] { color: var(--amber); }
.primary-toggle input:focus-visible ~ span[aria-hidden] { outline: 2px solid var(--teal); border-radius: 4px; }

.qr-enrolment {
  display: flex;
  justify-content: center;
  margin: 0 0 16px;
}
.qr-enrolment svg {
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  max-width: 100%;
  height: auto;
}
.qr-manual { margin: 0 0 18px; }
.qr-manual summary {
  font-size: 13px;
  color: var(--teal-ink);
  cursor: pointer;
}
.qr-manual-secret {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 15px;
  letter-spacing: 1px;
  background: var(--mist);
  border-radius: var(--r-sm);
  padding: 12px 14px;
  text-align: center;
  margin: 0 0 8px;
  word-break: break-all;
}

.auth-method-choice { display: flex; gap: 10px; flex-wrap: wrap; }
.auth-method-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid var(--line-strong);
  border-radius: var(--r-md);
  cursor: pointer;
  font-size: 13.5px;
  flex: 1;
  min-width: 160px;
}
.auth-method-option:has(input:checked) {
  border-color: var(--teal);
  background: var(--teal-tint);
}
.auth-method-option input { accent-color: var(--teal); width: 16px; height: 16px; flex-shrink: 0; }

.nav-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.btn-back {
  background: none;
  border: none;
  color: var(--ink-soft);
  font: 600 13.5px/1 var(--font-body);
  cursor: pointer;
  padding: 10px 4px;
}
.btn-back:hover { color: var(--ink); }
.btn-primary {
  color: var(--paper);
  border: none;
  border-radius: var(--r-sm);
  padding: 12px 26px;
  font: 700 14px/1 var(--font-body);
  transition: background .15s, opacity .15s;
}
.btn-primary:hover:not(:disabled) { background: var(--teal) !important; }
.btn-primary:disabled { opacity: .5; cursor: not-allowed; }

.success { text-align: center; padding: 80px 24px; animation: fadeUp .3s ease; }
.success-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--teal);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  color: var(--paper);
  font-size: 28px;
}
.success h1 { font: 700 24px/1.3 var(--font-head); margin: 0 0 10px; color: var(--ink); }
.success p { font-size: 14.5px; color: var(--ink-soft); max-width: 440px; margin: 0 auto; }

/* Board portal */
.board-app-row { display: flex; gap: 18px; align-items: flex-start; }
.board-app-row .logo-preview { width: 72px; height: 72px; }
.board-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.board-actions form { display: flex; gap: 8px; align-items: center; }
.board-actions .btn-primary, .board-actions .btn-back {
  padding: 9px 18px;
  font-size: 13px;
  border: none;
  cursor: pointer;
  border-radius: var(--r-sm);
  background: none;
}
.board-reason-input {
  padding: 9px 11px;
  font-size: 13px;
  border-radius: var(--r-sm);
  border: 1.5px solid var(--line-strong);
  outline: none;
  font-family: inherit;
  width: 220px;
}

/* Board company page: Narystė (suspend / block votes, reinstate, appeals) */
.board-membership-row { border-top: 1px solid var(--row-line); margin-top: 14px; padding-top: 14px; }
form.board-membership-row, .board-membership-row form { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.board-membership-row .field { margin: 0; }
.board-membership-row .board-reason-input { width: min(100%, 360px); }
.board-membership-row .btn-primary { padding: 9px 18px; font-size: 13px; cursor: pointer; }

/* Directory listing */
.directory-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.directory-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 20px; }
.directory-card .logo-preview { width: 56px; height: 56px; margin-bottom: 12px; }
.directory-card h3 { font: 700 15px/1.3 var(--font-head); margin: 0 0 4px; color: var(--ink); }
.directory-card .directory-city { font-size: 12.5px; color: var(--ink-soft); margin: 0 0 10px; }
.directory-card .directory-desc { font-size: 13px; color: var(--ink-soft); line-height: 1.5; margin: 0; }
.directory-card .directory-links { display: flex; gap: 12px; margin: 10px 0 0; font-size: 12.5px; }
.directory-empty { text-align: center; padding: 60px 24px; color: var(--ink-soft); }

/* Public member list and profiles (/nariai/) */
.directory-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
.directory-intro-card { padding: 20px 22px; }
.directory-intro-card h2 { font: 700 16px/1.3 var(--font-head); margin: 0 0 6px; color: var(--ink); }
.directory-intro-card p { font-size: 13.5px; color: var(--ink-soft); line-height: 1.55; margin: 0; }
.public-directory-filters { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr auto; gap: 14px; align-items: end; padding: 20px 22px; margin-bottom: 14px; }
.public-directory-filters .field { margin: 0; }
.public-directory-filters input, .public-directory-filters select { width: 100%; min-width: 0; }
.public-directory-filters__actions { display: flex; gap: 12px; align-items: center; padding-bottom: 10px; }
.public-directory-filters__reset { font-size: 13px; color: var(--ink-soft); white-space: nowrap; }
.public-directory-filters__reset[hidden] { display: none; }
.public-directory-filters .btn-primary, .public-profile__section .btn-primary, .public-profile__cta { background: var(--navy); }
.public-directory-count { font-size: 13px; color: var(--ink-mute); margin: 0 0 12px; }
.public-directory-card { position: relative; display: flex; flex-direction: column; transition: border-color .15s, box-shadow .15s; }
.public-directory-card[hidden] { display: none; }
.public-directory-card:hover { border-color: var(--teal); box-shadow: var(--shadow); }
.public-directory-card .org-logo { margin-bottom: 12px; }
.public-directory-card__name { font: 700 15.5px/1.3 var(--font-head); margin: 0 0 4px; }
.public-directory-card__name a { color: var(--ink); text-decoration: none; }
/* The whole card opens the profile; the icon links sit above that. */
.public-directory-card__name a::after { content: ''; position: absolute; inset: 0; border-radius: var(--r-lg); }
.public-directory-card__name a:focus-visible { outline: none; }
.public-directory-card__name a:focus-visible::after { outline: 2px solid var(--teal); outline-offset: 2px; }
.public-directory-card__services { margin: 12px 0 0; }
.public-directory-card .icon-links { margin-top: auto; padding-top: 14px; position: relative; z-index: 1; }
.term-badge--primary { background: var(--teal-tint); color: var(--teal-deep); }
.term-badge--more { background: transparent; color: var(--ink-mute); }
.icon-links { display: flex; gap: 8px; flex-wrap: wrap; }
.icon-link { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: var(--r-sm); border: 1px solid var(--line); color: var(--ink-soft); background: var(--paper); transition: color .15s, border-color .15s; }
.icon-link--md { width: 38px; height: 38px; }
.icon-link--md svg { width: 18px; height: 18px; }
.icon-link:hover, .icon-link:focus-visible { color: var(--teal-deep); border-color: var(--teal); }

.public-profile__cta { flex-shrink: 0; text-decoration: none; display: inline-block; }
.public-profile__section { padding: 24px 28px; margin-bottom: 16px; }
.public-profile__section h2 { font: 700 17px/1.3 var(--font-head); margin: 0 0 14px; color: var(--ink); }
.public-profile__text { font-size: 14.5px; line-height: 1.65; color: var(--ink-soft); }
.public-profile__group + .public-profile__group { margin-top: 14px; }
.public-profile__group h3 { font: 600 12px/1.4 var(--font-body); text-transform: uppercase; letter-spacing: .04em; color: var(--ink-mute); margin: 0 0 8px; }
.public-profile__facts { display: grid; grid-template-columns: 200px 1fr; gap: 10px 20px; margin: 0; font-size: 14px; }
.public-profile__facts dt { color: var(--ink-mute); font-weight: 500; }
.public-profile__facts dd { margin: 0; color: var(--ink); }
@media (max-width: 860px) {
  .public-directory-filters { grid-template-columns: 1fr 1fr; }
  .public-directory-filters__search { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .directory-intro-grid { grid-template-columns: 1fr; }
  .public-directory-filters { grid-template-columns: 1fr; }
  .public-profile__section { padding: 20px; }
  .public-profile__facts { grid-template-columns: 1fr; gap: 2px; }
  .public-profile__facts dd { margin-bottom: 10px; }
}

/* ---------- Svetainės antraštė / poraštė (tas pats kaip msphub.lt) ---------- */
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 16px; top: 16px; z-index: 100; background: var(--paper); padding: 12px 18px; border-radius: var(--r-md); }

.site-header {
  position: sticky; top: 0; z-index: 30;
  background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}
.site-header__inner {
  display: flex; align-items: center; gap: 34px;
  padding: 14px 28px; max-width: 1160px; margin: 0 auto;
}
.brand { display: flex; align-items: center; flex: 0 0 auto; }
.brand img { height: 42px; width: auto; }
.site-header .nav { margin-left: auto; display: flex; align-items: center; gap: 4px; }
.site-header .nav a {
  padding: 10px 12px; border-radius: var(--r-sm);
  font: 500 15px/1 var(--font-body); color: var(--ink); text-decoration: none;
  position: relative;
}
.site-header .nav a:hover { background: var(--mist); color: var(--ink); }
.site-header .nav a.is-active::after {
  content: ''; position: absolute; left: 12px; right: 12px; bottom: 2px;
  height: 2px; border-radius: 2px; background: var(--teal);
}
.nav__cta {
  margin-left: 8px; padding: 11px 18px !important; border-radius: var(--r-md);
  background: var(--navy); color: var(--paper) !important; font-weight: 600;
}
.nav__cta:hover { background: var(--teal); color: var(--teal-dark) !important; }
.nav__login {
  margin-left: 8px; padding: 10px 16px !important; border: 1px solid var(--line-strong);
  border-radius: var(--r-md); font-weight: 600;
}
.nav__login:hover { border-color: var(--navy); }
.nav-toggle {
  display: none; margin-left: auto; width: 46px; height: 46px;
  border: 1px solid var(--line); border-radius: var(--r-md);
  background: var(--paper); cursor: pointer; padding: 12px;
}
.nav-toggle span { display: block; height: 2px; background: var(--navy); margin: 4px 0; border-radius: 2px; }

.site-footer { background: var(--navy); color: var(--paper); padding: 72px 0 34px; }
.site-footer .wrap { max-width: 1160px; margin: 0 auto; padding: 0 28px; }
.site-footer__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 48px; }
.site-footer h2 { font: 800 22px/1.1 var(--font-head); letter-spacing: -.02em; margin: 0; }
.site-footer h2 span { color: var(--teal); }
.site-footer__tag { margin-top: 12px; font: 500 13px/1.5 var(--font-body); color: var(--line-strong); letter-spacing: .06em; text-transform: uppercase; }
.site-footer__label { font: 600 13px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: #6C7796; margin-bottom: 12px; }
.site-footer ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.site-footer a { color: var(--line-strong); text-decoration: none; font-size: 16px; }
.site-footer a:hover { color: var(--teal); }
.site-footer__base { margin-top: 48px; padding-top: 24px; border-top: 1px solid #1B2549; font-size: 14px; color: #6C7796; }

.cookie {
  position: fixed; inset: auto 16px 16px; z-index: 50; max-width: 560px; margin: 0 auto;
  background: var(--navy); color: var(--paper); border-radius: var(--r-lg);
  padding: 24px; box-shadow: var(--shadow); display: none;
}
.cookie[data-open='true'] { display: block; }
.cookie p { margin: 0 0 18px; font-size: 15px; color: var(--line-strong); }

.btn {
  display: inline-block; padding: 16px 26px; border: 1px solid transparent;
  border-radius: var(--r-md); font: 600 16px/1 var(--font-body);
  text-decoration: none; cursor: pointer; transition: background .15s, color .15s, border-color .15s;
}
.btn--teal { background: var(--teal); color: var(--teal-dark); }
.btn--teal:hover { background: var(--paper); color: var(--navy); }
.btn--ghost { background: transparent; border-color: var(--navy-line); color: var(--paper); }
.btn--ghost:hover { border-color: var(--paper); background: var(--navy-soft); color: var(--paper); }
.cookie .btn { padding: 12px 20px; font-size: 15px; }

/* Six links and two buttons need about 1100px; below that, the menu folds. */
@media (max-width: 1120px) {
  .nav-toggle { display: block; }
  .site-header .nav {
    display: none; position: absolute; left: 0; right: 0; top: 100%;
    flex-direction: column; align-items: stretch; gap: 0;
    background: var(--paper); border-bottom: 1px solid var(--line); padding: 12px;
  }
  .site-header__inner { position: relative; }
  body.nav-open .site-header .nav { display: flex; }
  .site-header .nav a { padding: 16px 12px; }
  .site-header .nav a.is-active::after { left: 12px; right: auto; width: 20px; }
  .nav__cta, .nav__login { margin: 12px 0 0; text-align: center; }
}
@media (max-width: 640px) {
  .site-header__inner { padding: 12px 20px; }
}
@media print {
  .site-header, .site-footer, .cookie { display: none; }
}

/* ---------- Klasifikatorių valdymas (board/taxonomy.php) ---------- */
.term-row td { vertical-align: top; }
.term-row + .term-row td { border-top: 1px solid var(--row-line); }
.term-row--category td { background: var(--row-group); font-weight: 700; }
.term-row--child td:first-child { padding-left: 34px; }
.term-toggle {
  background: none; border: none; cursor: pointer; padding: 0 6px 0 0;
  color: var(--ink-soft); font-size: 11px; line-height: 1;
  display: inline-block; transition: transform .15s;
}
.term-toggle[aria-expanded="false"] { transform: rotate(-90deg); }
.term-row--hidden-by-collapse { display: none; }
.term-name { font-size: 14px; color: var(--ink); }
.term-slug { margin-top: 4px; font-size: 11.5px; color: var(--ink-mute); }
.term-edit { margin-top: 2px; }
.term-usage-link { font-size: 13.5px; text-decoration: underline; text-decoration-style: dotted; }
.term-usage-empty { font-size: 13.5px; color: var(--pink-ink); }
.status-badge-hidden { color: var(--ink-soft); background: var(--chip-bg); }
.status-badge-unused { color: var(--pink-ink); background: var(--pink-tint); }
.todo-badge {
  display: inline-block; font: 500 11.5px/1 var(--font-body);
  padding: 3px 8px; border-radius: var(--r-sm);
  background: var(--todo-bg); color: var(--todo-ink); white-space: nowrap;
}

/* Board-only nav: member name sits between the links and "Atsijungti". */
.board-nav-user { padding: 10px 4px; font: 500 14px/1 var(--font-body); color: var(--ink-soft); }

/* ---------- Toolbar: search + filter chips + vocabulary tab counts ---------- */
.vocabulary-tab-count {
  display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px;
  font: 600 11px/1.6 var(--font-body); background: var(--chip-bg); color: var(--ink-soft);
}
.vocabulary-tab-active .vocabulary-tab-count { background: var(--teal-tint); color: var(--teal-deep); }
.taxonomy-toolbar {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px;
}
.taxonomy-search {
  width: 300px; max-width: 100%; height: 36px; padding: 0 12px 0 34px; border-radius: var(--r-md);
  border: 1px solid var(--line-strong); font: 400 14px/1 var(--font-body); color: var(--ink);
  background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238A93AE' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat 12px center;
}
.filter-chip {
  height: 36px; padding: 0 14px; border-radius: 18px; border: 1px solid var(--line-strong);
  background: var(--paper); color: var(--ink-soft); font: 500 13.5px/1 var(--font-body);
  cursor: pointer; display: inline-flex; align-items: center; gap: 6px;
}
.filter-chip-count { font: 600 11.5px/1.6 var(--font-body); color: inherit; opacity: .75; }
.filter-chip--active { border-color: var(--teal); background: var(--teal-tint); color: var(--teal-deep); }
.taxonomy-toolbar-meta { margin-left: auto; font: 400 13px/1 var(--font-body); color: var(--ink-mute); }
.term-row--search-hidden, .term-row--filter-hidden { display: none !important; }

/* ---------- Item detail side panel (760px) ---------- */
.panel-overlay {
  position: fixed; inset: 0; background: rgba(8, 16, 47, .44); z-index: 100;
  display: flex; justify-content: flex-end;
}
.panel-overlay[hidden] { display: none; }
.term-panel {
  width: 760px; max-width: 100%; height: 100%; background: var(--paper);
  box-shadow: -24px 0 60px rgba(11, 20, 64, .26); overflow-y: auto;
  display: flex; flex-direction: column;
}
.term-panel__header { padding: 24px 28px 0; }
.term-panel__breadcrumb { font: 500 13px/1 var(--font-body); color: var(--ink-mute); margin-bottom: 8px; }
.term-panel__title { font: 800 23px/1.2 var(--font-head); letter-spacing: -.02em; color: var(--navy); margin: 0 0 20px; }
.term-panel__body { padding: 0 28px; flex: 1; display: flex; flex-direction: column; gap: 18px; }
.term-panel__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.term-panel label.field { display: flex; flex-direction: column; gap: 6px; }
.term-panel .field-label { font: 600 12.5px/1 var(--font-body); color: var(--ink-soft); }
.term-panel input[type="text"], .term-panel select, .term-panel textarea {
  height: 42px; border-radius: var(--r-md); border: 1px solid var(--line-strong);
  padding: 0 12px; font: 400 14px/1 var(--font-body); color: var(--ink); background: var(--paper);
}
.term-panel textarea { height: auto; min-height: 60px; padding: 10px 12px; resize: vertical; }
.term-panel__hint { font: 400 12.5px/1.5 var(--font-body); color: var(--ink-mute); margin-top: 4px; }
.term-panel__slug-row { display: flex; gap: 8px; align-items: center; }
.term-panel__slug-row input {
  flex: 1; background: var(--mist); border-color: var(--line); color: var(--ink-soft);
}
.term-panel__slug-row input:not([disabled]) { background: var(--paper); color: var(--ink); border-color: var(--teal); }
.term-panel__unlock {
  height: 42px; padding: 0 14px; border-radius: var(--r-md); border: 1px solid var(--line-strong);
  background: var(--paper); color: var(--navy); font: 600 13px/1 var(--font-body); cursor: pointer; white-space: nowrap;
}
.synonym-input-row { display: flex; gap: 8px; }
.synonym-input-row input { flex: 1; }
.synonym-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.synonym-chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 6px 5px 12px;
  border-radius: 999px; background: var(--chip-bg); color: var(--ink-soft); font: 500 13px/1 var(--font-body);
}
.synonym-chip button {
  width: 18px; height: 18px; border-radius: 50%; border: none; background: var(--line-strong);
  color: var(--paper); font-size: 11px; line-height: 1; cursor: pointer;
}
.visibility-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.visibility-card {
  display: block; padding: 14px; border-radius: var(--r-md); border: 1.5px solid var(--line-strong);
  cursor: pointer; font: 400 13.5px/1.4 var(--font-body); color: var(--ink-soft);
}
.visibility-card b { display: block; font: 600 14px/1 var(--font-body); color: var(--ink); margin-bottom: 4px; }
.visibility-card input { margin-right: 8px; }
.visibility-card--active { border-color: var(--teal); background: var(--teal-tint); }
.term-panel__usage { padding: 14px; border-radius: var(--r-md); background: var(--surface-soft); font-size: 13.5px; color: var(--ink-soft); }
.term-panel__usage a { color: var(--teal-ink); }
.term-panel__danger { display: flex; gap: 10px; padding-top: 4px; }
.term-panel__footer {
  margin-top: auto; padding: 16px 28px; border-top: 1px solid var(--line);
  display: flex; align-items: center; justify-content: space-between;
  background: var(--surface-soft); font-size: 13px; color: var(--ink-mute);
}
.term-panel__footer a { color: var(--teal-ink); }
.term-panel__footer-actions { display: flex; gap: 10px; }
.btn-danger {
  height: 38px; padding: 0 16px; border-radius: var(--r-md); border: 1px solid var(--pink-line);
  background: var(--paper); color: var(--pink-ink); font: 600 13.5px/1 var(--font-body); cursor: pointer;
}
.btn-secondary {
  height: 38px; padding: 0 16px; border-radius: var(--r-md); border: 1px solid var(--line-strong);
  background: var(--paper); color: var(--navy); font: 600 13.5px/1 var(--font-body); cursor: pointer;
}
.btn-teal-primary {
  height: 38px; padding: 0 16px; border-radius: var(--r-md); border: 1px solid var(--teal-deep);
  background: var(--teal); color: var(--teal-dark); font: 600 13.5px/1 var(--font-body); cursor: pointer;
}

/* ---------- Merge / delete-protection modals ---------- */
.modal-overlay {
  position: fixed; inset: 0; background: rgba(8, 16, 47, .44); z-index: 110;
  display: flex; align-items: center; justify-content: center; padding: 24px;
}
.modal-overlay[hidden] { display: none; }
.term-modal {
  width: 760px; max-width: 100%; max-height: 88vh; overflow-y: auto;
  background: var(--paper); border-radius: var(--r-lg); box-shadow: 0 24px 60px rgba(11, 20, 64, .26);
  padding: 28px;
}
.term-modal h2 { font: 800 21px/1.2 var(--font-head); color: var(--navy); margin: 0 0 4px; }
.term-modal__intro { font: 400 13.5px/1.5 var(--font-body); color: var(--ink-soft); margin: 0 0 18px; }
.term-modal__swap { display: grid; grid-template-columns: 1fr 32px 1fr; align-items: center; gap: 8px; margin-bottom: 18px; }
.term-modal__card { padding: 14px; border-radius: var(--r-md); border: 1px solid var(--line); }
.term-modal__card--losing { background: var(--pink-tint); border-color: var(--pink-line); }
.term-modal__card--winner { background: var(--teal-tint); border-color: var(--teal); }
.term-modal__card-label { font: 600 11px/1.6 var(--font-body); letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.term-modal__card-name { font: 700 15px/1.3 var(--font-head); margin: 2px 0; }
.term-modal__card-meta { font: 400 12.5px/1.4 var(--font-body); }
.term-modal__arrow { text-align: center; font-size: 20px; color: var(--ink-mute); }
.term-modal select { width: 100%; height: 42px; border-radius: var(--r-md); border: 1px solid var(--line-strong); padding: 0 12px; margin-bottom: 18px; }
.term-modal__info { padding: 14px; border-radius: var(--r-md); background: var(--surface-soft); margin-bottom: 16px; }
.term-modal__info ul { margin: 0; padding-left: 18px; font-size: 13.5px; color: var(--ink-soft); }
.term-modal__info li { margin-bottom: 6px; }
.term-modal__consent { display: flex; align-items: flex-start; gap: 8px; font-size: 13.5px; color: var(--ink-soft); margin-bottom: 18px; }
.term-modal__actions { display: flex; justify-content: flex-end; gap: 10px; }
.delete-option {
  display: block; padding: 14px; border-radius: var(--r-md); border: 1.5px solid var(--line-strong);
  margin-bottom: 12px; cursor: pointer;
}
.delete-option input { margin-right: 8px; }
.delete-option b { font: 600 14px/1 var(--font-body); color: var(--ink); }
.delete-option p { margin: 4px 0 0 22px; font-size: 13px; color: var(--ink-soft); }
.delete-option--danger b { color: var(--pink-ink); }
.delete-option select { margin: 10px 0 0 22px; width: calc(100% - 22px); height: 38px; border-radius: var(--r-sm); border: 1px solid var(--line-strong); }

/* ---------- Reorder mode ---------- */
.reorder-bar {
  background: var(--navy); color: var(--paper); border-radius: var(--r-md);
  padding: 12px 18px; display: flex; align-items: center; gap: 14px; margin-bottom: 16px; flex-wrap: wrap;
}
.reorder-badge {
  background: var(--teal); color: var(--teal-dark); font: 700 11.5px/1.6 var(--font-body);
  letter-spacing: .08em; text-transform: uppercase; padding: 3px 10px; border-radius: var(--r-sm);
}
.reorder-bar-text { font-size: 13.5px; color: var(--ink-invert-soft, #C3CADE); }
.reorder-bar-actions { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.reorder-layout { display: grid; grid-template-columns: 1fr 280px; gap: 20px; align-items: start; }
.reorder-list { border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--paper); overflow: hidden; }
.reorder-row {
  display: flex; align-items: center; gap: 10px; padding: 10px 16px;
  border-bottom: 1px solid var(--row-line); background: var(--paper); cursor: grab;
}
.reorder-row:last-child { border-bottom: none; }
.reorder-row--category { background: var(--row-group); font-weight: 700; }
.reorder-row--child { padding-left: 40px; }
.reorder-row:focus-visible { outline: 2px solid var(--teal); outline-offset: -2px; }
.reorder-handle { color: var(--ink-mute); font-size: 14px; }
.reorder-row-name { font-size: 14px; color: var(--ink); }
.reorder-row-slug { margin-left: 8px; font-size: 11.5px; color: var(--ink-mute); }
.reorder-row.is-dragging {
  opacity: .9; box-shadow: var(--shadow); border: 1px solid var(--teal);
  border-radius: var(--r-sm); transform: rotate(-.6deg);
}
.reorder-drop-indicator {
  height: 0; border-top: 2px solid var(--teal); position: relative; margin: -1px 0;
}
.reorder-drop-indicator::before {
  content: attr(data-label); position: absolute; left: 16px; top: -10px;
  background: var(--paper); border: 1px solid var(--teal); color: var(--teal-deep);
  font: 600 11px/1.6 var(--font-body); padding: 0 8px; border-radius: 999px;
}
.reorder-add-row {
  display: block; width: 100%; padding: 10px 16px; text-align: left;
  border: none; border-top: 1px dashed var(--line-strong); background: var(--surface-soft);
  color: var(--ink-soft); font: 500 13px/1 var(--font-body); cursor: pointer;
}
.reorder-info-panel { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 16px; }
.reorder-info-panel h3 { font: 700 14px/1.3 var(--font-head); margin: 0 0 10px; color: var(--navy); }
.reorder-info-panel ol { margin: 0; padding-left: 18px; font-size: 13px; color: var(--ink-soft); }
.reorder-info-panel li { margin-bottom: 10px; }
.reorder-unsaved-box {
  margin-top: 16px; padding: 12px; border-radius: var(--r-md); background: var(--todo-bg); color: var(--todo-ink); font-size: 13px;
}
.reorder-unsaved-box a { color: inherit; font-weight: 600; }

/* ---------- Suggestion queue cards ---------- */
.suggestion-tabs { display: flex; gap: 4px; margin-bottom: 16px; }
.suggestion-tab {
  padding: 9px 16px; border-radius: var(--r-sm) var(--r-sm) 0 0; font: 500 14px/1 var(--font-body);
  color: var(--ink-soft); text-decoration: none; border-bottom: 2px solid transparent;
}
.suggestion-tab--active { color: var(--navy); font-weight: 600; border-color: var(--teal); }
.suggestion-card {
  display: grid; grid-template-columns: 380px 1fr 232px; gap: 20px;
  background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: 20px; margin-bottom: 16px;
}
.suggestion-card__vocab { font: 600 11px/1.6 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-mute); }
.suggestion-card__quote { font: 700 18px/1.3 var(--font-head); color: var(--navy); margin: 6px 0; }
.suggestion-card__meta { font-size: 13px; color: var(--ink-soft); margin-bottom: 8px; }
.suggestion-card__comment { font-size: 13.5px; color: var(--ink-soft); font-style: italic; }
.suggestion-card__match {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 10px 12px; border-radius: var(--r-md); border: 1px solid var(--line); margin-bottom: 8px;
}
.suggestion-card__match--strong { border: 1.5px solid var(--teal); background: var(--teal-tint); }
.suggestion-card__match-score {
  font: 600 12px/1.6 var(--font-body); padding: 2px 9px; border-radius: 999px; background: var(--chip-bg); color: var(--ink-soft);
}
.suggestion-card__match--strong .suggestion-card__match-score { background: var(--teal); color: var(--teal-dark); }
.suggestion-card__no-match {
  padding: 14px; border-radius: var(--r-md); border: 1px dashed var(--line-strong); color: var(--ink-mute); font-size: 13px;
}
.suggestion-card__actions { display: flex; flex-direction: column; gap: 8px; }
.suggestion-card__reject-form { margin-top: 8px; display: flex; flex-direction: column; gap: 8px; }
.suggestion-card__reject-form[hidden] { display: none; }
.suggestion-card__reject-form textarea { min-height: 50px; border-radius: var(--r-sm); border: 1px solid var(--line-strong); padding: 8px; font: 400 13px/1.4 var(--font-body); }

/* ---------- Change log ---------- */
.changelog-entry { display: flex; gap: 14px; padding: 12px 16px; border-bottom: 1px solid var(--row-line); }
.changelog-entry:last-child { border-bottom: none; }
.changelog-entry__when { width: 150px; flex: 0 0 auto; font-size: 12.5px; color: var(--ink-mute); }
.changelog-entry__body { flex: 1; font-size: 13.5px; color: var(--ink-soft); }
.changelog-entry__action { font-weight: 600; color: var(--navy); }

@media (max-width: 900px) {
  .term-panel { width: 100%; }
  .reorder-layout { grid-template-columns: 1fr; }
  .suggestion-card { grid-template-columns: 1fr; }
  .board-nav-user { display: block; }
}

/* ---------- Nario portalo UX perdavimas — bendri komponentai (01) ---------- */

.status-chip {
  display: inline-flex; align-items: center; gap: 6px;
  font: 600 12px/1 var(--font-body); padding: 7px 13px; border-radius: 999px; white-space: nowrap;
}
.status-chip--ok { background: var(--teal-tint); color: var(--teal-deep); }
.status-chip--todo { background: var(--todo-bg); color: var(--todo-ink); }
.status-chip--neutral { background: var(--chip-bg); color: var(--ink-soft); }
.status-chip--alert { background: var(--pink-tint); color: var(--pink-ink); }

.filter-chip {
  display: inline-flex; align-items: center; gap: 7px;
  background: var(--teal-tint); color: var(--teal-deep);
  font: 500 13px/1 var(--font-body); padding: 7px 10px 7px 13px; border-radius: 999px;
}
.filter-chip button {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; background: none; border: 0; border-radius: 999px;
  color: inherit; cursor: pointer; padding: 0;
}
.filter-chip button:hover { background: rgba(10, 101, 89, .12); }

.field-hint { font-size: 13px; line-height: 1.5; color: var(--ink-soft); margin: 0; }

.hint-toggle {
  width: 20px; height: 20px; border-radius: 999px; border: 1px solid var(--line-strong);
  background: var(--paper); color: var(--ink-soft); font: 700 12px/1 var(--font-body);
  cursor: pointer; flex-shrink: 0; padding: 0;
}
.hint-toggle[aria-expanded="true"] { background: var(--navy); border-color: var(--navy); color: var(--paper); }
.hint-wrap { position: relative; display: inline-flex; }
.hint-pop {
  position: absolute; top: 30px; right: -8px; z-index: 5; display: none;
  width: 330px; max-width: 82vw; background: var(--navy); color: var(--paper);
  border-radius: 12px; padding: 14px 16px; box-shadow: 0 8px 24px rgba(11, 20, 64, .30);
}
.hint-pop[data-open] { display: block; }
.hint-pop b { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.hint-pop span { display: block; font-size: 13px; line-height: 1.6; color: #D8DDEC; }
.hint-static { display: none; }
.no-js .hint-wrap { display: none; }
.no-js .hint-static { display: block; }

.sticky-bar {
  position: sticky; top: 72px; z-index: 20;
  background: var(--paper); border-bottom: 1px solid var(--line);
  box-shadow: 0 4px 14px rgba(11, 20, 64, .06);
}
.sticky-bar__inner {
  max-width: 1160px; margin: 0 auto; padding: 14px 28px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
}
.sticky-bar__progress { display: flex; align-items: center; gap: 14px; }
.sticky-bar__track { width: 200px; height: 8px; border-radius: 999px; background: var(--line); overflow: hidden; display: block; }
.sticky-bar__fill { height: 8px; border-radius: 999px; background: var(--teal); display: block; transition: width .3s ease; }
.sticky-bar__pct { font: 700 14px/1 var(--font-head); color: var(--teal-deep); }
.sticky-bar__status { display: flex; align-items: center; gap: 16px; }

.progress-track { height: 8px; border-radius: 999px; background: var(--line); overflow: hidden; }
.progress-fill { height: 8px; border-radius: 999px; background: var(--teal); transition: width .3s ease; }

.empty-state {
  background: var(--paper); border-radius: var(--r-lg); box-shadow: var(--shadow);
  padding: 28px 32px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center;
}
.empty-state__icon {
  width: 48px; height: 48px; border-radius: 999px; background: var(--mist);
  display: flex; align-items: center; justify-content: center; color: var(--ink-mute);
}
.empty-state__title { font: 700 18px/1.3 var(--font-head); color: var(--ink); margin: 0; }
.empty-state__text { font-size: 14px; line-height: 1.6; color: var(--ink-soft); max-width: 520px; margin: 0; }
.empty-state__actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 4px; }
.empty-state__actions .btn-pill {
  background: var(--paper); border: 1px solid var(--line-strong); border-radius: 999px;
  padding: 9px 15px; font-size: 13px; color: var(--ink); cursor: pointer; min-height: 40px;
}
.empty-state__actions .btn-pill--primary { background: var(--navy); border-color: var(--navy); color: var(--paper); font-weight: 600; }

.logo-box { width: 56px; height: 56px; border-radius: var(--r-md); background: var(--chip-bg); overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.logo-box img { width: 100%; height: 100%; object-fit: cover; display: block; }
.logo-box--sm { width: 44px; height: 44px; }
.logo-box--lg { width: 56px; height: 56px; }
.logo-box--xl { width: 64px; height: 64px; }
.logo-box__initial { font: 700 15px/1 var(--font-head); color: var(--ink-soft); }

@media (max-width: 640px) {
  .sticky-bar { position: fixed; top: auto; bottom: 0; border-bottom: 0; border-top: 1px solid var(--line); box-shadow: 0 -4px 14px rgba(11, 20, 64, .08); }
  .sticky-bar__track { width: 100px; }
}

/* ---------- Nario portalo meniu (05) ---------- */

.member-menu { position: relative; margin-left: 12px; }
.member-menu-btn {
  display: flex; align-items: center; gap: 10px; background: var(--paper);
  border: 1px solid var(--line-strong); border-radius: 999px; padding: 5px 14px 5px 5px;
  cursor: pointer; font-family: var(--font-body); min-height: 44px; position: relative;
}
.member-menu-btn:hover { border-color: var(--ink-mute); }
.member-menu-avatar {
  width: 32px; height: 32px; border-radius: 999px; background: var(--navy); color: var(--paper);
  font: 600 12px/1 var(--font-body); display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.member-menu-who { display: flex; flex-direction: column; align-items: flex-start; }
.member-menu-name { font: 600 13px/1.2 var(--font-body); color: var(--ink); }
.member-menu-org { font: 400 11px/1.2 var(--font-body); color: var(--ink-soft); }
.member-menu-dot {
  position: absolute; top: 2px; left: 26px; width: 12px; height: 12px;
  border-radius: 999px; background: var(--pink); border: 2px solid var(--paper);
}
.member-menu-dropdown {
  position: absolute; top: calc(100% + 10px); right: 0; z-index: 30;
  width: 320px; background: var(--paper); border: 1px solid var(--line);
  border-radius: var(--r-lg); box-shadow: var(--shadow); padding: 8px 0;
  display: flex; flex-direction: column;
}
.member-menu-dropdown[hidden] { display: none; }
.member-menu-head { padding: 12px 18px 14px; display: flex; flex-direction: column; gap: 2px; border-bottom: 1px solid var(--row-line); }
.member-menu-head-name { font: 600 14px/1.3 var(--font-body); color: var(--ink); }
.member-menu-head-email { font: 400 12px/1.3 var(--font-body); color: var(--ink-soft); }
.member-menu-head-org {
  display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; align-self: flex-start;
  background: var(--chip-bg); color: var(--ink-soft); font: 600 11px/1 var(--font-body); padding: 4px 9px; border-radius: 999px;
}
.member-menu-label { font: 600 11px/1 var(--font-body); letter-spacing: .08em; color: var(--ink-mute); padding: 14px 18px 6px; }
.member-menu-label--divider { border-top: 1px solid var(--row-line); margin-top: 8px; }
.member-menu-item {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 11px 18px; text-decoration: none; color: var(--ink); min-height: 44px; box-sizing: border-box;
}
.member-menu-item:hover, .member-menu-item:focus-visible { background: var(--mist); }
.member-menu-item-main { display: flex; align-items: center; gap: 12px; }
.member-menu-item svg { color: var(--ink-soft); flex-shrink: 0; }
.member-menu-item span.member-menu-item-label { font-size: 14px; }
.member-menu-item-sub { font-size: 12px; color: var(--ink-mute); }
.member-menu-item--active { background: var(--teal-tint); }
.member-menu-item--active svg { color: var(--teal-deep); }
.member-menu-item--active .member-menu-item-label { font-weight: 600; color: var(--teal-deep); }
.member-menu-item-badge {
  background: var(--pink); color: var(--paper); font: 700 11px/1 var(--font-body); padding: 3px 8px; border-radius: 999px;
}
.member-menu-item-badge--pct {
  background: var(--teal-deep); color: var(--paper); font: 600 11px/1 var(--font-body); padding: 3px 8px; border-radius: 999px;
}
.member-menu-logout { color: var(--pink-ink); border-top: 1px solid var(--row-line); margin-top: 8px; }
.member-menu-logout svg { color: var(--pink-ink); }
.member-menu-item--disabled { opacity: .45; cursor: default; }
.member-menu-item--disabled:hover { background: none; }
.member-menu-note { padding: 0 18px 8px; font-size: 12px; color: var(--ink-mute); }

/* Portal name next to the logo (portal and board headers). */
.brand { gap: 14px; text-decoration: none; }
.portal-name { display: flex; flex-direction: column; gap: 3px; padding-left: 14px; border-left: 1px solid var(--line); }
.portal-name__top { font: 500 11px/1.2 var(--font-body); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-mute); }
.portal-name__main { font: 700 16px/1.1 var(--font-head); color: var(--ink); }
@media (max-width: 1080px) {
  .portal-name__top { display: none; }
}
@media (max-width: 640px) {
  .brand { gap: 10px; }
  .brand img { height: 34px; }
  .portal-name { padding-left: 10px; }
  .portal-name__main { font-size: 14px; }
}

/* Top-bar dropdowns ("Organizacija", "Bendruomenė"): look like nav links,
   open the same .member-menu-dropdown panel, anchored to the left. */
.nav-group { margin-left: 0; }
.nav-group-btn {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px;
  padding: 10px 12px; border: 0; border-radius: var(--r-sm); background: none; cursor: pointer;
  font: 500 15px/1 var(--font-body); color: var(--ink); position: relative;
}
.nav-group-btn:hover, .nav-group-btn[aria-expanded="true"] { background: var(--mist); }
.nav-group-btn svg { color: var(--ink-soft); }
.nav-group-btn.is-active::after {
  content: ''; position: absolute; left: 12px; right: 12px; bottom: 2px;
  height: 2px; border-radius: 2px; background: var(--teal);
}
.nav-group-dropdown { left: 0; right: auto; width: 290px; }
/* Board: "Paraiškos N" while applications wait — a direct link, not a dropdown. */
.site-header .nav a.nav-urgent { color: var(--pink-ink); font-weight: 600; }
.site-header .nav a.nav-urgent:hover { background: var(--pink-tint); }
/* Narrow desktops: the avatar alone, so three dropdowns + a button still fit. */
@media (max-width: 1150px) and (min-width: 901px) {
  .member-menu-who { display: none; }
}
.nav-group-label { display: none; }
.member-menu--account { margin-left: 12px; }

/* Mobile: the burger panel *is* the member menu. The avatar button is
   dropped and the dropdown renders inline, member links first and the
   public-site links after them. (A position:fixed bottom sheet can't work
   here — the header's backdrop-filter makes it the containing block.) */
@media (max-width: 900px) {
  .site-header .nav--member { max-height: calc(100vh - 70px); overflow-y: auto; padding-top: 4px; }
  .nav--member .member-menu { margin: 0; }
  .nav--member .member-menu--account { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
  .nav--member .member-menu-btn,
  .nav--member .nav-group-btn { display: none; }
  .nav--member .nav-group-label { display: block; }
  .nav--member .member-menu-note { padding: 0 12px 8px; }
  .nav--member .member-menu-dropdown,
  .nav--member .member-menu-dropdown[hidden] {
    display: flex; position: static; width: auto; border: 0; border-radius: 0; box-shadow: none; padding: 0;
  }
  .nav--member .member-menu-head { padding: 8px 12px 14px; }
  .nav--member .member-menu-label { padding: 14px 12px 6px; }
  .site-header .nav--member .member-menu-item { padding: 12px; border-radius: var(--r-sm); font-size: 15px; }
  .nav--member .member-menu-item span.member-menu-item-label { font-size: 15px; }
  .nav--member .member-menu-logout { border-radius: 0; }
}

/* ---------- Pranešimai: bell, its dropdown, notification rows ---------- */

.notif-menu { margin-left: 4px; }
.notif-bell {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border: 0; border-radius: 999px; background: none; cursor: pointer;
  color: var(--ink-soft); text-decoration: none;
}
.notif-bell:hover, .notif-bell[aria-expanded="true"], .notif-bell.is-active { background: var(--mist); color: var(--ink); }
.notif-bell__count {
  position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box;
  border-radius: 999px; background: var(--pink); color: var(--paper); border: 2px solid var(--paper);
  font: 700 10px/14px var(--font-body); text-align: center;
}
.notif-bell--mobile { display: none; }
.notif-dropdown { width: 380px; padding-bottom: 0; }
.notif-list--menu { max-height: 420px; overflow-y: auto; border-top: 1px solid var(--row-line); }
.notif-dropdown__all { border-top: 1px solid var(--row-line); justify-content: center; }
.notif-dropdown__all .member-menu-item-label { font-weight: 600; color: var(--teal-ink); }

.notif-list { display: flex; flex-direction: column; }
.notif-row {
  display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; text-decoration: none;
  border-top: 1px solid var(--row-line); color: var(--ink);
}
.notif-list > .notif-row:first-child { border-top: 0; }
.notif-row--unread { background: var(--surface-soft); }
.notif-row:hover, .notif-row:focus-visible { background: var(--mist); }
.notif-row__icon { width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.notif-row__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.notif-row__title { font: 400 14px/1.4 var(--font-body); color: var(--ink-soft); }
.notif-row--unread .notif-row__title { font-weight: 600; color: var(--ink); }
.notif-row__body {
  font-size: 13px; line-height: 1.4; color: var(--ink-soft); overflow: hidden;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.notif-row__time { font-size: 12px; color: var(--ink-mute); }
.notif-row .unread-dot { margin-top: 7px; }

/* Mobile: the burger panel lists menus inline, so the bell becomes a plain
   link to the Pranešimai page, next to the burger. */
@media (max-width: 900px) {
  .notif-menu { display: none; }
  .notif-bell--mobile { display: inline-flex; margin-left: auto; }
  .notif-bell--mobile + .nav-toggle { margin-left: -22px; }
}

/* ---------- Profilio forma (02-profilio-forma.md) ---------- */

.missing-card { background: var(--paper); border-radius: var(--r-lg); box-shadow: var(--shadow); padding: 24px 28px; display: flex; flex-direction: column; gap: 14px; margin-bottom: 20px; }
.missing-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.missing-pill { display: inline-flex; align-items: center; gap: 6px; background: var(--todo-bg); color: var(--todo-ink); font-size: 13px; font-weight: 500; padding: 8px 14px; border-radius: 999px; text-decoration: none; }
.missing-pill:hover { background: #FCE9C4; }

.section-card {
  background: var(--paper); border-radius: var(--r-lg); box-shadow: var(--shadow);
  margin-bottom: 16px; scroll-margin-top: 150px;
}
.section-card > summary {
  list-style: none; cursor: pointer; padding: 24px 32px;
  display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;
}
.section-card > summary::-webkit-details-marker { display: none; }
.section-card__head { display: flex; align-items: flex-start; gap: 12px; }
.section-card__chevron { margin-top: 5px; flex-shrink: 0; color: var(--ink); transition: transform .15s; }
.section-card:not([open]) .section-card__chevron { transform: rotate(-90deg); }
.section-card__title { margin: 0; font: 700 21px/1.2 var(--font-head); color: var(--ink); }
.section-card__desc { margin: 4px 0 0; font-size: 14px; color: var(--ink-soft); }
.section-card__body { padding: 0 32px 30px; display: flex; flex-direction: column; gap: 20px; }

.star-limit-bar { display: flex; align-items: center; gap: 8px; background: var(--todo-bg); border-radius: 10px; padding: 12px 16px; font-size: 13px; color: var(--todo-ink); }
.star-limit-bar strong { font-weight: 600; }
.star-info-bar { display: flex; align-items: flex-start; gap: 10px; background: var(--teal-tint); border-radius: 10px; padding: 12px 16px; font-size: 13px; line-height: 1.5; color: var(--teal-deep); }
.star-info-bar svg { flex-shrink: 0; margin-top: 1px; }

.service-group-count { font-size: 12px; font-weight: 600; color: var(--teal-deep); background: var(--teal-tint); padding: 4px 10px; border-radius: 999px; }
.service-group-count--empty { font-size: 12px; color: var(--ink-mute); }

.char-counter { font-size: 12px; color: var(--ink-mute); align-self: flex-end; }
.char-counter--over { color: var(--pink-ink); }

.member-only-badge {
  display: inline-flex; align-items: center; gap: 5px; background: var(--chip-bg); color: var(--ink-soft);
  font: 600 11px/1 var(--font-body); padding: 4px 9px; border-radius: 999px;
}

@media (max-width: 640px) {
  .section-card > summary, .section-card__body { padding-left: 20px; padding-right: 20px; }
}

/* ---------- Valdymo puslapis — dashboard.php (06) ---------- */

.priority-card {
  background: var(--paper); border: 1px solid var(--amber); border-radius: var(--r-lg);
  box-shadow: var(--shadow); padding: 24px 28px;
  display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap;
}
.priority-card--ok { border-color: var(--teal); }
.priority-card__main { display: flex; align-items: flex-start; gap: 16px; }
.priority-card__icon {
  width: 44px; height: 44px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.priority-card__body { display: flex; flex-direction: column; gap: 8px; }
.priority-card__title { font: 700 19px/1.3 var(--font-head); color: var(--ink); margin: 0; }
.priority-card__text { font-size: 14px; line-height: 1.6; color: var(--ink-soft); max-width: 620px; margin: 0; }
.priority-card__progress { display: flex; align-items: center; gap: 12px; margin-top: 2px; }
.priority-card__progress .progress-track { width: 220px; }
.priority-card__meta { font-size: 13px; color: var(--ink-soft); }

.stat-tile-row, .quick-tile-row { display: flex; gap: 16px; flex-wrap: wrap; }
.stat-tile {
  flex: 1 1 0; min-width: 160px; background: var(--paper); border-radius: 14px; box-shadow: var(--shadow);
  padding: 18px 20px; display: flex; flex-direction: column; gap: 6px;
}
.stat-tile__label { font-size: 13px; color: var(--ink-soft); }
.stat-tile__value { font: 700 26px/1.1 var(--font-head); color: var(--ink); }
.stat-tile__sub { font-size: 13px; color: var(--ink-mute); text-decoration: none; }
.stat-tile__sub:hover { text-decoration: underline; }
.stat-tile--link { text-decoration: none; color: inherit; transition: box-shadow .15s ease; }
.stat-tile--link:hover { box-shadow: 0 0 0 2px var(--line-strong), var(--shadow); }
.stat-tile--active { box-shadow: 0 0 0 2px var(--teal), var(--shadow); }

.quick-tile {
  flex: 1 1 0; min-width: 220px; display: flex; align-items: center; gap: 14px;
  background: var(--paper); border-radius: 14px; box-shadow: var(--shadow); padding: 18px 20px; text-decoration: none;
}
.quick-tile__icon {
  width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.quick-tile__title { font: 600 15px/1.3 var(--font-body); color: var(--ink); }
.quick-tile__desc { font-size: 13px; color: var(--ink-soft); }

.member-row {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  border: 1px solid var(--line); border-radius: 12px; padding: 15px 18px;
}
.member-row__main { display: flex; align-items: center; gap: 14px; min-width: 0; }
.member-row__avatar {
  width: 42px; height: 42px; border-radius: 999px; background: var(--navy); color: var(--paper);
  font: 600 13px/1 var(--font-body); display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.member-row__avatar--muted { background: var(--chip-bg); color: var(--ink-soft); }
.member-row__name-line { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.member-row__name { font: 600 15px/1.3 var(--font-body); color: var(--ink); }
.member-row__sub { font-size: 13px; color: var(--ink-soft); }

.member-row-menu { position: relative; flex-shrink: 0; }
.member-row-menu__btn {
  width: 40px; height: 40px; border-radius: 10px; border: 1px solid var(--line);
  background: var(--paper); cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--ink-soft);
}
.member-row-menu__btn[aria-expanded="true"] { background: var(--navy); border-color: var(--navy); color: var(--paper); }
.member-row-menu__dropdown {
  position: absolute; top: calc(100% + 8px); right: 0; z-index: 6; width: 260px;
  background: var(--paper); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow);
  padding: 6px 0; display: flex; flex-direction: column;
}
.member-row-menu__dropdown[hidden] { display: none; }
.member-row-menu__item {
  display: flex; align-items: center; gap: 11px; padding: 11px 16px; font-size: 14px; color: var(--ink);
  text-decoration: none; background: none; border: 0; width: 100%; text-align: left; cursor: pointer;
  min-height: 44px; box-sizing: border-box; font-family: var(--font-body);
}
.member-row-menu__item:hover, .member-row-menu__item:focus-visible { background: var(--mist); }
.member-row-menu__item--danger { color: var(--pink-ink); }

.info-card {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  background: var(--paper); border-radius: var(--r-lg); box-shadow: var(--shadow); padding: 18px 28px;
}
.info-card__main { display: flex; align-items: center; gap: 13px; }
.info-card__icon {
  width: 40px; height: 40px; border-radius: 10px; background: var(--amber-tint); color: var(--amber-ink);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.info-card__title { font: 600 15px/1.3 var(--font-body); color: var(--ink); }
.info-card__text { font-size: 13px; color: var(--ink-soft); }

@media (max-width: 900px) {
  .stat-tile-row { flex-wrap: wrap; }
  .stat-tile { min-width: calc(50% - 8px); }
}

/* ---------- Žinutės ir užklausos (04) ---------- */

.msg-tabs { display: flex; gap: 6px; padding: 10px 10px 12px; border-bottom: 1px solid var(--row-line); }
.msg-tab {
  background: var(--paper); color: var(--ink-soft); border: 1px solid var(--line); border-radius: 999px;
  padding: 8px 14px; font: 400 13px/1 var(--font-body); cursor: pointer; text-decoration: none;
}
.msg-tab--active { background: var(--navy); color: var(--paper); border-color: var(--navy); font-weight: 600; }

.msg-list { display: flex; flex-direction: column; }
.msg-item {
  display: flex; flex-direction: column; gap: 6px; padding: 14px 12px; text-decoration: none;
  border-top: 1px solid var(--row-line);
}
.msg-list > .msg-item:first-child { border-top: 0; }
.msg-item--active { background: var(--teal-tint); border-radius: 12px; border-top-color: transparent; }
.msg-item--unread .msg-item__kind { color: var(--pink-ink); }
.msg-item__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.msg-item__kind { font: 600 11px/1 var(--font-body); letter-spacing: .06em; color: var(--ink-mute); display: inline-flex; align-items: center; gap: 7px; }
.msg-item__time { font-size: 12px; color: var(--ink-soft); white-space: nowrap; }
.msg-item__subject { font: 600 14px/1.4 var(--font-body); color: var(--ink); }
.msg-item__subject--read { color: var(--ink-soft); font-weight: 400; }
.msg-item__sub { font-size: 13px; color: var(--ink-soft); }
.msg-item__badges { display: flex; gap: 6px; flex-wrap: wrap; }
.msg-item__badge { font: 600 11px/1 var(--font-body); padding: 3px 8px; border-radius: 999px; background: var(--paper); color: var(--ink-soft); }
.msg-item__badge--ok { background: var(--teal-tint); border: 1px solid var(--teal-deep); color: var(--teal-deep); }
.msg-item__badge--alert { color: var(--pink-ink); }
.unread-dot { width: 8px; height: 8px; border-radius: 999px; background: var(--pink); display: inline-block; flex-shrink: 0; }

.recipient-row {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px;
}
.recipient-row--answered { border-color: var(--teal); }
.recipient-row__main { display: flex; align-items: center; gap: 12px; min-width: 0; }
.recipient-row__name { font: 600 15px/1.3 var(--font-body); color: var(--ink); }
.recipient-row__name--muted { color: var(--ink-soft); }
.recipient-row__sub { font-size: 13px; color: var(--ink-mute); }
.recipient-row__actions { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }

.request-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.visibility-note {
  display: flex; align-items: center; gap: 9px; background: var(--chip-bg); border-radius: 10px;
  padding: 11px 15px; font-size: 13px; color: var(--ink-soft);
}
.visibility-note svg { flex-shrink: 0; }

.msg-thread { display: flex; flex-direction: column; gap: 14px; }
.msg-bubble { max-width: 80%; background: var(--surface-soft); border-radius: 14px; padding: 12px 16px; }
.msg-bubble--self { align-self: flex-end; background: var(--teal-tint); }
.msg-bubble__meta { font-size: 12px; color: var(--ink-mute); margin-bottom: 4px; display: flex; gap: 6px; }
.msg-bubble__body { font-size: 14px; line-height: 1.6; color: var(--ink); white-space: pre-wrap; }

/* Kelių narių žymėjimas kataloge (4.1) — JS-only: without it, members are
   still reachable one at a time via the "Siųsti užklausą" button on their
   own profile page (organization.php). */
.no-js .js-only { display: none !important; }
.no-js-only { display: none; }
.no-js .no-js-only { display: inline; }
.directory-row--selected { border-color: var(--teal); border-width: 2px; }
.directory-row__checkbox { width: 20px; height: 20px; accent-color: var(--teal); cursor: pointer; flex-shrink: 0; margin-top: 18px; }
.directory-row__checkbox[hidden] { display: none; }

.select-bar {
  position: sticky; bottom: 0; z-index: 20; background: var(--paper); border-top: 1px solid var(--line);
  box-shadow: 0 -6px 20px rgba(11, 20, 64, .10); margin: 0 -1px -1px;
}
.select-bar__inner {
  padding: 16px 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
}
.select-bar__summary { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.select-bar__count { font: 700 15px/1 var(--font-head); color: var(--ink); }
.select-bar__hint { font-size: 12px; color: var(--ink-soft); }
.select-bar__chips { display: flex; gap: 6px; flex-wrap: wrap; }
.select-bar__actions { display: flex; align-items: center; gap: 12px; }
.select-bar__actions .btn-primary.is-disabled { opacity: .5; pointer-events: none; }

@media (max-width: 900px) {
  .msg-list { border-bottom: 1px solid var(--row-line); }
}

/* ---------- Narių katalogas — išdėstymas ir mobilus vaizdas (03) ---------- */

.dir-intro { text-align: left; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.dir-select-toggle {
  border: 1px solid var(--teal); background: var(--teal-tint); color: var(--teal-deep);
  border-radius: 10px; padding: 11px 16px; margin-bottom: 24px;
}

.dir-scenarios { display: flex; gap: 14px; flex-wrap: wrap; margin: 16px 0; }
.card.dir-scenario {
  flex: 1 1 0; min-width: 220px; display: flex; align-items: center; gap: 14px;
  text-decoration: none; padding: 16px 18px;
}
.dir-scenario__icon {
  width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.dir-scenario__text { display: flex; flex-direction: column; gap: 2px; }
.dir-scenario__title { font-size: 15px; font-weight: 600; color: var(--ink); }
.dir-scenario__sub { font-size: 13px; color: var(--ink-soft); }

.card.dir-search-card { padding: 18px 22px; margin-bottom: 20px; }

.dir-layout { display: flex; gap: 20px; align-items: flex-start; }
.card.dir-sidebar { width: 280px; flex-shrink: 0; padding: 20px; position: sticky; top: 88px; }
.dir-results { flex-grow: 1; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.dir-results__head { display: flex; align-items: center; justify-content: space-between; padding: 0 4px; flex-wrap: wrap; gap: 10px; }

/* On desktop the summary is only the sidebar heading — not a toggle. */
.dir-filters__head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding-bottom: 12px; border-bottom: 1px solid var(--row-line); margin-bottom: 4px;
  list-style: none; pointer-events: none;
}
.dir-filters__head::-webkit-details-marker { display: none; }
.dir-filters__title {
  display: inline-flex; align-items: center; gap: 8px;
  font: 700 16px/1.2 var(--font-head); color: var(--ink);
}
.dir-filters__icon, .dir-filters__chev { display: none; }
.dir-filters__hint { font-size: 12px; color: var(--ink-mute); }

.card.dir-own {
  border-color: var(--teal); padding: 18px 22px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
}
.dir-own__edit { border: 1px solid var(--line-strong); border-radius: 10px; padding: 11px 18px; }

.dir-row__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.dir-row__main { min-width: 0; }
.dir-row__actions { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; flex-shrink: 0; }

.card.dir-unfilled {
  background: var(--surface-soft); border: 1px dashed var(--line-strong); padding: 16px 20px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.dir-unfilled__note { font-size: 13px; color: var(--ink-mute); white-space: nowrap; }

/* .main is a flex row, so without min-width:0 the .wrap column grows to
   its widest content (the scenario row, long badges) and the whole page
   scrolls sideways on phones. */
.dir-main > .wrap { min-width: 0; }

@media (max-width: 900px) {
  .dir-intro { align-items: center; margin-bottom: 16px; }
  .dir-select-toggle { margin-bottom: 0; }

  /* Scenarios: one swipeable row of compact chips instead of three tall cards. */
  .dir-scenarios {
    flex-wrap: nowrap; overflow-x: auto; gap: 10px; margin: 0 -16px 14px; padding: 2px 16px 8px;
    scroll-snap-type: x proximity; scrollbar-width: none;
  }
  .dir-scenarios::-webkit-scrollbar { display: none; }
  .card.dir-scenario { flex: 0 0 auto; min-width: 0; padding: 10px 14px; gap: 10px; scroll-snap-align: start; box-shadow: none; }
  .dir-scenario__icon { width: 30px; height: 30px; border-radius: 8px; }
  .dir-scenario__icon svg { width: 16px; height: 16px; }
  .dir-scenario__title { font-size: 14px; white-space: nowrap; }
  .dir-scenario__sub { display: none; }

  .card.dir-search-card { padding: 14px; margin-bottom: 12px; }
  .directory-search { margin-bottom: 0; }
  .dir-search-card .directory-search + div { margin-top: 12px; }
  .directory-search input { min-width: 0; }

  /* Filters: the sidebar becomes a "Filtrai" dropdown above the results. */
  .dir-layout { flex-direction: column; align-items: stretch; gap: 12px; }
  .card.dir-sidebar { width: auto; position: static; padding: 0; }
  .dir-filters__head {
    pointer-events: auto; cursor: pointer; padding: 14px 16px; margin: 0; border-bottom: 0; min-height: 52px;
  }
  .dir-filters[open] > .dir-filters__head { border-bottom: 1px solid var(--row-line); }
  .dir-filters__icon { display: block; color: var(--ink-soft); }
  .dir-filters__hint { margin-left: auto; }
  .dir-filters__chev { display: block; color: var(--ink-soft); flex-shrink: 0; transition: transform .15s; }
  .dir-filters[open] .dir-filters__chev { transform: rotate(180deg); }
  .dir-filters__body { padding: 0 16px 12px; max-height: 65vh; overflow-y: auto; }

  .dir-results { gap: 12px; }
  .dir-results__head select { max-width: 100%; }

  .card.dir-own { flex-direction: column; align-items: stretch; gap: 14px; padding: 16px; }
  .dir-own__edit { text-align: center; }

  .card.directory-row { padding: 16px; gap: 12px; margin-bottom: 0; }
  .directory-row .logo-thumb { width: 44px; height: 44px; }
  .directory-row__checkbox { margin-top: 12px; }
  .dir-row__head { flex-direction: column; gap: 12px; }
  .dir-row__actions {
    flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap;
    gap: 10px 14px; width: 100%;
  }
  .dir-row__actions .btn-back { text-align: center; }

  .card.dir-unfilled { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px 16px; }
  .dir-unfilled__note { white-space: normal; }

  .select-bar__inner { padding: 12px 16px; gap: 10px; }
  .select-bar__actions { width: 100%; justify-content: space-between; }
}

@media (max-width: 640px) {
  .dir-main { padding-left: 16px; padding-right: 16px; }
}

/* ---------- Asmeniniai profiliai ir „Žmonės" (1 etapas) ---------- */

.person-avatar {
  border-radius: 999px; object-fit: cover; flex-shrink: 0; display: block; background: var(--chip-bg);
}
.person-avatar--sm { width: 40px; height: 40px; }
.person-avatar--md { width: 56px; height: 56px; }
.person-avatar--lg { width: 128px; height: 128px; }
.person-avatar--initials {
  display: flex; align-items: center; justify-content: center;
  background: var(--navy); color: var(--paper); font-family: var(--font-head); font-weight: 700;
}
.person-avatar--sm.person-avatar--initials { font-size: 14px; }
.person-avatar--md.person-avatar--initials { font-size: 18px; }
.person-avatar--lg.person-avatar--initials { font-size: 38px; }
.person-avatar--xs { width: 32px; height: 32px; }
.person-avatar--xs.person-avatar--initials { font-size: 12px; }

/* Board „Žmonės": access + profile tiles, name cell, completeness column. */
.people-tiles { margin-bottom: 16px; }
.people-tiles__label { display: block; font: 700 11.5px/1 var(--font-body); text-transform: uppercase; letter-spacing: 0.03em; color: var(--ink-soft); margin: 0 0 8px; }
.people-tiles .stat-tile-row { margin-bottom: 14px; }
.people-tiles .stat-tile { padding: 14px 16px; min-width: 130px; }
.people-tiles .stat-tile__value { font-size: 22px; }
.people-name { display: flex; align-items: center; gap: 10px; min-width: 180px; color: var(--ink); text-decoration: none; }
.people-name:hover > span { text-decoration: underline; }
.people-name__sub { display: block; font-size: 12px; color: var(--ink-mute); }
.people-completeness { min-width: 150px; max-width: 220px; }
.people-completeness__head { display: flex; align-items: center; gap: 8px; }
.people-completeness__head .completeness-bar { flex: 1; height: 6px; }
.people-completeness__missing { display: block; font-size: 12px; color: var(--ink-mute); margin-top: 4px; line-height: 1.35; }
.people-muted { color: var(--ink-mute); }
.people-stale { color: var(--pink-ink); }
.board-facts { display: grid; grid-template-columns: max-content 1fr; gap: 8px 20px; margin: 0; font-size: 14px; }
.board-facts dt { color: var(--ink-soft); }
.board-facts dd { margin: 0; color: var(--ink); min-width: 0; overflow-wrap: anywhere; }
.data-table th a { color: inherit; text-decoration: none; }
.data-table th a:hover { color: var(--ink); }

.people-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.card.person-card {
  display: flex; flex-direction: column; gap: 12px; padding: 18px 20px; text-decoration: none; color: var(--ink);
  transition: border-color .15s;
}
.card.person-card:hover { border-color: var(--teal); }
.person-card__top { display: flex; gap: 14px; align-items: center; min-width: 0; }
.person-card__who { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.person-card__name { font: 700 16px/1.3 var(--font-head); color: var(--ink); }
.person-card__sub { font-size: 13px; color: var(--ink); overflow-wrap: anywhere; }
.person-card__company { font-size: 12.5px; color: var(--ink-soft); }
.person-card__help { font-size: 13px; line-height: 1.5; color: var(--ink-soft); }
.person-card__help strong { color: var(--teal-deep); font-weight: 600; }
.person-card__empty { font-size: 12.5px; color: var(--ink-mute); }

.card.person-head { display: flex; gap: 24px; align-items: flex-start; padding: 28px; }
.person-head__text { min-width: 0; flex: 1; }
.person-head__name { font: 700 24px/1.2 var(--font-head); margin: 0; color: var(--ink); }
.person-head__headline { font-size: 15px; color: var(--ink); margin: 6px 0 0; }
.person-head__contact { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 16px 0 0; }

.card.person-asks { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 20px; }
.person-asks__item { border-radius: var(--r-md); padding: 14px 16px; }
.person-asks__item h2 { font: 700 14px/1.3 var(--font-head); margin: 0 0 6px; }
.person-asks__item p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--ink); }
.person-asks__item--help { background: var(--teal-tint); }
.person-asks__item--help h2 { color: var(--teal-deep); }
.person-asks__item--looking { background: var(--pink-tint); }
.person-asks__item--looking h2 { color: var(--pink-ink); }
.person-asks__item:only-child { grid-column: 1 / -1; }

.team-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.team-person {
  display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: var(--r-md); text-decoration: none;
}
.team-person:hover { background: var(--mist); }
.team-person__text { display: flex; flex-direction: column; min-width: 0; }
.team-person__name { font-size: 14px; font-weight: 600; color: var(--ink); }
.team-person__sub { font-size: 12.5px; color: var(--ink-soft); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 640px) {
  .people-grid { grid-template-columns: 1fr; }
  .card.person-head { flex-direction: column; align-items: center; text-align: center; padding: 20px 16px; }
  .person-head__contact { justify-content: center; }
  .person-head .badge-row { justify-content: center; }
  .card.person-asks { grid-template-columns: 1fr; padding: 14px; }
}

/* ---------- Pokalbiai (asmeninės žinutės) ---------- */

.card.conversation-head { display: flex; align-items: center; gap: 14px; padding: 16px 20px; }
.conversation-head__who { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
a.person-card__name { text-decoration: none; }
a.person-card__name:hover { text-decoration: underline; }
.msg-item.conversation-item { flex-direction: row; align-items: center; gap: 12px; }
.conversation-item__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; }
.conversation-item__preview { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }

/* ---------- Valdybos apžvalga (board/insights.php) ---------- */

.insight-intro { text-align: left; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.insight-periods { border-bottom: 0; padding: 0; }
.insight-section { margin-bottom: 28px; }
.insight-section > h2 { font: 700 17px/1.3 var(--font-head); color: var(--ink); margin: 0 0 12px; }
.kpi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; margin-bottom: 12px; }
.kpi {
  background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow);
  padding: 16px 18px; display: flex; flex-direction: column; gap: 6px;
}
.kpi__label { font-size: 13px; color: var(--ink-soft); }
.kpi__value { font: 700 28px/1.1 var(--font-head); color: var(--ink); }
.kpi__sub { font-size: 12.5px; color: var(--ink-mute); text-decoration: none; }
a.kpi__sub { color: var(--teal-ink); }
.kpi__delta { font: 600 12.5px/1.2 var(--font-body); color: var(--ink-mute); }
.kpi__delta span { font-weight: 400; }
.kpi__delta--up { color: var(--teal-deep); }
.kpi__delta--down { color: var(--pink-ink); }

.card.insight-chart { padding: 18px 20px; }
.insight-chart h3 { font: 600 14px/1.3 var(--font-body); color: var(--ink); margin: 0 0 8px; }
.bar-chart { width: 100%; height: auto; display: block; }
.bar-chart__bar { fill: var(--line-strong); }
.bar-chart__bar--current { fill: var(--teal); }
.bar-chart__value { font: 600 11px var(--font-body); fill: var(--ink-soft); text-anchor: middle; }
.bar-chart__label { font: 400 10.5px var(--font-body); fill: var(--ink-mute); text-anchor: middle; }

.funnel-row { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-top: 1px solid var(--row-line); }
.funnel-row:first-child { border-top: 0; }
.funnel-row__label { width: 200px; flex-shrink: 0; font-size: 14px; color: var(--ink); }
.funnel-row__track { flex: 1; height: 10px; border-radius: 999px; background: var(--mist); overflow: hidden; }
.funnel-row__fill { display: block; height: 100%; border-radius: 999px; background: var(--teal); }
.funnel-row__count { font: 600 14px/1 var(--font-body); color: var(--ink); white-space: nowrap; }
.funnel-row__count span { font-weight: 400; color: var(--ink-mute); font-size: 12.5px; }

@media (max-width: 640px) {
  .kpi-grid { grid-template-columns: 1fr 1fr; }
  .kpi__value { font-size: 22px; }
  .funnel-row { flex-wrap: wrap; }
  .funnel-row__label { width: 100%; }
}

/* ---------- Valdybos pradžia, įmonės ir žmonės ---------- */

.attention-list { padding: 6px 20px; }
.attention-row { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-top: 1px solid var(--row-line); }
.attention-row:first-child { border-top: 0; }
.attention-row__icon { width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.attention-row__icon--amber { background: var(--amber-tint); color: var(--amber-ink); }
.attention-row__icon--teal { background: var(--teal-tint); color: var(--teal-deep); }
.attention-row__icon--pink { background: var(--pink-tint); color: var(--pink-ink); }
.attention-row__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.attention-row__title { font-weight: 600; font-size: 15px; color: var(--ink); text-decoration: none; }
.attention-row__title:hover { text-decoration: underline; }
.attention-row__sub { font-size: 13px; color: var(--ink-soft); }
.attention-row__actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }

.activity-feed { list-style: none; margin: 0; padding: 0; }
.activity-feed li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid var(--row-line); font-size: 14px; }
.activity-feed li:first-child { border-top: 0; }
.activity-feed__text a { color: var(--ink); text-decoration: none; }
.activity-feed__text a:hover { text-decoration: underline; }
.activity-feed__time { color: var(--ink-mute); font-size: 12.5px; white-space: nowrap; }

.card.board-filters { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; padding: 14px 18px; margin-bottom: 16px; }
.board-filters input[type="search"] {
  flex: 1 1 240px; min-width: 0; padding: 10px 12px; font-size: 14px; font-family: inherit;
  border: 1px solid var(--line-strong); border-radius: var(--r-md);
}
.board-filters select { padding: 9px 10px; border: 1px solid var(--line-strong); border-radius: var(--r-md); font-family: inherit; }

.card.board-org-head { display: flex; gap: 20px; align-items: flex-start; padding: 22px; }
.card.board-texts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 20px 22px; }
.board-texts h2 { font: 700 15px/1.3 var(--font-head); margin: 0 0 8px; color: var(--ink); }

@media (max-width: 640px) {
  .attention-row { flex-wrap: wrap; }
  .attention-row__actions { width: 100%; justify-content: flex-end; }
  .card.board-org-head { flex-direction: column; }
  .card.board-texts { grid-template-columns: 1fr; }
}

/* ---------- Renginiai (vieši, portalo ir valdybos) ---------- */

.card.event-page__head { padding: 26px 28px; }
.event-page__title { font: 700 clamp(22px, 3vw, 30px)/1.2 var(--font-head); color: var(--ink); margin: 12px 0 0; }
.event-page__summary { font-size: 15px; color: var(--ink-soft); margin: 8px 0 0; }
.event-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin: 20px 0 0; }
.event-facts dt { font-size: 12.5px; color: var(--ink-mute); }
.event-facts dd { margin: 4px 0 0; font-weight: 600; color: var(--ink); }
.event-agenda { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; color: var(--ink); font-size: 14px; }
.event-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 20px; }
.event-join { margin-top: 18px; background: var(--teal-tint); border-radius: var(--r-md); padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--teal-deep); }
.event-join a { font-weight: 600; word-break: break-all; }
.event-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-top: 14px; }
.event-photos img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; display: block; }
.event-photos figure { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.event-photos figcaption { font-size: 12.5px; color: var(--ink-soft); line-height: 1.35; }

/* Event materials (members only) */
.event-materials { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.event-materials li { display: flex; gap: 12px; align-items: center; }
.event-materials__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.event-materials__text a { font-weight: 600; overflow-wrap: anywhere; }
.event-materials__text .step-desc, .sponsor-admin-row__text .step-desc, .file-admin-row__text .step-desc { margin: 0; font-size: 13px; }
.file-type {
  flex: none; min-width: 52px; padding: 6px 8px; border-radius: var(--r-sm);
  background: var(--chip-bg); color: var(--ink-soft); font: 700 11px/1 var(--font-body);
  text-align: center; text-transform: uppercase; letter-spacing: .03em;
}

/* Sponsors: public block and board list */
.sponsor-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.sponsor-card {
  display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center;
  padding: 14px; border: 1px solid var(--line); border-radius: var(--r-md); color: var(--ink); text-decoration: none;
}
a.sponsor-card:hover { border-color: var(--teal); }
.sponsor-card__name { font-weight: 600; font-size: 14px; }
.sponsor-card__desc { font-size: 12.5px; color: var(--ink-soft); line-height: 1.4; }
.sponsor-admin-list { display: flex; flex-direction: column; padding: 6px 20px; }
.sponsor-admin-row { display: flex; gap: 16px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid var(--line); }
.sponsor-admin-row:last-child { border-bottom: 0; }
.sponsor-admin-row__text { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; font-size: 14px; }
.sponsor-admin-row__actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.sponsor-pick .term-option { align-items: center; }
.sponsor-pick .org-logo { flex: none; }

/* Board: post-event photos and materials */
.files-heading { font: 700 15px/1.3 var(--font-head); margin: 0 0 12px; display: flex; gap: 8px; align-items: center; color: var(--ink); }
.file-admin-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; margin-bottom: 18px; }
.file-admin-photo { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.file-admin-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; display: block; }
.file-admin-photo a { width: 100%; }
.file-admin-photo input, .file-admin-row input { width: 100%; font: inherit; font-size: 13px; padding: 7px 9px; border: 1px solid var(--line-strong); border-radius: var(--r-sm); }
.file-admin-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 8px; }
.file-admin-row { display: flex; gap: 12px; align-items: flex-start; }
.file-admin-row__text { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 0; font-size: 14px; }
.file-admin-row__text a { overflow-wrap: anywhere; }
.email-preview__frame { width: 100%; height: 760px; border: 1px solid var(--line); border-radius: var(--r-md); background: #F4F6FB; display: block; }
.agree-row.invite-row, .field-hint.invite-row { margin-top: 10px; padding: 12px 14px; background: var(--teal-tint); border-radius: var(--r-md); }
@media (max-width: 560px) {
  .event-photos { grid-template-columns: 1fr 1fr; }
  .sponsor-admin-row { flex-wrap: wrap; }
  .file-admin-row { flex-wrap: wrap; }
}
.hp-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.event-list { display: flex; flex-direction: column; gap: 12px; }
.card.event-card { display: flex; gap: 16px; align-items: center; padding: 16px 20px; text-decoration: none; color: var(--ink); }
.card.event-card:hover { border-color: var(--teal); }
.event-card__date {
  width: 58px; height: 58px; border-radius: 12px; background: var(--navy); color: var(--paper);
  display: flex; flex-direction: column; align-items: center; justify-content: center; flex-shrink: 0;
}
.event-card__day { font: 700 20px/1 var(--font-head); }
.event-card__month { font-size: 11px; opacity: .8; margin-top: 2px; }
.event-card__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.event-card__badges { display: flex; gap: 6px; flex-wrap: wrap; }
.event-card__title { font: 700 16px/1.3 var(--font-head); }
.event-card__sub { font-size: 13px; color: var(--ink-soft); }

.attendance-form { display: flex; gap: 6px; }
.attendance-btn {
  border: 1px solid var(--line-strong); background: var(--paper); border-radius: 999px;
  padding: 4px 12px; font: 500 12.5px var(--font-body); cursor: pointer; color: var(--ink-soft);
}
.attendance-btn--yes { background: var(--teal-tint); border-color: var(--teal-deep); color: var(--teal-deep); font-weight: 600; }
.attendance-btn--no { background: var(--pink-tint); border-color: var(--pink-ink); color: var(--pink-ink); font-weight: 600; }

/* ---------- Renginių valdymas (skirtukai, po renginio) ---------- */

.msg-tabs.event-tabs { border-bottom: 1px solid var(--line); padding: 0 0 12px; margin-bottom: 18px; flex-wrap: wrap; }

/* Two sibling views of one section (Narių katalogas: Įmonės / Žmonės,
   Renginiai: bendruomenės / kiti) — big enough that a new member notices
   the second one exists. */
.view-switch {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 4px;
  background: var(--mist); border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: 4px; margin-bottom: 18px;
}
.view-switch__item {
  display: flex; flex-direction: column; gap: 3px; padding: 11px 16px;
  border-radius: 12px; border: 1px solid transparent; text-decoration: none; color: var(--ink-soft);
}
.view-switch__item:hover { background: var(--paper); }
.view-switch__item--active { background: var(--paper); border-color: var(--line-strong); box-shadow: 0 1px 3px rgba(11, 20, 64, .08); color: var(--ink); }
.view-switch__label { display: flex; align-items: center; gap: 8px; font: 600 15px/1.2 var(--font-body); color: inherit; }
.view-switch__count {
  font: 600 12px/1 var(--font-body); background: var(--chip-bg); color: var(--ink-soft);
  border-radius: 999px; padding: 4px 8px;
}
.view-switch__item--active .view-switch__count { background: var(--navy); color: var(--paper); }
.view-switch__hint { font-size: 13px; color: var(--ink-mute); }
@media (max-width: 640px) {
  .view-switch { grid-template-columns: 1fr 1fr; }
  .view-switch__item { padding: 10px 12px; }
  .view-switch__hint { display: none; }
}
.card.event-danger { margin-top: 20px; padding: 18px 22px; border-color: var(--pink-line); }
.event-danger__row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.row-action > summary { cursor: pointer; color: var(--pink-ink); font-size: 13px; font-weight: 600; list-style: none; }
.row-action > summary::-webkit-details-marker { display: none; }
.row-action form { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; min-width: 220px; }
.card.attendance-list { padding: 16px 20px; }
.attendance-row { padding: 8px 0; border-top: 1px solid var(--row-line); }
.attendance-row:first-of-type { border-top: 0; }
.followup-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.card.followup-card { padding: 18px 20px; }
.followup-card h3 { font: 700 15px/1.3 var(--font-head); margin: 0 0 8px; color: var(--ink); }
.rating-choice { display: flex; gap: 8px; }
.rating-choice label { cursor: pointer; }
.rating-choice input { position: absolute; opacity: 0; }
.rating-choice span {
  display: flex; width: 48px; height: 48px; align-items: center; justify-content: center;
  border: 1px solid var(--line-strong); border-radius: 12px; font: 700 18px var(--font-head); color: var(--ink);
}
.rating-choice input:checked + span { background: var(--navy); border-color: var(--navy); color: var(--paper); }
.rating-choice input:focus-visible + span { outline: 2px solid var(--teal); outline-offset: 2px; }

/* ---------- Valdyba: laiškai ir dokumentacija ---------- */

.card.email-signature { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 18px 22px; margin-bottom: 24px; }
.email-signature__text { margin: 10px 0 0; font: 400 14px/1.5 var(--font-body); white-space: pre-wrap; color: var(--ink); }
.email-flags { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.email-flags .status-chip { padding: 3px 9px; font-size: 11px; }
.card.email-warning { background: var(--amber-tint); border-color: var(--amber); color: var(--amber-ink); padding: 14px 18px; margin-bottom: 14px; font-size: 14px; }
.card.email-toggle { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 14px 18px; margin-bottom: 14px; }
.email-editor { display: grid; grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr); gap: 16px; align-items: start; margin-bottom: 24px; }
.email-editor__body { font: 400 14px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; }
.email-editor__actions { justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.card.email-help { padding: 18px 20px; position: sticky; top: 88px; }
.email-help h2 { font: 700 15px/1.3 var(--font-head); margin: 0 0 8px; }
.email-vars { margin: 0; display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.email-vars dt { font-weight: 600; }
.email-vars dd { margin: 2px 0 0; color: var(--ink-soft); }
.email-vars code, .email-help code, .email-signature code { background: var(--mist); border-radius: 4px; padding: 1px 5px; font-size: 12.5px; }
.card.email-preview { padding: 0; overflow: hidden; }
.email-preview__subject { padding: 14px 20px; border-bottom: 1px solid var(--line); font-weight: 600; background: var(--surface-soft); }
.email-preview__body { margin: 0; padding: 18px 20px; font: 400 14px/1.6 var(--font-body); white-space: pre-wrap; word-break: break-word; }

.docs-link { font: 600 13px var(--font-body); color: var(--teal-ink); text-decoration: none; white-space: nowrap; }
.docs-link:hover { text-decoration: underline; }
.card.docs { padding: 26px 30px; font-size: 14.5px; line-height: 1.65; color: var(--ink); }
.docs h1 { font: 700 24px/1.25 var(--font-head); margin: 0 0 14px; }
.docs h2 { font: 700 19px/1.3 var(--font-head); margin: 28px 0 10px; padding-top: 18px; border-top: 1px solid var(--row-line); scroll-margin-top: 90px; }
.docs h3 { font: 700 16px/1.3 var(--font-head); margin: 20px 0 8px; scroll-margin-top: 90px; }
.docs blockquote { margin: 0 0 14px; padding: 12px 16px; background: var(--amber-tint); border-radius: var(--r-md); color: var(--amber-ink); }
.docs code { background: var(--mist); border-radius: 4px; padding: 1px 5px; font-size: 13px; }
.docs ul, .docs ol { padding-left: 22px; margin: 0 0 12px; }
.docs li { margin: 4px 0; }
.docs .table-wrap { margin: 0 0 14px; }
.docs hr { border: 0; border-top: 1px solid var(--line); margin: 20px 0; }

@media (max-width: 900px) {
  .email-editor { grid-template-columns: 1fr; }
  .card.email-help { position: static; }
  .card.docs { padding: 18px; }
}

/* ---------- Įmonių logotipai: vienas rėmelis visur (OrgLogo) ---------- */
/* 3:2 frame, white background, the logo scaled to fit — never cropped. */

.org-logo {
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
  box-sizing: border-box; background: var(--paper); border: 1px solid var(--line);
  border-radius: var(--r-md); overflow: hidden; vertical-align: middle;
}
.org-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.org-logo--sm { width: 60px; height: 40px; padding: 4px; border-radius: var(--r-sm); }
.org-logo--md { width: 84px; height: 56px; padding: 6px; }
.org-logo--lg { width: 150px; height: 100px; padding: 10px; }
.org-logo--empty { background: var(--chip-bg); border-color: transparent; }
.org-logo__initial { font-family: var(--font-head); font-weight: 700; color: var(--ink-mute); line-height: 1; }
.org-logo--sm .org-logo__initial { font-size: 16px; }
.org-logo--md .org-logo__initial { font-size: 22px; }
.org-logo--lg .org-logo__initial { font-size: 36px; }

.logo-warning { font-size: 12.5px; line-height: 1.45; color: var(--amber-ink); background: var(--amber-tint); border-radius: var(--r-sm); padding: 6px 9px; }
.logo-warning[hidden] { display: none; }
.board-org-head__logo { display: flex; flex-direction: column; align-items: center; gap: 6px; flex-shrink: 0; }
.card.logos-reprocess { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 14px 18px; margin-top: 16px; }
.data-table .org-logo { display: flex; }

@media (max-width: 900px) {
  .directory-row .org-logo--md { width: 60px; height: 40px; padding: 4px; }
}

/* ---------- Kiti (išoriniai) renginiai ---------- */

.card.external-purpose { padding: 18px 22px; margin-bottom: 16px; background: var(--teal-tint); border-color: transparent; }
.external-purpose h2 { font: 700 16px/1.3 var(--font-head); margin: 0 0 6px; color: var(--teal-deep); }
.external-purpose p { margin: 0 0 8px; font-size: 14px; color: var(--ink); }
.external-purpose ul { margin: 0 0 10px; padding-left: 20px; font-size: 14px; color: var(--ink); }
.external-purpose li { margin: 3px 0; }
.event-card__date--external { background: var(--teal-deep); }
.card.external-review { padding: 18px 22px; margin-bottom: 16px; border-color: var(--amber); }

/* ---------- Atsiliepimai (feedback, suggestions, bug reports) ---------- */

.feedback-types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 6px; }
.feedback-type { position: relative; cursor: pointer; }
.feedback-type input { position: absolute; opacity: 0; pointer-events: none; }
.feedback-type__card {
  display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 14px 16px;
  border: 1px solid var(--line-strong); border-radius: var(--r-md); background: var(--paper);
}
.feedback-type input:checked + .feedback-type__card { border-color: var(--teal); box-shadow: 0 0 0 1px var(--teal); background: var(--teal-tint); }
.feedback-type input:focus-visible + .feedback-type__card { outline: 2px solid var(--navy); outline-offset: 2px; }
.feedback-type__icon { font-size: 22px; line-height: 1; }
.feedback-type__label { font: 600 15px/1.3 var(--font-body); color: var(--ink); }
.feedback-type__hint { font-size: 12.5px; line-height: 1.45; color: var(--ink-soft); }
.grid-2[data-bug-only] { margin-top: 18px; }
.grid-2[data-bug-only][hidden] { display: none; }

.feedback-start { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.card.feedback-start__card { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; text-decoration: none; }
.card.feedback-start__card:hover { border-color: var(--teal); }

.feedback-shots { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.feedback-shot { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.feedback-shot img { width: 160px; height: 110px; object-fit: cover; border: 1px solid var(--line); border-radius: var(--r-sm); display: block; background: var(--mist); }
.feedback-shot__remove { font-size: 12.5px; color: var(--pink-ink); }

.card.feedback-head { padding: 20px 24px; }
.feedback-body { font-size: 14.5px; line-height: 1.65; color: var(--ink); }
.msg-bubble--board { background: var(--chip-bg); border-left: 3px solid var(--navy); }
.msg-bubble--internal { background: var(--amber-tint); border-left: 3px solid var(--amber); }
.feedback-report-link { font-size: 13px; }

.card.feedback-board-actions { padding: 18px 22px; margin-bottom: 16px; }
.feedback-board-actions select { padding: 9px 10px; border: 1px solid var(--line-strong); border-radius: var(--r-md); font-family: inherit; }
.feedback-board-actions textarea { width: 100%; }
.feedback-meta { font-size: 12.5px; color: var(--ink-mute); word-break: break-word; }

@media (max-width: 700px) {
  .feedback-types, .feedback-start { grid-template-columns: 1fr; }
}

/* ---------- Skelbimai (announcements) ---------- */

.card.announcement-block { padding: 18px 22px; }
.announcement-block__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 6px; }
.announcement-block__head h2 { display: flex; align-items: center; gap: 8px; margin: 0; }
.announcement-block__links { display: flex; align-items: center; gap: 14px; font-size: 14px; }
.announcement-block__links form { margin: 0; }
.announcement-list { list-style: none; margin: 0; padding: 0; }
.announcement-item { border-top: 1px solid var(--row-line); }
.announcement-item:first-child { border-top: 0; }
.announcement-item > a { display: flex; flex-direction: column; gap: 4px; padding: 12px 0; color: var(--ink); text-decoration: none; }
.announcement-item > a:hover .announcement-item__title { text-decoration: underline; }
.announcement-item__top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.announcement-item__title { font: 600 15px/1.35 var(--font-body); flex: 1; min-width: 0; }
.announcement-item--unread .announcement-item__title { font-weight: 700; }
.announcement-item__date { font-size: 12.5px; color: var(--ink-mute); white-space: nowrap; }
.announcement-item__excerpt { font-size: 13.5px; line-height: 1.5; color: var(--ink-soft); }
.announcement-item--pinned { background: var(--amber-tint); margin: 0 -22px; padding: 0 22px; border-top-color: transparent; }
.announcement-item--pinned + .announcement-item { border-top-color: transparent; }
.announcement-item--expired .announcement-item__title { font-weight: 500; color: var(--ink-soft); }

.card.announcement-page { padding: 26px 30px; }
.announcement-page__meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; color: var(--ink-soft); margin: 0 0 12px; }
.announcement-body { font-size: 15px; line-height: 1.65; color: var(--ink); overflow-wrap: anywhere; }
.announcement-body__title { font: 700 22px/1.3 var(--font-head); margin: 0 0 12px; color: var(--ink); }
.announcement-body p, .announcement-body ul { margin: 0 0 12px; }
.announcement-body ul { padding-left: 22px; }
.announcement-body > :last-child { margin-bottom: 0; }
.announcement-body--framed { border: 1px solid var(--line); border-radius: var(--r-md); padding: 18px 20px; background: var(--paper); }
.announcement-event { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 20px; padding: 14px 16px; background: var(--teal-tint); border-radius: var(--r-md); }

.card.announcement-preview { padding: 18px 22px; }
.announcement-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px 20px; margin: 0; }
.announcement-facts dt { font-size: 12px; color: var(--ink-mute); text-transform: uppercase; letter-spacing: .04em; }
.announcement-facts dd { margin: 2px 0 0; font-size: 14px; color: var(--ink); }
.announcement-targeting { margin: 4px 0 10px; }
.announcement-targeting summary { cursor: pointer; font-weight: 600; font-size: 14px; }

@media (max-width: 700px) {
  .card.announcement-page { padding: 20px 18px; }
}

/* Atsiliepimai — phase 2: shared list, votes, "Gal tai jau pasiūlyta?" */
.card.feedback-list { padding: 4px 18px; }
.feedback-row { display: flex; align-items: flex-start; gap: 14px; padding: 14px 0; border-top: 1px solid var(--row-line); }
.feedback-row:first-child { border-top: 0; }
.feedback-row__main { display: flex; flex-direction: column; gap: 6px; min-width: 0; flex: 1; text-decoration: none; }
.feedback-vote-form { margin: 0; flex-shrink: 0; }
.feedback-vote {
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  min-width: 52px; padding: 8px 6px; border: 1px solid var(--line-strong); border-radius: var(--r-md);
  background: var(--paper); color: var(--ink-soft); font: 600 15px/1 var(--font-body); cursor: pointer; flex-shrink: 0;
}
.feedback-vote:hover { border-color: var(--teal); color: var(--teal-deep); }
.feedback-vote--on { background: var(--teal-tint); border-color: var(--teal); color: var(--teal-deep); }
.feedback-vote--static { cursor: default; background: var(--mist); border-color: var(--line); }
.feedback-vote--static:hover { border-color: var(--line); color: var(--ink-soft); }
.feedback-vote__arrow { font-size: 11px; }
.feedback-vote:disabled { opacity: .6; }
.feedback-title-row { display: flex; align-items: flex-start; gap: 14px; }
.feedback-title-row .event-page__title { margin-top: 4px; }

.feedback-similar { background: var(--amber-tint); border: 1px solid var(--amber); border-radius: var(--r-md); padding: 12px 16px; }
.feedback-similar[hidden] { display: none; }
.feedback-similar__title { margin: 0 0 6px; font: 600 13.5px/1.4 var(--font-body); color: var(--amber-ink); }
.feedback-similar__list { margin: 0; padding-left: 18px; font-size: 14px; }
.feedback-similar__list li { margin: 3px 0; }
.feedback-similar__meta { color: var(--ink-soft); font-size: 12.5px; }
.msg-bubble--hidden { opacity: .65; border-left: 3px dashed var(--pink-ink); }

/* Atsiliepimai — phase 3: "Kas naujo", email switch */
.card.whats-new-teaser { padding: 16px 20px; margin-top: 16px; background: var(--teal-tint); border-color: transparent; }
.whats-new-teaser__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 8px; }
.whats-new-teaser__head h2 { font: 700 16px/1.3 var(--font-head); margin: 0; color: var(--teal-deep); }
.whats-new-teaser__head a { font-size: 13px; }
.whats-new-teaser__row { display: flex; gap: 12px; align-items: baseline; padding: 4px 0; font-size: 14px; }
.whats-new-list { display: flex; flex-direction: column; gap: 14px; }
.card.whats-new-entry { padding: 18px 22px; }
.whats-new-entry__date { font: 600 12px/1 var(--font-body); color: var(--ink-mute); text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.whats-new-entry__title { font: 700 18px/1.3 var(--font-head); margin: 6px 0 8px; color: var(--ink); }
.whats-new-entry__meta { margin: 12px 0 0; font-size: 13px; color: var(--ink-soft); }
.card.feedback-email-settings { padding: 16px 20px; margin-top: 24px; }
.feedback-news { margin: 8px 0 12px; border: 1px dashed var(--line-strong); border-radius: var(--r-md); padding: 10px 14px; }
.feedback-news > summary { cursor: pointer; font-weight: 600; font-size: 14px; }

/* Kava — coffee invites (coffee.php, coffee-new.php, coffee-invite.php) */
.btn-primary--navy { background: var(--navy); display: inline-block; text-decoration: none; cursor: pointer; }
.dir-intro > .btn-primary--navy { margin-bottom: 24px; }
.card.coffee-notice { padding: 14px 18px; margin-bottom: 16px; }
.card.coffee-notice--hint { background: var(--amber-tint); border-color: transparent; box-shadow: none; }
.card.coffee-mine { padding: 18px 22px; margin-bottom: 16px; }
.coffee-mine h2 { font-size: 16px; margin-bottom: 8px; }
.coffee-mine__list { list-style: none; margin: 0; padding: 0; }
.coffee-mine__list li + li { border-top: 1px solid var(--row-line); }
.coffee-mine__row { display: flex; align-items: center; gap: 12px; padding: 10px 4px; text-decoration: none; }
.coffee-mine__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 auto; }
.coffee-mine__title { font-size: 14px; font-weight: 600; color: var(--ink); }
.coffee-mine__sub { font-size: 13px; color: var(--ink-soft); overflow-wrap: anywhere; }
.coffee-mine__chips, .coffee-card__chips { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.card.coffee-filters { display: flex; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.coffee-filters .field { min-width: 180px; }
.coffee-filters__match { padding-bottom: 12px; }
.coffee-filters__actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.coffee-list { display: flex; flex-direction: column; gap: 14px; }
.card.coffee-card { padding: 20px 22px; display: flex; flex-direction: column; gap: 12px; }
.card.coffee-card--detail { margin-bottom: 16px; }
.coffee-card__head { display: flex; gap: 14px; align-items: center; }
.coffee-card__head .person-card__who { flex: 1 1 auto; }
.coffee-card__head a.person-card__name { text-decoration: none; }
.coffee-card__note { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--ink); overflow-wrap: anywhere; }
.coffee-card__meta { margin: 0; font-size: 13px; color: var(--ink-soft); }
.coffee-slots { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.coffee-slot { font-size: 13px; padding: 6px 11px; border-radius: 999px; background: var(--teal-tint); color: var(--teal-deep); }
.coffee-slot--full { background: var(--chip-bg); color: var(--ink-mute); text-decoration: line-through; }
.coffee-fieldset { border: 0; margin: 0 0 20px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.coffee-fieldset legend { padding: 0; margin-bottom: 4px; }
.coffee-skill-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.coffee-skill-group { border-bottom: 1px solid var(--row-line); padding: 10px 0; }
.coffee-skill-group > summary { cursor: pointer; font-size: 14px; font-weight: 600; color: var(--ink); }
.coffee-skill-group__body { display: flex; flex-direction: column; gap: 4px; padding: 8px 0 0 4px; }
.term-option--group { font-weight: 600; color: var(--teal-deep); }
.coffee-slot-row { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 12px; }
.coffee-more-slots > summary { cursor: pointer; font-size: 13.5px; color: var(--teal-deep); padding: 4px 0 8px; }
.coffee-more-slots .coffee-slot-row + .coffee-slot-row { margin-top: 8px; }
.coffee-format { display: flex; gap: 24px; flex-wrap: wrap; }
.coffee-format .term-option { align-items: center; font-size: 14px; }
.coffee-format__seats { padding: 4px 8px; border: 1px solid var(--line-strong); border-radius: var(--r-sm); font: inherit; }
.card.coffee-section { padding: 22px 24px; }
.coffee-section h2 { margin-bottom: 12px; }
.coffee-slot-block { padding: 12px 0; border-top: 1px solid var(--row-line); }
.coffee-slot-block__head { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 0 8px; font-size: 14px; color: var(--ink); }
.coffee-slot-block__count { font-size: 13px; color: var(--ink-soft); }
.coffee-slot-block__empty { margin: 0; font-size: 13px; color: var(--ink-mute); }
.coffee-response { display: flex; gap: 12px; padding: 10px 0; }
.coffee-response__main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.coffee-response__who { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; font-size: 14px; }
.coffee-response__who a { font-weight: 600; }
.coffee-response__who span { font-size: 13px; color: var(--ink-soft); }
.coffee-response__message { margin: 0; font-size: 14px; color: var(--ink); overflow-wrap: anywhere; }
.coffee-response__actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 14px; }
.coffee-response__actions form { display: flex; align-items: center; gap: 8px; margin: 0; }
.coffee-response__actions .btn-primary { padding: 9px 16px; }
.coffee-met { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 8px; padding: 10px 12px; border-radius: var(--r-md); background: var(--amber-tint); }
.coffee-met__question { font-size: 14px; font-weight: 600; color: var(--amber-ink); }
.coffee-met .btn-primary { padding: 8px 16px; }
.coffee-met__answer { margin: 8px 0 0; font-size: 13px; color: var(--ink-soft); }
.btn-back.coffee-danger { color: var(--pink-ink); padding-left: 0; }
.coffee-mine-status { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 8px; font-size: 14.5px; }
.coffee-slot-options { display: flex; flex-direction: column; gap: 8px; }
.coffee-slot-option { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--r-md); cursor: pointer; font-size: 14px; color: var(--ink); }
.coffee-slot-option:has(input:checked) { border-color: var(--teal); background: var(--teal-tint); }
.coffee-slot-option input { width: 17px; height: 17px; accent-color: var(--teal); margin: 0; }
.coffee-slot-option--full { cursor: default; color: var(--ink-mute); background: var(--surface-soft); }
@media (max-width: 640px) {
  .coffee-skill-groups { grid-template-columns: 1fr; }
  .coffee-slot-row { grid-template-columns: 1fr 1fr; }
  .coffee-slot-row .field:first-child { grid-column: 1 / -1; }
  .coffee-card__head { flex-wrap: wrap; }
  .coffee-filters .field { min-width: 0; flex: 1 1 100%; }
  .coffee-filters__actions { margin-left: 0; }
  .card.coffee-card, .card.coffee-section { padding: 18px 16px; }
}
.coffee-form-errors { margin: 0 0 20px; padding: 12px 16px; border-radius: var(--r-md); background: var(--pink-tint); color: var(--pink-ink); font-size: 14px; outline: none; }
.coffee-form-errors p { margin: 0 0 4px; font-weight: 600; }
.coffee-form-errors ul { margin: 0; padding-left: 20px; }
.coffee-skill-count { color: var(--teal-deep); font-weight: 600; }

/* Test site only (APP_ENV=development): see test_site_banner() in config.php. */
.test-banner { background: var(--amber); color: var(--ink); font: 600 13px/1.4 var(--font-body); text-align: center; padding: 6px 16px; }
