:root {
  --blue: #1f6feb;
  --blue-dark: #1557c0;
  --soft: #eef5ff;
  --text: #1f2937;
  --muted: #6b7280;
  --line: #e5e7eb;
  --bg: #f6f8fb;
  --white: #ffffff;
  --green: #19a974;
  --shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
  --radius: 22px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  min-height: 100%;
}

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--text);
  background: var(--bg);
}

main {
  flex: 1 0 auto;
  width: 100%;
}

a {
  text-decoration: none;
  color: inherit;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

.ta-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 28px;
}

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

/* Header */

.ta-header {
  position: sticky;
  top: 0;
  background: #ffffff;
  border-bottom: 1px solid var(--line);
  z-index: 20;
}

.ta-header__inner {
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.ta-logo {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--blue);
  font-size: 24px;
  font-weight: 900;
  white-space: nowrap;
}

.ta-logo__mark {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--blue), #63a4ff);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ta-nav {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 28px;
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
}

.ta-nav a {
  color: var(--text);
  transition: color 0.2s ease;
}

.ta-nav a:hover {
  color: var(--blue);
}

.ta-header__actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

.ta-menu-btn {
  display: none;
  border: 0;
  background: var(--soft);
  color: var(--blue);
  border-radius: 999px;
  padding: 12px 16px;
  font-weight: 800;
  cursor: pointer;
}

/* Buttons */

.ta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  min-height: 44px;
  padding: 0 18px;
  font-weight: 800;
  font-size: 15px;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.ta-btn:hover {
  transform: translateY(-1px);
}

.ta-btn--primary {
  background: var(--blue);
  color: #ffffff;
}

.ta-btn--primary:hover {
  background: var(--blue-dark);
}

.ta-btn--ghost {
  background: var(--soft);
  color: var(--blue);
}

.ta-btn--white {
  background: #ffffff;
  color: var(--blue);
}

/* Hero */

.ta-hero {
  padding: 54px 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(31, 111, 235, 0.14), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
}

.ta-hero__grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 34px;
  align-items: center;
}

.ta-kicker {
  display: inline-flex;
  background: var(--soft);
  color: var(--blue);
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 800;
  margin-bottom: 16px;
}

.ta-hero h1 {
  font-size: 48px;
  line-height: 1.08;
  margin: 0 0 16px;
  letter-spacing: -1px;
}

.ta-lead {
  font-size: 18px;
  line-height: 1.55;
  color: var(--muted);
  margin: 0 0 24px;
  max-width: 680px;
}

/* Panels and forms */

.ta-case-form,
.ta-offer-preview,
.ta-panel {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 22px;
}

.ta-case-form label {
  display: block;
  font-size: 22px;
  font-weight: 900;
  margin-bottom: 12px;
}

.ta-form-grid,
.ta-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 14px;
}

.ta-input,
.ta-select,
.ta-textarea,
.ta-case-form input,
.ta-case-form select,
.ta-case-form textarea,
.ta-create-form input,
.ta-create-form select,
.ta-create-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff;
  color: var(--text);
  font-size: 16px;
  font-family: inherit;
  outline: none;
}

.ta-input,
.ta-select,
.ta-case-form input,
.ta-case-form select,
.ta-create-form input,
.ta-create-form select {
  height: 54px;
  padding: 0 18px;
}

.ta-textarea,
.ta-case-form textarea,
.ta-create-form textarea {
  min-height: 150px;
  padding: 18px;
  resize: vertical;
}

.ta-textarea--small {
  min-height: 100px;
}

.ta-input:focus,
.ta-select:focus,
.ta-textarea:focus,
.ta-case-form input:focus,
.ta-case-form select:focus,
.ta-case-form textarea:focus,
.ta-create-form input:focus,
.ta-create-form select:focus,
.ta-create-form textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(31, 111, 235, 0.09);
}

.ta-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.ta-form-actions span {
  color: var(--muted);
  font-size: 14px;
}

.ta-form-title {
  margin: 0 0 6px;
}

.ta-form-subtitle {
  margin: 0 0 18px;
  color: var(--muted);
  line-height: 1.5;
}

.ta-form-title--section {
  margin-top: 24px;
}

/* Checkbox groups */

.ta-check-grid {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  display: grid;
  gap: 10px;
}

.ta-check-grid--two {
  grid-template-columns: repeat(2, 1fr);
}

.ta-check-grid--three {
  grid-template-columns: repeat(3, 1fr);
}

.ta-check {
  margin: 0 !important;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700 !important;
  padding: 10px 12px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #eef2f7;
}

.ta-check input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.ta-empty-note {
  color: var(--muted);
  font-size: 14px;
}

/* Offer preview */

.ta-offer-preview h2 {
  margin: 0 0 14px;
}

.ta-offer {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
  margin-bottom: 12px;
}

.ta-offer span {
  display: inline-flex;
  background: var(--soft);
  color: var(--blue);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 13px;
  font-weight: 800;
}

.ta-offer strong {
  display: block;
  color: var(--green);
  font-size: 22px;
  margin-top: 10px;
}

.ta-offer p {
  margin: 6px 0 0;
  color: var(--muted);
  line-height: 1.4;
}

/* Stats */

.ta-stats {
  padding: 24px 0;
}

.ta-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.ta-stats__grid div,
.ta-categories a,
.ta-steps div,
.ta-cases article {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 20px;
}

.ta-stats strong {
  display: block;
  font-size: 30px;
  color: var(--blue);
}

.ta-stats span,
.ta-categories span,
.ta-steps p,
.ta-cases p {
  color: var(--muted);
  line-height: 1.45;
}


/* Lawyer dashboard statistics */
.ta-dashboard-stat {
  min-height: 112px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}

.ta-dashboard-stat__value {
  display: block;
  font-size: 32px;
  line-height: 1;
  color: var(--blue);
}

.ta-dashboard-stat__label {
  display: block;
  color: var(--muted);
  line-height: 1.35;
}

.ta-dashboard-status {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 800;
}

