:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free";--fa-font-light:normal 300 1em/1 "Font Awesome 6 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 6 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 6 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 6 Sharp Duotone"}svg.svg-inline--fa:not(:host),svg.svg-inline--fa:not(:root){overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.07143em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width,1.25em)}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);overflow:hidden;padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(-1 * var(--fa-li-width, 2em));position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.08em);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}24%,8%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;z-index:var(--fa-stack-z-index,auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:black}:root{--font-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--teal-900:#0e4f54;--teal-700:#197278;--teal-600:#1a8c91;--teal-500:#25a3a8;--teal-400:#4fb6bb;--teal-300:#7dcdc4;--teal-200:#a8dbd6;--teal-100:#d4ede7;--teal-50:#f0f7f6;--bg:#f5f8f7;--surface:#ffffff;--text:#111b1a;--text-secondary:#4a5856;--text-muted:#6e7f7c;--border:rgba(0,0,0,0.06);--border-input:rgba(0,0,0,0.12);--accent:#e07b39;--accent-bg:rgba(224,123,57,0.12);--accent-text:#a34e17;--error:#d93025;--shadow-xs:0 1px 2px rgba(0,0,0,0.04);--shadow-sm:0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 12px rgba(0,0,0,0.07),0 1px 3px rgba(0,0,0,0.04);--radius:12px;--radius-sm:8px;--transition:0.15s ease}*{box-sizing:border-box;margin:0}body,html{min-height:100%}body{font-family:var(--font-body);font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-bar{background:var(--teal-700);height:48px;padding:0 1.25rem;display:flex;align-items:center;flex-shrink:0;position:relative;z-index:10}.app-bar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 10%,rgba(255,255,255,.15) 50%,transparent 90%)}.app-bar-title{font-size:.88rem;font-weight:600;letter-spacing:-.01em;color:#fff}.app-bar-tagline{margin-left:10px;font-size:.78rem;font-weight:400;color:rgba(255,255,255,.7)}.page{display:grid;grid-template-columns:1fr 380px;grid-template-rows:1fr;grid-gap:0;gap:0;flex:1 1;min-height:0}.map-panel{overflow:hidden;background:var(--bg);position:relative}.sidebar{display:grid;grid-template-rows:auto auto auto 1fr;grid-gap:0;gap:0;min-height:0;overflow:hidden;background:var(--surface);border-left:1px solid rgba(0,0,0,.08);box-shadow:-1px 0 8px rgba(0,0,0,.03)}.add-guest-form{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.6rem;background:linear-gradient(180deg,var(--teal-50) 0,rgba(240,247,246,.3) 100%);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.03)}.controls-inputs{display:grid;grid-template-columns:minmax(118px,132px) minmax(0,1fr);align-items:start;grid-gap:.4rem;gap:.4rem}.controls-buttons{display:flex;align-items:center;gap:.4rem}.status-filter-section{display:flex;flex-direction:column;gap:.45rem;padding-top:.2rem}.status-filter-list{display:flex;flex-wrap:wrap;gap:.4rem}.status-filter-override{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem .7rem;border:1px solid rgba(25,114,120,.16);border-radius:var(--radius-sm);background:rgba(25,114,120,.08)}.status-filter-override-copy{font-size:12px;font-weight:600;color:var(--teal-900)}.status-filter-override-reset{border:0;background:transparent;padding:0;font-size:12px;font-weight:700;color:var(--teal-700);cursor:pointer}.status-filter-override-reset:hover{color:var(--teal-900)}.status-filter-override-reset:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px;border-radius:4px}.status-filter-chip{border:1px solid var(--border-input);background:var(--surface);color:var(--text-secondary);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all var(--transition)}.status-filter-chip:hover{background:var(--teal-50);border-color:var(--teal-300)}.status-filter-chip:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px}.status-filter-chip.active{background:var(--teal-700);border-color:var(--teal-700);color:#fff}.status-filter-chip[data-status=eta].active{background:#2f8f9d;border-color:#2f8f9d}.status-filter-chip[data-status=e_visa].active{background:#d9a441;border-color:#d9a441}.status-filter-chip[data-status=visa_on_arrival].active{background:#e07b39;border-color:#e07b39}.status-filter-chip[data-status=visa_required].active{background:#cc5752;border-color:#cc5752}.status-filter-chip[data-status=no_admission].active{background:#6b3a3a;border-color:#6b3a3a}.controls-inputs input{width:100%;min-width:0;padding:8px 10px;border:1px solid var(--border-input);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-body);background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs);transition:all var(--transition)}.controls-inputs input::placeholder{color:var(--text-muted);font-weight:400}.controls-inputs input:focus{outline:none;border-color:var(--teal-700);box-shadow:0 0 0 3px rgba(25,114,120,.08)}.controls-inputs [class*=-control]{border:1px solid var(--border-input)!important;border-radius:var(--radius-sm)!important;min-height:36px!important;background:var(--surface)!important;box-shadow:none!important;transition:all var(--transition)!important;font-size:13px!important}.controls-inputs [class*=-control]:hover{border-color:rgba(0,0,0,.2)!important}.controls-inputs [class*=-control]:focus-within{border-color:var(--teal-700)!important;box-shadow:0 0 0 3px rgba(25,114,120,.08)!important}.controls-inputs [class*=-input],.controls-inputs [class*=-multiValue],.controls-inputs [class*=-singleValue]{color:var(--text)!important;font-family:var(--font-body)!important;font-size:13px!important}.controls-inputs [class*=-multiValue]{background:var(--teal-100)!important;border-radius:999px!important}.controls-inputs [class*=-multiValueLabel]{color:var(--teal-900)!important;font-weight:600!important;padding:1px 3px 1px 6px!important;font-size:12px!important}.controls-inputs [class*=-multiValueRemove]{border-radius:999px!important;color:var(--teal-700)!important}.controls-inputs [class*=-multiValueRemove]:hover{background:rgba(25,114,120,.14)!important;color:var(--teal-900)!important}.controls-inputs [class*=-placeholder]{color:var(--text-muted)!important}.controls-inputs [class*=-menu]{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;box-shadow:0 8px 30px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.04)!important;overflow:hidden;font-size:13px!important}.controls-inputs [class*=-option]{color:var(--text-secondary)!important;font-family:var(--font-body)!important;transition:all .1s ease!important;font-size:13px!important}.controls-inputs [class*=-option]:hover,.controls-inputs [class*=-option][class*=focused]{background:var(--teal-50)!important;color:var(--teal-900)!important}.controls-inputs [class*=indicatorSeparator]{display:none!important}.controls-inputs [class*=indicatorContainer] svg{width:16px!important;height:16px!important;fill:var(--text-muted)!important}.btn-primary{padding:8px 18px;background:var(--teal-700);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-family:var(--font-body);cursor:pointer;white-space:nowrap;outline:none;box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.1);transition:all var(--transition)}.btn-primary:hover:not(:disabled){background:var(--teal-600);box-shadow:var(--shadow-md),inset 0 1px 0 rgba(255,255,255,.1);transform:translateY(-.5px)}.btn-primary:active:not(:disabled){background:var(--teal-900);box-shadow:var(--shadow-xs);transform:translateY(0) scale(.98)}.btn-primary:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px}.btn-primary:disabled{background:var(--teal-200);color:rgba(255,255,255,.65);box-shadow:none;cursor:default}.btn-secondary{padding:7px 12px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-input);border-radius:var(--radius-sm);font-size:13px;font-weight:500;font-family:var(--font-body);cursor:pointer;white-space:nowrap;outline:none;transition:all var(--transition)}.btn-secondary:hover:not(:disabled){background:var(--bg);border-color:rgba(0,0,0,.2);color:var(--text)}.btn-secondary:active:not(:disabled){background:var(--teal-50)}.btn-secondary:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px}.btn-secondary:disabled{background:var(--bg);color:var(--teal-200);border-color:var(--border);cursor:default}.guest-list{padding:.85rem 1.25rem;overflow-y:auto;min-height:0;max-height:320px}.guest-list::-webkit-scrollbar{width:3px}.guest-list::-webkit-scrollbar-track{background:transparent}.guest-list::-webkit-scrollbar-thumb{background:var(--teal-200);border-radius:3px}.guest-list ul{padding:0;list-style:none}.guest-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem .5rem .5rem .6rem;border-radius:var(--radius-sm);margin:0 -.5rem;border-left:3px solid transparent;transition:all var(--transition)}.guest-row+.guest-row{border-top:1px solid var(--border)}.guest-row:hover{background:var(--teal-50)}.guest-row.active{background:var(--teal-100);border-left-color:var(--teal-500)}.guest-info{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer}.guest-copy,.guest-info{min-width:0;flex:1 1}.guest-copy-top{display:flex;align-items:center;gap:.5rem;min-width:0}.guest-name{font-weight:600;color:var(--text);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--transition)}.guest-info:hover .guest-name{color:var(--teal-700)}.guest-nationality-line{display:flex;align-items:center;gap:4px;margin-top:2px}.guest-nationality-name{font-size:12px;font-weight:500;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-status-bar-wrap{margin-top:.4rem}.guest-status-bar{display:flex;height:5px;border-radius:3px;overflow:hidden;gap:1px}.guest-status-bar-seg-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;margin:0;min-width:4px;cursor:pointer;transition:opacity .15s ease}.guest-status-bar-seg-btn:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px}.guest-status-bar-seg-btn.dimmed{opacity:.25}.guest-status-legend{display:flex;flex-wrap:wrap;gap:2px 8px;margin-top:5px}.guest-status-legend-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);transition:color .15s ease;cursor:pointer}.guest-status-legend-item:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px;border-radius:4px}.guest-status-legend-item.highlight{color:var(--text)}.guest-status-legend-dot{width:7px;height:7px;border-radius:2px;flex-shrink:0}.guest-status-legend-label{font-weight:500;color:inherit}.guest-status-legend-count{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.guest-flag{font-size:14px;line-height:1;flex-shrink:0}.guest-count-badge{font-size:10px;border-radius:100px;letter-spacing:.02em;white-space:nowrap;flex-shrink:0;margin-left:auto}.guest-count-badge,.status-pill{background:var(--teal-100);color:var(--teal-700);padding:2px 8px;font-weight:700}.status-pill{display:inline-flex;align-items:center;border-radius:999px;font-size:11px;letter-spacing:.01em}.status-pill[data-status=visa_free]{background:rgba(70,168,122,.14);color:#2d7a57}.status-pill[data-status=eta]{background:rgba(47,143,157,.14);color:#1e6974}.status-pill[data-status=e_visa]{background:rgba(217,164,65,.16);color:#986d14}.status-pill[data-status=visa_on_arrival]{background:rgba(224,123,57,.14);color:#a95a21}.status-pill[data-status=visa_required]{background:rgba(204,87,82,.14);color:#983c38}.status-pill[data-status=no_admission]{background:rgba(107,58,58,.16);color:#5a2f2f}.guest-remove{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:.85rem;line-height:1;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;opacity:0;transition:all var(--transition)}.guest-row:hover .guest-remove{opacity:1}.guest-remove:hover{color:var(--error);background:rgba(217,48,37,.08)}.panel-label{margin:0 0 .5rem;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--teal-700);padding-bottom:0;border-bottom:none}.panel-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.panel-label-row .panel-label{margin-bottom:0}.countries-header{padding:.85rem 1.25rem .5rem;background:var(--surface);border-bottom:1px solid rgba(0,0,0,.06)}.countries-scroll{padding:.5rem 1.25rem;overflow-y:auto;min-height:0}.countries-scroll::-webkit-scrollbar{width:3px}.countries-scroll::-webkit-scrollbar-track{background:transparent}.countries-scroll::-webkit-scrollbar-thumb{background:var(--teal-200);border-radius:3px}.empty-state{margin:.25rem 0 0;color:var(--teal-700);font-size:13px;font-weight:400;text-align:center;padding:2rem 1.25rem;border:1.5px dashed var(--teal-300);border-radius:var(--radius);background:linear-gradient(180deg,var(--teal-50) 0,rgba(240,247,246,.4) 100%);letter-spacing:.01em}.accordion-item{border:none}.accordion-heading{margin:0}.accordion-button{all:unset;display:block;width:100%;cursor:pointer;font:inherit;color:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none}.accordion-button:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px;border-radius:4px}.accordion-content,.continent-content{transition:height .25s cubic-bezier(.32,.72,0,1)}.accordion-chevron{font-size:9px;margin-left:6px;color:var(--teal-500);transition:transform .25s cubic-bezier(.32,.72,0,1);transform:rotate(-90deg)}.accordion-chevron.open{transform:rotate(0deg)}.continent-item{border:none;border-bottom:1px solid var(--border)}.continent-item:last-child{border-bottom:none}.continent-button{all:unset;display:block;width:100%;cursor:pointer;font:inherit;color:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none}.continent-button:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px;border-radius:4px}.continent-header{display:flex;align-items:center;gap:6px;padding:6px 0;font-size:12px;font-weight:600;color:var(--teal-700);letter-spacing:.02em}.continent-count{color:var(--text-muted);font-weight:500}.country-list{list-style:none;padding:0;margin:0}.country-row{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;cursor:pointer;transition:all .15s ease;border-left:3px solid transparent}.country-row+.country-row{border-top:1px solid var(--border)}.country-row:hover{background:var(--teal-50)}.country-row:focus-visible{outline:2px solid var(--teal-500);outline-offset:-2px}.country-row.selected{background:var(--accent-bg);border-left-color:var(--accent)}.country-row.selected:hover{background:rgba(224,123,57,.18)}.country-row .country-flag{font-size:16px;line-height:1;flex-shrink:0}.country-row .country-name{font-size:13px;font-weight:500;color:var(--teal-900)}.country-copy{min-width:0;flex:1 1}.country-copy-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.country-pills{display:flex;align-items:center;gap:4px;flex-shrink:0}.days-pill{padding:2px 8px;font-size:11px;font-weight:700;letter-spacing:.01em;background:rgba(100,116,139,.1);color:var(--text-muted)}.days-pill,.passport-pill{display:inline-flex;align-items:center;border-radius:999px}.passport-pill{justify-content:center;min-width:24px;height:20px;padding:0 6px;background:rgba(25,114,120,.1);font-size:12px;line-height:1}.controls-error{margin:0;font-size:13px;color:var(--error);padding:6px 10px;background:rgba(217,48,37,.04);border-radius:var(--radius-sm);border:1px solid rgba(217,48,37,.08)}.panel-header-actions{gap:4px;margin-left:auto}.panel-action-btn,.panel-header-actions{display:flex;align-items:center;flex-shrink:0}.panel-action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-input);background:var(--surface);color:var(--teal-700);border-radius:var(--radius-sm);width:26px;height:26px;justify-content:center;cursor:pointer;font-size:11px;transition:all var(--transition)}.panel-action-btn:hover{background:var(--teal-50);border-color:var(--teal-300)}.panel-action-btn:active{transform:scale(.94)}.panel-action-btn.active{background:var(--teal-700);border-color:var(--teal-700);color:#fff}.country-search-bar,.country-search-shell{display:flex;align-items:center;background:var(--surface)}.country-search-shell{flex:1 1;gap:8px;padding:0 10px;border:1px solid var(--border-input);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);transition:border-color var(--transition),box-shadow var(--transition)}.country-search-shell:focus-within{border-color:var(--teal-400);box-shadow:0 0 0 3px rgba(25,114,120,.08)}.country-search-input{flex:1 1;padding:6px 0;font-size:13px;font-family:var(--font-body);border:none;background:var(--surface);color:var(--text);outline:none}.country-search-input::placeholder{color:var(--text-muted)}.country-search-count{font-size:11px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.country-search-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-muted);width:18px;height:18px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;flex-shrink:0}.country-search-clear:hover{color:var(--text);background:rgba(0,0,0,.05)}.country-search-clear:focus-visible{outline:2px solid var(--teal-500);outline-offset:1px}.add-guest-form.compact,.guest-list.compact{padding:.5rem 1.25rem;cursor:pointer;transition:background var(--transition)}.add-guest-form.compact:hover,.guest-list.compact:hover{background:var(--teal-50)}.add-guest-form.compact{border-bottom:1px solid rgba(0,0,0,.06)}.guest-list.compact{max-height:none;overflow:hidden;border-bottom:1px solid var(--border)}.compact-summary-row{display:flex;align-items:center;gap:.75rem;min-height:24px}.compact-summary-label{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap}.compact-summary-detail{font-size:11px;color:var(--text-muted);font-weight:500;white-space:nowrap}.compact-guest-flags{display:flex;gap:2px;font-size:14px}.compact-more{font-size:11px;color:var(--text-muted);font-weight:600;margin-left:2px;align-self:center}.compact-focused-name{font-size:11px;color:var(--teal-700);font-weight:600;margin-left:auto;white-space:nowrap}.map-interactive-layer,.map-root{position:relative;width:100%;height:100%}.map-interactive-layer{z-index:1;display:block}.map-loading-overlay{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;background:rgba(245,248,247,.9);color:var(--teal-900);pointer-events:all}.map-loading-spinner{width:2rem;height:2rem;border:3px solid rgba(25,114,120,.18);border-top:3px solid var(--teal-700);border-radius:999px;animation:map-loading-spin .8s linear infinite}.map-loading-label{font-size:.85rem;font-weight:600;letter-spacing:.01em}@keyframes map-loading-spin{to{transform:rotate(1turn)}}.map-zoom-controls{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;gap:4px;z-index:2}.map-zoom-btn{width:28px;height:28px;font-size:1rem;font-family:var(--font-body);cursor:pointer;border:1.5px solid var(--border-input);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transition:all .2s ease}.map-zoom-btn:hover{background:var(--teal-50);border-color:var(--teal-100)}.map-zoom-btn-reset{width:auto;padding:0 6px;font-size:.7rem}.map-status-badge{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.55);padding:3px 10px;border-radius:4px;font-size:.75rem;z-index:2}.map-status-badge,.map-tooltip{color:#fff;font-family:var(--font-body);pointer-events:none}.map-tooltip{position:fixed;background:rgba(10,19,18,.92);padding:6px 10px;border-radius:8px;font-size:.8rem;z-index:1000;width:max-content;max-width:280px;box-shadow:0 12px 32px rgba(0,0,0,.22)}.map-country-popup{position:fixed;z-index:1001;display:flex;flex-direction:column;gap:10px;min-width:160px;max-width:min(280px,calc(100vw - 16px));padding:10px 12px 12px;border:1px solid rgba(25,114,120,.18);border-radius:10px;background:rgba(245,248,247,.98);box-shadow:0 14px 36px rgba(9,17,16,.18);pointer-events:auto}.map-country-popup-title{font-size:.85rem;font-weight:700;color:var(--teal-900)}.map-country-popup-actions{display:flex}.map-country-popup-actions .btn-primary{width:100%}.map-tooltip-country{font-size:.9rem;font-weight:700;margin-bottom:0}.map-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;margin-bottom:6px}.map-tooltip-duration{color:rgba(255,255,255,.82);font-size:.74rem}.map-tooltip-guests{display:flex;flex-direction:column;gap:4px}.map-tooltip-guest-line{display:flex;justify-content:space-between;gap:8px;font-size:.74rem}.map-tooltip-guest-name{font-weight:700;color:rgba(255,255,255,.92)}.map-tooltip-passport{margin-top:4px;color:rgba(255,255,255,.78);font-size:.72rem}@media (max-width:768px){.app-shell{height:auto;min-height:100vh;overflow:auto}.page{grid-template-columns:1fr;grid-template-rows:auto 1fr;flex:none}.map-panel{height:50vw;min-height:240px}.sidebar{grid-template-rows:auto auto auto;overflow:visible;border-left:none;border-top:1px solid var(--border)}.controls-inputs{grid-template-columns:1fr}.guest-list{min-height:120px;max-height:40vh}.panel-header-actions{display:none}}