/* Editor de enlaces de la web */
.lk-app { display: grid; gap: 26px; }
.lk-group { animation: nthRise .5s var(--spring-ease) both; }
.lk-group-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.lk-group-ico { width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem; background: rgba(118,118,128,.18); }
.lk-group-head h3 { font-size: 1.05rem; font-weight: 700; letter-spacing: -.02em; }
.lk-group-head p { font-size: .8rem; color: var(--text-muted); }
.lk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.lk-empty { padding: 18px; border-radius: 16px; border: 1.5px dashed rgba(255,255,255,.14); color: var(--text-muted); text-align: center; grid-column: 1 / -1; }

.lk-row { display: grid; gap: 8px; padding: 14px; border-radius: 18px; background: var(--bg-surface-elevated); border: 1px solid var(--border-subtle); transition: transform .35s var(--spring-ease), border-color .3s, opacity .3s, box-shadow .35s; }
.lk-row:hover { transform: translateY(-2px); border-color: var(--border-medium); }
.lk-row.off { opacity: .55; }
.lk-row.saved { border-color: rgba(48,209,88,.7); box-shadow: 0 0 0 4px rgba(48,209,88,.14); }
.lk-row-head { display: flex; align-items: center; gap: 10px; }
.lk-row input[type="text"], .lk-row input[type="url"] { width: 100%; padding: 10px 12px; border-radius: 11px; border: 1px solid transparent; background: var(--bg-input); color: var(--text-primary); font: 500 .88rem var(--font-ui); transition: .2s; }
.lk-row input:focus { outline: none; border-color: var(--border-focus); box-shadow: 0 0 0 4px rgba(255,200,61,.16); }
.lk-label { font-weight: 700 !important; }
.lk-url { font-family: var(--font-mono) !important; font-size: .78rem !important; }
.lk-row-actions { display: flex; align-items: center; gap: 8px; }
.lk-spacer { flex: 1; }
.lk-test { font-size: .78rem; font-weight: 600; color: var(--gold-primary); text-decoration: none; }
.lk-test:hover { text-decoration: underline; }
.lk-btn { border: 0; padding: 8px 14px; border-radius: 980px; font: 700 .78rem var(--font-ui); cursor: pointer; background: var(--gold-primary); color: #1a1400; transition: transform .2s var(--spring-ease), opacity .2s; }
.lk-btn:hover { transform: scale(1.05); }
.lk-btn:disabled { opacity: .5; }
.lk-del { background: rgba(255,69,58,.15); color: #ff6961; }

.lk-switch { position: relative; width: 46px; height: 28px; flex-shrink: 0; cursor: pointer; }
.lk-switch input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.lk-switch span { position: absolute; inset: 0; border-radius: 28px; background: rgba(120,120,128,.32); transition: background .25s; }
.lk-switch span::after { content: ''; position: absolute; top: 2px; left: 2px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.4); transition: transform .3s var(--spring-ease); }
.lk-switch input:checked + span { background: var(--status-emerald); }
.lk-switch input:checked + span::after { transform: translateX(18px); }

@media (max-width: 640px) {
  .lk-grid { grid-template-columns: 1fr; }
}

.lk-hint { font-size: .78rem; color: var(--text-muted); margin: -4px 0 10px; }
.lk-draggable { cursor: grab; }
.lk-row.dragging { opacity: .45; transform: scale(.98); cursor: grabbing; }