.ta-dashboard-status--approved { background: #e8f8ef; color: #138a4b; }
.ta-dashboard-status--pending { background: #fff6dd; color: #a56600; }
.ta-dashboard-status--rejected,
.ta-dashboard-status--blocked { background: #feecec; color: #c43d3d; }
.ta-dashboard-status--unknown { background: #eef2f7; color: #596579; }

/* Sections */

.ta-section {
  padding: 34px 0;
}

.ta-section h2 {
  font-size: 32px;
  margin: 0 0 20px;
}

.ta-categories {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.ta-categories a {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 136px;
  font-size: 22px;
}

.ta-categories strong {
  font-size: 17px;
}

.ta-categories span {
  font-size: 14px;
}

.ta-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.ta-steps b {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--blue);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.ta-steps strong {
  display: block;
  font-size: 20px;
}

.ta-cases {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.ta-cases small {
  color: var(--blue);
  font-weight: 800;
}

.ta-cases h3 {
  margin: 10px 0 8px;
}

.ta-cases strong {
  color: var(--green);
}

/* Inner pages */

.ta-page-head {
  padding: 44px 0 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
}

.ta-page-head h1 {
  font-size: 44px;
  line-height: 1.08;
  margin: 0 0 10px;
  letter-spacing: -0.8px;
}

.ta-page-head p {
  max-width: 760px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.55;
  margin: 0;
}

.ta-two-col {
  display: grid;
  grid-template-columns: 1.1fr 0.75fr;
  gap: 20px;
  align-items: start;
}

.ta-create-form label {
  display: block;
  font-weight: 900;
  margin: 14px 0 8px;
}

.ta-alert {
  border-radius: 16px;
  padding: 14px 16px;
  margin-bottom: 14px;
  font-weight: 700;
}

.ta-alert--error {
  background: #fff1f2;
  color: #be123c;
  border: 1px solid #fecdd3;
}

.ta-note {
  background: var(--soft);
  color: #2455a6;
  border-radius: 16px;
  padding: 14px 16px;
  margin: 16px 0;
  line-height: 1.45;
}

.ta-side-info {
  position: sticky;
  top: 92px;
}

.ta-side-info h2 {
  margin: 0 0 12px;
}

.ta-side-info ol {
  padding-left: 22px;
  color: var(--muted);
  line-height: 1.65;
}

.ta-mini-box {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
  margin-top: 16px;
}

.ta-mini-box p {
  margin: 6px 0 0;
  color: var(--muted);
  line-height: 1.45;
}

/* Success */

.ta-success-card {
  text-align: left;
  max-width: 820px;
}

.ta-success-icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--green);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  font-weight: 900;
  margin-bottom: 14px;
}

.ta-ai-box {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
  margin: 18px 0;
  line-height: 1.55;
}

.ta-actions-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* Cases list */

.ta-case-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.ta-case-row small {
  color: var(--blue);
  font-weight: 800;
}

.ta-case-row h2 {
  margin: 10px 0 8px;
  font-size: 22px;
}

.ta-case-row p {
  color: var(--muted);
  line-height: 1.5;
}

.ta-case-row__bottom {
  border-top: 1px solid var(--line);
  padding-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
}

.ta-case-row__bottom strong {
  color: var(--green);
}

/* CTA */

.ta-cta {
  padding: 34px 0;
}

.ta-cta__box {
  border-radius: 28px;
  background: linear-gradient(135deg, var(--blue), #63a4ff);
  color: #ffffff;
  padding: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.ta-cta h2 {
  margin: 0 0 8px;
}

.ta-cta p {
  margin: 0;
  opacity: 0.9;
}

/* Footer */

.ta-footer {
  flex-shrink: 0;
  background: #0f172a;
  color: #cbd5e1;
  margin-top: auto;
  padding: 34px 0;
}

.ta-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 24px;
}

.ta-footer strong {
  display: block;
  color: #ffffff;
  margin-bottom: 12px;
}

.ta-footer a {
  display: block;
  margin: 8px 0;
  color: #cbd5e1;
  font-size: 14px;
}

/* Toast */

.ta-toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  background: #0f172a;
  color: #ffffff;
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: var(--shadow);
  z-index: 50;
}

/* Responsive */

@media (max-width: 1100px) {
  .ta-nav {
    gap: 18px;
    font-size: 14px;
  }

  .ta-logo {
    font-size: 22px;
  }

  .ta-btn {
    padding: 0 16px;
  }
}

@media (max-width: 900px) {
  .ta-nav,
  .ta-header__actions {
    display: none;
  }

  .ta-menu-btn {
    display: block;
  }

  .ta-nav.is-open {
    display: flex;
    position: absolute;
    top: 72px;
    left: 0;
    right: 0;
    background: #ffffff;
    padding: 18px;
    flex-direction: column;
    align-items: flex-start;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
  }

  .ta-hero__grid,
  .ta-two-col {
    grid-template-columns: 1fr;
  }

  .ta-hero h1 {
    font-size: 36px;
  }

  .ta-stats__grid,
  .ta-categories,
  .ta-steps,
  .ta-footer__grid {
    grid-template-columns: 1fr 1fr;
  }

  .ta-cases {
    grid-template-columns: 1fr;
  }

  .ta-side-info {
    position: static;
  }

  .ta-page-head h1 {
    font-size: 34px;
  }
}

@media (max-width: 700px) {
  .ta-form-grid,
  .ta-form-row,
  .ta-check-grid--two,
  .ta-check-grid--three {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .ta-header__inner {
    height: 64px;
  }

  .ta-logo {
    font-size: 20px;
  }

  .ta-hero {
    padding: 30px 0;
  }

  .ta-hero h1,
  .ta-page-head h1 {
    font-size: 30px;
  }

  .ta-stats__grid,
  .ta-categories,
  .ta-steps,
  .ta-footer__grid {
    grid-template-columns: 1fr;
  }

  .ta-form-actions .ta-btn,
  .ta-actions-row .ta-btn {
    width: 100%;
  }

  .ta-cta__box {
    flex-direction: column;
    align-items: flex-start;
  }

  .ta-btn--white {
    width: 100%;
  }
}


/* Lawyers catalog */
.ta-lawyers-layout {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 20px;
  align-items: start;
}

.ta-lawyers-filter {
  position: sticky;
  top: 92px;
}

.ta-filter-title {
  margin: 0 0 16px;
  font-size: 24px;
}

.ta-lawyers-filter label {
  display: block;
  margin: 14px 0 8px;
  font-weight: 800;
}

.ta-filter-checks {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.ta-filter-btn {
  width: 100%;
  margin-top: 16px;
}

.ta-filter-reset {
  display: block;
  margin-top: 12px;
  text-align: center;
  color: var(--muted);
  font-weight: 700;
  font-size: 14px;
}

.ta-lawyers-content {
  min-width: 0;
}

.ta-lawyers-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.ta-lawyers-topline strong {
  color: var(--blue);
  font-size: 30px;
}

.ta-lawyers-topline span {
  color: var(--muted);
  font-weight: 700;
}

.ta-lawyer-list {
  display: grid;
  gap: 16px;
}

.ta-lawyer-card {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 16px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.ta-lawyer-avatar {
  width: 64px;
  height: 64px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--blue), #63a4ff);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 24px;
}

.ta-lawyer-avatar--large {
  width: 82px;
  height: 82px;
  font-size: 30px;
}

.ta-lawyer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.ta-lawyer-head h2 {
  margin: 0 0 6px;
  font-size: 22px;
}

.ta-lawyer-head p {
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}

.ta-lawyer-score {
  flex: 0 0 auto;
  text-align: right;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 10px 12px;
}

.ta-lawyer-score strong {
  display: block;
  color: #f59e0b;
  font-size: 18px;
}

.ta-lawyer-score span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  margin-top: 2px;
}

.ta-lawyer-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.ta-lawyer-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--soft);
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
}

.ta-lawyer-tags--wide {
  margin: 18px 0 22px;
}

.ta-lawyer-desc {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.ta-lawyer-desc--full {
  color: var(--text);
}

.ta-lawyer-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.ta-lawyer-profile-head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

.ta-lawyer-profile-head h2 {
  margin: 0 0 6px;
}

.ta-profile-stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.ta-profile-stat strong {
  color: var(--blue);
  font-size: 22px;
}

.ta-profile-stat span {
  color: var(--muted);
  font-weight: 700;
}

@media (max-width: 900px) {
  .ta-lawyers-layout {
    grid-template-columns: 1fr;
  }

  .ta-lawyers-filter {
    position: static;
  }

  .ta-lawyer-head {
    flex-direction: column;
  }

  .ta-lawyer-score {
    text-align: left;
  }
}

@media (max-width: 560px) {
  .ta-lawyer-card {
    grid-template-columns: 1fr;
  }

  .ta-lawyer-actions .ta-btn,
  .ta-lawyers-topline .ta-btn {
    width: 100%;
  }

  .ta-lawyers-topline {
    align-items: stretch;
    flex-direction: column;
  }
}
/* Case detail / offers */
.ta-case-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.ta-case-badges span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--soft);
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
}

.ta-case-detail h2 {
  margin: 0 0 12px;
}

.ta-case-description {
  color: var(--text);
  line-height: 1.65;
  font-size: 16px;
  margin: 0 0 18px;
}

.ta-case-description--small {
  color: var(--muted);
  font-size: 15px;
}

.ta-offer-stack {
  display: grid;
  gap: 10px;
}

.ta-offer-item {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  background: #ffffff;
}

.ta-offer-item strong {
  display: block;
  color: var(--green);
  font-size: 20px;
  margin-bottom: 4px;
}

.ta-offer-item span {
  color: var(--muted);
  font-size: 14px;
}

/* Client offers */
.ta-muted {
  color: var(--muted);
  line-height: 1.5;
}

.ta-blue-text {
  color: var(--blue);
  font-weight: 800;
}

.ta-alert--success {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}

.ta-client-case-summary {
  margin-bottom: 18px;
}

.ta-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.ta-meta-row span,
.ta-status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--soft);
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
}

