@import"https://fonts.googleapis.com/css2?family=Gloria+Hallelujah&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Gloria Hallelujah,cursive;background:#f5f5f5;color:#333}.calendar-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:40px;margin:20px auto;max-width:800px;min-height:500px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.illustration-area{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px}.month-illustration{margin-bottom:20px}.calendar-section{display:flex;flex-direction:column}.month-number{font-size:4rem;font-weight:600;color:#333;margin-bottom:20px;text-align:right}.weekday-header{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:10px;font-size:.9rem;font-weight:500;color:#666;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:#333;cursor:pointer;border-radius:4px;transition:all .2s ease;position:relative}.calendar-day:hover{background:#f8f8f8}.calendar-day.other-month{color:#ccc}.calendar-day.today{background:#333;color:#fff;font-weight:600}.day-events{position:absolute;bottom:2px;left:50%;transform:translate(-50%);display:flex;gap:2px}.event-dot{width:4px;height:4px;border-radius:50%;background:#ff6b6b}.event-dot.classes{background:#4dabf7}.event-dot.social{background:#ff6b6b}.event-dot.clubs{background:#69db7c}.event-dot.personal{background:#ffd43b}.calendar-nav{position:absolute;top:20px;right:20px;display:flex;gap:10px}.nav-btn{background:none;border:1px solid #ddd;border-radius:6px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:18px}.nav-btn:hover{background:#f8f8f8;border-color:#999}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:30px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto}.modal-header{margin-bottom:20px;font-size:1.5rem;font-weight:600;color:#333}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:5px;font-weight:500;color:#555}.form-input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:#4dabf7}.form-textarea{min-height:80px;resize:vertical}.color-picker{display:flex;gap:10px;margin-top:5px}.color-option{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s ease}.color-option.selected{border-color:#333;transform:scale(1.1)}.btn{padding:12px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary{background:#333;color:#fff}.btn-primary:hover{background:#555}.btn-secondary{background:#f8f8f8;color:#333;border:1px solid #ddd}.btn-secondary:hover{background:#e9ecef}.btn-group{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.event-list{margin-bottom:20px}.event-item{display:flex;justify-content:between;align-items:center;padding:10px;border:1px solid #eee;border-radius:6px;margin-bottom:8px}.event-content{flex:1}.event-title{font-weight:500;margin-bottom:2px}.event-category{font-size:12px;color:#666}.delete-btn{background:none;border:none;color:#ff6b6b;cursor:pointer;font-size:18px;width:30px;height:30px;border-radius:4px;transition:background .2s ease}.delete-btn:hover{background:#ffe0e0}.success-message{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#69db7c;color:#fff;padding:12px 24px;border-radius:6px;z-index:1001;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){.calendar-card{grid-template-columns:1fr;gap:30px;padding:20px;margin:10px}.illustration-area{height:200px}.month-number{font-size:3rem;text-align:center}.calendar-nav{position:static;justify-content:center;margin-bottom:20px}}
