/**
 * /export/ page styles. Matches the Snaplot brand tokens used elsewhere.
 */

.snap-export-wrap {
    max-width: 760px;
    margin: 0 auto;
    padding-bottom: 80px;
    font-family: var(--snap-font, 'Inter', sans-serif);
    color: var(--snap-text, #2C363D);
}

.snap-export-header { margin: 0 0 18px; padding: 0 4px; }
.snap-export-title {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 700;
}
.snap-export-sub {
    margin: 0;
    color: var(--snap-text-muted, #6B7280);
    font-size: 14px;
}

.snap-export-row {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.snap-export-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
    font-weight: 500;
    color: #374151;
    flex: 1 1 280px;
}
.snap-export-stats {
    color: var(--snap-text-muted, #6B7280);
    font-size: 13px;
    padding-bottom: 8px;
}

/* Format radio cards */
.snap-export-format-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.snap-export-format {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--snap-border, #E5E7EB);
    border-radius: var(--snap-radius-md, 10px);
    cursor: pointer;
    transition: border-color 0.12s, background 0.12s;
}
.snap-export-format:hover { border-color: var(--snap-border-hover, #D1D5DB); }
.snap-export-format input[type="radio"] { margin-top: 4px; flex: 0 0 auto; }
.snap-export-format input[type="radio"]:checked + div .snap-export-format-name {
    color: var(--snap-brown, #9A6E56);
}
.snap-export-format-name {
    font-weight: 600;
    font-size: 14px;
    color: var(--snap-text, #2C363D);
}
.snap-export-format-desc {
    font-size: 13px;
    color: var(--snap-text-muted, #6B7280);
    margin-top: 2px;
    line-height: 1.4;
}

/* Options checkboxes */
.snap-export-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    font-size: 14px;
    cursor: pointer;
}
.snap-export-option input[type="checkbox"]:disabled + span {
    color: var(--snap-text-muted, #6B7280);
}

/* Action button row */
.snap-export-actions {
    margin: 20px 0 24px;
    display: flex;
    justify-content: flex-end;
}
.snap-export-actions .snap-btn { padding: 10px 22px; font-size: 14px; }

/* Past exports table */
.snap-export-past { padding: 0; }
.snap-export-section-title {
    margin: 0;
    padding: 14px 18px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--snap-text-muted, #6B7280);
    border-bottom: 1px solid var(--snap-border, #E5E7EB);
}
.snap-export-past-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.snap-export-past-table th {
    text-align: left;
    padding: 10px 14px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--snap-text-muted, #6B7280);
    background: #FAFAFA;
    border-bottom: 1px solid var(--snap-border, #E5E7EB);
}
.snap-export-past-table td {
    padding: 10px 14px;
    border-bottom: 1px solid #F3F4F6;
    vertical-align: middle;
}
.snap-export-past-table tbody tr:last-child td { border-bottom: 0; }
.snap-export-past-table td:first-child {
    font-family: monospace;
    font-size: 12px;
    word-break: break-all;
    max-width: 320px;
}
.snap-btn-sm { padding: 6px 12px; font-size: 12px; }

/* Toast (matches the rest of the app's basic toast) */
.snap-export-toast {
    position: fixed;
    bottom: 20px; left: 50%;
    transform: translateX(-50%);
    padding: 10px 18px;
    border-radius: 100px;
    background: #2C363D;
    color: #fff;
    font-size: 14px;
    box-shadow: var(--snap-shadow-card, 0 10px 30px rgba(15,23,42,0.18));
    z-index: 9999;
    transition: opacity 0.3s;
}
.snap-toast-success { background: #16A34A; }
.snap-toast-warn    { background: #D97706; }
.snap-toast-error   { background: #DC2626; }
.snap-export-toast.is-out { opacity: 0; }

@media (max-width: 600px) {
    .snap-export-row { flex-direction: column; align-items: stretch; }
    .snap-export-stats { padding: 0; }
    .snap-export-actions { justify-content: stretch; }
    .snap-export-actions .snap-btn { width: 100%; }
}

.snap-export-option-hint {
    color: var(--snap-text-muted, #6B7280);
    font-size: 13px;
    font-weight: 400;
}

/* Past-exports table — explicit colors so theme td{color:white} can't blank everything */
.snap-export-past-table th { color: var(--snap-text-muted, #6B7280); }
.snap-export-past-table td { color: var(--snap-text, #2C363D); }
.snap-export-past-table td:first-child { font-family: inherit; font-size: 13px; word-break: normal; }
.snap-export-filename-cell { font-family: monospace; font-size: 12px; word-break: break-all; max-width: 320px; color: var(--snap-text-muted, #6B7280); }
.snap-export-filename-missing { color: var(--snap-text-muted, #9CA3AF); font-style: italic; font-family: inherit; font-size: 12px; }
.snap-export-disabled-action { color: var(--snap-text-muted, #9CA3AF); padding: 6px 12px; font-size: 12px; }
.snap-export-num { color: var(--snap-text, #2C363D); font-variant-numeric: tabular-nums; }

/* Format + variant badges in the past-exports list */
.snap-export-format-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 100px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.4px;
    background: var(--snap-brown, #9A6E56);
    color: #fff;
    margin-right: 6px;
}
.snap-export-format-badge.snap-fmt-csv  { background: #9A6E56; }
.snap-export-format-badge.snap-fmt-zip  { background: #7C3AED; }
.snap-export-format-badge.snap-fmt-xlsx { background: #059669; }
.snap-export-variant-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 100px;
    font-size: 11px;
    background: #F3F4F6;
    color: var(--snap-text-muted, #6B7280);
    border: 1px solid var(--snap-border, #E5E7EB);
}

/* Past-exports table — explicit column widths so FILE doesn't dominate */
.snap-export-past-table { table-layout: fixed; }
.snap-export-past-table th:nth-child(1),
.snap-export-past-table td:nth-child(1) { width: 110px; }       /* Format */
.snap-export-past-table th:nth-child(2),
.snap-export-past-table td:nth-child(2) { width: auto; }         /* File (flex) */
.snap-export-past-table th:nth-child(3),
.snap-export-past-table td:nth-child(3) { width: 60px; text-align: right; }   /* Lots */
.snap-export-past-table th:nth-child(4),
.snap-export-past-table td:nth-child(4) { width: 160px; }       /* Created */
.snap-export-past-table th:nth-child(5),
.snap-export-past-table td:nth-child(5) { width: 110px; text-align: right; } /* Action */

/* Theme override — bid-ai theme paints a big blue tab on every thead th:nth-child(2)
   (background:#5FA5C2, height:160px, rounded-top corners) and adds padding:30px to all
   thead th. Reset both for our table. !important needed because the theme rule beats
   our class selector on tie-break in some load orders. */
.snap-export-past-table thead tr th,
.snap-export-past-table thead tr th:nth-child(2) {
    background: #FAFAFA !important;
    height: auto !important;
    padding: 10px 14px !important;
    line-height: 1.4 !important;
    border-left: none !important;
    border-width: 0 0 1px 0 !important;
    border-style: solid !important;
    border-color: var(--snap-border, #E5E7EB) !important;
    border-radius: 0 !important;
}

/* Past-exports as a CSS-grid list (no <table>, so theme th/td rules cannot apply) */
.snap-export-past-list {
    display: flex;
    flex-direction: column;
    font-size: 13px;
}
.snap-export-past-row {
    display: grid;
    grid-template-columns: 110px 1fr 60px 160px 110px;
    gap: 12px;
    padding: 10px 18px;
    align-items: center;
    border-bottom: 1px solid #F3F4F6;
    color: var(--snap-text, #2C363D);
}
.snap-export-past-row:last-child { border-bottom: 0; }
.snap-export-past-head {
    background: #FAFAFA;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--snap-text-muted, #6B7280);
    padding: 10px 18px;
    border-bottom: 1px solid var(--snap-border, #E5E7EB);
}
.snap-export-past-num    { text-align: right; font-variant-numeric: tabular-nums; }
.snap-export-past-action { text-align: right; }
.snap-export-past-format { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.snap-export-past-file {
    font-family: monospace;
    font-size: 12px;
    word-break: break-all;
    color: var(--snap-text-muted, #6B7280);
}
.snap-export-past-created { color: var(--snap-text-muted, #6B7280); }

@media (max-width: 720px) {
    .snap-export-past-row { grid-template-columns: 1fr; gap: 4px; padding: 12px 18px; }
    .snap-export-past-head { display: none; }
    .snap-export-past-action { text-align: left; margin-top: 6px; }
}
