:root{font-family:Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:#14233c;background:#f6f9fd;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}a{color:#1760b7}.flagwall{position:fixed;inset:-3% -2%;display:grid;grid-template-columns:repeat(15,minmax(0,1fr));grid-auto-rows:minmax(44px,6.8vw);overflow:hidden;z-index:-4;transform:scale(1.06);pointer-events:none}.flag{position:relative;overflow:hidden;transform:perspective(650px) rotateY(-5deg);animation:wave 8s ease-in-out infinite alternate;animation-delay:var(--delay);background:#f3f5f9}.flag img{width:100%;height:100%;display:block;object-fit:fill;filter:saturate(1.15)}.flag:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.22) 28%,rgba(0,0,0,.12) 55%,transparent 83%);mix-blend-mode:multiply;animation:shimmer 8s ease-in-out infinite alternate;animation-delay:var(--delay)}@keyframes wave{from{transform:perspective(700px) rotateY(-4deg) skewY(-1deg)}to{transform:perspective(700px) rotateY(5deg) skewY(1deg)}}@keyframes shimmer{to{transform:translateX(18%)}}.veil{position:fixed;inset:0;z-index:-3;background:rgba(250,252,255,.87);backdrop-filter:blur(3px)}.countryback{position:fixed;inset:0;z-index:-2;pointer-events:none;display:none;overflow:hidden}.countryback.active{display:block}.countryback img{width:100%;height:100%;object-fit:cover;opacity:.13;filter:blur(20px) saturate(1.2);animation:gentleWave 10s ease-in-out infinite alternate}.countryback svg{position:absolute;top:9%;right:1%;width:45vw;height:68vh;opacity:.18;fill:#315e93;stroke:#194c83;stroke-width:1.5}.countryback path{vector-effect:non-scaling-stroke}@keyframes gentleWave{to{transform:scale(1.07) skewY(1.5deg)}}.site{min-height:100vh;display:flex;flex-direction:column}.topbar{background:rgba(255,255,255,.76);border-bottom:1px solid #dae2ee;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px clamp(20px,4vw,80px)}.brand{display:flex;align-items:center;gap:12px;color:#13294a;text-decoration:none}.brandmark{background:#1154a5;color:white;border-radius:12px;padding:8px 13px;font-size:24px;font-weight:700;box-shadow:0 4px 17px #a3c5ed}.brand strong{display:block;letter-spacing:.12em;font-size:17px}.brand small{display:block;font-size:9px;letter-spacing:.13em;color:#60718b;margin-top:5px}.topright{display:flex;gap:16px;align-items:center}.live{display:flex;align-items:center;gap:7px;color:#667c94;font-size:12px}.live>span:first-child{width:7px;height:7px;background:#2caa77;border-radius:100%;box-shadow:0 0 0 4px #d3f1e3}.lang-switch{border:1px solid #cad6e5;background:white;border-radius:8px;padding:8px 12px;color:#1b4b88;font-weight:700}.content{width:min(1320px,calc(100% - 40px));margin:0 auto;flex:1}.hero{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:42px 4px 28px}.eyebrow,.modal-eyebrow{letter-spacing:.22em;font-size:11px;font-weight:750;color:#2d73b9}.hero h1{font-size:clamp(28px,3.1vw,44px);margin:9px 0 10px;letter-spacing:-.045em}.subtitle{color:#5c6f87;font-size:14px;margin:0}.countbox{display:flex;flex-direction:column;text-align:right;white-space:nowrap}.countbox strong{font-size:40px;font-weight:750;color:#1c5caa}.countbox span{font-size:11px;color:#67809b}.calendar-panel{background:rgba(255,255,255,.92);border:1px solid #dce5f1;box-shadow:0 16px 50px #193f6e1a;border-radius:18px;padding:24px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}.years{display:flex;align-items:center;gap:20px}.years>span{font-size:26px;font-weight:750;color:#193c6b;min-width:70px;text-align:center}.years button{background:#f2f6fc;border:1px solid #d9e5f3;width:32px;height:32px;border-radius:9px;font-size:24px;color:#325f90}.years button:disabled{opacity:.25;cursor:not-allowed}.filters{display:flex;align-items:center;gap:11px}.filters label{font-size:12px;font-weight:700;color:#657b93}.filters select,select,input{border:1px solid #d3ddec;border-radius:9px;background:#fff;padding:10px 13px;color:#254361;min-width:200px}.reset{background:#f5f8fb;border:1px solid #d9e2ec;border-radius:9px;padding:10px 13px;color:#3d5d79}.calendar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.month{background:rgba(248,250,254,.85);border:1px solid #e4ebf4;border-radius:11px;padding:12px;min-width:0}.month h3{text-align:center;margin:0 0 12px;font-size:14px;color:#304b70}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.day-name{text-align:center;color:#8091a8;font-size:9px;font-weight:700;padding:2px 0 7px}.day{border:0;min-width:0;aspect-ratio:1.1;display:flex;justify-content:center;align-items:center;color:#53677e;border-radius:5px;font-size:11px;background:transparent}.day.blank{visibility:hidden}.day.has-event{background:#2874c9;color:white;font-weight:700;box-shadow:0 2px 5px #236abb29}.day.holiday{background:#d9414b;color:white;font-weight:700}.day.both{background:linear-gradient(125deg,#d9414b 0 48%,#2874c9 50%);color:#fff;font-weight:800}.day.interactive:hover{outline:2px solid #1f4476;outline-offset:1px;transform:scale(1.06)}.day:focus-visible{outline:2px solid #183e76;outline-offset:2px}.legend{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;padding-top:16px;border-top:1px solid #e7edf5;color:#667c95;font-size:11px}.legend>span{display:flex;align-items:center;gap:7px}.key{width:12px;height:12px;border-radius:3px;display:inline-block}.key-blue{background:#2874c9}.key-red{background:#d9414b}.key-both{background:linear-gradient(125deg,#d9414b 0 48%,#2874c9 50%)}.loading{font-size:13px;color:#6483a0;text-align:center;padding:10px}.disclaimer{padding:17px 6px;color:#60778f;font-size:11px;line-height:1.7}footer{text-align:center;border-top:1px solid #dfebf5;padding:20px;color:#7d8ca4;font-size:11px;background:rgba(255,255,255,.7)}.tooltip{position:fixed;max-width:330px;min-width:190px;z-index:20;padding:12px 14px;border:1px solid #c9d8e8;background:#fff;border-radius:10px;box-shadow:0 12px 30px #203b6240;color:#273b56;font-size:12px;line-height:1.6;pointer-events:none}.tooltip strong{display:block;margin-bottom:3px}.tooltip .tiny{font-size:10px;color:#73869c}.modalOverlay{position:fixed;inset:0;background:#0f213b91;z-index:100;display:flex;align-items:center;justify-content:center;padding:22px;backdrop-filter:blur(4px)}[hidden]{display:none!important}.modalCard{background:white;border-radius:16px;width:min(630px,100%);padding:28px;max-height:85vh;overflow:auto;box-shadow:0 30px 70px #091f3c66;position:relative}.modalCard h2{margin:8px 40px 20px 0;font-size:24px}.modalClose{position:absolute;right:16px;top:13px;width:35px;height:35px;background:#f0f4f9;border:0;border-radius:10px;color:#324a6c;font-size:28px;line-height:1}.event-card{border:1px solid #e0e8f1;border-radius:12px;padding:17px;margin:10px 0;background:#fafcff}.event-card h3{font-size:16px;margin:8px 0}.event-card p{font-size:12px;color:#64788c;margin:6px 0;line-height:1.6}.event-card a{display:inline-flex;margin-top:8px;margin-right:12px;font-size:12px;text-decoration:none;font-weight:650}.country-line{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;color:#254978}.country-line img{height:20px;width:30px;object-fit:fill}.status{display:inline-flex;border-radius:10px;background:#edf2fa;color:#58728e;padding:4px 9px;font-size:10px}.status.confirmed{background:#e2f4e9;color:#22865a}.status.cancelled{background:#fbe7e7;color:#bc4d4d}.holiday-card{border-color:#f3ccd2;background:#fff8f8}.error{color:#b52e38;background:#ffeaed;padding:12px;border-radius:8px}.ok{color:#187245;background:#e1f9ea;padding:12px;border-radius:8px}.installer{max-width:550px;margin:8vh auto;padding:20px}.panel{background:#fff;border:1px solid #dce5ef;border-radius:14px;padding:24px;box-shadow:0 7px 25px #1a477015;margin-bottom:24px}.formgrid{display:grid;gap:15px}.formgrid label{font-size:12px;color:#435a78;font-weight:650;display:flex;flex-direction:column;gap:6px}.formgrid input,.formgrid select{width:100%;min-width:0}.formgrid button,.installer button{justify-self:start;background:#1769be;color:white;border:0;padding:11px 17px;border-radius:8px;font-weight:650}.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols2 button{grid-column:1/-1}.adminwrap{width:min(1250px,calc(100% - 36px));margin:20px auto}.adminhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.adminhead h1{font-size:25px}.ghost{border:1px solid #c4d3e6;background:white;color:#315a85;padding:10px;border-radius:8px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}td,th{border-bottom:1px solid #e3e9f1;padding:9px;text-align:left}th{background:#f5f8fc}.inline{display:inline}.linkbutton{border:0;background:none;color:#c44c4c;cursor:pointer;text-decoration:underline}@media(max-width:1000px){.calendar{grid-template-columns:repeat(3,minmax(0,1fr))}.flagwall{grid-template-columns:repeat(10,minmax(0,1fr))}}@media(max-width:700px){.topbar{padding:15px}.brand strong{font-size:14px}.brand small{font-size:8px}.live{display:none}.hero{padding:30px 0 23px;align-items:start}.hero h1{font-size:27px}.countbox strong{font-size:27px}.countbox span{max-width:110px;white-space:normal}.calendar-panel{padding:13px}.toolbar{flex-wrap:wrap}.filters{width:100%}.filters select{min-width:0;flex:1}.calendar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.month{padding:8px}.day{font-size:10px}.flagwall{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:55px}.cols2{grid-template-columns:1fr}.countryback svg{width:80vw}.legend{gap:10px}}@media(max-width:380px){.calendar{grid-template-columns:1fr 1fr}.day{font-size:9px}.month{padding:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Layering guarantees the flag mosaic remains visible behind the light glass interface. */
body{isolation:isolate;background:transparent}.flagwall{z-index:-3}.veil{z-index:-2}.countryback{z-index:-1}
