/**
 * Domain Ownership Validator — Frontend styles
 */

/* Listings grid */
.dov-listings__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
    margin: 24px 0;
}

.dov-listings__card {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 24px;
    text-align: center;
    transition: box-shadow 0.2s ease;
}

.dov-listings__card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.dov-listings__domain a {
    color: #1d2327;
    text-decoration: none;
    font-size: 1.25em;
}

.dov-listings__price {
    font-size: 1.4em;
    font-weight: 700;
    color: #2271b1;
    margin: 12px 0;
}

.dov-listings__price--contact {
    font-style: italic;
    color: #666;
    font-size: 1em;
}

.dov-listings__cta {
    display: inline-block;
    padding: 8px 24px;
    background: #2271b1;
    color: #fff;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
}

.dov-listings__cta:hover {
    background: #135e96;
    color: #fff;
}

/* Single domain page */
.dov-single-domain {
    max-width: 720px;
    margin: 40px auto;
    padding: 0 20px;
}

.dov-single-domain__header {
    text-align: center;
    margin-bottom: 32px;
}

.dov-single-domain__verified {
    color: #00a32a;
    font-weight: 600;
}

.dov-single-domain__price .value {
    font-size: 2em;
    font-weight: 700;
    color: #2271b1;
    display: block;
}

.dov-single-domain__actions {
    margin-top: 32px;
    display: flex;
    gap: 12px;
    justify-content: center;
}

.dov-buy-btn {
    background: #00a32a !important;
    color: #fff !important;
    border-color: #00a32a !important;
}

/* Submit form (legacy class kept for back-compat with older shortcodes) */
.dov-submit-form {
    max-width: 480px;
}

.dov-submit-form input[type="text"],
.dov-submit-form select {
    width: 100%;
    padding: 8px 12px;
}

/* Submit form — 1.4.0 single-trip seller flow */
.dov-submit {
    max-width: 720px;
    margin: 0 auto;
    display: grid;
    gap: 24px;
}

.dov-submit__header h2 {
    margin: 0 0 8px;
    font-size: clamp(28px, 4vw, 36px);
    line-height: 1.15;
}

.dov-submit__intro {
    color: #4a5358;
    margin: 0;
    font-size: 16px;
}

.dov-submit__cloudflare .dov-cloudflare-card {
    border-radius: 12px;
}

.dov-submit__form {
    display: grid;
    gap: 20px;
    padding: 24px;
    border: 1px solid #dcdcde;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

.dov-submit__field {
    display: grid;
    gap: 6px;
}

/* Label normalization — applied to every label in the plugin's UI so the
   underlying theme can't restyle labels as h2-sized headings. The original
   bug surfaced as a height mismatch in the asking-price/currency row; the
   workspace forms have the same theme bleed and need the same fix. */
.dov-submit__field label,
.dov-submit__label,
.dov-workspace label,
.dov-registrar-connect label,
.dov-registrar-picker label {
    font-weight: 600;
    color: #111827;
    font-size: 14px;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    display: block;
}

/* Hide visually but keep available for screen readers — used by the bulk
   paste textarea so the textarea has an accessible name without showing
   the duplicate "CSV content" label visually. */
.screen-reader-text,
.dov-submit .screen-reader-text {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}

.dov-submit__price-group {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

.dov-submit__price-group input[type="number"] {
    flex: 1;
    min-width: 0;
}

.dov-submit__price-group select {
    width: auto;
    min-width: 110px;
    flex: 0 0 auto;
}

.dov-submit__field input[type="text"],
.dov-submit__field input[type="number"],
.dov-submit__field select,
.dov-submit__field textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 15px;
    background: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.dov-submit__field input:focus,
.dov-submit__field select:focus,
.dov-submit__field textarea:focus {
    outline: none;
    border-color: #2271b1;
    box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.18);
}

.dov-submit__hint {
    display: block;
    color: #646970;
    font-size: 13px;
}

.dov-submit__row {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 16px;
}

/* Tabs at the top of the submit form: Single domain | Bulk upload */
.dov-submit__tabs {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 20px;
}

.dov-submit__tab {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    margin-bottom: -1px;
    transition: color 0.15s, border-color 0.15s;
}

.dov-submit__tab:hover {
    color: #111827;
}

.dov-submit__tab--active {
    color: #2271b1;
    border-bottom-color: #2271b1;
}

.dov-submit__tab:focus-visible {
    outline: 2px solid #2271b1;
    outline-offset: 2px;
    border-radius: 4px;
}

.dov-submit__panel {
    display: block;
}

.dov-submit__panel[hidden] {
    display: none;
}

.dov-submit__bulk-intro {
    color: #4b5563;
    font-size: 14px;
    margin-bottom: 16px;
}

.dov-submit__bulk-paste {
    margin: 12px 0;
}

.dov-submit__bulk-paste > summary {
    cursor: pointer;
    font-size: 14px;
    color: #2271b1;
    padding: 6px 0;
}

.dov-submit__bulk-paste textarea {
    width: 100%;
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
    font-size: 13px;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}

.dov-submit__bulk-results {
    margin-top: 20px;
}

.dov-submit__bulk-results h3 {
    font-size: 16px;
    font-weight: 600;
    color: #111827;
    margin: 0 0 10px;
}

.dov-submit__bulk-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.dov-submit__bulk-table th,
.dov-submit__bulk-table td {
    text-align: left;
    padding: 8px 10px;
    border-bottom: 1px solid #e5e7eb;
}

.dov-submit__bulk-table th {
    font-weight: 600;
    color: #374151;
    background: #f9fafb;
}

.dov-bulk-status {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
}

.dov-bulk-status--created {
    background: #d1fae5;
    color: #065f46;
}

.dov-bulk-status--duplicate {
    background: #fef3c7;
    color: #854f0b;
}

.dov-bulk-status--invalid {
    background: #fee2e2;
    color: #991b1b;
}

.dov-submit__field--grow {
    min-width: 0;
}

.dov-submit__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dov-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    cursor: pointer;
    font-size: 14px;
    background: #fff;
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.dov-chip input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.dov-chip:hover {
    border-color: #2271b1;
}

.dov-chip:has(input:focus-visible),
.dov-chip:focus-within {
    outline: 2px solid #2271b1;
    outline-offset: 2px;
}

.dov-chip--on,
.dov-chip:has(input:checked) {
    background: #e3f0fb;
    border-color: #2271b1;
    color: #0a4b78;
    font-weight: 600;
}

.dov-submit__field--checkbox label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-weight: 500;
    color: #1f2937;
}

