/* ============================================================
   WeAcTool / AIDtoFIX – Shared App CSS (user-facing pages)
   ============================================================ */

/* --- Design tokens (tutti i token in un unico :root) ------- */
:root {
    /* Standard pages — light */
    --primary: #4285F4;
    --primary-dark: #3367d6;
    --secondary: #34A853;
    --secondary-dark: #2d9346;
    --danger: #EA4335;
    --danger-dark: #d73125;
    --warning: #FBBC05;
    --text: #333;
    --text-muted: #666;
    --bg: #f9f9f9;
    --white: #ffffff;
    --light-gray: #f5f5f5;
    --border: #ddd;
    --shadow-sm: 0 2px 10px rgba(0, 0, 0, .05);
    --shadow-md: 0 5px 20px rgba(0, 0, 0, .12);
    --radius: 10px;
    --radius-sm: 5px;
    --font: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

    /* Aurora pages — dark (default) */
    --ac-bg:    #14110f;
    --ac-surf:  #1c1816;
    --ac-surf2: #241f1c;
    --ac-surf3: #2c2520;
    --ac-line:  rgba(255,240,225,0.07);
    --ac-lineS: rgba(255,240,225,0.12);
    --ac-text:  #f4ece2;
    --ac-dim:   rgba(244,236,226,0.62);
    --ac-faint: rgba(244,236,226,0.38);
    --ac-coral: #ff8a65;
    --ac-amber: #f5b86b;
    --ac-green: #7ec48a;
    --ac-red:   #e87b6e;
    --ac-blue:  #7ab8f5;
    --ac-serif: 'Montserrat', system-ui, sans-serif;
    --ac-sans:  'Montserrat', system-ui, sans-serif;
    --ac-mono:  'JetBrains Mono', ui-monospace, monospace;
}

/* --- Dark mode (standard pages) --------------------------- */
[data-theme="dark"] {
    --text: #e4e6eb;
    --text-muted: #b0b3b8;
    --bg: #18191a;
    --white: #242526;
    --light-gray: #2d2e2f;
    --border: #3a3b3c;
    --shadow-sm: 0 2px 10px rgba(0, 0, 0, .35);
    --shadow-md: 0 5px 20px rgba(0, 0, 0, .55);
}

/* --- Light mode (Aurora pages) — sovrascrive i dark default */
[data-theme="light"] {
    --ac-bg:    #faf8f5;
    --ac-surf:  #ffffff;
    --ac-surf2: #f0ece6;
    --ac-surf3: #e0dcd8;
    --ac-line:  rgba(26,21,18,0.09);
    --ac-lineS: rgba(26,21,18,0.16);
    --ac-text:  #1a1512;
    --ac-dim:   rgba(26,21,18,0.58);
    --ac-faint: rgba(26,21,18,0.35);
    --ac-coral: #e05a30;
    --ac-amber: #b87200;
    --ac-green: #28804a;
    --ac-red:   #c0392b;
    --ac-blue:  #1a6db5;
}

/* --- Reset ------------------------------------------------- */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* --- Base -------------------------------------------------- */
body {
    font-family: var(--font);
    line-height: 1.6;
    color: var(--text);
    background: var(--bg);
}

a {
    color: var(--primary);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* --- App wrapper ------------------------------------------ */
.app-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px 0;
}

/* --- App footer ------------------------------------------- */
.app-footer {
    margin-top: 48px;
    padding: 28px 48px 32px;
    border-top: 1px solid var(--ac-line, var(--border));
    background: var(--ac-bg, transparent);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-size: 13px;
    color: var(--ac-dim, var(--text-muted));
}

.app-footer-copy {
    color: var(--ac-faint, var(--text-muted));
    font-family: var(--ac-mono, inherit);
}

.app-footer-links,
.app-footer nav.app-footer-links[aria-label] {
    display: flex !important;
    flex-wrap: wrap;
    gap: 20px;
}

.app-footer-links a {
    color: var(--ac-dim, var(--text-muted));
    text-decoration: none;
    font-size: 13px;
    transition: color .15s;
}

.app-footer-links a:hover {
    color: var(--ac-text, var(--text));
    text-decoration: none;
}

@media (max-width: 600px) {
    .app-footer {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px 24px 28px;
    }
}

/* --- Top header ------------------------------------------- */
.app-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0 14px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 24px;
}

.app-header-brand h1 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary);
    line-height: 1.2;
}

.app-header-brand p {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-top: 2px;
}

.app-header-user {
    display: flex;
    align-items: center;
    gap: 12px;
}

.app-user-info {
    text-align: right;
    line-height: 1.3;
}

.app-user-name {
    font-weight: 600;
    font-size: 0.95rem;
}

.app-user-plan {
    font-size: 0.78rem;
    color: var(--text-muted);
}

/* --- Buttons ----------------------------------------------- */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 500;
    text-decoration: none;
    transition: background .2s, transform .1s;
    line-height: 1.4;
}

.btn:hover {
    text-decoration: none;
}

.btn:active {
    transform: scale(.98);
}

.btn-primary,
.btn {
    background: var(--primary);
    color: #fff;
}

.btn-primary:hover,
.btn:hover {
    background: var(--primary-dark);
    color: #fff;
}

.btn-secondary {
    background: #6c757d;
    color: #fff;
}

.btn-secondary:hover {
    background: #5a6268;
    color: #fff;
}

.btn-success {
    background: var(--secondary);
    color: #fff;
}

.btn-success:hover {
    background: var(--secondary-dark);
    color: #fff;
}

.btn-danger {
    background: var(--danger);
    color: #fff;
}

.btn-danger:hover {
    background: var(--danger-dark);
    color: #fff;
}

.btn-warning {
    background: var(--warning);
    color: #333;
}

.btn-warning:hover {
    background: #e0a800;
    color: #333;
}

.btn-light {
    background: var(--light-gray);
    color: var(--text);
}

.btn-light:hover {
    background: #e0e0e0;
    color: var(--text);
}

.btn-sm {
    padding: 5px 10px;
    font-size: 0.8rem;
}

/* --- Theme toggle ------------------------------------------ */
.theme-toggle {
    background: none;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 6px 10px;
    cursor: pointer;
    color: var(--text);
    font-size: 0.9rem;
    line-height: 1;
    transition: background .2s;
}

.theme-toggle:hover {
    background: var(--light-gray);
}

/* --- Alerts ----------------------------------------------- */
.alert {
    padding: 14px 18px;
    border-radius: var(--radius-sm);
    margin-bottom: 20px;
    border-left: 4px solid transparent;
}

.alert-success {
    background: #d4edda;
    color: #155724;
    border-color: var(--secondary);
}

.alert-error {
    background: #f8d7da;
    color: #721c24;
    border-color: var(--danger);
}

.alert-warning {
    background: #fff3cd;
    color: #856404;
    border-color: var(--warning);
}

/* --- Cards ------------------------------------------------- */
.card {
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    padding: 26px;
    margin-bottom: 28px;
}

.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--border);
}

.card-header h2 {
    font-size: 1.25rem;
    color: var(--text);
    font-weight: 600;
}

/* --- Back button ------------------------------------------ */
.back-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 20px;
    padding: 9px 14px;
    background: var(--light-gray);
    color: var(--text);
    border-radius: var(--radius-sm);
    font-size: 0.88rem;
    transition: background .2s;
    text-decoration: none;
}

.back-button:hover {
    background: #e0e0e0;
    text-decoration: none;
}

/* --- Breadcrumb -------------------------------------------- */
.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 6px 0 18px;
    gap: 4px;
    font-size: 0.85rem;
    color: var(--text-muted);
}

.breadcrumb li+li::before {
    content: '/';
    margin-right: 4px;
    color: var(--border);
}

.breadcrumb a {
    color: var(--primary);
}

/* --- Tables ------------------------------------------------ */
.table {
    width: 100%;
    border-collapse: collapse;
    min-width: 500px;
}

.table th,
.table td {
    padding: 11px 14px;
    text-align: left;
    border-bottom: 1px solid var(--border);
    font-size: 0.9rem;
}

.table th {
    background: var(--light-gray);
    font-weight: 600;
    white-space: nowrap;
}

.table tr:hover td {
    background: #f4f8ff;
}

/* --- Badges ------------------------------------------------ */
.badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 0.73rem;
    font-weight: 700;
    letter-spacing: .3px;
    white-space: nowrap;
}

.badge-success {
    background: #d4edda;
    color: #155724;
}

.badge-warning {
    background: #fff3cd;
    color: #856404;
}

.badge-danger {
    background: #f8d7da;
    color: #721c24;
}

.badge-info {
    background: #d1ecf1;
    color: #0c5460;
}

.badge-primary {
    background: #cfe2ff;
    color: #084298;
}

.badge-secondary {
    background: #e2e3e5;
    color: #383d41;
}

/* --- Form fields ------------------------------------------ */
.form-group {
    margin-bottom: 18px;
}

.form-group label,
label {
    display: block;
    margin-bottom: 5px;
    font-weight: 500;
    font-size: 0.9rem;
}

.form-control,
input[type="text"],
input[type="url"],
input[type="number"],
input[type="email"],
textarea,
select {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: 0.95rem;
    font-family: var(--font);
    background: var(--white);
    transition: border-color .2s, box-shadow .2s;
}

.form-control:focus,
input[type="text"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(66, 133, 244, .15);
}

textarea {
    height: 100px;
    resize: vertical;
}

small {
    font-size: 0.78rem;
    color: var(--text-muted);
    display: block;
    margin-top: 3px;
}

/* --- Info box (colored left border) ----------------------- */
.info-box {
    padding: 16px;
    background: #f8f9fa;
    border-radius: var(--radius-sm);
    border-left: 4px solid var(--primary);
    margin-bottom: 20px;
}

.info-box p {
    margin: 4px 0;
    font-size: 0.9rem;
}

.info-box .verified {
    color: var(--secondary);
    font-weight: 700;
}

.info-box .not-verified {
    color: var(--danger);
    font-weight: 700;
}

/* --- Stat cards ------------------------------------------- */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
    margin-bottom: 28px;
}

.stat-card {
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    padding: 20px;
    text-align: center;
}

.stat-value {
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary);
    margin: 8px 0;
}

.stat-label {
    font-size: 0.9rem;
    color: var(--text-muted);
}

/* --- Modal ------------------------------------------------- */
.modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, .5);
    overflow-y: auto;
}

.modal-content {
    background: var(--white);
    margin: 8% auto 40px;
    padding: 32px;
    border-radius: var(--radius);
    width: 90%;
    max-width: 550px;
    box-shadow: var(--shadow-md);
    position: relative;
}

.modal-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 20px;
}

.close {
    position: absolute;
    top: 16px;
    right: 20px;
    font-size: 26px;
    line-height: 1;
    color: #aaa;
    cursor: pointer;
    font-weight: 700;
    border: none;
    background: none;
}

.close:hover {
    color: var(--text);
}

/* --- Code / API boxes ------------------------------------- */
.code-box,
.api-key-box,
.widget-code {
    background: #f8f9fa;
    border: 1px solid #eaecef;
    border-radius: var(--radius-sm);
    padding: 14px;
    overflow-x: auto;
    margin: 10px 0;
    font-family: monospace;
    font-size: 0.88rem;
    word-break: break-all;
    white-space: pre-wrap;
}

.copy-btn {
    background: var(--light-gray);
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 4px 10px;
    font-size: 0.8rem;
    cursor: pointer;
    margin-left: 8px;
}

.copy-btn:hover {
    background: #e0e0e0;
}

/* --- Scan-specific ---------------------------------------- */
.metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 16px 0;
}

.metric {
    flex: 1;
    min-width: 160px;
    padding: 16px;
    border-radius: var(--radius-sm);
    color: #fff;
    text-align: center;
}

.metric.high {
    background: #e74c3c;
}

.metric.medium {
    background: #f39c12;
}

