*{box-sizing:border-box}body{font-family:'Segoe UI',sans-serif;background:#111;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.calendar{max-width:100%;margin:20px auto;overflow:visible!important;background:linear-gradient(135deg,rgb(139 0 0 / .85),rgb(240 240 240 / .15));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgb(255 255 255 / .15);padding:18px;border-radius:25px;color:#fff;box-shadow:0 10px 40px rgb(0 0 0 / .5),inset 0 0 20px rgb(255 255 255 / .05)}.calendar:hover{box-shadow:0 15px 50px rgb(255 0 0 / .25),inset 0 0 25px rgb(255 255 255 / .05)}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}#monthYear{font-size:20px;font-weight:600;color:#fff;letter-spacing:1px;text-shadow:0 2px 8px rgb(0 0 0 / .6)}.header button{background:rgb(255 255 255 / .15);border:none;color:#fff;padding:6px 12px;border-radius:12px;cursor:pointer;transition:0.3s}.header button:hover{background:rgb(255 255 255 / .3);transform:scale(1.05)}.days,.dates{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.days div{font-weight:700;padding:10px 0;color:#fff}.days div:nth-child(1){color:#ff3b3b}.days div:nth-child(7){color:#00ff9c}.dates div{padding:10px;margin:3px;border-radius:12px;cursor:pointer;transition:0.25s;background:rgb(255 255 255 / .05);backdrop-filter:blur(10px)}.dates div:hover{background:rgb(255 255 255 / .25);transform:scale(1.05);box-shadow:0 5px 15px rgb(0 0 0 / .4)}.today{background:linear-gradient(135deg,gold,orange);color:#000;font-weight:700}.holiday{background:linear-gradient(135deg,#ff3b3b,#ff0000);color:#fff}.cuti{background:linear-gradient(135deg,#4da6ff,#0066ff)}.popup{position:fixed;top:0;left:0;background:rgb(20 20 20 / .95);backdrop-filter:blur(12px);padding:10px 14px;border-radius:12px;color:#fff;font-size:13px;border:1px solid rgb(255 255 255 / .2);opacity:0;pointer-events:none;transform:translateY(10px) scale(.95);transition:all 0.2s ease;z-index:999999;white-space:nowrap}.popup.show{opacity:1;transform:translateY(0) scale(1)}