.visa-planner{background:var(--surface, #fff);border:1px solid var(--line, #e5e1d6);border-radius:var(--radius, 18px);box-shadow:var(--shadow-sm);padding:1.5rem;margin:1.5rem 0}.visa-planner .visa-planner-form{display:grid;gap:.75rem;max-width:520px;margin:1rem 0}.visa-planner .visa-planner-form label{display:grid;gap:.35rem;font-weight:600}.visa-planner .visa-planner-form select,.visa-planner .visa-planner-form input[type=date]{font-family:inherit;font-size:1rem;color:var(--ink);background:var(--surface, #fff);border:1px solid var(--line, #e5e1d6);border-radius:12px;padding:.55rem .7rem;width:100%}.visa-planner .visa-planner-form select:focus-visible,.visa-planner .visa-planner-form input:focus-visible{outline:2px solid var(--accent, #0e5a52);outline-offset:2px}.visa-planner .visa-planner-types{border:1px solid var(--line, #e5e1d6);border-radius:12px;padding:.6rem .8rem .8rem;margin:0;display:grid;gap:.35rem}.visa-planner .visa-planner-types legend{font-weight:700;color:var(--muted, #5a6663);font-size:.9rem;padding:0 .35rem}.visa-planner .visa-planner-types label{display:flex;align-items:center;gap:.5rem;font-weight:500}.visa-planner .visa-planner-check{grid-template-columns:auto 1fr;align-items:center;display:grid}.visa-planner .visa-planner-card{display:inline-flex;gap:.5rem;align-items:baseline;background:var(--accent-soft);border-radius:999px;padding:.4rem 1rem;margin-bottom:1rem;color:var(--accent-strong)}.visa-planner .visa-planner-card strong{font-family:var(--font-display);font-size:1.2rem}.visa-planner .visa-planner-results dl{display:grid;grid-template-columns:minmax(0,1fr);gap:.25rem;margin:0 0 1rem}.visa-planner .visa-planner-results dt{font-weight:700;color:var(--muted, #5a6663);font-size:.9rem}.visa-planner .visa-planner-results dd{margin:0 0 .5rem;line-height:1.5}.visa-planner .visa-planner-timeline,.visa-planner .visa-planner-borders{border-top:1px solid var(--line, #e5e1d6);margin-top:1.25rem;padding-top:1rem}.visa-planner .visa-planner-timeline h3,.visa-planner .visa-planner-borders h3{margin:0 0 .35rem}.visa-planner .visa-timeline{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.5rem}.visa-planner .visa-timeline-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;background:var(--bg, #f6f5f1);border:1px solid var(--line, #e5e1d6);border-left:4px solid var(--accent, #0e5a52);border-radius:12px;padding:.55rem .8rem}.visa-planner .visa-timeline-date{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--accent-strong);white-space:nowrap}.visa-planner .visa-timeline-body{display:grid;gap:.1rem;min-width:0}.visa-planner .visa-timeline-body strong{font-size:.95rem}.visa-planner .visa-timeline-note{color:var(--muted, #5a6663);font-size:.85rem}.visa-planner .visa-timeline-item.is-soon{border-left-color:var(--gold);background:#fff8e6}.visa-planner .visa-timeline-item.is-overdue{border-left-color:#c0392b;background:#fdecea}.visa-planner .visa-timeline-badge{background:var(--gold);color:var(--ink);border-radius:999px;font-size:.78rem;font-weight:700;padding:.15rem .6rem;white-space:nowrap}.visa-planner .visa-timeline-item.is-overdue .visa-timeline-badge{background:#c0392b;color:#fff}.visa-planner .visa-planner-stepper{display:flex;align-items:center;gap:.6rem;margin:.6rem 0;font-size:.9rem;color:var(--muted, #5a6663)}.visa-planner .visa-planner-stepper button{width:2.2rem;height:2.2rem;border-radius:999px;border:1px solid var(--line, #e5e1d6);background:var(--surface, #fff);color:var(--accent-strong);font-size:1.2rem;line-height:1;cursor:pointer}.visa-planner .visa-planner-stepper button:hover,.visa-planner .visa-planner-stepper button:focus-visible{border-color:var(--accent, #0e5a52);background:var(--accent-soft)}.visa-planner .visa-planner-stepper output{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--accent-strong);min-width:1.2rem;text-align:center}.visa-planner .visa-planner-remain{font-weight:700;color:var(--accent-strong);margin:.35rem 0 0}.visa-planner .visa-planner-remain.is-exhausted{color:#c0392b}.visa-planner .visa-planner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.5rem 0}.visa-planner .visa-planner-actions button,.visa-planner .visa-planner-actions a{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:.95rem;font-weight:600;line-height:1;color:var(--accent-strong);background:var(--accent-soft);border:1px solid var(--line, #e5e1d6);border-radius:999px;padding:.6rem 1.1rem;cursor:pointer;text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease}.visa-planner .visa-planner-actions button:hover,.visa-planner .visa-planner-actions button:focus-visible,.visa-planner .visa-planner-actions a:hover,.visa-planner .visa-planner-actions a:focus-visible{background:var(--surface, #fff);border-color:var(--accent, #0e5a52)}.visa-planner .visa-planner-hints ul{margin:.5rem 0 .5rem 1.25rem}.visa-planner .visa-planner-nathon,.visa-planner .visa-planner-contact{border-top:1px solid var(--line, #e5e1d6);margin-top:1.25rem;padding-top:1rem}.visa-planner .visa-planner-time{background:var(--accent-soft);border:1px solid var(--line, #e5e1d6);border-radius:12px;padding:.6rem .8rem}.visa-planner .visa-planner-checklist{list-style:none;margin:.75rem 0;padding:0;display:grid;gap:.5rem}.visa-planner .visa-planner-checklist label{display:flex;gap:.5rem;align-items:flex-start;font-weight:400}.visa-planner .visa-planner-checklist input{margin-top:.3rem}.visa-planner .visa-planner-progress{margin-top:.5rem}.visa-planner #vdp-reset,.visa-planner #vdp-print{padding:.5rem 1rem;border-radius:999px;border:1px solid var(--line, #e5e1d6);background:var(--surface, #fff);color:var(--accent-strong);font-family:inherit;font-weight:600;cursor:pointer}.visa-planner #vdp-reset:hover,.visa-planner #vdp-reset:focus-visible,.visa-planner #vdp-print:hover,.visa-planner #vdp-print:focus-visible{border-color:var(--accent, #0e5a52);background:var(--accent-soft)}.visa-planner .visa-planner-toast{min-height:1.2em;margin:.4rem 0 0;color:var(--accent, #0e5a52);font-weight:700;opacity:0;transition:opacity .18s ease}.visa-planner .visa-planner-toast.is-visible{opacity:1}@media(min-width:640px){.visa-planner .visa-planner-results dl{grid-template-columns:auto minmax(0,1fr);gap:.35rem 1rem}.visa-planner .visa-planner-results dd{margin-bottom:0}}@media(max-width:480px){.visa-planner .visa-timeline-item{grid-template-columns:minmax(0,1fr)}.visa-planner .visa-timeline-badge{justify-self:start}}@media print{.visa-planner .visa-planner-form,.visa-planner .visa-planner-timeline,.visa-planner .visa-planner-borders,.visa-planner .visa-planner-hints,.visa-planner .visa-planner-contact,.visa-planner>p,.visa-planner .visa-planner-results>.visa-planner-card,.visa-planner .visa-planner-results>dl,.visa-planner .visa-planner-results>.visa-planner-actions{display:none!important}.visa-planner,.visa-planner .visa-planner-nathon{border:none;box-shadow:none;padding:0;margin:0}}@media(prefers-reduced-motion:reduce){.visa-planner .visa-planner-actions button,.visa-planner .visa-planner-actions a,.visa-planner .visa-planner-toast{transition:none}}.crumbs ol{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;font-size:.92rem}.crumbs li+li:before{content:"›";margin-right:.5rem;color:var(--muted)}.crumbs a{color:var(--accent);text-underline-offset:3px}.crumbs [aria-current=page]{color:var(--muted)}.visa-layout{display:grid;grid-template-columns:minmax(0,1fr)}.visa-main{min-width:0}.visa-main .content{margin-top:0}@media(min-width:768px)and (max-width:1179.98px){.visa-layout>.toc-float{max-width:620px;margin-bottom:1.25rem}}@media(max-width:767.98px){.visa-layout>.toc-float{margin-bottom:1rem}}@media(min-width:1180px){.visa-layout{grid-template-columns:250px minmax(0,1fr);gap:2rem;align-items:start}.visa-layout>.toc-float{position:sticky;top:1.5rem;max-height:calc(100vh - 3rem);overflow-y:auto}}.faq{--surface-2: #eef4f2}.faq summary:after{content:"+";transform:none;font-size:1.35rem;font-weight:700}.faq details[open]>summary:after{content:"−";transform:none;background:var(--gold);color:var(--ink)}.faq details[open]{background:var(--surface-2);border-radius:8px;padding:.75rem}
