/*
 * Onlyplace Design System v1.0 — Fresh Green.
 * Все публичные компоненты должны использовать эти tokens вместо локальных палитр.
 */
:root{
  --op-color-primary:#159455;
  --op-color-primary-hover:#117A46;
  --op-color-primary-soft:#EAF7F0;
  --op-color-page:#F7F9F8;
  --op-color-surface:#FFFFFF;
  --op-color-text:#17201B;
  --op-color-text-secondary:#66736B;
  --op-color-border:#DDE5E0;
  --op-color-error:#D92D20;
  --op-color-warning:#D97706;
  --op-color-success:#159455;
  --op-radius-card:12px;
  --op-radius-control:8px;
  --op-space-1:4px;
  --op-space-2:8px;
  --op-space-3:12px;
  --op-space-4:16px;
  --op-space-5:24px;
  --op-space-6:32px;
  --op-space-7:48px;
  --op-space-8:64px;
  --op-space-9:80px;
  --op-container:1280px;
  --op-shadow-hover:0 10px 30px rgba(23,32,27,.08);
}

.onlyplace-ui{
  color:var(--op-color-text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.5;
}
.onlyplace-ui *{box-sizing:border-box}
.onlyplace-ui a{color:inherit}
.op-button{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 18px;
  border:1px solid transparent;
  border-radius:var(--op-radius-control);
  font-size:14px;
  font-weight:600;
  line-height:20px;
  text-decoration:none!important;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease;
}
.op-button--primary{background:var(--op-color-primary);color:#fff!important}
.op-button--primary:hover,.op-button--primary:focus-visible{background:var(--op-color-primary-hover);color:#fff!important}
.op-button--secondary{background:var(--op-color-surface);border-color:var(--op-color-border);color:var(--op-color-text)!important}
.op-button--secondary:hover,.op-button--secondary:focus-visible{border-color:var(--op-color-primary);color:var(--op-color-primary)!important}
.op-button:focus-visible{outline:3px solid rgba(21,148,85,.18);outline-offset:2px}
.op-chip,.op-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:28px;
  padding:4px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  line-height:18px;
}
.op-chip{background:#F1F4F2;color:var(--op-color-text-secondary)}
.op-badge--verified{background:var(--op-color-primary-soft);color:var(--op-color-primary-hover)}
.op-card{background:var(--op-color-surface);border:1px solid var(--op-color-border);border-radius:var(--op-radius-card)}
