.geo-security { --sec-primary: #00532a; --sec-muted: #758179; --sec-border: #e2e9e5; --sec-soft: #f5f8f6; --sec-danger: #b42318; }
.geo-security__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.geo-security__heading h2 { margin: 4px 0 6px; color: #1b2821; font-size: clamp(1.5rem, 2.4vw, 2rem); letter-spacing: -.035em; }
.geo-security__heading p, .geo-security__muted { color: var(--sec-muted); }
.geo-security__heading p { margin: 0; }
.geo-security__eyebrow { color: var(--sec-primary); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.geo-security__card { border: 1px solid var(--sec-border); border-radius: 18px; box-shadow: 0 12px 36px rgba(22, 48, 34, .055); }
.geo-security__card .card-body { padding: clamp(20px, 3vw, 30px); }
.geo-security__card h3 { color: #233129; font-size: 1.08rem; font-weight: 750; }
.geo-security__notice { border-radius: 13px; }

.geo-security__section-title { display: flex; align-items: flex-start; gap: 14px; }
.geo-security__section-title h3 { margin: 1px 0 5px; }
.geo-security__section-title p { margin: 0; color: var(--sec-muted); line-height: 1.55; }
.geo-security__icon { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 12px; font-weight: 850; }
.geo-security__icon--success { background: #e9f6ef; color: #06733d; }
.geo-security__icon--warning { background: #fff7dd; color: #9b6500; }

.geo-security__status-list { margin-top: 24px; border-top: 1px solid var(--sec-border); }
.geo-security__status-list > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--sec-border); }
.geo-security__status-list > div > span, .geo-security__status-panel > span { color: var(--sec-muted); font-size: .86rem; }
.geo-security__badge { display: inline-flex; align-items: center; min-height: 26px; padding: 4px 9px; border-radius: 999px; font-size: .72rem; font-weight: 800; }
.geo-security__badge--ok { background: #e9f6ef; color: #086a3a; }
.geo-security__badge--warning { background: #fff6d8; color: #8f6200; }
.geo-security__badge--danger { background: #fff0ef; color: #a7251b; }
.geo-security__badge--neutral { background: #eef1ef; color: #5e6a63; }
.geo-security__status-panel { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; padding: 15px 16px; border-radius: 13px; background: var(--sec-soft); }
.geo-security__callout { margin-top: 16px; padding: 14px 16px; border-left: 3px solid #d69e00; border-radius: 8px; background: #fffaf0; color: #6f5510; font-size: .87rem; line-height: 1.5; }
.geo-security__text-link { display: inline-block; margin-top: 18px; color: var(--sec-primary); font-weight: 700; text-decoration: none; }
.geo-security__text-link:hover { text-decoration: underline; }

.geo-security .form-control, .geo-security .form-select { min-height: 46px; border-color: #d9e2dd; border-radius: 10px; }
.geo-security textarea.form-control { min-height: 92px; }
.geo-security .form-control:focus, .geo-security .form-select:focus { border-color: var(--sec-primary); box-shadow: 0 0 0 .2rem rgba(0,83,42,.10); }
.geo-security__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.geo-security .btn-primary { border-color: var(--sec-primary); background: var(--sec-primary); }
.geo-security .btn-primary:hover { border-color: #003e20; background: #003e20; }
.geo-security__details { margin-top: 18px; padding: 14px 16px; border: 1px solid var(--sec-border); border-radius: 12px; background: #fbfcfb; }
.geo-security__details summary { cursor: pointer; color: #25342b; font-weight: 700; }

.geo-security__setup { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 24px; margin-top: 22px; }
.geo-security__qr-wrap { padding: 12px; border: 1px solid var(--sec-border); border-radius: 16px; background: #fff; }
.geo-security__qr-wrap img { display: block; width: 190px; max-width: 100%; height: auto; }
.geo-security__manual-key span, .geo-security__manual-key small { display: block; color: var(--sec-muted); }
.geo-security__manual-key code { display: block; max-width: 100%; margin: 8px 0; padding: 12px; overflow-wrap: anywhere; border-radius: 9px; background: #f0f4f2; color: #1d3628; font-size: .85rem; }

.geo-security__code-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin-top: 22px; }
.geo-security__code-grid code { padding: 12px; border: 1px solid var(--sec-border); border-radius: 10px; background: #f8faf9; color: #22342a; text-align: center; overflow-wrap: anywhere; }

.geo-security__timeline { margin-top: 16px; }
.geo-security__timeline article { position: relative; display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 12px; padding: 10px 0 16px; }
.geo-security__timeline article:not(:last-child)::before { content: ""; position: absolute; left: 6px; top: 25px; bottom: -1px; width: 1px; background: var(--sec-border); }
.geo-security__timeline-dot { width: 13px; height: 13px; margin-top: 3px; border: 3px solid #cde6d9; border-radius: 50%; background: var(--sec-primary); }
.geo-security__timeline-head { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; }
.geo-security__timeline-head time { color: var(--sec-muted); font-size: .75rem; }
.geo-security__timeline p { margin: 3px 0 0; color: var(--sec-muted); font-size: .84rem; }

@media (max-width: 767.98px) {
    .geo-security__heading { flex-direction: column; }
    .geo-security__back { width: 100%; }
    .geo-security__setup { grid-template-columns: 1fr; }
    .geo-security__qr-wrap { width: fit-content; margin: 0 auto; }
    .geo-security__code-grid { grid-template-columns: 1fr; }
    .geo-security__actions--stack-mobile { flex-direction: column; }
    .geo-security__actions--stack-mobile .btn { width: 100%; }
    .geo-security__timeline-head { flex-direction: column; gap: 2px; }
}
