.passport-intro-note{max-width:700px;margin:15px 0 22px;color:#60796a;font-size:13px;line-height:1.7}.passport-intro .primary-button{gap:26px}.passport-meta{display:flex;flex-wrap:wrap;gap:8px 25px;padding:16px 0;color:#6b8172;font-size:12px;line-height:1.6;border-bottom:1px solid var(--line)}.passport-meta a,.passport-method a,.passport-source{color:#276749;text-decoration:underline;text-underline-offset:3px}.passport-controls{display:flex;flex-direction:column;gap:7px;margin-top:22px}.passport-controls label{font-size:12px;font-weight:700;color:#46614e}.passport-controls input,.passport-controls select{width:100%;min-height:44px;padding:10px 13px;border:1px solid #d6e4d9;border-radius:6px;background:#fff;color:#304a3a;font:inherit;font-size:14px}.passport-controls input:focus,.passport-controls select:focus{outline:2px solid #76a985;outline-offset:2px}.passport-filters{display:grid;grid-template-columns:1fr 1fr;gap:14px}.passport-table{width:100%;border-collapse:collapse;margin-top:20px;text-align:left;font-size:13px}.passport-table th{padding:11px 12px;border-bottom:1px solid #d8e6db;color:#718779;font-size:11px;font-weight:700}.passport-table td{padding:0;border-bottom:1px solid #e5eee7}.passport-table tbody tr:hover,.passport-table tr.selected{background:#f1f8f3}.passport-table .rank{width:75px;padding:15px 12px;color:#7b9181;font-variant-numeric:tabular-nums}.passport-table .passport-name{padding:15px 12px}.passport-table button{display:block;width:100%;padding:15px 12px;border:0;background:transparent;color:#2d4b37;text-align:left;font-weight:700;cursor:pointer}.passport-table .score{text-align:right;padding:15px 12px;font-weight:700;color:#276749;font-variant-numeric:tabular-nums}.passport-table th:last-child{text-align:right}.passport-count{margin:12px 0 0;color:#7b9081;font-size:12px}.passport-empty{margin:20px 0 0;padding:22px;border:1px solid #dce9df;border-radius:8px;background:#f8fbf8;color:#60796a;font-size:13px;line-height:1.7}.passport-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.passport-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:5px;background:#f1f6f2;color:#5b7462;font-size:12px}.passport-chip strong{font-variant-numeric:tabular-nums}.destination-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0 0;padding:0;list-style:none}.destination-entry{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;padding:15px;border:1px solid #e0ebe2;border-radius:7px;background:#fff}.destination-entry h3{margin:0;color:#36513e;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.destination-entry p{margin:6px 0 0;color:#718679;font-size:12px;line-height:1.5}.destination-entry .passport-source{display:inline-block;margin-top:7px;font-size:12px}.status-badge{flex:none;max-width:50%;padding:5px 8px;border-radius:4px;background:#f0f4f1;color:#61796a;font-size:11px;font-weight:700;line-height:1.35;text-align:center}.status-visa_free{background:#e6f4e9;color:#276749}.status-visa_on_arrival{background:#eaf2f5;color:#416d7b}.status-e_visa,.status-eta{background:#eef0f9;color:#5c668a}.status-visa_required{background:#fbf3e3;color:#886c31}.status-entry_refused{background:#fbebea;color:#9b4f4a}.passport-method p{max-width:730px;margin:12px 0 0;color:#5b7262;font-size:13px;line-height:1.8}@media(max-width:600px){.passport-filters,.destination-list{grid-template-columns:1fr}.passport-filters{gap:0}.passport-table .rank{width:50px}.passport-table th,.passport-table .rank,.passport-table .score{padding-left:8px;padding-right:8px}.passport-table button{padding-left:8px;padding-right:8px}.destination-entry{padding:13px}}

.passport-table .passport-rank-link{display:block;padding:15px 12px;color:#2d4b37;font-weight:700;text-decoration:none}.passport-table .passport-rank-link:hover{text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.passport-table .passport-rank-link{padding-left:8px;padding-right:8px}}

.passport-picker{position:relative}.passport-picker .passport-options{position:absolute;top:100%;left:0;right:0;z-index:10;margin-top:6px;padding:12px;max-height:min(300px,45vh);border:1px solid #d6e4d9;border-radius:8px;background:#fff;box-shadow:0 12px 32px rgba(38,59,50,.16)}.passport-picker .passport-options[hidden]{display:none}.passport-picker .passport-options .passport-empty{grid-column:1/-1;margin:0}

.passport-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:8px;max-height:230px;overflow:auto;margin-top:12px;padding:3px}.passport-option{min-width:0;min-height:42px;padding:9px 11px;border:1px solid #d8e5db;border-radius:6px;background:#fff;color:#385443;text-align:left;font-size:13px;line-height:1.35;overflow-wrap:anywhere;cursor:pointer}.passport-option:hover{border-color:#83ae91;background:#f3f8f4}.passport-option[aria-pressed="true"]{border-color:#276749;background:#276749;color:#fff}.passport-comparison-wrap{max-width:100%;overflow-x:auto;margin-top:18px;border:1px solid #dce8df;border-radius:8px}.passport-comparison{width:100%;min-width:max-content;border-collapse:separate;border-spacing:0;text-align:left;font-size:13px}.passport-comparison th,.passport-comparison td{padding:12px;border-right:1px solid #fff;border-bottom:1px solid #fff;vertical-align:top;overflow-wrap:anywhere}.passport-comparison thead th{min-width:180px;background:#edf4ef;color:#304a3a}.passport-comparison th:first-child{position:sticky;left:0;z-index:1;min-width:130px;max-width:165px;background:#f5f9f6;color:#304a3a}.passport-comparison thead th:first-child{z-index:2;background:#edf4ef}.passport-comparison td{min-width:180px;max-width:230px;color:#354b3d}.passport-comparison td p{margin:5px 0 0;font-size:12px;line-height:1.45}.passport-comparison td .passport-source{display:inline-block;margin-top:6px;font-size:12px}.passport-comparison .status-badge{display:inline-block;max-width:none;text-align:left}.destination-visa_free{background:#dff2e3}.destination-visa_on_arrival{background:#e0f0fb}.destination-e_visa{background:#fff3c8}.destination-visa_required{background:#fce2df}.destination-entry_refused{background:#f5ceca}.destination-eta{background:#eee9fa}.destination-unknown{background:#f1f3f1}.passport-comparison .status-visa_free{background:#bfe2c7;color:#185a31}.passport-comparison .status-visa_on_arrival{background:#b9ddf4;color:#174f78}.passport-comparison .status-e_visa{background:#f6dfa0;color:#654d0c}.passport-comparison .status-visa_required,.passport-comparison .status-entry_refused{background:#f3c2bc;color:#852f28}.passport-comparison .status-eta{background:#ded4f2;color:#504073}@media(max-width:600px){.passport-options{grid-template-columns:repeat(auto-fill,minmax(105px,1fr));max-height:190px}.passport-comparison th:first-child{min-width:105px;max-width:130px}.passport-comparison thead th,.passport-comparison td{min-width:155px}.passport-comparison th,.passport-comparison td{padding:10px}}

.passport-flag{display:inline-block;margin-right:8px;font-size:1.2em;line-height:1;vertical-align:-.08em}.passport-table .passport-score{display:flex;align-items:center;justify-content:flex-end;gap:12px;text-align:left}.passport-score-total{min-width:2.2em;font-size:19px;text-align:right}.passport-score-detail{width:clamp(145px,24vw,280px);min-width:0}.passport-score-bar{display:flex;height:9px;overflow:hidden;border-radius:5px;background:#edf4ef}.passport-score-free{background:#3f8d5d}.passport-score-arrival{background:#75b4d7}.passport-score-counts{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 10px;margin-top:5px;color:#60796a;font-size:11px;font-weight:500;line-height:1.35}@media(max-width:600px){.passport-table .passport-score{gap:6px}.passport-score-total{font-size:16px}.passport-score-detail{width:clamp(95px,30vw,145px)}.passport-score-counts{font-size:10px}}
.passport-info{margin-top:6px}.passport-info-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #95b5a0;border-radius:50%;color:#276749;background:#fff;cursor:pointer;font-size:17px;line-height:1;list-style:none}.passport-info-button::-webkit-details-marker{display:none}.passport-info-button:focus-visible{outline:2px solid #276749;outline-offset:2px}.passport-info[open] .passport-info-button{background:#276749;color:#fff}.passport-info-content{margin-top:6px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.passport-info-content p{margin:0}.passport-info-content .passport-source{display:inline-block;margin-top:6px}.passport-data-info{margin:0}.passport-data-info .passport-info-content{display:flex;flex-wrap:wrap;gap:4px 25px}.passport-data-info .passport-info-content .passport-source{margin:0}
.passport-comparison td{max-width:none}.passport-comparison-line{display:flex;align-items:center;gap:7px;width:max-content;white-space:nowrap}.passport-comparison-stay,.passport-comparison-note{font-size:12px;line-height:1.4}.passport-comparison-info{width:19px;height:19px;flex:none;margin:0;padding:0;font-size:12px;font-weight:700}.passport-source-dialog{width:min(420px,calc(100% - 32px));max-width:none;max-height:calc(100% - 32px);padding:22px;border:1px solid #d6e4d9;border-radius:10px;background:#fff;color:#304a3a;box-shadow:0 12px 40px #183c2733}.passport-source-dialog::backdrop{background:rgba(19,39,27,.35)}.passport-source-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.passport-source-dialog-header h2{margin:0;font-size:18px}.passport-source-dialog-close{width:32px;height:32px;padding:0;border:0;border-radius:5px;background:#f1f6f2;color:#304a3a;font-size:24px;line-height:1;cursor:pointer}.passport-source-dialog-close:focus-visible{outline:2px solid #276749;outline-offset:2px}.passport-source-dialog-context{margin:12px 0;color:#60796a;font-size:13px}.passport-source-dialog-content{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.passport-source-dialog-content p{margin:0 0 8px}

body[data-passport-page="check"] .passport-intro,body[data-passport-page="ranking"] .passport-intro{padding-bottom:18px}
