/* FlyVisa live-app additions: sign-in screen, user bar, save state, toast */
.fv-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px 16px;background:linear-gradient(160deg,#0F3D63 0,#15507F 55%,var(--bg,#EEF3F8) 55%);overflow:auto}
.fv-box{background:var(--surface,#fff);color:var(--ink,#10263D);border:1px solid var(--line,#D6DFE9);border-radius:16px;padding:24px;width:100%;max-width:420px;box-shadow:0 20px 50px rgba(8,30,50,.2);font-family:var(--font)}
.fv-logo{font-weight:800;font-size:24px;text-align:center}.fv-logo b{color:var(--accent,#D9661F)}
.fv-sub{color:var(--muted,#55657A);font-size:13px;text-align:center;margin:6px 0 0}
.fv-load{text-align:center;color:var(--muted,#55657A);margin:12px 0 0}
.fv-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line,#D6DFE9);margin-top:14px}
.fv-tabs button{font:inherit;font-size:14px;background:none;border:0;border-bottom:2px solid transparent;padding:8px 10px;color:var(--muted,#55657A);cursor:pointer}
.fv-tabs button.on{color:var(--ink,#10263D);border-bottom-color:var(--accent,#D9661F)}
.fv-box form{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.fv-box label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--muted,#55657A)}
.fv-box label.fv-ck{flex-direction:row;align-items:center;gap:8px;font-weight:400;color:var(--ink,#10263D)}
.fv-box input{font:inherit;font-size:15px;padding:9px 11px;border:1px solid var(--line,#D6DFE9);border-radius:9px;background:var(--surface,#fff);color:var(--ink,#10263D)}
.fv-box input[type=checkbox]{width:auto}
.fv-btn{font:inherit;font-weight:600;font-size:15px;border:0;border-radius:10px;padding:10px 14px;background:var(--accent,#D9661F);color:#fff;cursor:pointer}
.fv-btn[disabled]{opacity:.6}
.fv-link{font:inherit;font-size:13px;background:none;border:0;color:var(--info,#2A6FB0);cursor:pointer;text-decoration:underline}
.fv-msg{font-size:13px;border-radius:8px;padding:8px 10px;margin:0}
.fv-msg:empty{display:none}
.fv-msg.bad{background:var(--bad-soft,#F8E0DA);color:var(--bad,#B3361F)}.fv-msg.good{background:var(--good-soft,#DDF2E6);color:var(--good,#1F7A4D)}
.fv-user{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:13px;flex-wrap:wrap}
.fv-who{font-weight:600}
.fv-save{font-size:12px;border-radius:20px;padding:3px 9px;background:var(--good-soft,#DDF2E6);color:var(--good,#1F7A4D)}
.fv-save.bad{background:var(--bad-soft,#F8E0DA);color:var(--bad,#B3361F)}
.fv-out{font:inherit;font-size:13px;border:1px solid var(--line,#D6DFE9);background:var(--surface,#fff);color:var(--ink,#10263D);border-radius:8px;padding:5px 11px;cursor:pointer}
.fv-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#10263D;color:#fff;padding:9px 16px;border-radius:10px;font-size:14px;z-index:1100;opacity:0;transition:opacity .2s;pointer-events:none;max-width:calc(100vw - 32px)}
.fv-toast.on{opacity:1}.fv-toast.bad{background:var(--bad,#B3361F)}
@media (max-width:640px){.fv-user{margin-left:0;width:100%}}