.metric.low {
    background: #3498db;
}

.metric.info {
    background: #2ecc71;
}

.metric h3 {
    font-size: 1rem;
    margin-bottom: 6px;
}

.metric p {
    font-size: 1.6rem;
    font-weight: 700;
}

.severity-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    color: #fff;
    font-size: 0.78rem;
}

.severity-badge.high {
    background: #e74c3c;
}

.severity-badge.medium {
    background: #f39c12;
}

.severity-badge.low {
    background: #3498db;
}

.severity-badge.info {
    background: #2ecc71;
}

/* --- Sitemap scanner -------------------------------------- */
.url-list {
    margin-top: 20px;
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid var(--border);
    padding: 10px;
    border-radius: var(--radius-sm);
}

.url-item {
    padding: 8px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: 0.88rem;
}

.url-item:last-child {
    border-bottom: none;
}

.status-pending {
    color: var(--text-muted);
}

.status-scanning {
    color: var(--warning);
    font-weight: 600;
}

.status-success {
    color: var(--secondary);
    font-weight: 600;
}

.status-error {
    color: var(--danger);
    font-weight: 600;
}

.progress-container {
    margin-top: 20px;
}

.progress-bar-bg {
    background: var(--border);
    height: 18px;
    border-radius: 9px;
    overflow: hidden;
    width: 100%;
}

.progress-bar-fill {
    height: 100%;
    background: var(--primary);
    width: 0%;
    transition: width .3s;
    border-radius: 9px;
}

.scan-stats {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    font-size: 0.85rem;
    color: var(--text-muted);
}

/* --- Issue categories (scan-details) ---------------------- */
.issue-category {
    margin-bottom: 20px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.category-header {
    background: #eee;
    padding: 10px 15px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    font-size: 0.95rem;
}

details>summary {
    list-style: none;
}

details>summary::-webkit-details-marker {
    display: none;
}

.category-content {
    padding: 14px;
}

/* --- Empty state ------------------------------------------ */
.empty-state {
    text-align: center;
    padding: 30px;
    color: var(--text-muted);
}

.empty-state i {
    font-size: 3rem;
    margin-bottom: 14px;
    color: #dee2e6;
    display: block;
}

/* --- Dashboard sidebar ------------------------------------ */
.dashboard-grid {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 28px;
}

.sidebar {
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    padding: 20px;
    align-self: start;
    position: sticky;
    top: 16px;
}

.sidebar-menu {
    list-style: none;
}

.sidebar-menu li {
    margin-bottom: 4px;
}

.sidebar-menu a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    border-radius: var(--radius-sm);
    color: var(--text);
    font-size: 0.9rem;
    transition: background .2s;
    text-decoration: none;
}

.sidebar-menu a:hover,
.sidebar-menu a.active {
    background: var(--light-gray);
}

.sidebar-menu i {
    color: var(--primary);
    width: 18px;
    text-align: center;
}