.ta-empty-state {
  text-align: left;
}

.ta-offers-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.ta-client-offer {
  position: relative;
}

.ta-client-offer.is-selected {
  border-color: rgba(25, 169, 116, 0.45);
  box-shadow: 0 14px 40px rgba(25, 169, 116, 0.12);
}

.ta-offer-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 14px;
}

.ta-avatar-small {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--blue), #63a4ff);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  margin-bottom: 10px;
}

.ta-offer-price {
  font-size: 22px;
  line-height: 1.1;
  font-weight: 900;
  color: var(--green);
  white-space: nowrap;
}

.ta-comment-box,
.ta-unlocked-box {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  background: #f8fafc;
  color: var(--text);
  line-height: 1.5;
  margin: 14px 0;
}

.ta-unlocked-box {
  background: #ecfdf5;
  border-color: #a7f3d0;
}

.ta-unlocked-box p {
  margin: 6px 0 0;
  color: #047857;
}

@media (max-width: 900px) {
  .ta-offers-grid {
    grid-template-columns: 1fr;
  }

  .ta-offer-card-head {
    flex-direction: column;
  }
}

/* Auth v0.3 */
.ta-auth-wrap {
  max-width: 760px;
  margin: 0 auto;
}

.ta-blue-text {
  color: var(--blue);
  font-weight: 800;
}

.ta-alert--success {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}

/* v0.4 utility */
.ta-clean-list{
  margin:16px 0 20px;
  padding-left:20px;
  color:var(--muted);
  line-height:1.7;
}

/* v0.5 Trust profile */
.ta-lawyer-hero {
  padding: 44px 0 22px;
  background: radial-gradient(circle at 15% 20%, rgba(31,111,235,.14), transparent 28%), linear-gradient(180deg,#fff 0%,#f6f8fb 100%);
}

.ta-lawyer-hero__card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 30px;
  box-shadow: var(--shadow);
  padding: 28px;
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 24px;
  align-items: center;
}

.ta-lawyer-hero__main {
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
}

.ta-lawyer-photo {
  width: 118px;
  height: 118px;
  flex: 0 0 118px;
  border-radius: 28px;
  background: linear-gradient(135deg, #dbeafe, #eff6ff);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
  font-size: 34px;
  font-weight: 900;
  overflow: hidden;
}

.ta-lawyer-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ta-lawyer-identity h1 {
  margin: 0 0 8px;
  font-size: 42px;
  line-height: 1.05;
  letter-spacing: -0.8px;
}

.ta-lawyer-identity p {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 17px;
}

.ta-lawyer-badges,
.ta-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.ta-badge,
.ta-chip-list span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid var(--line);
  color: #334155;
  font-size: 14px;
  font-weight: 800;
}

.ta-badge--blue {
  background: var(--soft);
  border-color: #cfe0ff;
  color: var(--blue);
}

.ta-badge--green {
  background: #ecfdf5;
  border-color: #bbf7d0;
  color: #047857;
}

.ta-score-card {
  background: #0f172a;
  color: #fff;
  border-radius: 24px;
  padding: 22px;
}

