@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}:root{--text-xs:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);--text-sm:clamp(0.875rem,0.8rem + 0.35vw,1rem);--text-base:clamp(1rem,0.95rem + 0.25vw,1.125rem);--text-lg:clamp(1.125rem,1rem + 0.75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--transition:180ms cubic-bezier(0.16,1,0.3,1);--font-body:"Inter","Helvetica Neue",sans-serif;--content-max:960px;--header-height:0px}:root,[data-theme=light]{--bg:#f7f6f2;--surface:#f9f8f5;--surface-2:#fbfbf9;--surface-off:#f0ede8;--border:#d4d1ca;--divider:#dcd9d5;--text:#28251d;--muted:#7a7974;--faint:#bab9b4;--primary:#01696f;--primary-h:#0c4e54;--success:#437a22;--success-bg:#e8f5e0;--warning:#964219;--warning-bg:#fdf0e6;--error:#a13544;--error-bg:#faeaec;--blue-sub:#e8f2fb;--shadow-sm:0 1px 2px oklch(0.2 0.01 80/0.06);--shadow-md:0 4px 12px oklch(0.2 0.01 80/0.08)}[data-theme=dark]{--bg:#111210;--surface:#1a1c19;--surface-2:#1f211e;--surface-off:#252720;--border:#303328;--divider:#272920;--text:#d8d9d0;--muted:#7a7d6e;--faint:#4a4d40;--primary:#4f9e82;--primary-h:#6bbf9a;--success:#6daa45;--success-bg:#1a2e10;--warning:#d4914a;--warning-bg:#2a1a08;--error:#dd6974;--error-bg:#2d1015;--blue-sub:#0f1e2d;--shadow-sm:0 1px 2px oklch(0 0 0/0.25);--shadow-md:0 4px 12px oklch(0 0 0/0.35)}@media (prefers-color-scheme:light){:root:not([data-theme]){--bg:#f7f6f2;--surface:#f9f8f5;--surface-off:#f0ede8;--border:#d4d1ca;--divider:#dcd9d5;--text:#28251d;--muted:#7a7974;--faint:#bab9b4;--primary:#01696f;--primary-h:#0c4e54;--success:#437a22;--success-bg:#e8f5e0;--warning:#964219;--warning-bg:#fdf0e6;--error:#a13544;--error-bg:#faeaec;--blue-sub:#e8f2fb}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text);background:var(--bg);min-height:100vh;line-height:1.6}img,svg{display:block}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}h1,h2,h3{line-height:1.2}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:oklch(from var(--primary) l c h/.2)}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important}}.app-header{background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.header-inner{max-width:var(--content-max);margin:0 auto;padding:var(--space-4) var(--space-6);justify-content:space-between;gap:var(--space-4)}.app-logo,.header-inner{display:flex;align-items:center}.app-logo{gap:var(--space-3)}.logo-text{font-size:var(--text-lg);font-weight:700}.logo-sub{font-size:var(--text-xs);color:var(--muted);margin-top:1px}.theme-btn{width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);transition:background var(--transition),color var(--transition);flex-shrink:0}.theme-btn:hover{background:var(--surface-off);color:var(--text)}.app-nav{background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:var(--header-height);z-index:90}.nav-list{max-width:var(--content-max);margin:0 auto;padding:0 var(--space-6);display:flex;list-style:none;overflow-x:auto;scrollbar-width:none}.nav-list::-webkit-scrollbar{display:none}.nav-list li{flex-shrink:0}.nav-tab{padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:500;color:var(--muted);border-bottom:2px solid transparent;transition:color var(--transition),border-color var(--transition);white-space:nowrap;display:block}.nav-tab:hover{color:var(--text)}.nav-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.app-main{max-width:var(--content-max);margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-16)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card,.card-title{margin-bottom:var(--space-5)}.card-title{font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.card-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.card-header-row .card-title{margin-bottom:0}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.field label{font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}input[type=date],input[type=text]{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);padding:var(--space-3) var(--space-4);font-size:var(--text-base);outline:none;width:100%;transition:border-color var(--transition),box-shadow var(--transition)}input[type=text]{text-transform:uppercase;letter-spacing:.06em}input:focus{border-color:var(--primary);box-shadow:0 0 0 3px oklch(from var(--primary) l c h/.15)}.port-hint{font-size:var(--text-xs);min-height:18px}.row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;transition:background var(--transition),color var(--transition),box-shadow var(--transition);white-space:nowrap}.btn-primary{background:var(--primary);color:#fff;width:100%;margin-top:var(--space-2)}.btn-primary:hover{background:var(--primary-h);box-shadow:var(--shadow-md)}.btn-secondary{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface-off);color:var(--text)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn-danger{color:var(--error)}.btn-icon{width:28px;height:28px;border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--faint);border:1px solid transparent;transition:all var(--transition);display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--error-bg);color:var(--error);border-color:oklch(from var(--error) l c h/.3)}.inner-tabs{display:flex;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-5)}.inner-tab{flex:1 1;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--muted);background:none;border:none;transition:background var(--transition),color var(--transition)}.inner-tab.active{background:var(--primary);color:#fff;font-weight:600}.tag-uk{background:var(--success-bg);color:var(--success)}.tag-abroad,.tag-uk{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.tag-abroad{background:var(--error-bg);color:var(--error)}.tag-planned{background:var(--blue-sub);color:var(--primary);font-weight:500}.days-abroad-badge,.tag-planned{display:inline-block;padding:1px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs)}.days-abroad-badge{margin-left:var(--space-2);background:var(--error-bg);color:var(--error);font-weight:600;vertical-align:middle;white-space:nowrap}@media (max-width:480px){.days-abroad-badge{display:block;margin-left:0;margin-top:var(--space-1)}}.result-box{border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5)}.result-eligible{background:var(--success-bg);border:1px solid oklch(from var(--success) l c h/.4)}.result-projected{background:var(--blue-sub);border:1px solid oklch(from var(--primary) l c h/.4)}.result-ineligible{background:var(--error-bg);border:1px solid oklch(from var(--error) l c h/.4)}.result-eligible h3{color:var(--success)}.result-eligible h3,.result-projected h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}.result-projected h3{color:var(--primary)}.result-ineligible h3{color:var(--error);font-size:var(--text-lg);margin-bottom:var(--space-2)}.result-box p{font-size:var(--text-sm);color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-4)}@media (max-width:480px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-box{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-3);text-align:center}.stat-value{font-size:var(--text-xl);font-weight:700;color:var(--text);line-height:1}.stat-label{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-2);text-transform:uppercase;letter-spacing:.03em}.stat-box.uk .stat-value{color:var(--success)}.stat-box.abroad .stat-value{color:var(--error)}.stat-box.warn .stat-value{color:var(--warning)}.progress-bar{height:5px;background:var(--surface-off);border-radius:3px;overflow:hidden;margin-bottom:var(--space-2)}.progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .4s ease}.divider{height:1px;background:var(--divider);margin:var(--space-6) 0}.section-header{font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-4)}.rule-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--divider);font-size:var(--text-sm)}.rule-row:last-child{border-bottom:none}.rule-label{color:var(--muted);flex:1 1}.rule-val{font-weight:600;text-align:right;white-space:nowrap}.evidence-note{font-size:var(--text-xs);padding:var(--space-2) 0 var(--space-4);border-bottom:1px solid var(--divider);color:var(--muted)}.progress-note{font-size:var(--text-xs);color:var(--faint);margin-bottom:var(--space-4)}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}thead tr{background:var(--surface-off)}th{text-align:left;font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}td,th{padding:var(--space-2) var(--space-3);white-space:nowrap}td{border-bottom:1px solid var(--divider);vertical-align:middle}tbody tr:last-child td{border-bottom:none}.flight-type-cell{white-space:normal;min-width:90px}.remove-cell{width:36px;padding-left:var(--space-1)}.future-flight td{opacity:.6}.tier-row{cursor:pointer}.tier-row:hover td{background:var(--surface-off)}.tier-detail td{background:var(--surface-2)}.tier-detail-body{font-size:var(--text-sm);padding:var(--space-3) var(--space-2);color:var(--muted);line-height:1.8}.empty-state{text-align:center;color:var(--faint);padding:var(--space-12) var(--space-8);font-size:var(--text-sm)}.ok{color:var(--success)}.fail{color:var(--error)}.warn{color:var(--warning)}.muted{color:var(--muted)}.error-msg{color:var(--error)}.error-msg,.import-msg{font-size:var(--text-sm);margin-top:var(--space-3);min-height:20px}.import-msg{color:var(--success)}.disclaimer{font-size:var(--text-xs);color:var(--faint);line-height:1.7;margin-top:var(--space-6)}.uk-codes-list{font-size:var(--text-xs);line-height:2;background:var(--bg);padding:var(--space-4)}.trip-preview,.uk-codes-list{color:var(--muted);border-radius:var(--radius-md)}.trip-preview{font-size:var(--text-sm);background:var(--surface-off);padding:var(--space-3) var(--space-4);margin-top:var(--space-4)}.residency-hint{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-2)}.custom-check-box{border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--border)}.custom-check-box.eligible{background:var(--success-bg);border-color:oklch(from var(--success) l c h/.4)}.custom-check-box.ineligible{background:var(--error-bg);border-color:oklch(from var(--error) l c h/.4)}.custom-check-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.custom-check-date{font-size:var(--text-lg);font-weight:700}@media (max-width:640px){.app-main{padding:var(--space-5) var(--space-4) var(--space-16)}.card{padding:var(--space-4)}.header-inner{padding:var(--space-3) var(--space-4)}.nav-list{padding:0 var(--space-4)}.row-2{gap:var(--space-3)}}