.main-content {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

/* --- Misc -------------------------------------------------- */
.steps {
    list-style: decimal;
    margin-left: 20px;
    margin-bottom: 14px;
}

.steps li {
    margin-bottom: 8px;
    font-size: 0.9rem;
}

.verification-methods {
    margin-top: 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 16px;
}

/* --- Responsive -------------------------------------------- */
@media (max-width: 768px) {
    .app-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .app-header-user {
        width: 100%;
    }

    .card-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .dashboard-grid {
        grid-template-columns: 1fr;
    }

    .sidebar {
        position: static;
    }

    .sidebar-menu {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
    }

    .sidebar-menu li {
        margin-bottom: 0;
    }

    .metrics {
        flex-direction: column;
    }

    .metric {
        min-width: 100%;
    }

    .table {
        min-width: 400px;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* --- Dark mode overrides ---------------------------------- */
[data-theme="dark"] .table tr:hover td { background: #1e2a38; }
[data-theme="dark"] .badge-success   { background: #1a3d27; color: #6fcf97; }
[data-theme="dark"] .badge-warning   { background: #3d2e0a; color: #fbbf24; }
[data-theme="dark"] .badge-danger    { background: #3d1a1a; color: #f87171; }
[data-theme="dark"] .badge-info      { background: #0a2d36; color: #67e8f9; }
[data-theme="dark"] .badge-primary   { background: #0a1c3d; color: #93c5fd; }
[data-theme="dark"] .badge-secondary { background: #2d2e2f; color: #b0b3b8; }
[data-theme="dark"] .alert-success   { background: #1a3d27; color: #6fcf97; border-color: #2d9346; }
[data-theme="dark"] .alert-error     { background: #3d1a1a; color: #f87171; border-color: #d73125; }
[data-theme="dark"] .alert-warning   { background: #3d2e0a; color: #fbbf24; border-color: #e0a800; }
[data-theme="dark"] .info-box        { background: #1e2533; }
[data-theme="dark"] .code-box,
[data-theme="dark"] .api-key-box,
[data-theme="dark"] .widget-code     { background: #1e2533; border-color: #3a3b3c; }
[data-theme="dark"] .category-header { background: #2d2e2f; }
[data-theme="dark"] .copy-btn        { background: #2d2e2f; border-color: #3a3b3c; color: #e4e6eb; }
[data-theme="dark"] .copy-btn:hover  { background: #3a3b3c; }
[data-theme="dark"] .btn-light       { background: #2d2e2f; color: #e4e6eb; }
[data-theme="dark"] .btn-light:hover { background: #3a3b3c; }
[data-theme="dark"] .back-button:hover { background: #3a3b3c; }

/* ============================================================
   Aurora Component Library
   Shared across all Aurora-style pages. Individual pages only
   need the 3-line layout override + page-specific rules.
   ============================================================ */

/* ── Topbar ──────────────────────────────────────────────── */
.ac-topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 48px;border-bottom:1px solid var(--ac-line);background:var(--ac-bg);}
.ac-topbar-left{display:flex;align-items:center;}
.ac-logo-icon{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--ac-coral),var(--ac-amber));display:flex;align-items:center;justify-content:center;font-weight:700;color:#1a1512;font-size:14px;}
.ac-logo-name{font-weight:600;font-size:16px;color:var(--ac-text);text-decoration:none;margin-left:10px;}
.ac-topnav{display:flex;gap:28px;font-size:14px;margin-left:40px;}
.ac-topnav a{color:var(--ac-dim);text-decoration:none;transition:color .15s;}
.ac-topnav a:hover,.ac-topnav a.active{color:var(--ac-text);}
.ac-topbar-right{display:flex;align-items:center;gap:20px;font-size:14px;color:var(--ac-dim);}
.ac-topbar-sep{width:1px;height:16px;background:var(--ac-line);}
.ac-theme-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:var(--ac-surf2);border:1px solid var(--ac-line);color:var(--ac-dim);cursor:pointer;font-size:14px;transition:border-color .15s,color .15s;flex-shrink:0;}
.ac-theme-toggle:hover{border-color:var(--ac-lineS);color:var(--ac-text);}

/* ── Breadcrumbs ─────────────────────────────────────────── */
.ac-crumbs{padding:18px 48px;display:flex;gap:8px;font-size:13px;color:var(--ac-dim);align-items:center;}
.ac-crumbs a{color:var(--ac-dim);text-decoration:none;}
.ac-crumbs a:hover{color:var(--ac-text);}
.ac-crumbs .sep{color:var(--ac-faint);}
.ac-crumbs .cur{color:var(--ac-text);}

/* ── Page header ─────────────────────────────────────────── */
.ac-page-header{padding:32px 48px 24px;}
.ac-kicker{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ac-coral);margin-bottom:14px;}
.ac-page-title{font-family:var(--ac-serif);font-size:clamp(38px,5vw,64px);font-weight:400;margin:0;letter-spacing:-1.2px;line-height:1.05;color:var(--ac-text);}
.ac-page-title em{color:var(--ac-coral);font-style:italic;}

/* ── Buttons ─────────────────────────────────────────────── */
.ac-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;background:var(--ac-surf);color:var(--ac-text);border:1px solid var(--ac-line);font-size:13.5px;font-weight:500;font-family:inherit;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s;}
.ac-btn:hover{background:var(--ac-surf2);border-color:var(--ac-lineS);color:var(--ac-text);text-decoration:none;}
.ac-btn-primary{background:var(--ac-coral)!important;color:#1a1512!important;border-color:var(--ac-coral)!important;box-shadow:0 6px 18px -8px var(--ac-coral);}
.ac-btn-primary:hover{background:#e07a58!important;border-color:#e07a58!important;}
.ac-btn-danger{background:transparent!important;color:var(--ac-red)!important;border-color:rgba(232,123,110,.3)!important;}
.ac-btn-muted{color:var(--ac-dim)!important;}
.ac-btn-block{width:100%;justify-content:center;margin-top:8px;}
.ac-btn-danger:hover{background:rgba(232,123,110,.08)!important;}
.ac-btn-sm{padding:7px 13px!important;font-size:12.5px!important;}

/* ── Alerts ─────────────────────────────────────────────── */
.ac-alert{padding:14px 20px;border-radius:12px;margin:0 48px 20px;font-size:14px;}
.ac-alert-success{background:rgba(126,196,138,.1);border-left:3px solid var(--ac-green);color:var(--ac-green);}
.ac-alert-error{background:rgba(232,123,110,.1);border-left:3px solid var(--ac-red);color:var(--ac-red);}

/* ── Sections ────────────────────────────────────────────── */
.ac-section{padding:0 48px 32px;}
.ac-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.ac-section-title{font-family:var(--ac-serif);font-size:26px;font-weight:400;color:var(--ac-text);margin:0;}

/* ── Cards ──────────────────────────────────────────────── */
.ac-card{background:var(--ac-surf);border:1px solid var(--ac-line);border-radius:18px;padding:32px;}
.ac-card-title{font-family:var(--ac-serif);font-size:28px;font-weight:400;letter-spacing:-.4px;margin:0;color:var(--ac-text);}

/* ── Modals ─────────────────────────────────────────────── */
.ac-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:1000;align-items:center;justify-content:center;}
.ac-modal-overlay.open{display:flex;}
.ac-modal{background:var(--ac-surf);border:1px solid var(--ac-lineS);border-radius:20px;padding:32px;width:100%;max-width:520px;position:relative;}
.ac-modal-title{font-family:var(--ac-serif);font-size:26px;font-weight:400;color:var(--ac-text);margin:0 0 8px;}
.ac-modal-sub{font-size:14px;color:var(--ac-dim);margin-bottom:24px;}
.ac-modal-close{position:absolute;top:16px;right:18px;background:none;border:none;color:var(--ac-dim);font-size:20px;cursor:pointer;line-height:1;padding:4px;}
.ac-modal-close:hover{color:var(--ac-text);}
.ac-field{margin-bottom:18px;}
.ac-field label{display:block;font-size:12px;color:var(--ac-dim);margin-bottom:7px;letter-spacing:.3px;}
.ac-field input,.ac-field select{width:100%;background:var(--ac-bg);border:1px solid var(--ac-line);border-radius:10px;padding:12px 14px;color:var(--ac-text);font-size:14px;font-family:inherit;box-sizing:border-box;}
.ac-field input:focus,.ac-field select:focus{outline:none;border-color:var(--ac-coral);}
.ac-field small{display:block;font-size:11px;color:var(--ac-faint);margin-top:5px;}

/* ── Form fields ─────────────────────────────────────────── */
.ac-field-lbl{font-size:12px;color:var(--ac-dim);margin-bottom:8px;letter-spacing:.3px;}
.ac-field-ctrl{background:var(--ac-bg);border:1px solid var(--ac-line);border-radius:10px;padding:12px 14px;color:var(--ac-text);font-size:14px;font-family:inherit;width:100%;appearance:none;-webkit-appearance:none;transition:border-color .15s;}
.ac-field-ctrl:focus{outline:none;border-color:var(--ac-coral);}
.ac-sel-wrap{position:relative;}
.ac-sel-wrap::after{content:'▾';position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--ac-faint);pointer-events:none;font-size:12px;}

/* ── Scan badges ─────────────────────────────────────────── */
.scan-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8em;font-family:var(--ac-mono);margin-right:4px;}
.badge-high  {background:rgba(232,123,110,.15);color:var(--ac-red);  border:1px solid rgba(232,123,110,.3);}
.badge-medium{background:rgba(245,184,107,.15);color:var(--ac-amber);border:1px solid rgba(245,184,107,.3);}
.badge-low   {background:rgba(122,184,245,.15);color:var(--ac-blue); border:1px solid rgba(122,184,245,.3);}
.badge-info  {background:rgba(126,196,138,.15);color:var(--ac-green);border:1px solid rgba(126,196,138,.3);}

/* ── Pills ──────────────────────────────────────────────── */
.ac-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-family:var(--ac-mono);}
.ac-pill-green{background:rgba(126,196,138,.12);color:var(--ac-green);border:1px solid rgba(126,196,138,.25);}
.ac-pill-amber{background:rgba(245,184,107,.12);color:var(--ac-amber);border:1px solid rgba(245,184,107,.25);}

/* ── Stat box ───────────────────────────────────────────── */
.ac-stat{background:var(--ac-surf);border:1px solid var(--ac-line);border-radius:16px;padding:22px 26px;}
.ac-stat-val{font-family:var(--ac-serif);font-size:42px;font-weight:400;line-height:1;color:var(--ac-text);letter-spacing:-1px;}
.ac-stat-label{font-size:12px;color:var(--ac-dim);margin-top:6px;letter-spacing:.2px;}
.ac-stat-sub{font-size:11px;color:var(--ac-faint);margin-top:3px;font-family:var(--ac-mono);}

/* ── Empty state ─────────────────────────────────────────── */
.ac-empty{text-align:center;padding:56px 24px;color:var(--ac-dim);}
.ac-empty-icon{font-size:36px;margin-bottom:16px;opacity:.4;}
.ac-empty-msg{font-family:var(--ac-serif);font-size:22px;color:var(--ac-text);margin-bottom:8px;}

/* ── Declaration output (shared) ────────────────────────── */
.declaration-output{background:var(--ac-surf2);border:1px solid var(--ac-line);border-radius:14px;padding:28px;color:var(--ac-text);}

body {
    background: var(--ac-bg) !important;
    color: var(--ac-text) !important;
    font-family: 'Inter', 'Segoe UI', system-ui, sans-serif !important;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.app-wrapper {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.app-header { display: none !important; }
nav[aria-label], ul.breadcrumb { display: none !important; }


/* Alert overrides */
.ac-alert {
    margin: 0 48px 20px;
    padding: 14px 20px;
    border-radius: 12px;
    border-left: 3px solid;
    font-size: 14px;
}
.ac-alert.success { background: rgba(126,196,138,0.1); border-color: var(--ac-green); color: var(--ac-green); }
.ac-alert.error   { background: rgba(232,123,110,0.1); border-color: var(--ac-red);   color: var(--ac-red); }

/* ── Topbar ─────────────────────────────────────────────────────── */
.ac-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 48px;
    border-bottom: 1px solid var(--ac-line);
    background: var(--ac-bg);
}
.ac-logo {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ac-logo-icon {
    width: 28px; height: 28px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--ac-coral), var(--ac-amber));
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; color: var(--ac-bg); font-size: 14px;
    flex-shrink: 0;
}
.ac-logo-name { font-weight: 600; font-size: 16px; letter-spacing: -0.2px; color: var(--ac-text); text-decoration: none; }
.ac-logo-name:hover { text-decoration: none; color: var(--ac-text); }
.ac-topnav { display: flex; gap: 28px; font-size: 14px; margin-left: 40px; }
.ac-topnav a { color: var(--ac-dim); text-decoration: none; }
.ac-topnav a:hover { color: var(--ac-text); }
.ac-topnav a.active { color: var(--ac-text); }
.ac-topbar-right { display: flex; align-items: center; gap: 20px; font-size: 14px; color: var(--ac-dim); }
.ac-topbar-sep { width: 1px; height: 16px; background: var(--ac-line); }
.ac-user { display: flex; align-items: center; gap: 8px; }
.ac-avatar { width: 24px; height: 24px; border-radius: 50%; background: var(--ac-surf2); flex-shrink: 0; }
.ac-logout { color: var(--ac-dim); text-decoration: none; font-size: 13px; }
.ac-logout:hover { color: var(--ac-coral); }

/* ── Breadcrumb ─────────────────────────────────────────────────── */
.ac-crumbs {
    padding: 18px 48px;
    display: flex;
    gap: 8px;
    font-size: 13px;
    color: var(--ac-dim);
    align-items: center;
}
.ac-crumbs a { color: var(--ac-dim); text-decoration: none; }
.ac-crumbs a:hover { color: var(--ac-text); }
.ac-crumbs .sep { color: var(--ac-faint); }
.ac-crumbs .current { color: var(--ac-text); }

/* ── Page header ────────────────────────────────────────────────── */
.ac-page-header {
    padding: 8px 48px 32px;
}
.ac-kicker {
    font-size: 12px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--ac-coral);
    margin-bottom: 14px;
}
.ac-domain-title {
    font-family: var(--ac-serif);
    font-size: clamp(42px, 5.3vw, 76px);
    font-weight: 400;
    margin: 0;
    letter-spacing: -1.5px;
    line-height: 1;
    display: flex;
    align-items: baseline;
    gap: 14px;
    flex-wrap: wrap;
}
.ac-domain-ext { color: var(--ac-faint); }
.ac-status-badge {
    font-family: var(--ac-mono);
    font-size: 13px;
    color: var(--ac-green);
    font-style: normal;
    border: 1px solid var(--ac-green);
    padding: 4px 10px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transform: translateY(-10px);
    white-space: nowrap;
}
.ac-status-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.ac-status-badge.unverified { color: var(--ac-amber); border-color: var(--ac-amber); }
.ac-meta-row {
    display: flex;
    gap: 28px;
    margin-top: 22px;
    font-size: 14px;
    color: var(--ac-dim);
    flex-wrap: wrap;
}
.ac-meta-row b { color: var(--ac-text); font-weight: 500; }
.ac-header-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.ac-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 18px;
    border-radius: 10px;
    background: var(--ac-surf);
    color: var(--ac-text);
    border: 1px solid var(--ac-line);
    font-size: 13.5px;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    text-decoration: none;
    transition: border-color .15s, background .15s;
}
.ac-btn:hover { border-color: var(--ac-lineS); background: var(--ac-surf2); color: var(--ac-text); text-decoration: none; }
.ac-btn.primary {
    background: var(--ac-coral);
    color: var(--ac-bg);
    border-color: var(--ac-coral);
    box-shadow: 0 6px 18px -8px var(--ac-coral);
}
.ac-btn.primary:hover { background: #e07050; border-color: #e07050; color: var(--ac-bg); }

/* ── Score hero ─────────────────────────────────────────────────── */
.ac-score-hero {
    margin: 0 48px;
    border-radius: 24px;
    overflow: hidden;
    background: radial-gradient(120% 120% at 0% 0%, var(--ac-surf2) 0%, var(--ac-surf) 55%);
    border: 1px solid var(--ac-line);
    display: grid;
    grid-template-columns: 400px 1fr;
}
@media (max-width: 900px) { .ac-score-hero { grid-template-columns: 1fr; } }
.ac-score-left {
    padding: 40px 36px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-right: 1px solid var(--ac-line);
}
@media (max-width: 900px) { .ac-score-left { border-right: none; border-bottom: 1px solid var(--ac-line); } }
.ac-score-label {
    font-size: 12px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--ac-dim);
}
.ac-score-sub { font-size: 13px; color: var(--ac-faint); margin-top: 4px; }
.ac-gauge-wrap { position: relative; width: 240px; height: 240px; margin-top: 24px; }
.ac-gauge-inner {
    position: absolute; inset: 0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
}
.ac-gauge-num {
    font-family: var(--ac-serif);
    font-size: 92px;
    line-height: 1;
    letter-spacing: -2px;
}
.ac-gauge-denom {
    font-size: 12px;
    color: var(--ac-dim);
    margin-top: 4px;
    font-family: var(--ac-mono);
}
.ac-score-trend { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; margin-top: 16px; }
.ac-score-level { font-size: 12px; color: var(--ac-faint); margin-top: 4px; }

/* Chart area */
.ac-chart-area { padding: 40px 36px; display: flex; flex-direction: column; }
.ac-chart-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px; }
.ac-chart-title-label {
    font-size: 12px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--ac-dim);
}
.ac-chart-title-h {
    font-family: var(--ac-serif);
    font-size: 28px;
    color: var(--ac-text);
    margin-top: 6px;
    letter-spacing: -0.5px;
}
.ac-period-pills { display: flex; gap: 6px; font-size: 12px; font-family: var(--ac-mono); }
.ac-period-pill {
    padding: 6px 12px;
    border-radius: 8px;
    background: transparent;
    color: var(--ac-dim);
    border: 1px solid transparent;
    cursor: pointer;
    transition: background .15s;
}
.ac-period-pill.active { background: var(--ac-surf2); color: var(--ac-text); border-color: var(--ac-lineS); }
.ac-chart-canvas-wrap { flex: 1; min-height: 160px; position: relative; margin-top: 4px; }
.ac-chart-legend {
    display: flex;
    gap: 20px;
    margin-top: 12px;
    font-size: 12px;
    color: var(--ac-dim);
    font-family: var(--ac-mono);
}
.ac-legend-dot { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 6px; }
.ac-chart-empty { display: none; color: var(--ac-dim); font-size: 13px; padding-top: 12px; }

/* ── Section commons ────────────────────────────────────────────── */
.ac-section { padding: 0 48px; margin-top: 36px; }
.ac-section-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 8px;
}
.ac-section-title {
    font-family: var(--ac-serif);
    font-size: 36px;
    color: var(--ac-text);
    margin: 0;
    letter-spacing: -0.5px;
    font-weight: 400;
}
.ac-section-title .count { color: var(--ac-faint); }
.ac-section-sub { font-size: 15px; color: var(--ac-dim); }

/* ── Issues breakdown ───────────────────────────────────────────── */
.ac-issues-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 1100px) { .ac-issues-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .ac-issues-grid { grid-template-columns: 1fr; } }
.ac-issue-card {
    background: var(--ac-surf);
    border: 1px solid var(--ac-line);
    border-radius: 18px;
    padding: 22px 22px 24px;
}
.ac-issue-card-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 18px; }
.ac-issue-principle { font-size: 13px; color: var(--ac-dim); }
.ac-issue-count {
    font-family: var(--ac-serif);
    font-size: 48px;
    color: var(--ac-text);
    line-height: 1;
    margin-top: 8px;
    letter-spacing: -1px;
}
.ac-severity-pill {
    font-size: 11px;
    font-family: var(--ac-mono);
    padding: 4px 9px;
    border-radius: 999px;
}
.ac-issue-bar-track { height: 4px; background: var(--ac-surf2); border-radius: 2px; overflow: hidden; }
.ac-issue-bar { height: 100%; border-radius: 2px; }
.ac-issue-pct { font-size: 12px; color: var(--ac-faint); margin-top: 10px; font-family: var(--ac-mono); }

/* ── Badge section ──────────────────────────────────────────────── */
.ac-badge-card {
    background: var(--ac-surf);
    border: 1px solid var(--ac-line);
    border-radius: 18px;
    padding: 28px 32px;
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 32px;
    align-items: center;
}
@media (max-width: 900px) { .ac-badge-card { grid-template-columns: 1fr; } }
.ac-badge-desc { color: var(--ac-dim); font-size: 14px; line-height: 1.6; margin: 0; max-width: 560px; }
.ac-code-row {
    margin-top: 18px;
    padding: 14px 16px;
    background: var(--ac-bg);
    border: 1px solid var(--ac-line);
    border-radius: 12px;
    font-family: var(--ac-mono);
    font-size: 12px;
    color: var(--ac-dim);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.ac-code-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; }
.ac-copy-btn {
    background: var(--ac-surf2);
    border: 1px solid var(--ac-line);
    color: var(--ac-text);
    padding: 6px 12px;
    border-radius: 8px;
    font-family: var(--ac-mono);
    font-size: 11px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: border-color .15s;
}
.ac-copy-btn:hover { border-color: var(--ac-lineS); }
.ac-badge-preview {
    background: var(--ac-bg);
    border-radius: 14px;
    padding: 24px;
    border: 1px solid var(--ac-line);
    display: flex;
    align-items: center;
    gap: 16px;
}
.ac-badge-preview-info .eyebrow {
    font-size: 11px; color: var(--ac-dim); letter-spacing: 1px; text-transform: uppercase;
}
.ac-badge-preview-info .brand { font-size: 18px; font-weight: 600; color: var(--ac-text); margin-top: 2px; }
.ac-badge-preview-info .stamp { font-size: 11px; color: var(--ac-faint); margin-top: 4px; font-family: var(--ac-mono); }

/* ── Monitoring ─────────────────────────────────────────────────── */
.ac-monitoring-card {
    background: var(--ac-surf);
    border: 1px solid var(--ac-line);
    border-radius: 18px;
    padding: 32px;
}
.ac-monitoring-desc { color: var(--ac-dim); font-size: 14px; margin: 0 0 24px; line-height: 1.6; max-width: 720px; }
.ac-monitoring-fields {
    display: grid;
    grid-template-columns: repeat(3, 1fr) auto;
    gap: 18px;
    align-items: flex-end;
}
@media (max-width: 900px) { .ac-monitoring-fields { grid-template-columns: 1fr; } }
.ac-field-label { font-size: 12px; color: var(--ac-dim); margin-bottom: 8px; letter-spacing: 0.3px; }
.ac-field-control {
    background: var(--ac-bg);
    border: 1px solid var(--ac-line);
    border-radius: 10px;
    padding: 12px 14px;
    color: var(--ac-text);
    font-size: 14px;
    font-family: inherit;
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    transition: border-color .15s;
}
.ac-field-control:focus { outline: none; border-color: var(--ac-coral); }
.ac-field-select-wrap { position: relative; }
.ac-field-select-wrap::after {
    content: '▾';
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ac-faint);
    pointer-events: none;
    font-size: 12px;
}
.ac-field-hint { font-size: 11px; color: var(--ac-faint); margin-top: 6px; }
.ac-save-btn {
    background: var(--ac-coral);
    color: var(--ac-bg);
    border: none;
    border-radius: 10px;
    padding: 14px 22px;
    font-weight: 600;
    font-size: 14px;
    font-family: inherit;
    cursor: pointer;
    box-shadow: 0 6px 18px -8px var(--ac-coral);
    white-space: nowrap;
    transition: background .15s;
}
.ac-save-btn:hover { background: #e07050; }
.ac-save-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.ac-monitoring-footer {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px dashed var(--ac-line);
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 13px;
    color: var(--ac-dim);
    flex-wrap: wrap;
}
.ac-toggle {
    width: 36px; height: 20px;
    border-radius: 999px;
    position: relative;
    display: inline-block;
    flex-shrink: 0;
    cursor: pointer;
}
.ac-toggle-knob { position: absolute; top: 2px; width: 16px; height: 16px; border-radius: 50%; background: var(--ac-bg); transition: right .2s; }
.ac-next-run { font-size: 12px; color: var(--ac-faint); margin-top: 10px; font-family: var(--ac-mono); }

/* ── API Keys ───────────────────────────────────────────────────── */
.ac-api-card {
    background: var(--ac-surf);
    border: 1px solid var(--ac-line);
    border-radius: 18px;
    padding: 28px 32px;
}
.ac-api-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ac-api-table thead td, .ac-api-table th {
    font-size: 11px; color: var(--ac-faint);
    letter-spacing: 1.2px; text-transform: uppercase;
    font-family: var(--ac-mono);
    padding: 10px 12px;
    border-bottom: 1px solid var(--ac-line);
    font-weight: 400;
}
.ac-api-table tbody tr { border-bottom: 1px solid var(--ac-line); }
.ac-api-table tbody tr:last-child { border-bottom: none; }
.ac-api-table td { padding: 14px 12px; color: var(--ac-text); vertical-align: middle; }
.ac-api-key-val {
    font-family: var(--ac-mono);
    font-size: 12px;
    color: var(--ac-dim);
    background: var(--ac-bg);
    padding: 4px 8px;
    border-radius: 6px;
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
}
.ac-api-generate {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--ac-line);
    display: flex;
    gap: 12px;
    align-items: flex-end;
    flex-wrap: wrap;
}
.ac-api-generate .ac-field-control { max-width: 300px; }

/* ── Pages table ────────────────────────────────────────────────── */
.ac-pages-card {
    background: var(--ac-surf);
    border: 1px solid var(--ac-line);
    border-radius: 18px;
    overflow: hidden;
}
.ac-table-head {
    display: grid;
    grid-template-columns: 1fr 90px 100px 60px 170px;
    padding: 14px 24px;
    font-size: 11px;
    color: var(--ac-faint);
    letter-spacing: 1.2px;
    text-transform: uppercase;
    font-family: var(--ac-mono);
    border-bottom: 1px solid var(--ac-line);
}
.ac-table-row {
    display: grid;
    grid-template-columns: 1fr 90px 100px 60px 170px;
    padding: 18px 24px;
    font-size: 14px;
    border-bottom: 1px solid var(--ac-line);
    align-items: center;
    color: var(--ac-text);
    cursor: pointer;
    transition: background .12s;
    text-decoration: none;
}
.ac-table-row:last-child { border-bottom: none; }
.ac-table-row:hover { background: rgba(255,240,225,0.03); }
.ac-page-url { font-family: var(--ac-mono); font-size: 13px; display: flex; align-items: center; gap: 10px; }
.ac-crit-pill {
    font-size: 10px; font-family: var(--ac-mono);
    padding: 2px 8px; border-radius: 999px;
    background: rgba(232,123,110,0.12);
    color: var(--ac-red);
    border: 1px solid rgba(232,123,110,0.25);
}
.ac-table-num { text-align: right; font-family: var(--ac-mono); color: var(--ac-dim); }
.ac-table-score { text-align: right; font-family: var(--ac-mono); font-weight: 600; }
.ac-table-label { text-align: right; font-family: var(--ac-mono); font-size: 11px; color: var(--ac-dim); }
.ac-table-date { text-align: right; font-family: var(--ac-mono); font-size: 13px; color: var(--ac-faint); }
.ac-table-empty {
    padding: 48px 24px;
    text-align: center;
    color: var(--ac-dim);
    font-size: 14px;
}

/* ── Verification section ───────────────────────────────────────── */
.ac-verify-card {
    background: var(--ac-surf);
    border: 1px solid var(--ac-line);
    border-radius: 18px;
    padding: 32px;
}
.ac-verify-method { margin-bottom: 24px; }
.ac-verify-method h4 { font-size: 15px; font-weight: 600; color: var(--ac-text); margin-bottom: 10px; }
.ac-verify-steps { margin: 0 0 12px 20px; color: var(--ac-dim); font-size: 14px; line-height: 1.8; }
.ac-code-box {
    background: var(--ac-bg);
    border: 1px solid var(--ac-line);
    border-radius: 10px;
    padding: 12px 16px;
    font-family: var(--ac-mono);
    font-size: 12px;
    color: var(--ac-dim);
    word-break: break-all;
    white-space: pre-wrap;
}
.ac-verify-form { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--ac-line); }
.ac-active-tag {
    font-size: 12px;
    font-family: var(--ac-mono);
    color: var(--ac-green);
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(126,196,138,0.08);
    border: 1px solid rgba(126,196,138,0.25);
}

/* ── Footer spacer ──────────────────────────────────────────────── */
.ac-spacer-bottom { height: 56px; }

/* ── Theme toggle button ────────────────────────────────────────── */
.ac-theme-toggle {
    display: flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; border-radius: 8px;
    background: var(--ac-surf2); border: 1px solid var(--ac-line);
    color: var(--ac-dim); cursor: pointer;
    font-size: 14px; transition: border-color .15s, color .15s;
    flex-shrink: 0;
}
.ac-theme-toggle:hover { border-color: var(--ac-lineS); color: var(--ac-text); }

/* ── Light-mode overrides ───────────────────────────────────────── */
[data-theme="light"] body { background: var(--ac-bg) !important; color: var(--ac-text) !important; }
[data-theme="light"] .ac-logo-icon { color: #fff; }
body{background:var(--ac-bg)!important;color:var(--ac-text)!important;font-family:'Inter','Segoe UI',system-ui,sans-serif!important;}
.app-wrapper{max-width:100%!important;padding:0!important;margin:0!important;}
.app-header{display:none!important;}nav[aria-label],ul.breadcrumb{display:none!important;}
/* Stats row */
.ac-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 48px 28px;}
/* Domain list */
.ac-domain-list{display:flex;flex-direction:column;gap:10px;}
.ac-domain-row{display:grid;grid-template-columns:1.8fr 110px 120px 110px 1fr;align-items:center;gap:16px;background:var(--ac-surf);border:1px solid var(--ac-line);border-radius:14px;padding:16px 20px;transition:border-color .15s,background .15s;}
.ac-domain-row:hover{border-color:var(--ac-lineS);background:var(--ac-surf2);}
.ac-domain-name{font-size:15px;font-weight:600;color:var(--ac-text);text-decoration:none;display:flex;align-items:center;gap:8px;}
.ac-domain-name:hover{color:var(--ac-coral);}
.ac-domain-name small{font-size:11px;font-weight:400;color:var(--ac-faint);font-family:var(--ac-mono);}
.ac-domain-pages{font-size:13px;color:var(--ac-dim);font-family:var(--ac-mono);}
.ac-domain-date{font-size:12px;color:var(--ac-faint);font-family:var(--ac-mono);}
.ac-domain-actions{display:flex;gap:8px;justify-content:flex-end;}
/* Plan card */
.ac-plan-card{background:var(--ac-surf);border:1px solid var(--ac-line);border-radius:18px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.ac-plan-card .ac-plan-name{font-family:var(--ac-serif);font-size:28px;font-weight:400;color:var(--ac-text);}
.ac-plan-detail{font-size:13px;color:var(--ac-dim);margin-top:6px;font-family:var(--ac-mono);}
.ac-coming-soon{background:rgba(122,184,245,.07);border:1px solid rgba(122,184,245,.18);border-radius:12px;padding:14px 18px;font-size:13px;color:var(--ac-blue);display:flex;align-items:center;gap:10px;}
/* Upgrade modal plan grid */
.ac-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:20px;}
.ac-plan-opt{background:var(--ac-bg);border:1px solid var(--ac-line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:8px;}
.ac-plan-opt-name{font-size:14px;font-weight:600;color:var(--ac-coral);}
.ac-plan-opt-price{font-family:var(--ac-serif);font-size:34px;color:var(--ac-text);}
.ac-plan-opt-price span{font-size:13px;font-family:'Inter',sans-serif;color:var(--ac-dim);}
.ac-plan-opt-detail{font-size:12px;color:var(--ac-dim);font-family:var(--ac-mono);}

/* ============================================================
   Lang switcher – legacy header (_app_header.php)
   ============================================================ */
.lang-switcher{display:flex;align-items:center;gap:4px;margin-left:8px;}
.lang-switcher a{font-size:.8rem;padding:2px 7px;border-radius:3px;text-decoration:none;color:inherit;opacity:.7;border:1px solid transparent;}
.lang-switcher a.active,.lang-switcher a:hover{opacity:1;border-color:currentColor;}
.lang-switcher a.active{font-weight:700;}

/* ============================================================
   Aurora: Auth pages (login.php, register.php)
   ============================================================ */
/* Language selector in topbar */
.ac-lang{display:flex;gap:4px;}
.ac-lang a{font-size:11px;padding:3px 8px;border-radius:5px;text-decoration:none;border:1px solid var(--ac-line);color:var(--ac-dim);transition:all .15s;}
.ac-lang a.active,.ac-lang a:hover{border-color:var(--ac-coral);color:var(--ac-coral);}
.ac-logo:hover{text-decoration:none;color:inherit;}

/* Auth layout */
.ac-auth-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 20px;}
.ac-auth-card{width:100%;max-width:420px;background:var(--ac-surf);border:1px solid var(--ac-lineS);border-radius:20px;padding:40px;}
.ac-auth-brand{text-align:center;margin-bottom:32px;}
.ac-auth-logo{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--ac-coral),var(--ac-amber));display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--ac-bg);font-size:20px;margin-bottom:16px;}
.ac-auth-title{font-family:var(--ac-serif);font-size:32px;font-weight:400;letter-spacing:-.5px;margin-bottom:6px;}
.ac-auth-sub{font-size:14px;color:var(--ac-dim);}

/* Auth field label: uppercase variant */
.ac-auth-card .ac-field label{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--ac-dim);margin-bottom:8px;}

/* Auth button: full width */
.ac-auth-card .ac-btn{width:100%;justify-content:center;}

/* Auth alert: no side margin */
.ac-auth-card .ac-alert{margin:0 0 20px;}
.ac-alert-warning{background:rgba(245,184,107,.1);border-left:3px solid var(--ac-amber);color:var(--ac-amber);}

/* Checkbox */
.ac-checkbox{display:flex;align-items:center;gap:10px;margin-bottom:22px;font-size:13px;color:var(--ac-dim);}
.ac-checkbox input{accent-color:var(--ac-coral);}

/* Divider */
.ac-divider{display:flex;align-items:center;margin:20px 0;color:var(--ac-faint);font-size:12px;gap:10px;}
.ac-divider::before,.ac-divider::after{content:'';flex:1;border-bottom:1px solid var(--ac-line);}

/* Auth footer links */
.ac-auth-footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:13px;color:var(--ac-dim);}
.ac-auth-footer a{color:var(--ac-coral);}
.ac-auth-bottom{text-align:center;margin-top:28px;font-size:13px;color:var(--ac-dim);}

