/* ============================================================================
   LinkMartin components — VENDORED VERBATIM from the Claude Design project
   "LinkMartin Design System", components/core/core.css + components/forms/forms.css
   (2026-08-05). Do not edit here; edit in the design system and re-vendor.
   ============================================================================ */

/* ---- components/core/core.css ---- */
.lm-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--lm-space-3);font-family:var(--lm-font-ui);font-weight:var(--lm-weight-semibold);border:var(--lm-border-width) solid transparent;border-radius:var(--lm-radius-md);cursor:pointer;transition:var(--lm-transition-tint);text-decoration:none;white-space:nowrap;line-height:1}
.lm-btn--sm{font-size:var(--lm-text-xs);padding:0 var(--lm-space-5);height:26px}
.lm-btn--md{font-size:var(--lm-text-base);padding:0 var(--lm-space-7);height:32px}
.lm-btn--lg{font-size:var(--lm-text-md);padding:0 var(--lm-space-9);height:40px}
.lm-btn--primary{background:var(--lm-brand);color:var(--lm-text-on-brand)}
.lm-btn--primary:hover{background:var(--lm-brand-hover)}
.lm-btn--primary:active{background:var(--lm-brand-active)}
.lm-btn--secondary{background:var(--lm-surface-card);color:var(--lm-text-brand);border-color:var(--lm-border-strong)}
.lm-btn--secondary:hover{background:var(--lm-brand-soft);border-color:var(--lm-purple-300)}
.lm-btn--secondary:active{background:var(--lm-purple-200)}
.lm-btn--ghost{background:transparent;color:var(--lm-text-brand)}
.lm-btn--ghost:hover{background:var(--lm-brand-soft)}
.lm-btn--ghost:active{background:var(--lm-purple-200)}
.lm-btn--danger{background:var(--lm-red-600);color:var(--lm-neutral-0)}
.lm-btn--danger:hover{filter:brightness(0.92)}
.lm-btn[disabled],.lm-btn[aria-disabled=true]{opacity:.42;cursor:not-allowed;pointer-events:none}
.lm-btn--block{width:100%}

.lm-iconbtn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:var(--lm-border-width) solid transparent;border-radius:var(--lm-radius-md);color:var(--lm-text-meta);cursor:pointer;transition:var(--lm-transition-tint);padding:0}
.lm-iconbtn--sm{width:24px;height:24px}
.lm-iconbtn--md{width:32px;height:32px}
.lm-iconbtn--lg{width:40px;height:40px}
.lm-iconbtn:hover{background:var(--lm-brand-soft);color:var(--lm-text-brand)}
.lm-iconbtn:active{background:var(--lm-purple-200)}
.lm-iconbtn[aria-pressed=true]{background:var(--lm-brand-soft);color:var(--lm-text-brand)}
.lm-iconbtn[disabled]{opacity:.42;cursor:not-allowed}

.lm-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;color:inherit}
.lm-icon svg{width:100%;height:100%;display:block;stroke:currentColor;fill:none}

.lm-badge{display:inline-flex;align-items:center;gap:var(--lm-space-2);font-family:var(--lm-font-ui);font-size:var(--lm-text-xs);font-weight:var(--lm-weight-semibold);padding:2px var(--lm-space-4);border-radius:var(--lm-radius-pill);white-space:nowrap}
.lm-badge--brand{background:var(--lm-brand-soft);color:var(--lm-text-brand)}
.lm-badge--ok{background:var(--lm-status-ok-bg);color:var(--lm-status-ok-fg)}
.lm-badge--warn{background:var(--lm-status-warn-bg);color:var(--lm-status-warn-fg)}
.lm-badge--error{background:var(--lm-status-error-bg);color:var(--lm-status-error-fg)}
.lm-badge--info{background:var(--lm-status-info-bg);color:var(--lm-status-info-fg)}
.lm-badge--neutral{background:var(--lm-surface-sunken);color:var(--lm-text-meta)}
.lm-badge--solid{background:var(--lm-brand);color:var(--lm-text-on-brand)}

