:root {
    --bg: #eef4fb;
    --ink: #102033;
    --muted: #667085;
    --card: #ffffff;
    --line: #dbe5f0;
    --accent: #0f74c8;
    --accent-2: #0ea5a4;
    --danger: #dc2626;
    --warning: #b45309;
    --success: #16803c;
    --shadow: 0 22px 70px rgba(16, 32, 51, .12);
    --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: radial-gradient(circle at top left, rgba(14, 165, 164, .18), transparent 34%), linear-gradient(135deg, #f9fcff, var(--bg));
    color: var(--ink);
}
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.hero {
    background: linear-gradient(135deg, #07182f, #0d365d 55%, #095e69);
    color: #fff;
    padding: 42px 20px 54px;
    position: relative;
    overflow: hidden;
}
.hero::after {
    content: "";
    position: absolute;
    inset: auto -80px -160px auto;
    width: 360px;
    height: 360px;
    background: rgba(255, 255, 255, .1);
    border-radius: 999px;
}
.hero__inner {
    width: min(1480px, 100%);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: center;
    position: relative;
    z-index: 1;
}
.eyebrow {
    text-transform: uppercase;
    letter-spacing: .16em;
    font-weight: 800;
    color: #96f2e6;
    margin: 0 0 10px;
    font-size: 12px;
}
.hero h1 { margin: 0; font-size: clamp(32px, 5vw, 58px); line-height: 1; }
.hero p:last-child { color: #dbeafe; max-width: 760px; font-size: 18px; }
.hero__badge {
    min-width: 190px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 18px;
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(12px);
    text-align: right;
}
.hero__badge span { display:block; color:#bbf7d0; font-weight:800; margin-bottom:6px; }
.hero__badge strong { font-size: 22px; }

.shell {
    width: min(1480px, calc(100% - 32px));
    margin: -34px auto 40px;
    position: relative;
    z-index: 3;
}
.studio-form {
    display: grid;
    grid-template-columns: minmax(420px, 560px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}
.panel, .preview-card, .export-panel {
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(219, 229, 240, .9);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}
.setup-panel { padding: 24px; }
.preview-stack { display: grid; gap: 18px; }
.checks-panel { padding: 22px; }

.section-title {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 18px;
}
.section-title.compact { margin-top: 30px; }
.section-title h2 { margin: 0; font-size: 22px; }
.section-title p { margin: 4px 0 0; color: var(--muted); }
.section-icon {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    color: #fff;
    font-weight: 900;
    flex: 0 0 auto;
}

.field { display: grid; gap: 8px; margin-bottom: 16px; }
.field span { font-weight: 800; }
.field small { color: var(--muted); font-weight: 600; }
input, textarea, select {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 12px 13px;
    background: #fbfdff;
    color: var(--ink);
    outline: none;
    transition: border .2s, box-shadow .2s, background .2s;
}
textarea { resize: vertical; min-height: 120px; }
input:focus, textarea:focus, select:focus {
    border-color: rgba(15,116,200,.7);
    box-shadow: 0 0 0 4px rgba(15,116,200,.12);
    background: #fff;
}

.preset-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 8px;
}
.preset, .ghost-button, .small-button, .primary-button, .icon-button {
    border: 0;
    border-radius: 13px;
    font-weight: 850;
    transition: transform .18s, box-shadow .18s, background .18s;
}
.preset, .ghost-button {
    background: #eaf4ff;
    color: #0b4d7e;
    padding: 11px 12px;
}
.preset:hover, .ghost-button:hover, .small-button:hover, .primary-button:hover { transform: translateY(-1px); }
.preset.danger { background: #fff1f2; color: #be123c; }

.table-card, .ai-card {
    border: 1px solid var(--line);
    background: #f8fbff;
    border-radius: 18px;
    padding: 14px;
    margin-bottom: 18px;
}
.rule-head, .rule-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr .65fr 42px;
    gap: 8px;
    align-items: center;
}
.sitemap-head, .sitemap-row {
    display: grid;
    grid-template-columns: minmax(160px, 1.35fr) minmax(88px, .55fr) minmax(132px, .85fr) minmax(160px, 1fr) 42px;
    gap: 10px;
    align-items: center;
}
.sitemap-table {
    overflow-x: visible;
}
.sitemap-head, .sitemap-row {
    min-width: 0;
}
.sitemap-head span:first-child,
.sitemap-row input:first-child {
    grid-column: 1 / -1;
}
.sitemap-row input,
.sitemap-row select {
    min-width: 0;
}
.sitemap-row input[type="date"] {
    min-width: 0;
}
.rule-head, .sitemap-head {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 0 0 8px;
}
.rule-rows, .sitemap-rows { display: grid; gap: 8px; }
.icon-button {
    width: 40px;
    height: 40px;
    background: #fff1f2;
    color: #be123c;
    font-size: 22px;
    line-height: 1;
}
.ghost-button { width: 100%; margin-top: 10px; }

.ai-card__top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ai-card h3 { margin:0 0 4px; }
.ai-card p { margin:0; color:var(--muted); }
.switch input { display:none; }
.switch span {
    display:block;
    width: 58px;
    height: 32px;
    border-radius: 999px;
    background: #cbd5e1;
    position: relative;
}
.switch span::before {
    content:"";
    position:absolute;
    width:24px;
    height:24px;
    border-radius:50%;
    background:#fff;
    top:4px;
    left:4px;
    transition:.2s;
    box-shadow: 0 3px 8px rgba(0,0,0,.2);
}
.switch input:checked + span { background: linear-gradient(135deg, var(--accent), var(--accent-2)); }
.switch input:checked + span::before { transform: translateX(26px); }
.segmented { display:flex; gap:10px; flex-wrap:wrap; margin:16px 0; }
.segmented label, .bot-list label {
    display:flex;
    gap:8px;
    align-items:center;
    background:#fff;
    border:1px solid var(--line);
    border-radius:999px;
    padding:9px 12px;
    font-weight:750;
}
.segmented input, .bot-list input { width:auto; }
.bot-list { display:flex; flex-wrap:wrap; gap:9px; }

.checks-list { display:grid; gap:10px; }
.check {
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding: 12px;
    border-radius: 14px;
    border:1px solid var(--line);
    background:#fbfdff;
    color:#344054;
}
.check span {
    display:inline-flex;
    min-width:60px;
    justify-content:center;
    border-radius:999px;
    padding:4px 8px;
    font-size:11px;
    font-weight:950;
}
.check.pass span { background:#dcfce7; color:var(--success); }
.check.warn span { background:#fef3c7; color:var(--warning); }
.check.fail span { background:#fee2e2; color:var(--danger); }
.check.pending span { background:#e5e7eb; color:#475467; }

.preview-card { overflow:hidden; }
.preview-card__top {
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    padding:18px 20px;
    border-bottom:1px solid var(--line);
    background: linear-gradient(180deg, #fff, #f8fbff);
}
.preview-card h2 { margin:0; font-size:20px; }
.button-row { display:flex; gap:8px; flex-wrap:wrap; }
.small-button {
    padding:9px 12px;
    background:#0f74c8;
    color:#fff;
}
.small-button:first-child { background:#102033; }
.preview-card pre {
    margin:0;
    padding:20px;
    min-height:180px;
    max-height:430px;
    overflow:auto;
    background:#07182f;
    color:#dbeafe;
    font-size:13px;
    line-height:1.55;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}
.export-panel {
    padding:22px;
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    background: linear-gradient(135deg, #ffffff, #ecfeff);
}
.export-panel h2 { margin:0 0 6px; }
.export-panel p { margin:0; color:var(--muted); }
.primary-button {
    padding:14px 18px;
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    color:#fff;
    box-shadow: 0 14px 30px rgba(15,116,200,.25);
    white-space:nowrap;
}
.footer {
    width:min(1480px, calc(100% - 32px));
    margin: 0 auto 35px;
    color:var(--muted);
    text-align:center;
    font-weight:700;
}

@media (max-width: 1180px) {
    .studio-form { grid-template-columns: 1fr; }
    .setup-panel { order:1; }
    .preview-stack { order:2; }
}
@media (max-width: 760px) {
    .hero { padding: 30px 16px 48px; }
    .hero__inner { flex-direction:column; align-items:flex-start; }
    .hero__badge { width:100%; text-align:left; }
    .shell { width: calc(100% - 20px); }
    .setup-panel, .checks-panel, .export-panel { padding:16px; }
    .preset-grid { grid-template-columns:1fr; }
    .rule-head, .sitemap-head { display:none; }
    .rule-row, .sitemap-row { grid-template-columns:1fr; padding:12px; border:1px solid var(--line); border-radius:16px; background:#fff; }
    .sitemap-table { overflow-x: visible; }
    .sitemap-row { min-width: 0; gap:10px; }
    .sitemap-row input:first-child { grid-column:auto; }
    .sitemap-row input[type="date"] { min-width: 0; }
    .icon-button { width:100%; }
    .preview-card__top, .export-panel { flex-direction:column; align-items:flex-start; }
    .button-row, .primary-button { width:100%; }
    .small-button, .primary-button { flex:1; text-align:center; }
}

/* v1.0.9 customer polish: contained sitemap grid and premium finish */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

.hero {
    background:
        radial-gradient(circle at 88% 10%, rgba(45, 212, 191, .18), transparent 30%),
        linear-gradient(135deg, #06172d 0%, #0b3157 55%, #075c68 100%);
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.08);
}
.hero__badge,
.panel,
.preview-card,
.export-panel {
    border-color: rgba(184, 202, 224, .85);
}
.panel,
.preview-card,
.export-panel {
    box-shadow: 0 20px 60px rgba(16, 32, 51, .11);
}
.setup-panel,
.checks-panel {
    backdrop-filter: saturate(140%) blur(8px);
}
.section-title {
    align-items: center;
}
.section-icon {
    box-shadow: 0 10px 22px rgba(15, 116, 200, .22);
}
input,
textarea,
select {
    border-color: #d7e3f0;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}
input:hover,
textarea:hover,
select:hover {
    border-color: #bed0e4;
}
.preset,
.ghost-button,
.small-button,
.primary-button,
.icon-button {
    box-shadow: 0 8px 18px rgba(16, 32, 51, .06);
}
.preset:hover,
.ghost-button:hover {
    background: #dcebfb;
    box-shadow: 0 12px 24px rgba(15, 116, 200, .12);
}
.preset.danger:hover {
    background: #ffe4e6;
}
.small-button:hover,
.primary-button:hover {
    box-shadow: 0 16px 34px rgba(15, 116, 200, .25);
}
.table-card,
.ai-card {
    background: linear-gradient(180deg, #f9fcff 0%, #f4f8fd 100%);
    border-color: #d8e5f1;
}
.check {
    background: rgba(255,255,255,.74);
    border-color: #d8e5f1;
}
.check span {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
.preview-card__top {
    background: linear-gradient(180deg, #ffffff 0%, #f3f8fe 100%);
}
.preview-card pre {
    border-top: 1px solid rgba(255,255,255,.06);
}

.studio-form,
.setup-panel,
.preview-stack,
.preview-card,
.table-card,
.sitemap-table,
.sitemap-rows,
.sitemap-row {
    min-width: 0;
    max-width: 100%;
}

.sitemap-table {
    overflow: hidden;
    padding: 16px;
}

.sitemap-head,
.sitemap-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 82px 132px 148px 42px;
    grid-template-areas:
        "url url url url url"
        "title priority frequency lastmod action";
    gap: 10px;
    align-items: center;
}

.sitemap-head {
    margin: 0 0 10px;
    padding: 0 4px;
}

.sitemap-head span {
    min-width: 0;
}
.sitemap-head span:nth-child(1) { grid-area: url; }
.sitemap-head span:nth-child(2) { grid-area: title; }
.sitemap-head span:nth-child(3) { grid-area: priority; }
.sitemap-head span:nth-child(4) { grid-area: frequency; }
.sitemap-head span:nth-child(5) { grid-area: lastmod; }
.sitemap-head span:nth-child(6) { grid-area: action; }

.sitemap-row {
    padding: 10px;
    border: 1px solid rgba(216, 229, 241, .92);
    border-radius: 17px;
    background: rgba(255,255,255,.76);
    box-shadow: 0 10px 24px rgba(16, 32, 51, .045);
}
.sitemap-row input,
.sitemap-row select,
.sitemap-row button {
    min-width: 0;
    max-width: 100%;
}
.sitemap-row input:first-child {
    grid-area: url;
    grid-column: url;
}
.sitemap-row input:nth-child(2) { grid-area: title; }
.sitemap-row input:nth-child(3) { grid-area: priority; }
.sitemap-row select { grid-area: frequency; }
.sitemap-row input[type="date"] { grid-area: lastmod; }
.sitemap-row .icon-button { grid-area: action; justify-self: end; }

#addSitemapRow {
    margin-top: 12px;
}

@media (max-width: 1320px) {
    .studio-form {
        grid-template-columns: minmax(0, 1fr);
    }
    .setup-panel,
    .preview-stack {
        width: 100%;
    }
}

@media (max-width: 760px) {
    .sitemap-table {
        padding: 13px;
    }
    .sitemap-head {
        display: none;
    }
    .sitemap-row {
        grid-template-columns: 1fr;
        grid-template-areas:
            "url"
            "title"
            "priority"
            "frequency"
            "lastmod"
            "action";
        padding: 12px;
        gap: 10px;
    }
    .sitemap-row input:first-child {
        grid-column: auto;
    }
    .sitemap-row .icon-button {
        width: 100%;
        justify-self: stretch;
    }
    .hero h1 {
        font-size: clamp(30px, 12vw, 44px);
    }
    .preview-card pre {
        max-height: 340px;
        font-size: 12px;
    }
}

/* v1.0.10 sitemap entry component fix: stable mini-card layout */
.studio-form {
    grid-template-columns: minmax(620px, 680px) minmax(0, 1fr);
}

.sitemap-table {
    width: 100%;
    overflow: visible;
}

.sitemap-head {
    display: none;
}

.sitemap-rows {
    display: grid;
    gap: 14px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.sitemap-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(72px, .34fr) minmax(104px, .46fr) minmax(124px, .58fr) 42px;
    grid-template-areas:
        "url url url url url"
        "title priority frequency lastmod action";
    gap: 12px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(205, 222, 238, .95);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(246,250,255,.96) 100%);
    box-shadow: 0 14px 32px rgba(16, 32, 51, .065);
    overflow: hidden;
}

.entry-field {
    display: grid;
    gap: 7px;
    min-width: 0;
    max-width: 100%;
    margin: 0;
}

.entry-field > span {
    display: block;
    min-width: 0;
    max-width: 100%;
    color: #667085;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .065em;
    line-height: 1.15;
    text-transform: uppercase;
    white-space: normal;
    overflow-wrap: anywhere;
}

.entry-field input,
.entry-field select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.entry-field--url { grid-area: url; }
.entry-field--title { grid-area: title; }
.entry-field--priority { grid-area: priority; }
.entry-field--frequency { grid-area: frequency; }
.entry-field--lastmod { grid-area: lastmod; }
.entry-field--action {
    grid-area: action;
    align-self: end;
    justify-items: stretch;
}

.entry-action-label {
    color: transparent !important;
    user-select: none;
}

.sitemap-row .icon-button {
    width: 42px;
    height: 42px;
    justify-self: stretch;
    align-self: end;
}

#addSitemapRow {
    margin-top: 14px;
}

@media (max-width: 1380px) {
    .studio-form {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 820px) {
    .sitemap-row {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "url"
            "title"
            "priority"
            "frequency"
            "lastmod"
            "action";
        gap: 11px;
        padding: 14px;
    }
    .entry-field--action {
        justify-items: stretch;
    }
    .entry-action-label {
        display: none !important;
    }
    .sitemap-row .icon-button {
        width: 100%;
    }
}

/* v1.0.10 containment correction: neutralise legacy sitemap input selectors inside labelled fields */
.sitemap-row .entry-field {
    width: 100%;
    justify-self: stretch;
}

.sitemap-row .entry-field input,
.sitemap-row .entry-field select {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    grid-area: auto !important;
    grid-column: auto !important;
}

.sitemap-row .entry-field > span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: normal;
    letter-spacing: .035em;
    font-size: 10px;
}

@media (min-width: 821px) {
    .sitemap-row {
        grid-template-columns: minmax(0, 1fr) 84px 122px 146px 44px;
    }
    .entry-field--priority > span,
    .entry-field--frequency > span,
    .entry-field--lastmod > span {
        font-size: 9px;
        letter-spacing: .025em;
    }
}

/* v1.0.10 final desktop balance: give the sitemap mini-card enough room before stacking */
@media (min-width: 1321px) {
    .studio-form {
        grid-template-columns: minmax(680px, 760px) minmax(0, 1fr);
    }
}

@media (max-width: 1320px) {
    .studio-form {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 820px) {
    .sitemap-row .icon-button {
        width: 100%;
        justify-self: stretch;
    }
}

@media (max-width: 820px) {
    .entry-field--action {
        width: 100%;
        justify-self: stretch;
    }
    .entry-field--action .icon-button {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 820px) {
    .entry-field--action {
        display: block;
    }
}

/* v1.1.0 header branding and same-domain scanner */
.hero__brand {
    display: flex;
    align-items: center;
    gap: 22px;
    min-width: 0;
}
.hero__logo-wrap {
    width: clamp(74px, 9vw, 112px);
    height: clamp(74px, 9vw, 112px);
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 30px;
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(255, 255, 255, .18);
    box-shadow: 0 22px 48px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255,255,255,.18);
    backdrop-filter: blur(8px);
}
.hero__logo {
    width: 76%;
    height: 76%;
    object-fit: contain;
    opacity: .92;
    filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .24));
}
.hero__copy {
    min-width: 0;
}
.brand-line {
    margin: 10px 0 0 !important;
    color: #9df3e8 !important;
    font-weight: 850;
    letter-spacing: .04em;
    font-size: 15px !important;
}
.hero__copy p:last-child {
    margin-top: 12px;
}
.scanner-card {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid #d8e5f1;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%);
    box-shadow: 0 14px 34px rgba(16, 32, 51, .07);
}
.scanner-card__top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 14px;
}
.scanner-card h3 {
    margin: 0 0 5px;
    font-size: 18px;
}
.scanner-card p {
    margin: 0;
    color: var(--muted);
}
.scanner-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(94px, 120px) minmax(94px, 120px) auto;
    gap: 12px;
    align-items: end;
}
.scanner-field {
    margin: 0;
}
.scanner-field input {
    width: 100%;
}
.scanner-button {
    min-height: 46px;
    align-self: end;
}
.scanner-note {
    margin: 12px 0 0 !important;
    font-size: 13px;
}
.scanner-results {
    margin-top: 14px;
    padding: 14px;
    border: 1px dashed #c8d8e8;
    border-radius: 16px;
    background: rgba(255,255,255,.72);
    color: #475467;
    font-size: 14px;
}
.scanner-message {
    padding: 11px 12px;
    border-radius: 13px;
    font-weight: 750;
}
.scanner-message--pending { background: #e5e7eb; color: #475467; }
.scanner-message--pass { background: #dcfce7; color: var(--success); margin-top: 12px; }
.scanner-message--warn { background: #fef3c7; color: var(--warning); }
.scanner-message--fail { background: #fee2e2; color: var(--danger); }
.scanner-summary {
    display: grid;
    gap: 3px;
    margin-bottom: 12px;
}
.scanner-summary strong {
    font-size: 28px;
    line-height: 1;
    color: var(--ink);
}
.scanner-summary span {
    font-weight: 900;
    color: var(--ink);
}
.scanner-summary small {
    color: var(--muted);
    font-weight: 650;
}
.scanner-url-list {
    display: grid;
    gap: 8px;
    max-height: 260px;
    overflow: auto;
    padding-right: 3px;
}
.scanner-url-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    padding: 10px 11px;
    border: 1px solid #e3edf7;
    border-radius: 13px;
    background: #fff;
}
.scanner-url-row input {
    width: auto;
}
.scanner-url-row span {
    min-width: 0;
    overflow-wrap: anywhere;
    font-weight: 700;
    color: #1f344d;
}
.scanner-url-row em {
    color: var(--muted);
    font-style: normal;
    font-size: 12px;
    font-weight: 800;
}
.scanner-url-row.is-duplicate {
    opacity: .72;
}
.scanner-warnings {
    margin-top: 12px;
    display: grid;
    gap: 7px;
}
.scanner-warnings p {
    margin: 0;
    padding: 9px 10px;
    border-radius: 10px;
    background: #fff7ed;
    color: #9a3412;
    font-size: 13px;
}
.scanner-add-button {
    width: 100%;
    margin-top: 12px;
}

@media (max-width: 900px) {
    .scanner-grid {
        grid-template-columns: 1fr 1fr;
    }
    .scanner-field:first-child,
    .scanner-button {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .hero__brand {
        align-items: flex-start;
        gap: 14px;
    }
    .hero__logo-wrap {
        width: 64px;
        height: 64px;
        border-radius: 22px;
    }
    .brand-line {
        font-size: 13px !important;
    }
    .scanner-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 460px) {
    .hero__brand {
        flex-direction: column;
    }
    .hero__logo-wrap {
        width: 58px;
        height: 58px;
    }
    .scanner-url-row {
        grid-template-columns: auto minmax(0, 1fr);
    }
    .scanner-url-row em {
        grid-column: 2;
    }
}


/* v1.1.1 UI polish: compact scanner results and calmer SEO checks */
.checks-list {
    gap: 8px;
}
.check-section-label {
    margin: 12px 0 2px;
    color: #0b4f83;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.check-section-label:first-child {
    margin-top: 0;
}
.check-group {
    margin-top: 12px;
    border: 1px solid #dce8f4;
    border-radius: 16px;
    background: rgba(248, 251, 255, .72);
    overflow: hidden;
}
.check-group summary {
    cursor: pointer;
    padding: 11px 13px;
    color: #42526b;
    font-weight: 900;
    font-size: 13px;
    letter-spacing: .02em;
    list-style-position: inside;
}
.check-group__body {
    display: grid;
    gap: 8px;
    padding: 0 10px 10px;
}
.check-group__body .check {
    background: #fff;
}
.check.neutral {
    align-items: center;
    padding: 18px;
    border-style: dashed;
    background: linear-gradient(180deg, #ffffff, #f4f9ff);
    color: #52637a;
    font-weight: 750;
}
.check.neutral span {
    background: #e7f2ff;
    color: #075985;
}
.check {
    padding: 10px 12px;
}
.check span {
    min-width: 64px;
}
.scanner-results {
    max-width: 100%;
    overflow: hidden;
}
.scanner-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 13px;
    margin-bottom: 10px;
    border-radius: 15px;
    background: #fff;
    border: 1px solid #e2edf7;
}
.scanner-summary > div {
    display: flex;
    align-items: baseline;
    gap: 9px;
    min-width: 0;
}
.scanner-summary strong {
    font-size: 24px;
}
.scanner-summary small {
    text-align: right;
    max-width: 58%;
}
.scanner-actions {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    margin-bottom: 10px;
}
.micro-button {
    appearance: none;
    border: 1px solid #cfe1f1;
    border-radius: 12px;
    background: #fff;
    color: #075985;
    font-weight: 900;
    padding: 11px 12px;
    cursor: pointer;
}
.micro-button:hover {
    background: #eef7ff;
}
.micro-button--muted {
    color: #667085;
}
.scanner-add-button {
    width: auto;
    margin-top: 0;
}
.scanner-url-list {
    max-height: 310px;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 6px;
    border: 1px solid #e4edf6;
    border-radius: 15px;
    background: rgba(246, 250, 255, .92);
}
.scanner-warnings {
    margin-top: 10px;
    border: 1px solid #fed7aa;
    border-radius: 14px;
    background: #fff7ed;
    overflow: hidden;
}
.scanner-warnings summary {
    cursor: pointer;
    padding: 10px 12px;
    color: #9a3412;
    font-weight: 900;
}
.scanner-warnings > div {
    display: grid;
    gap: 6px;
    max-height: 140px;
    overflow: auto;
    padding: 0 10px 10px;
}
.scanner-warnings p {
    background: #fff;
}
.scanner-add-notice {
    margin-top: 10px;
}
@media (max-width: 760px) {
    .scanner-summary {
        display: grid;
        gap: 8px;
    }
    .scanner-summary small {
        text-align: left;
        max-width: none;
    }
    .scanner-actions {
        grid-template-columns: 1fr;
    }
    .scanner-add-button,
    .micro-button {
        width: 100%;
    }
    .scanner-url-list {
        max-height: 250px;
    }
}

/* v1.1.2 compact sitemap entry list: scanned URLs no longer render as full edit cards by default */
.sitemap-table {
    overflow: hidden;
}
.sitemap-entry-tools {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}
.micro-button--danger {
    border-color: #fecaca;
    background: #fff1f2;
    color: #be123c;
}
.micro-button--danger:hover {
    background: #ffe4e6;
}
.compact-entry-list {
    display: grid;
    gap: 10px;
    max-height: 520px;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 3px 4px 3px 0;
    scrollbar-width: thin;
}
.compact-sitemap-entry,
.sitemap-row.compact-sitemap-entry {
    display: block !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0 !important;
    border: 1px solid rgba(205, 222, 238, .95);
    border-radius: 16px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 10px 24px rgba(16, 32, 51, .05);
    overflow: hidden;
}
.entry-compact {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto 42px;
    gap: 10px;
    align-items: center;
    padding: 10px 11px;
    min-width: 0;
}
.entry-select-label {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    color: #667085;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.entry-select-label span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}
.entry-summary {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.entry-summary-url {
    display: block;
    min-width: 0;
    max-width: 100%;
    color: #14213d;
    font-size: 14px;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.entry-summary small {
    display: block;
    min-width: 0;
    color: #667085;
    font-size: 12px;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.entry-compact .edit-sitemap-row {
    min-width: 66px;
    padding: 10px 12px;
}
.entry-compact .icon-button {
    width: 40px;
    height: 40px;
    justify-self: end;
    align-self: center;
}
.entry-editor {
    display: none;
    grid-template-columns: minmax(0, 1fr) 92px 126px 148px 86px;
    grid-template-areas:
        "url url url url url"
        "title priority frequency lastmod action";
    gap: 10px;
    padding: 0 11px 11px;
    border-top: 1px solid rgba(226, 237, 247, .9);
    background: linear-gradient(180deg, rgba(248,251,255,.95), rgba(255,255,255,.98));
}
.sitemap-row.is-editing .entry-editor {
    display: grid;
}
.entry-editor .entry-field {
    gap: 6px;
}
.entry-editor .entry-field > span {
    font-size: 10px;
    letter-spacing: .035em;
}
.entry-editor .close-sitemap-editor {
    width: 100%;
    align-self: end;
    padding: 12px 10px;
}
#addSitemapRow {
    margin-top: 12px;
}
@media (max-width: 1180px) {
    .entry-editor {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 92px 126px 148px 76px;
        grid-template-areas:
            "url url url url url url"
            "title title priority frequency lastmod action";
    }
}
@media (max-width: 760px) {
    .sitemap-entry-tools {
        grid-template-columns: 1fr;
    }
    .compact-entry-list {
        max-height: 380px;
        padding-right: 0;
    }
    .entry-compact {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }
    .entry-compact .icon-button {
        grid-column: 3;
    }
    .entry-compact .edit-sitemap-row {
        grid-column: 1 / -1;
        width: 100%;
    }
    .entry-editor {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "url"
            "title"
            "priority"
            "frequency"
            "lastmod"
            "action";
    }
    .entry-editor .close-sitemap-editor {
        width: 100%;
    }
}

/* v1.1.2 final compact-row alignment override */
.entry-compact .edit-sitemap-row,
.entry-compact .remove-row {
    grid-area: auto !important;
    align-self: center !important;
}
.entry-compact .remove-row {
    grid-column: auto !important;
    width: 38px !important;
    height: 38px !important;
    justify-self: end !important;
}
.entry-compact {
    min-height: 56px;
}
@media (max-width: 760px) {
    .entry-compact .remove-row {
        grid-column: 3 !important;
    }
}

/* v1.1.3 public demo protection: visual layer only, generated output is also limited server-side */
.public-demo-mode .demo-banner {
    max-width: 1720px;
    margin: -72px auto 22px;
    padding: 14px 22px;
    border: 1px solid rgba(251, 146, 60, .55);
    border-radius: 18px;
    background: linear-gradient(90deg, rgba(255, 247, 237, .98), rgba(240, 253, 250, .96));
    box-shadow: 0 16px 38px rgba(15, 23, 42, .12);
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    color: #26415d;
    font-style: normal;
}
.public-demo-mode .demo-banner span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: #fed7aa;
    color: #9a3412;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
}
.public-demo-mode .demo-banner strong {
    color: #9a3412;
}
.public-demo-mode .demo-banner em {
    justify-self: end;
    font-style: normal;
    font-weight: 800;
}
.public-demo-mode .preview-card,
.public-demo-mode .scanner-card,
.public-demo-mode .sitemap-table {
    position: relative;
}
.public-demo-mode .preview-card::after {
    content: "Demo locked — output partially hidden";
    position: absolute;
    right: 22px;
    bottom: 18px;
    z-index: 4;
    padding: 8px 12px;
    border-radius: 999px;
    color: #075985;
    background: rgba(224, 242, 254, .92);
    border: 1px solid rgba(14, 165, 233, .28);
    box-shadow: 0 10px 28px rgba(3, 105, 161, .16);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .02em;
    pointer-events: none;
}
.public-demo-mode .preview-card pre {
    position: relative;
    max-height: 340px;
    overflow: auto;
}
.public-demo-mode .preview-card pre::after {
    content: "";
    position: sticky;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
    height: 72px;
    margin-top: -72px;
    background: linear-gradient(180deg, rgba(7, 25, 46, 0), rgba(7, 25, 46, .92));
    pointer-events: none;
}
.public-demo-mode .compact-entry-list .sitemap-row:nth-of-type(n+6) {
    filter: blur(2.5px);
    opacity: .72;
    user-select: none;
}
.public-demo-mode .compact-entry-list::after {
    content: "Demo locked: additional sitemap entries are visually masked in the public demo.";
    display: block;
    padding: 11px 14px;
    margin-top: 6px;
    border-radius: 14px;
    background: #fff7ed;
    color: #9a3412;
    font-size: 12px;
    font-weight: 900;
    border: 1px solid #fed7aa;
}
.public-demo-mode .scanner-url-row.is-demo-soft-mask {
    filter: blur(2px);
    opacity: .72;
}
.public-demo-mode .scanner-url-row--locked {
    background: linear-gradient(90deg, #fff7ed, #fef3c7) !important;
    border-color: #fed7aa !important;
    color: #9a3412;
    font-weight: 900;
}
.public-demo-mode .scanner-url-row--locked em {
    color: #9a3412;
}
@media (max-width: 900px) {
    .public-demo-mode .demo-banner {
        margin: -46px 14px 18px;
        grid-template-columns: auto 1fr;
    }
    .public-demo-mode .demo-banner em {
        grid-column: 1 / -1;
        justify-self: start;
    }
}
