:root {
    --ap-primary: #1598ff;
    --ap-primary-strong: #087ee4;
    --ap-primary-soft: #eaf6ff;
    --ap-cyan: #5ee7ff;
    --ap-navy: #061727;
    --ap-navy-2: #092438;
    --ap-text: #102033;
    --ap-muted: #687b8d;
    --ap-surface: #ffffff;
    --ap-bg: #f4f8fc;
    --ap-border: #dbe7f0;
    --ap-success: #12a66a;
    --ap-danger: #d64343;
    --ap-warning: #b67805;
    --ap-radius: 18px;
    --ap-radius-sm: 12px;
    --ap-shadow: 0 24px 70px rgba(6, 23, 39, .12);
    --ap-container: 1180px;
    --ap-header-h: 72px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    min-width: 320px;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ap-text);
    background: var(--ap-bg);
    line-height: 1.55;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
.ap-container {
    width: min(calc(100% - 32px), var(--ap-container));
    margin-inline: auto;
}
.ap-main { min-height: 60vh; }

.ap-alert {
    border: 1px solid;
    border-radius: 12px;
    padding: 12px 14px;
    font-size: .9rem;
}
.ap-alert + .ap-alert { margin-top: 10px; }
.ap-alert--success { color: #076940; background: #ecfff6; border-color: #b8efd5; }
.ap-alert--danger { color: #9c2929; background: #fff1f1; border-color: #ffcaca; }
.ap-alert--warning { color: #805600; background: #fff9e8; border-color: #f2dfa4; }

.ap-sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}