.lm-tag{display:inline-flex;align-items:center;gap:var(--lm-space-3);font-family:var(--lm-font-ui);font-size:var(--lm-text-xs);color:var(--lm-text-meta);background:var(--lm-surface-card);border:var(--lm-border-width) solid var(--lm-border);border-radius:var(--lm-radius-sm);padding:3px var(--lm-space-4);transition:var(--lm-transition-tint)}
.lm-tag--interactive{cursor:pointer}
.lm-tag--interactive:hover{background:var(--lm-brand-soft);border-color:var(--lm-purple-300);color:var(--lm-text-brand)}
.lm-tag[aria-pressed=true]{background:var(--lm-brand-soft);border-color:var(--lm-purple-300);color:var(--lm-text-brand)}
.lm-tag__x{display:inline-flex;border:0;background:transparent;padding:0;cursor:pointer;color:inherit;opacity:.6}
.lm-tag__x:hover{opacity:1}

.lm-card{background:var(--lm-surface-card);border:var(--lm-border-width) solid var(--lm-border);border-radius:var(--lm-radius-2xl);padding:var(--lm-card-padding);box-shadow:var(--lm-shadow-none)}
.lm-card--sunken{background:var(--lm-surface-sunken)}
.lm-card--brand{background:var(--lm-brand-soft);border-color:var(--lm-purple-200)}
.lm-card--flush{padding:0;overflow:hidden}
.lm-card--rule{border-left:var(--lm-border-accent) solid var(--lm-brand);background:var(--lm-brand-soft)}
.lm-card--flag{border-left:var(--lm-border-accent) solid var(--lm-red-600)}
.lm-card--win{border-left:var(--lm-border-accent) solid var(--lm-green-600)}
.lm-card--interactive{cursor:pointer;transition:var(--lm-transition-tint)}
.lm-card--interactive:hover{border-color:var(--lm-purple-300);background:var(--lm-purple-50)}
.lm-card__title{font-family:var(--lm-font-heading);font-size:var(--lm-text-base);color:var(--lm-text-brand);margin:0 0 var(--lm-space-4)}
.lm-card__body{font-family:var(--lm-font-body);font-size:var(--lm-text-base);color:var(--lm-text-body);margin:0}

.lm-wordmark{font-family:var(--lm-font-wordmark);font-weight:var(--lm-weight-bold);letter-spacing:var(--lm-tracking-tight);color:var(--lm-text-brand);line-height:1;display:inline-block}
.lm-wordmark--onbrand{color:var(--lm-text-on-brand)}
.lm-wordmark--ink{color:var(--lm-text-heading)}

/* ---- components/forms/forms.css ---- */
.lm-field{display:flex;flex-direction:column;gap:var(--lm-space-3);font-family:var(--lm-font-ui)}
.lm-field__label{font-size:var(--lm-text-sm);font-weight:var(--lm-weight-semibold);color:var(--lm-text-heading)}
.lm-field__hint{font-size:var(--lm-text-sm);color:var(--lm-text-meta)}
.lm-field__error{font-size:var(--lm-text-sm);color:var(--lm-status-error-fg)}

.lm-input{display:flex;align-items:center;gap:var(--lm-space-3);background:var(--lm-surface-card);border:var(--lm-border-width) solid var(--lm-border);border-radius:var(--lm-radius-md);padding:0 var(--lm-space-5);height:32px;transition:var(--lm-transition-tint)}
.lm-input:hover{border-color:var(--lm-border-strong)}
.lm-input:focus-within{border-color:var(--lm-focus-ring);box-shadow:var(--lm-ring-inset)}
.lm-input--invalid{border-color:var(--lm-status-error-fg)}
.lm-input--lg{height:40px}
.lm-input__el{flex:1;min-width:0;border:0;background:transparent;outline:0;font-family:var(--lm-font-ui);font-size:var(--lm-text-base);color:var(--lm-text-heading)}
.lm-input__el::placeholder{color:var(--lm-text-muted)}
.lm-input__affix{color:var(--lm-text-muted);display:inline-flex}
.lm-input[data-disabled=true]{background:var(--lm-surface-sunken);opacity:.6}

