:root {
    --amp-font-sans: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    --amp-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

    --amp-color-background: #f4f6ff;
    --amp-color-background-alt: #edf1ff;
    --amp-color-surface: #ffffff;
    --amp-color-surface-soft: #f7f8ff;

    --amp-color-border: #d6dcf2;
    --amp-color-border-strong: #b4bde4;
    --amp-color-shadow: rgba(24, 34, 72, 0.08);

    --amp-color-text: #1e2640;
    --amp-color-text-muted: #4d5875;
    --amp-color-heading: #121a33;

    --amp-color-primary: #4a6cff;
    --amp-color-primary-dark: #3956da;
    --amp-color-primary-soft: #e6ecff;

    --amp-color-secondary: #ecf0ff;
    --amp-color-secondary-hover: #dee6ff;

    --amp-color-success: #2a9d5c;
    --amp-color-success-soft: #e6f5ec;
    --amp-color-warning: #f1c40f;
    --amp-color-warning-soft: #fff7da;
    --amp-color-issue: #f39c12;
    --amp-color-issue-soft: #fff3e0;
    --amp-color-danger: #e74c3c;
    --amp-color-danger-soft: #fdecea;
    --amp-color-info: #3c6ae8;
    --amp-color-info-soft: #ecf0ff;

    --amp-radius-large: 16px;
    --amp-radius-medium: 12px;
    --amp-radius-small: 8px;

    --amp-shadow-soft: 0 16px 40px rgba(24, 34, 72, 0.08);
    --amp-shadow-medium: 0 12px 32px rgba(24, 34, 72, 0.1);
    --amp-shadow-small: 0 6px 18px rgba(24, 34, 72, 0.08);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
}

body {
    margin: 0;
    background-color: var(--amp-color-background);
    font-family: var(--amp-font-sans);
    color: var(--amp-color-text);
    line-height: 1.55;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--amp-color-heading);
    font-weight: 600;
    line-height: 1.25;
    margin: 0 0 0.35rem;
}

p {
    margin: 0 0 1rem;
}

ul,
ol {
    margin: 0 0 1rem 1.25rem;
    padding: 0;
}

code,
pre {
    font-family: var(--amp-font-mono);
}

a {
    color: var(--amp-color-primary);
    text-decoration: none;
    font-weight: 600;
}