.ta-score-card__circle {
  width: 98px;
  height: 98px;
  border-radius: 50%;
  border: 7px solid rgba(255,255,255,.22);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.ta-score-card__circle strong {
  font-size: 34px;
  line-height: 1;
}

.ta-score-card__circle span,
.ta-score-card p {
  color: #cbd5e1;
}

.ta-score-card h2 {
  margin: 0 0 8px;
  font-size: 22px;
}

.ta-score-card p {
  margin: 0;
  line-height: 1.45;
}

.ta-lawyer-profile-section {
  padding-top: 20px;
}

.ta-profile-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 20px;
  align-items: start;
}

.ta-profile-main {
  display: grid;
  gap: 16px;
}

.ta-profile-block h2 {
  margin: 0 0 12px;
  font-size: 24px;
}

.ta-profile-block em {
  color: var(--muted);
  font-style: normal;
}

.ta-section-line {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.ta-section-line h2 {
  margin: 0 0 6px;
}

.ta-section-line p {
  margin: 0;
  color: var(--muted);
}

.ta-section-line > strong {
  font-size: 32px;
  color: var(--blue);
}

.ta-review-list {
  display: grid;
  gap: 10px;
}

.ta-review-card {
  border: 1px solid var(--line);
  background: #f8fafc;
  border-radius: 16px;
  padding: 14px;
}

.ta-review-card strong {
  color: var(--blue);
}

.ta-review-card p {
  margin: 8px 0;
  color: var(--text);
  line-height: 1.45;
}

.ta-review-card small {
  color: var(--muted);
}

.ta-empty-box {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  color: var(--muted);
  border-radius: 16px;
  padding: 18px;
}

.ta-score-breakdown {
  display: grid;
  gap: 12px;
}

.ta-score-row {
  display: grid;
  grid-template-columns: 170px 1fr 42px;
  align-items: center;
  gap: 12px;
  font-size: 14px;
}

.ta-score-row span {
  color: var(--muted);
}

.ta-score-row div {
  height: 10px;
  background: #eef2f7;
  border-radius: 999px;
  overflow: hidden;
}

.ta-score-row i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--blue), #63a4ff);
  border-radius: 999px;
}

.ta-score-row strong {
  color: var(--blue);
  text-align: right;
}

.ta-profile-sidebar {
  min-width: 0;
}

.ta-sticky-card {
  position: sticky;
  top: 92px;
}

.ta-sticky-card h2 {
  margin: 0 0 14px;
}

.ta-trust-stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}

.ta-trust-stat strong {
  color: var(--blue);
  font-size: 22px;
}

.ta-trust-stat span {
  color: var(--muted);
  text-align: right;
}

.ta-filter-btn {
  width: 100%;
  margin-top: 12px;
}

@media (max-width: 980px) {
  .ta-lawyer-hero__card,
  .ta-profile-grid {
    grid-template-columns: 1fr;
  }
  .ta-score-card,
  .ta-sticky-card {
    position: static;
  }
}

@media (max-width: 640px) {
  .ta-lawyer-hero__main {
    flex-direction: column;
    align-items: flex-start;
  }
  .ta-lawyer-identity h1 {
    font-size: 32px;
  }
  .ta-score-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .ta-score-row strong {
    text-align: left;
  }
}

/* Admin moderation & Google helper — v0.5.1 */
.ta-admin-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:22px;
}
.ta-admin-stat{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:20px;
  box-shadow:var(--shadow);
}
.ta-admin-stat strong{
  display:block;
  color:var(--blue);
  font-size:34px;
  line-height:1;
  margin-bottom:8px;
}
.ta-admin-stat span{color:var(--muted);font-weight:700}
.ta-admin-panel__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.ta-admin-panel__head h2{margin:0 0 6px}
.ta-admin-panel__head p{margin:0;color:var(--muted)}
.ta-admin-list{display:grid;gap:12px}
.ta-admin-row,
.ta-admin-lawyer-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  background:#fff;
}
.ta-admin-row strong{display:block;font-size:18px;margin-bottom:4px}
.ta-admin-row span{color:var(--muted)}
.ta-admin-lawyer-card__main{display:flex;align-items:center;gap:14px}
.ta-admin-lawyer-card h2{margin:0 0 6px;font-size:22px}
.ta-admin-lawyer-card p{margin:0 0 10px;color:var(--muted)}
.ta-admin-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:18px;
}
.ta-admin-tabs a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
  font-weight:800;
  color:var(--muted);
}
.ta-admin-tabs a.is-active{background:var(--blue);border-color:var(--blue);color:#fff}
.ta-empty-state h2,.ta-empty-state h3{margin:0 0 8px}
.ta-empty-state p{margin:0;color:var(--muted)}
.ta-avatar{
  width:78px;height:78px;border-radius:24px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--blue),#63a4ff);
  color:#fff;font-size:34px;font-weight:900;flex:0 0 auto;
}
.ta-avatar--sm{width:54px;height:54px;border-radius:18px;font-size:24px}
.ta-profile-review-head{display:flex;gap:16px;align-items:center;margin-bottom:22px}
.ta-profile-review-head h2{margin:0 0 6px;font-size:30px}
.ta-profile-review-head p{margin:0 0 10px;color:var(--muted)}
.ta-badges{display:flex;flex-wrap:wrap;gap:8px}
.ta-badges span{
  display:inline-flex;align-items:center;min-height:28px;padding:0 10px;
  border-radius:999px;background:var(--soft);color:var(--blue);font-weight:800;font-size:13px;
}
.ta-review-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0;
}
.ta-review-grid div,.ta-text-box{
  border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:14px;
}
.ta-review-grid strong{display:block;margin-bottom:6px}
.ta-review-grid span{color:var(--muted)}
.ta-text-box{line-height:1.55;color:var(--text);margin-bottom:18px}
.ta-google-link{
  display:flex;align-items:center;justify-content:center;min-height:50px;
  border-radius:16px;background:var(--soft);color:var(--blue);font-weight:900;
}
.ta-admin-action-form{margin:10px 0}
.ta-admin-action-form .ta-btn{width:100%}
.ta-btn--danger{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}
.ta-google-helper{
  display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start;
  border:1px solid #dbeafe;background:#f8fbff;border-radius:18px;padding:16px;margin:18px 0 10px;
}
.ta-google-helper label{margin:0 0 6px!important}
.ta-google-helper p{margin:0;color:var(--muted);line-height:1.45}
.ta-google-helper details{
  min-width:260px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;
}
.ta-google-helper summary{cursor:pointer;font-weight:900;color:var(--blue)}
.ta-google-helper ol{margin:10px 0 8px;padding-left:20px;color:var(--muted);line-height:1.5}
.ta-google-helper details p{font-size:14px}
@media(max-width:900px){
  .ta-admin-stats,.ta-review-grid,.ta-google-helper{grid-template-columns:1fr}
  .ta-admin-panel__head,.ta-admin-row,.ta-admin-lawyer-card{align-items:flex-start;flex-direction:column}
}