.lm-select{position:relative;display:flex;align-items:center;background:var(--lm-surface-card);border:var(--lm-border-width) solid var(--lm-border);border-radius:var(--lm-radius-md);height:32px;transition:var(--lm-transition-tint)}
.lm-select:hover{border-color:var(--lm-border-strong)}
.lm-select:focus-within{border-color:var(--lm-focus-ring);box-shadow:var(--lm-ring-inset)}
.lm-select__el{appearance:none;border:0;background:transparent;outline:0;font-family:var(--lm-font-ui);font-size:var(--lm-text-base);color:var(--lm-text-heading);padding:0 30px 0 var(--lm-space-5);height:100%;width:100%;cursor:pointer}
.lm-select__chev{position:absolute;right:var(--lm-space-5);color:var(--lm-text-muted);pointer-events:none}

.lm-check{display:inline-flex;align-items:flex-start;gap:var(--lm-space-4);font-family:var(--lm-font-ui);font-size:var(--lm-text-base);color:var(--lm-text-body);cursor:pointer}
.lm-check__box{position:relative;flex:none;width:15px;height:15px;margin-top:2px;border:var(--lm-border-width) solid var(--lm-border-strong);border-radius:var(--lm-radius-sm);background:var(--lm-surface-card);transition:var(--lm-transition-tint)}
.lm-check:hover .lm-check__box{border-color:var(--lm-purple-400)}
.lm-check__input{position:absolute;opacity:0;width:0;height:0}
.lm-check__input:checked+.lm-check__box{background:var(--lm-brand);border-color:var(--lm-brand)}
.lm-check__input:checked+.lm-check__box::after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid var(--lm-neutral-0);border-width:0 1.75px 1.75px 0;transform:rotate(42deg)}
.lm-check__input:indeterminate+.lm-check__box{background:var(--lm-brand);border-color:var(--lm-brand)}
.lm-check__input:indeterminate+.lm-check__box::after{content:"";position:absolute;left:3px;top:6px;width:7px;height:1.75px;background:var(--lm-neutral-0)}
.lm-check__input:focus-visible+.lm-check__box{box-shadow:0 0 0 2px var(--lm-focus-ring)}
.lm-check__input:disabled+.lm-check__box{background:var(--lm-surface-sunken);border-color:var(--lm-border)}
.lm-check--disabled{opacity:.5;cursor:not-allowed}
.lm-check__text{display:flex;flex-direction:column;gap:1px}
.lm-check__desc{font-size:var(--lm-text-sm);color:var(--lm-text-meta)}

.lm-radio__box{border-radius:var(--lm-radius-pill)}
.lm-check__input:checked+.lm-radio__box{background:var(--lm-surface-card);border-color:var(--lm-brand)}
.lm-check__input:checked+.lm-radio__box::after{content:"";position:absolute;left:3px;top:3px;width:7px;height:7px;border:0;border-radius:var(--lm-radius-pill);background:var(--lm-brand);transform:none}

.lm-switch{display:inline-flex;align-items:center;gap:var(--lm-space-5);font-family:var(--lm-font-ui);font-size:var(--lm-text-base);color:var(--lm-text-body);cursor:pointer}
.lm-switch__track{position:relative;flex:none;width:34px;height:19px;border-radius:var(--lm-radius-pill);background:var(--lm-neutral-300);transition:background-color var(--lm-duration-fast) var(--lm-ease-standard)}
.lm-switch__track::after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:var(--lm-radius-pill);background:var(--lm-neutral-0);transition:transform var(--lm-duration-fast) var(--lm-ease-standard)}
.lm-switch__input{position:absolute;opacity:0;width:0;height:0}
.lm-switch__input:checked+.lm-switch__track{background:var(--lm-brand)}
.lm-switch__input:checked+.lm-switch__track::after{transform:translateX(15px)}
.lm-switch__input:focus-visible+.lm-switch__track{box-shadow:0 0 0 2px var(--lm-focus-ring)}
.lm-switch--disabled{opacity:.5;cursor:not-allowed}