/* Password strength (register.php) */
.ac-strength{margin-top:6px;}
.ac-strength-bar{height:4px;background:rgba(255,240,225,.1);border-radius:2px;margin-bottom:5px;overflow:hidden;}
.ac-strength-fill{height:100%;width:0;border-radius:2px;transition:width .3s,background .3s;}
.ac-strength-text{font-size:11px;color:var(--ac-faint);}
.strength-weak .ac-strength-fill{width:33%;background:var(--ac-red);}
.strength-medium .ac-strength-fill{width:66%;background:var(--ac-amber);}
.strength-strong .ac-strength-fill{width:100%;background:var(--ac-green);}

/* Code digit inputs (email verification) */
.ac-code-inputs{display:flex;gap:10px;justify-content:center;margin:20px 0;}
.ac-code-digit{width:52px;height:60px;text-align:center;font-size:1.6rem;font-weight:700;font-family:var(--ac-mono);background:var(--ac-bg);border:2px solid var(--ac-line);border-radius:10px;color:var(--ac-text);outline:none;transition:border-color .2s,box-shadow .2s;}
.ac-code-digit:focus{border-color:var(--ac-coral);box-shadow:0 0 0 3px rgba(255,138,101,.2);}

/* Side-by-side field row */
.ac-field-row{display:flex;gap:12px;}
.ac-field-row .ac-field{flex:1;}

