@import url("theme-tokens.css?v=20261031");
/* Shared visual layer; existing controls, routes and status meanings stay intact. */

.email-table-actions, .saved-setting-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 12px 0; }
.saved-setting-button, .saved-setting-more summary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 14px; min-height: 44px; border: 1px solid var(--neo-border); border-radius: var(--ui-radius-control); background: var(--color-input); color: var(--neo-text); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.saved-setting-button i { color: var(--color-accent); }
.saved-setting-button:hover:not(:disabled), .saved-setting-more summary:hover { background: var(--color-brand-a10); border-color: var(--color-accent-a40); }
.saved-setting-actions > .saved-setting-button { background: var(--color-brand-a10); border-color: var(--color-accent-a30); color: var(--color-accent-soft); }
.saved-setting-more { position: relative; margin-left: auto; }
.saved-setting-more summary { list-style: none; }
.saved-setting-more summary::-webkit-details-marker { display: none; }
.saved-setting-more summary::after { content: '\2304'; color: var(--color-accent); }
.scraper-results { margin: 20px 0; padding: 20px; border: 1px solid var(--color-accent-a20); border-radius: var(--ui-radius-panel); background: var(--color-input); }
.scraper-results-heading, .scraper-results-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.scraper-results-icon { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: var(--ui-radius-control); background: var(--color-brand-a15); color: var(--color-accent); font-size: 19px; }
.scraper-results-copy { flex: 1 1 180px; min-width: 0; }
.scraper-results-heading strong { font-size: 15px; font-weight: 600; }
.scraper-results-history { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: 12px; color: var(--color-muted); text-decoration: none; }
.scraper-results-history:hover { color: var(--color-accent); }
.scraper-results p { font-size: 13px; color: var(--neo-text-secondary); margin: 6px 0 0; }
.scraper-results-actions { justify-content: flex-start; margin-top: 18px; gap: 12px; }
.scraper-results-actions .neo-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; flex: 1 1 190px; min-height: 48px; padding: 12px 16px; text-decoration: none; }
.scraper-results-actions .scraper-download-format { flex: 1 1 190px; min-height: 48px; }
.scraper-file-type { padding: 2px 6px; border: 1px solid var(--color-white-a25); border-radius: 4px; font-size: 10px; }
.scraper-results-actions a[aria-disabled="true"] { opacity: .5; pointer-events: none; }
.scraper-results .scraper-results-hint { margin-top: 12px; font-size: 12px; color: var(--color-subtle); }
#scraperResultsStatus:empty { display: none; }
#scraperResultsStatus { padding-top: 8px; color: var(--color-accent-soft); }
.scraper-results-actions [hidden] { display: none; }
.scraper-results-actions button:disabled { opacity: .5; cursor: not-allowed; }
.saved-setting-more[open] { display: flex; flex-wrap: wrap; gap: 8px; }
.saved-setting-actions ~ [role="status"] { color: var(--neo-text-secondary); font-size: 13px; }
.scraper-skip-summary { margin: 18px 0; padding: 16px 18px; border: 1px solid var(--neo-border); border-radius: var(--ui-radius-panel); background: var(--color-input); color: var(--neo-text-secondary); font-size: 13px; }
.scraper-skip-summary strong { display: block; color: var(--neo-text); font-size: 14px; }
.scraper-skip-reasons { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.scraper-skip-reasons span { border: 1px solid var(--color-accent-a20); background: var(--color-brand-a5); border-radius: var(--ui-radius-control); padding: 6px 10px; font-variant-numeric: tabular-nums; color: var(--color-accent-soft); }
.scraper-skip-summary small { display: block; font-size: 12px; }
.email-download-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; }
.email-download-controls label { display: grid; gap: 8px; flex: 1 1 220px; font-size: 14px; }
.email-download-controls select { width: 100%; min-height: 44px; color: var(--neo-text); background-color: var(--color-input); border: 1px solid var(--neo-border); border-radius: var(--ui-radius-control); padding: 10px 12px; }
.email-job-picker, .email-export-options { padding: 20px; background: var(--color-input); border: 1px solid var(--neo-border); border-radius: var(--ui-radius-panel); }
.email-job-picker label, .email-export-options label { font-size: var(--ui-label-size); font-weight: 600; }
.email-download-controls select { min-height: 48px; background-color: var(--color-surface); border-color: var(--color-white-a15); font: inherit; font-size: 14px; font-weight: 400; }
.email-download-controls .neo-btn { min-height: 48px; padding: 12px 18px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.email-download-controls select:focus { outline: none; border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent-a10); }
.email-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--neo-border); }
.email-actions .neo-btn { min-width: 200px; }
.email-download-help, #emailSelectionCount { color: var(--neo-text-secondary); font-size: 13px; margin-top: 12px; }
.email-table-scroll { overflow-x: auto; max-width: 100%; }
.email-table-controls, .email-table-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
#emailTable_wrapper { width: 100%; min-width: 0; }
#emailTable { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; }
#emailTable th, #emailTable td { border-bottom: 1px solid var(--neo-border); padding: 14px 12px; white-space: nowrap; }
#emailTable th { font-weight: 600; color: var(--color-muted); background: var(--color-input); font-size: 12px; }
#emailTable tbody tr:hover { background: var(--color-brand-a5); }
#emailTable input[type="checkbox"], #selectEmailPage { width: 20px; height: 20px; accent-color: var(--color-brand); cursor: pointer; }
#emailResults .dataTables_filter, #emailResults .dataTables_length { display: inline-block; margin: 12px 16px 16px 0; }
#emailResults input[type="search"], #emailResults select { color: var(--neo-text); background-color: var(--neo-card-bg); border: 1px solid var(--neo-border); border-radius: var(--ui-radius-control); padding: 10px 12px; min-height: 44px; max-width: 100%; }
#emailResults .dataTables_filter input { margin-left: 8px; }
#emailResults .dataTables_info { margin-top: 16px; color: var(--neo-text-secondary); }
#emailResults .dataTables_paginate { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; align-items: center; }
#emailResults .paginate_button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 6px 12px; border: 1px solid var(--neo-border); border-radius: var(--ui-radius-control); cursor: pointer; color: var(--neo-text); text-decoration: none; }
#emailResults .paginate_button.current { background: var(--color-brand); border-color: var(--color-brand); color: var(--color-white); }
#emailResults .paginate_button.disabled { opacity: .5; cursor: default; }
#emailTableError { color: var(--color-danger); }
.email-table-actions button:disabled, .saved-setting-actions button:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 600px) {
    .scraper-results { padding: 16px; }
    .scraper-results-icon { display: none; }
    .scraper-results-copy { flex-basis: 160px; }
    .email-job-picker, .email-export-options { padding: 16px; }
    .scraper-results-actions > * { width: 100%; justify-content: center; }
    .email-table-actions > button { width: 100%; }
    .email-download-controls > button { width: 100%; }
    #emailResults .dataTables_filter, #emailResults .dataTables_length { display: block !important; margin-right: 0; }
    #emailResults .dataTables_filter label { display: grid; gap: 8px; }
    #emailResults .dataTables_filter input { margin-left: 0; width: 100%; }
    .email-table-controls > div { width: 100%; }
    .email-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; padding-top: 16px; }
    .email-actions .neo-btn { min-width: 0; padding: 10px 8px; font-size: 12px; }
    .email-results-intro { display: none; }
    .email-download-help { font-size: 12px; }
    .neo-footer { padding-top: 24px; }
    .neo-footer-bottom { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
}