.dov-submit__checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 3px;
}

.dov-submit__advanced {
    border-top: 1px dashed #d8dee4;
    padding-top: 12px;
}

.dov-submit__advanced > summary {
    cursor: pointer;
    font-weight: 600;
    color: #2271b1;
    list-style: none;
}

.dov-submit__advanced > summary::marker,
.dov-submit__advanced > summary::-webkit-details-marker {
    display: none;
}

.dov-submit__advanced > summary::before {
    content: "▸ ";
    transition: transform 0.15s ease;
    display: inline-block;
}

.dov-submit__advanced[open] > summary::before {
    content: "▾ ";
}

.dov-submit__actions {
    margin-top: 4px;
}

.dov-submit__cta {
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
}

.dov-submit__cta-busy {
    opacity: 0.85;
}

.dov-submit__char-count {
    text-align: right;
}

.dov-submit__messages:empty {
    display: none;
}

.dov-submit__error {
    background: #fbeaea;
    color: #8a2424;
    padding: 10px 14px;
    border-radius: 8px;
    border-left: 3px solid #b32d2e;
    margin: 8px 0 0;
}

/* Post-submit success card */
.dov-submit__success {
    border: 1px solid #cfe6d4;
    background: #f3faf4;
    border-radius: 12px;
    padding: 24px;
}

.dov-submit__success-card h3 {
    margin: 0 0 12px;
    font-size: 22px;
}

.dov-submit__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 12px;
}

.dov-submit__badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.dov-submit__badge--success {
    background: #d9f0df;
    color: #11603a;
}

.dov-submit__badge--pending {
    background: #fff3d4;
    color: #7a5a00;
}

.dov-submit__badge--info {
    background: #dce8f7;
    color: #1d4f88;
}

.dov-submit__instructions {
    border: 1px solid #dcdcde;
    background: #fff;
    border-radius: 12px;
    padding: 20px;
}

@media (max-width: 640px) {
    .dov-submit__row {
        grid-template-columns: 1fr;
    }
}

/* ========================================================================
   Seller workspace (1.5.0)
   /seller/domain/{id}/  —  the single page a seller lives on between
   submitting a domain and watching it go live.
   ======================================================================== */

.dov-workspace {
    display: grid;
    gap: 28px;
}

.dov-workspace__header {
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 20px;
}

.dov-workspace__eyebrow {
    margin: 0 0 6px;
    font-size: 13px;
}

