* { box-sizing: border-box; }
body {
    margin: 0;
    min-height: 100vh;
    font-family: 'Segoe UI', system-ui, sans-serif;
    background: linear-gradient(180deg, #f3f7fb 0%, #eef4f9 100%);
    color: #1f2f44;
}
.shell { max-width: 860px; margin: 0 auto; padding: 28px 16px 40px; }
.card {
    background: #fff;
    border: 1px solid #e3ebf3;
    border-radius: 24px;
    padding: 24px;
    box-shadow: 0 12px 30px rgba(17, 34, 68, 0.06);
}
.hero {
    background: linear-gradient(135deg, #1e3c72, #4a6fa5);
    color: #fff;
    border-radius: 24px;
    padding: 24px;
    box-shadow: 0 16px 40px rgba(30, 60, 114, 0.18);
    margin-bottom: 18px;
}
.field {
    width: 100%;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid #dbe4ee;
    font: inherit;
}
.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 12px;
    padding: 12px 16px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    justify-content: center;
}
.btn-primary { background: #1e3c72; color: #fff; }
.btn-outline { background: transparent; border: 1.5px solid #c8d5e3; color: #1e3c72; }
.grid { display: grid; gap: 14px; }
.status {
    padding: 14px 16px;
    border-radius: 14px;
    background: #f8fbff;
    border: 1px solid #e3ebf3;
}
.muted { color: #6b7a90; }
.result {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}
.kv {
    display: grid;
    gap: 8px;
}
.kv div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 8px;
    border-bottom: 1px dashed #e3ebf3;
    flex-wrap: wrap;
}
.kv span { color: #6b7a90; }
.kv strong { color: #1e3c72; }