/* Admin users & platform management — v0.5.3 */
.ta-admin-quick-links{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin:0 0 22px;
}
.ta-admin-quick-links a{
  display:block;
  transition:.2s ease;
}
.ta-admin-quick-links a:hover{
  transform:translateY(-2px);
}
.ta-admin-quick-links strong{
  display:block;
  font-size:20px;
  margin-bottom:6px;
}
.ta-admin-quick-links span{
  color:var(--muted);
  font-weight:700;
}
.ta-admin-toolbar{
  display:grid;
  gap:12px;
  margin-bottom:18px;
}
.ta-admin-table{
  display:grid;
  gap:10px;
}
.ta-admin-table__head,
.ta-admin-table__row{
  display:grid;
  grid-template-columns:1.8fr .7fr .8fr 1fr auto;
  gap:14px;
  align-items:center;
}
.ta-admin-table__head{
  padding:0 14px 8px;
  color:var(--muted);
  font-weight:900;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.ta-admin-table__row{
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  background:#fff;
}
.ta-admin-table__row strong{
  display:block;
  font-size:17px;
  margin-bottom:4px;
}
.ta-admin-table__row span{
  color:var(--muted);
}
.ta-pill{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:var(--soft);
  color:var(--blue)!important;
  font-size:13px;
  font-weight:900;
}
.ta-pill--blocked,
.ta-pill--rejected{
  background:#fff1f2;
  color:#be123c!important;
}
.ta-pill--pending,
.ta-pill--draft{
  background:#fff7ed;
  color:#c2410c!important;
}
.ta-pill--active,
.ta-pill--approved{
  background:#ecfdf5;
  color:#047857!important;
}
.ta-row-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.ta-review-grid--one{
  grid-template-columns:1fr!important;
}
.ta-admin-case-card{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:18px;
}
.ta-admin-case-card small{
  color:var(--blue);
  font-weight:900;
}
.ta-admin-case-card h2{
  margin:8px 0;
  font-size:24px;
}
.ta-admin-case-card p{
  color:var(--muted);
  line-height:1.5;
  margin:0 0 12px;
}
@media(max-width:1000px){
  .ta-admin-quick-links{grid-template-columns:1fr 1fr}
  .ta-admin-table__head{display:none}
  .ta-admin-table__row{grid-template-columns:1fr}
  .ta-row-actions{justify-content:flex-start}
}
@media(max-width:640px){
  .ta-admin-quick-links{grid-template-columns:1fr}
  .ta-admin-case-card{flex-direction:column}
}

/* Admin CRM layout v0.6.5 */
.ta-admin-layout{
  max-width:1440px;
  margin:0 auto;
  padding:34px 28px 54px;
  display:grid;
  grid-template-columns:260px 1fr;
  gap:28px;
  align-items:start;
}
.ta-admin-sidebar{
  position:sticky;
  top:92px;
  background:#0f172a;
  color:#fff;
  border-radius:24px;
  padding:20px;
  box-shadow:var(--shadow);
}
.ta-admin-sidebar__brand{
  padding:6px 6px 18px;
  border-bottom:1px solid rgba(255,255,255,.12);
  margin-bottom:16px;
}
.ta-admin-sidebar__brand strong{
  display:block;
  font-size:22px;
}
.ta-admin-sidebar__brand span{
  display:block;
  color:#94a3b8;
  font-weight:800;
  margin-top:4px;
}
.ta-admin-sidebar__nav{
  display:grid;
  gap:6px;
}
.ta-admin-sidebar__group{
  color:#94a3b8;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:11px;
  font-weight:900;
  margin:14px 8px 6px;
}
.ta-admin-sidebar__nav a{
  display:flex;
  align-items:center;
  min-height:42px;
  padding:0 12px;
  border-radius:14px;
  color:#e5e7eb;
  font-weight:900;
}
.ta-admin-sidebar__nav a:hover,
.ta-admin-sidebar__nav a.is-active{
  background:#1f6feb;
  color:#fff;
}
.ta-admin-main{
  min-width:0;
}
.ta-admin-page-head{
  margin-bottom:28px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.ta-admin-page-head h1{
  font-size:46px;
  line-height:1.08;
  margin:0 0 10px;
  letter-spacing:-.8px;
}
.ta-admin-page-head p{
  color:var(--muted);
  font-size:18px;
  line-height:1.5;
  margin:0;
  max-width:780px;
}
.ta-admin-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:20px 0;
}
.ta-admin-card{
  display:block;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:20px;
  box-shadow:var(--shadow);
  transition:.18s ease;
}
.ta-admin-card:hover{
  transform:translateY(-2px);
}
.ta-admin-card strong{
  display:block;
  font-size:21px;
  margin-bottom:8px;
}
.ta-admin-card span{
  color:var(--muted);
  font-weight:800;
  line-height:1.35;
}
.ta-admin-stats--crm{
  grid-template-columns:repeat(4,1fr);
  margin-bottom:20px;
}
.ta-admin-filters{
  display:grid;
  gap:12px;
  margin-bottom:18px;
}
.ta-filter-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.ta-filter-row a,
.ta-admin-user-tabs span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--muted);
  border-radius:999px;
  padding:0 16px;
  font-weight:900;
}
.ta-filter-row a.is-active,
.ta-admin-user-tabs span.is-active{
  background:var(--blue);
  border-color:var(--blue);
  color:#fff;
}
.ta-filter-row--muted a.is-active{
  background:#0f172a;
  border-color:#0f172a;
}
.ta-admin-table__row{
  color:inherit;
}
.ta-admin-table__row:hover{
  border-color:#bfdbfe;
  box-shadow:0 10px 28px rgba(31,111,235,.08);
}
.ta-admin-user-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:20px;
  align-items:start;
}
.ta-admin-user-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:22px;
}
.ta-admin-user-side{
  position:sticky;
  top:92px;
}
@media(max-width:1100px){
  .ta-admin-layout{grid-template-columns:1fr}
  .ta-admin-sidebar{position:static}
  .ta-admin-sidebar__nav{grid-template-columns:repeat(2,1fr)}
  .ta-admin-grid,.ta-admin-stats--crm{grid-template-columns:1fr 1fr}
  .ta-admin-user-layout{grid-template-columns:1fr}
  .ta-admin-user-side{position:static}
}
@media(max-width:640px){
  .ta-admin-layout{padding:22px 14px 40px}
  .ta-admin-sidebar__nav{grid-template-columns:1fr}
  .ta-admin-grid,.ta-admin-stats--crm{grid-template-columns:1fr}
  .ta-admin-page-head{display:block}
  .ta-admin-page-head h1{font-size:34px}
}