/* Auth responsive */
@media(max-width:520px){
    .ac-auth-card{padding:28px 24px;}
    .ac-topbar{padding:14px 20px !important;}
    .ac-field-row{flex-direction:column;gap:0;}
    .ac-code-digit{width:42px;height:50px;font-size:1.3rem;}
}

/* ============================================================
   Aurora: Landing page (index.php)
   ============================================================ */

/* Hero */
.ac-hero{max-width:1200px;margin:0 auto;padding:80px 48px 64px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.ac-hero-kicker{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ac-coral);margin-bottom:18px;}
.ac-hero-title{font-family:var(--ac-serif);font-size:clamp(44px,5.5vw,72px);font-weight:400;line-height:1.03;letter-spacing:-1.5px;margin-bottom:20px;}
.ac-hero-title em{color:var(--ac-coral);font-style:italic;}
.ac-hero-desc{font-size:16px;color:var(--ac-dim);line-height:1.7;margin-bottom:32px;max-width:480px;}
.ac-hero-cta{display:flex;gap:12px;flex-wrap:wrap;}

/* Scan bar in hero */
.ac-scan-bar{background:var(--ac-surf);border:1px solid var(--ac-lineS);border-radius:16px;padding:24px;margin-top:32px;}
.ac-scan-bar-label{font-size:12px;color:var(--ac-dim);margin-bottom:10px;}
.ac-scan-row{display:flex;gap:10px;}
.ac-scan-input{flex:1;background:var(--ac-bg);border:1px solid var(--ac-line);border-radius:10px;padding:13px 16px;color:var(--ac-text);font-size:14px;font-family:var(--ac-mono);transition:border-color .15s;}
.ac-scan-input:focus{outline:none;border-color:var(--ac-coral);}
.ac-scan-input::placeholder{color:var(--ac-faint);}
.ac-scan-submit{padding:13px 22px;border-radius:10px;background:var(--ac-coral);color:#14110f;border:none;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 6px 18px -8px var(--ac-coral);transition:background .15s;white-space:nowrap;}
.ac-scan-submit:hover{background:#e07a58;}
.ac-domain-sel{width:100%;background:var(--ac-bg);border:1px solid var(--ac-line);border-radius:10px;padding:11px 14px;color:var(--ac-text);font-size:14px;font-family:inherit;margin-bottom:10px;}
.ac-domain-sel:focus{outline:none;border-color:var(--ac-coral);}

/* Hero visual / score preview */
.ac-hero-visual{position:relative;}
.ac-score-preview{background:var(--ac-surf);border:1px solid var(--ac-lineS);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:16px;}
.ac-score-preview-top{display:flex;align-items:center;justify-content:space-between;}
.ac-score-big{font-family:var(--ac-serif);font-size:72px;font-weight:400;line-height:1;color:var(--ac-coral);}
.ac-score-bars{display:flex;flex-direction:column;gap:8px;}
.ac-bar-row{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ac-dim);}
.ac-bar-track{flex:1;height:5px;background:var(--ac-line);border-radius:99px;overflow:hidden;}
.ac-bar-fill{height:100%;border-radius:99px;}
.ac-score-pills{display:flex;gap:8px;flex-wrap:wrap;}
.ac-pill-red{background:rgba(232,123,110,.12);color:var(--ac-red);border:1px solid rgba(232,123,110,.25);}
.ac-pill-blue{background:rgba(122,184,245,.12);color:var(--ac-blue);border:1px solid rgba(122,184,245,.25);}

/* Sections extras */
.ac-section-kicker{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ac-coral);margin-bottom:12px;}
.ac-section-title em{color:var(--ac-coral);font-style:italic;}
.ac-section-note{margin-top:20px;font-size:12px;color:var(--ac-faint);}
.ac-section-note-center{margin-top:24px;font-size:13px;color:var(--ac-faint);text-align:center;}
.ac-section-divider{border:none;border-top:1px solid var(--ac-line);max-width:1200px;margin:0 auto;}
section.ac-section{max-width:1200px;margin-left:auto;margin-right:auto;padding-bottom:40px;}

/* Features list */
.ac-feat-list{display:grid;grid-template-columns:1fr 1fr;margin-top:48px;border-top:1px solid var(--ac-line);}
.ac-feat-item{padding:36px 56px 36px 0;border-bottom:1px solid var(--ac-line);}
.ac-feat-item:nth-child(even){padding-left:56px;padding-right:0;}
.ac-feat-num{display:block;font-family:var(--ac-mono);font-size:12px;color:var(--ac-faint);letter-spacing:.5px;margin-bottom:14px;}
.ac-feat-item h3{font-family:var(--ac-sans);font-size:19px;font-weight:600;color:var(--ac-text);margin-bottom:10px;letter-spacing:-.2px;}
.ac-feat-item p{font-size:15px;color:var(--ac-dim);line-height:1.65;}

/* Checks grid */
.ac-checks-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:32px;}
.ac-check{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;background:var(--ac-surf);border:1px solid var(--ac-line);border-radius:12px;}
.ac-check-dot{width:7px;height:7px;border-radius:50%;background:var(--ac-green);flex-shrink:0;margin-top:6px;}
.ac-check-title{font-size:13.5px;font-weight:500;margin-bottom:2px;}
.ac-check-desc{font-size:12px;color:var(--ac-dim);}