a:hover,
a:focus-visible {
    text-decoration: underline;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

section {
    margin: 2rem auto;
    width: min(92%, 1100px);
    padding: 1.5rem;
    border-radius: var(--amp-radius-large);
    background-color: var(--amp-color-surface);
    box-shadow: var(--amp-shadow-soft);
    text-align: left;
}

.amp-page {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.75rem;
    padding: 2.25rem 0 2.75rem;
}

.amp-page__container {
    width: min(92%, 1100px);
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.amp-page__title {
    font-size: clamp(1.85rem, 2.7vw, 2.6rem);
    text-align: center;
    letter-spacing: -0.01em;
}

.amp-page__subtitle {
    margin-top: -0.4rem;
    color: var(--amp-color-text-muted);
    text-align: center;
}

.amp-stack {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.amp-grid {
    display: grid;
    gap: 1.25rem;
}

.amp-grid--responsive {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.amp-card {
    background: var(--amp-color-surface);
    border-radius: var(--amp-radius-large);
    box-shadow: var(--amp-shadow-medium);
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.amp-card--soft {
    background: var(--amp-color-surface-soft);
}

.amp-card--muted {
    background: var(--amp-color-background-alt);
}

.amp-card--status {
    padding: 1.25rem 1.5rem;
    gap: 0.75rem;
}

.amp-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.amp-card__title {
    margin: 0;
    font-size: 1.1rem;
}

input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"],
select,
textarea {
    width: 100%;
    padding: 0.6rem 0.85rem;
    border-radius: var(--amp-radius-small);
    border: 1px solid var(--amp-color-border);
    font-size: 0.95rem;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: var(--amp-color-primary);
    box-shadow: 0 0 0 3px rgba(74, 108, 255, 0.2);
}

textarea {
    resize: vertical;
}

.amp-button,
.primary-action,
.secondary-action,
.critical-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    border: none;
    border-radius: var(--amp-radius-small);
    padding: 0.6rem 1.25rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.amp-button--primary,
.primary-action {
    background: var(--amp-color-primary);
    color: #fff;
    box-shadow: 0 12px 28px rgba(74, 108, 255, 0.3);
}

.amp-button--primary:hover,
.amp-button--primary:focus-visible,
.primary-action:hover,
.primary-action:focus-visible {
    background: var(--amp-color-primary-dark);
    box-shadow: 0 14px 32px rgba(74, 108, 255, 0.35);
    transform: translateY(-1px);
}

.amp-button--secondary,
.secondary-action {
    background: var(--amp-color-secondary);
    color: var(--amp-color-text);
    box-shadow: var(--amp-shadow-small);
}

.amp-button--secondary:hover,
.amp-button--secondary:focus-visible,
.secondary-action:hover,
.secondary-action:focus-visible {
    background: var(--amp-color-secondary-hover);
    color: var(--amp-color-heading);
    box-shadow: var(--amp-shadow-medium);
    transform: translateY(-1px);
}

.amp-button--danger,
.critical-action {
    background: var(--amp-color-danger-soft);
    color: var(--amp-color-danger);
    border: 1px solid rgba(231, 76, 60, 0.3);
    box-shadow: 0 10px 18px rgba(231, 76, 60, 0.14);
}

.amp-button--danger:hover,
.amp-button--danger:focus-visible,
.critical-action:hover,
.critical-action:focus-visible {
    background: var(--amp-color-danger);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(231, 76, 60, 0.28);
}

.primary-action.critical-action {
    background: var(--amp-color-danger);
    color: #fff;
    box-shadow: 0 16px 28px rgba(231, 76, 60, 0.28);
}

.primary-action.critical-action:hover,
.primary-action.critical-action:focus-visible {
    background: #c0392b;
}

.amp-button:disabled,
.primary-action:disabled,
.secondary-action:disabled,
.critical-action:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

.amp-status-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.amp-status-chip--ok {
    background: var(--amp-color-success-soft);
    border-color: rgba(42, 157, 92, 0.35);
    color: var(--amp-color-success);
}

.amp-status-chip--warn {
    background: var(--amp-color-warning-soft);
    border-color: rgba(241, 196, 15, 0.35);
    color: var(--amp-color-warning);
}

.amp-status-chip--issue {
    background: var(--amp-color-issue-soft);
    border-color: rgba(243, 156, 18, 0.35);
    color: var(--amp-color-issue);
}

.amp-status-chip--critical {
    background: var(--amp-color-danger-soft);
    border-color: rgba(231, 76, 60, 0.4);
    color: var(--amp-color-danger);
}

.amp-status-chip--info {
    background: var(--amp-color-info-soft);
    border-color: rgba(60, 106, 232, 0.4);
    color: var(--amp-color-info);
}

.amp-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.amp-badge--info {
    background: var(--amp-color-info-soft);
    border-color: rgba(60, 106, 232, 0.3);
    color: var(--amp-color-info);
}

.amp-badge--muted {
    background: var(--amp-color-secondary);
    border-color: rgba(77, 88, 117, 0.2);
    color: var(--amp-color-text-muted);
}

.amp-empty-state {
    text-align: center;
    color: var(--amp-color-text-muted);
    padding: 1.25rem 0;
}

.amp-navbar,
.navbar {
    width: 100%;
    min-height: 64px;
    background: var(--amp-color-surface);
    position: sticky;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 0.9rem min(6vw, 42px);
    box-shadow: var(--amp-shadow-soft);
    z-index: 20;
}

.amp-navbar__link,
.navbar > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.65rem 1.1rem;
    border-radius: var(--amp-radius-medium);
    background: var(--amp-color-secondary);
    color: var(--amp-color-text);
    box-shadow: var(--amp-shadow-small);
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.amp-navbar__link:hover,
.amp-navbar__link:focus-visible,
.navbar > a:hover,
.navbar > a:focus-visible {
    background: var(--amp-color-secondary-hover);
    color: var(--amp-color-heading);
    transform: translateY(-1px);
    box-shadow: var(--amp-shadow-medium);
}

.amp-navbar__link--current,
.navbar > .current-page {
    background: var(--amp-color-primary);
    color: #fff;
    box-shadow: 0 14px 32px rgba(74, 108, 255, 0.3);
}

.amp-navbar__group,
.navbar-dropdown {
    position: relative;
    display: flex;
    align-items: center;
}

.amp-navbar__summary,
.navbar-dropdown > summary {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 1.1rem;
    border-radius: var(--amp-radius-medium);
    background: var(--amp-color-secondary);
    color: var(--amp-color-text);
    cursor: pointer;
    list-style: none;
    user-select: none;
    box-shadow: var(--amp-shadow-small);
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.amp-navbar__summary::marker,
.amp-navbar__summary::-webkit-details-marker,
.navbar-dropdown > summary::marker,
.navbar-dropdown > summary::-webkit-details-marker {
    display: none;
}

.amp-navbar__summary::after,
.navbar-dropdown > summary::after {
    content: "\25BE";
    font-size: 0.8rem;
}

.amp-navbar__summary:hover,
.amp-navbar__group[open] > .amp-navbar__summary,
.navbar-dropdown > summary:hover,
.navbar-dropdown[open] > summary {
    background: var(--amp-color-secondary-hover);
    color: var(--amp-color-heading);
    transform: translateY(-1px);
    box-shadow: var(--amp-shadow-medium);
}

.amp-navbar__dropdown,
.navbar-dropdown-links {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: var(--amp-color-surface);
    border-radius: var(--amp-radius-medium);
    box-shadow: 0 22px 40px rgba(24, 34, 72, 0.18);
    min-width: 240px;
    padding: 10px;
    z-index: 25;
}

.amp-navbar__dropdown-link,
.navbar-dropdown-links a {
    display: flex;
    align-items: center;
    padding: 0.55rem 0.85rem;
    border-radius: var(--amp-radius-small);
    color: var(--amp-color-text);
    background: transparent;
    font-weight: 600;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.amp-navbar__dropdown-link:hover,
.amp-navbar__dropdown-link:focus-visible,
.navbar-dropdown-links a:hover,
.navbar-dropdown-links a:focus-visible {
    background: var(--amp-color-secondary);
    color: var(--amp-color-heading);
}

.amp-navbar__dropdown-link--current,
.navbar-dropdown-links .current-page {
    background: var(--amp-color-primary-soft);
    color: var(--amp-color-primary);
}

.amp-status-page {
    align-items: center;
    text-align: left;
    gap: 1.75rem;
}

.amp-status-page__banner {
    width: min(92%, 1100px);
    margin: 0 auto;
    padding: 1rem 1.25rem;
    border-radius: var(--amp-radius-medium);
    background: var(--amp-color-surface);
    box-shadow: var(--amp-shadow-small);
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.amp-status-page__grid {
    width: min(92%, 1100px);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.25rem;
    margin: 0 auto;
}

.amp-status-card {
    position: relative;
    border-top: 4px solid transparent;
}

.amp-status-card--ok {
    border-top-color: rgba(42, 157, 92, 0.65);
}

.amp-status-card--warn {
    border-top-color: rgba(241, 196, 15, 0.65);
}

.amp-status-card--issue {
    border-top-color: rgba(243, 156, 18, 0.65);
}

.amp-status-card--critical {
    border-top-color: rgba(231, 76, 60, 0.65);
}

.amp-status-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.amp-status-card__metrics {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 0.85rem;
    row-gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.95rem;
}

.amp-status-card__metric-label {
    color: var(--amp-color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.75rem;
    font-weight: 600;
}

.amp-status-card__metric-value {
    font-weight: 600;
    color: var(--amp-color-heading);
}

.amp-status-card__notices {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.amp-status-card__notice {
    font-size: 0.9rem;
    color: var(--amp-color-text-muted);
}

.amp-status-card__notice--highlight {
    color: var(--amp-color-issue);
    font-weight: 600;
}

.amp-status-page--perfect .amp-status-page__banner {
    background: linear-gradient(135deg, rgba(42, 157, 92, 0.16), rgba(74, 108, 255, 0.1));
}

.amp-status-page--light-issues .amp-status-page__banner {
    background: linear-gradient(135deg, rgba(241, 196, 15, 0.18), rgba(74, 108, 255, 0.07));
}

.amp-status-page--partial .amp-status-page__banner {
    background: linear-gradient(135deg, rgba(243, 156, 18, 0.2), rgba(74, 108, 255, 0.08));
}

.amp-status-page--full .amp-status-page__banner {
    background: linear-gradient(135deg, rgba(231, 76, 60, 0.22), rgba(74, 108, 255, 0.1));
}

@media (max-width: 1024px) {
    .amp-navbar,
    .navbar {
        flex-wrap: wrap;
        justify-content: center;
    }

    .amp-navbar__link,
    .navbar > a,
    .amp-navbar__group,
    .navbar-dropdown {
        flex: 1 1 calc(50% - 0.75rem);
        max-width: 320px;
    }

    .amp-navbar__dropdown,
    .navbar-dropdown-links {
        min-width: 220px;
    }
}

@media (max-width: 640px) {
    body {
        text-align: left;
    }

    .amp-navbar,
    .navbar {
        flex-direction: column;
        align-items: stretch;
        gap: 0.6rem;
        padding: 0.9rem 1rem;
    }

    .amp-navbar__link,
    .navbar > a,
    .amp-navbar__group,
    .navbar-dropdown {
        width: 100%;
        max-width: none;
    }

    .amp-navbar__summary,
    .navbar-dropdown > summary {
        justify-content: space-between;
    }

    .amp-navbar__dropdown,
    .navbar-dropdown-links {
        position: static;
        box-shadow: var(--amp-shadow-small);
        border: 1px solid var(--amp-color-border);
        margin-top: 0.5rem;
    }

    section {
        width: min(100%, 640px);
        padding: 1.25rem;
    }
}
