.week-number-box,.calendar-container{border:2px solid #d9d9d9;padding:20px;border-radius:8px;background-color:#fff;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;max-width:350px;min-height:350px}.week-number-box{text-align:center;position:relative;border:3px solid #00bfff}.week-number-box h2{font-size:1,5rem;margin-bottom:10px;font-weight:400;color:#333}.week-number-box .week-number{font-size:150px;font-weight:700;color:#333}.week-number-box .week-dates{font-size:16px;color:#777;text-align:center}.calendar-container{border:3px solid #ffcc00;border-radius:8px;padding:15px;background-color:#fff;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;gap:5px;overflow:hidden;justify-content:flex-start}.calendar-header{display:grid;grid-template-columns:40px repeat(7,1fr);gap:3px;text-align:center;font-weight:700;color:#888;margin:0}.calendar-header h2{margin:0;font-size:16px;font-weight:400}.calendar{display:flex;flex-direction:column;gap:3px;width:100%}.calendar-row{display:grid;grid-template-columns:40px repeat(7,1fr);gap:3px;align-items:center}.week-number{text-align:center;font-weight:700;color:#888}.calendar div{padding:4px 0;border-radius:4px;color:#555;font-size:14px}.header{font-weight:700;color:#888}.current-week{background-color:#e0efff;color:#333}.current-day{border:2px solid #ff6347;border-radius:50%;color:tomato}@media (max-width: 600px){.container{align-items:center}.week-number-box,.calendar-container,.calendar-description{height:auto;width:100%}}.month-container{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.calendar-description{margin-top:10px;padding:15px;font-size:14px;background-color:#fff;border:3px solid #ffcc00;border-radius:8px;width:100%;text-align:center;box-shadow:0 2px 10px #0000001a;min-height:170px}.description-row{display:flex;justify-content:space-between;padding:5px 0;font-size:16px;color:#666}.description-number{font-weight:700;color:#333}.weekend{background-color:#fdd;color:#d9534f;font-weight:700;border:1px solid #d9d9d9}.holiday{background-color:#f99;color:#d9534f;font-weight:700;border:1px solid #d9d9d9}.preholiday{background-color:#ffeb99;color:#f70;font-weight:700;border:1px solid #d9d9d9}.calendar-grid{display:grid;grid-template-columns:1fr;gap:20px;justify-items:center;max-width:1180px;margin:0 auto}.month-container{display:flex;flex-direction:column;align-items:center;margin-bottom:20px;width:100%;max-width:360px}@media (min-width: 600px) and (max-width: 1024px){.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1025px){.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.has-description:hover:after{content:attr(data-description);position:absolute;top:-25px;left:50%;transform:translate(-50%);background-color:#f0f8ff;color:#004085;font-size:12px;padding:9px;border-radius:5px;border:1px solid #004085;box-shadow:0 2px 10px #00000026;z-index:1000;opacity:1;visibility:visible;max-width:200px;text-align:center;white-space:var(--white-space-mode, nowrap);line-height:1.2;word-wrap:break-word}.has-description:hover:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:transparent transparent #cce5ff transparent}.has-description{position:relative}.has-description:hover:after{transform:translate(-50%)}.calendar-container .has-description:first-child:hover:after{left:0;transform:none}.calendar-container .has-description:last-child:hover:after{right:0;left:auto;transform:none}.calendar-container{position:relative;overflow:visible;z-index:1}.calendar-legend{margin-bottom:20px;text-align:center;font-size:16px}.calendar-legend ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,auto);gap:20px;justify-content:center}.calendar-legend li{display:flex;align-items:center}.legend-box{display:inline-block;width:20px;height:20px;margin-right:10px;border-radius:3px;border:1px solid!important}.working-day{background-color:#fff;border:1px solid #d9d9d9}@media (max-width: 600px){.calendar-legend ul{grid-template-columns:repeat(2,auto);font-size:10px}}.calendar-container p{margin-bottom:15px}