/* Plans grid (landing page) */
.ac-plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:40px;}
.ac-plan{background:var(--ac-surf);border:1px solid var(--ac-line);border-radius:20px;padding:30px;display:flex;flex-direction:column;gap:6px;position:relative;}
.ac-plan.popular{border-color:var(--ac-coral);box-shadow:0 0 0 1px var(--ac-coral);}
.ac-plan-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--ac-coral);color:#14110f;font-size:11px;font-weight:700;padding:3px 12px;border-radius:999px;white-space:nowrap;}
.ac-plan .ac-plan-name{font-size:13px;font-weight:600;color:var(--ac-coral);letter-spacing:.3px;text-transform:uppercase;}
.ac-plan-price{font-family:var(--ac-serif);font-size:48px;font-weight:400;line-height:1;letter-spacing:-1px;color:var(--ac-text);}
.ac-plan-price small{font-family:'Inter',sans-serif;font-size:13px;color:var(--ac-dim);}
.ac-plan-period{font-size:12px;color:var(--ac-faint);margin-bottom:12px;}
.ac-plan-divider{border:none;border-top:1px solid var(--ac-line);margin:12px 0;}
.ac-plan-feat{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ac-dim);padding:4px 0;}
.ac-plan-feat svg{flex-shrink:0;}
.ac-plan-feat.off{opacity:.4;}
.ac-plan-cta{margin-top:auto;padding-top:20px;}
.ac-plan-btn{display:flex;justify-content:center;padding:12px;border-radius:12px;font-size:14px;font-weight:600;font-family:inherit;text-decoration:none;cursor:pointer;border:none;transition:all .15s;width:100%;}
.ac-plan-btn-outline{background:transparent;color:var(--ac-text);border:1px solid var(--ac-lineS);}
.ac-plan-btn-outline:hover{background:var(--ac-surf2);color:var(--ac-text);}
.ac-plan-btn-primary{background:var(--ac-coral);color:#14110f;box-shadow:0 6px 18px -8px var(--ac-coral);}
.ac-plan-btn-primary:hover{background:#e07a58;}

/* FAQ */
.ac-faq{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;}
.ac-faq-item{background:var(--ac-surf);border:1px solid var(--ac-line);border-radius:14px;padding:22px 24px;align-self:start;}
.ac-faq-q{font-size:15px;font-weight:600;color:var(--ac-text);margin-bottom:10px;}
.ac-faq-a{font-size:14px;color:var(--ac-dim);line-height:1.7;}

/* CTA band */
.ac-cta-band{background:var(--ac-surf2);border-top:1px solid var(--ac-line);border-bottom:1px solid var(--ac-line);padding:64px 48px;text-align:center;}
.ac-cta-band h2{font-family:var(--ac-serif);font-size:clamp(32px,4vw,52px);font-weight:400;letter-spacing:-.8px;margin-bottom:16px;}
.ac-cta-band h2 em{color:var(--ac-coral);font-style:italic;}
.ac-cta-band p{font-size:15px;color:var(--ac-dim);margin-bottom:28px;}
.ac-cta-band .ac-btn-primary{font-size:15px;padding:14px 28px;}

/* Footer (landing) */
footer.ac-footer-outer{border-top:1px solid var(--ac-line);}
.ac-footer{max-width:1200px;margin:0 auto;padding:40px 48px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.ac-footer-copy{font-size:13px;color:var(--ac-faint);}
.ac-footer-links{display:flex;gap:20px;flex-wrap:wrap;}
.ac-footer-links a{font-size:13px;color:var(--ac-dim);text-decoration:none;transition:color .15s;}
.ac-footer-links a:hover{color:var(--ac-text);}

/* Modal extras */
.ac-checkbox-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;}
.ac-checkbox-row input{margin-top:3px;flex-shrink:0;accent-color:var(--ac-coral);}
.ac-checkbox-row label{font-size:12px;color:var(--ac-dim);}
.ac-checkbox-row a{color:var(--ac-coral);}
.ac-modal-note{font-size:11px;color:var(--ac-faint);margin-top:8px;}

/* Montserrat weight overrides — senza serif il 400 è troppo thin per heading */
.ac-hero-title,.ac-page-title,.ac-cta-band h2,.ac-scan-title,.ac-results-stat-num,.ac-sev-count{font-weight:700;letter-spacing:-1.5px;}
.ac-section-title,.ac-card-title,.ac-modal-title,.ac-auth-title,.ac-sec-title,.ac-group-name,.ac-diff-title,.ac-empty-msg,.ac-stat-val,.ac-score-big,.ac-plan-price,.ac-plan-opt-price,.ac-scan-count-text strong{font-weight:600;}
fieldset.decl-section legend,.scan-summary-box h4{font-weight:600!important;}

/* Landing responsive */
@media(max-width:900px){
    .ac-hero{grid-template-columns:1fr;gap:40px;padding:48px 24px 40px;}
    .ac-hero-visual{display:none;}
    .ac-topnav{display:none;}
    section.ac-section{padding-left:24px;padding-right:24px;}
}
@media(max-width:700px){
    .ac-feat-list{grid-template-columns:1fr;}
    .ac-feat-item,.ac-feat-item:nth-child(even){padding:28px 0;padding-left:0;padding-right:0;}
}
@media(max-width:600px){
    .ac-checks-grid{grid-template-columns:1fr;}
    .ac-faq{grid-template-columns:1fr;}
.ac-scan-row{flex-direction:column;}
    .ac-footer{flex-direction:column;align-items:flex-start;padding:32px 24px;}
}

/* ============================================================
   Aurora: Accessibility scanner form (accessibility-scanner.php)
   ============================================================ */
.ac-page{max-width:900px;margin:0 auto;padding:0 24px 64px;}
.ac-page-sub{font-size:15px;color:var(--ac-dim);margin-top:12px;}
.ac-back{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;border:1px solid var(--ac-line);background:var(--ac-surf);color:var(--ac-dim);text-decoration:none;font-size:13px;margin-bottom:24px;transition:color .15s,border-color .15s;}
.ac-back:hover{color:var(--ac-text);border-color:var(--ac-lineS);}
.ac-domain-select-wrap{margin-bottom:20px;}
.ac-select{width:100%;background:var(--ac-bg);border:1px solid var(--ac-line);border-radius:10px;padding:12px 14px;color:var(--ac-text);font-size:14px;font-family:inherit;}
.ac-select:focus{outline:none;border-color:var(--ac-coral);}
.ac-url-row{display:flex;gap:10px;margin-bottom:20px;}
.ac-url-input{flex:1;background:var(--ac-bg);border:1px solid var(--ac-lineS);border-radius:12px;padding:14px 18px;color:var(--ac-text);font-size:15px;font-family:var(--ac-mono);transition:border-color .15s;}
.ac-url-input:focus{outline:none;border-color:var(--ac-coral);}
.ac-url-input::placeholder{color:var(--ac-faint);}
.ac-btn-scan{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:12px;background:var(--ac-coral);color:#14110f;border:none;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 6px 20px -8px var(--ac-coral);transition:background .15s;}
.ac-btn-scan:hover{background:#e07a58;}
.ac-info-notice{background:rgba(122,184,245,.07);border:1px solid rgba(122,184,245,.18);border-radius:12px;padding:14px 18px;font-size:13px;color:var(--ac-blue);margin-bottom:20px;display:flex;gap:10px;align-items:flex-start;}
.ac-info-notice a{color:var(--ac-blue);}
.ac-check-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;}
.ac-check-item{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ac-dim);padding:10px 14px;border-radius:10px;background:var(--ac-bg);border:1px solid var(--ac-line);}
.ac-error{background:rgba(232,123,110,.1);border-left:3px solid var(--ac-red);border-radius:12px;padding:14px 18px;color:var(--ac-red);font-size:14px;margin-bottom:20px;}
@media(max-width:700px){.ac-url-row{flex-direction:column;}.ac-check-list{grid-template-columns:1fr;}}

/* ============================================================
   Aurora: Sitemap scanner (sitemap-scanner.php)
   ============================================================ */

/* Button variants */
.ac-btn.success{background:var(--ac-green);color:var(--ac-bg);border-color:var(--ac-green);box-shadow:0 6px 18px -8px var(--ac-green);}
.ac-btn.success:hover{background:#68b07a;border-color:#68b07a;color:var(--ac-bg);}
.ac-btn:disabled{opacity:.5;cursor:not-allowed;}

/* Breadcrumb .current alias */
.ac-crumbs .current{color:var(--ac-text);}

/* Scanner card */
.ac-scanner-card{background:var(--ac-surf);border:1px solid var(--ac-line);border-radius:20px;padding:36px;}
.ac-scanner-desc{color:var(--ac-dim);font-size:14px;line-height:1.6;margin-bottom:24px;max-width:680px;}
.ac-input-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px;}
.ac-url-input-sm{flex:1;min-width:240px;background:var(--ac-bg);border:1px solid var(--ac-line);border-radius:10px;padding:12px 16px;color:var(--ac-text);font-size:14px;font-family:var(--ac-mono);transition:border-color .15s;}
.ac-url-input-sm:focus{outline:none;border-color:var(--ac-coral);}
.ac-url-input-sm::placeholder{color:var(--ac-faint);}
.ac-fetch-status{font-size:13px;color:var(--ac-dim);font-style:italic;min-height:20px;margin-bottom:20px;font-family:var(--ac-mono);}

/* Sitemap index checklist */
.ac-index-panel{display:none;margin-bottom:24px;border:1px solid var(--ac-line);border-radius:14px;overflow:hidden;}
.ac-index-panel-header{padding:16px 20px;border-bottom:1px solid var(--ac-line);font-size:14px;font-weight:500;color:var(--ac-text);background:var(--ac-surf2);}
.ac-index-list{padding:12px 20px;display:flex;flex-direction:column;gap:8px;}
.ac-index-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--ac-bg);border:1px solid var(--ac-line);border-radius:10px;cursor:pointer;transition:border-color .15s;}
.ac-index-item:hover{border-color:var(--ac-lineS);}
.ac-index-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--ac-coral);flex-shrink:0;}
.ac-index-item-url{flex:1;font-size:13px;font-family:var(--ac-mono);color:var(--ac-dim);}
.ac-index-item-date{font-size:12px;color:var(--ac-faint);white-space:nowrap;}
.ac-index-footer{padding:16px 20px;border-top:1px solid var(--ac-line);}

/* Scan controls */
.ac-scan-controls{display:none;margin-bottom:24px;background:var(--ac-surf2);border:1px solid var(--ac-line);border-radius:14px;padding:20px 24px;align-items:center;gap:20px;flex-wrap:wrap;}
.ac-scan-count-text{font-size:14px;color:var(--ac-dim);}
.ac-scan-count-text strong{color:var(--ac-text);font-size:20px;font-family:var(--ac-serif);}

/* Progress block */
.ac-progress-block{display:none;margin-bottom:28px;}
.ac-progress-label{display:flex;justify-content:space-between;font-size:13px;font-family:var(--ac-mono);color:var(--ac-dim);margin-bottom:10px;}
.ac-progress-track{height:6px;background:var(--ac-surf2);border-radius:3px;overflow:hidden;}
.ac-progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--ac-coral),var(--ac-amber));border-radius:3px;transition:width .3s ease;}

/* URL list with status pills */
.ac-url-list{display:none;border:1px solid var(--ac-line);border-radius:14px;overflow:hidden;max-height:420px;overflow-y:auto;}
.ac-url-item{display:flex;align-items:center;gap:14px;padding:12px 20px;border-bottom:1px solid var(--ac-line);font-size:13px;}
.ac-url-item:last-child{border-bottom:none;}
.ac-url-text{flex:1;font-family:var(--ac-mono);color:var(--ac-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ac-status-pill{font-family:var(--ac-mono);font-size:11px;padding:3px 10px;border-radius:999px;white-space:nowrap;flex-shrink:0;}
.ac-status-pending{background:rgba(244,236,226,.06);color:var(--ac-faint);border:1px solid var(--ac-line);}
.ac-status-scanning{background:rgba(245,184,107,.12);color:var(--ac-amber);border:1px solid rgba(245,184,107,.3);}
.ac-status-success{background:rgba(126,196,138,.12);color:var(--ac-green);border:1px solid rgba(126,196,138,.3);}
.ac-status-error{background:rgba(232,123,110,.12);color:var(--ac-red);border:1px solid rgba(232,123,110,.3);}
[data-theme="light"] .ac-status-pending{background:rgba(26,21,18,.05);color:var(--ac-faint);border-color:rgba(26,21,18,.15);}

/* Results section */
.ac-results-section{display:none;}
.ac-results-hero{border-radius:24px;overflow:hidden;background:radial-gradient(120% 120% at 0% 0%,var(--ac-surf2) 0%,var(--ac-surf) 55%);border:1px solid var(--ac-line);display:grid;grid-template-columns:280px 1fr;}
@media(max-width:860px){.ac-results-hero{grid-template-columns:1fr;}}
.ac-results-left{padding:36px 32px;border-right:1px solid var(--ac-line);display:flex;flex-direction:column;gap:24px;}
@media(max-width:860px){.ac-results-left{border-right:none;border-bottom:1px solid var(--ac-line);}}
.ac-results-stat-label{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ac-dim);}
.ac-results-stat-num{font-family:var(--ac-serif);font-size:64px;line-height:1;letter-spacing:-2px;margin-top:6px;}
.ac-results-pills{display:flex;flex-direction:column;gap:10px;}
.ac-results-pill-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;}
.ac-results-pill-row .label{color:var(--ac-dim);}
.ac-results-pill-row .val{font-family:var(--ac-mono);font-weight:600;}

/* Aurora input overrides for standard form elements */
input[type="text"],input[type="url"],input[type="email"],input[type="number"],input[type="search"],textarea,select{background:var(--ac-bg)!important;color:var(--ac-text)!important;border-color:var(--ac-line)!important;}
input[type="text"]:focus,input[type="url"]:focus,input[type="email"]:focus,input[type="number"]:focus,textarea:focus,select:focus{border-color:var(--ac-coral)!important;box-shadow:none!important;outline:none!important;}
input::placeholder,textarea::placeholder{color:var(--ac-faint)!important;}

/* ============================================================
   Aurora: Scan details (scan-details.php)
   ============================================================ */
