

#sa-app{
    --bg:#f5f7fb;
    --panel:#ffffff;
    --panel-soft:#f8fafc;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --line-2:#cbd5e1;
    --accent:#0f172a;
    --accent-2:#2563eb;
    --success:#16a34a;
    --warning:#d97706;
    --danger:#dc2626;
    --info:#0284c7;
    --shadow:0 16px 40px rgba(15,23,42,.06);
    --shadow-soft:0 8px 22px rgba(15,23,42,.05);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--text);
    background:linear-gradient(180deg,#f8fafc 0%,#f5f7fb 100%);
    padding:20px 0 48px;
}
#sa-app *{box-sizing:border-box}

.sa-shell{max-width:1120px;margin:0 auto;padding:0 16px}

.sa-topbar,.sa-progress-wrap,.sa-stage-wrap,.sa-modal-card{
    background:var(--panel);
    border:1px solid rgba(226,232,240,.96);
    border-radius:24px;
    box-shadow:var(--shadow);
}

.sa-route-meta-line,
.sa-course-meta-line {
    margin-top: 6px;
    font-size: 13px;
    color: #5b6475;
}

.sa-topbar{
    padding:20px 22px;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    margin-bottom:14px;
}

.sa-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#1d4ed8;
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    margin-bottom:12px;
}

.sa-title{
    margin:0 0 8px;
    font-size:30px;
    line-height:1.05;
    letter-spacing:-.03em;
}

.sa-sub{
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.65;
    max-width:700px;
}

.sa-settings-trigger{
    appearance:none;
    width:48px;height:48px;
    border-radius:16px;
    border:1px solid var(--line-2);
    background:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:var(--shadow-soft);
}
.sa-settings-trigger:hover{background:#f8fafc}
.sa-settings-trigger svg{width:20px;height:20px;stroke:currentColor}

.sa-progress-wrap{
    padding:14px;
    margin-bottom:14px;
}

.sa-progress-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:10px;
}

.sa-progress-label{
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--muted);
}

.sa-progress-current{
    font-size:13px;
    color:var(--muted);
    font-weight:700;
}

.sa-progressbar{
    width:100%;
    height:8px;
    background:#edf2f7;
    border-radius:999px;
    overflow:hidden;
    margin-bottom:12px;
}

.sa-progressbar-fill{
    width:20%;
    height:100%;
    background:linear-gradient(90deg,#111827 0%,#2563eb 100%);
    transition:width .25s ease;
}

.sa-step-row{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
}

.sa-step-chip{
    min-width:0;
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    border-radius:16px;
    background:#fff;
    border:1px solid var(--line);
    color:var(--muted);
    font-size:13px;
    font-weight:800;
}

.sa-step-chip span:last-child{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.sa-step-chip.active{
    background:#111827;
    border-color:#111827;
    color:#fff;
}

.sa-step-chip.done{
    background:#ecfdf3;
    border-color:#bbf7d0;
    color:#15803d;
}
.sa-route-apply-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
    gap: 10px;
}

.sa-route-apply-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sa-next-move-route {
    padding: 0 0 14px 0;
    border-bottom: 1px solid #e5e7eb;
}

.sa-next-move-route:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.sa-next-move-route-title {
    font-size: 15px;
    line-height: 1.5;
    color: #111827;
}

.sa-next-move-route-course {
    margin-top: 4px;
    font-size: 15px;
    line-height: 1.5;
    color: #374151;
}

.sa-next-move-route-action {
    margin-top: 10px;
}

.sa-next-move-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 10px;
    background: #2563eb;
    color: #ffffff;
    text-decoration: none;
    border: none;
    font-size: 14px;
    font-weight: 600;
}

.sa-next-move-btn.is-disabled {
    background: #cbd5e1;
    color: #475569;
    cursor: not-allowed;
}

.sa-next-move-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 10px;
    background: #2563eb;
    color: #ffffff !important;
    text-decoration: none !important;
    border: none;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}

.sa-next-move-btn:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

.sa-next-move-btn.is-disabled {
    background: #cbd5e1;
    color: #475569 !important;
    cursor: not-allowed;
    pointer-events: none;
}


