/* --- Identity card polish --- */
.id-card .card__head { margin-block-end: .75rem; }
.id-card .card__title { display:flex; align-items:center; gap:.6rem; }

/* Grid (already have grid--2; keep) */

/* Generic inputs by attribute if widget_tweaks not used */
input[name="company_name"]{ inline-size:100%; }
.input-field,
input[name="company_name"]{
  border:1px solid var(--color-border-light, #d8dee6);
  background: var(--color-bg, #fff);
  color: var(--color-text, #0f172a);
  border-radius:10px;
  padding:.6rem .75rem;
  inline-size:100%;
}
.input-field:focus,
input[name="company_name"]:focus{
  outline:none;
  border-color: var(--c-accent, #007680);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent, #007680) 20%, transparent);
}
.form-hint{ color: var(--color-muted-dark,#475569); font-size:.875rem; margin-block-start:.25rem; }
.form-error{ color:#b91c1c; background:#fef2f2; border:1px solid #fecaca; border-radius:8px; padding:.5rem .6rem; margin-block-start:.4rem; }

/* Logo upload card */
.logo-upload{
  display:grid; grid-template-columns: 1.2fr .8fr; gap:16px;
  border:1px dashed color-mix(in oklab, var(--c-accent,#007680) 30%, #0000);
  border-radius:12px; padding:14px;
  background:color-mix(in oklab, var(--c-accent,#007680) 6%, #fff);
}
.logo-upload__left{ display:grid; gap:.6rem; align-content:start; }
.logo-actions{ display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
.logo-link{ text-decoration:none; color:var(--c-accent,#007680); font-weight:700; }
.logo-link[hidden]{ display:none; }

.badge{ display:inline-block; padding:.15rem .45rem; border-radius:999px; font-size:.75rem; }
.badge--ghost{ background: #eef6f7; color: var(--c-accent,#007680); border:1px solid color-mix(in oklab, var(--c-accent,#007680) 40%, #0000); }

.logo-upload__preview{
  position:relative; border-radius:12px; background:#f8fafc;
  display:grid; place-items:center; min-block-size:140px; overflow:hidden;
}
.logo-image{
  max-inline-size:100%; max-block-size:140px; object-fit:contain; display:block;
}
.logo-drop-hint{
  position:absolute; inset: auto 8px 8px auto; display:flex; gap:.4rem;
  align-items:center; color:#64748b; background:#ffffffc9; padding:.25rem .45rem;
  border-radius:999px; font-size:.8rem; pointer-events:none;
}

/* Drag active */
.logo-upload.is-dragover{ background:#eefcfb; border-color: var(--c-accent,#007680); }

/* RTL awareness via logical props only; no extra rules needed */

.tiles-radio{
  display:grid; gap:.75rem;
  grid-template-columns: repeat(auto-fill, minmax(160px,1fr));
}
.tile-radio{ display:block; }
.tile-radio__input{ position:absolute; inset:auto; inline-size:1px; block-size:1px; opacity:0; }

.tile-radio__box{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.45rem; padding:1rem .8rem; min-block-size:120px; text-align:center;
  border:1px solid var(--color-border-light,#e5e7eb);
  border-radius:16px; background:#fff; cursor:pointer;
  transition: transform .06s ease, box-shadow .15s ease, border-color .15s;
}
.tile-radio__box i.fa-solid{ font-size:1.6rem; color:var(--c-accent,#007680); }
.tile-radio__label{ font-weight:700; color:var(--color-text,#0f172a); }
.tile-check{
  position:absolute; inset-block-start:.55rem; inset-inline-end:.55rem;
  opacity:0; transform:scale(.9); color:var(--c-accent,#007680);
}
.tile-radio__box:hover{ box-shadow:0 6px 20px rgba(0,0,0,.06); }
.tile-radio__box:active{ transform:scale(.98); }

/* Selected: modern browsers via :has, else JS fallback */
@supports(selector(:has(*))){
  .tile-radio:has(.tile-radio__input:checked) .tile-radio__box{
    border-color:var(--c-accent,#007680);
    background:color-mix(in oklab, var(--c-accent,#007680) 8%, #fff);
  }
  .tile-radio:has(.tile-radio__input:checked) .tile-check{ opacity:1; transform:none; }
}
/* Fallback */
.tile-radio.is-selected .tile-radio__box{
  border-color:var(--c-accent,#007680);
  background:color-mix(in oklab, var(--c-accent,#007680) 8%, #fff);
}
.tile-radio.is-selected .tile-check{ opacity:1; transform:none; }

.tile-radio--other i.fa-pen-to-square{ color:#7c8794; }
.other-wrap{ margin-block:.6rem 0; display:grid; gap:.35rem; }
.input-field{
  border:1px solid var(--color-border-light,#d8dee6);
  border-radius:10px; padding:.6rem .75rem; background:#fff; inline-size:100%;
}
.input-field:focus{
  outline:none; border-color:var(--c-accent,#007680);
  box-shadow:0 0 0 3px color-mix(in oklab, var(--c-accent,#007680) 20%, transparent);
}

/* chip radio cards */
.chip-radio-group { display:flex; flex-wrap:wrap; gap:.5rem; }
.chip-radio { position:absolute; opacity:0; pointer-events:none; }
.chip-card {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.45rem .8rem; border:1px solid var(--border,#e5e7eb);
  border-radius:999px; cursor:pointer; user-select:none;
  background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.chip-radio:focus + .chip-card { outline:2px solid var(--accent,#2563eb); outline-offset:2px; }
.chip-radio:checked + .chip-card {
  background:var(--accent,#2563eb); color:#fff; border-color:transparent;
}

/* toggle switch */
.switch { position:relative; display:inline-block; width:48px; height:28px; vertical-align:middle; }
.switch input { opacity:0; width:0; height:0; }
.slider {
  position:absolute; cursor:pointer; inset:0; background:#e5e7eb; border-radius:999px;
  transition:background .2s ease;
}
.slider:before {
  content:""; position:absolute; height:22px; width:22px; left:3px; top:3px;
  background:#fff; border-radius:50%; box-shadow:0 1px 2px rgba(0,0,0,.2);
  transition:transform .2s ease;
}
.switch input:checked + .slider { background:var(--accent,#2563eb); }
.switch input:checked + .slider:before { transform:translateX(20px); }