.ac-page-hdr{padding:8px 48px 32px;}
.ac-scan-title{font-family:var(--ac-serif);font-size:clamp(36px,4vw,60px);font-weight:400;margin:0;letter-spacing:-1px;line-height:1.1;color:var(--ac-text);}
.ac-scan-title .domain{color:var(--ac-faint);}
.ac-meta-tags{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:20px;font-size:13px;color:var(--ac-dim);font-family:var(--ac-mono);}
.ac-meta-tags .lbl{color:var(--ac-faint);}
.ac-meta-tags .val{color:var(--ac-text);}
.ac-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;}
.ac-sec-hdr{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;padding:0 48px;}
.ac-sec-title{font-family:var(--ac-serif);font-size:36px;color:var(--ac-text);margin:0;letter-spacing:-.5px;font-weight:400;}
.ac-sec-sub{font-size:13px;color:var(--ac-dim);}
.ac-fix-progress{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-family:var(--ac-mono);color:var(--ac-dim);}
.ac-fix-badge{background:rgba(126,196,138,.12);color:var(--ac-green);border:1px solid rgba(126,196,138,.3);padding:4px 10px;border-radius:999px;font-size:11px;}

/* Severity grid */
.ac-sev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 48px;}
@media(max-width:800px){.ac-sev-grid{grid-template-columns:1fr;}}
.ac-sev-card{background:var(--ac-surf);border:1px solid var(--ac-line);border-radius:18px;padding:24px 26px;}
.ac-sev-top{display:flex;justify-content:space-between;align-items:flex-start;}
.ac-sev-label{font-size:13px;color:var(--ac-dim);}
.ac-sev-count{font-family:var(--ac-serif);font-size:64px;color:var(--ac-text);line-height:1;margin-top:8px;letter-spacing:-1.5px;}
.ac-sev-pct-pill{font-size:11px;font-family:var(--ac-mono);padding:4px 10px;border-radius:999px;}
.ac-sev-bar{height:4px;background:var(--ac-surf2);border-radius:2px;overflow:hidden;margin-top:18px;}
.ac-sev-bar-fill{height:100%;border-radius:2px;}
.ac-sev-desc{font-size:12px;color:var(--ac-faint);margin-top:12px;line-height:1.5;}

/* Issue groups */
.ac-groups{padding:0 48px;margin-top:36px;}
.ac-group{background:var(--ac-surf);border:1px solid var(--ac-line);border-radius:18px;margin-bottom:14px;overflow:hidden;}
.ac-group-summary{padding:20px 26px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;}
.ac-group-summary::-webkit-details-marker{display:none;}
.ac-group-left{display:flex;align-items:center;gap:14px;}
.ac-group-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--ac-surf2);font-family:var(--ac-mono);font-size:12px;color:var(--ac-dim);flex-shrink:0;}
.ac-group-name{font-family:var(--ac-serif);font-size:26px;margin:0;font-weight:400;letter-spacing:-.3px;}
.ac-group-count{font-size:12px;font-family:var(--ac-mono);padding:3px 10px;border-radius:999px;background:var(--ac-surf2);color:var(--ac-dim);border:1px solid var(--ac-line);}
.ac-group-toggle{font-size:12px;color:var(--ac-faint);font-family:var(--ac-mono);}
.ac-group-body{border-top:1px solid var(--ac-line);overflow-x:auto;}

/* Issue table */
.ac-issue-head,.ac-issue-row{display:grid;grid-template-columns:36px 88px 1.5fr 1.6fr 88px 150px 60px 1fr;gap:14px;padding:12px 26px;font-size:13px;align-items:center;}
.ac-issue-head{font-size:10px;color:var(--ac-faint);letter-spacing:1.5px;text-transform:uppercase;font-family:var(--ac-mono);background:var(--ac-bg);border-bottom:1px solid var(--ac-line);}
.ac-issue-row{border-bottom:1px solid var(--ac-line);color:var(--ac-text);}
.ac-issue-row:last-child{border-bottom:none;}
.ac-issue-row.fixed{opacity:.4;}
.ac-issue-row.fixed .ac-fix-check{opacity:1;}
.ac-fix-check{width:16px;height:16px;accent-color:var(--ac-coral);background:var(--ac-surf2);cursor:pointer;}
.ac-issue-el{font-family:var(--ac-mono);color:var(--ac-dim);font-size:12px;}
.ac-issue-desc{color:var(--ac-text);line-height:1.5;}
.ac-suggestion{background:var(--ac-bg);border:1px solid var(--ac-line);border-radius:8px;padding:8px 10px;font-family:var(--ac-mono);font-size:11px;color:var(--ac-dim);line-height:1.5;max-height:72px;overflow:hidden;position:relative;}
.ac-suggestion .copy-fix-btn{position:absolute;top:4px;right:4px;background:var(--ac-coral);color:var(--ac-bg);border:none;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;}
.ac-impact-pill{font-size:11px;font-family:var(--ac-mono);padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;}
.ac-wcag-link{font-family:var(--ac-mono);font-size:12px;color:var(--ac-coral);text-decoration:none;line-height:1.4;}
.ac-wcag-link:hover{text-decoration:underline;}
.ac-line-num{font-family:var(--ac-mono);font-size:12px;color:var(--ac-faint);text-align:right;}
.ac-line-link{color:var(--ac-coral);cursor:pointer;text-decoration:none;font-family:var(--ac-mono);font-size:12px;}
.ac-details{font-family:var(--ac-mono);font-size:11px;color:var(--ac-dim);line-height:1.5;overflow:hidden;text-overflow:ellipsis;}
.ac-all-fixed{display:none;background:rgba(126,196,138,.12);color:var(--ac-green);border:1px solid rgba(126,196,138,.3);padding:6px 14px;border-radius:999px;font-size:12px;font-family:var(--ac-mono);}
.ac-empty i{font-size:36px;color:var(--ac-green);display:block;margin-bottom:14px;}

/* Source modal (direct .ac-modal pattern, no overlay wrapper) — scoped to #sourceCodeModal
   so it doesn't override the .ac-modal box styles used inside .ac-modal-overlay (lines ~984). */
