*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;width:100%;overflow-x:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f8f9fa;color:#333;line-height:1.6}app-root{display:block;width:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}button,input,textarea,select{font-family:inherit}.btn{display:inline-block;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;text-decoration:none;transition:all .2s ease;font-size:14px;font-weight:500}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.fc{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.fc-event{border-radius:8px;border:none;font-size:.8rem;font-weight:600;box-shadow:0 2px 4px #0000001a}.fc-daygrid-event{padding:4px 8px;margin:2px 1px}.fc-timegrid-event{border-radius:8px;box-shadow:0 2px 8px #0000001a}.fc-day-today{background-color:#f0f4ff!important}.fc-timegrid-slot{height:60px;border-color:#f1f5f9}.fc-timegrid-axis-cushion,.fc-timegrid-slot-label-cushion{font-size:.8rem;color:#64748b;font-weight:600}.fc-col-header-cell{background:#f8fafc;border:none}.fc-col-header-cell-cushion{color:#64748b;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.fc-daygrid-day-number{color:#1a1a1a;font-weight:600;font-size:.9rem}.fc-daygrid-day{border:1px solid #f1f5f9}.fc-theme-standard td,.fc-theme-standard th{border-color:#f1f5f9}.fc-scrollgrid{border:none}.calendar-header .btn{border-radius:6px;font-weight:500;transition:all .2s ease}.calendar-header .view-btn.active{background:#007bff;color:#fff;transform:none}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}@media (max-width: 768px){.calendar-header{padding:1rem}.navigation-section{flex-wrap:wrap;gap:.5rem}.period-title{font-size:1.2rem;order:-1;width:100%;margin-bottom:.5rem}.calendar-content{padding:1rem}.modal-overlay{align-items:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0}.modal-container{width:100%;max-width:100%;max-height:none;min-height:100vh;border-radius:0;display:flex;flex-direction:column;justify-content:center;padding:1rem;box-sizing:border-box}}