/* Fix admin table action buttons text color */
.ta-admin-table__row .ta-btn--primary,
.ta-admin-table__row a.ta-btn--primary,
.ta-admin-table__row button.ta-btn--primary,
.ta-admin-table__row .ta-btn--primary:link,
.ta-admin-table__row .ta-btn--primary:visited,
.ta-admin-table__row .ta-btn--primary:hover,
.ta-admin-table__row .ta-btn--primary:focus,
.ta-admin-table__row .ta-btn--primary span {
  color: #ffffff !important;
}

.ta-admin-table__row .ta-btn--primary {
  background: var(--blue);
}

.ta-admin-table__row .ta-btn--primary:hover,
.ta-admin-table__row .ta-btn--primary:focus {
  background: var(--blue-dark);
}


/* Admin cities CRUD — v0.6.17 */
.ta-admin-city-create{margin-bottom:20px}
.ta-admin-city-create label{display:block;margin:0 0 8px;font-weight:900}
.ta-city-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;align-items:end}
.ta-city-form-action{display:flex;align-items:flex-end}
.ta-city-form-action .ta-btn{min-height:54px}
.ta-city-table__grid{grid-template-columns:1.4fr 1fr 1.4fr auto}
.ta-city-usage{display:flex;flex-wrap:wrap;gap:6px 12px}
.ta-city-usage span{font-size:13px}
.ta-city-table form{margin:0}
@media(max-width:1100px){
  .ta-city-form-grid{grid-template-columns:1fr 1fr}
  .ta-city-form-action .ta-btn{width:100%}
}
@media(max-width:760px){
  .ta-city-form-grid{grid-template-columns:1fr}
  .ta-city-table__grid{grid-template-columns:1fr}
}

/* Admin cities edit modal — v0.6.18 */
.ta-city-actions{
  align-items:center;
  flex-wrap:nowrap;
}
.ta-city-actions form{margin:0}
.ta-icon-btn{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
  font-size:25px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.ta-icon-btn:hover{transform:translateY(-1px)}
.ta-icon-btn--edit{
  color:var(--blue);
  background:var(--soft);
  border-color:#cfe0ff;
}
.ta-icon-btn--edit:hover{background:#dbeafe;border-color:#93c5fd}
.ta-icon-btn--delete{
  color:#be123c;
  background:#fff1f2;
  border-color:#fecdd3;
}
.ta-icon-btn--delete:hover{background:#ffe4e6;border-color:#fda4af}
.ta-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.ta-modal.is-open{display:flex}
.ta-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.62);
  backdrop-filter:blur(4px);
}
.ta-modal__dialog{
  position:relative;
  z-index:1;
  width:min(680px,100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  padding:28px;
  box-shadow:0 30px 90px rgba(15,23,42,.28);
}
.ta-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:12px;
  background:#f1f5f9;
  color:#475569;
  font-size:26px;
  cursor:pointer;
}
.ta-modal__head{padding-right:48px;margin-bottom:22px}
.ta-modal__head h2{margin:0 0 8px;font-size:30px}
.ta-modal__head p{margin:0;color:var(--muted);line-height:1.5}
.ta-modal__fields{display:grid;gap:16px}
.ta-modal__fields label{display:block;margin-bottom:8px;font-weight:900}
.ta-modal__fields small{display:block;margin-top:7px;color:var(--muted)}
.ta-modal__actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-top:24px;
}
body.ta-modal-open{overflow:hidden}
@media(max-width:640px){
  .ta-city-actions{justify-content:flex-start}
  .ta-modal__dialog{padding:22px 18px}
  .ta-modal__actions .ta-btn{width:100%}
}


/* Admin plans CRUD — v0.6.19 */
.ta-admin-plan-create{margin-bottom:20px}
.ta-admin-plan-create label{display:block;margin:0 0 8px;font-weight:900}
.ta-plan-form-grid{display:grid;grid-template-columns:170px minmax(220px,1.5fr) 130px 100px 120px 120px 130px 150px auto;gap:12px;align-items:end}
.ta-plan-active-check{min-height:54px;display:flex!important;align-items:center;gap:10px;margin:0!important;padding:0 14px;border:1px solid var(--line);border-radius:16px;background:#f8fafc;white-space:nowrap}
.ta-plan-active-check input{width:20px;height:20px;flex:0 0 auto}
.ta-plan-active-check span{font-weight:800}.ta-plan-form-action{display:flex;align-items:flex-end}.ta-plan-form-action .ta-btn{min-height:54px}
.ta-plan-table__grid{grid-template-columns:1.5fr 1fr 1.1fr .8fr auto}.ta-plan-table .ta-pill{margin-top:8px}.ta-plan-limits{display:flex;flex-direction:column;gap:5px}.ta-plan-table form{margin:0}
.ta-modal__dialog--wide{width:min(900px,100%)}.ta-plan-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1350px){.ta-plan-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ta-plan-name-field{grid-column:span 2}.ta-plan-form-action .ta-btn{width:100%}}
@media(max-width:900px){.ta-plan-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ta-plan-table__grid{grid-template-columns:1fr}.ta-plan-modal-grid{grid-template-columns:1fr}}
@media(max-width:560px){.ta-plan-form-grid{grid-template-columns:1fr}.ta-plan-name-field{grid-column:auto}.ta-plan-active-check{width:100%}.ta-plan-form-action .ta-btn{width:100%}}