body { font-family: var(--ui-font); font-size: var(--ui-body-size); background: var(--neo-bg); color: var(--neo-text); line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.neo-auth-body { background: var(--neo-bg); font-family: var(--ui-font); }
html, body { scrollbar-width: thin; scrollbar-color: var(--color-brand) var(--color-bg); }
html::-webkit-scrollbar, body::-webkit-scrollbar { display: block; width: 8px; height: 8px; }
html::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb { background: var(--color-brand); border-radius: 8px; }
body::before { display: none; }
::selection { background: var(--color-brand-hover); color: var(--color-white); }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
h1, h2, h3, h4 { letter-spacing: -.025em; line-height: 1.3; text-wrap: balance; }
p { text-wrap: pretty; }
button, input, select, textarea { font-family: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, .neo-btn, .scraper-btn { min-height: 44px; }
img, canvas { max-width: 100%; }
.neo-container, .main-content { width: 100%; max-width: 1240px; min-width: 0; }
.main-wrapper, .neo-main-wrapper, .neo-main-content { min-width: 0; }
.neo-header { background: var(--color-surface-a95); border-color: var(--neo-border); border-radius: var(--ui-radius-panel); box-shadow: none; padding: 8px 18px; backdrop-filter: blur(18px); }
.neo-logo img { height: 30px; border-radius: 0; }
.neo-user-btn { min-height: 0; padding: 0; border-radius: 50%; background: transparent; border-color: transparent; }
.neo-user-btn:is(:hover, :focus-visible) { background: transparent; border-color: transparent; transform: none; }
.neo-user-menu { background: var(--color-surface); border-color: var(--neo-border); box-shadow: var(--neo-shadow); max-height: calc(100dvh - 110px); overflow-y: auto; }
.neo-user-menu a { min-height: 44px; }
.neo-avatar, .neo-avatar-header, .neo-avatar-large, .profile-avatar { background: var(--color-surface-raised); color: var(--color-text); }
.neo-navbar { background: var(--color-surface-a96); border-color: var(--neo-border); box-shadow: 0 12px 35px var(--color-black-a27); backdrop-filter: blur(18px); }
.neo-nav-link { border-radius: var(--ui-radius-control); }
.neo-nav-link:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.neo-bottom-sheet-content { background: var(--color-surface); border-color: var(--neo-border); }
.neo-menu-item { min-height: 44px; }
.neo-card, .scraper-card, .stats-card-modern, .neo-stat-card, .chart-container, .quick-actions-container, .daily-summary-container { background: var(--neo-card-bg); border-color: var(--neo-border); border-radius: var(--ui-radius-panel); box-shadow: none; }
.neo-card:hover, .scraper-card:hover, .stats-card-modern:hover { transform: none; box-shadow: none; }
.neo-card-header, .scraper-card-header { border-color: var(--neo-border); background: transparent; padding: 20px var(--ui-panel-padding); }
.neo-card-body, .scraper-card-body { padding: var(--ui-panel-padding); }
.neo-card-title, .scraper-card-title h3 { font-size: var(--ui-heading-size); font-weight: 600; letter-spacing: -.025em; }
.section-title { color: var(--color-text); }
.section-title i, .neo-menu-item i, .profile-section h5, .license-section h3, .stat-icon, .timeline-icon, .job-status-icon, .quick-action-icon, .scraper-stat-value { color: var(--color-accent); }
.job-status-icon { background: var(--color-brand-a12); }
.btn.btn-outline-primary { color: var(--color-accent); border-color: var(--color-accent-a40); }
.scraper-card-title p { font-size: 13px; font-weight: 400; }
.neo-page-header { text-align: left; padding: 24px 0; background: transparent; border: 0; border-bottom: 1px solid var(--neo-border); border-radius: 0; box-shadow: none; }
.neo-page-header::before { display: none; }
.neo-page-title { justify-content: flex-start; font-size: var(--ui-title-size); font-weight: 600; letter-spacing: -.04em; }
.neo-page-subtitle { font-size: 14px; opacity: 1; }
.neo-breadcrumb { flex-wrap: wrap; gap: 8px; border-color: var(--neo-border); }
.neo-breadcrumb-item { font-size: 12px; }
.neo-breadcrumb-item.active, .neo-link, .text-primary, .scraper-card-icon { color: var(--color-accent); }
.neo-link:hover { color: var(--color-accent-soft); }
.neo-info-box { background: var(--color-brand-a5); border-color: var(--color-accent-a20); }
.neo-info-box i, .neo-form-label i { color: var(--color-accent); }
.hero-section { background: radial-gradient(ellipse at top right, var(--color-brand-a17), transparent 65%), var(--color-surface); border-color: var(--neo-border); padding: 28px; }
.hero-title { font-size: clamp(24px, 3vw, 36px); letter-spacing: -.05em; }
.hero-subtitle { font-size: 14px; }
.hero-section :is(.light-orb-1, .light-orb-2, .light-orb-3, .light-trail) { display: none; }
.stat-number { font-variant-numeric: tabular-nums; letter-spacing: -.045em; }
.quick-action-btn { background: var(--color-white-a1); border-color: var(--neo-border); border-radius: 14px; }
.quick-action-title { font-size: 14px; }
.quick-action-subtitle { font-size: 12px; }
.neo-form-label, .scraper-card .scraper-label, .form-label { font-size: var(--ui-label-size); font-weight: 600; margin-bottom: 8px; }
body :is(.neo-form-input, .neo-form-control, .neo-form-select, .scraper-input, .scraper-select, .form-control, .form-select) {
  min-width: 0; width: 100%; min-height: var(--ui-control-height); padding: 12px 14px; border: 1px solid var(--color-white-a15); border-radius: var(--ui-radius-control); background-color: var(--color-input); color: var(--color-text); font-size: var(--ui-body-size); font-weight: 400; line-height: 1.5; transition: border-color .2s, box-shadow .2s;
}
body .scraper-card :is(.scraper-input, .scraper-select) { background-color: var(--color-input); border-color: var(--color-white-a15); font-size: var(--ui-body-size); font-weight: 400; }
body :is(.neo-form-input, .neo-form-control, .neo-form-select, .scraper-input, .scraper-select, .form-control, .form-select):focus { outline: none; border-color: var(--color-accent); background-color: var(--color-input); box-shadow: 0 0 0 3px var(--color-accent-a10); }
body :is(input, textarea)::placeholder { color: var(--color-muted); opacity: 1; }
body :is(input, select, textarea):disabled { opacity: .6; cursor: not-allowed; }
body input:read-only:not([type=checkbox]):not([type=radio]) { color: var(--color-muted); }
body :is(.neo-form-input, .neo-form-control, .scraper-input):user-invalid { border-color: var(--color-danger); }
body input:autofill { -webkit-text-fill-color: var(--color-text); box-shadow: 0 0 0 100px var(--color-input) inset; }
body textarea { resize: vertical; min-height: 110px; }
body select { padding-right: 38px; }
body select option { color: var(--color-text); background: var(--color-surface); }
input[type=checkbox], input[type=radio] { accent-color: var(--color-brand); }
.neo-checkmark { border-radius: 5px; border-color: var(--color-white-a25); background: var(--color-input); }
.neo-checkbox input:focus-visible + .neo-checkmark { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.neo-checkbox input:disabled + .neo-checkmark { opacity: .5; }
.neo-form-text, .scraper-card .scraper-help { color: var(--color-muted); font-size: 12px; font-weight: 400; line-height: 1.75; }
.scraper-card .scraper-input-icon { background: var(--color-input); border-color: var(--color-white-a15); }
.scraper-card .scraper-input-group .scraper-input { border-radius: 0 var(--ui-radius-control) var(--ui-radius-control) 0; }
.scraper-card .scraper-control-btn, .scraper-card .scraper-control-btn:hover { background: var(--color-brand); min-height: var(--ui-control-height); padding: 12px 20px; border: 1px solid var(--color-brand); border-radius: var(--ui-radius-control); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; box-shadow: none; transform: none; }
.scraper-card .scraper-control-btn.scraper-stop, .scraper-card .scraper-control-btn.scraper-stop:hover { background: var(--color-surface-raised); border-color: var(--color-accent-a40); color: var(--color-danger); box-shadow: none; transform: none; }
.scraper-card .scraper-control-btn.scraper-stop i { color: var(--color-danger); }
.scraper-card .scraper-controls { padding-top: 20px; margin: 0; }
.scraper-card .scraper-control-btn::before { display: none; }
.scraper-card .scraper-control-btn:disabled { opacity: .5; cursor: not-allowed; }
body .scraper-card .scraper-stat-value { color: var(--color-accent); font-variant-numeric: tabular-nums; }
.scraper-card .scraper-logs { background: var(--color-input); font-size: 13px; line-height: 1.75; }
body .advanced-filter-item:has(input[type=radio]:checked) { background: var(--color-brand-a10); border-color: var(--color-accent-a30); }
.filter-switch input:focus-visible + .filter-slider { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.neo-btn, .scraper-btn { border-radius: var(--ui-radius-control); font-size: var(--ui-label-size); font-weight: 600; line-height: 1.5; box-shadow: none; transition: background .2s, border-color .2s; }
.neo-btn-primary, .scraper-btn-primary { color: var(--color-white); background: var(--color-brand); border-color: var(--color-brand); }
.neo-btn-primary:hover, .scraper-btn-primary:hover { background: var(--color-brand-hover); border-color: var(--color-brand-hover); transform: none; box-shadow: none; }
.neo-btn-secondary, .neo-btn-outline-primary { color: var(--color-accent-soft); border-color: var(--color-accent-a30); background: var(--color-brand-a5); }
.neo-btn-secondary:hover, .neo-btn-outline-primary:hover { background: var(--color-brand-a15); color: var(--color-text); transform: none; }
.scraper-card .scraper-btn-outline, .scraper-card .scraper-btn-outline i { color: var(--color-accent); border-color: var(--color-accent-a40); }
.neo-btn:disabled, .scraper-btn:disabled { opacity: .5; cursor: not-allowed; }
.neo-btn-danger { background: var(--color-danger-fill); border-color: var(--color-danger-fill); color: var(--color-white); }
.neo-btn-success { background: var(--color-success); border-color: var(--color-success); color: var(--color-bg); }
.profile-section .btn.btn-instagram, .profile-section .btn.btn-instagram:hover { background: var(--color-brand); color: var(--color-white); }
.job-status-actions .btn { border-radius: 10px; }
.job-status-actions .btn.btn-success:hover, .job-status-actions .btn.btn-warning:hover, .job-status-actions .btn.btn-info:hover, .job-status-actions .btn.btn-danger:hover { color: var(--color-bg); }
.neo-avatar-header, .user-avatar-small { background: var(--color-surface-raised); color: var(--color-accent-soft); }
.swal2-popup { background: var(--color-surface); color: var(--color-text); border: 1px solid var(--neo-border); border-radius: 18px; font-family: inherit; }
.swal2-popup .swal2-styled.swal2-confirm { background: var(--color-brand); color: var(--color-white); border-radius: 10px; }
.swal2-popup .swal2-styled.swal2-cancel { background: var(--color-surface-hover); color: var(--color-text); border-radius: 10px; }
.swal2-popup :is(.swal2-input, .swal2-textarea, .swal2-select) { background: var(--color-input); color: var(--color-text); border-color: var(--neo-border); }
.swal2-icon.swal2-success { color: var(--color-success); border-color: var(--color-success); }
.swal2-icon.swal2-error { color: var(--color-danger); border-color: var(--color-danger); }
.swal2-icon.swal2-warning { color: var(--color-warning); border-color: var(--color-warning); }
.swal2-icon.swal2-info, .swal2-icon.swal2-question { color: var(--color-info); border-color: var(--color-info); }
.swal2-icon.swal2-success .swal2-success-ring { border-color: var(--color-success-a30); }
.swal2-icon.swal2-success [class^=swal2-success-line] { background: var(--color-success); }
.swal2-icon.swal2-error [class^=swal2-x-mark-line] { background: var(--color-danger); }
.apexcharts-tooltip.apexcharts-theme-dark, .apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title { background: var(--color-surface); border-color: var(--neo-border); color: var(--color-text); }
.profile-tabs { overflow-x: auto; scrollbar-width: thin; }
.profile-tab { white-space: nowrap; min-height: 48px; }
.profile-tab.active { color: var(--color-accent); border-bottom-color: var(--color-accent); background: var(--color-brand-a5); }
.neo-table-responsive, .table-responsive, .dataTables_wrapper { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.neo-table, table.table { width: 100%; border-collapse: collapse; color: var(--color-text); background: transparent; font-size: 13px; }
.neo-table thead th, table.table th { background: var(--color-input); color: var(--color-muted); font-size: var(--ui-caption-size); font-weight: 600; letter-spacing: 0; text-transform: none; white-space: nowrap; padding: 14px 16px; }
.neo-table td, table.table td { border-color: var(--neo-border); padding: 14px 16px; vertical-align: middle; font-variant-numeric: tabular-nums; }
.neo-table tbody tr:hover, table.table tbody tr:hover { background: var(--color-white-a1); }
.dataTables_wrapper .pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 0; list-style: none; }
.dataTables_wrapper .dataTables_paginate li.paginate_button { padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; transform: none !important; }
.dataTables_wrapper .page-link { display: grid; place-items: center; min-height: 44px; min-width: 44px; padding: 8px 12px; border: 1px solid var(--neo-border); border-radius: 10px; background: var(--color-input); color: var(--color-text); }
.dataTables_wrapper .page-item.active .page-link { background: var(--color-brand); color: var(--color-white); border-color: var(--color-brand); }
.admin-stats-grid.admin-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-shortcuts .admin-stat-card { align-items: stretch; text-align: left; }
.admin-shortcuts .admin-stat-card > div > div:first-child { flex-shrink: 0; }
.select2-container { max-width: 100%; }
body .select2-container--default .select2-selection { min-height: 48px; border: 1px solid var(--color-white-a15); border-radius: 10px; background: var(--color-input); color: var(--color-text); padding: 6px; }
body .select2-container--default .select2-selection__rendered { color: var(--color-text); }
body .select2-container--default .select2-selection__choice { background: var(--color-surface-raised); color: var(--color-text); border-color: var(--color-accent-a20); }
body .select2-dropdown { background: var(--color-surface); color: var(--color-text); border-color: var(--color-white-a15); }
body .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--color-brand-hover); color: var(--color-white); }
body .select2-container--default .select2-results__option[aria-selected=true] { background: var(--color-surface-raised); }
body .select2-search__field { color: var(--color-text); background: var(--color-input); }
.neo-footer { background: var(--color-input); border-top-color: var(--neo-border); }
.neo-footer-accordion { width: 100%; padding: 0; text-align: left; font-size: 14px; font-weight: 700; color: var(--color-text); }
.neo-footer-accordion, .neo-footer-accordion:hover { background: transparent; color: var(--color-text); }
.neo-footer::before { background: var(--color-accent-a20); }
.neo-download-option { box-shadow: none; }
.neo-footer-inner { max-width: 1240px; }
.neo-footer-content a { min-height: 36px; display: flex; align-items: center; }
.neo-scroll-top { background: var(--color-brand); box-shadow: 0 8px 24px var(--color-black-a27); }
.neo-swal-popup { background: var(--color-surface) !important; box-shadow: 0 20px 60px var(--color-black-a40) !important; }
.neo-swal-title, .neo-swal-content, .neo-swal-confirm, .neo-swal-cancel { font-family: 'Manrope', system-ui, sans-serif !important; }
.neo-swal-confirm, .neo-swal-confirm:hover { background: var(--color-brand) !important; box-shadow: none !important; }
.neo-main-content section { line-height: 1.85; }
.neo-main-content section h2 { margin-top: 24px; font-size: 22px; }
/* Workflow headings are titles, not a second promotional hero. */
.scraper-hero { padding: 8px 0 24px; margin-bottom: 24px; background: transparent; border: 0; border-bottom: 1px solid var(--neo-border); border-radius: 0; box-shadow: none; }
.scraper-hero::before { display: none; }
.scraper-hero-content { gap: 16px; }
.scraper-hero-icon { width: 44px; height: 44px; font-size: 20px; background: var(--color-brand-a10); color: var(--color-accent); border-radius: var(--ui-radius-control); box-shadow: none; }
.scraper-hero-title { font-size: var(--ui-title-size); font-weight: 600; letter-spacing: -.04em; line-height: 1.25; }
.scraper-hero-subtitle { font-size: var(--ui-body-size); line-height: 1.7; margin-top: 6px; }
.neo-breadcrumb { margin-bottom: 24px; background: none; padding-block: 4px; }
.neo-breadcrumb a { min-height: 32px; display: inline-flex; align-items: center; gap: 6px; }
.neo-breadcrumb-separator { opacity: .5; }
.neo-form-section { padding: 0; margin-bottom: 28px; background: none; border: 0; border-radius: 0; backdrop-filter: none; }
.neo-form-section + .neo-form-section { padding-top: 24px; border-top: 1px solid var(--neo-border); }
.neo-form-section-title { font-size: 15px; font-weight: 600; letter-spacing: -.015em; }
.neo-form-group { min-width: 0; }
.neo-form-actions { padding-top: 20px; border-top: 1px solid var(--neo-border); align-items: stretch; }
.neo-card-body.admin { padding: var(--ui-panel-padding); }
.neo-card:has(> .neo-card-header, > .neo-card-body) { padding: 0; }
.neo-form-actions .neo-btn-primary { background: var(--color-brand); box-shadow: none; }
.neo-form-actions > :is(a, button) { min-height: var(--ui-control-height); }
.neo-quick-buttons, .neo-helper-buttons { flex-wrap: wrap; gap: 8px; }
.neo-quick-btn, .neo-helper-btn { min-height: 44px; padding: 10px 12px; background: var(--color-input); border: 1px solid var(--neo-border); border-radius: var(--ui-radius-control); box-shadow: none; font-size: 12px; transform: none; }
.neo-quick-btn:hover, .neo-helper-btn:hover { background: var(--color-surface-hover); box-shadow: none; transform: none; }
.neo-password-input-wrapper .neo-form-control { padding-right: 52px; }
.neo-password-input-wrapper .neo-password-toggle { top: 50%; right: 2px; width: 44px; height: 44px; transform: translateY(-50%); background: transparent; border: 0; border-radius: var(--ui-radius-control); box-shadow: none; }
.scraper-card .scraper-input-group:has(> select) { gap: 8px; }
.scraper-card .scraper-input-group > .scraper-btn { flex-shrink: 0; }
.scraper-card .scraper-input-icon { padding-inline: 14px; border-radius: var(--ui-radius-control) 0 0 var(--ui-radius-control); }
.scraper-card .scraper-filter-item { min-height: 44px; padding: 10px 12px; background: var(--color-input); border: 1px solid var(--neo-border); border-radius: var(--ui-radius-control); transform: none; }
.scraper-card .scraper-filter-item:is(:hover, :has(input:checked)) { background: var(--color-brand-a10); border-color: var(--color-accent-a40); transform: none; }
.scraper-card .scraper-filter-item .scraper-checkbox-label { font-size: 13px; font-weight: 500; line-height: 1.6; }
.scraper-card .scraper-filter-item:has(input:checked) .scraper-checkbox-label { color: var(--color-text); }
.scraper-card .scraper-filter-item .scraper-checkbox { width: 18px; height: 18px; flex: 0 0 18px; }
.scraper-card .scraper-filter-item input[type=radio] { appearance: auto; border-radius: 50%; }
.scraper-card .scraper-filter-item input[type=radio]::after { display: none; }
.scraper-filter-item:focus-within { outline: 2px solid var(--color-accent); outline-offset: 2px; }
/* These are mutually exclusive radio choices, not independent switches. */
body .advanced-filter-item { min-height: 48px; border: 1px solid var(--neo-border); }
body .advanced-filter-item .filter-switch { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; }
body .filter-switch input[type=radio] { position: static; opacity: 1; width: 18px; height: 18px; appearance: auto; cursor: pointer; }
body .filter-switch .filter-slider { display: none; }
body .advanced-filter-item:focus-within { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.profile-header { padding: 0 0 24px; border: 0; border-bottom: 1px solid var(--neo-border); border-radius: 0; background: none; }
.profile-info-grid { gap: 0 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.profile-info-item { padding: 20px 0; border: 0; border-bottom: 1px solid var(--neo-border); border-radius: 0; background: none; }
.profile-info-item:hover { background: none; border-color: var(--neo-border); }
.profile-info-item .profile-info-icon { width: 28px; height: 28px; font-size: 15px; background: none; color: var(--color-muted); margin-bottom: 10px; }
.profile-info-label { text-transform: none; letter-spacing: 0; font-size: 12px; }
.profile-info-value { overflow-wrap: anywhere; font-size: 15px; }
.neo-package-card, .neo-period-card { min-height: 84px; padding: 16px; border: 1px solid var(--neo-border); border-radius: var(--ui-radius-control); background: var(--color-input); box-shadow: none; transition: border-color .2s, background .2s; }
.neo-package-card:hover, .neo-period-card:hover { background: var(--color-surface-hover); border-color: var(--color-accent-a40); transform: none; box-shadow: none; }
.neo-package-card.selected, .neo-period-card.selected { background: var(--color-brand-a10); border-color: var(--color-accent); box-shadow: none; }
.neo-package-header, .neo-period-header { gap: 8px; min-width: 0; }
.neo-package-header i, .neo-period-header i { margin: 0; font-size: 20px; }
.neo-option-label { font-size: 13px; font-weight: 600; line-height: 1.5; }
.neo-package-cards, .neo-period-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.neo-package-card { font: inherit; color: var(--color-text); cursor: pointer; text-align: center; }
.neo-package-header, .neo-period-header { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.neo-period-header { width: 100%; min-height: 48px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.neo-period-card[data-period="daily"] { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 8px; }
.neo-period-card[data-period="daily"] .neo-period-header { height: auto; }
#daily_days_decrease, #daily_days_increase { width: 44px; height: 44px; padding: 0; flex-shrink: 0; align-items: center; justify-content: center; border: 1px solid var(--neo-border); border-radius: var(--ui-radius-control); background: var(--color-surface); color: var(--color-text); cursor: pointer; }
.neo-filter-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.neo-filter-tab { min-height: 48px; padding: 12px 16px; font-size: 13px; font-weight: 600; }
.neo-download-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.neo-download-option { display: flex; align-items: center; gap: 14px; min-width: 0; min-height: 88px; padding: 20px; text-align: left; background: var(--color-input); color: var(--color-text); border: 1px solid var(--neo-border); border-radius: var(--ui-radius-control); font: inherit; cursor: pointer; }
.neo-download-option:hover { border-color: var(--color-accent); background: var(--color-brand-a10); }
.neo-download-option > i { color: var(--color-accent); font-size: 22px; }
.neo-download-option > div { min-width: 0; }
.neo-download-option strong, .neo-download-option small { display: block; overflow-wrap: anywhere; }
.neo-download-option strong { font-size: 14px; font-weight: 600; }
.neo-download-option small { margin-top: 4px; color: var(--color-muted); font-size: 12px; }
.neo-filter-tab, .neo-filter-tab.active, .neo-filter-tab:hover { background: var(--color-input); border: 1px solid var(--neo-border); border-radius: var(--ui-radius-control); box-shadow: none; transform: none; }
.neo-filter-tab.active { background: var(--color-brand-a10); border-color: var(--color-accent); color: var(--color-text); }
.neo-stat-card .stat-icon { background: var(--color-brand-a10); border: 0; box-shadow: none; }
.neo-stat-card .stat-label { font-size: 12px; line-height: 1.6; }
.neo-stat-card .stat-number { font-size: 26px; font-weight: 600; }
.neo-main-content .neo-card:has(> section) { max-width: 820px; padding: 32px 40px; }
.neo-main-content .neo-card:has(> section) :is(p, li) { font-size: 15px; line-height: 1.85; }
.neo-main-content .neo-card:has(> section) h1 { line-height: 1.3; letter-spacing: -.035em; overflow-wrap: anywhere; }
.neo-main-content .neo-card:has(> section) section h2 { font-size: 20px; letter-spacing: -.02em; }
@media (max-width: 767px) {
  .neo-header { top: 10px; padding: 8px 12px; }
  body .admin-stats-grid.admin-shortcuts { grid-template-columns: minmax(0, 1fr) !important; }
  .neo-logo img { height: 26px; }
  .neo-main-wrapper { padding: 16px; margin-top: 88px; }
  .main-wrapper { padding-top: 88px; }
  .main-content { padding: 12px 16px; }
  .neo-main-content { padding-top: 100px; }
  .neo-card { padding: 20px; border-radius: var(--ui-radius-panel); }
  .neo-card:has(> .neo-card-header, > .neo-card-body) { padding: 0; }
  .neo-card-body, .neo-card-body.admin, .scraper-card-body { padding: 18px; }
  .scraper-card-header { padding: 18px; gap: 12px; }
  .neo-card-title, .scraper-card-title h3 { font-size: 17px; }
  .scraper-card-title { min-width: 0; }
  .scraper-card-icon { width: 40px; height: 40px; }
  .neo-page-header { padding: 12px 0 20px; border-radius: 0; }
  .hero-section { padding: 20px; border-radius: var(--ui-radius-panel); }
  .neo-page-title { font-size: 25px; flex-wrap: wrap; }
  .neo-page-subtitle, .hero-subtitle { font-size: 13px; }
  body :is(.neo-form-input, .neo-form-control, .neo-form-select, .scraper-input, .scraper-select, .form-control, .form-select) { font-size: 16px; }
  body .scraper-card :is(.scraper-input, .scraper-select) { font-size: 16px; }
  .neo-form-actions, .neo-action-buttons { flex-direction: row; flex-wrap: wrap; gap: 10px; }
  .neo-form-actions > .neo-btn, .neo-action-buttons > .neo-btn { flex: 1 1 auto; min-width: 0 !important; }
  #daily_days_decrease, #daily_days_increase { min-width: 44px; min-height: 44px; }
  .neo-filter-tabs { grid-template-columns: minmax(0, 1fr) !important; }
  body .scraper-card .advanced-filters-container:has(.advanced-filter-item) { grid-template-columns: minmax(0, 1fr) !important; }
  .advanced-filter-item { min-width: 0; flex-direction: row !important; justify-content: space-between; }
  .neo-download-option { min-width: 0; overflow-wrap: anywhere; padding: 14px !important; }
  .neo-download-option strong { font-size: 13px !important; }
  .neo-download-option small { font-size: 11px !important; }
  .neo-user-menu { max-width: calc(100vw - 32px); }
  .neo-navbar { bottom: 0; }
  .neo-footer { padding-bottom: calc(110px + env(safe-area-inset-bottom)); }
  .neo-footer-accordion { min-height: 44px; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; background: var(--color-white-a1); }
  .neo-main-content section h2 { font-size: 20px; }
  .scraper-hero { padding: 4px 0 20px; }
  .scraper-hero-content { flex-direction: row; text-align: left; align-items: flex-start; gap: 12px; }
  .scraper-hero-icon { width: 36px; height: 36px; font-size: 17px; flex-shrink: 0; }
  .scraper-hero-title { font-size: 23px; }
  .scraper-hero-subtitle { font-size: 13px; }
  .neo-form-section { padding: 0; border-radius: 0; }
  .profile-info-grid { grid-template-columns: minmax(0, 1fr); }
  .profile-header { padding: 0 0 20px; }
  .profile-info-item { padding: 16px 0; display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 12px; }
  .profile-info-item .profile-info-icon { grid-row: span 2; margin: 0; }
  .profile-info-label { margin-bottom: 4px; }
  .neo-main-content .neo-card:has(> section) { padding: 24px 20px; }
  .neo-main-content .neo-card:has(> section) h1 { font-size: 26px !important; }
  .neo-package-card, .neo-period-card { min-height: 80px; }
  .neo-package-cards, .neo-period-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .neo-period-card[data-period="daily"] { grid-column: 1 / -1; }
  .neo-download-options { grid-template-columns: minmax(0, 1fr); }
  .neo-package-header i, .neo-period-header i { font-size: 18px; }
  body .advanced-filter-item .filter-switch { width: 44px !important; height: 44px !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
#loadEmailJobs[hidden] { display: none; }