.sa-stage-wrap{padding:24px}
.sa-stage-inner{max-width:940px;margin:0 auto}

.sa-stage-meta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:12px;
}

.sa-stage-tag{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#1d4ed8;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.sa-stage-count{
    font-size:13px;
    color:var(--muted);
    font-weight:700;
}

.sa-stage-title{
    margin:0 0 8px;
    font-size:28px;
    line-height:1.08;
    letter-spacing:-.03em;
}

.sa-stage-copy{
    margin:0 0 18px;
    color:var(--muted);
    font-size:15px;
    line-height:1.7;
    max-width:760px;
}

.sa-note{
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:14px;
    border:1px solid #dbeafe;
    background:#f8fbff;
    color:#1d4ed8;
    border-radius:18px;
    font-size:13px;
    line-height:1.55;
    margin-bottom:18px;
}

.sa-toolbar{
    max-width:940px;
    margin:0 auto 10px;
    display:flex;
    justify-content:flex-end;
}

.sa-edit-btn{
    appearance:none;
    border:1px solid var(--line-2);
    background:#fff;
    color:var(--text);
    padding:10px 12px;
    border-radius:12px;
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}

.hidden {
    display: none !important;
}
	
							   
.sa-form{
    max-width:760px;
    margin:0 auto 18px;
}
.sa-form.hidden{display:none}

.sa-section{
    background:var(--panel-soft);
    border:1px solid #edf2f7;
    border-radius:20px;
    padding:18px;
    margin-bottom:14px;
}

.sa-section-title{
    margin:0 0 12px;
    font-size:14px;
    color:#334155;
    font-weight:800;
    letter-spacing:-.01em;
}

.sa-grid-2,.sa-grid-3{
    display:grid;
    gap:12px;
}
.sa-grid-2{grid-template-columns:1fr 1fr}
.sa-grid-3{grid-template-columns:1fr 1fr 1fr}

.sa-field{margin-bottom:10px}
.sa-field label{
    display:block;
    margin-bottom:7px;
    font-size:13px;
    font-weight:700;
    color:#334155;
}

.sa-input,.sa-select,.sa-textarea{
    width:100%;
    border:1px solid #dbe3ee;
    background:#fff;
    border-radius:14px;
    padding:13px 14px;
    color:var(--text);
    font-size:14px;
    outline:none;
    transition:border-color .15s ease,box-shadow .15s ease;
}

.sa-input:focus,.sa-select:focus,.sa-textarea:focus{
    border-color:#93c5fd;
    box-shadow:0 0 0 4px rgba(59,130,246,.12);
}

.sa-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:6px;
}

.sa-btn,.sa-btn-secondary,.sa-nav-btn,.sa-unlock-btn{
    appearance:none;
    border:none;
    cursor:pointer;
    font:inherit;
    transition:all .18s ease;
}

