/* Express-only bindings; URL6X geometry remains in url6x-ui.css. */
.auth-page { min-height:100vh; padding:32px 16px; background:linear-gradient(135deg,#9333ea,#3b82f6); display:grid; place-items:center; }
.auth-shell { width:100%; max-width:448px; }
.auth-brand { padding:24px; margin-bottom:24px; border-radius:16px; color:white; text-align:center; box-shadow:0 25px 50px #0004; }
.auth-brand .brand-icons { justify-content:center; font-size:36px; margin-bottom:12px; }
.auth-brand .brand-icons .fa-link,.auth-brand .brand-icons .fa-rocket { color:white; }
.auth-brand h1 { font-size:30px; font-weight:800; }
.auth-brand p { font-size:13px; margin-top:4px; }
.auth-page .login-card { border-radius:16px; padding:32px; box-shadow:0 25px 50px #0004; }
.auth-tabs { display:flex; gap:8px; padding:6px; border-radius:12px; background:#f3f4f6; margin-bottom:24px; }
.auth-tab { flex:1; padding:10px; border-radius:8px; font-size:14px; font-weight:600; }
.auth-tab.active { color:#7c3aed; background:white; box-shadow:0 1px 4px #0002; }
.auth-page h2 { font-size:24px; font-weight:700; text-align:center; color:#1f2937; margin-bottom:24px; }
.auth-page form { display:flex; flex-direction:column; gap:8px; }
.auth-page label { color:#374151; font-size:14px; font-weight:600; margin-top:8px; }
.auth-page input { width:100%; border:1px solid #d1d5db; border-radius:8px; padding:12px 16px; }
.auth-submit { width:100%; padding:12px; margin-top:12px; border-radius:8px; background:linear-gradient(90deg,#9333ea,#3b82f6); box-shadow:0 10px 15px #0002; color:white; font-weight:700; }
.register-submit { background:linear-gradient(90deg,#16a34a,#14b8a6); }
.auth-switch,.auth-description,.availability-note { text-align:center; color:#6b7280; font-size:12px; margin-top:20px; }
.auth-switch button { color:#9333ea; font-weight:600; }
.auth-description { margin:0 0 20px; }
.auth-page small { font-size:11px; color:#9ca3af; }
[hidden], .hidden { display:none !important; }
:focus-visible { outline:2px solid #5148e5; outline-offset:3px; }
button:disabled { cursor:wait; opacity:.65; }
.dashboard-tab.active { background:#3832db; color:white; }
.account-menu button { display:flex; align-items:center; gap:9px; padding:9px 10px; width:100%; border-radius:7px; font-size:13px; font-weight:600; text-align:left; }
.account-menu button:hover { background:#f1f5f9; }
.account-identity { display:block; padding:8px 10px; color:#64748b; font-size:11px; overflow-wrap:anywhere; border-bottom:1px solid #e5e7eb; }
.domain-remember input { flex:0 0 auto; }
.domain-trigger .domain-chevron { position:static; pointer-events:none; }
.domain-selected-check { width:14px; }
.domain-manage { display:flex; gap:8px; align-items:center; min-height:44px; border-top:1px solid #eef2f6; padding:10px 12px; color:#3730d9; font-size:12px; }
.form-status { margin-top:8px; font-size:12px; line-height:1.45; color:#64748b; }
.form-status:empty { display:none; }
.form-status.success { color:#067647; }
.form-status.error { color:#b42318; }
.form-status.warning { color:#b54708; }
.persistent-notice { margin:12px 0; border:1px solid #fedf89; border-radius:8px; padding:12px; background:#fffaeb; color:#7a2e0e; font-size:13px; }
.shield-lifetime { margin:7px 16px 12px; color:#64748b; font-size:11px; }
.empty-state { padding:30px 16px; color:#64748b; text-align:center; font-size:13px; }
.history-query-summary,.clear-search { margin-bottom:10px; font-size:12px; overflow-wrap:anywhere; }
.clear-search { display:inline-block; color:#3730d9; }
.history-pagination { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; margin-top:14px; padding-top:12px; border-top:1px solid #eef2f6; color:#64748b; font-size:11px; }
.history-pagination > div { display:flex; flex-wrap:wrap; gap:4px; }
.page-link { min-width:30px; min-height:30px; display:inline-grid; place-items:center; padding:4px 7px; border:1px solid #dfe5ec; border-radius:6px; }
.page-link.active { background:#3933d8; border-color:#3933d8; color:white; }
.page-link.disabled { opacity:.5; }
.page-gap { display:grid; place-items:center; min-width:20px; }
.show-more-links { width:100%; margin-top:10px; }
.link-actions [data-kebab-menu] { position:absolute; right:0; top:30px; z-index:50; min-width:156px; padding:5px; background:white; border:1px solid #dfe5ec; border-radius:8px; box-shadow:0 12px 28px #0f172a20; }
.link-actions [data-kebab-menu] button { width:100%; min-height:44px; display:flex; align-items:center; gap:8px; text-align:left; padding:8px 10px; border-radius:6px; font-size:12px; }
.link-actions [data-kebab-menu] button:hover { background:#f8fafc; }
.link-delete { color:#dc2626; }
.link-copy[data-copy-pending="true"]::after { content:none; }
.autocomplete-menu { position:absolute; z-index:45; display:grid; gap:3px; width:min(420px,90vw); padding:5px; border:1px solid #dfe5ec; border-radius:8px; background:white; box-shadow:0 10px 25px #0f172a20; }
.autocomplete-option { padding:8px; text-align:left; border-radius:5px; font-size:12px; }
.autocomplete-option:hover,.autocomplete-option.active { background:#f3f2ff; }
.image-chip { position:relative; width:132px; min-width:0; padding:5px; border:1px solid #dfe5ec; border-radius:7px; }
.image-chip img { width:100%; height:72px; object-fit:contain; }
.image-chip p { font-size:10px; color:#64748b; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.image-chip button { font-size:11px; min-height:28px; padding:4px; }
.image-chip.failed { border-color:#fecaca; background:#fff5f4; }
.cross-promo { display:flex; align-items:center; gap:12px; margin:16px 0; padding:16px; border:1px solid #f3e8ff; border-radius:16px; background:white; box-shadow:0 4px 14px #0001; font-size:14px; }
.cross-promo > span:nth-child(2) { flex:1; min-width:0; overflow-wrap:anywhere; }
.cross-promo strong span,.cross-promo > i { color:#7e22ce; }
.cross-promo small { display:block; color:#6b7280; margin-top:2px; font-size:12px; }
.promo-badge { padding:2px 8px; border-radius:99px; background:linear-gradient(90deg,#9333ea,#3b82f6); color:white; font-size:12px; font-weight:700; }
.image-feedback { margin-top:8px; padding:8px 12px; border-radius:8px; font-size:12px; }
.image-feedback.good { color:#166534; background:#f0fdf4; border:1px solid #bbf7d0; }
.image-feedback.warning { color:#92400e; background:#fffbeb; border:1px solid #fde68a; }
.image-chip.image-warning { outline:2px solid #fbbf24; }
.image-chip.image-warning::after { content:'!'; position:absolute; bottom:0; left:0; color:white; background:#d97706; padding:0 6px; font-weight:700; }
#bulkImagePool > .image-chip { padding:0; overflow:hidden; }
#bulkImagePool > .image-chip img { height:100%; object-fit:cover; }
#bulkImagePool > .image-chip p { padding:4px; }
#bulkImagePool > .image-chip img ~ p { display:none; }
#bulkImagePool > .image-chip button { position:absolute; top:3px; right:3px; background:white; box-shadow:0 1px 4px #0003; border-radius:5px; }
#bulkImagePool > .image-chip.failed { height:auto !important; min-height:86px; padding-bottom:32px; }
#bulkImagePool > .image-chip.failed button { top:auto; bottom:3px; }
#bulkImagePool > .image-chip.failed button:first-of-type { left:3px; right:auto; max-width:calc(100% - 45px); }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:6px 10px; border:1px solid #cfd8e3; border-radius:6px; font-size:12px; font-weight:600; color:#3730d9; background:white; }
.button.primary { color:white; background:#3933d8; border-color:#3933d8; }
.button.danger { color:#dc2626; }
.panel-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.result-tray h2 { font-size:15px; font-weight:700; margin-bottom:8px; }
.result-list { display:grid; gap:7px; }
.result-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:8px 0; border-top:1px solid #eef2f6; }
.result-row > div:first-child { min-width:0; }
.result-row a { display:block; color:#3730d9; font-size:12px; overflow-wrap:anywhere; }
.result-destination { color:#94a3b8; font:10px/1.35 ui-monospace,monospace; overflow-wrap:anywhere; }
.result-destination > span { display:block; }
.row-actions { display:flex; flex-wrap:wrap; gap:6px; }
.quick-reuse-use { min-height:34px; }
#feedbackDialog { width:min(680px,100%); max-height:90dvh; margin:auto auto 0; border:0; border-radius:18px 18px 0 0; padding:18px 22px 20px; background:white; box-shadow:0 -18px 55px #0f172a40; }
#feedbackDialog::backdrop { background:#0f172a66; }
#feedbackDialog label { display:grid; gap:6px; font-size:13px; margin-top:12px; }
#feedbackDialog input,#feedbackDialog select,#feedbackDialog textarea { width:100%; border:1px solid #dbe1e8; border-radius:8px; padding:10px; }
#feedbackDialog h2 { font-size:21px; font-weight:800; }
#feedbackDialog form { display:grid; gap:10px; }
@media (max-width:520px) { .result-row { grid-template-columns:minmax(0,1fr); } .history-pagination { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; } }