#sourceCodeModal.ac-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:1000;align-items:center;justify-content:center;padding:0;width:auto;max-width:none;border:none;border-radius:0;}
#sourceCodeModal.ac-modal.open{display:flex;}
.ac-modal-inner{background:var(--ac-surf);border:1px solid var(--ac-lineS);border-radius:18px;width:90%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;}
.ac-modal-head{padding:20px 28px;border-bottom:1px solid var(--ac-line);display:flex;align-items:center;justify-content:space-between;}
.ac-source-view{overflow:auto;flex:1;background:#0d0c0b;padding:16px;}
.ac-src-line{display:flex;font-family:var(--ac-mono);font-size:.78rem;line-height:1.6;white-space:pre;}
.ac-src-line.highlighted{background:rgba(255,138,101,.1);}
.ac-src-num{min-width:48px;color:#555;user-select:none;padding-right:16px;text-align:right;}
.ac-src-num.highlighted{color:var(--ac-coral);}
.ac-src-content{color:#c9b99a;}
.cat-tooltip-bubble{display:none;position:fixed;background:#241f1c;color:var(--ac-dim);font-size:.8rem;padding:8px 12px;border-radius:8px;border:1px solid var(--ac-lineS);width:280px;white-space:normal;pointer-events:none;z-index:9999;box-shadow:0 4px 12px rgba(0,0,0,.5);}

/* ============================================================
   Aurora: Accessibility declaration form (accessibility-declaration.php)
   ============================================================ */

/* Card passthrough */
.card,.card-header{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0!important;}

/* Declaration fieldsets */
fieldset.decl-section{border:1px solid var(--ac-line)!important;border-radius:18px!important;padding:28px 32px!important;margin-bottom:18px!important;background:var(--ac-surf)!important;}
fieldset.decl-section legend{font-family:var(--ac-serif)!important;font-size:22px!important;font-weight:400!important;letter-spacing:-.3px!important;color:var(--ac-text)!important;background:transparent!important;padding:0 0 0 4px!important;}
fieldset.decl-section legend i{color:var(--ac-coral)!important;margin-right:8px!important;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:600px){.form-row{grid-template-columns:1fr;}}
.form-group{margin-bottom:18px!important;}
.form-group:last-child{margin-bottom:0!important;}
input[type=radio]{accent-color:var(--ac-coral);}
input[type=checkbox]{accent-color:var(--ac-coral);}

/* Legacy button/alert Aurora overrides */
.print-btn{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:11px 18px!important;border-radius:10px!important;background:var(--ac-surf)!important;color:var(--ac-text)!important;border:1px solid var(--ac-line)!important;font-size:13.5px!important;font-weight:500!important;font-family:inherit!important;cursor:pointer!important;text-decoration:none!important;}
.print-btn:hover{background:var(--ac-surf2)!important;color:var(--ac-text)!important;text-decoration:none!important;}
.alert-success{background:rgba(126,196,138,.1)!important;border:none!important;border-left:3px solid var(--ac-green)!important;color:var(--ac-green)!important;border-radius:12px!important;}
.alert-error,.alert-danger{background:rgba(232,123,110,.1)!important;border:none!important;border-left:3px solid var(--ac-red)!important;color:var(--ac-red)!important;border-radius:12px!important;}
.alert{padding:14px 20px!important;margin-bottom:18px!important;border-radius:12px!important;}
.domain-header{background:var(--ac-surf2)!important;border:1px solid var(--ac-line)!important;border-radius:14px!important;padding:16px 20px!important;margin-bottom:20px!important;}
.scan-summary-box{background:var(--ac-surf2)!important;border:1px solid var(--ac-lineS)!important;border-radius:14px!important;padding:16px 20px!important;color:var(--ac-dim)!important;}
.scan-summary-box h4{color:var(--ac-text)!important;font-family:var(--ac-serif)!important;font-weight:400!important;font-size:18px!important;}
.compliance-option{padding:10px 16px;border-radius:10px;font-family:var(--ac-mono);background:var(--ac-bg);border:1px solid var(--ac-line);display:inline-flex;align-items:center;gap:8px;cursor:pointer;}
@media print{.no-print{display:none!important;}.app-header,nav{display:none!important;}}

/* ============================================================
   Aurora: Declaration history (declaration-history.php)
   ============================================================ */
.ac-decl-table{width:100%;border-collapse:collapse;}
.ac-decl-table th,.ac-decl-table td{padding:12px 16px;border-bottom:1px solid var(--ac-line);vertical-align:middle;font-size:13px;}
.ac-decl-table thead th{background:var(--ac-surf2);font-weight:600;text-align:left;color:var(--ac-dim);font-size:11px;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;}
.ac-decl-table tbody tr:hover td{background:var(--ac-surf2);}
.ac-decl-table tr:last-child td{border-bottom:none;}
.ac-version-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11.5px;font-family:var(--ac-mono);background:rgba(255,138,101,.15);color:var(--ac-coral);border:1px solid rgba(255,138,101,.3);}
.ac-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:700px){.ac-compare-grid{grid-template-columns:1fr;}}
.ac-compare-col{background:var(--ac-surf);border:1px solid var(--ac-line);border-radius:14px;overflow:hidden;}
.ac-compare-head{background:var(--ac-surf2);padding:14px 18px;font-size:13px;border-bottom:1px solid var(--ac-line);color:var(--ac-text);display:flex;align-items:center;gap:10px;}
.ac-compare-body{padding:20px;}
.ac-compare-label{font-size:10px;font-weight:600;color:var(--ac-faint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;}
.ac-compare-value{margin-bottom:16px;font-size:13px;color:var(--ac-dim);}
.ac-diff-box{background:var(--ac-surf);border:1px solid var(--ac-lineS);border-radius:14px;padding:24px;}
.ac-diff-title{font-family:var(--ac-serif);font-size:22px;font-weight:400;color:var(--ac-text);margin:0 0 18px;}
.ac-diff-row{margin-bottom:16px;}
.ac-diff-lbl{font-size:10px;font-weight:600;color:var(--ac-faint);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;}
.ac-diff-removed{background:rgba(232,123,110,.08);border-left:3px solid var(--ac-red);padding:8px 12px;border-radius:0 6px 6px 0;font-size:13px;color:var(--ac-red);margin-bottom:4px;white-space:pre-wrap;}
.ac-diff-added{background:rgba(126,196,138,.08);border-left:3px solid var(--ac-green);padding:8px 12px;border-radius:0 6px 6px 0;font-size:13px;color:var(--ac-green);white-space:pre-wrap;}
.ac-diff-same{font-size:13px;color:var(--ac-dim);white-space:pre-wrap;}
.ac-preview-row td{padding:0;border-bottom:2px solid var(--ac-coral);}
.ac-preview-inner{padding:20px 28px;background:var(--ac-surf2);}
.ac-preview-doc{background:#fff;border-radius:8px;padding:20px;font-size:.92em;}
.ac-delta-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:10px;}
.ac-delta-table th,.ac-delta-table td{padding:6px 12px;border:1px solid var(--ac-line);text-align:center;}
.ac-delta-table th{background:var(--ac-surf2);color:var(--ac-dim);font-weight:600;}
.ac-cmp-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;}

/* ============================================================
   Subscription page (subscription.php)
   ============================================================ */
.subscription-info{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:25px;margin-bottom:30px;}
.subscription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border);}
.subscription-title h2{font-size:1.4rem;}
.subscription-details{display:flex;gap:30px;margin-bottom:20px;flex-wrap:wrap;}
.detail-item{flex:1;min-width:200px;}
.detail-label{font-size:.9rem;color:var(--text-muted);margin-bottom:5px;}
.detail-value{font-size:1.1rem;font-weight:500;}
.plan-features{background:var(--light-gray);border-radius:var(--radius-sm);padding:15px;margin-bottom:20px;}
.feature-list{list-style:none;margin-top:10px;}
.feature-list li{padding:5px 0;display:flex;align-items:center;}
.feature-list i{color:var(--secondary);margin-right:10px;width:20px;text-align:center;}
.plans-section{margin-top:40px;}
.plans-title{margin-bottom:20px;}
.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:40px;}
.plan-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:25px;display:flex;flex-direction:column;position:relative;transition:transform .3s,box-shadow .3s;height:100%;}
.plan-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.current-plan{border:2px solid var(--primary);}
.current-plan::before{content:'Piano Attuale';position:absolute;top:0;right:0;background:var(--primary);color:#fff;font-size:.8rem;padding:5px 10px;border-radius:0 var(--radius) 0 var(--radius);}
.plan-header{text-align:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border);}
.plan-name{font-size:1.6rem;color:var(--primary);margin-bottom:10px;font-weight:600;}
.plan-price{font-size:2rem;font-weight:700;margin-bottom:5px;}
.plan-period{font-size:.9rem;color:var(--text-muted);margin-bottom:10px;}
.plan-description{font-size:.9rem;color:var(--text-muted);margin-top:10px;font-style:italic;}
.plan-content{flex:1;}
.features-title{margin-bottom:15px;font-size:1.1rem;}
.plan-features-list{list-style:none;margin-bottom:25px;}
.plan-features-list li{padding:7px 0;display:flex;align-items:center;border-bottom:1px dotted var(--border);}
.plan-features-list li:last-child{border-bottom:none;}
.plan-features-list i{width:20px;text-align:center;margin-right:10px;}
.plan-features-list i.fa-check{color:var(--secondary);}
.plan-features-list i.fa-times{color:var(--danger);}
.feature-highlight{color:var(--primary);font-weight:500;}
.feature-disabled{color:var(--text-muted);}
.feature-disabled i{color:var(--text-muted)!important;}
.plan-footer{margin-top:auto;padding-top:20px;}
.plan-btn{width:100%;text-align:center;}
.upgrade-btn{background:var(--secondary);font-weight:600;padding:12px 15px;font-size:1rem;}
.upgrade-btn:hover{background:var(--secondary-dark);}
.plan-current-text{text-align:center;font-weight:600;color:var(--primary);padding:12px 15px;font-size:1rem;border:2px solid var(--primary);border-radius:var(--radius-sm);}
.billing-history{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:25px;margin-top:30px;}
.billing-header{margin-bottom:20px;}
.billing-table{width:100%;border-collapse:collapse;}
.billing-table th,.billing-table td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--border);}
.billing-table th{background:var(--light-gray);font-weight:600;}
.billing-table tr:last-child td{border-bottom:none;}
.payment-methods{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;}
.payment-method{flex:1;min-width:120px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;cursor:pointer;transition:all .3s;}
.payment-method:hover{border-color:var(--primary);}
.payment-method.selected{border-color:var(--primary);background:#f0f7ff;}
[data-theme="dark"] .payment-method.selected{background:#1a2a3a;}
.payment-method img{max-height:30px;}
@media(max-width:768px){.subscription-details{flex-direction:column;gap:15px;}.plans-grid{grid-template-columns:1fr;}}

/* ============================================================
   Aurora: Widget config (widget-config.php)
   ============================================================ */
.ac-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:700px){.ac-two-col{grid-template-columns:1fr;}}
.ac-browser{background:var(--ac-bg);border:1px solid var(--ac-line);border-radius:12px;height:480px;overflow:hidden;position:relative;}
.ac-browser-bar{padding:10px 14px;border-bottom:1px solid var(--ac-line);display:flex;align-items:center;gap:10px;}
.ac-browser-dots span{width:10px;height:10px;border-radius:50%;background:var(--ac-surf3);display:inline-block;margin-right:6px;}
.ac-browser-url{flex:1;padding:4px 12px;border-radius:6px;background:var(--ac-surf2);font-family:var(--ac-mono);font-size:11px;color:var(--ac-faint);}
.ac-browser-body{padding:40px 32px;position:relative;height:100%;}
.ac-mock-line{border-radius:4px;background:var(--ac-surf3);}
.preview-widget{position:absolute;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:left .3s,right .3s,top .3s;}
.preview-widget svg{width:28px;height:28px;}
.ac-code-block{background:var(--ac-bg);border:1px solid var(--ac-line);border-radius:12px;padding:20px 24px;font-family:var(--ac-mono);font-size:13px;color:var(--ac-dim);line-height:1.7;position:relative;}
.ac-code-copy{position:absolute;top:16px;right:16px;background:var(--ac-coral);color:#1a1512;border:none;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;}
.ac-info-note{margin-top:16px;padding:12px 16px;border-radius:10px;background:rgba(122,184,245,.08);border:1px solid rgba(122,184,245,.2);display:flex;align-items:center;gap:12px;color:var(--ac-dim);font-size:13px;}

/* --- Maintenance / Coming Soon page ------------------------ */
.mnt-wrap { max-width: 1100px; margin: 0 auto; padding: 64px 24px 96px; }
.mnt-controls { position: fixed; top: 18px; right: 18px; z-index: 50; display: flex; align-items: center; gap: 10px; }
.mnt-theme-toggle { width: 40px; height: 40px; border-radius: 50%; background: var(--ac-surf); border: 1px solid var(--ac-line); color: var(--ac-text); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font-size: 1rem; transition: background .15s ease, transform .15s ease; }
.mnt-theme-toggle:hover { background: var(--ac-surf2); transform: rotate(15deg); }
.mnt-theme-toggle:focus-visible { outline: 2px solid var(--ac-coral); outline-offset: 2px; }
.mnt-lang { display: inline-flex; align-items: center; gap: 4px; background: var(--ac-surf); border: 1px solid var(--ac-line); border-radius: 999px; padding: 4px; height: 40px; box-sizing: border-box; }
.mnt-lang a { font-family: var(--ac-mono); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.5px; text-decoration: none; color: var(--ac-dim); padding: 4px 10px; border-radius: 999px; transition: background .15s ease, color .15s ease; }
.mnt-lang a.active { background: var(--ac-coral); color: #fff; }
.mnt-lang a:not(.active):hover { color: var(--ac-text); text-decoration: none; }
.mnt-hero { display: grid; grid-template-columns: 1fr 380px; gap: 72px; align-items: start; margin-bottom: 88px; }
.mnt-hero .ac-hero-kicker { display: inline-block; margin-bottom: 20px; }
.mnt-hero h1 { font-size: clamp(2.8rem, 5.5vw, 4.2rem); line-height: 1.06; margin: 0 0 22px; font-weight: 700; letter-spacing: -0.03em; color: var(--ac-text); }
.mnt-hero h1 em { font-family: var(--ac-serif); font-style: italic; font-weight: 400; color: var(--ac-coral); }
.mnt-hero p { font-size: 1.05rem; line-height: 1.65; color: var(--ac-dim); max-width: 52ch; }
.mnt-form-card { background: var(--ac-surf); border: 1px solid var(--ac-line); border-radius: 16px; padding: 32px; }
.mnt-form-title { font-size: 1.05rem; margin: 0 0 6px; font-weight: 600; color: var(--ac-text); }
.mnt-form-desc { font-size: 0.92rem; color: var(--ac-dim); margin: 0 0 20px; line-height: 1.5; }
.mnt-form-row { display: flex; gap: 8px; }
.mnt-form-row input[type="email"] { flex: 1; min-width: 0; padding: 12px 14px; background: var(--ac-bg); border: 1px solid var(--ac-line); color: var(--ac-text); border-radius: 8px; font-size: 0.95rem; font-family: inherit; }
.mnt-form-row input[type="email"]:focus { outline: 2px solid var(--ac-coral); outline-offset: 1px; }
.mnt-form-row button { padding: 12px 18px; background: var(--ac-coral); color: #fff; border: 0; border-radius: 8px; font-weight: 600; font-size: 0.95rem; cursor: pointer; white-space: nowrap; font-family: inherit; }
.mnt-form-row button:disabled { opacity: 0.55; cursor: not-allowed; }
.mnt-consent { display: flex; gap: 8px; align-items: flex-start; margin-top: 14px; font-size: 0.82rem; color: var(--ac-dim); line-height: 1.4; }
.mnt-consent input { margin-top: 2px; }
.mnt-consent a { color: var(--ac-coral); text-decoration: underline; text-underline-offset: 2px; }
.mnt-consent a:hover { color: var(--ac-text); }
.mnt-msg { margin-top: 14px; font-size: 0.9rem; min-height: 1.2em; }
.mnt-msg.ok { color: var(--ac-green); }
.mnt-msg.err { color: var(--ac-coral); }
.mnt-thanks { text-align: center; padding: 12px 0; }
.mnt-thanks .check { font-size: 2.4rem; color: var(--ac-green); margin-bottom: 8px; }
.mnt-thanks h3 { margin: 0 0 6px; font-size: 1.2rem; color: var(--ac-text); }
.mnt-thanks p { margin: 0; color: var(--ac-dim); font-size: 0.95rem; }
.mnt-features { padding-top: 32px; }
.mnt-features-title { font-size: 11px; font-weight: 600; margin: 0; color: var(--ac-faint); letter-spacing: 1.4px; text-transform: uppercase; font-family: var(--ac-mono); }
.mnt-brand-note { text-align: center; margin-top: 64px; font-size: 0.78rem; color: var(--ac-faint); font-family: var(--ac-mono); letter-spacing: 0.5px; }
.mnt-footer { border-top: 1px solid var(--ac-line); padding: 24px 0; }
.mnt-footer-inner { max-width: 1100px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 0.85rem; color: var(--ac-faint); }
.mnt-footer-copy { font-family: var(--ac-mono); }
.mnt-footer-links { display: flex; gap: 18px; flex-wrap: wrap; }
.mnt-footer-links a { color: var(--ac-dim); text-decoration: none; }
.mnt-footer-links a:hover { color: var(--ac-text); text-decoration: underline; }
@media (max-width: 860px) {
    .mnt-hero { grid-template-columns: 1fr; gap: 44px; margin-bottom: 56px; }
    .mnt-hero h1 { font-size: clamp(2.4rem, 7vw, 3.4rem); }
}
@media (max-width: 540px) {
    .mnt-form-row { flex-direction: column; }
    .mnt-form-row button { width: 100%; }
    .mnt-footer-inner { justify-content: center; text-align: center; }
}