.sa-btn,.sa-unlock-btn{
    background:#111827;
    color:#fff;
    padding:13px 16px;
    border-radius:14px;
    font-weight:700;
    box-shadow:0 8px 18px rgba(15,23,42,.16);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

							   .sa-chat-submit-btn {
    border: none;
    border-radius: 4px;
    padding: 14px 20px;
    min-width: 230px;
    background: linear-gradient(180deg,#2f80ed 0%,#1565d8 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(21,101,216,0.20);
}

.sa-chat-back-btn {
    border: 1px solid #d7dee7;
    border-radius: 4px;
    padding: 13px 18px;
    background: #fff;
    color: #233a5b;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}
								
	.sa-blueprint-detail-highlight {
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid #e7edf3;
    font-size:14px;
    color:#243b5a;
}

.sa-blueprint-detail-highlight strong {
    color:#183153;
}

.sa-blueprint-detail-cta {
    margin-top:16px;
    padding:16px;
    border:1px solid #dbeafe;
    background:#f8fbff;
    border-radius:10px;
}

.sa-blueprint-detail-cta-copy {
    font-size:14px;
    line-height:1.5;
    color:#1d4ed8;
    margin-bottom:12px;
}
							

.sa-btn:hover,.sa-unlock-btn:hover{transform:translateY(-1px)}

.sa-btn-secondary,.sa-nav-btn.secondary{
    background:#fff;
    color:var(--text);
    border:1px solid var(--line-2);
    padding:13px 16px;
    border-radius:14px;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.sa-view{
    max-width:940px;
    margin:0 auto;
}

.sa-modal {
    display: none;
}

.sa-modal.open {
    display: flex;
}

.sa-stack{display:grid;gap:12px}

.sa-country-card{
    background:#fff;
    border:1px solid #e8eef6;
    border-radius:22px;
    box-shadow:var(--shadow-soft);
    overflow:hidden;
    background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}

.sa-country-top{
    display:grid;
    grid-template-columns:300px 1fr;
    gap:0;
}

.sa-country-top img{
    width:100%;
    height:100%;
    min-height:220px;
    object-fit:cover;
    display:block;
}

.sa-country-copy{padding:22px}
.sa-country-copy h4{
    margin:0 0 8px;
    font-size:24px;
    letter-spacing:-.03em;
}
.sa-country-copy p{
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.7;
}

.sa-list{
    margin:0;
    padding-left:18px;
    color:#334155;
    font-size:14px;
    line-height:1.75;
}

.sa-nav{
    max-width:940px;
    margin:18px auto 0;
    display:flex;
    justify-content:space-between;
    gap:12px;
}

.sa-nav-btn{
    min-width:150px;
    padding:12px 16px;
    border-radius:14px;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.sa-nav-btn.primary{
    background:#111827;
    color:#fff;
}

.sa-nav-btn[disabled]{
    opacity:.45;
    cursor:not-allowed;
}

.sa-modal{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.45);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:9999;
    padding:18px;
}
.sa-modal.open{display:flex}

.sa-modal-card{
    width:100%;
    max-width:460px;
    padding:22px;
    position:relative;
}

.sa-close{
    position:absolute;
    top:16px;
    right:16px;
    width:36px;height:36px;
    border-radius:999px;
    border:1px solid #e2e8f0;
    background:#f8fafc;
    cursor:pointer;
    font-weight:700;
}

.sa-modal-title{
    margin:0 0 6px;
    font-size:24px;
    letter-spacing:-.03em;
}

.sa-modal-copy{
    margin:0 0 18px;
    color:var(--muted);
    font-size:14px;
    line-height:1.6;
}

.sa-modal-block{
    border:1px solid #e2e8f0;
    border-radius:16px;
    padding:16px;
    background:#fbfdff;
    margin-bottom:12px;
}

.sa-modal-block h6{
    margin:0 0 6px;
    font-size:13px;
    color:var(--muted);
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.sa-balance{
    margin:0;
    font-size:30px;
    letter-spacing:-.04em;
    font-weight:800;
}

.sa-doc-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 4px;
}

.sa-doc-summary-item {
    border: 1px solid #dfe5ec;
    border-radius: 10px;
    background: #fff;
    padding: 16px;
    text-align: center;
}

.sa-doc-summary-item span {
    display: block;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #2563eb;
    margin-bottom: 8px;
}

.sa-doc-summary-item strong {
    font-size: 24px;
    color: #183153;
    line-height: 1;
}

.sa-doc-summary-passport {
    margin-top: 14px;
    border: 1px solid #dfe5ec;
    border-radius: 10px;
    background: #fff;
    padding: 16px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 14px;
    color: #243b5a;
}

.sa-blueprint-primary-btn.is-disabled,
.sa-blueprint-secondary-btn.is-disabled,
.sa-blueprint-mini-btn.is-disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.sa-doc-summary-passport strong {
    color: #183153;
}

@media (max-width: 980px) {
    .sa-doc-summary-grid {
        grid-template-columns: 1fr;
    }
}

.sa-budget-fit-notice {
    margin-bottom: 16px;
    padding: 12px 14px;
    border: 1px solid #dbe7ff;
    border-radius: 12px;
    background: #f7faff;
    color: #1e3a5f;
    font-size: 14px;
    line-height: 1.5;
}
							   
							   
/* CHAT FORM */
.sa-chat-thread {
    display:flex;
    flex-direction:column;
    gap:12px;
}

.sa-chat-row {
    display:flex;
}

.sa-chat-row.bot {
    justify-content:flex-start;
}

.sa-chat-row.user {
    justify-content:flex-end;
}

.sa-chat-bubble {
    max-width: 85%;
    padding: 12px 14px;
    border-radius: 16px;
    font-size: 15px;
    line-height: 1.55;
    font-weight: 600;
}

.sa-chat-bubble.bot {
    background: #f3f6fb;
    color: #14213d;
    font-weight: 600;
}

.sa-chat-bubble.user {
    background: #14213d;
    color: #fff;
    font-weight: 600;
}


.sa-chat-controls,
.sa-chat-input-wrap {
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:8px;
}

.sa-chip-group {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.sa-chip {
    border: 1px solid #d7deea;
    background: #fff;
    border-radius: 999px;
    padding: 10px 14px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
}


.sa-chip:hover {
    background:#f7f9fc;
}
							   
.sa-doc-status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 4px;
}

.sa-doc-status-group,
.sa-doc-status-passport {
    border: 1px solid #dfe5ec;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

.sa-doc-status-group-title {
    padding: 12px 14px;
    border-bottom: 1px solid #e7edf3;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #2563eb;
    background: #f8fbff;
}

.sa-doc-status-group-body {
    padding: 0 14px;
}

.sa-doc-status-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #eef2f7;
    font-size: 14px;
    color: #243b5a;
}

.sa-doc-status-row:last-child {
    border-bottom: none;
}

.sa-doc-status-row strong {
    color: #183153;
}

.sa-doc-status-passport {
    margin-top: 14px;
}

@media (max-width: 980px) {
    .sa-doc-status-grid {
        grid-template-columns: 1fr;
    }
}

.sa-field-helper {
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.5;
    color: #64748b;
}
							   

/* BLUEPRINT REFERENCE LAYOUT */
.sa-blueprint-reference-layout {
    display:flex;
    flex-direction:column;
    gap:18px;
    padding-top:6px;
}

.sa-blueprint-summary-row {
    display:flex;
    align-items:center;
    gap:14px;
}

.sa-blueprint-summary-avatar {
    width:54px;
    height:54px;
    min-width:54px;
    border-radius:999px;
    background:linear-gradient(180deg,#dfeeff 0%,#cde0ff 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    box-shadow:0 8px 18px rgba(37,99,235,0.10);
}

.sa-blueprint-summary-bubble {
    flex:1;
    background:#fff;
    border:1px solid #dfe5ec;
    border-radius:18px;
    padding:18px 22px;
    font-size:18px;
    font-weight:500;
    color:#3b4a63;
    line-height:1.4;
    box-shadow:0 4px 14px rgba(15,23,42,0.04);
}

.sa-blueprint-card-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.sa-blueprint-card,
.sa-blueprint-wide-card {
    background:#fff;
    border:1px solid #dfe5ec;
    border-radius:6px;
    box-shadow:0 2px 8px rgba(15,23,42,0.03);
}

.sa-blueprint-card-inner {
    padding:24px 20px 20px;
}

.sa-blueprint-card-head {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
    padding-bottom:14px;
    border-bottom:1px solid #e7edf3;
}

.sa-blueprint-card-icon {
    width:38px;
    height:38px;
    min-width:38px;
    border-radius:6px;
    background:linear-gradient(180deg,#eaf3ff 0%,#dbeafe 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
}

.sa-blueprint-card-title {
    font-size:20px;
    line-height:1.2;
    font-weight:700;
    color:#183153;
}

.sa-blueprint-card-line {
    padding:12px 0;
    border-bottom:1px solid #e7edf3;
    color:#243b5a;
    font-size:14px;
    line-height:1.5;
}

.sa-blueprint-card-line strong {
    font-weight:700;
    color:#183153;
}

.sa-blueprint-bullets {
    margin:0;
    padding:12px 0 12px 22px;
    border-bottom:1px solid #e7edf3;
    color:#243b5a;
}

.sa-blueprint-bullets li {
    margin:0 0 10px;
    font-size:14px;
    line-height:1.45;
}

.sa-blueprint-bullets li:last-child {
    margin-bottom:0;
}

.sa-blueprint-card-actions {
    display:flex;
    justify-content:center;
    padding-top:20px;
}

.sa-blueprint-mini-btn {
    min-width:176px;
    border:none;
    border-radius:4px;
    padding:12px 18px;
    background:linear-gradient(180deg,#2f80ed 0%,#1565d8 100%);
    color:#fff;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(21,101,216,0.18);
}

a.sa-blueprint-mini-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}


.sa-blueprint-good {
    color:#198f78;
    font-weight:700;
}

.sa-blueprint-wide-card {
    width:min(100%,960px);
    margin:0 auto;
}

.sa-blueprint-plan-bar {
    width:min(100%,980px);
    margin:0 auto;
    border-radius:4px;
    overflow:hidden;
    background:linear-gradient(180deg,#2f80ed 0%,#1565d8 100%);
    color:#fff;
    box-shadow:0 10px 24px rgba(21,101,216,0.22);
}

.sa-blueprint-plan-head {
    padding:16px 22px 12px;
    border-bottom:1px solid rgba(255,255,255,0.24);
}

.sa-blueprint-plan-title {
    font-size:22px;
    font-weight:700;
    line-height:1.2;
}

.sa-blueprint-plan-list {
    padding:8px 22px 6px;
}

.sa-blueprint-plan-row {
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:10px 0;
    border-bottom:1px solid rgba(255,255,255,0.24);
    font-size:14px;
    line-height:1.45;
}

.sa-blueprint-plan-row:last-child {
    border-bottom:none;
}

.sa-blueprint-plan-dot {
    font-weight:700;
    margin-top:1px;
}

.sa-blueprint-plan-actions {
    display:flex;
    justify-content:flex-end;
    padding:0 22px 16px;
}

.sa-blueprint-plan-btn {
    border:none;
    border-radius:4px;
    padding:12px 18px;
    min-width:170px;
    background:rgba(0,0,0,0.14);
    color:#fff;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
}

.sa-blueprint-bottom-actions {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding-top:4px;
}

.sa-blueprint-secondary-btn {
    border:1px solid #d7dee7;
    border-radius:4px;
    padding:13px 18px;
    background:#fff;
    color:#233a5b;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
}

.sa-blueprint-primary-btn {
    border:none;
    border-radius:4px;
    padding:14px 20px;
    min-width:230px;
    background:linear-gradient(180deg,#2f80ed 0%,#1565d8 100%);
    color:#fff;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 10px 20px rgba(21,101,216,0.20);
}

.sa-redacted {
    filter:blur(4px);
    user-select:none;
    pointer-events:none;
}
							   
.sa-blueprint-detail-modal {
  max-width: 980px;
  max-height: 88vh;
  overflow: auto;
  padding-top: 56px;
}

@media (max-width: 768px) {
  .sa-modal {
    align-items: flex-start;
    padding: 12px;
  }

  .sa-blueprint-detail-modal {
    max-height: 92vh;
    margin-top: 8px;
    padding: 56px 16px 18px;
    border-radius: 18px;
  }

  .sa-close {
    top: 12px;
    right: 12px;
    z-index: 3;
    background: #fff;
  }
}

.sa-premium-modal-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    margin-bottom:18px;
    padding-bottom:14px;
    border-bottom:1px solid #e8edf4;
}

.sa-premium-modal-badges{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.sa-premium-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    background:#eef4ff;
    color:#3157c8;
    font-size:12px;
    font-weight:700;
}

.sa-premium-modal-body{
    display:block;
}

.sa-premium-route-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:18px;
}

.sa-premium-route-card{
    background:#fff;
    border:1px solid #e6ebf2;
    border-radius:22px;
    padding:18px;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
}

.sa-premium-route-top{
    margin-bottom:14px;
}

.sa-premium-route-tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    margin-bottom:12px;
}

.sa-premium-route-tag.best{
    background:#eef6ff;
    color:#2457d6;
}

.sa-premium-route-tag.backup{
    background:#f3f4f6;
    color:#475569;
}

.sa-premium-route-tag.stretch{
    background:#fef3c7;
    color:#92400e;
}

.sa-premium-route-country{
    margin:0 0 4px;
    font-size:28px;
    line-height:1.08;
    letter-spacing:-.03em;
    color:#0f172a;
}

.sa-premium-route-sub{
    color:#7b8798;
    font-size:15px;
    line-height:1.5;
    margin-bottom:10px;
}

.sa-premium-route-course{
    color:#111827;
    font-size:15px;
    font-weight:700;
    line-height:1.5;
    margin-bottom:12px;
}

.sa-premium-chip-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.sa-premium-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    background:#f1f5f9;
    color:#334155;
    font-size:12px;
    font-weight:700;
}

.sa-premium-chip.warning{
    background:#fff7ed;
    color:#b45309;
}

.sa-premium-section{
    background:#f8fafc;
    border:1px solid #edf2f7;
    border-radius:16px;
    padding:14px;
    margin-top:14px;
}

.sa-premium-section.warning{
    background:#fffaf0;
    border-color:#fde7c7;
}

.sa-premium-section-title{
    font-size:12px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#4f46e5;
    margin-bottom:12px;
}

.sa-premium-stat-list{
    display:grid;
    gap:10px;
}

.sa-premium-stat-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    padding-bottom:10px;
    border-bottom:1px solid #e8edf4;
}

.sa-premium-stat-row:last-child{
    border-bottom:none;
    padding-bottom:0;
}

.sa-premium-stat-label{
    color:#64748b;
    font-size:13px;
    line-height:1.5;
    font-weight:600;
}

.sa-premium-stat-value{
    color:#0f172a;
    font-size:14px;
    line-height:1.5;
    font-weight:700;
    text-align:right;
    max-width:58%;
}

.sa-premium-note{
    display:flex;
    align-items:flex-start;
    gap:10px;
    border-radius:16px;
    padding:14px;
    margin-top:14px;
    font-size:14px;
    line-height:1.65;
}

.sa-premium-note.neutral{
    background:#f8fafc;
    border:1px solid #e8edf4;
    color:#475569;
}

.sa-premium-note.warning{
    background:#fff7ed;
    border:1px solid #fde7c7;
    color:#9a3412;
}

.sa-premium-note-icon{
    flex:0 0 auto;
}

.sa-premium-note-copy{
    flex:1;
}

.sa-premium-list{
    margin:0;
    padding-left:18px;
    color:#334155;
    font-size:14px;
    line-height:1.75;
}

.sa-premium-list li{
    margin-bottom:6px;
}

.sa-premium-requirement-chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.sa-premium-requirement-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    background:#ffffff;
    border:1px solid #dbe6f2;
    color:#1f2937;
    font-size:13px;
    font-weight:700;
}

@media (max-width: 768px){
    .sa-premium-modal-head{
        flex-direction:column;
        align-items:flex-start;
    }

    .sa-premium-route-country{
        font-size:24px;
    }

    .sa-premium-stat-row{
        flex-direction:column;
        gap:4px;
    }

    .sa-premium-stat-value{
        text-align:left;
        max-width:100%;
    }
}
							   

.sa-blueprint-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 8px;
}

.sa-blueprint-detail-card {
  border: 1px solid #dfe5ec;
  border-radius: 10px;
  background: #fff;
  padding: 18px;
}

.sa-blueprint-detail-tag {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #2563eb;
  margin-bottom: 10px;
}

.sa-blueprint-detail-card h4 {
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.2;
  color: #183153;
}

.sa-blueprint-detail-sub {
  font-size: 14px;
  color: #64748b;
  margin-bottom: 14px;
}

.sa-blueprint-detail-section-title {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #334155;
  margin: 12px 0 8px;
}

.sa-blueprint-detail-list {
  margin: 0;
  padding-left: 18px;
  color: #243b5a;
  font-size: 14px;
  line-height: 1.6;
}

.sa-blueprint-detail-list li {
  margin-bottom: 8px;
}

.sa-btn.is-loading,
.sa-unlock-btn.is-loading,
.sa-chat-submit-btn.is-loading,
.sa-blueprint-mini-btn.is-loading,
.sa-blueprint-primary-btn.is-loading,
.sa-blueprint-plan-btn.is-loading {
    opacity: 0.85;
    cursor: wait;
    pointer-events: none;
}

.sa-btn,
.sa-unlock-btn,
.sa-chat-submit-btn,
.sa-blueprint-mini-btn,
.sa-blueprint-primary-btn,
.sa-blueprint-plan-btn,
.sa-primary-btn,
.sa-next-move-btn {
    color: #ffffff !important;
    text-decoration: none !important;
}

.sa-btn:hover,
.sa-unlock-btn:hover,
.sa-chat-submit-btn:hover,
.sa-blueprint-mini-btn:hover,
.sa-blueprint-primary-btn:hover,
.sa-blueprint-plan-btn:hover,
.sa-primary-btn:hover,
.sa-next-move-btn:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

.sa-btn:visited,
.sa-unlock-btn:visited,
.sa-chat-submit-btn:visited,
.sa-blueprint-mini-btn:visited,
.sa-blueprint-primary-btn:visited,
.sa-blueprint-plan-btn:visited,
.sa-primary-btn:visited,
.sa-next-move-btn:visited {
    color: #ffffff !important;
    text-decoration: none !important;
}

.sa-btn:disabled,
.sa-unlock-btn:disabled,
.sa-chat-submit-btn:disabled,
.sa-blueprint-mini-btn:disabled,
.sa-blueprint-primary-btn:disabled,
.sa-blueprint-plan-btn:disabled {
    color: rgba(255,255,255,0.92) !important;
    opacity: 0.8;
    cursor: not-allowed;
}

#tn-landing{
    --tn-bg:#f5f7fb;
    --tn-panel:#ffffff;
    --tn-panel-soft:#f8fafc;
    --tn-text:#0f172a;
    --tn-muted:#64748b;
    --tn-line:#e2e8f0;
    --tn-line-2:#cbd5e1;
    --tn-accent:#2563eb;
    --tn-accent-dark:#1565d8;
    --tn-shadow:0 16px 40px rgba(15,23,42,.06);
    --tn-shadow-soft:0 8px 22px rgba(15,23,42,.05);
    color:var(--tn-text);
    background:linear-gradient(180deg,#f8fafc 0%,#f5f7fb 100%);
}

.sa-legalization-flag{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    font-weight:600;
    color:#334155;
}

.sa-legalization-flag.is-required{
    color:#b45309;
}



@media (max-width: 980px) {
  .sa-blueprint-detail-grid {
    grid-template-columns: 1fr;
  }
}


/* RESPONSIVE */
@media (max-width: 1024px){
    .sa-step-row{grid-template-columns:1fr}
    .sa-country-top{grid-template-columns:1fr}
    .sa-country-top img{min-height:190px}
    .sa-blueprint-card-grid{grid-template-columns:1fr}
    .sa-blueprint-wide-card,
    .sa-blueprint-plan-bar{width:100%}
}

@media (max-width: 768px){
    .sa-shell{padding:0 12px}
    .sa-topbar,.sa-progress-wrap,.sa-stage-wrap,.sa-modal-card{
        border-radius:20px;
        padding:18px;
    }
    .sa-title{font-size:26px}
    .sa-sub{display:none}
    .sa-settings-trigger{width:44px;height:44px}
    .sa-grid-2,.sa-grid-3{grid-template-columns:1fr}
    .sa-actions,.sa-nav{
        flex-direction:column;
        align-items:stretch;
    }
    .sa-btn,.sa-btn-secondary,.sa-unlock-btn,.sa-nav-btn{width:100%}
    .sa-stage-title{font-size:24px}
    .sa-stage-copy{font-size:14px}
    .sa-country-copy{padding:16px 16px 18px}
    .sa-country-copy h4{font-size:21px}

    .sa-blueprint-summary-row {
        align-items:flex-start;
    }

    .sa-blueprint-summary-bubble {
        font-size:16px;
        padding:16px 18px;
    }

    .sa-blueprint-card-title {
        font-size:18px;
    }

    .sa-blueprint-plan-title {
        font-size:20px;
    }

    .sa-blueprint-bottom-actions {
        flex-direction:column;
        align-items:stretch;
    }

    .sa-blueprint-primary-btn,
    .sa-blueprint-secondary-btn,
    .sa-blueprint-mini-btn,
    .sa-blueprint-plan-btn {
        width:100%;
        min-width:0;
    }
}

	