/* Admin plans layout polish — v0.6.21 */
.ta-admin-plan-create{
  overflow:hidden;
}
.ta-plan-create-grid{
  display:grid;
  gap:18px;
}
.ta-plan-create-section{
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#f8fafc;
}
.ta-plan-section-title{
  margin-bottom:14px;
  color:#334155;
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.ta-plan-main-grid{
  display:grid;
  grid-template-columns:180px minmax(280px,1fr) 150px 110px;
  gap:14px;
  align-items:end;
}
.ta-plan-limits-grid{
  display:grid;
  grid-template-columns:180px 180px 190px minmax(165px,1fr) auto;
  gap:14px;
  align-items:end;
}
.ta-plan-active-check{
  justify-content:center;
  min-width:165px;
}
.ta-plan-form-action .ta-btn{
  min-width:170px;
  padding-left:22px;
  padding-right:22px;
}
.ta-plan-table .ta-admin-table__row{
  padding:16px 18px;
}
.ta-plan-table__grid{
  grid-template-columns:minmax(220px,1.5fr) minmax(150px,.85fr) minmax(165px,1fr) minmax(120px,.7fr) 110px;
}
.ta-plan-table .ta-row-actions{
  min-width:102px;
}
@media(max-width:1250px){
  .ta-plan-main-grid{grid-template-columns:180px minmax(240px,1fr) 140px 100px}
  .ta-plan-limits-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}
  .ta-plan-active-check,.ta-plan-form-action{width:100%}
  .ta-plan-form-action .ta-btn{width:100%}
}
@media(max-width:900px){
  .ta-plan-main-grid,.ta-plan-limits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ta-plan-name-field{grid-column:auto}
}
@media(max-width:560px){
  .ta-plan-main-grid,.ta-plan-limits-grid{grid-template-columns:1fr}
  .ta-plan-create-section{padding:14px}
}


/* Admin user delete — v0.6.22 */
.ta-danger-zone{margin-top:18px;padding:16px;border:1px solid #fecdd3;border-radius:16px;background:#fff7f8;}
.ta-danger-zone > strong{display:block;color:#be123c;margin-bottom:6px;}
.ta-danger-zone p{margin:0 0 14px;color:#7f1d1d;font-size:14px;line-height:1.5;}
.ta-danger-zone .ta-btn{width:100%;}
.ta-btn--danger:disabled{opacity:.55;cursor:not-allowed;transform:none;}

/* Admin legal categories CRUD — v0.6.23 */
.ta-admin-category-create{margin-bottom:20px}
.ta-admin-category-create label{display:block;margin:0 0 8px;font-weight:900}
.ta-category-form-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(180px,.8fr) auto;gap:14px;align-items:end}
.ta-category-form-action{display:flex;align-items:flex-end}.ta-category-form-action .ta-btn{min-height:54px}
.ta-category-table__grid{grid-template-columns:minmax(260px,1.3fr) minmax(170px,.8fr) minmax(210px,.9fr) 110px}
.ta-category-usage{display:flex;flex-wrap:wrap;gap:10px}.ta-category-usage span{white-space:nowrap}
.ta-category-actions{min-width:102px}.ta-category-table form{margin:0}
@media(max-width:1050px){.ta-category-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ta-category-form-action .ta-btn{width:100%}.ta-category-table__grid{grid-template-columns:1fr}}
@media(max-width:560px){.ta-category-form-grid{grid-template-columns:1fr}.ta-category-actions{justify-content:flex-start}}

/* Public footer pages — v0.6.25 */
.ta-public-plans-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.ta-public-plan{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:280px;
}
.ta-public-plan h2{margin:0 0 12px;font-size:23px}
.ta-public-plan p{color:var(--muted);margin:5px 0;line-height:1.45}
.ta-public-plan .ta-btn{margin-top:auto}
.ta-public-plan__price{
  color:var(--blue);
  font-size:30px;
  font-weight:900;
  margin-bottom:14px;
}
.ta-legal-content{max-width:1080px}
.ta-legal-content h2{font-size:23px;margin:28px 0 10px}
.ta-legal-content h2:first-child{margin-top:0}
.ta-legal-content p{color:var(--muted);font-size:16px;line-height:1.7;margin:0}
@media(max-width:900px){.ta-public-plans-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.ta-public-plans-grid{grid-template-columns:1fr}}

/* Finance module v0.6.30 */
.ta-finance-form h2{margin:0 0 14px}.ta-finance-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px}.ta-finance-grid label{margin:0}.ta-fee-list,.ta-payment-list{display:grid;gap:10px}.ta-fee-row,.ta-payment-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr) auto;gap:16px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff}.ta-fee-row strong,.ta-payment-row strong{display:block}.ta-fee-row span,.ta-payment-row span{display:block;color:var(--muted);margin-top:4px}.ta-icon-btn{width:42px;height:42px;border-radius:14px;border:1px solid #bfdbfe;background:var(--soft);color:var(--blue);font-size:20px;font-weight:900;cursor:pointer}.ta-icon-btn--danger{background:#fff1f2;border-color:#fecdd3;color:#be123c}.ta-modal[hidden]{display:none}.ta-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.ta-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58)}.ta-modal__dialog{position:relative;width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;padding:24px;box-shadow:0 24px 80px rgba(15,23,42,.24)}.ta-modal__dialog h2{margin:0 0 16px}.ta-modal__close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:50%;background:var(--soft);color:var(--blue);font-size:24px;cursor:pointer}.ta-payment-row{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr) auto auto}.ta-payment-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ta-payment-breakdown span{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:10px;margin:0}.ta-payment-breakdown b{display:block;color:var(--text);margin-top:5px}.ta-payment-card h2{margin:8px 0}.ta-checkout-box{border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:18px 0}.ta-checkout-box>div{display:flex;justify-content:space-between;gap:18px;padding:14px 16px;border-bottom:1px solid var(--line)}.ta-checkout-box>div:last-child{border-bottom:0}.ta-checkout-box span{color:var(--muted)}.ta-checkout-box strong{font-size:18px}.ta-checkout-box .is-total{background:var(--soft)}.ta-checkout-box .is-total strong{color:var(--blue);font-size:22px}
@media(max-width:1100px){.ta-finance-grid{grid-template-columns:1fr 1fr}.ta-payment-row,.ta-fee-row{grid-template-columns:1fr}.ta-payment-breakdown{grid-template-columns:1fr 1fr 1fr}.ta-row-actions{justify-content:flex-start}}
@media(max-width:640px){.ta-finance-grid,.ta-payment-breakdown{grid-template-columns:1fr}.ta-checkout-box>div{flex-direction:column;gap:6px}}

/* v0.6.31 modal close hotfix */
#feeEditModal { display: none; }
#feeEditModal.is-open { display: flex; }


/* v0.6.32 plan modal close fix */
#planEditModal { display:none; }
#planEditModal.is-open { display:flex; }
#planEditModal .ta-modal__close,
#planEditModal [data-plan-modal-close] { pointer-events:auto; position:relative; z-index:3; }


/* v0.6.34 — unified modal visibility and layout fix */
.ta-modal {
  display: none !important;
}

.ta-modal.is-open {
  display: flex !important;
}

.ta-modal[hidden] {
  display: none !important;
}

.ta-modal__backdrop,
.ta-modal__dialog,
.ta-modal [data-city-modal-close],
.ta-modal [data-category-modal-close],
.ta-modal [data-plan-modal-close],
.ta-modal [data-close-modal] {
  pointer-events: auto;
}

.ta-modal__dialog {
  width: min(680px, calc(100vw - 40px));
  max-height: calc(100vh - 40px);
}

.ta-modal__dialog--wide {
  width: min(900px, calc(100vw - 40px));
}

.ta-modal__close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 5;
  margin: 0 !important;
}

