{% extends "base.html" %} {% block title %}Edit Go Links{% endblock %} {% block max_width %}920px{% endblock %} {% block extra_styles %} .page-header { display: flex; justify-content: space-between; align-items: flex-start; } .header-actions { display: flex; gap: 8px; margin-top: 4px; } .link-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 18px 20px; margin-bottom: 10px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); transition: border-color 0.15s ease, box-shadow 0.15s ease; } .link-card:hover { border-color: #cbd5e1; } .link-card:focus-within { border-color: #93c5fd; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.08); } .link-row { display: flex; gap: 12px; align-items: flex-end; } .field-group { display: flex; flex-direction: column; gap: 5px; } .field-group label { font-size: 11px; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.05em; } .field-group input { padding: 9px 12px; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 14px; font-family: 'SF Mono', 'Fira Code', 'Fira Mono', 'Roboto Mono', monospace; color: #1e293b; background: #f8fafc; transition: all 0.15s ease; } .field-group input::placeholder { color: #cbd5e1; } .field-group input:focus { outline: none; border-color: #93c5fd; background: #fff; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.08); } .field-name { flex: 0 0 160px; } .field-url { flex: 1; } .template-toggle { display: flex; align-items: center; gap: 7px; padding-bottom: 2px; } .template-toggle input[type="checkbox"] { width: 16px; height: 16px; accent-color: #3b82f6; cursor: pointer; } .template-toggle label { font-size: 13px; color: #64748b; cursor: pointer; white-space: nowrap; user-select: none; } .defaults-section { margin-top: 14px; padding-top: 14px; border-top: 1px solid #f1f5f9; } .defaults-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; } .defaults-header span { font-size: 11px; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.05em; } .default-row { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; } .default-row input { padding: 7px 10px; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 13px; font-family: 'SF Mono', 'Fira Code', 'Fira Mono', 'Roboto Mono', monospace; color: #1e293b; background: #f8fafc; transition: all 0.15s ease; } .default-row input::placeholder { color: #cbd5e1; } .default-row input:focus { outline: none; border-color: #93c5fd; background: #fff; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.08); } .default-key { width: 130px; } .default-value { flex: 1; } .bottom-bar { display: flex; gap: 10px; align-items: center; margin-top: 24px; } .message { padding: 12px 18px; border-radius: 10px; margin-top: 16px; font-size: 14px; font-weight: 500; display: none; transition: opacity 0.2s ease; } .message-success { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; } .message-error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; } .message.visible { display: block; } .empty-state { text-align: center; color: #94a3b8; padding: 48px 24px; background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; } .empty-state p { font-size: 15px; } {% endblock %} {% block content %}