.dov-workspace__eyebrow a {
    color: #2271b1;
    text-decoration: none;
}

.dov-workspace__title {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin: 0;
}

.dov-workspace__title h1 {
    margin: 0;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.1;
}

.dov-workspace__badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: #eef2f5;
    color: #3c434a;
}

.dov-workspace__badge--listed { background: #d9f0df; color: #11603a; }
.dov-workspace__badge--verified { background: #d9f0df; color: #11603a; }
.dov-workspace__badge--pending { background: #fff3d4; color: #7a5a00; }
.dov-workspace__badge--paused { background: #f0e5fa; color: #4c1d95; }
.dov-workspace__badge--sold { background: #dce8f7; color: #1d4f88; }

.dov-workspace__price {
    margin: 12px 0 0;
    font-size: 18px;
    color: #2271b1;
    font-weight: 600;
}

.dov-workspace__tags {
    margin: 8px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.dov-workspace__tag {
    background: #eef2f5;
    color: #3c434a;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.dov-workspace__share {
    margin: 16px 0 0;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.dov-workspace__share input {
    flex: 1 1 320px;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 14px;
    background: #f6f7f7;
}

.dov-workspace__grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.dov-workspace__main,
.dov-workspace__side {
    display: grid;
    gap: 20px;
}

.dov-workspace-card {
    border: 1px solid #dcdcde;
    background: #fff;
    border-radius: 14px;
    padding: 22px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.dov-workspace-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 12px;
}

.dov-workspace-card__header h2 {
    margin: 0;
    font-size: 18px;
}

.dov-workspace-card__status {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: #eef2f5;
    color: #3c434a;
}

.dov-workspace-card__status--complete { background: #d9f0df; color: #11603a; }
.dov-workspace-card__status--listed { background: #d9f0df; color: #11603a; }
.dov-workspace-card__status--verified { background: #d9f0df; color: #11603a; }
.dov-workspace-card__status--pending,
.dov-workspace-card__status--generating { background: #fff3d4; color: #7a5a00; }
.dov-workspace-card__status--failed { background: #fbeaea; color: #8a2424; }
.dov-workspace-card__status--locked { background: #eef2f5; color: #646970; }

/* Generation card */
.dov-workspace-generation__message {
    color: #4a5358;
    margin: 0 0 10px;
}

.dov-workspace-generation__progress {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 10px;
    background: #fff8e5;
    color: #5b4400;
    margin: 8px 0 16px;
}

.dov-workspace-spinner {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 3px solid #f0d685;
    border-top-color: #b78700;
    animation: dov-spin 0.8s linear infinite;
    flex: 0 0 auto;
}

@keyframes dov-spin {
    to { transform: rotate(360deg); }
}

.dov-workspace-generation__ideas {
    display: grid;
    gap: 16px;
}

.dov-workspace-generation__empty {
    color: #646970;
    font-style: italic;
}

.dov-workspace-idea {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 18px;
    background: #fafbfc;
}

.dov-workspace-idea__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 10px;
}

.dov-workspace-idea__logo svg,
.dov-workspace-idea__logo img {
    width: 72px;
    height: 72px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 4px;
    object-fit: cover;
}

.dov-workspace-idea__logo-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 6px 0 0;
    font-size: 12px;
    color: #646970;
}

.dov-workspace-idea__logo-meta .button {
    font-size: 12px;
    padding: 2px 10px;
}

.dov-workspace-idea__logo-status {
    color: #646970;
}

.dov-workspace-idea__heading h3 {
    margin: 0;
    font-size: 17px;
}

.dov-workspace-idea__type {
    margin: 2px 0 0;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #646970;
}

.dov-workspace-idea__tagline {
    color: #2271b1;
    font-weight: 600;
    margin: 4px 0 8px;
}

.dov-workspace-idea__summary {
    color: #1f2937;
    margin: 0 0 12px;
}

.dov-workspace-idea__detail {
    display: grid;
    grid-template-columns: minmax(120px, auto) 1fr;
    gap: 6px 14px;
    margin: 0;
}

.dov-workspace-idea__detail dt {
    font-weight: 700;
    color: #1f2937;
}

.dov-workspace-idea__detail dd {
    margin: 0;
    color: #4a5358;
}

/* Verification card */
.dov-workspace-verify code {
    display: block;
    padding: 10px 12px;
    background: #f6f7f7;
    border-radius: 8px;
    font-size: 13px;
    overflow-x: auto;
    word-break: break-all;
}

.dov-workspace-verify__copy {
    display: grid;
    gap: 6px;
    margin: 10px 0;
}

.dov-workspace-verify__instructions {
    border-left: 3px solid #2271b1;
    padding: 6px 12px;
    margin: 12px 0;
    background: #f6fbff;
    border-radius: 0 8px 8px 0;
}

.dov-workspace-verify__actions {
    margin: 14px 0 0;
}

.dov-workspace-verify--done {
    background: #f3faf4;
    border-color: #cfe6d4;
}

.dov-workspace-verify__autopoll {
    margin: 10px 0 0;
    font-size: 13px;
    color: #646970;
    display: flex;
    align-items: center;
    gap: 8px;
}

.dov-workspace-verify__autopoll--ended {
    color: #8a2424;
}

.dov-workspace-verify__pulse {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #2271b1;
    animation: dov-pulse 1.6s ease-in-out infinite;
    flex: 0 0 auto;
}

@keyframes dov-pulse {
    0%, 100% { opacity: 0.3; transform: scale(0.85); }
    50% { opacity: 1; transform: scale(1.1); }
}

.dov-workspace-list__suggested {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 8px 0 0;
    font-size: 13px;
    color: #4a5358;
    flex-wrap: wrap;
}

/* Listing card */
.dov-workspace-list--locked {
    opacity: 0.85;
}

.dov-workspace-list form p {
    margin: 0 0 10px;
}

.dov-workspace-list form label {
    display: block;
    font-weight: 600;
    color: #111827;
    margin-bottom: 4px;
}

.dov-workspace-list form input[type="number"],
.dov-workspace-list form select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 15px;
}

@media (max-width: 880px) {
    .dov-workspace__grid {
        grid-template-columns: 1fr;
    }
}

.dov-status {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.dov-status--active {
    background: #edfaef;
    color: #116329;
}

.dov-status--pending {
    background: #fff8e5;
    color: #6b4f00;
}

.dov-status--restricted {
    background: #fff4d6;
    color: #674b00;
}

.dov-status--not_connected {
    background: #eff1f2;
    color: #3c434a;
}

/* Stripe Connect portal */
.dov-connect-portal {
    display: grid;
    gap: 24px;
}

.dov-connect-hero,
.dov-connect-card {
    border: 1px solid #dcdcde;
    border-radius: 12px;
    padding: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f6f7f7 100%);
}

.dov-connect-hero {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.dov-connect-eyebrow {
    margin: 0 0 8px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 12px;
    color: #646970;
}

.dov-inline-notice {
    border-radius: 10px;
    padding: 14px 16px;
    font-weight: 600;
}

.dov-inline-notice--success {
    background: #edfaef;
    color: #116329;
}

.dov-inline-notice--warning {
    background: #fff8e5;
    color: #6b4f00;
}

.dov-inline-notice--info {
    background: #edf5ff;
    color: #0a4b78;
}

.dov-inline-notice--error {
    background: #fbeaea;
    color: #8a2424;
}

.dov-connect-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.dov-connect-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.dov-connect-list {
    margin: 0;
    padding-left: 18px;
}

.dov-connect-list li + li {
    margin-top: 10px;
}

@media (max-width: 640px) {
    .dov-connect-hero {
        flex-direction: column;
    }

    .dov-connect-actions {
        flex-direction: column;
    }

    .dov-connect-actions .button {
        width: 100%;
        text-align: center;
    }
}
.dov-post-sale-status__list {
    display: grid;
    gap: 16px;
}

.dov-post-sale-status__item {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    padding: 18px;
    border: 1px solid #d8dee4;
    border-radius: 8px;
    background: #fff;
}

.dov-post-sale-status__item h3 {
    margin-top: 0;
}

.dov-dispute-form {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.dov-dispute-form label {
    display: grid;
    gap: 4px;
    font-weight: 700;
}

.dov-dispute-form select,
.dov-dispute-form textarea {
    width: 100%;
    max-width: 520px;
}

/* ============================================================
   Registrar connect — new Verification card body
   See REGISTRAR_VERIFICATION_UX.md for the state machine.
   ============================================================ */

.dov-registrar-detected {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dov-registrar-detected__lede {
    margin: 0;
    padding: 10px 12px;
    background: #eaf3fb;
    color: #0c447c;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.5;
}

.dov-registrar-detected__lede strong {
    color: #042c53;
}

.dov-registrar-detected__scope {
    display: block;
    margin-top: 2px;
    color: #185fa5;
}

.dov-registrar-connect {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.dov-registrar-connect label {
    font-size: 13px;
    font-weight: 500;
    color: #2c2c2a;
}

.dov-registrar-connect input[type="password"],
.dov-registrar-connect input[type="text"] {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 14px;
    background: #fff;
}

.dov-registrar-connect input[type="password"]:focus,
.dov-registrar-connect input[type="text"]:focus {
    outline: none;
    border-color: #185fa5;
    box-shadow: 0 0 0 3px rgba(24, 95, 165, 0.15);
}

.dov-registrar-connect__help {
    margin: 0;
    font-size: 12px;
}

.dov-registrar-connect__help a {
    color: #185fa5;
    text-decoration: none;
}

.dov-registrar-connect__help a:hover {
    text-decoration: underline;
}

.dov-registrar-connect__actions {
    margin: 4px 0 0;
}

.dov-registrar-connect__feedback {
    margin-top: 2px;
    font-size: 13px;
    min-height: 0;
}

.dov-registrar-connect__feedback[data-type="error"] {
    color: #791f1f;
    background: #fcebeb;
    border-radius: 6px;
    padding: 8px 10px;
}

.dov-registrar-connect__feedback[data-type="success"] {
    color: #173404;
    background: #eaf3de;
    border-radius: 6px;
    padding: 8px 10px;
}

/* Small inline action links used inside the Verification card
   (Different registrar, Verify manually instead, Re-verify, Disconnect).
   Buttons styled to look like links so they're keyboard-accessible. */
.dov-link-btn {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    color: #185fa5;
    font: inherit;
    font-size: 12px;
    text-decoration: none;
}

.dov-link-btn:hover,
.dov-link-btn:focus-visible {
    text-decoration: underline;
    outline: none;
}

.dov-link-btn[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    text-decoration: none;
}

.dov-workspace-verify__alt-links,
.dov-workspace-verify__links {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    margin: 4px 0 0;
    padding-top: 10px;
    border-top: 1px solid #efece4;
    font-size: 12px;
    color: #5f5e5a;
}

.dov-workspace-verify__meta {
    font-size: 12px;
    color: #5f5e5a;
    margin: -4px 0 8px;
}

/* When the seller clicks "Verify manually instead" we tag the card so the
   detected block hides and the legacy manual block (rendered alongside
   in the next iteration) becomes visible. Until that's wired, we just hint
   the state so it's testable. */
.dov-workspace-verify--manual-forced .dov-registrar-detected {
    display: none;
}

.dov-registrar-connect__hint {
    display: block;
    margin: 4px 0 0;
    font-size: 12px;
    color: #5f5e5a;
    line-height: 1.45;
}

.dov-registrar-picker {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
    padding: 12px;
    background: #f8f7f0;
    border-radius: 6px;
}

.dov-registrar-picker label {
    font-size: 13px;
    font-weight: 500;
    color: #2c2c2a;
}

.dov-registrar-picker__select {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 14px;
    background: #fff;
}

.dov-registrar-picker__cancel {
    margin: 6px 0 0;
    text-align: right;
}

.dov-workspace-verify--picker-open .dov-registrar-detected__lede {
    display: none;
}

.dov-registrar-connect__disconnect {
    display: inline-block;
    margin-left: 6px;
    color: #791f1f;
    text-decoration: underline;
}

.dov-registrar-connect__disconnect:hover {
    color: #501313;
}

.dov-registrar-manual-block {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dov-workspace-verify--manual-forced .dov-registrar-manual-block {
    display: flex;
}

/* ============================================================
   Price Estimator card
   Surfaced before verify+stripe gates so the seller can see the
   AI's recommended price as soon as generation completes.
   ============================================================ */

.dov-workspace-estimator {
    background: #fffaf2;
    border: 1px solid #fac775;
}

.dov-workspace-estimator .dov-workspace-card__header h2 {
    color: #633806;
}

.dov-workspace-card__status--info {
    background: #faeeda;
    color: #854f0b;
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 999px;
    font-weight: 500;
}

.dov-workspace-estimator__suggested {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 6px 0 6px;
    color: #412402;
}

.dov-workspace-estimator__currency {
    font-size: 18px;
    font-weight: 500;
    color: #633806;
}

.dov-workspace-estimator__amount {
    font-size: 32px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.01em;
}

.dov-workspace-estimator__label {
    font-size: 12px;
    color: #854f0b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.dov-workspace-estimator__range {
    margin: 0 0 6px;
    color: #5f5e5a;
    font-size: 14px;
}

.dov-workspace-estimator__note {
    margin: 0;
    font-size: 12px;
    color: #888780;
}