@media (max-width: 640px) {
  .ta-modal {
    padding: 12px;
  }

  .ta-modal__dialog,
  .ta-modal__dialog--wide {
    width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
  }

  .ta-modal__close {
    top: 12px !important;
    right: 12px !important;
  }
}

/* v0.6.35 — private lawyer matching flow */
.ta-match-summary{padding:34px;text-align:center}
.ta-match-summary__icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;background:rgba(47,111,237,.12);color:var(--primary);font-size:28px;font-weight:900}
.ta-match-summary h2{max-width:760px;margin:8px auto 12px;font-size:32px;line-height:1.2}
.ta-match-summary>p{max-width:760px;margin:0 auto;color:var(--muted)}
.ta-match-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}
.ta-match-steps div{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}
.ta-match-steps strong{display:flex;width:32px;height:32px;border-radius:50%;align-items:center;justify-content:center;margin:0 auto 10px;background:var(--primary);color:#fff}
.ta-match-steps span{display:block;font-weight:700;line-height:1.4}
.ta-match-cta{min-width:300px;justify-content:center}
.ta-privacy-note{margin-top:18px}
.ta-privacy-note h3{margin-top:0}
.ta-case-online-check{margin:4px 0 20px}
.ta-offer-profile-text{color:var(--muted);line-height:1.65}
@media(max-width:760px){.ta-match-steps{grid-template-columns:1fr}.ta-match-summary{padding:24px 18px}.ta-match-summary h2{font-size:26px}.ta-match-cta{min-width:0;width:100%}}

/* v0.6.38: moderation counters */
.ta-admin-sidebar__nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.ta-admin-sidebar__badge,
.ta-admin-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    border-radius: 999px;
    background: #e11d48;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}
.ta-admin-card__badge {
    margin-left: 8px;
    vertical-align: middle;
}


/* v0.6.39: clear moderation state and pending profile changes */
.ta-current-decision{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:16px;margin:0 0 16px;border:1px solid var(--line);background:var(--soft)}
.ta-current-decision strong{font-size:20px}.ta-current-decision span{color:var(--muted);font-size:14px}
.ta-current-decision--approved{background:#ecfdf3;border-color:#a7f3d0;color:#087443}
.ta-current-decision--rejected,.ta-current-decision--blocked{background:#fff1f2;border-color:#fecdd3;color:#be123c}
.ta-current-decision--draft{background:#fffbeb;border-color:#fde68a;color:#a16207}
.ta-current-decision--pending{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.ta-status-chip{display:inline-flex!important;align-items:center;padding:7px 11px;border-radius:999px;font-weight:800}
.ta-status-chip--approved{background:#dcfce7;color:#15803d}.ta-status-chip--pending{background:#dbeafe;color:#1d4ed8}.ta-status-chip--draft{background:#fef3c7;color:#a16207}.ta-status-chip--rejected,.ta-status-chip--blocked{background:#ffe4e6;color:#be123c}
.ta-btn--success{background:#16a34a;color:#fff;border-color:#16a34a}.ta-btn--warning{background:#f59e0b;color:#fff;border-color:#f59e0b}
.ta-btn.is-disabled,.ta-btn:disabled{cursor:not-allowed;opacity:1;box-shadow:none;pointer-events:none}
.ta-pending-change-box{margin:0 0 18px}.ta-pending-change-box p{margin:8px 0}.ta-pending-change-box .ta-btn{width:100%;justify-content:center;margin-top:10px}

/* v0.6.40 lawyer profile parity */
.ta-profile-status{display:flex;flex-direction:column;gap:5px;padding:16px 18px;border-radius:16px;margin:12px 0 18px;border:1px solid #dbe3ef;background:#f7f9fc}.ta-profile-status strong{font-size:17px}.ta-profile-status span{color:#697386}.ta-profile-status--approved{background:#ecfdf3;border-color:#a7f3d0;color:#087443}.ta-profile-status--pending{background:#fff8e7;border-color:#f7d98b;color:#8a5a00}.ta-profile-status--draft{background:#fff8e7;border-color:#f7d98b;color:#8a5a00}.ta-profile-status--rejected,.ta-profile-status--blocked{background:#fff1f2;border-color:#fecdd3;color:#be123c}.ta-profile-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.ta-profile-metrics>div{padding:16px;border:1px solid #e2e7ef;border-radius:16px;background:#f8fafc}.ta-profile-metrics strong{display:block;font-size:24px;line-height:1.1;margin-bottom:6px}.ta-profile-metrics span{font-size:13px;color:#697386}@media(max-width:640px){.ta-profile-metrics{grid-template-columns:1fr}}


/* v0.6.41 — unified admin status indicators */
.ta-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:5px 10px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:12px;
  font-style:normal;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  letter-spacing:0;
}
.ta-status-badge--compact{min-width:28px;padding:5px 8px}
.ta-status-badge--success{background:#dcfce7;border-color:#bbf7d0;color:#166534}
.ta-status-badge--warning{background:#fef3c7;border-color:#fde68a;color:#92400e}
.ta-status-badge--danger{background:#e11d48;border-color:#e11d48;color:#fff;box-shadow:0 0 0 3px rgba(225,29,72,.10)}
.ta-status-badge--info{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8}
.ta-admin-sidebar__nav a .ta-status-badge{flex:0 0 auto}
.ta-admin-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.ta-admin-card__head strong{margin:0}
.ta-admin-card__head>.ta-status-badge{flex:0 0 auto}
.ta-admin-stat{position:relative}
.ta-admin-stat>.ta-status-badge{margin-top:14px}
.ta-admin-stat--attention{border-color:#fde68a;background:#fffbeb}
.ta-admin-stat--ok{border-color:#bbf7d0;background:#f0fdf4}
@media(max-width:640px){
  .ta-admin-card__head{align-items:flex-start;flex-direction:column}
  .ta-admin-card__head>.ta-status-badge{align-self:flex-start}
}
